/** * Executes createChat action * */ public function executeCreateChat() { $request = $this->getRequest(); if ($request->isMethod('post')) { // get params $askerId = $request->getPostParameter('askerId'); $expertId = $request->getPostParameter('expertId'); $question = urldecode($request->getPostParameter('question')); $askerNick = $request->getPostParameter('askerNick'); $expertNick = $request->getPostParameter('expertNick'); $chatSessionId = $request->getPostParameter('chatSessionId'); // create new whiteboard chat $chat = new WhiteboardChat(); $chat->setIsPublic(false); $chat->setAskerId($askerId); $chat->setExpertId($expertId); $chat->setAskerNickname($askerNick); $chat->setExpertNickname($expertNick); $chat->setQuestion($question); $chat->save(); // chat directory $chat->setDirectory($chat->getId() . '_' . $chatSessionId); $chat->save(); // json response $this->getResponse()->setContentType('application/json'); $data_array = array("chat_id" => $chat->getId()); $data_json = json_encode($data_array); return $this->renderText($data_json); } }
/** * Declares an association between this object and a WhiteboardChat object. * * @param WhiteboardChat $v * @return WhiteboardTutorFeedback The current object (for fluent API support) * @throws PropelException */ public function setWhiteboardChat(WhiteboardChat $v = null) { if ($v === null) { $this->setWhiteboardChatId(NULL); } else { $this->setWhiteboardChatId($v->getId()); } $this->aWhiteboardChat = $v; // Add binding for other direction of this n:n relationship. // If this object has already been added to the WhiteboardChat object, it will not be re-added. if ($v !== null) { $v->addWhiteboardTutorFeedback($this); } return $this; }
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param WhiteboardChat $value A WhiteboardChat object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(WhiteboardChat $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }