示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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();
 }
示例#3
0
 /**
  * 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;
 }
示例#4
0
 /**
  * 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);
 }
示例#5
0
 /**
  * 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));
 }
示例#6
0
 /**
  * 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;
 }
示例#7
0
<?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);