%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/old/modules/mod_pwebbox/form/fields/ |
Upload File : |
<?php /** * @package pwebbox * @version 2.0.0 * * @copyright Copyright (C) 2015 Perfect Web. All rights reserved. http://www.perfect-web.co * @license GNU General Public Licence http://www.gnu.org/licenses/gpl-3.0.html */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.form.formfield'); jimport('joomla.filesystem.file'); class JFormFieldPwebContent extends JFormField { protected $type = 'PwebContent'; /** * Method to get the field input markup. * * @return string The field input markup. * @since 1.6 */ protected function getInput() { // Add lang variables to js script. JText::script('MOD_PWEBBOX_BUTTON_LINK_DOWNLOAD_GROUP_LABEL'); JText::script('MOD_PWEBBOX_BUTTON_LINK_UPDATE_LABEL'); JText::script('MOD_PWEBBOX_NEW_LABEL'); JText::script('MOD_PWEBBOX_NEW_LETTER_LABEL'); JText::script('MOD_PWEBBOX_POPULAR_LABEL'); JText::script('MOD_PWEBBOX_POPULAR_LETTER_LABEL'); JText::script('MOD_PWEBBOX_COMMING_SOON_LABEL'); JText::script('MOD_PWEBBOX_PLUGIN_NOT_ENABLED'); $doc = JFactory::getDocument(); $db = JFactory::getDbo(); // Collect info from mod_pwebbox_response.json file on local site. $info_file_client_path = JPATH_ROOT . '/cache/mod_everything_in_everyway/mod_pwebbox_response.json'; $plugins_all = array(); if (JFile::exists($info_file_client_path)) { $info_file_client = file_get_contents($info_file_client_path); $info_client = json_decode($info_file_client); // Use of array('plugin_name') to force order from everyway_info.json file. foreach ($info_client->response->plugins as $info_client_plugin) { $plugins_all[$info_client_plugin->name] = $info_client_plugin; $plugins_all[$info_client_plugin->name]->installed = false; $plugins_all[$info_client_plugin->name]->active = false; $plugins_all[$info_client_plugin->name]->element = null; $plugins_all[$info_client_plugin->name]->manifest_cache = null; $plugins_all[$info_client_plugin->name]->enabled = false; } } // Collect info about installed plugins. $query = $db->getQuery(true); $conditions = array( $db->quoteName('type') . ' = ' . $db->quote('plugin'), $db->quoteName('folder') . ' = ' . $db->quote('everything_in_everyway') ); $query->select(array('name', 'element', 'enabled', 'manifest_cache')) ->from('#__extensions') ->where($conditions); $db->setQuery($query); try { $plugins_installed = $db->loadObjectList(); } catch (Exception $e) { $plugins_installed = null; } $active_plugin = $this->form->getValue('plugin', 'params'); $plugin_for_ajax_call = ''; // Iterate over all installed plugins to gather its info. foreach ($plugins_installed as $plugin_installed) { // If plugin wasn't in everyway_info.json file on client site. if (!array_key_exists($plugin_installed->name, $plugins_all)) { $plugins_all[$plugin_installed->name] = new stdClass(); $plugins_all[$plugin_installed->name]->name = $plugin_installed->name; $plugins_all[$plugin_installed->name]->image = null; $plugins_all[$plugin_installed->name]->active = false; $plugins_all[$plugin_installed->name]->version = null; $plugins_all[$plugin_installed->name]->new = false; $plugins_all[$plugin_installed->name]->popular = false; } $plugins_all[$plugin_installed->name]->installed = true; // Set plugin as active if it is chosen in module. if ($active_plugin == $plugin_installed->element) { $plugins_all[$plugin_installed->name]->active = true; } $plugins_all[$plugin_installed->name]->element = $plugin_installed->element; $plugins_all[$plugin_installed->name]->manifest_cache = json_decode($plugin_installed->manifest_cache); $plugins_all[$plugin_installed->name]->enabled = $plugin_installed->enabled; // Get enabled plugin for ajax call. if (!$plugin_for_ajax_call && $plugin_installed->enabled) { $plugin_for_ajax_call = $plugin_installed->element; } } $media_path = JPATH_ROOT . '/media/mod_pwebbox/'; $media_url = JURI::root(true) . '/media/mod_pwebbox/'; $html = ''; foreach ($plugins_all as $plugin) { // For J!2.5 if ($plugin->name == 'instance_config') { continue; } $additional_info = ''; $disabled = ''; $mark = ''; $active_class = ''; if ($plugin->active) { $active_class = 'active'; } // Get plugin image. // First from pweb server. $image_src = $plugin->image; // If file exists on client server get it instead. $image_name = strtolower(str_replace(' ', '_', trim($plugin->name))); // If plugin installed get img for its media folder. if ($plugin->installed) { $plg_media_path = JPATH_ROOT . '/media/plg_everything_in_everyway_' . $plugin->element . '/'; $plg_media_url = JURI::root(true) . '/media/plg_everything_in_everyway_' . $plugin->element . '/'; $image_exist = false; if (JFile::exists($plg_media_path . 'images/' . $image_name . '.jpg')) { $image_src = $plg_media_url . 'images/' . $image_name . '.jpg'; $image_exist = true; } else if (JFile::exists($plg_media_path . 'images/' . $image_name . '.png')) { $image_src = $plg_media_url . 'images/' . $image_name . '.png'; $image_exist = true; } // If image exist in plugin media folder, then remove plugin image from module media folder. if ($image_exist) { if (JFile::exists($media_path . 'images/admin/content_btns/' . $image_name . '.png')) { JFile::delete($media_path . 'images/admin/content_btns/' . $image_name . '.png'); } else if (JFile::exists($media_path . 'images/admin/content_btns/' . $image_name . '.jpg')) { JFile::delete($media_path . 'images/admin/content_btns/' . $image_name . '.jpg'); } } } else { if (JFile::exists($media_path . 'images/admin/content_btns/' . $image_name . '.jpg')) { $image_src = $media_url . 'images/admin/content_btns/' . $image_name . '.jpg'; } else if (JFile::exists($media_path . 'images/admin/content_btns/' . $image_name . '.png')) { $image_src = $media_url . 'images/admin/content_btns/' . $image_name . '.png'; } } $image = '<img src="' . $image_src . '" alt="' . $plugin->name . '" title="' . $plugin->name . '">'; $info_class = ''; if ($plugin->installed) { // If plugin is installed check if it is newest version. if (version_compare($plugin->manifest_cache->version, $plugin->version) == -1) { $additional_info = '<a href="index.php?option=com_installer&view=update" class="btn btn-warning pweb-btn-update pweb-cant-override-update" target="_blank">' . JText::_('MOD_PWEBBOX_BUTTON_LINK_UPDATE_LABEL') . '</a>'; } elseif (!$plugin->enabled) { $info_class = 'not-selectable'; $disabled = 'disabled'; $additional_info = '<a href="index.php?option=com_plugins&view=plugins&filter_folder=everything_in_everyway" class="btn btn-danger" target="_blank">' . JText::_('MOD_PWEBBOX_BUTTON_LINK_ENABLE_LABEL') . '</a>'; } } else { $info_class = 'not-selectable'; $disabled = 'disabled'; // If plugin is not installed then add button to buy or download (for free plugins). // Link to buy plugin. if ($plugin->price) { $additional_info = '<a href="' . $plugin->url . '" class="btn btn-warning pweb-cant-override-update" target="_blank">' . $plugin->price . '</a>'; } // Button to download plugin. else { if ($plugin->url) { $additional_info = '<button type="button" data-url="' . $plugin->url . '" data-token="' . JSession::getFormToken() . '" class="btn btn-success pweb-btn-install-content pweb-cant-override-update" >' . JText::_('MOD_PWEBBOX_BUTTON_LINK_DOWNLOAD_GROUP_LABEL') . '</button>'; } else { $additional_info = JText::_('MOD_PWEBBOX_COMMING_SOON_LABEL'); } } // Set mark for not installed plugins. if ($plugin->new) { $mark = '<div class="mark-wrapper"><span class="mark mark-new">' . JText::_('MOD_PWEBBOX_NEW_LABEL') . ' <span>' . JText::_('MOD_PWEBBOX_NEW_LETTER_LABEL') . '</span></span></div>'; } elseif ($plugin->popular) { $mark = '<div class="mark-wrapper"><span class="mark mark-popular">' . JText::_('MOD_PWEBBOX_POPULAR_LABEL') . ' <span>' . JText::_('MOD_PWEBBOX_POPULAR_LETTER_LABEL') . '</span></span></div>'; } } $plg_version = ''; // Take plg version first from db (for installed plugins), second from json cache. if (empty($plugin->manifest_cache->version) && !empty($plugin->version)) { $plg_version = $plugin->version; } else { $plg_version = $plugin->manifest_cache->version; } $default_config = ''; if ($plugin->installed) { $default_config_file = JPATH_ROOT . '/media/plg_everything_in_everyway_' . $plugin->element . '/default_config.json'; if (JFile::exists($default_config_file)) { $default_config_file_data = json_decode(file_get_contents($default_config_file)); $default_config = 'data-default-config=\'' . json_encode($default_config_file_data) . '\''; } } $html .= '<div class="pweb-btn-content-wrapper ' . $active_class . ' ' . $info_class . '">' . $mark . '<div class="pweb-btn-content-wrapper-in">' . '<button id="pweb_btn_content_' . $plugin->element . '" type="button" class="pweb-btn-large pweb-button-content" data-name="' . $plugin->name . '" data-version="' . $plg_version . '" data-content="' . $plugin->element . '" ' . $default_config . ' ' . $disabled . '>' . $image . '</button>' . '</div>' . '<div class="text-center">' . $additional_info . '</div>' . '</div>'; } //$plugins_info = json_encode($plugins_all); // Communicate with pweb serwer only if mod_pwebbox_response.json doesn't exists or its request_date is older than one day. if (empty($info_client->request_date) || strtotime($info_client->request_date) <= strtotime('-1 day')) { $request_date = empty($info_client->request_date) ? null : $info_client->request_date; $doc->addScriptDeclaration(' jQuery(document).ready(function ($) { if (typeof pwebServerCommunication !== "undefined" && $.isFunction(pwebServerCommunication)) { pwebServerCommunication(\'' . $request_date . '\', \'' . JVERSION . '\', \'' . $plugin_for_ajax_call . '\'); } }); '); } $html .= '<input id="pwebFormToken" type="hidden" value="' . JSession::getFormToken() . '">'; // Add "Buy all plugins!" $buy_all_btn_text = JText::_('MOD_PWEBBOX_BUTTON_LINK_PRICE_ALL_LABEL'); $buy_all_url = ''; if (isset($info_client->response->bundle)) { $buy_all_btn_text = isset($info_client->response->bundle->price) ? $info_client->response->bundle->price : JText::_('MOD_PWEBBOX_BUTTON_LINK_PRICE_ALL_LABEL'); $buy_all_url = isset($info_client->response->bundle->url) ? $info_client->response->bundle->url : ''; } $html .= '<div class="pweb-container row-fluid pweb-container-buy-all">' . '<div class="pweb-container span12">' . '<a id="buy_all_plugins" href="' . $buy_all_url . '" class="btn btn-warning btn-block pweb-btn-medium" target="_blank">' . $buy_all_btn_text . '</a>' . '</div>' .'</div>'; // For J!3.2.x and J!3.3.x version info. if (version_compare(JVERSION, '3.2.0') >= 0 && version_compare(JVERSION, '3.4.0') == -1) { $html .= '<div id="com_ajax_update_error" class="pweb-hidden" style="display: none">' . JText::sprintf('MOD_PWEBBOX_PLUGIN_NOT_ENABLED_UPDATE_COM_AJAX', '<a href="https://www.perfect-web.co/downloads/joomla-3-ui-libraries-for-joomla-25/latest/com_ajax-zip?format=raw" target="_blank">', '</a>') . '</div>'; } return $html; } }