/** * Method to get all extensions that are using redCORE * * @return array Array of extensions */ public static function getExtensionsRedcore() { if (empty($loadedRedcoreExtensions)) { /** @var RedcoreModelConfig $model */ $model = RModelAdmin::getAdminInstance('Config', array(), 'com_redcore'); self::$loadedRedcoreExtensions = RComponentHelper::getRedcoreComponents(); foreach (self::$loadedRedcoreExtensions as $componentKey => $componentName) { self::$loadedRedcoreExtensions[$componentKey] = $model->getComponent($componentName); } } return self::$loadedRedcoreExtensions; }
/** * Ajax call to get logs tab content. * * @return void */ public function ajaxlogs() { $app = JFactory::getApplication(); $input = $app->input; $paymentId = $input->getInt('id'); if ($paymentId) { /** @var RedcoreModelPayment_Logs $logsModel */ $logsModel = RModelAdmin::getAdminInstance('Payment_Logs', array(), 'com_redcore'); $state = $logsModel->getState(); $logsModel->setState('filter.payment_id', $paymentId); $app->setUserState('log.payment_id', $paymentId); $formName = 'logsForm'; $pagination = $logsModel->getPagination(); $pagination->set('formName', $formName); echo RLayoutHelper::render('payment.logs', array('state' => $state, 'items' => $logsModel->getItems(), 'pagination' => $pagination, 'filterForm' => $logsModel->getForm(), 'activeFilters' => $logsModel->getActiveFilters(), 'formName' => $formName, 'showToolbar' => true, 'action' => RRoute::_('index.php?option=com_redcore&view=payment&model=payment_logs'), 'return' => base64_encode('index.php?option=com_redcore&view=payment&layout=edit&id=' . $paymentId . '&tab=logs&from_payment=1'))); } $app->close(); }
/** * Method to save the form data. * * @param array $data The form data. * * @return boolean True on success, False on error. * * @throws RuntimeException * * @since 1.2 */ public function save($data) { try { if (!$this->saveXml($data)) { return false; } } catch (Exception $e) { $this->setError(JText::sprintf('COM_REDCORE_WEBSERVICE_ERROR_SAVING_XML', $e->getMessage())); return false; } /** @var RedcoreModelWebservices $model */ $model = RModelAdmin::getAdminInstance('Webservices', array(), 'com_redcore'); if ($id = $model->installWebservice($data['main']['client'], $data['main']['name'], $data['main']['version'], $data['main']['path'], $data['main']['id'])) { $this->setState($this->getName() . '.id', $id); $this->setState($this->getName() . '.new', empty($data['main']['id'])); // Update created, modified flags return parent::save(array('id' => $id)); } return false; }
/** * Display method * * @param string $tpl The template name * * @return void */ public function display($tpl = null) { $model = $this->getModel(); $app = JFactory::getApplication(); $this->contentElementName = RedcoreHelpersTranslation::getCurrentContentElement(); $this->componentName = $app->input->get->get('component', $model->getState('filter.component', '')); $this->activeFilters = $model->getActiveFilters(); $this->state = $model->getState(); $this->filterForm = $model->getForm(); $this->pagination = $model->getPagination(); if (!empty($this->contentElementName)) { $this->translationTable = RedcoreHelpersTranslation::getTranslationTable(); $this->contentElement = RTranslationHelper::getContentElement($this->translationTable->option, $this->translationTable->xml); $this->items = $model->getItems(); $this->filterForm->removeField('component', 'filter'); } else { /** @var RedcoreModelConfig $modelConfig */ $modelConfig = RModelAdmin::getAdminInstance('Config', array('ignore_request' => true), 'com_redcore'); if (!empty($this->componentName)) { $this->component = $modelConfig->getComponent($this->componentName); } $this->contentElements = $modelConfig->loadContentElements($this->componentName); $this->missingContentElements = $modelConfig->loadMissingContentElements($this->componentName, $this->contentElements); $this->return = base64_encode('index.php?option=com_redcore&view=translations&contentelement=&component=' . $this->componentName); $layout = 'manage'; $this->setLayout($layout); $app->input->set('layout', $layout); $this->filterForm->removeField('language', 'filter'); $this->filterForm->removeField('search_translations', 'filter'); $this->filterForm->removeField('translations_limit', 'list'); $this->filterForm->removeField('contentelement', 'filter'); } // Check if option is enabled if (RBootstrap::getConfig('enable_translations', 0) == 0) { JFactory::getApplication()->enqueueMessage(JText::sprintf('COM_REDCORE_CONFIG_TRANSLATIONS_PLUGIN_LABEL_WARNING', '<a href="index.php?option=com_plugins&view=plugins&filter_search=redcore">' . JText::_('COM_REDCORE_CONFIGURE') . '</a>'), 'error'); } parent::display($tpl); }
/** * Check Component Requirements against known application versions and check for installed libraries * * @param string $option List of requirements to check * @param string $message Custom message for display * * @return string Component info Layout */ public static function displayComponentInfo($option, $message = '') { $option = strtolower($option); if (isset(self::$redcoreExtensionManifests[$option])) { unset(self::$redcoreExtensionManifests[$option]); } JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_redcore/models', 'RedcoreModel'); /** @var RedcoreModelConfig $modelConfig */ $modelConfig = RModelAdmin::getAdminInstance('Config', array('ignore_request' => true), 'com_redcore'); $component = $modelConfig->getComponent($option); $loadInstallModules = array('%' . $component->xml->xmlComponentName . '%'); $loadInstallPlugins = array(); $loadInstallPlugins[(string) $component->xml->xmlComponentName] = '%' . $component->xml->xmlComponentName . '%'; if ($component->xml->modules) { foreach ($component->xml->modules->module as $module) { $loadInstallModules[] = (string) $module['name']; } } if ($component->xml->plugins) { foreach ($component->xml->plugins->plugin as $plugin) { $loadInstallPlugins[(string) $plugin['group']] = (string) $plugin['name']; } } $modules = $modelConfig->getInstalledExtensions('module', $loadInstallModules); $plugins = $modelConfig->getInstalledExtensions('plugin', $loadInstallPlugins, $component->xml->xmlComponentName); $requirements = self::checkComponentRequirements($component->xml->requirements); return RLayoutHelper::render('component.extensioninfo', array('xml' => $component->xml, 'requirements' => $requirements, 'modules' => $modules, 'plugins' => $plugins, 'message' => $message)); }
/** * Generate Payment Log depending on the status * * @param array $paymentLog Data for payment log storage * @param bool $updatePaymentStatus Update Payment Status * * @return bool */ public static function saveNewPaymentLog($paymentLog, $updatePaymentStatus = true) { if (empty($paymentLog['payment_id'])) { return false; } // Forcing default set of statuses $paymentLog['status'] = RApiPaymentStatus::getStatus($paymentLog['status']); // Currency should not be numeric if (!empty($paymentLog['currency']) && is_numeric($paymentLog['currency'])) { $paymentLog['currency'] = RHelperCurrency::getIsoCode($paymentLog['currency']); } /** @var RedcoreModelPayment_Log $logModel */ $logModel = RModelAdmin::getAdminInstance('Payment_Log', array(), 'com_redcore'); if ($logModel->save($paymentLog)) { if ($updatePaymentStatus) { self::updatePaymentStatus($paymentLog['payment_id']); } } return true; }
<?php /** * @package Redcore.Admin * @subpackage Templates * * @copyright Copyright (C) 2008 - 2015 redCOMPONENT.com. All rights reserved. * @license GNU General Public License version 2 or later, see LICENSE. */ defined('_JEXEC') or die; JHtml::_('behavior.keepalive'); JHtml::_('rdropdown.init'); JHtml::_('rbootstrap.tooltip'); JHtml::_('rjquery.chosen', 'select'); // Check for request forgeries. JPluginHelper::importPlugin('redpayment'); $app = JFactory::getApplication(); $input = $app->input; $paymentName = $input->getString('payment_name'); $paymentConfigurationId = $input->getInt('payment_id', 0); $randomId = rand(1, 10000); $data = array('payment_name' => $paymentName, 'extension_name' => 'com_redcore', 'owner_name' => '', 'order_name' => 'Order ' . $randomId, 'order_id' => 'test' . $randomId, 'client_email' => '*****@*****.**', 'amount_original' => '10', 'amount_order_tax' => '2', 'order_tax_details' => '20% tax', 'amount_shipping' => '1', 'shipping_details' => '1 shipping', 'customer_note' => 'Testing', 'currency' => 'USD', 'sandbox' => true, 'url_cancel' => JUri::root() . 'administrator/index.php?option=com_redcore&view=payments', 'url_accept' => JUri::root() . 'administrator/index.php?option=com_redcore&view=payments'); if (!empty($paymentConfigurationId)) { $model = RModelAdmin::getAdminInstance('Payment_Configuration', array(), 'com_redcore'); if ($item = $model->getItem($paymentConfigurationId)) { $data['extension_name'] = $item->extension_name; $data['owner_name'] = $item->owner_name; } } echo RApiPaymentHelper::displayPayment($paymentName, $data['extension_name'], $data['owner_name'], $data);