/** * Sets the model's state * * @return array() */ function _setModelState() { $state = parent::_setModelState(); $app = JFactory::getApplication(); $model = $this->getModel($this->get('suffix')); $ns = $this->getNamespace(); $state['order'] = $app->getUserStateFromRequest($ns . '.filter_order', 'filter_order', 'tbl.created_datetime', 'cmd'); $state['direction'] = $app->getUserStateFromRequest($ns . '.filter_direction', 'filter_direction', 'DESC', 'word'); $state['filter_orderid'] = $app->getUserStateFromRequest($ns . 'filter_orderid', 'filter_orderid', '', ''); $state['filter_type'] = $app->getUserStateFromRequest($ns . 'filter_type', 'filter_type', '', ''); $state['filter_transactionid'] = $app->getUserStateFromRequest($ns . 'filter_transactionid', 'filter_transactionid', '', ''); $state['filter_user'] = $app->getUserStateFromRequest($ns . 'filter_user', 'filter_user', '', ''); $state['filter_userid'] = $app->getUserStateFromRequest($ns . 'filter_userid', 'filter_userid', '', ''); $state['filter_id_from'] = $app->getUserStateFromRequest($ns . 'id_from', 'filter_id_from', '', ''); $state['filter_id_to'] = $app->getUserStateFromRequest($ns . 'id_to', 'filter_id_to', '', ''); $state['filter_date_from'] = $app->getUserStateFromRequest($ns . 'date_from', 'filter_date_from', '', ''); $state['filter_date_from_expires'] = $app->getUserStateFromRequest($ns . 'date_from_expires', 'filter_date_from_expires', '', ''); $state['filter_date_to_expires'] = $app->getUserStateFromRequest($ns . 'date_to_expires', 'filter_date_to_expires', '', ''); $state['filter_date_to'] = $app->getUserStateFromRequest($ns . 'date_to', 'filter_date_to', '', ''); $state['filter_datetype'] = 'created'; $state['filter_total_from'] = $app->getUserStateFromRequest($ns . 'filter_total_from', 'filter_total_from', '', ''); $state['filter_total_to'] = $app->getUserStateFromRequest($ns . 'filter_total_to', 'filter_total_to', '', ''); $state['filter_enabled'] = $app->getUserStateFromRequest($ns . 'filter_enabled', 'filter_enabled', '', ''); $state['filter_lifetime'] = $app->getUserStateFromRequest($ns . 'filter_lifetime', 'filter_lifetime', '', ''); if (Citruscart::getInstance()->get('display_subnum', 0)) { $state['filter_subnum'] = $app->getUserStateFromRequest($ns . 'filter_subnum', 'filter_subnum', '', ''); } foreach ($state as $key => $value) { $model->setState($key, $value); } return $state; }
/** * Checks row for data integrity. * Assumes working dates have been converted to local time for display, * so will always convert working dates to GMT * * @return unknown_type */ function check() { if (empty($this->product_id)) { $this->setError(JText::_('COM_CITRUSCART_PRODUCT_ASSOCIATION_REQUIRED')); return false; } $offset = JFactory::getConfig()->getValue('config.offset'); if (isset($this->publishing_date)) { $this->publishing_date = date('Y-m-d H:i:s', strtotime(CitruscartHelperBase::getOffsetDate($this->publishing_date, -$offset))); } $nullDate = $this->_db->getNullDate(); Citruscart::load('CitruscartHelperBase', 'helpers._base'); if (empty($this->created_date) || $this->created_date == $nullDate) { $date = JFactory::getDate(); $this->created_date = $date->toSql(); } $date = JFactory::getDate(); $this->modified_date = $date->toSql(); $act = strtotime(Date('Y-m-d', strtotime($this->publishing_date))); $db = $this->_db; if (empty($this->product_issue_id)) { $q = 'SELECT `publishing_date` FROM `#__citruscart_productissues` WHERE `product_id`=' . $this->product_id . ' ORDER BY `publishing_date` DESC LIMIT 1'; $db->setQuery($q); $next = $db->loadResult(); if ($next === null) { return true; } $next = strtotime($next); if ($act <= $next) { $this->setError(JText::_('COM_CITRUSCART_PUBLISHING_DATE_IS_NOT_PRESERVING_ISSUE_ORDER') . ' - ' . $this->publishing_date); return false; } } else { $q = 'SELECT `publishing_date` FROM `#__citruscart_productissues` WHERE `product_issue_id`=' . $this->product_issue_id; $db->setQuery($q); $original = $db->loadResult(); if ($act == strtotime(Date('Y-m-d', strtotime($original)))) { return true; } $q = 'SELECT `publishing_date` FROM `#__citruscart_productissues` WHERE `product_id`=' . $this->product_id . ' AND `publishing_date` < \'' . $original . '\' ORDER BY `publishing_date` DESC LIMIT 1'; $db->setQuery($q); $prev = $db->loadResult(); $q = 'SELECT `publishing_date` FROM `#__citruscart_productissues` WHERE `product_id`=' . $this->product_id . ' AND `publishing_date` > \'' . $original . '\' ORDER BY `publishing_date` ASC LIMIT 1'; $db->setQuery($q); $next = $db->loadResult(); if ($prev === null) { $prev = 0; } else { $prev = strtotime($prev); } if ($next) { $next = strtotime($next); } if ($prev >= $act || $next && $next <= $act) { $this->setError(JText::_('COM_CITRUSCART_PUBLISHING_DATE_IS_NOT_PRESERVING_ISSUE_ORDER') . ' - ' . $this->publishing_date); return false; } } return true; }
/** * * @return unknown_type */ function getItems() { // Check the registry to see if our Citruscart class has been overridden if (!class_exists('Citruscart')) { JLoader::register("Citruscart", JPATH_ADMINISTRATOR . "/components/com_citruscart/defines.php"); } // load the config class Citruscart::load('Citruscart', 'defines'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); // get the model Citruscart::load('CitruscartModelCategories', 'models.categories'); $model = new CitruscartModelCategories(array()); // $model = JModelLegacy::getInstance( 'Categories', 'CitruscartModel' ); doesnt work sometimes without no apparent reason // TODO Make this depend on the current filter_category? // setting the model's state tells it what items to return $model->setState('filter_enabled', '1'); $model->setState('order', 'tbl.lft'); // set the states based on the parameters // using the set filters, get a list $items = $model->getList(); if (!empty($items)) { foreach ($items as $item) { Citruscart::load('CitruscartHelperRoute', 'helpers.route'); $item->itemid = CitruscartHelperRoute::category($item->category_id, true); if (empty($item->itemid)) { $item->itemid = $this->params->get('itemid'); } } } return $items; }
/** * downloads a file * * @return void */ function downloadFile() { $app = JFactory::getApplication(); $user = JFactory::getUser(); $productfile_id = $app->input->getInt('id', 0); //$productfile_id = intval( JRequest::getvar( 'id', '', 'request', 'int' ) ); $product_id = $app->input->getInt('product_id', 0); $link = 'index.php?option=com_citruscart&view=products&task=edit&id=' . $product_id; Citruscart::load('CitruscartHelperBase', 'helpers._base'); $helper = CitruscartHelperBase::getInstance('ProductDownload', 'CitruscartHelper'); JTable::addIncludePath(JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_citruscart' . DS . 'tables'); $productfile = JTable::getInstance('ProductFiles', 'CitruscartTable'); $productfile->load($productfile_id); if (empty($productfile->productfile_id)) { $this->messagetype = 'notice'; $this->message = JText::_('COM_CITRUSCART_INVALID FILE'); $this->setRedirect($link, $this->message, $this->messagetype); return false; } // log and download Citruscart::load('CitruscartFile', 'library.file'); // geting the ProductDownloadId to updated for which productdownload_max is greater then 0 $productToDownload = $helper->getProductDownloadInfo($productfile->productfile_id, $user->id); if ($downloadFile = CitruscartFile::download($productfile)) { $link = JRoute::_($link, false); $this->setRedirect($link); } }
/** * * @return unknown_type */ function filterZones() { $app = JFactory::getApplication(); JLoader::import('com_citruscart.library.json', JPATH_ADMINISTRATOR . '/components'); Citruscart::load('CitruscartSelect', 'library.select'); $idtag = 'zone_id'; $countryid = $app->input->getInt('countryid', 0); $idprefix = $app->input->getInt('idprefix', 0); /* $countryid = JRequest::getVar( 'countryid', '', 'request', 'int' ); $idprefix = JRequest::getVar( 'idprefix', '', 'request'); */ if (count($idprefix) > 0) { $idtag = $idprefix . $idtag; } $url = "index.php?option=com_citruscart&format=raw&controller=zones&task=addZone&geozoneid="; $attribs = array('class' => 'inputbox', 'size' => '1'); $hookgeozone = $app->input->get('hookgeozone', TRUE); //$hookgeozone = JRequest::getVar( 'hookgeozone', TRUE, 'request', 'boolean' ); if ($hookgeozone) { $attribs['onchange'] = 'citruscartDoTask( \'' . $url . '\'+document.getElementById(\'geozone_id\').value+\'&zoneid=\'+this.options[this.selectedIndex].value, \'current_zones_wrapper\', \'\');'; } $html = CitruscartSelect::zone('', $idtag, $countryid, $attribs, $idtag, true); // set response array $response = array(); $response['msg'] = $html; // encode and echo (need to echo to send back to browser) echo json_encode($response); return; }
/** * Method to calculate statistics about manufacturers in an order * * @param $items Array of order items * * @return Array with list of manufacturers and their stats */ function calculateStatsOrder($items) { $db = JFactory::getDbo(); JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); Citruscart::load('CitruscartQuery', 'library.query'); $q = new CitruscartQuery(); $q->select('manufacturer_id'); $q->from('`#__citruscart_products`'); $result = array(); foreach ($items as $item) { $q->where('product_id = ' . (int) $item->product_id); $db->setQuery($q); $res = $db->loadObject(); if ($res == null) { $man_id = 0; } else { $man_id = $res->manufacturer_id; } if (!isset($result[$man_id])) { $model = JModelLegacy::getInstance('Manufacturers', 'CitruscartModel'); $model->setId($man_id); if (!($man_item = $model->getItem())) { $man_item = new stdClass(); } $result[$man_id] = $man_item; $result[$man_id]->subtotal = 0; $result[$man_id]->total_tax = 0; } $result[$man_id]->subtotal += $item->orderitem_final_price; $result[$man_id]->total_tax += $item->orderitem_tax; } return $result; }
/** * * @return unknown_type */ function getItems() { // Check the registry to see if our Citruscart class has been overridden if (!class_exists('Citruscart')) { JLoader::register("Citruscart", JPATH_ADMINISTRATOR . "/components/com_citruscart/defines.php"); } // load the config class Citruscart::load('Citruscart', 'defines'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); // get the model $model = JModelLegacy::getInstance('Manufacturers', 'CitruscartModel'); // TODO Make this depend on the current filter_category? // setting the model's state tells it what items to return $model->setState('filter_enabled', '1'); $model->setState('order', 'tbl.manufacturer_name'); // set the states based on the parameters // using the set filters, get a list $items = $model->getList(); if (!empty($items)) { foreach ($items as $item) { // this gives error $item->itemid = Citruscart::getClass("CitruscartHelperRoute", 'helpers.route')->manufacturer($item->manufacturer_id, false); if (empty($item->itemid)) { $item->itemid = $this->params->get('itemid'); } } } return $items; }
/** * Override parent::_getData() * * @return unknown_type */ function _getData() { $app = JFactory::getApplication(); Citruscart::load('CitruscartQuery', 'library.query'); // just in case $db = JFactory::getDbo(); $state = $this->_getState(); $model = $this->_getModel(); // filter only complete orders ( 3 - Shipped, 5 - Complete, 17 - Payment Received ) $order_states = array('3', '5', '17'); $model->setState('filter_orderstates', $order_states); $model->setState('order', '`price_total`'); $model->setState('direction', 'DESC'); $query = $model->getQuery(true); $query->group('p.manufacturer_id'); $field[] = " SUM(tbl.orderitem_final_price) AS `price_total` "; $field[] = " SUM(tbl.orderitem_quantity) AS `count_items` "; $query->select($field); $model->setQuery($query); $list = $model->getList(); if (!count($list)) { return $list; } return $list; }
public function renderSubmenu() { require_once JPATH_ADMINISTRATOR . '/components/com_citruscart/helpers/toolbar.php'; $toolbar = new CitruscartToolBar(); Citruscart::load('CitruscartToolbar', 'helpers.toolbar.php'); $toolbar->renderLinkbar(); }
/** * Processes a new order * * @param $order_id * @return unknown_type */ public function processOrder($order_id) { // get the order $model = JModelLegacy::getInstance('Orders', 'CitruscartModel'); $model->setId($order_id); $order = $model->getItem(); $this->_orderFromModel = $order; $orderTable = $model->getTable(); $orderTable->load($order_id); $this->_order = $orderTable; $this->_date = JFactory::getDate(); if ($order->user_id < Citruscart::getGuestIdStart()) { $this->_user = $order->user_id; } else { $this->_user = JFactory::getUser($order->user_id); } // find the products in the order that are integrated foreach ($order->orderitems as $orderitem) { $model = JModelLegacy::getInstance('Products', 'CitruscartModel'); $product = $model->getTable(); $product->load($orderitem->product_id); $this->_product = $product; $this->_orderitem = $orderitem; if (!empty($product->product_sql)) { $this->processSQL($product->product_sql); } } }
/** * Adds items to the pathway if they aren't already present * * @param array $items A full pathway to the category, an array of pathway objects * @param int $item_id A default Itemid to use if none is found */ function insertCategories($items, $item_id = '') { $app = JFactory::getApplication(); $pathway = $app->getPathway(); $pathway_values = $pathway->getPathway(); // find the array_key of the first item in items that is in pathway $found = false; $found_key = 0; $new_pathway = array(); foreach ($items as $item) { if (!$found) { foreach ($pathway_values as $key => $object) { if (!$found) { if ($object->name == $item->name) { $found = true; $found_key = $key; } } } } } foreach ($pathway_values as $key => $object) { if ($key < $found_key || !$found) { $new_pathway[] = $object; } } // $new_pathway now has the pathway UP TO where we should inject the category pathway foreach ($items as $item) { $category_itemid = !empty($item_id) ? $item_id : Citruscart::getClass("CitruscartHelperRoute", 'helpers.route')->category($item->id, true); $item->link .= "&Itemid=" . $category_itemid; $new_pathway[] = $item; } $pathway->setPathway($new_pathway); return $new_pathway; }
/** * * @return void **/ function _default($tpl = null) { Citruscart::load('CitruscartSelect', 'library.select'); Citruscart::load('CitruscartGrid', 'library.grid'); Citruscart::load('CitruscartTools', 'library.tools'); /* Get the application */ $app = JFactory::getApplication(); // check config $row = Citruscart::getInstance(); $this->assign('row', $row); // add toolbar buttons JToolBarHelper::apply('save'); JToolBarHelper::cancel('close', 'COM_CITRUSCART_CLOSE'); // plugins $filtered = array(); $items = CitruscartTools::getPlugins(); for ($i = 0; $i < count($items); $i++) { $item = $items[$i]; // Check if they have an event if ($hasEvent = CitruscartTools::hasEvent($item, 'onListConfigCitruscart')) { // add item to filtered array $filtered[] = $item; } } $items = $filtered; $this->assign('items_sliders', $items); // Add pane jimport('joomla.html.pane'); //$sliders = JPane::getInstance( 'sliders' ); //$this->assign('sliders', $sliders); // form //$validate = JSession::getFormToken(); $validate = JSession::getFormToken(); $form = array(); $view = strtolower($app->input->get('view')); //$view = strtolower( JRequest::getVar('view') ); $form['action'] = "index.php?option=com_citruscart&controller={$view}&view={$view}"; $form['validate'] = "<input type='hidden' name='{$validate}' value='1' />"; $this->assign('form', $form); // set the required image // TODO Fix this to use defines $required = new stdClass(); $required->text = JText::_('COM_CITRUSCART_REQUIRED'); $required->image = "<img src='" . JURI::root() . "/media/citruscart/images/required_16.png' alt='{$required->text}'>"; $this->assign('required', $required); // Elements $elementArticleModel = JModelLegacy::getInstance('ElementArticle', 'CitruscartModel'); $this->assign('elementArticleModel', $elementArticleModel); // terms $elementArticle_terms = $elementArticleModel->fetchElement('article_terms', $row->get('article_terms')); $resetArticle_terms = $elementArticleModel->clearElement('article_terms', '0'); $this->assign('elementArticle_terms', $elementArticle_terms); $this->assign('resetArticle_terms', $resetArticle_terms); // shipping $elementArticle_shipping = $elementArticleModel->fetchElement('article_shipping', $row->get('article_shipping')); $resetArticle_shipping = $elementArticleModel->clearElement('article_shipping', '0'); $this->assign('elementArticle_shipping', $elementArticle_shipping); $this->assign('resetArticle_shipping', $resetArticle_shipping); }
function __construct($config = array()) { parent::__construct($config); $this->defines = Citruscart::getInstance(); Citruscart::load("CitruscartHelperRoute", 'helpers.route'); $this->router = new CitruscartHelperRoute(); $this->user = JFactory::getUser(); }
public function __construct($config = array()) { parent::__construct($config); $this->defines = Citruscart::getInstance(); if (JDEBUG) { $this->cache_enabled = false; } }
/** * Include a particular Citruscart Model * @param $name the name of the mode (ex: products) */ protected function includeCitruscartModel($name) { if (strtolower($name) != 'base') { Citruscart::load('CitruscartModel' . ucfirst(strtolower($name)), 'models.' . strtolower($name)); } else { Citruscart::load('CitruscartModelBase', 'models._base'); } }
function __construct($config = array()) { parent::__construct($config); if (empty($this->helpers)) { $this->helpers = array(); } Citruscart::load("CitruscartHelperProduct", 'helpers.product'); $this->helpers['product'] = new CitruscartHelperProduct(); }
/** * Method to build the pathway/breadcrumbs * return string */ function pathway() { $input = JFactory::getApplication()->input; $pathway = ''; $catid = $input->getInt('filter_category'); if ($this->params->get('showhome')) { $homeText = $this->params->get('hometext'); $homeText = empty($homeText) ? JText::_('COM_CITRUSCART_HOME') : $homeText; $pathway .= " <a href='index.php'>" . $homeText . '</a> '; } // get the root category JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); $root = JTable::getInstance('Categories', 'CitruscartTable')->getRoot(); $root_itemid = Citruscart::getClass("CitruscartHelperRoute", 'helpers.route')->category($root->category_id, true); $catRoot = $this->params->get('showcatroot', '1'); if ($catRoot && $catid != $root->category_id) { $pathway .= $this->getSeparator(); $link = JRoute::_("index.php?option=com_citruscart&view=products&filter_category=" . $root->category_id . "&Itemid=" . $root_itemid, false); $rootText = $this->params->get('roottext'); $rootText = empty($rootText) ? JText::_('COM_CITRUSCART_ALL_CATEGORIES') : $rootText; $pathway .= " <a href='{$link}'>" . $rootText . '</a> '; } $table = JTable::getInstance('Categories', 'CitruscartTable'); $table->load($catid); if (empty($table->category_id)) { return $pathway; } $path = $table->getPath(); foreach ($path as $cat) { if (!$cat->isroot) { if (!($itemid = Citruscart::getClass("CitruscartHelperRoute", 'helpers.route')->category($cat->category_id, true))) { $itemid = $root_itemid; } $slug = $cat->category_alias ? ":{$cat->category_alias}" : ""; $link = JRoute::_("index.php?option=com_citruscart&view=products&filter_category=" . $cat->category_id . $slug . "&Itemid=" . $itemid, false); if (!empty($pathway)) { $pathway .= $this->getSeparator(); } $pathway .= " <a href='{$link}'>" . JText::_($cat->category_name) . '</a> '; } } if (!empty($pathway)) { $pathway .= $this->getSeparator(); } if ($linkSelf = $this->params->get('linkself')) { if (!($itemid = Citruscart::getClass("CitruscartHelperRoute", 'helpers.route')->category($table->category_id, true))) { $itemid = $root_itemid; } $slug = $table->category_alias ? ":{$table->category_alias}" : ""; $link = JRoute::_("index.php?option=com_citruscart&view=products&filter_category=" . $table->category_id . $slug . "&Itemid=" . $itemid, false); $pathway .= " <a href='{$link}'>" . JText::_($table->category_name) . '</a> '; } else { $pathway .= JText::_($table->category_name); } return $pathway; }
/** * Method to get content article data for the frontpage * * @since 1.5 */ function getList() { $where = array(); $mainframe = JFactory::getApplication(); if (!empty($this->_list)) { return $this->_list; } // Initialize variables $db = $this->getDBO(); $filter = null; // Get some variables from the request // $sectionid = JRequest::getVar( 'sectionid', -1, '', 'int' ); // $redirect = $sectionid; // $option = JRequest::get( 'option' ); $filter_order = $mainframe->getUserStateFromRequest('userelement.filter_order', 'filter_order', '', 'cmd'); $filter_order_Dir = $mainframe->getUserStateFromRequest('userelement.filter_order_Dir', 'filter_order_Dir', '', 'word'); $limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int'); $limitstart = $mainframe->getUserStateFromRequest('userelement.limitstart', 'limitstart', 0, 'int'); $search = $mainframe->getUserStateFromRequest('userelement.search', 'search', '', 'string'); $search = JString::strtolower($search); if (!$filter_order) { $filter_order = 'tbl.product_id'; } $order = ' ORDER BY ' . $filter_order . ' ' . $filter_order_Dir; $all = 1; // Keyword filter if ($search) { $where[] = 'LOWER( tbl.product_id ) LIKE ' . $db->q('%' . $db->escape($search, true) . '%', false); $where[] = 'LOWER( tbl.product_name ) LIKE ' . $db->q('%' . $db->escape($search, true) . '%', false); } // Build the where clause of the query $where = count($where) ? ' WHERE ' . implode(' OR ', $where) : ''; // Get the total number of records $query = 'SELECT COUNT(tbl.product_id)' . ' FROM #__citruscart_products AS tbl' . $where; $db->setQuery($query); $total = $db->loadResult(); // Create the pagination object jimport('joomla.html.pagination'); $this->_page = new JPagination($total, $limitstart, $limit); // Get the products $query = 'SELECT tbl.*, pp.* ' . ' FROM #__citruscart_products AS tbl' . ' LEFT JOIN #__citruscart_productprices pp ON pp.product_id = tbl.product_id ' . $where . $order; $db->setQuery($query, $this->_page->limitstart, $this->_page->limit); $this->_list = $db->loadObjectList(); //currency formatting Citruscart::load('CitruscartHelperBase', 'helpers._base'); foreach ($this->_list as $item) { $item->product_price = CitruscartHelperBase::currency($item->product_price); } // If there is a db query error, throw a HTTP 500 and exit if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); return false; } return $this->_list; }
/** * save a record * @return void */ function save() { $app = JFactory::getApplication(); $error = false; $errorMsg = ""; $model = $this->getModel($this->get('suffix')); $config = Citruscart::getInstance(); $properties = $config->getProperties(); foreach ($properties as $key => $value) { unset($row); $row = $model->getTable('config'); $newvalue = $app->input->getHtml($key); $value_exists = array_key_exists($key, $_POST); if ($value_exists && !empty($key)) { // proceed if newvalue present in request. prevents overwriting for non-existent values. $row->load(array('config_name' => $key)); $row->config_name = $key; $row->value = $newvalue; if (!$row->save()) { $error = true; $errorMsg .= JText::_('COM_CITRUSCART_COULD_NOT_STORE') . " {$key} :: " . $row->getError() . " - "; } } } $model->clearCache(); if (!$error) { $this->messagetype = 'message'; $this->message = JText::_('COM_CITRUSCART_SAVED'); JFactory::getApplication()->triggerEvent('onAfterSave' . $this->get('suffix'), array($row)); } else { $this->messagetype = 'notice'; $this->message = JText::_('COM_CITRUSCART_SAVE_FAILED') . " - " . $errorMsg; } $redirect = "index.php?option=com_citruscart&view=" . $this->get('suffix'); $group = $app->input->get('group'); switch ($group) { default: if ($group) { $redirect .= "&task=" . $group; } break; } //$format = JRequest::getVar('format'); $format = $app->input->get('format'); if ($format == 'raw') { $response = array(); $response['error'] = $error; $response['msg'] = $this->message; echo json_encode($response); return; } $redirect = JRoute::_($redirect, false); $this->setRedirect($redirect, $this->message, $this->messagetype); }
/** * Gets data about which address fields should be visible and validable on a form * * @params $address_type Address type * * @return 2-dimensional associative array with data */ public static function getAddressElementsData($address_type) { $config = Citruscart::getInstance(); $address_fields = array('address_name', 'title', 'name', 'middle', 'last', 'address1', 'address2', 'country', 'city', 'zip', 'zone', 'phone', 'company', 'tax_number'); $elements = array(); for ($i = 0, $c = count($address_fields); $i < $c; $i++) { $f = $address_fields[$i]; $show = $config->get('show_field_' . $f, '3'); $valid = $config->get('validate_field_' . $f, '3'); $elements[$f] = array($show == '3' || $show == $address_type, $valid == '3' || $valid == $address_type); } return $elements; }
/** * * @param unknown_type $updateNulls * @return unknown_type */ function store($updateNulls = false) { if ($return = parent::store($updateNulls)) { if ($this->notify_customer == '1') { Citruscart::load("CitruscartHelperBase", 'helpers._base'); $helper = CitruscartHelperBase::getInstance('Email'); $model = Citruscart::getClass("CitruscartModelSubscriptions", "models.subscriptions"); $model->setId($this->subscription_id); $subscription = $model->getItem(); $helper->sendEmailNotices($subscription, 'subscription'); } } return $return; }
/** * * @param unknown_type $updateNulls * @return unknown_type */ function store($updateNulls = false) { if ($return = parent::store($updateNulls)) { if ($this->notify_customer == '1') { Citruscart::load("CitruscartHelperBase", 'helpers._base'); $helper = CitruscartHelperBase::getInstance('Email'); $model = Citruscart::getClass("CitruscartModelOrders", "models.orders"); $model->setId($this->order_id); // this isn't necessary because you specify the requested PK id as a getItem() argument $order = $model->getItem($this->order_id, true); $helper->sendEmailNotices($order, 'order'); } } return $return; }
/** * Sets the modules params as a property of the object * @param unknown_type $params * @return unknown_type */ function __construct($params) { $this->params = $params; if (!class_exists('Citruscart')) { JLoader::register("Citruscart", JPATH_ADMINISTRATOR . "/components/com_citruscart/defines.php"); } // load the config class Citruscart::load('Citruscart', 'defines'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); $this->defines = Citruscart::getInstance(); Citruscart::load("CitruscartHelperRoute", 'helpers.route'); $this->router = new CitruscartHelperRoute(); $this->user = JFactory::getUser(); }
public static function getAddresses() { /* Get the application */ $app = JFactory::getApplication(); Citruscart::load('CitruscartHelperUser', 'helpers.user'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_citruscart/models'); // get the user's addresses using the address model $model = JModelLegacy::getInstance('Addresses', 'CitruscartModel'); $model->setState('filter_userid', $app->input->get('id', 0, 'request', 'int')); //$model->setState('filter_userid', JRequest::getVar('id', 0, 'request', 'int')); $model->setState('filter_deleted', 0); $userAddresses = $model->getList(); return $userAddresses; }
/** * Checks params and lastchecked to see if function should run again today * * @return unknown_type */ function canRun() { $success = false; // Use config to store & retrieve lastchecked from the __config table $config = Citruscart::getInstance(); $lastchecked = $config->get('subscriptions_last_checked'); $date = JFactory::getDate(); $today = $date->format("%Y-%m-%d 00:00:00"); if ($lastchecked < $today) { if (JFactory::getApplication()->isAdmin() && !empty(JFactory::getUser()->id)) { JError::raiseNotice('plgSystemCitruscart_Subscriptions::canRun', sprintf(JText::_('COM_CITRUSCART_CITRUSCART_MSG_SENDING_SUBSCRIPTION_EMAIL_NOTICES'), $lastchecked, $today)); } $success = true; } return $success; }
function save($src = '', $orderingFilter = '', $ignore = '') { $prev = clone $this; if (!empty($this->id)) { $prev->load($this->id); } if ($save = parent::save($src, $orderingFilter, $ignore)) { if ($prev->subscription_enabled && empty($this->subscription_enabled)) { // if it was previously enabled and now is disabled Citruscart::load('CitruscartHelperJuga', 'helpers.juga'); $helper = new CitruscartHelperJuga(); $helper->doExpiredSubscription($this); } } return $save; }
/** * Expected to be called from ajax */ public function getProductAttributeOptions() { $app = JFactory::getApplication(); $attribute_id = $app->input->getInt('attribute_id', 0); $name = $app->input->getString('select_name', 'parent'); $id = $app->input->getString('select_id', '0'); $response = array(); $response['msg'] = ''; $response['error'] = ''; if ($attribute_id) { Citruscart::load('CitruscartSelect', 'library.select'); $response['msg'] = CitruscartSelect::productattributeoptions($attribute_id, 0, $name . "[" . $id . "]"); } else { $response['msg'] = '<input type="hidden" name="' . $name . "[" . $id . "]" . '" />'; } echo json_encode($response); }
function set() { $currency_id = JRequest::getVar('currency_id', 0); if ($currency_id) { $helper = Citruscart::getClass('CitruscartHelperBase', 'helpers._base'); $helper->setSessionVariable('currency_id', $currency_id); } $return = JRequest::getVar('return', ''); if ($return) { $url = base64_decode($return); } else { $url = 'index.php?option=com_citruscart&view=products'; } $this->setRedirect(JRoute::_($url)); $this->redirect(); return; }
/** * Checks the entry to maintain DB integrity * @return unknown_type */ function check() { $config = Citruscart::getInstance(); if (!$this->addresstype_id) { $this->addresstype_id = '1'; } $address_type = $this->addresstype_id; if (empty($this->user_id)) { $this->user_id = JFactory::getUser()->id; if (empty($this->user_id)) { $this->setError(JText::_('COM_CITRUSCART_USER_REQUIRED')); } } Citruscart::load('CitruscartHelperAddresses', 'helpers.addresses'); $elements = CitruscartHelperAddresses::getAddressElementsData($address_type); if (empty($this->address_name)) { $this->address_name = $this->address_1; } if (empty($this->address_name) && $elements['address_name'][1]) { $this->setError(JText::_("COM_CITRUSCART_PLEASE_INCLUDE_AN_ADDRESS_TITLE" . $address_type)); } $address_checks = array(array('first_name', 'name', "COM_CITRUSCART_FIRST_NAME_REQUIRED"), array('middle_name', 'middle', "COM_CITRUSCART_MIDDLE_NAME_REQUIRED"), array('last_name', 'last', "COM_CITRUSCART_LAST_NAME_REQUIRED"), array('address_1', 'address1', "COM_CITRUSCART_AT_LEAST_ONE_ADDRESS_LINE_IS_REQUIRED"), array('address_2', 'address2', "COM_CITRUSCART_SECOND_ADDRESS_LINE_IS_REQUIRED"), array('company', 'company', "COM_CITRUSCART_COMPANY_REQUIRED"), array('tax_number', 'tax_number', "COM_CITRUSCART_COMPANY_TAX_NUMBER_REQUIRED"), array('city', 'city', "COM_CITRUSCART_CITY_REQUIRED"), array('postal_code', 'zip', "COM_CITRUSCART_POSTAL_CODE_REQUIRED"), array('phone_1', 'phone', "COM_CITRUSCART_PHONE_REQUIRED")); for ($i = 0, $c = count($address_checks); $i < $c; $i++) { $current = $address_checks[$i]; if (empty($this->{$current}[0]) && $elements[$current[1]][1]) { $this->setError(JText::_($current[2])); } } if (empty($this->country_id)) { if ($elements['country'][1]) { $this->setError(JText::_('COM_CITRUSCART_COUNTRY_REQUIRED')); } else { $this->country_id = 9999; } } $countryA = explode(',', trim($config->get('ignored_countries', '83,188,190'))); if (empty($this->zone_id) && !in_array($this->country_id, $countryA)) { if (isset($elements['zone'][1])) { $this->setError(JText::_('COM_CITRUSCART_ZONE_REQUIRED')); } else { $this->zone_id = 9999; } } return parent::check(); }
/** * Sample use of the products model for getting products with certain properties * See admin/models/products.php for all the filters currently built into the model * * @param $parameters * @return unknown_type */ function getOrders() { // Check the registry to see if our Citruscart class has been overridden if (!class_exists('Citruscart')) { JLoader::register("Citruscart", JPATH_ADMINISTRATOR . "/components/com_citruscart/defines.php"); } // load the config class Citruscart::load('Citruscart', 'defines'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/tables'); JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_citruscart/models'); // get the model $model = JModelLegacy::getInstance('orders', 'CitruscartModel'); $model->setState('limit', $this->params->get('max_number', '5')); $user = JFactory::getUser(); $model->setState('filter_userid', $user->id); $orders = $model->getList(); return $orders; }