/** * 埋め込みタグ{X-URL}にセットする値 を取得 * * @param string $contentKey コンテンツキー * @param array $urlParams X-URLのurlパラメータ * @return array */ public function getXUrl($contentKey, $urlParams = array()) { // fullpassのURL if (is_array($urlParams)) { $url = NetCommonsUrl::actionUrl(Hash::merge(array('controller' => Current::read('Plugin.key'), 'action' => 'view', 'block_id' => Current::read('Block.id'), 'frame_id' => Current::read('Frame.id'), 'key' => $contentKey), $urlParams)); $url = NetCommonsUrl::url($url, true); } else { $url = $urlParams; } return array('X-URL', $url); }
/** * 登録メール通知 * * @return void */ public function notify() { $user = $this->Session->read('UserAdd'); $this->set('user', $user['User']); if ($this->request->is('post')) { unset($this->request->data['send']); //入力チェック $this->UserMail->set($this->request->data); if ($this->UserMail->validates()) { //メール送信処理 $this->mail->mailAssignTag->setFixedPhraseSubject($this->request->data['UserMail']['title']); $this->mail->mailAssignTag->setFixedPhraseBody($this->request->data['UserMail']['body']); $this->mail->mailAssignTag->initPlugin(Current::read('Language.id')); $this->mail->setReplyTo($this->request->data['UserMail']['reply_to']); $this->mail->initPlugin(Current::read('Language.id')); $this->mail->to($this->viewVars['user']['email']); try { $this->mail->setFrom(Current::read('Language.id')); if (!$this->mail->sendMailDirect()) { return $this->NetCommons->handleValidationError(array('SendMail Error')); } } catch (Exception $ex) { CakeLog::error($ex); return $this->NetCommons->handleValidationError(array('SendMail Error'), __d('mails', 'There is errors in the mail settings. It was not able to send mail.')); } //リダイレクト $this->Session->delete('UserAdd'); $this->NetCommons->setFlashNotification(__d('user_manager', 'Successfully mail send.'), array('class' => 'success')); return $this->redirect('/user_manager/user_manager/index/'); } $this->NetCommons->handleValidationError($this->UserMail->validationErrors); } else { //ユーザデータ取得 $this->mailSetting = $this->UserMail->MailSetting->getMailSettingPlugin(null, 'save_notify'); $this->mail->mailAssignTag->setFixedPhraseSubject($this->mailSetting['MailSettingFixedPhrase']['mail_fixed_phrase_subject']); $this->mail->mailAssignTag->setFixedPhraseBody($this->mailSetting['MailSettingFixedPhrase']['mail_fixed_phrase_body']); $this->mail->mailAssignTag->initPlugin(Current::read('Language.id')); $password = Hash::get($this->viewVars['user'], 'password', ''); $passwordUrl = NetCommonsUrl::url('/auth/forgot_pass/request', true) . '?email=' . $this->viewVars['user']['email']; $this->mail->mailAssignTag->assignTags(array('X-HANDLENAME' => $this->viewVars['user']['handlename'], 'X-USERNAME' => $this->viewVars['user']['username'], 'X-PASSWORD' => $password, 'X-PASSWORD_URL' => $passwordUrl, 'X-EMAIL' => $this->viewVars['user']['email'], 'X-URL' => NetCommonsUrl::url('/', true))); $this->mail->mailAssignTag->assignTagReplace(); $this->request->data['UserMail']['title'] = $this->mail->mailAssignTag->fixedPhraseSubject; $this->request->data['UserMail']['body'] = $this->mail->mailAssignTag->fixedPhraseBody; $this->request->data['UserMail']['user_id'] = $this->viewVars['user']['id']; $this->request->data['UserMail']['reply_to'] = SiteSettingUtil::read('Mail.from'); } }