/** * @group tracking_number * @backupStaticAttributes enabled */ public function test_tracking_number() { $this->Setting->set('admin_mail_content', '{' . MWF_Config::TRACKINGNUMBER . '}'); $Mail_Service = new MW_WP_Form_Mail_Service($this->Mail, $this->form_key, $this->Setting); $this->assertEquals(1, $this->Setting->get_tracking_number()); $Mail_Service->update_tracking_number(); $this->assertEquals(2, $this->Setting->get_tracking_number()); }
/** * $this->_parse_mail_content(), $this->_save_mail_content の本体 * 第2引数でDB保存するか判定 * * @param array $matches * @param bool $do_update * @return string $value */ protected function parse($matches, $do_update = false) { $match = $matches[1]; $form_id = $this->Setting->get('post_id'); // MWF_Config::TRACKINGNUMBER のときはお問い合せ番号を参照する if ($match === MWF_Config::TRACKINGNUMBER) { if ($form_id) { $value = $this->Setting->get_tracking_number($form_id); } } else { $form_key = MWF_Functions::get_form_key_from_form_id($form_id); $value = $this->Data->get($match); $value = $this->apply_filters_mwform_custom_mail_tag($form_key, $value, $match); } // 値が null でも保存(チェッボックス未チェックで直送信でも保存させるため) // ただし、画像の場合はURLが保存されないように調整がはいるため除外が必要 if ($do_update) { if (!array_key_exists($match, $this->Mail->attachments)) { update_post_meta($this->insert_contact_data_id, $match, $value); } } return $value; }
/** * get_option * フォームの設定データを返す * @param string $key 設定データのキー * @return mixed 設定データ */ protected function get_option($key) { global $post; $Setting = new MW_WP_Form_Setting($post->ID); if ($key === MWF_Config::TRACKINGNUMBER) { $value = $Setting->get_tracking_number(); } else { $value = $Setting->get($key); } if (!is_null($value)) { return $value; } else { $date = $post->post_date; $modified = $post->post_modified; if ($date === $modified) { return apply_filters('mwform_default_settings', '', $key); } } }
/** * @group update_tracking_number */ public function test_update_tracking_number_引数が文字のときは無視() { $this->Setting->update_tracking_number('dummy'); $this->assertEquals(1, $this->Setting->get_tracking_number()); }