Ejemplo n.º 1
0
 private function validate()
 {
     global $guiform;
     if (isset($_POST['submit'])) {
         $autosave = $_POST['autosave'];
         $autosave_time = intval($_POST['autosave_time']);
         $upload_folder = esc_html($_POST['upload_folder']);
         $selection = esc_html($_POST['selection']);
         if (isset($autosave)) {
             $guiform->updateOption('autosave', 1, 'settings');
         } else {
             $guiform->updateOption('autosave', 0, 'settings');
         }
         if (is_int($autosave_time)) {
             if ($autosave_time < 120) {
                 $guiform->updateOption('autosave_time', 120, 'settings');
             } else {
                 $guiform->updateOption('autosave_time', $autosave_time, 'settings');
             }
         }
         if (isset($upload_folder)) {
             if (empty($upload_folder)) {
                 $guiform->updateOption('upload_folder', 'wp-content/uploads/guiform', 'settings');
             } else {
                 $dir = ABSPATH;
                 $dir = $dir . '/' . $upload_folder;
                 $current_folder = $guiform->getOption('upload_folder')->value;
                 if ($upload_folder != $current_folder) {
                     if (!file_exists($dir)) {
                         if (!@mkdir($dir, 0700, true)) {
                             echo '<div class="error"><p><strong>' . __("Invalid Upload Folder.", GuiForm_Plugin::NAME) . '</strong></p></div>';
                             $guiform->updateOption('upload_folder', 'wp-content/uploads/guiform');
                         } else {
                             $guiform->updateOption('upload_folder', $upload_folder, 'settings');
                         }
                         $source = ABSPATH . $current_folder;
                         self::copyDirectory($source, $dir);
                         self::deleteDirectory($source);
                     } else {
                         echo '<div class="error"><p><strong>' . __("Directory is already exist.", GuiForm_Plugin::NAME) . '</strong></p></div>';
                     }
                 }
             }
         }
         $custom = esc_html($_POST['custom']);
         if ($selection == 'custom' && !empty($custom)) {
             $permalink = $guiform->getOption('permalink')->value;
             $permalink['selection'] = 'custom';
             $permalink['value'] = esc_html($_POST['custom']);
             $guiform->updateOption('permalink', $permalink, 'settings');
             GuiForm_Module_Setup::flushRewrite();
         } else {
             $permalink['selection'] = 'default';
             $permalink['value'] = 'form';
             $guiform->updateOption('permalink', $permalink, 'settings');
         }
         if (has_filter('guiform_action_settings_general_save')) {
             $this->errors = apply_filters('guiform_action_settings_general_save', $_REQUEST);
         }
         echo '<div class="updated"><p><strong>' . __("Update settings succesful.", GuiForm_Plugin::NAME) . '</strong></p></div>';
     }
 }
Ejemplo n.º 2
0
 public function parseRequest(&$wp)
 {
     global $wpdb, $guiform, $wp;
     GuiForm_Module_Setup::flushRewrite();
     $query = $wp->query_vars[$guiform->permalink['value']];
     $this->_id = strpos($query, 'js') !== false ? preg_replace('/\\D/', '', $query) : $query;
     if (array_key_exists($guiform->permalink['value'], $wp->query_vars) || in_array($guiform->permalink['value'], $wp->query_vars)) {
         $this->_atts = $_REQUEST['_atts'];
         $this->_form = $guiform->form($this->_id);
         if (strpos($query, 'js') !== false) {
             $this->_atts['js'] = true;
             header("content-type: application/javascript");
             echo self::renderScript();
         } else {
             $this->_atts['js'] = false;
             echo self::renderForm();
         }
         die;
     }
 }