Umstellung auf Contao 4 Bundle
This commit is contained in:
		| @@ -1,8 +1,9 @@ | ||||
| { | ||||
| 	"name":"cgo-it/rate-it", | ||||
| 	"description":"RateIt extension for the Contao Open Source CMS", | ||||
| 	"keywords":["contao", "rating", "rateit", "bewertung"], | ||||
| 	"type":"contao-module", | ||||
| 	"name":"cgo-it/contao-rate-it-bundle", | ||||
| 	"description":"RateIt extension for the Contao Open Source CMS as contao 4 bundle", | ||||
| 	"keywords":["contao", "rating", "rateit", "bewertung", "bundle"], | ||||
| 	"type":"contao-bundle", | ||||
| 	"homepage":"https://cgo-it.de", | ||||
| 	"license":"LGPL-3.0+", | ||||
| 	"authors":[ | ||||
| 		{ | ||||
| @@ -13,34 +14,38 @@ | ||||
| 		} | ||||
| 	], | ||||
| 	"support": { | ||||
| 		"email": "info@cgo-it.de", | ||||
| 		"issues": "https://git.cgo-it.de/contao/rate-it/issues", | ||||
| 		"forum": "https://community.contao.org/de/showthread.php?38471-Rate-It", | ||||
| 		"source": "https://git.cgo-it.de/contao/rate-it.git" | ||||
| 	}, | ||||
| 	"require":{ | ||||
| 		"php":">=5.6", | ||||
| 		"contao/core":">=3.0||<5", | ||||
| 		"contao-community-alliance/composer-plugin": "~2.0", | ||||
| 		"cgo-it/xls_export":"^3.1" | ||||
| 		"php":">=7.0", | ||||
| 		"contao/core-bundle": "^4.4", | ||||
| 		"cgo-it/xls-export-bundle": "^4.0", | ||||
| 		"richardhj/contao-simple-ajax": "^1.3" | ||||
| 	}, | ||||
| 	"replace": { | ||||
| 		"cgo-it/rate-it": "<3.5.4" | ||||
| 	"require-dev": { | ||||
|         "contao/manager-plugin": "^2.0" | ||||
| 	}, | ||||
|     "conflict": { | ||||
| 			"contao/core": "<3.0" | ||||
| 	"conflict": { | ||||
| 		"contao/core": "*", | ||||
| 		"contao/manager-plugin": "<2.0 || >=3.0", | ||||
| 	}, | ||||
| 	"extra":{ | ||||
| 		"contao": { | ||||
| 			"sources":{ | ||||
| 				"":"system/modules/rateit" | ||||
| 			}, | ||||
| 			"transifex":{ | ||||
| 				"project": "rateit", | ||||
| 				"prefix": "core-", | ||||
| 				"languages_cto": "languages", | ||||
| 				"languages_tx": "languages" | ||||
| 			} | ||||
| 		} | ||||
| 	"autoload": { | ||||
| 		"psr-4": { | ||||
| 			"cgoIT\\rateit\\": "src/" | ||||
| 		}, | ||||
| 		"classmap": [ | ||||
| 			"src/Resources/contao/" | ||||
| 		], | ||||
| 		"exclude-from-classmap": [ | ||||
| 			"src/Resources/contao/config/", | ||||
| 			"src/Resources/contao/dca/", | ||||
| 			"src/Resources/contao/languages/", | ||||
| 			"src/Resources/contao/templates/" | ||||
| 		] | ||||
|  	}, | ||||
| 	"extra": { | ||||
| 		"contao-manager-plugin": "cgoIT\\rateit\\ContaoManagerPlugin" | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -1,7 +0,0 @@ | ||||
|  | ||||
| ;; | ||||
| ; Configure what you want the autoload creator to register | ||||
| ;; | ||||
| register_namespaces = true | ||||
| register_classes    = true | ||||
| register_templates  = true | ||||
| @@ -1,73 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * Contao Open Source CMS | ||||
|  * | ||||
|  * Copyright (c) 2005-2014 Leo Feyer | ||||
|  * | ||||
|  * @package Rateit | ||||
|  * @link    https://contao.org | ||||
|  * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL | ||||
|  */ | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Register the namespaces | ||||
|  */ | ||||
| ClassLoader::addNamespaces(array | ||||
| ( | ||||
| 	'cgoIT', | ||||
| )); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Register the classes | ||||
|  */ | ||||
| ClassLoader::addClasses(array | ||||
| ( | ||||
| 	// Classes | ||||
| 	'cgoIT\rateit\DcaHelper'              => 'system/modules/rateit/classes/DcaHelper.php', | ||||
| 	'cgoIT\rateit\RateItArticle'          => 'system/modules/rateit/classes/RateItArticle.php', | ||||
| 	'cgoIT\rateit\RateItBackend'          => 'system/modules/rateit/classes/RateItBackend.php', | ||||
| 	'cgoIT\rateit\RateItCE'               => 'system/modules/rateit/classes/RateItCE.php', | ||||
| 	'cgoIT\rateit\RateItFaq'              => 'system/modules/rateit/classes/RateItFaq.php', | ||||
| 	'cgoIT\rateit\RateItFrontend'         => 'system/modules/rateit/classes/RateItFrontend.php', | ||||
| 	'cgoIT\rateit\RateItHybrid'           => 'system/modules/rateit/classes/RateItHybrid.php', | ||||
| 	'cgoIT\rateit\RateItModule'           => 'system/modules/rateit/classes/RateItModule.php', | ||||
| 	'cgoIT\rateit\RateItNews'             => 'system/modules/rateit/classes/RateItNews.php', | ||||
| 	'cgoIT\rateit\RateItPage'             => 'system/modules/rateit/classes/RateItPage.php', | ||||
| 	'cgoIT\rateit\RateItRating'           => 'system/modules/rateit/classes/RateItRating.php', | ||||
| 	'cgoIT\rateit\RateItBackendModule'    => 'system/modules/rateit/classes/RateItBackendModule.php', | ||||
| 	'cgoIT\rateit\RateItTopRatingsModule' => 'system/modules/rateit/classes/RateItTopRatingsModule.php', | ||||
| 	'cgoIT\rateit\RateIt'                 => 'system/modules/rateit/public/php/rateit.php', | ||||
| 	'simple_html_dom'                     => 'system/modules/rateit/classes/extern/simple_html_dom.php', | ||||
| )); | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Register the templates | ||||
|  */ | ||||
| TemplateLoader::addFiles(array | ||||
| ( | ||||
| 	'article_rateit_default'                      => 'system/modules/rateit/templates', | ||||
| 	'article_rateit_default_microdata'            => 'system/modules/rateit/templates', | ||||
| 	'gallery_rateit_default'                      => 'system/modules/rateit/templates', | ||||
| 	'j_colorbox_rateit'                           => 'system/modules/rateit/templates', | ||||
| 	'mod_article_list_rateit'                     => 'system/modules/rateit/templates', | ||||
| 	'mod_article_rateit_default_microdata_teaser' => 'system/modules/rateit/templates', | ||||
| 	'mod_article_rateit_default_teaser'           => 'system/modules/rateit/templates', | ||||
| 	'mod_rateit_top_ratings'                      => 'system/modules/rateit/templates', | ||||
| 	'moo_mediabox_rateit'                         => 'system/modules/rateit/templates', | ||||
| 	'news_full_rateit'                            => 'system/modules/rateit/templates', | ||||
| 	'news_full_rateit_microdata'                  => 'system/modules/rateit/templates', | ||||
| 	'news_latest_rateit'                          => 'system/modules/rateit/templates', | ||||
| 	'news_latest_rateit_microdata'                => 'system/modules/rateit/templates', | ||||
| 	'news_short_rateit'                           => 'system/modules/rateit/templates', | ||||
| 	'news_short_rateit_microdata'                 => 'system/modules/rateit/templates', | ||||
| 	'news_simple_rateit'                          => 'system/modules/rateit/templates', | ||||
| 	'news_simple_rateit_microdata'                => 'system/modules/rateit/templates', | ||||
| 	'rateitbe_ratinglist'                         => 'system/modules/rateit/templates', | ||||
| 	'rateitbe_ratingview'                         => 'system/modules/rateit/templates', | ||||
| 	'rateit_default'                              => 'system/modules/rateit/templates', | ||||
| 	'rateit_microdata'                            => 'system/modules/rateit/templates', | ||||
| )); | ||||
| @@ -1,139 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * Contao Open Source CMS | ||||
|  * Copyright (C) 2005-2011 Leo Feyer | ||||
|  * | ||||
|  * Formerly known as TYPOlight Open Source CMS. | ||||
|  * | ||||
|  * This program is free software: you can redistribute it and/or | ||||
|  * modify it under the terms of the GNU Lesser General Public | ||||
|  * License as published by the Free Software Foundation, either | ||||
|  * version 3 of the License, or (at your option) any later version. | ||||
|  * | ||||
|  * This program is distributed in the hope that it will be useful, | ||||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||||
|  * Lesser General Public License for more details. | ||||
|  * | ||||
|  * You should have received a copy of the GNU Lesser General Public | ||||
|  * License along with this program. If not, please visit the Free | ||||
|  * Software Foundation website at <http://www.gnu.org/licenses/>. | ||||
|  * | ||||
|  * PHP version 5 | ||||
|  * @copyright	Leo Unglaub 2012 | ||||
|  * @author		Leo Unglaub <leo@leo-unglaub.net> | ||||
|  * @package		simple_ajax | ||||
|  * @license		LGPL | ||||
|  */ | ||||
|  | ||||
|  | ||||
| // simple trick for Contao < 2.10 | ||||
| $arrPost = $_POST; | ||||
| unset($_POST); | ||||
|  | ||||
|  | ||||
| // inizialize the contao framework | ||||
| define('TL_MODE', 'FE'); | ||||
| require('../../../../initialize.php'); | ||||
|  | ||||
|  | ||||
| // write the post data back into the array | ||||
| $_POST = $arrPost; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Class RateitAjax | ||||
|  * Contain methods to catch ajax requests and send responses back to the client. | ||||
|  * | ||||
|  * Description | ||||
|  * ``````````` | ||||
|  * | ||||
|  * The usage of the RateitAjax extensions is very easy. The extension provides | ||||
|  * the hook $GLOBALS['TL_HOOKS']['rateitAjax'] for extension developers. You | ||||
|  * simply have to register your class/method and the extension will call | ||||
|  * your class if there is an incomming ajax request. | ||||
|  * | ||||
|  * You simply have to deside if it's an ajax request for your module and return | ||||
|  * the data you want. | ||||
|  * | ||||
|  * There are a few thinks you should know about the extension: | ||||
|  * 	* YOU have the full controll over the response. That also means | ||||
|  * 	  that you have to set the correct header. | ||||
|  *  * YOU have to terminate the request after you have send the response. | ||||
|  * 	* If the ajax request is not for your method you simply have nothing to | ||||
|  * 	* return. | ||||
|  * | ||||
|  * | ||||
|  * Usage | ||||
|  * ````` | ||||
|  * // config.php | ||||
|  * $GLOBALS['TL_HOOKS']['rateitAjax'][] = array('MyClass', 'myMethod'); | ||||
|  * | ||||
|  * // MyClass.php | ||||
|  * class MyClass extends System | ||||
|  * { | ||||
|  * 	public function myMethod() | ||||
|  * 	{ | ||||
|  * 		if ($this->Input->get('acid') == 'myrequest') | ||||
|  * 		{ | ||||
|  * 			$arrReturn = array('foo', 'bar', 'foobar'); | ||||
|  * | ||||
|  * 			header('Content-Type: application/json'); | ||||
|  * 			echo json_encode($arrReturn); | ||||
|  * 			exit; | ||||
|  * 		} | ||||
|  * 	} | ||||
|  * } | ||||
|  */ | ||||
| class RateitAjax extends Controller | ||||
| { | ||||
| 	/** | ||||
| 	 * Call the parent constructor. | ||||
| 	 * | ||||
| 	 * !!! DON'T REMOVE THIS !!! | ||||
| 	 * | ||||
| 	 * If you remove this you get the following error message: | ||||
| 	 * Fatal error: Call to protected System::__construct() from invalid | ||||
| 	 * context | ||||
| 	 * | ||||
| 	 * @param	void | ||||
| 	 * @return	void | ||||
| 	 */ | ||||
| 	public function __construct() | ||||
| 	{ | ||||
| 		parent::__construct(); | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	/** | ||||
| 	 * Get the ajax request and call all hooks | ||||
| 	 * | ||||
| 	 * @param	void | ||||
| 	 * @return	void | ||||
| 	 */ | ||||
| 	public function run() | ||||
| 	{ | ||||
| 		// check if a hook is registered | ||||
| 		if (is_array($GLOBALS['TL_HOOKS']['rateitAjax']) && count($GLOBALS['TL_HOOKS']['rateitAjax']) > 0) | ||||
| 		{ | ||||
| 			// execute every registered callback | ||||
| 			foreach ($GLOBALS['TL_HOOKS']['rateitAjax'] as $callback) | ||||
| 			{ | ||||
| 				$this->import($callback[0]); | ||||
| 				$this->{$callback[0]}->{$callback[1]}(); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		// if there is no other output, we generate a 412 error response | ||||
| 		header('HTTP/1.1 412 Precondition Failed'); | ||||
| 		die('Rateit Ajax: Invalid AJAX call.'); | ||||
| 	} | ||||
| } | ||||
|  | ||||
|  | ||||
| // create a rateit-ajax instance and run it | ||||
| $objRateitAjax = new RateitAjax(); | ||||
| $objRateitAjax->run(); | ||||
|  | ||||
| ?> | ||||
							
								
								
									
										14
									
								
								src/CgoITRateItBundle.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/CgoITRateItBundle.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| <?php | ||||
|  | ||||
| namespace cgoIT\rateit; | ||||
|  | ||||
| use Symfony\Component\HttpKernel\Bundle\Bundle; | ||||
|  | ||||
| /** | ||||
|  * Configures the Contao aeo bundle. | ||||
|  * | ||||
|  * @author Carsten Götzinger | ||||
|  */ | ||||
| class CgoITRateItBundle extends Bundle | ||||
| { | ||||
| } | ||||
							
								
								
									
										28
									
								
								src/ContaoManagerPlugin.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/ContaoManagerPlugin.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| <?php | ||||
|  | ||||
| namespace cgoIT\rateit; | ||||
|  | ||||
| use Contao\CoreBundle\ContaoCoreBundle; | ||||
| use Contao\ManagerPlugin\Bundle\Config\BundleConfig; | ||||
| use Contao\ManagerPlugin\Bundle\BundlePluginInterface; | ||||
| use Contao\ManagerPlugin\Bundle\Parser\ParserInterface; | ||||
|  | ||||
| /** | ||||
|  * Plugin for the Contao Manager. | ||||
|  * | ||||
|  * @author Carsten Götzinger | ||||
|  */ | ||||
| class ContaoManagerPlugin implements BundlePluginInterface | ||||
| { | ||||
|     /** | ||||
|      * {@inheritdoc} | ||||
|      */ | ||||
|     public function getBundles(ParserInterface $parser) | ||||
|     { | ||||
|         return [ | ||||
|             BundleConfig::create(CgoITRateItBundle::class) | ||||
|                 ->setLoadAfter([ContaoCoreBundle::class]) | ||||
|                 ->setReplace(['rate-it']), | ||||
|         ]; | ||||
|     } | ||||
| } | ||||
| @@ -30,18 +30,23 @@ | ||||
| 
 | ||||
| namespace cgoIT\rateit; | ||||
| 
 | ||||
| use cgoIT\rateit\RateItFrontend; | ||||
| 
 | ||||
| define(RETURN_AJAX_HEADER, 'Content-Type: text/html'); | ||||
| 
 | ||||
| class RateIt extends \Frontend {  | ||||
| 	 | ||||
| class RateIt extends \Frontend { | ||||
| 
 | ||||
| 	var $allowDuplicates = false; | ||||
| 		 | ||||
| 	var $rateItFrontend; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Initialize the controller | ||||
| 	 */ | ||||
| 	public function __construct() { | ||||
| 		parent::__construct(); | ||||
| 
 | ||||
| 		$this->rateItFrontend = new RateItFrontend(); | ||||
| 
 | ||||
| 		$this->loadLanguageFile('default'); | ||||
| 		$this->allowDuplicates = $GLOBALS['TL_CONFIG']['rating_allow_duplicate_ratings']; | ||||
| 		$this->allowDuplicatesForMembers = $GLOBALS['TL_CONFIG']['rating_allow_duplicate_ratings_for_members']; | ||||
| @@ -57,17 +62,17 @@ class RateIt extends \Frontend { | ||||
| 	 * such, it unitlizes the die() function to display its errors.  THIS | ||||
| 	 * WOULD BE A VERY BAD FUNCTION TO CALL FROM WITHIN ANOTHER PAGE. | ||||
| 	 * | ||||
| 	 * @param integer id      - The id of key to register a rating for.  | ||||
| 	 * @param integer id      - The id of key to register a rating for. | ||||
| 	 * @param integer percent - The rating in percentages. | ||||
| 	 */ | ||||
| 	function doVote() { | ||||
| 		if ($this->Input->get('do') == 'rateit') { | ||||
| 			$ip = $_SERVER['REMOTE_ADDR']; | ||||
| 	 | ||||
| 
 | ||||
| 			$rkey = $this->Input->post('id'); | ||||
| 			$percent = $this->Input->post('vote'); | ||||
| 			$type = $this->Input->post('type'); | ||||
| 			 | ||||
| 
 | ||||
| 			//Make sure that the ratable ID is a number and not something crazy.
 | ||||
| 			if (strstr($rkey, '|')) { | ||||
| 				$arrRkey = explode('|', $rkey); | ||||
| @@ -78,7 +83,7 @@ class RateIt extends \Frontend { | ||||
| 						exit; | ||||
| 					} | ||||
| 					$id = $rkey; | ||||
| 				}		 | ||||
| 				} | ||||
| 			} else { | ||||
| 				if (is_numeric($rkey)) { | ||||
| 					$id = $rkey; | ||||
| @@ -88,7 +93,7 @@ class RateIt extends \Frontend { | ||||
| 					exit; | ||||
| 				} | ||||
| 			} | ||||
| 	 | ||||
| 
 | ||||
| 			//Make sure the percent is a number and under 100.
 | ||||
| 			if (is_numeric($percent) && $percent < 101) { | ||||
| 				$rating = $percent; | ||||
| @@ -97,32 +102,32 @@ class RateIt extends \Frontend { | ||||
| 				echo $GLOBALS['TL_LANG']['rateit']['error']['invalid_rating']; | ||||
| 				exit; | ||||
| 			} | ||||
| 			 | ||||
| 
 | ||||
| 			//Make sure that the ratable type is 'page' or 'ce' or 'module'
 | ||||
| 			if (!($type === 'page' || $type === 'article' || $type === 'ce' || $type === 'module' || $type === 'news' || $type === 'faq' || $type === 'galpic' || $type === 'news4ward')) { | ||||
| 				header(RETURN_AJAX_HEADER); | ||||
| 				echo $GLOBALS['TL_LANG']['rateit']['error']['invalid_type']; | ||||
| 				exit; | ||||
| 			} | ||||
| 			 | ||||
| 
 | ||||
| 			$strHash = sha1(session_id() . (!$GLOBALS['TL_CONFIG']['disableIpCheck'] ? \Environment::get('ip') : '') . 'FE_USER_AUTH'); | ||||
| 			 | ||||
| 
 | ||||
| 			// FrontendUser auslesen
 | ||||
| 			if (FE_USER_LOGGED_IN) { | ||||
| 				$objUser = $this->Database->prepare("SELECT pid FROM tl_session WHERE hash=?") | ||||
| 												  ->limit(1) | ||||
| 												  ->execute($strHash); | ||||
| 			 | ||||
| 
 | ||||
| 				if ($objUser->numRows) { | ||||
| 					$userId = $objUser->pid; | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			 | ||||
| 
 | ||||
| 
 | ||||
| 			$ratableKeyId = $this->Database->prepare('SELECT id FROM tl_rateit_items WHERE rkey=? and typ=?') | ||||
| 								->execute($id, $type) | ||||
| 								->fetchAssoc(); | ||||
| 	 | ||||
| 
 | ||||
| 			$canVote = false; | ||||
| 			if (isset($userId)) { | ||||
| 				$countUser = $this->Database->prepare('SELECT * FROM tl_rateit_ratings WHERE pid=? and memberid=?') | ||||
| @@ -132,7 +137,7 @@ class RateIt extends \Frontend { | ||||
| 			$countIp = $this->Database->prepare('SELECT * FROM tl_rateit_ratings WHERE pid=? and ip_address=?') | ||||
| 			            ->execute($ratableKeyId['id'], $ip) | ||||
| 			            ->count(); | ||||
| 			 | ||||
| 
 | ||||
| 			// Die with an error if the insert fails (duplicate IP or duplicate member id for a vote).
 | ||||
| 			if ((!$this->allowDuplicatesForMembers && (isset($countUser) ? $countUser == 0 : false)) || ($this->allowDuplicatesForMembers && isset($userId))) { | ||||
| 				// Insert the data.
 | ||||
| @@ -163,15 +168,14 @@ class RateIt extends \Frontend { | ||||
| 				echo $GLOBALS['TL_LANG']['rateit']['error']['duplicate_vote']; | ||||
| 				exit; | ||||
| 	      } | ||||
| 	 | ||||
| 			$this->import('rateit\\RateItFrontend', 'RateItFrontend'); | ||||
| 			$rating = $this->RateItFrontend->loadRating($id, $type); | ||||
| 			 | ||||
| 
 | ||||
| 			$rating = $this->rateItFrontend->loadRating($id, $type); | ||||
| 
 | ||||
| 			header(RETURN_AJAX_HEADER); | ||||
| 			echo $this->RateItFrontend->getStarMessage($rating); | ||||
| 			echo $this->rateItFrontend->getStarMessage($rating); | ||||
| 			exit; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| ?>
 | ||||
| ?>
 | ||||
| @@ -90,15 +90,15 @@ class RateItArticle extends RateItFrontend { | ||||
| 				$objTemplate->rateit_rating_after = true; | ||||
| 			} | ||||
| 
 | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 			$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 			$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 			switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 				case 'hearts' : | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 					break; | ||||
| 				default: | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| @@ -114,7 +114,7 @@ class RateItArticle extends RateItFrontend { | ||||
| 				->limit(1) | ||||
| 				->execute($article['articleId']) | ||||
| 				->fetchAssoc(); | ||||
| 					 | ||||
| 
 | ||||
| 				if ($arrArticle['addRating']) { | ||||
| 					if (!$bolTemplateFixed) { | ||||
| 						$objTemplate->setName($objTemplate->getName().'_rateit'); | ||||
| @@ -125,7 +125,7 @@ class RateItArticle extends RateItFrontend { | ||||
| 					$rating = $this->loadRating($ratingId, 'article'); | ||||
| 					$stars = !$rating ? 0 : $this->percentToStars($rating['rating']); | ||||
| 					$percent = round($rating['rating'], 0)."%"; | ||||
| 						 | ||||
| 
 | ||||
| 					$article['descriptionId'] = 'rateItRating-'.$ratingId.'-description'; | ||||
| 					$article['description'] = $this->getStarMessage($rating); | ||||
| 					$article['rateItID'] = 'rateItRating-'.$ratingId.'-article-'.$stars.'_'.$this->intStars; | ||||
| @@ -134,32 +134,32 @@ class RateItArticle extends RateItFrontend { | ||||
| 					$article['actRating'] = $this->percentToStars($rating['rating']); | ||||
| 					$article['maxRating'] = $this->intStars; | ||||
| 					$article['votes'] = $rating[totalRatings]; | ||||
| 						 | ||||
| 
 | ||||
| 					if ($this->strTextPosition == "before") { | ||||
| 						$article['showBefore'] = true; | ||||
| 					} | ||||
| 					else if ($this->strTextPosition == "after") { | ||||
| 						$article['showAfter'] = true; | ||||
| 					} | ||||
| 						 | ||||
| 
 | ||||
| 					if ($arrArticle['rateit_position'] == 'before') { | ||||
| 						$article['rateit_rating_before'] = true; | ||||
| 					} else if ($arrArticle['rateit_position'] == 'after') { | ||||
| 						$article['rateit_rating_after'] = true; | ||||
| 					} | ||||
| 						 | ||||
| 					$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 					$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
| 
 | ||||
| 					$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 					$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 					switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 						case 'hearts' : | ||||
| 							$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 							$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 							break; | ||||
| 						default: | ||||
| 							$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 							$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 					} | ||||
| 				} | ||||
| 					 | ||||
| 
 | ||||
| 				$arrArticles[] = $article; | ||||
| 			} | ||||
| 			$objTemplate->articles = $arrArticles; | ||||
| @@ -172,10 +172,10 @@ class RateItArticle extends RateItFrontend { | ||||
| 						   ->limit(1) | ||||
| 						   ->execute($objTemplate->id) | ||||
| 						   ->fetchAssoc(); | ||||
| 			 | ||||
| 
 | ||||
| 		if ($arrGallery['rateit_active']) { | ||||
| 			$arrRating = array(); | ||||
| 			 | ||||
| 
 | ||||
| 			if (version_compare(VERSION, '3.2', '>=')) { | ||||
| 				$objFiles = \FilesModel::findMultipleByUuids(deserialize($arrGallery['multiSRC'])); | ||||
| 			} else { | ||||
| @@ -185,19 +185,19 @@ class RateItArticle extends RateItFrontend { | ||||
| 			if ($objFiles !== null) { | ||||
| 				// Get all images
 | ||||
| 				while ($objFiles->next()) { | ||||
| 					// Continue if the files has been processed or does not exist 
 | ||||
| 					// Continue if the files has been processed or does not exist
 | ||||
| 					if (isset($arrRating[$objFiles->path]) || !file_exists(TL_ROOT . '/' . $objFiles->path)) { | ||||
| 						continue; | ||||
| 					} | ||||
| 				 | ||||
| 
 | ||||
| 					// Single files
 | ||||
| 					if ($objFiles->type == 'file') { | ||||
| 						$objFile = new \File($objFiles->path, true); | ||||
| 				 | ||||
| 
 | ||||
| 						if (!$objFile->isGdImage) { | ||||
| 							continue; | ||||
| 						} | ||||
| 				 | ||||
| 
 | ||||
| 					   $this->addRatingForImage($arrRating, $arrGallery['id'], $objFiles->id, $objFile->path); | ||||
| 					} | ||||
| 					// Folders
 | ||||
| @@ -207,23 +207,23 @@ class RateItArticle extends RateItFrontend { | ||||
| 						} else { | ||||
| 							$objSubfiles = \FilesModel::findByPid($objFiles->id); | ||||
| 						} | ||||
| 				 | ||||
| 
 | ||||
| 						if ($objSubfiles === null) { | ||||
| 							continue; | ||||
| 						} | ||||
| 				 | ||||
| 
 | ||||
| 						while ($objSubfiles->next()) { | ||||
| 							// Skip subfolders
 | ||||
| 							if ($objSubfiles->type == 'folder') { | ||||
| 								continue; | ||||
| 							} | ||||
| 				 | ||||
| 
 | ||||
| 							$objFile = new \File($objSubfiles->path, true); | ||||
| 				 | ||||
| 
 | ||||
| 							if (!$objFile->isGdImage) { | ||||
| 								continue; | ||||
| 							} | ||||
| 				 | ||||
| 
 | ||||
| 						   $this->addRatingForImage($arrRating, $arrGallery['id'], $objSubfiles->id, $objSubfiles->path); | ||||
| 						} | ||||
| 					} | ||||
| @@ -232,27 +232,27 @@ class RateItArticle extends RateItFrontend { | ||||
| 
 | ||||
| 			$objTemplate->arrRating = $arrRating; | ||||
| 
 | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 			$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 			$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 			switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 				case 'hearts' : | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 					break; | ||||
| 				default: | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		return $objTemplate; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	private function addRatingForImage(&$arrRating, $galleryId, $picId, $picPath) { | ||||
| 		$ratingId = $galleryId.'|'.$picId; | ||||
| 		$rating = $this->loadRating($ratingId, 'galpic'); | ||||
| 		$stars = !$rating ? 0 : $this->percentToStars($rating['rating']); | ||||
| 		$percent = round($rating['rating'], 0)."%"; | ||||
| 			 | ||||
| 
 | ||||
| 		$arrRating[$picPath] = array(); | ||||
| 		$arrRating[$picPath]['descriptionId'] = 'rateItRating-'.$ratingId.'-description'; | ||||
| 		$arrRating[$picPath]['description'] = $this->getStarMessage($rating); | ||||
| @@ -262,7 +262,7 @@ class RateItArticle extends RateItFrontend { | ||||
| 		$arrRating[$picPath]['actRating'] = $this->percentToStars($rating['rating']); | ||||
| 		$arrRating[$picPath]['maxRating'] = $this->intStars; | ||||
| 		$arrRating[$picPath]['votes'] = $rating[totalRatings]; | ||||
| 		 | ||||
| 
 | ||||
| 		if ($this->strTextPosition == "before") { | ||||
| 			$arrRating[$picPath]['showBefore'] = true; | ||||
| 		} | ||||
| @@ -271,4 +271,4 @@ class RateItArticle extends RateItFrontend { | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| ?>
 | ||||
| ?>
 | ||||
| @@ -32,7 +32,7 @@ namespace cgoIT\rateit; | ||||
| 
 | ||||
| class RateItBackend | ||||
| { | ||||
| 	const path = 'system/modules/rateit/'; | ||||
| 	const path = 'bundles/cgoitrateit/'; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Get a css file. | ||||
| @@ -41,7 +41,7 @@ class RateItBackend | ||||
| 	 */ | ||||
| 	public static function css($file) | ||||
| 	{ | ||||
| 		return self::path.'public/css/'. $file.'.css'; | ||||
| 		return self::path.'css/'. $file.'.css'; | ||||
| 	} // file
 | ||||
| 
 | ||||
| 	/** | ||||
| @@ -51,7 +51,7 @@ class RateItBackend | ||||
| 	 */ | ||||
| 	public static function js($file) | ||||
| 	{ | ||||
| 		return self::path.'public/js/'. $file.'.js'; | ||||
| 		return self::path.'js/'. $file.'.js'; | ||||
| 	} // file
 | ||||
| 
 | ||||
| 	/** | ||||
| @@ -61,7 +61,7 @@ class RateItBackend | ||||
| 	 */ | ||||
| 	public static function image($file) | ||||
| 	{ | ||||
| 		$url = self::path.'public/images/'; | ||||
| 		$url = self::path.'images/'; | ||||
| 		if (is_file(TL_ROOT.'/'.$url.$file.'.png')) return $url.$file.'.png'; | ||||
| 		if (is_file(TL_ROOT.'/'.$url.$file.'.gif')) return $url.$file.'.gif'; | ||||
| 		return $url.'default.png'; | ||||
| @@ -235,7 +235,7 @@ class rateitBackendModule extends \BackendModule | ||||
| 	 */ | ||||
| 	protected function exportRatings() | ||||
| 	{ | ||||
| 		$this->import('String'); | ||||
| 		$this->import('StringUtil'); | ||||
| 		$rateit = &$this->Template->rateit; | ||||
| 
 | ||||
| 		$options['order'] = 'rating desc'; | ||||
| @@ -264,11 +264,11 @@ class rateitBackendModule extends \BackendModule | ||||
| 		// Werte setzen
 | ||||
| 		foreach($rateit->ratingitems as $item) { | ||||
| 			$arrItem = (array)$item; | ||||
| 				 | ||||
| 
 | ||||
| 			$intColCounter = 0; | ||||
| 			foreach(array_keys($this->arrExportHeader) as $key) { | ||||
| 				$strVal = $arrItem[$key]; | ||||
| 				$strVal = $this->String->decodeEntities($strVal); | ||||
| 				$strVal = $this->StringUtil->decodeEntities($strVal); | ||||
| 				$strVal = preg_replace(array('/<br.*\/*>/si'), array("\n"), $strVal); | ||||
| 				$strVal = $this->convertEncoding($strVal, $GLOBALS['TL_CONFIG']['characterSet'], 'CP1252'); | ||||
| 
 | ||||
| @@ -299,7 +299,7 @@ class rateitBackendModule extends \BackendModule | ||||
| 				$xls->setcell(array("sheetname" => $strXlsSheet,"row" => $intRowCounter, "col" => $intColCounter, "data" => $strVal, "type" => $cellType, "vallign" => XLSXF_VALLIGN_TOP, "fontfamily" => XLSFONT_FAMILY_NORMAL)); | ||||
| 				$intColCounter++; | ||||
| 			} | ||||
| 				 | ||||
| 
 | ||||
| 			$intRowCounter++; | ||||
| 		} | ||||
| 
 | ||||
| @@ -449,7 +449,7 @@ class rateitBackendModule extends \BackendModule | ||||
| 				'typ' 	=> $typ | ||||
| 		); | ||||
| 
 | ||||
| 		$this->import('String'); | ||||
| 		$this->import('StringUtil'); | ||||
| 		$rateit = &$this->Template->rateit; | ||||
| 
 | ||||
| 		// query ratings
 | ||||
| @@ -480,11 +480,11 @@ class rateitBackendModule extends \BackendModule | ||||
| 		// Werte setzen
 | ||||
| 		foreach($ext->ratings as $item) { | ||||
| 			$arrItem = (array)$item; | ||||
| 				 | ||||
| 
 | ||||
| 			$intColCounter = 0; | ||||
| 			foreach(array_keys($this->arrExportHeaderDetails) as $key) { | ||||
| 				$strVal = $arrItem[$key]; | ||||
| 				$strVal = $this->String->decodeEntities($strVal); | ||||
| 				$strVal = $this->StringUtil->decodeEntities($strVal); | ||||
| 				$strVal = preg_replace(array('/<br.*\/*>/si'), array("\n"), $strVal); | ||||
| 				$strVal = $this->convertEncoding($strVal, $GLOBALS['TL_CONFIG']['characterSet'], 'CP1252'); | ||||
| 
 | ||||
| @@ -509,7 +509,7 @@ class rateitBackendModule extends \BackendModule | ||||
| 				$xls->setcell(array("sheetname" => $strXlsSheet,"row" => $intRowCounter, "col" => $intColCounter, "data" => $strVal, "type" => $cellType, "vallign" => XLSXF_VALLIGN_TOP, "fontfamily" => XLSFONT_FAMILY_NORMAL)); | ||||
| 				$intColCounter++; | ||||
| 			} | ||||
| 				 | ||||
| 
 | ||||
| 			$intRowCounter++; | ||||
| 		} | ||||
| 
 | ||||
| @@ -30,64 +30,69 @@ | ||||
| 
 | ||||
| namespace cgoIT\rateit; | ||||
| 
 | ||||
| class RateItFaq extends RateItFrontend {  | ||||
| 	 | ||||
| use cgoIT\rateit\RateItRating; | ||||
| 
 | ||||
| class RateItFaq extends RateItFrontend { | ||||
| 
 | ||||
| 	var $rateItRating; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Initialize the controller | ||||
| 	 */ | ||||
| 	public function __construct() { | ||||
| 		parent::__construct(); | ||||
| 		$this->rateItRating = new RateItRating(); | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	public function getContentElementRateIt($objRow, $strBuffer) { | ||||
| 		if ($objRow->type == 'module') { | ||||
| 			$objModule = $this->Database->prepare("SELECT * FROM tl_module WHERE id=? AND type IN ('faqpage', 'faqreader')") | ||||
| 										->limit(1) | ||||
| 										->execute($objRow->module); | ||||
| 			 | ||||
| 
 | ||||
| 			if ($objModule->numRows == 1) { | ||||
| 				$this->faq_categories = deserialize($objModule->faq_categories); | ||||
| 				 | ||||
| 
 | ||||
| 				if ($objModule->type == 'faqreader') { | ||||
| 					$strBuffer = $this->generateForFaqReader($objModule, $strBuffer); | ||||
| 				} else { | ||||
| 					$strBuffer = $this->generateForFaqPage($objModule, $strBuffer); | ||||
| 				} | ||||
| 				 | ||||
| 				$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 				$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
| 
 | ||||
| 				$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 				$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 				switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 					case 'hearts' : | ||||
| 						$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 						$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 						break; | ||||
| 					default: | ||||
| 						$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 						$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		return $strBuffer; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	private function generateForFaqPage($objModule, $strBuffer) { | ||||
| 		$objFaq = $this->Database | ||||
| 		               ->execute("SELECT *, author AS authorId, (SELECT headline FROM tl_faq_category WHERE tl_faq_category.id=tl_faq.pid) AS category, (SELECT name FROM tl_user WHERE tl_user.id=tl_faq.author) AS author FROM tl_faq WHERE pid IN(" . implode(',', array_map('intval', $this->faq_categories)) . ")" . (!BE_USER_LOGGED_IN ? " AND published=1" : "")); | ||||
| 		 | ||||
| 
 | ||||
| 		if ($objFaq->numRows < 1) { | ||||
| 			return $strBuffer; | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		$htmlBuffer = new \simple_html_dom(); | ||||
| 		$htmlBuffer->load($strBuffer); | ||||
| 		 | ||||
| 
 | ||||
| 		$arrFaqs = $objFaq->fetchAllAssoc(); | ||||
| 		foreach ($arrFaqs as $arrFaq) { | ||||
| 			$rating = $this->generateSingle($arrFaq, $strBuffer); | ||||
| 			 | ||||
| 
 | ||||
| 			$h3 = $htmlBuffer->find('#'.$arrFaq['alias']); | ||||
| 			if (is_array($h3) && count($h3) == 1) {  | ||||
| 			if (is_array($h3) && count($h3) == 1) { | ||||
| 				$section = $h3[0]->parent(); | ||||
| 				 | ||||
| 
 | ||||
| 				if ($arrFaq['rateit_position'] == 'before') { | ||||
| 					$section->innertext = $rating.$section->innertext; | ||||
| 				} else if ($arrFaq['rateit_position'] == 'after') { | ||||
| @@ -95,37 +100,37 @@ class RateItFaq extends RateItFrontend { | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		$strBuffer = $htmlBuffer->save(); | ||||
| 		 | ||||
| 
 | ||||
| 		// Aufräumen
 | ||||
| 		$htmlBuffer->clear(); | ||||
| 		unset($htmlBuffer); | ||||
| 		 | ||||
| 
 | ||||
| 		return $strBuffer; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	private function generateForFaqReader($objModule, $strBuffer) { | ||||
| 		// Set the item from the auto_item parameter
 | ||||
| 		if ($GLOBALS['TL_CONFIG']['useAutoItem'] && isset($_GET['auto_item'])) { | ||||
| 			$this->Input->setGet('items', $this->Input->get('auto_item')); | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		// Do not index or cache the page if no FAQ has been specified
 | ||||
| 		if (!$this->Input->get('items')) { | ||||
| 			return $strBuffer; | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		$objFaq = $this->Database->prepare("SELECT *, author AS authorId, (SELECT title FROM tl_faq_category WHERE tl_faq_category.id=tl_faq.pid) AS category, (SELECT name FROM tl_user WHERE tl_user.id=tl_faq.author) AS author FROM tl_faq WHERE pid IN(" . implode(',', array_map('intval', $this->faq_categories)) . ") AND (id=? OR alias=?)" . (!BE_USER_LOGGED_IN ? " AND published=1" : "")) | ||||
| 								 ->limit(1) | ||||
| 								 ->execute((is_numeric($this->Input->get('items')) ? $this->Input->get('items') : 0), $this->Input->get('items')); | ||||
| 		 | ||||
| 
 | ||||
| 		if ($objFaq->numRows == 1) { | ||||
| 			$arrFaq = $objFaq->fetchAssoc(); | ||||
| 			 | ||||
| 
 | ||||
| 			$rating = $this->generateSingle($arrFaq, $strBuffer); | ||||
| 		} | ||||
| 	 | ||||
| 
 | ||||
| 		if ($arrFaq['rateit_position'] == 'before') { | ||||
| 			$strBuffer = $rating.$strBuffer; | ||||
| 		} else if ($arrFaq['rateit_position'] == 'after') { | ||||
| @@ -134,26 +139,25 @@ class RateItFaq extends RateItFrontend { | ||||
| 
 | ||||
| 		return $strBuffer; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	private function generateSingle($arrFaq, $strBuffer) { | ||||
| 		$rating = ''; | ||||
| 		 | ||||
| 
 | ||||
| 		if ($arrFaq['addRating']) { | ||||
| 			$actRecord = $this->Database->prepare("SELECT * FROM tl_rateit_items WHERE rkey=? and typ='faq'") | ||||
| 			->execute($arrFaq['id']) | ||||
| 			->fetchAssoc(); | ||||
| 				 | ||||
| 
 | ||||
| 			if ($actRecord['active']) { | ||||
| 				$this->import('rateit\\RateItRating', 'RateItRating'); | ||||
| 				$this->RateItRating->rkey = $arrFaq['id']; | ||||
| 				$this->RateItRating->ratingType = 'faq'; | ||||
| 				$this->RateItRating->generate(); | ||||
| 		 | ||||
| 				$rating = $this->RateItRating->output(); | ||||
| 				$this->rateItRating->rkey = $arrFaq['id']; | ||||
| 				$this->rateItRating->ratingType = 'faq'; | ||||
| 				$this->rateItRating->generate(); | ||||
| 
 | ||||
| 				$rating = $this->rateItRating->output(); | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 
 | ||||
| 		return $rating; | ||||
| 	} | ||||
| } | ||||
| ?>
 | ||||
| ?>
 | ||||
| @@ -66,15 +66,15 @@ abstract class RateItHybrid extends RateItFrontend | ||||
| 		$this->strType = $GLOBALS['TL_CONFIG']['rating_type']; | ||||
| 		$this->strTextPosition = $GLOBALS['TL_CONFIG']['rating_textposition']; | ||||
| 
 | ||||
|       $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 		$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 		$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
|       $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 		$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 		$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 		switch ($this->strType) { | ||||
| 			case 'hearts' : | ||||
| 				$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 				break; | ||||
| 			default: | ||||
| 				$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 		} | ||||
| 		 | ||||
| 		return parent::generate(); | ||||
| @@ -69,15 +69,15 @@ class RateItNews extends RateItFrontend { | ||||
| 				$objTemplate->rateit_rating_after = true; | ||||
| 			} | ||||
| 			 | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 	   		$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 			$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 	   		$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 			switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 				case 'hearts' : | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 					break; | ||||
| 				default: | ||||
| 					$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 					$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| @@ -29,32 +29,36 @@ | ||||
| 
 | ||||
| namespace cgoIT\rateit; | ||||
| 
 | ||||
| use cgoIT\rateit\RateItRating; | ||||
| 
 | ||||
| class RateItPage extends \Frontend { | ||||
| 	 | ||||
| 
 | ||||
| 	var $rateItRating; | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Initialize the controller | ||||
| 	 */ | ||||
| 	public function __construct() { | ||||
| 		parent::__construct(); | ||||
| 
 | ||||
| 		$this->rateItRating = new RateItRating(); | ||||
| 		$this->loadDataContainer('settings'); | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	public function generatePage($objPage, $objLayout, $objPageType) { | ||||
| 		if ($objPage->addRating) { | ||||
| 			$actRecord = $this->Database->prepare("SELECT * FROM tl_rateit_items WHERE rkey=? and typ='page'") | ||||
| 										->execute($objPage->id) | ||||
| 										->fetchAssoc(); | ||||
| 			 | ||||
| 
 | ||||
| 			if ($actRecord['active']) { | ||||
| 				$this->import('rateit\\RateItRating', 'RateItRating'); | ||||
| 				$this->RateItRating->rkey = $objPage->id; | ||||
| 				$this->RateItRating->generate(); | ||||
| 				 | ||||
| 				$rating = $this->RateItRating->output(); | ||||
| 				$this->rateItRating->rkey = $objPage->id; | ||||
| 				$this->rateItRating->generate(); | ||||
| 
 | ||||
| 				$rating = $this->rateItRating->output(); | ||||
| 				$rating .= $this->includeJs(); | ||||
| 				$rating .= $this->includeCss(); | ||||
| 				 | ||||
| 
 | ||||
| 				$objTemplate = $objPageType->Template; | ||||
| 				if ($objTemplate) { | ||||
| 					if ($objPage->rateit_position == 'after') { | ||||
| @@ -72,7 +76,7 @@ class RateItPage extends \Frontend { | ||||
| 		$strHeadTags = ''; | ||||
| 		if (is_array($GLOBALS['TL_CSS'])) { | ||||
| 			foreach ($GLOBALS['TL_CSS'] as $script) { | ||||
| 				if ($this->startsWith($script, 'system/modules/rateit/public/css/rateit') === true) { | ||||
| 				if ($this->startsWith($script, 'bundles/cgoitrateit/public/css/rateit') === true) { | ||||
| 					$included = true; | ||||
| 					break; | ||||
| 				} | ||||
| @@ -80,24 +84,24 @@ class RateItPage extends \Frontend { | ||||
| 		} | ||||
| 
 | ||||
| 	    if (!$included) { | ||||
| 	    	$strHeadTags = '<link rel="stylesheet" href="'.$this->addStaticUrlTo('system/modules/rateit/public/css/rateit.min.css').'">'; | ||||
| 	    	$strHeadTags = '<link rel="stylesheet" href="'.$this->addStaticUrlTo('bundles/cgoitrateit/public/css/rateit.min.css').'">'; | ||||
| 	    	switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 	    		case 'hearts' : | ||||
| 	    			$strHeadTags .= '<link rel="stylesheet" href="'.$this->addStaticUrlTo('system/modules/rateit/public/css/heart.min.css').'">'; | ||||
| 	    			$strHeadTags .= '<link rel="stylesheet" href="'.$this->addStaticUrlTo('bundles/cgoitrateit/public/css/heart.min.css').'">'; | ||||
| 	    			break; | ||||
| 	    		default: | ||||
| 	    			$strHeadTags .= '<link rel="stylesheet" href="'.$this->addStaticUrlTo('system/modules/rateit/public/css/star.min.css').'">'; | ||||
| 	    			$strHeadTags .= '<link rel="stylesheet" href="'.$this->addStaticUrlTo('bundles/cgoitrateit/public/css/star.min.css').'">'; | ||||
| 	    	} | ||||
| 	    } | ||||
| 		return $strHeadTags; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	private function includeJs() { | ||||
| 		$included = false; | ||||
| 		$strHeadTags = ''; | ||||
| 		if (is_array($GLOBALS['TL_JAVASCRIPT'])) { | ||||
| 			foreach ($GLOBALS['TL_JAVASCRIPT'] as $script) { | ||||
| 				if ($this->startsWith($script, 'system/modules/rateit/public/js/rateit') === true) { | ||||
| 				if ($this->startsWith($script, 'bundles/cgoitrateit/public/js/rateit') === true) { | ||||
| 					$included = true; | ||||
| 					break; | ||||
| 				} | ||||
| @@ -105,15 +109,15 @@ class RateItPage extends \Frontend { | ||||
| 		} | ||||
| 
 | ||||
| 	    if (!$included) { | ||||
| 	   		$strHeadTags = '<script' . (($objPage->outputFormat == 'xhtml') ? ' type="text/javascript"' : '') . ' src="' . $this->addStaticUrlTo('system/modules/rateit/public/js/onReadyRateIt.js') . '"></script>' . "\n"; | ||||
| 	   		$strHeadTags .= '<script' . (($objPage->outputFormat == 'xhtml') ? ' type="text/javascript"' : '') . ' src="' . $this->addStaticUrlTo('system/modules/rateit/public/js/rateit.js') . '"></script>' . "\n"; | ||||
| 	   		$strHeadTags = '<script' . (($objPage->outputFormat == 'xhtml') ? ' type="text/javascript"' : '') . ' src="' . $this->addStaticUrlTo('bundles/cgoitrateit/public/js/onReadyRateIt.js') . '"></script>' . "\n"; | ||||
| 	   		$strHeadTags .= '<script' . (($objPage->outputFormat == 'xhtml') ? ' type="text/javascript"' : '') . ' src="' . $this->addStaticUrlTo('bundles/cgoitrateit/public/js/rateit.js') . '"></script>' . "\n"; | ||||
| 	    } | ||||
| 	   	return $strHeadTags; | ||||
| 	} | ||||
| 	 | ||||
| 
 | ||||
| 	function startsWith($haystack, $needle) { | ||||
| 	    // search backwards starting from haystack length characters from the end
 | ||||
| 	    return $needle === "" || strrpos($haystack, $needle, -strlen($haystack)) !== FALSE; | ||||
| 	} | ||||
| } | ||||
| ?>
 | ||||
| ?>
 | ||||
| @@ -67,15 +67,15 @@ class RateItTopRatingsModule extends RateItFrontend | ||||
| 		 | ||||
| 		$this->arrTypes = deserialize($this->rateit_types); | ||||
| 
 | ||||
|       $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/onReadyRateIt.js|static'; | ||||
| 		$GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/rateit.js|static'; | ||||
| 		$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/rateit.min.css||static'; | ||||
|       $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/onReadyRateIt.js|static'; | ||||
| 		$GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/rateit.js|static'; | ||||
| 		$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/rateit.min.css||static'; | ||||
| 		switch ($GLOBALS['TL_CONFIG']['rating_type']) { | ||||
| 			case 'hearts' : | ||||
| 				$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/heart.min.css||static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/heart.min.css||static'; | ||||
| 				break; | ||||
| 			default: | ||||
| 				$GLOBALS['TL_CSS'][] = 'system/modules/rateit/public/css/star.min.css||static'; | ||||
| 				$GLOBALS['TL_CSS'][] = 'bundles/cgoitrateit/public/css/star.min.css||static'; | ||||
| 		} | ||||
| 		 | ||||
| 		return parent::generate(); | ||||
| @@ -33,18 +33,18 @@ use cgoIT\rateit\RateItBackend; | ||||
| /** | ||||
|  * Hooks | ||||
|  */ | ||||
| $GLOBALS['TL_HOOKS']['generatePage'][]           = array('rateit\\RateItPage', 'generatePage'); | ||||
| $GLOBALS['TL_HOOKS']['rateitAjax'][]             = array('rateit\\RateIt', 'doVote'); | ||||
| $GLOBALS['TL_HOOKS']['parseArticles'][]          = array('rateit\\RateItNews', 'parseArticle'); | ||||
| $GLOBALS['TL_HOOKS']['getContentElement'][]      = array('rateit\\RateItFaq', 'getContentElementRateIt'); | ||||
| $GLOBALS['TL_HOOKS']['parseTemplate'][]          = array('rateit\\RateItArticle', 'parseTemplateRateIt'); | ||||
| $GLOBALS['TL_HOOKS']['generatePage'][]           = array('cgoIT\\rateit\\RateItPage', 'generatePage'); | ||||
| $GLOBALS['TL_HOOKS']['simpleAjax'][]             = array('cgoIT\\rateit\\RateIt', 'doVote'); | ||||
| $GLOBALS['TL_HOOKS']['parseArticles'][]          = array('cgoIT\\rateit\\RateItNews', 'parseArticle'); | ||||
| $GLOBALS['TL_HOOKS']['getContentElement'][]      = array('cgoIT\\rateit\\RateItFaq', 'getContentElementRateIt'); | ||||
| $GLOBALS['TL_HOOKS']['parseTemplate'][]          = array('cgoIT\\rateit\\RateItArticle', 'parseTemplateRateIt'); | ||||
| 
 | ||||
| /** | ||||
|  * Back end modules | ||||
|  */ | ||||
| array_insert($GLOBALS['BE_MOD']['content'], count($GLOBALS['BE_MOD']['content']), | ||||
| 	array('rateit' => array ( | ||||
| 		'callback'   => 'rateit\\RateItBackendModule', | ||||
| 		'callback'   => 'cgoIT\\rateit\\RateItBackendModule', | ||||
|       'icon'       => rateit\RateItBackend::image('icon'), | ||||
| 		'stylesheet' => rateit\RateItBackend::css('backend'), | ||||
| 		'javascript' => rateit\RateItBackend::js('RateItBackend') | ||||
| @@ -54,12 +54,12 @@ array_insert($GLOBALS['BE_MOD']['content'], count($GLOBALS['BE_MOD']['content']) | ||||
| /** | ||||
|  * frontend moduls | ||||
|  */ | ||||
| $GLOBALS['FE_MOD']['application']['rateit']             = 'rateit\\RateItModule'; | ||||
| $GLOBALS['FE_MOD']['application']['rateit_top_ratings'] = 'rateit\\RateItTopRatingsModule'; | ||||
| $GLOBALS['FE_MOD']['application']['rateit']             = 'cgoIT\\rateit\\RateItModule'; | ||||
| $GLOBALS['FE_MOD']['application']['rateit_top_ratings'] = 'cgoIT\\rateit\\RateItTopRatingsModule'; | ||||
| 
 | ||||
| /** | ||||
|  * content elements | ||||
|  */ | ||||
| $GLOBALS['TL_CTE']['includes']['rateit'] = 'rateit\\RateItCE'; | ||||
| $GLOBALS['TL_CTE']['includes']['rateit'] = 'cgoIT\\rateit\\RateItCE'; | ||||
| 
 | ||||
| ?>
 | ||||
| @@ -112,22 +112,4 @@ $GLOBALS['TL_DCA']['tl_settings']['fields']['rating_description'] = array | ||||
| 		'inputType'               => 'text', | ||||
| 		'eval'                    => array('mandatory'=>true, 'allowHtml'=>true, 'tl_class'=>'w50') | ||||
| ); | ||||
| 
 | ||||
| class tl_settings_rateit extends rateit\DcaHelper | ||||
| { | ||||
| 	public function getUserFullName() { | ||||
| 		$this->import('jicw\\JICWHelper', 'JICWHelper'); | ||||
| 		return $this->JICWHelper->getUserFullName(); | ||||
| 	} | ||||
| 	 | ||||
| 	public function getUserEmail() { | ||||
| 		$this->import('jicw\\JICWHelper', 'JICWHelper'); | ||||
| 		return $this->JICWHelper->getUserEmail(); | ||||
| 	} | ||||
| 	 | ||||
| 	public function getInstalledModules() { | ||||
| 		$this->import('jicw\\JICWHelper', 'JICWHelper'); | ||||
| 		return $this->JICWHelper->getInstalledModules(); | ||||
| 	} | ||||
| } | ||||
| ?>
 | ||||
| @@ -2,7 +2,7 @@ | ||||
| 
 | ||||
| // Add the colorbox style sheet and javascript | ||||
| $GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'. COLORBOX .'/css/colorbox.min.css||static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/jquery/colorbox/colorbox-rateit.min.js|static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/jquery/colorbox/colorbox-rateit.min.js|static'; | ||||
| 
 | ||||
| ?> | ||||
| 
 | ||||
| @@ -2,7 +2,7 @@ | ||||
| 
 | ||||
| // Add the colorbox style sheet and javascript | ||||
| $GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'. COLORBOX .'/css/colorbox.min.css||static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/jquery/colorbox/colorbox-rateit.min.js|static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/jquery/colorbox/colorbox-rateit.min.js|static'; | ||||
| 
 | ||||
| ?> | ||||
| 
 | ||||
| @@ -2,7 +2,7 @@ | ||||
| 
 | ||||
| // Add the mediabox style sheet and javascript | ||||
| $GLOBALS['TL_CSS'][] = 'assets/mootools/mediabox/'. MEDIABOX .'/css/mediaboxAdvBlack21.css||static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/mootools/mediabox/mediabox-rateit.js|static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/mootools/mediabox/mediabox-rateit.js|static'; | ||||
| 
 | ||||
| ?> | ||||
| 
 | ||||
| @@ -2,7 +2,7 @@ | ||||
| 
 | ||||
| // Add the mediabox style sheet | ||||
| $GLOBALS['TL_CSS'][] = 'assets/mootools/mediabox/'. MEDIABOX .'/css/mediaboxAdvBlack21.css||static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'system/modules/rateit/public/js/mootools/mediabox/mediabox-rateit.js|static'; | ||||
| $GLOBALS['TL_JAVASCRIPT'][] = 'bundles/cgoitrateit/public/js/mootools/mediabox/mediabox-rateit.js|static'; | ||||
| 
 | ||||
| ?> | ||||
| 
 | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user