function closeTags($comment, $tag, $endTag) { if (substr_count(strtolower($comment), $tag) > substr_count(strtolower($comment), $endTag)) { $comment .= $endTag; $comment = PhocaGalleryComment::closeTags($comment, $tag, $endTag); } return $comment; }
function comment() { JRequest::checkToken() or jexit('Invalid Token'); phocagalleryimport('phocagallery.comment.comment'); phocagalleryimport('phocagallery.comment.commentimage'); $app = JFactory::getApplication(); $user =& JFactory::getUser(); $view = JRequest::getVar('view', '', 'post', '', 0); $catid = JRequest::getVar('catid', '', 'post', 'string', 0); $id = JRequest::getVar('id', '', 'post', 'string', 0); $post['title'] = JRequest::getVar('phocagallerycommentstitle', '', 'post', 'string', 0); $post['comment'] = JRequest::getVar('phocagallerycommentseditor', '', 'post', 'string', 0); $Itemid = JRequest::getVar('Itemid', 0, '', 'int'); $limitStart = JRequest::getVar('limitstart', 0, '', 'int'); $tab = JRequest::getVar('tab', 0, '', 'int'); $neededAccessLevels = PhocaGalleryAccess::getNeededAccessLevels(); $access = PhocaGalleryAccess::isAccess($user->authorisedLevels(), $neededAccessLevels); $params =& $app->getParams(); $detailWindow = $params->get('detail_window', 0); $maxCommentChar = $params->get('max_comment_char', 1000); $displayCommentNoPopup = $params->get('display_comment_nopup', 0); // Maximum of character, they will be saved in database $post['comment'] = substr($post['comment'], 0, (int) $maxCommentChar); if ($detailWindow == 7 || $displayCommentNoPopup == 1) { $tmplCom = ''; } else { $tmplCom = '&tmpl=component'; } // Close Tags $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[u]', '[/u]'); $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[i]', '[/i]'); $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[b]', '[/b]'); $post['imgid'] = (int) $id; $post['userid'] = $user->id; $catidAlias = $catid; $imgidAlias = $id; if ($view != 'comment') { $this->setRedirect(JRoute::_('index.php?option=com_phocagallery', false)); } $model = $this->getModel('comment'); $checkUserComment = PhocaGalleryCommentImage::checkUserComment($post['imgid'], $post['userid']); // User has already submitted a comment if ($checkUserComment) { $msg = JText::_('COM_PHOCAGALLERY_COMMENT_ALREADY_SUBMITTED'); } else { // If javascript will not protect the empty form $msg = ''; $emptyForm = 0; if ($post['title'] == '') { $msg .= JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_TITLE') . ' '; $emtyForm = 1; } if ($post['comment'] == '') { $msg .= JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_COMMENT'); $emtyForm = 1; } if ($emptyForm == 0) { if ($access > 0 && $user->id > 0) { if (!$model->comment($post)) { $msg = JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_SUBMITTING'); } else { $msg = JText::_('COM_PHOCAGALLERY_SUCCESS_COMMENT_SUBMIT'); } } else { $app->redirect(JRoute::_('index.php?option=com_users&view=login', false), JText::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION')); exit; } } } $this->setRedirect(JRoute::_('index.php?option=com_phocagallery&view=comment&catid=' . $catidAlias . '&id=' . $imgidAlias . $tmplCom . '&Itemid=' . $Itemid, false), $msg); }
function comment() { JRequest::checkToken() or jexit('Invalid Token'); phocagalleryimport('phocagallery.comment.comment'); phocagalleryimport('phocagallery.comment.commentcategory'); $app = JFactory::getApplication(); $user = JFactory::getUser(); $catid = $this->input->get('catid', '', 'string'); $post['title'] = $this->input->get('phocagallerycommentstitle', '', 'string'); $post['comment'] = $this->input->get('phocagallerycommentseditor', '', 'string'); $view = $this->input->get('view', '', 'string'); $return = $this->input->get('return-url', null, 'base64'); $format = $this->input->get('format', 'html', 'cmd'); $viewBack = $this->input->get('viewback', '', 'string'); $tab = $this->input->get('tab', 0, 'int'); $rating = $this->input->get('rating', '', 'string'); $Itemid = $this->input->get('Itemid', 0, 'int'); $limitStart = $this->input->get('limitstart', 0, 'int'); $neededAccessLevels = PhocaGalleryAccess::getNeededAccessLevels(); $access = PhocaGalleryAccess::isAccess($user->getAuthorisedViewLevels(), $neededAccessLevels); $paramsC = JComponentHelper::getParams('com_phocagallery'); $maxCommentChar = $paramsC->get('max_comment_char', 1000); // Maximum of character, they will be saved in database $post['comment'] = substr($post['comment'], 0, (int) $maxCommentChar); // Close Tags $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[u]', '[/u]'); $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[i]', '[/i]'); $post['comment'] = PhocaGalleryComment::closeTags($post['comment'], '[b]', '[/b]'); $post['catid'] = (int) $catid; $post['userid'] = $user->id; $catidAlias = $catid; //Itemid if ($view != 'category') { $this->setRedirect(JRoute::_('index.php?option=com_phocagallery', false)); } $model = $this->getModel('category'); $checkUserComment = PhocaGalleryCommentCategory::checkUserComment($post['catid'], $post['userid']); // User has already submitted a comment if ($checkUserComment) { $msg = JText::_('COM_PHOCAGALLERY_COMMENT_ALREADY_SUBMITTED'); } else { // If javascript will not protect the empty form $msg = ''; $emptyForm = 0; if ($post['title'] == '') { $msg .= JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_TITLE') . ' '; $emtyForm = 1; } if ($post['comment'] == '') { $msg .= JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_COMMENT'); $emtyForm = 1; } if ($emptyForm == 0) { if ($access > 0 && $user->id > 0) { if (!$model->comment($post)) { $msg = JText::_('COM_PHOCAGALLERY_ERROR_COMMENT_SUBMITTING'); } else { $msg = JText::_('COM_PHOCAGALLERY_SUCCESS_COMMENT_SUBMIT'); } } else { $app->enqueueMessage(JText::_('COM_PHOCAGALLERY_NOT_AUTHORISED_ACTION')); $app->redirect(JRoute::_('index.php?option=com_users&view=login', false)); exit; } } } // Limit Start $countItem = $model->getCountItem((int) $catid); if ($countItem) { if ((int) $countItem[0] == $limitStart) { $limitStart = 0; } } else { $limitStart = 0; } if ($limitStart > 0) { $limitStartUrl = '&limitstart=' . $limitStart; } else { $limitStartUrl = ''; } $app->enqueueMessage($msg); $this->setRedirect(JRoute::_('index.php?option=com_phocagallery&view=category&id=' . $catidAlias . '&tab=' . $tab . '&Itemid=' . $Itemid . $limitStartUrl, false)); }