Example #1
0
 function test_primary_email()
 {
     $this->Rt_Company->add_company('Spy');
     $posts = $this->Rt_Company->get_company();
     update_post_meta($posts[0]->ID, Rt_Entity::$meta_key_prefix . Rt_Company::$primary_email, '*****@*****.**');
     $this->assertEquals(false, rtbiz_is_primary_email_unique_company('*****@*****.**'));
     $this->assertEquals(true, rtbiz_is_primary_email_unique_company('*****@*****.**'));
 }
Example #2
0
 public function save_old_data($post_id)
 {
     if (!isset($_POST['post_type'])) {
         return;
     }
     if ($this->post_type != $_POST['post_type']) {
         return;
     }
     $meta_fields = $this->get_meta_fields();
     $body = '';
     $flag = false;
     $post = get_post($post_id);
     if ($_POST['post_title'] != $post->post_title) {
         $body = '<strong>' . __('Contact Title') . '</strong> : ';
         $body .= rtbiz_text_diff($post->post_title, $_POST['post_title']);
     }
     if (isset($_POST['tax_input'])) {
         foreach ($_POST['tax_input'] as $key => $val) {
             $tmp = rtbiz_get_tex_diff($post_id, $key);
             if ('' != $tmp) {
                 $body .= $tmp;
                 $flag = true;
             }
         }
     }
     $meta_key = '';
     switch ($_POST['post_type']) {
         case rtbiz_get_contact_post_type():
             $meta_key = 'contact_meta';
             break;
         case rtbiz_get_company_post_type():
             $meta_key = 'company_meta';
             break;
     }
     foreach ($meta_fields as $field) {
         if (!isset($_POST[$meta_key][$field['key']])) {
             continue;
         }
         if ('contact_primary_email' == $field['key']) {
             if (!rtbiz_is_primary_email_unique($_POST['contact_meta'][$field['key']])) {
                 continue;
             }
         }
         if (Rtbiz_Company::$primary_email == $field['key']) {
             if (!rtbiz_is_primary_email_unique_company($_POST['company_meta'][$field['key']])) {
                 continue;
             }
         }
         if ('true' == $field['is_multiple']) {
             $val = self::get_meta($post_id, $field['key']);
             $filerval = array_filter($val);
             $filerpost = array_filter($_POST[$meta_key][$field['key']]);
             $diff = array_diff($filerval, $filerpost);
             $diff2 = array_diff($filerpost, $filerval);
             $difftxt = rtbiz_text_diff(implode(' ', $diff), implode(' ', $diff2));
             if (!empty($difftxt) || '' != $difftxt) {
                 $skip_enter = str_replace('Enter', '', $field['label']);
                 $body .= "<strong>{ {$skip_enter} }</strong> : " . $difftxt;
                 $flag = true;
             }
         } else {
             $val = self::get_meta($post_id, $field['key'], true);
             $newval = $_POST[$meta_key][$field['key']];
             if ($val != $newval) {
                 $difftxt = rtbiz_text_diff($val, $newval);
                 $difftxt = trim($difftxt);
                 if (!empty($difftxt)) {
                     $skip_enter = str_replace('Enter', '', $field['label']);
                     $body .= "<strong>{ {$skip_enter} }</strong> : " . $difftxt;
                     $flag = true;
                 }
             }
         }
     }
     if ($flag) {
         $user = wp_get_current_user();
         $body = 'Updated by <strong>' . $user->display_name . '</strong> <br/>' . $body;
         $data = array('comment_post_ID' => $post_id, 'comment_content' => $body, 'comment_type' => 'rt_bot', 'comment_approved' => 1, 'comment_author' => 'rtBiz' . ' Bot');
         wp_insert_comment($data);
     }
 }
 /**
  *
  * Save Meta Fields
  *
  * @param $post_id
  */
 protected function save_meta_values($post_id, $post)
 {
     foreach ($this->meta_fields as $field) {
         if (isset($_POST['company_meta'][$field['key']]) && !empty($_POST['company_meta'][$field['key']])) {
             if ($field['key'] == self::$primary_email) {
                 if (!rtbiz_is_primary_email_unique_company($_POST['company_meta'][$field['key']])) {
                     continue;
                 }
             }
             $company_meta[$field['key']] = $_POST['company_meta'][$field['key']];
             if (isset($field['is_multiple']) && $field['is_multiple']) {
                 $oldmeta = self::get_meta($post_id, $field['key']);
                 foreach ($oldmeta as $ometa) {
                     self::delete_meta($post_id, $field['key'], $ometa);
                 }
                 foreach ($company_meta[$field['key']] as $nmeta) {
                     if ('' == $nmeta) {
                         continue;
                     }
                     self::add_meta($post_id, $field['key'], $nmeta);
                 }
             } else {
                 self::update_meta($post_id, $field['key'], $_POST['company_meta'][$field['key']]);
             }
         } else {
             $oldmeta = self::get_meta($post_id, $field['key']);
             foreach ($oldmeta as $ometa) {
                 self::delete_meta($post_id, $field['key'], $ometa);
             }
         }
     }
     parent::save_meta_values($post_id, $post);
 }