| Server IP : 54.36.91.62 / Your IP : 216.73.217.112 Web Server : Apache System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : coopiak ( 151928) PHP Version : 8.3.23 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/coopiak/newsite/administrator/components/com_jaextmanager/views/default/ |
Upload File : |
<?php
/**
* ------------------------------------------------------------------------
* JA Extenstion Manager Component for J25 & J3
* ------------------------------------------------------------------------
* Copyright (C) 2004-2011 J.O.O.M Solutions Co., Ltd. All Rights Reserved.
* @license - GNU/GPL, http://www.gnu.org/licenses/gpl.html
* Author: J.O.O.M Solutions Co., Ltd
* Websites: http://www.joomlart.com - http://www.joomlancers.com
* ------------------------------------------------------------------------
*/
// No direct access
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.view');
/**
* HTML View class for the JAUC Component
*
* @package jauc
*/
class JaextmanagerViewDefault extends JAEMView
{
var $num;
function __construct($config = array())
{
$this->num = 1;
parent::__construct($config);
}
function display($tpl = null)
{
// Display menu
if (!JRequest::getVar("ajax") && JRequest::getVar('tmpl') != 'component' && JRequest::getVar('viewmenu', 1) != 0) {
$file = JPATH_COMPONENT_ADMINISTRATOR."/views/default/tmpl/menu_header.php";
if (@file_exists($file))
require_once ($file);
}
// Get layout
$layout = $this->getLayout();
switch ($layout) {
case 'checkupdate':
$this->displayCheckUpdate($tpl);
break;
case 'diff_view':
$this->displayDiffView($tpl);
break;
case 'files_compare':
$this->displayDiffFiles($tpl);
break;
case 'files_source':
//view source code with content get from form difference view
$this->displaySourceFiles($tpl);
break;
case 'view_source':
//view source code with content read from file
$this->displayViewSource($tpl);
break;
case 'view_remote_source':
//view source code with content read from remote file (or local repository file, depend on service setting of this extension)
$this->displayViewRemoteSource($tpl);
break;
case 'upgrade':
$this->displayUpgrade($tpl);
break;
case 'recovery':
$this->displayRecovery($tpl);
break;
case 'doRecovery':
$this->displayDoRecovery($tpl);
break;
case 'list_backup_conflicted':
$this->displayListBackupConflicted($tpl);
break;
case 'compare_conflicted':
$this->displayFilesConflicted($tpl);
break;
case 'files_compare_conflicted':
$this->displayDiffFilesConflicted($tpl);
break;
// Config view layout
case 'config_service':
$this->displayConfigService($tpl);
break;
case 'config_license':
$this->displayConfigLicense($tpl);
break;
case 'config_general':
$this->displayConfigGeneral($tpl);
break;
case 'config_install':
$this->displayConfigInstall($tpl);
break;
case 'config_extensions':
$this->displayConfigExtensions($tpl);
break;
// Help and support
case 'help_support':
$this->displayHelpAndSupport($tpl);
break;
// Uploader
case 'uploader':
$this->displayUploader($tpl);
break;
default:
$this->displayListItems($tpl);
}
// Display footer
if (!JRequest::getVar("ajax") && JRequest::getVar('tmpl') != 'component' && JRequest::getVar('viewmenu', 1) != 0) {
$file = JPATH_COMPONENT_ADMINISTRATOR."/views/default/tmpl/menu_footer.php";
if (@file_exists($file))
require_once ($file);
}
}
function displayConfigGeneral($tpl = null)
{
JToolBarHelper::save("config_general_save");
JToolBarHelper::apply("config_general_apply");
// Initialize variables
$model = &$this->getModel('default');
$item = &$this->get('ComponentParams');
$params = new JRegistry($item->params);
$this->assignRef('params', $params);
parent::display($tpl);
}
function displayConfigInstall($tpl = null)
{
JToolBarHelper::save("save");
JToolBarHelper::apply("apply");
parent::display($tpl);
}
function displayConfigService($tpl = null)
{
JToolBarHelper::save("config_service","SAVE");
// Initialize variables
$model = $this->getModel('default');
$getConfigService = $model->getConfigService();
$this->assignRef('params', $getConfigService);
parent::display($tpl);
}
function displayConfigLicense($tpl = null)
{
JToolBarHelper::save("config_license");
// Initialize variables
$model = &$this->getModel('default');
$this->assignRef('params', $model->getComponentParams());
parent::display($tpl);
}
function displayConfigExtensions($tpl = null)
{
JToolBarHelper::save("config_extensions");
// Initialize variables
$model = $this->getModel('default');
$extension = $model->_getProduct();
$a = $model->getComponentParams();
$services = jaGetListServices();
$configId = $extension->serviceKey;
//print_r($services);
$this->assignRef('configId', $configId);
$this->assignRef('services', $services);
$this->assignRef('extension', $extension);
parent::display($tpl);
}
function displayHelpAndSupport($tpl = null)
{
parent::display($tpl);
}
/**
* Display List of items
*/
function displayListItems($tpl = null)
{
$services = jaGetListServices();
foreach ($services as $service) {
JToolBarHelper::custom('config_extensions_' . $service->id, 'default', 'default', $service->ws_name, true);
}
JToolBarHelper::custom('checkupdate', 'preview', 'preview', JText::_('CHECK_UPDATE'), true);
JToolBarHelper::custom('recovery', 'restore', 'restore', JText::_('ROLLBACK'), true);
// JToolBarHelper::preferences(JACOMPONENT);
$model = $this->getModel('default');
//$components = &$this->get("components");
$lists = $model->_getUsListExtensions();
$listExtensions = $model->getListExtensions();
$state = $this->get('State');
$pagination = $model->getPagination();
$boxType = JHtml::_('select.genericlist', $model->getListExtensionType(), 'extionsion_type', 'class="inputbox"', 'value', 'text', JRequest::getVar('extionsion_type'));
$comUri = $this->get("comUri");
//$this->assignRef('components', $components);
$this->assignRef('services', $services);
$this->assignRef('listExtensions', $listExtensions);
$this->assignRef('pagination', $pagination);
$this->assignRef('boxType', $boxType);
$this->assignRef('comUri', $comUri);
$this->assignRef('lists', $lists);
parent::display($tpl);
}
/**
* Display Check Upgrade layout
*/
function displayCheckUpdate($tpl = null)
{
// Toolbar
JToolBarHelper::cancel();
$model = $this->getModel('default');
die($model->getNewVersions());
}
/**
* Display Upgrade layout
*/
function displayUpgrade($tpl = null)
{
// Toolbar
JToolBarHelper::back();
$model = $this->getModel();
$components = $model->upgradeComponent();
$pagination = $this->get('Pagination');
$this->assignRef('pagination', $pagination);
$this->assignRef("components", $components);
parent::display($tpl);
}
function displayRecovery($tpl = null)
{
// Toolbar
$model = $this->getModel();
$obj = $model->_getProduct('default');
$model = $this->getModel();
$listRecoveryFiles = $this->get("ListRecoveryFiles");
if ($listRecoveryFiles) {
$this->assignRef("obj", $obj);
$this->assignRef("listRecoveryFiles", $listRecoveryFiles);
parent::display($tpl);
} else {
echo JText::_("BACKUP_FILES_NOT_FOUND");
}
exit();
}
function displayDoRecovery($tpl = null)
{
// Toolbar
$cIds = JRequest::getVar('cId', array(), '', 'array');
$cIds = $cIds[0];
$model = $this->getModel();
$versionRollback = $model->doRecoveryFile();
if ($versionRollback !== false) {
echo JText::sprintf("SUCCESSFULLY_ROLLBACKED_TO_VERSION_S_PLEASE_REFRESH_THIS_PAGE_TO_SEE_THE_VERSION_UPDATE", $versionRollback);
} else {
echo JText::_("BACKUP_FILE_NOT_FOUND");
}
exit();
}
function displayListBackupConflicted($tpl = null)
{
// Toolbar
$model = $this->getModel('default');
$product = $model->_getProduct();
if ($product === false) {
echo JText::_("EXTENSION_NOT_FOUND");
exit();
}
$listConflicted = $this->get("ListBackupConflicted");
if ($listConflicted) {
foreach ($listConflicted as $folder) {
$link = sprintf("?option=%s&view=default&task=compare_conflicted&cId[]=%s&folder=%s", JACOMPONENT, $product->extId, $folder['name']);
echo $folder['title'] . ' -
<a href="' . $link . '" title="' . JText::_("COMPARE_WITH_FILES_AT_THIS_POINT") . '">
' . JText::_("VIEW_YOUR_CONFLICTED_FILES") . '
</a>
' . (isset($folder['comment']) ? '[' . $folder['comment'] . ']' : '') . '
<br />';
}
} else {
echo JText::_("DO_NOT_HAVE_ANY_CONFLICTED_BACKUP_FOLDER");
}
exit();
}
function displayFilesConflicted($tpl = null)
{
// Toolbar
JToolBarHelper::back();
$model = $this->getModel('default');
$obj = $model->getBackupConflicted();
if ($obj !== false) {
$this->assignRef('obj', $obj);
parent::display($tpl);
}
}
function displayDiffFilesConflicted($tpl = null)
{
$model = $this->getModel('default');
$obj = $model->getDiffFilesConflicted();
if ($obj !== false) {
$this->assignRef('obj', $obj);
parent::display($tpl);
}
}
function displayUploader($tpl = null)
{
$paths = new stdClass();
$paths->first = '';
$state = $this->get('state');
$this->assignRef('paths', $paths);
$this->assignRef('state', $state);
$uploadResult = JRequest::getVar('uploadResult', '', 'post', 'none', JREQUEST_ALLOWRAW);
$this->assignRef('uploadResult', $uploadResult);
parent::display($tpl);
}
function displayDiffView($tpl = null)
{
// Toolbar
JToolBarHelper::apply("upgrade", "Upgrade");
JToolBarHelper::cancel();
$model = $this->getModel('default');
$obj = $model->getDiffView();
if ($obj !== false) {
$this->assignRef('obj', $obj);
parent::display($tpl);
} else {
//JError::raiseWarning(0, JText::_("FAILURED_TO_BUILD_DIFFERENCE_VIEW"));
$product = $model->_getProduct();
$message = JText::sprintf("YOUR_ACCOUNT_SEEM_DOES_NOT_HAVE_ENOUGH_PERMISSION_TO_TAKE_THIS_ACTION_PLEASE_CONTACT_FOR_MORE_INFORMATION_OR_USE_ANOTHER_ACCOUNT", $product->ws_name);
$this->displayLoginBox($product, $message);
}
}
function displayDiffFiles($tpl = null)
{
$model = $this->getModel('default');
$obj = $model->getDiffFiles();
if ($obj !== false) {
$this->assignRef('obj', $obj);
parent::display($tpl);
} else {
//JError::raiseWarning(0, JText::_("FAILURED_TO_BUILD_DIFFERENCE_VIEW"));
$product = $model->_getProduct();
$message = JText::sprintf("YOUR_ACCOUNT_SEEM_DOES_NOT_HAVE_ENOUGH_PERMISSION_TO_TAKE_THIS_ACTION_PLEASE_CONTACT_FOR_MORE_INFORMATION_OR_USE_ANOTHER_ACCOUNT", $product->ws_name);
$this->displayLoginBox($product, $message);
}
}
function displayLoginBox($obj, $message, $messageType = "message")
{
// Initialise variables.
$app = JFactory::getApplication('administrator');
$backUrl = JURI::current() . "?" . $_SERVER['QUERY_STRING'];
$backUrl = urlencode($backUrl);
$url = "index.php?tmpl=component&option=com_jaextmanager&view=services&viewmenu=0&task=config&cid[]=" . $obj->ws_id . "&number=1&backUrl=" . $backUrl;
$app->redirect($url, $message, $messageType);
}
function displaySourceFiles($tpl = null)
{
parent::display($tpl);
}
function displayViewSource($tpl = null)
{
$model = $this->getModel('default');
$source = $model->getSourceCode();
if ($source !== false) {
$source = htmlentities($source);
$this->assignRef('source', $source);
parent::display($tpl);
} else {
JError::raiseWarning(100, JText::_("CAN_NOT_OPEN_THIS_FILE"));
}
}
function displayViewRemoteSource($tpl = null)
{
$model = $this->getModel('default');
$source = $model->getRemoteSourceCode();
if ($source !== false) {
$source = htmlentities($source);
$this->assignRef('source', $source);
parent::display($tpl);
} else {
//JError::raiseWarning(100, JText::_("CAN_NOT_OPEN_THIS_FILE"));
$product = $model->_getProduct();
$message = JText::sprintf("YOUR_ACCOUNT_SEEM_DOES_NOT_HAVE_ENOUGH_PERMISSION_TO_TAKE_THIS_ACTION_PLEASE_CONTACT_FOR_MORE_INFORMATION_OR_USE_ANOTHER_ACCOUNT", $product->ws_name);
$this->displayLoginBox($product, $message);
}
}
function nicetime($date)
{
if (empty($date)) {
return "No date provided";
}
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths = array("60", "60", "24", "7", "4.35", "12", "10");
$now = time();
$unix_date = strtotime($date);
// check validity of date
if (empty($unix_date)) {
return false; //Bad date
}
// is it future date or past date
if ($now > $unix_date) {
$difference = $now - $unix_date;
$tense = "ago";
} else {
$difference = $unix_date - $now;
$tense = "from now";
}
for ($j = 0; $difference >= $lengths[$j] && $j < count($lengths) - 1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
if ($difference != 1) {
$periods[$j] .= "s";
}
return "$difference $periods[$j] {$tense}";
}
}