Example #1
0
 /**
  * Renders page sections
  *
  * @access public
  * @return void
  */
 public static function renderSections()
 {
     $first = true;
     $out = '';
     foreach (MthemeCore::$options as $option) {
         if ($option['type'] == 'section') {
             if ($first) {
                 $first = false;
             } else {
                 $out .= '</div>';
             }
             $out .= '<div class="mtheme-section" id="' . mtheme_sanitize_key($option['name']) . '"><h2>' . $option['title'] . '</h2>';
         } else {
             $option['id'] = MTHEME_PREFIX . $option['id'];
             $out .= self::renderOption($option);
         }
     }
     $out .= '</div>';
     echo mtheme_html($out);
 }
Example #2
0
 /**
  * Submits form data
  *
  * @access public
  * @return void
  */
 public static function submitData()
 {
     self::refresh();
     parse_str($_POST['data'], $data);
     /*var_dump($data);die();*/
     if (isset($data['slug']) && self::isActive($data['slug'])) {
         foreach (self::$data[$data['slug']]['fields'] as $field) {
             $ID = mtheme_sanitize_key($field['name']);
             $field['name'] = mtheme_get_string($ID, 'name', $field['name']);
             $field['optional'] = mtheme_get_string($ID, 'options', $field['options']);
             if (empty($data[$ID]) && $field['required'] == 'yes' && $field['type'] != 'select') {
                 MthemeInterface::$messages[] = $field['name'] . ' ' . __('is required', 'mtheme');
             } else {
                 if ($field['type'] == 'number' && !is_numeric($data[$ID])) {
                     MthemeInterface::$messages[] = $field['name'] . ' ' . __('can only contain numbers', 'mtheme');
                 }
                 if ($field['type'] == 'email' && !is_email($data[$ID])) {
                     MthemeInterface::$messages[] = __('You have entered an invalid email address', 'mtheme');
                 }
             }
         }
         if (isset(self::$data[$data['slug']]['captcha'])) {
             session_start();
             $posted_code = md5($data['captcha']);
             $session_code = $_SESSION['captcha'];
             if ($session_code != $posted_code) {
                 MthemeInterface::$messages[] = __('The verification code is incorrect', 'mtheme');
             }
         }
         if (!empty(MthemeInterface::$messages)) {
             MthemeInterface::renderMessages();
         } else {
             $admin_email = MthemeCore::getOption('reg_admin_email');
             if (empty($admin_email)) {
                 $admin_email = get_option('admin_email');
             }
             $subject = __('Contact', 'mtheme');
             $message = 'Dear Admin,<br/>';
             foreach (self::$data[$data['slug']]['fields'] as $field) {
                 $ID = mtheme_sanitize_key($field['name']);
                 $field['name'] = mtheme_get_string($ID, 'name', $field['name']);
                 if ($field['type'] == 'select') {
                     $field['options'] = mtheme_get_string($ID, 'options', $field['options']);
                     $items = explode(',', $field['options']);
                     if (isset($items[$data[$ID] - 1])) {
                         $data[$ID] = $items[$data[$ID] - 1];
                     } else {
                         $data[$ID] = '&ndash;';
                     }
                 }
                 $message .= $field['name'] . ': ' . $data[$ID] . '<br />';
             }
             if (mtheme_mail($admin_email, $subject, $message) && isset(self::$data[$data['slug']]['message'])) {
                 $message = mtheme_get_string($data['slug'], 'message', self::$data[$data['slug']]['message']);
                 if (empty($message)) {
                     MthemeInterface::$messages[] = 'Your message has been sent.';
                 } else {
                     MthemeInterface::$messages[] = $message;
                 }
                 MthemeInterface::renderMessages(true);
             } else {
                 MthemeInterface::$messages[] = "Email could not send.";
                 MthemeInterface::renderMessages();
             }
         }
     }
     die;
 }