Ejemplo n.º 1
0
 public function export_to_db($string, $translation = '')
 {
     $encrypted_string = md5($string);
     $query = hocwp_get_post_by_meta('encrypted_string', $encrypted_string);
     $post_id = $this->post_id;
     $post_title = $this->build_post_title($string);
     $postarr = array('post_content' => $translation, 'post_type' => 'hocwp_mo', 'post_title' => $post_title, 'post_status' => 'private', 'post_excerpt' => $string);
     if (!$query->have_posts()) {
         if (hocwp_id_number_valid($post_id)) {
             $postarr['ID'] = $post_id;
         } else {
             $mo = $this->get_object($string);
             if (is_a($mo, 'WP_Post')) {
                 $postarr['ID'] = $mo->ID;
             }
         }
     } else {
         if (hocwp_id_number_valid($this->post_id)) {
             $postarr['ID'] = $this->post_id;
         } else {
             $object = array_shift($query->posts);
             $postarr['ID'] = $object->ID;
         }
     }
     $post_id = hocwp_insert_post($postarr);
     if (hocwp_id_number_valid($post_id)) {
         update_post_meta($post_id, 'encrypted_string', $encrypted_string);
         update_post_meta($post_id, 'string', $string);
     }
     return $post_id;
 }
 function hocwp_widget_subscribe_ajax_callback()
 {
     $use_captcha = (bool) hocwp_get_method_value('use_captcha');
     $captcha_code = hocwp_get_method_value('captcha');
     $email = hocwp_get_method_value('email');
     $name = hocwp_get_method_value('name');
     $phone = hocwp_get_method_value('phone');
     $register = (bool) hocwp_get_method_value('register');
     $result = array('success' => false, 'message' => hocwp_build_message(hocwp_text_error_default(), 'danger'));
     $captcha_valid = true;
     if ($use_captcha) {
         $captcha = new HOCWP_Captcha();
         $captcha_valid = $captcha->check($captcha_code);
     }
     $re_verify = false;
     $query = hocwp_get_post_by_meta('subscriber_email', $email, array('post_type' => 'hocwp_subscriber'));
     if ($query->have_posts()) {
         $subscriber = array_shift($query->posts);
         $verified = hocwp_get_post_meta('subscriber_verified', $subscriber->ID);
         if (1 != $verified) {
             $re_verify = true;
         }
     }
     if ($captcha_valid) {
         if (is_email($email)) {
             $active_key = hocwp_generate_reset_key();
             $verify_link = hocwp_generate_verify_link($active_key);
             if ($re_verify) {
                 hocwp_send_mail_verify_email_subscription(hocwp_text_email_subject_verify_subscription(), $email, $verify_link);
                 $result['success'] = true;
                 $result['message'] = hocwp_build_message(hocwp_text_success_register_and_verify_email(), 'success');
             } else {
                 if ($query->have_posts() || $register && email_exists($email)) {
                     $result['message'] = hocwp_build_message(hocwp_text_error_email_exists(), 'danger');
                 } else {
                     $post_title = '';
                     if (!empty($name)) {
                         $post_title .= $name;
                     }
                     if (empty($post_title)) {
                         $post_title = $email;
                     } else {
                         $post_title .= ' - ' . $email;
                     }
                     $post_data = array('post_type' => 'hocwp_subscriber', 'post_title' => $post_title, 'post_status' => 'publish');
                     $post_id = hocwp_insert_post($post_data);
                     if (hocwp_id_number_valid($post_id)) {
                         update_post_meta($post_id, 'subscriber_name', $name);
                         update_post_meta($post_id, 'subscriber_email', $email);
                         update_post_meta($post_id, 'subscriber_phone', $phone);
                         update_post_meta($post_id, 'subscriber_verified', 0);
                         update_post_meta($post_id, 'subscriber_active_key', $active_key);
                         if ($register) {
                             $password = wp_generate_password();
                             $user_data = array('username' => $email, 'email' => $email, 'password' => $password);
                             $user_id = hocwp_add_user($user_data);
                             if (hocwp_id_number_valid($user_id)) {
                                 wp_send_new_user_notifications($user_id);
                                 update_post_meta($post_id, 'subscriber_user', $user_id);
                                 update_user_meta($user_id, 'subscriber_id', $post_id);
                             }
                         }
                         hocwp_send_mail_verify_email_subscription(hocwp_text_email_subject_verify_subscription(), $email, $verify_link);
                         $result['success'] = true;
                         $result['message'] = hocwp_build_message(hocwp_text_success_register_and_verify_email(), 'success');
                     }
                 }
             }
         } else {
             $result['message'] = hocwp_build_message(hocwp_text_error_email_not_valid(), 'danger');
         }
     } else {
         $result['message'] = hocwp_build_message(hocwp_text_error_captcha_not_valid(), 'danger');
     }
     wp_send_json($result);
 }
Ejemplo n.º 3
0
function hocwp_setup_theme_add_default_sidebars()
{
    $added = (bool) get_option('hocwp_default_sidebars_added');
    if ($added) {
        $query = hocwp_query(array('post_type' => 'hocwp_sidebar', 'posts_per_page' => -1));
        if (!$query->have_posts()) {
            $added = false;
        }
    }
    if (!$added) {
        $sidebars = hocwp_theme_get_default_sidebars();
        foreach ($sidebars as $name => $data) {
            $sidebar = hocwp_get_post_by_meta('sidebar_id', $name);
            if (!$sidebar->have_posts()) {
                $post_data = array('post_title' => $data['name'], 'post_type' => 'hocwp_sidebar', 'post_status' => 'publish');
                $post_id = hocwp_insert_post($post_data);
                if (hocwp_id_number_valid($post_id)) {
                    update_post_meta($post_id, 'sidebar_default', 1);
                    update_post_meta($post_id, 'sidebar_id', $name);
                    update_post_meta($post_id, 'sidebar_name', $data['name']);
                    update_post_meta($post_id, 'sidebar_description', $data['description']);
                    update_post_meta($post_id, 'sidebar_tag', $data['tag']);
                    update_post_meta($post_id, 'active', 1);
                }
            }
        }
        update_option('hocwp_default_sidebars_added', 1);
    }
}