Umstellung auf Contao 4 Bundle
This commit is contained in:
parent
b922fe527c
commit
b1d3d540bb
@ -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
Loading…
Reference in New Issue
Block a user