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