%PDF- %PDF-
| Direktori : /home/lightco1/www/lightcolab.com/administrator/components/com_jce/models/ |
| Current File : /home/lightco1/www/lightcolab.com/administrator/components/com_jce/models/model.php |
<?php
/**
* @copyright Copyright (c) 2009-2017 Ryan Demmer. All rights reserved
* @license GNU/GPL 2 or later - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* JCE is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses
*/
defined('_JEXEC') or die('RESTRICTED');
require_once dirname(__DIR__) . '/classes/model.php';
require_once dirname(__DIR__) . '/helpers/extension.php';
class WFModel extends WFModelBase
{
public static function authorize($task)
{
$user = JFactory::getUser();
// Joomla! 1.7+
if (method_exists('JUser', 'getAuthorisedViewLevels')) {
$action = ($task == 'admin' || $task == 'manage') ? 'core.' . $task : 'jce.' . $task;
if (!$user->authorise($action, 'com_jce')) {
return false;
}
} else {
// get rules from parameters
$component = JComponentHelper::getComponent('com_jce');
$params = json_decode($component->params);
$rules = isset($params->access) ? $params->access : null;
if (is_object($rules)) {
$action = ($task == 'admin' || $task == 'manage') ? 'core.' . $task : 'jce.' . $task;
if (isset($rules->$action)) {
$rule = $rules->$action;
$gid = $user->gid;
if (isset($rule->$gid) && $rule->$gid == 0) {
return false;
}
}
}
}
return true;
}
/**
* Get the current version.
*
* @return Version
*/
public function getVersion()
{
$xml = WFXMLHelper::parseInstallManifest(JPATH_ADMINISTRATOR . '/components/com_jce/jce.xml');
// return cleaned version number or date
$version = preg_replace('/[^0-9a-z]/i', '', $xml['version']);
if (!$version) {
return date('Y-m-d', strtotime('today'));
}
return $version;
}
public function getStyles()
{
$view = JRequest::getCmd('view');
$params = JComponentHelper::getParams('com_jce');
$theme = $params->get('theme', 'smoothness');
$path = JPATH_COMPONENT . '/media/css';
// Load styles
$styles = array();
$files = JFolder::files($path . '/' . $theme, '\.css');
foreach ($files as $file) {
$styles[] = $theme . '/' . $file;
}
$styles = array_merge($styles, array('styles.css', 'tips.css', 'icons.css', 'select.css'));
jimport('joomla.environment.browser');
$browser = JBrowser::getInstance();
if ($browser->getBrowser() == 'msie' && $browser->getMajor() < 8) {
$styles[] = 'styles_ie.css';
}
if (JFile::exists($path . '/' . $view . '.css')) {
$styles[] = $view . '.css';
}
return $styles;
}
public function loadStyles()
{
$styles = $this->getStyles();
foreach ($styles as $style) {
echo '<link rel="stylesheet" type="text/css" href="components/com_jce/media/css/' . $style . '" />' . "\n";
}
}
public static function getBrowserLink($element = null, $mediatype = '', $callback = '')
{
// load base classes
require_once JPATH_ADMINISTRATOR . '/components/com_jce/includes/base.php';
// set $url as empty string
$url = '';
wfimport('editor.libraries.classes.editor');
wfimport('editor.libraries.classes.token');
$wf = WFEditor::getInstance();
$app = JFactory::getApplication();
$profile = $wf->getProfile('browser');
// check the current user is in a profile
if ($profile) {
// get token
$token = WFToken::getToken();
$context = $wf->getContext();
$url = 'index.php?option=com_jce&view=editor&plugin=browser&standalone=1&' . $token . '=1&context=' . $context;
if ($element) {
$url .= '&element=' . $element;
}
if ($mediatype) {
$url .= '&mediatype=' . $mediatype;
}
if ($callback) {
$url .= '&callback=' . $callback;
}
}
return $url;
}
}