/** * Do something before resolving is done * * @param \Cx\Core\Routing\Url $request The URL object for this request */ public function preResolve(\Cx\Core\Routing\Url $request) { global $url; switch ($this->cx->getMode()) { case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND: $params = $url->getParamArray(); if (isset($params['section']) && $params['section'] == 'Captcha') { /* * Captcha Module * * Generates no output, requests are answered by a die() * @since 2.1.5 */ Captcha::getInstance()->getPage(); } break; default: break; } }
public function postAsk() { try { if (!isset($_POST)) { throw new \Exception('Request error!'); } $keys = array('name', 'sex', 'email', 'ask', 'content', 'code', 'isPrivate', 'user_id'); $values = array(); $bool = true; foreach ($keys as $key) { $values[$key] = \Arr::get($_POST, $key, false); if ($values[$key] === false) { $bool = false; } } if (!$bool) { throw new \Exception('Request error!'); } if (!\Captcha::getInstance()->valid($values['code'])) { throw new \Exception('驗証碼錯誤'); } $values['isPrivate'] = $values['isPrivate'] == 'n' ? '0' : '1'; $b = new \Board(); $b->name = $values['name']; $b->gender = $values['sex']; $b->email = $values['email']; $b->topic = $values['ask']; $b->content = $values['content']; $b->isPrivate = $values['isPrivate']; $b->user_id = empty($values['user_id']) ? '' : (int) $values['user_id']; $b->save(); return \Response::json(array('status' => 'ok')); } catch (\Exception $e) { return \Response::json(array('status' => 'error', 'message' => $e->getMessage())); } }