/**
  * Function that automatically fills changed, changed_by, created and created_by fields with a certain prefix.
  *
  * @param \MUtil_Model_DatabaseModelAbstract $model
  * @param string $prefix Three letter code
  * @param int $userid Gems user id
  */
 public static function setChangeFieldsByPrefix(\MUtil_Model_DatabaseModelAbstract $model, $prefix, $userid = null)
 {
     $changed_field = $prefix . '_changed';
     $changed_by_field = $prefix . '_changed_by';
     $created_field = $prefix . '_created';
     $created_by_field = $prefix . '_created_by';
     foreach (array($changed_field, $changed_by_field, $created_field, $created_by_field) as $field) {
         $model->set($field, 'elementClass', 'none');
     }
     $model->setOnSave($changed_field, new \MUtil_Db_Expr_CurrentTimestamp());
     $model->setSaveOnChange($changed_field);
     $model->setOnSave($created_field, new \MUtil_Db_Expr_CurrentTimestamp());
     $model->setSaveWhenNew($created_field);
     if (!$userid) {
         $userid = \GemsEscort::getInstance()->currentUser->getUserId();
         if (!$userid) {
             $userid = 1;
         }
     }
     if ($userid) {
         $model->setOnSave($changed_by_field, $userid);
         $model->setSaveOnChange($changed_by_field);
         $model->setOnSave($created_by_field, $userid);
         $model->setSaveWhenNew($created_by_field);
     }
 }