コード例 #1
0
ファイル: SetsController.php プロジェクト: ffarago/pawtucket2
 function saveComment()
 {
     if (!$this->request->isLoggedIn()) {
         $this->response->setRedirect(caNavUrl($this->request, '', 'LoginReg', 'loginForm'));
         return;
     }
     $o_datamodel = new Datamodel();
     if (!($t_set = $this->_getSet(__CA_SET_READ_ACCESS__))) {
         $this->Index();
         return;
     }
     $ps_tablename = $this->request->getParameter('tablename', pString);
     if (!$ps_tablename) {
         $this->Index();
         return;
     }
     # --- check this is a valid table to have comments in the lightbox
     if (!in_array($ps_tablename, array("ca_sets", "ca_set_items"))) {
         $this->Index();
     }
     # --- load table
     $t_item = $o_datamodel->getTableInstance($ps_tablename);
     $pn_item_id = $this->request->getParameter('item_id', pInteger);
     $t_item->load($pn_item_id);
     $ps_comment = $this->request->getParameter('comment', pString);
     if (!$ps_comment) {
         $this->notification->addNotification(_t("Please enter a comment"), __NOTIFICATION_TYPE_ERROR__);
     } else {
         # --- pass user's id as moderator - all set comments should be made public, it's a private space and comments should not need to be moderated
         if ($t_item->addComment($ps_comment, null, $this->request->getUserID(), null, null, null, 1, $this->request->getUserID(), array("purify" => true))) {
             $this->notification->addNotification(_t("Saved comment"), __NOTIFICATION_TYPE_INFO__);
         } else {
             $this->notification->addNotification(_t("There were errors saving your comment"), __NOTIFICATION_TYPE_ERROR__);
         }
     }
     if ($ps_tablename == "ca_sets") {
         $this->setDetail();
     }
 }