You've already forked joomla_test
							
							
		
			
	
	
		
			217 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			217 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @version		$Id: comments.php 1978 2013-05-15 19:34:16Z joomlaworks $
							 | 
						||
| 
								 | 
							
								 * @package		K2
							 | 
						||
| 
								 | 
							
								 * @author		JoomlaWorks http://www.joomlaworks.net
							 | 
						||
| 
								 | 
							
								 * @copyright	Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
							 | 
						||
| 
								 | 
							
								 * @license		GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								// no direct access
							 | 
						||
| 
								 | 
							
								defined('_JEXEC') or die ;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								jimport('joomla.application.component.controller');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class K2ControllerComments extends K2Controller
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function display($cachable = false, $urlparams = array())
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            $uri = JFactory::getURI();
							 | 
						||
| 
								 | 
							
								            if (K2_JVERSION != '15')
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $url = 'index.php?option=com_users&view=login&return='.base64_encode($uri->toString());
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            else
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $url = 'index.php?option=com_user&view=login&return='.base64_encode($uri->toString());
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            $application = JFactory::getApplication();
							 | 
						||
| 
								 | 
							
								            $application->redirect(JRoute::_($url, false), JText::_('K2_YOU_NEED_TO_LOGIN_FIRST'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        JRequest::setVar('tmpl', 'component');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $params = JComponentHelper::getParams('com_k2');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $document = JFactory::getDocument();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if (version_compare(JVERSION, '1.6.0', 'ge'))
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JHtml::_('behavior.framework');
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        else
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JHTML::_('behavior.mootools');
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // Language
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // CSS
							 | 
						||
| 
								 | 
							
								        $document->addStyleSheet(JURI::root(true).'/media/k2/assets/css/k2.css?v=2.6.7');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // JS
							 | 
						||
| 
								 | 
							
								        K2HelperHTML::loadjQuery(true);
							 | 
						||
| 
								 | 
							
								        $document->addScript(JURI::root(true).'/media/k2/assets/js/k2.js?v=2.6.7&sitepath='.JURI::root(true).'/');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->addViewPath(JPATH_COMPONENT_ADMINISTRATOR.DS.'views');
							 | 
						||
| 
								 | 
							
								        $this->addModelPath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $view = $this->getView('comments', 'html');
							 | 
						||
| 
								 | 
							
								        $view->addTemplatePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'views'.DS.'comments'.DS.'tmpl');
							 | 
						||
| 
								 | 
							
								        $view->addHelperPath(JPATH_COMPONENT_ADMINISTRATOR.DS.'helpers');
							 | 
						||
| 
								 | 
							
								        $view->display();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function publish()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->publish();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function unpublish()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->unpublish();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function remove()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->remove();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function deleteUnpublished()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->deleteUnpublished();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function saveComment()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $language = JFactory::getLanguage();
							 | 
						||
| 
								 | 
							
								        $language->load('com_k2', JPATH_ADMINISTRATOR);
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if ($user->guest)
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->save();
							 | 
						||
| 
								 | 
							
								        $mainframe->close();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function report()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::setVar('tmpl', 'component');
							 | 
						||
| 
								 | 
							
								        $view = $this->getView('comments', 'html');
							 | 
						||
| 
								 | 
							
								        $view->setLayout('report');
							 | 
						||
| 
								 | 
							
								        $view->report();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function sendReport()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        JRequest::checkToken() or jexit('Invalid Token');
							 | 
						||
| 
								 | 
							
								        $params = K2HelperUtilities::getParams('com_k2');
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        if (!$params->get('comments') || !$params->get('commentsReporting') || ($params->get('commentsReporting') == '2' && $user->guest))
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('Comments', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->setState('id', JRequest::getInt('id'));
							 | 
						||
| 
								 | 
							
								        $model->setState('name', JRequest::getString('name'));
							 | 
						||
| 
								 | 
							
								        $model->setState('reportReason', JRequest::getString('reportReason'));
							 | 
						||
| 
								 | 
							
								        if (!$model->report())
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            echo $model->getError();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        else
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            echo JText::_('K2_REPORT_SUBMITTED');
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $mainframe = JFactory::getApplication();
							 | 
						||
| 
								 | 
							
								        $mainframe->close();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function reportSpammer()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $mainframe = JFactory::getApplication();
							 | 
						||
| 
								 | 
							
								        $user = JFactory::getUser();
							 | 
						||
| 
								 | 
							
								        $format = JRequest::getVar('format');
							 | 
						||
| 
								 | 
							
								        $errors = array();
							 | 
						||
| 
								 | 
							
								        if (K2_JVERSION != '15')
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if (!$user->authorise('core.admin', 'com_k2'))
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $format == 'raw' ? die(JText::_('K2_ALERTNOTAUTH')) : JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        else
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            if ($user->gid < 25)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $format == 'raw' ? die(JText::_('K2_ALERTNOTAUTH')) : JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        K2Model::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'models');
							 | 
						||
| 
								 | 
							
								        $model = K2Model::getInstance('User', 'K2Model');
							 | 
						||
| 
								 | 
							
								        $model->setState('id', JRequest::getInt('id'));
							 | 
						||
| 
								 | 
							
								        $model->reportSpammer();
							 | 
						||
| 
								 | 
							
								        if ($format == 'raw')
							 | 
						||
| 
								 | 
							
								        {
							 | 
						||
| 
								 | 
							
								            $response = '';
							 | 
						||
| 
								 | 
							
								            $messages = $mainframe->getMessageQueue();
							 | 
						||
| 
								 | 
							
								            foreach ($messages as $message)
							 | 
						||
| 
								 | 
							
								            {
							 | 
						||
| 
								 | 
							
								                $response .= $message['message']."\n";
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            die($response);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        $this->setRedirect('index.php?option=com_k2&view=comments&tmpl=component');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |