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('*****@*****.**')); }
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); }