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