コード例 #1
0
 /**
  * Uloží fieldset
  * VOLÁ SE V HOOCE
  * 
  * @author Jan Pokorný
  * @param int $user_id
  */
 public function saveFieldset($user_id)
 {
     if (get_current_user_id() != $user_id && !current_user_can('edit_users')) {
         return;
     }
     $fieldset = $this->getFieldset();
     $form = new KT_form();
     $form->addFieldSetByObject($fieldset);
     $form->validate();
     if ($form->hasError()) {
         // TODO has error
     }
     if ($fieldset->getSerializeSave()) {
         $fieldsetData = $form->getSavableFieldsetGroupValue($fieldset);
         if (KT::arrayIssetAndNotEmpty($fieldsetData)) {
             update_user_meta($user_id, $fieldset->getName(), $fieldsetData);
         } else {
             delete_user_meta($user_id, $fieldset->getName());
         }
     } else {
         foreach ($fieldset->getFields() as $field) {
             $fieldValue = $form->getSavableFieldValue($field);
             if ($field && $fieldValue !== "") {
                 update_user_meta($user_id, $field->getName(), $fieldValue);
             } else {
                 delete_user_meta($user_id, $field->getName());
             }
         }
     }
 }
コード例 #2
0
 /**
  * Uloží fieldset
  * VOLÁ SE V HOOCE
  * 
  * @author Jan Pokorný
  */
 public function saveFieldset($termId)
 {
     $fieldset = $this->getFieldset();
     if (isset($_POST[$fieldset->getPostPrefix()])) {
         $fieldset = $this->getFieldset();
         $form = new KT_form();
         $form->addFieldSetByObject($fieldset);
         $form->validate();
         if (!$form->hasError()) {
             $form->saveFieldsetToTermMetaTable($termId);
         } elseif (KT::isWpAjax()) {
             $taxonomy = filter_input(INPUT_POST, "taxonomy", FILTER_SANITIZE_STRING);
             wp_delete_term($termId, $taxonomy);
             $errorMessage = "";
             foreach ($fieldset->getFields() as $field) {
                 if ($field->hasErrorMsg()) {
                     $errorMessage .= sprintf("%s - %s <br>", $field->getLabel(), $field->getError());
                 }
             }
             $ajaxResponse = new WP_Ajax_Response();
             $ajaxResponse->add(array("what" => "taxonomy", "data" => new WP_Error("error", $errorMessage)));
             $ajaxResponse->send();
         }
     }
 }
コード例 #3
0
 /**
  * Callback pro akci comment_save_pre pokud je aktivní datový typ příspěvků @see KT_MetaBox_Data_Type_Enum::COMMENT_META
  * Pozn.: není třeba volat "ručně", jedná se o automatickou systémovou funkci
  *
  * @author Martin Hlaváč
  * @link http://www.ktstudio.cz
  *
  * @param integer $commentId
  */
 public function saveComment($commentId)
 {
     if (KT::arrayIssetAndNotEmpty($_POST) || KT::isWpAjax()) {
         $isDefaultAutoSave = $this->getIsDefaultAutoSave();
         if ($isDefaultAutoSave) {
             $form = new KT_form();
             $form->addFieldSetByObject($this->getFieldset());
             $form->validate();
             if (!$form->hasError()) {
                 $form->saveFieldsetToCommentMetaTable($commentId);
             }
         }
     }
     return $commentId;
 }