Пример #1
0
 public function valid()
 {
     // false if cred not active
     if (!parent::valid()) {
         return false;
     }
     global $wpdb;
     $cpt = Types_Helper_Condition::get_post_type();
     if (isset(self::$forms_per_post_type[$cpt->name])) {
         return true;
     }
     // @todo check with Francesco if CRED has a get_forms_of_post_type() function
     $forms_settings = $wpdb->get_results("SELECT meta_value, post_id FROM {$wpdb->postmeta} WHERE meta_key = '_cred_form_settings'");
     foreach ($forms_settings as $setting) {
         $post_type = false;
         $setting->meta_value = unserialize($setting->meta_value);
         // post type
         if (isset($setting->meta_value->post['post_type'])) {
             $post_type = $setting->meta_value->post['post_type'];
         }
         // different structure created by CredFormCreator
         // (surely old style, but compatible with new and restructured after first form save)
         if (!$post_type && is_array($setting->meta_value) && isset($setting->meta_value['post_type'])) {
             $post_type = $setting->meta_value['post_type'];
         }
         // another structure...
         if (!$post_type && is_object($setting->meta_value) && isset($setting->meta_value->post_type)) {
             $post_type = $setting->meta_value->post_type;
         }
         if ($post_type && $cpt->name == $post_type) {
             $title = get_the_title($setting->post_id);
             self::$forms_per_post_type[$cpt->name][] = array('id' => $setting->post_id, 'name' => $title);
         }
     }
     if (isset(self::$forms_per_post_type[$cpt->name])) {
         return true;
     }
     return false;
 }
Пример #2
0
 public function valid()
 {
     return !parent::valid();
 }