Example #1
0
 /**
  * Convert order to new format
  * @param $page
  * @return bool
  */
 public function convertItems($page)
 {
     $this->_migrate = $this->app->jbmigrate;
     $params = $this->_migrate->getParams();
     $this->_fields = $this->_migrate->getOrderFields();
     $this->_statusList = $this->_getStatusList();
     $realStep = $page - $params->find('steps.system_steps');
     $size = $params->find('steps.step');
     if ($realStep <= 0) {
         return -1;
     }
     $orders = JBModelItem::model()->getList($params->get('app'), null, $params->get('type'), array('limit' => array(($realStep - 1) * $size, $size), 'published' => 0, 'state' => -1, 'order' => 'id'));
     if (count($orders) > 0) {
         foreach ($orders as $order) {
             if ($newOrder = $this->_convertOrder($order)) {
                 JBModelOrder::model()->save($newOrder, true);
             }
         }
         return $page + 1;
     }
     return false;
 }
Example #2
0
 /**
  * Create form fields
  */
 public function formFields()
 {
     $configModel = JBModelConfig::model();
     $application = $this->_migrate->getCartApp();
     $templatePath = null;
     $orderFields = null;
     if ($application) {
         $templatePath = $application->getTemplate()->getPath();
         $orderFields = $this->_migrate->getOrderFields();
     }
     if ($templatePath && $orderFields) {
         $posFile = $templatePath . '/renderer/item/positions.config';
         $renderParams = array();
         if (JFile::exists($posFile)) {
             $posFile = $this->app->data->create(json_decode(file_get_contents($posFile), true));
             foreach ($posFile->get('jbuniversal.order.order', array()) as $position) {
                 foreach ($position as $element) {
                     $renderParams[$element['element']] = $element;
                 }
             }
         }
         foreach ($renderParams as $elemId => $renderParam) {
             if (!isset($orderFields[$elemId])) {
                 continue;
             }
             /**
              * @var AppData $config
              * @var AppData $renderParam
              */
             $config = $this->app->data->create($orderFields[$elemId]);
             $renderParam = $this->app->data->create($renderParam);
             $elemType = isset($this->_elementMap[$config['type']]) ? $this->_elementMap[$config['type']] : 'text';
             $orderElement = $this->_element->create($elemType, JBCart::ELEMENT_TYPE_ORDER, array('name' => $config->get('name'), 'description' => $config->get('description'), 'access' => $config->get('access'), 'default' => $config->get('default'), 'option' => $config->get('option'), 'multiple' => $config->get('multiple')));
             $list = $configModel->getGroup('cart.field');
             $list[JBCart::DEFAULT_POSITION][$orderElement->identifier] = (array) $orderElement->config;
             $configModel->setGroup('cart.field', $list);
             $renderElement = array('user_field' => '', 'showlabel' => '0', 'altlabel' => $renderParam->get('altlabel'), 'required' => $renderParam->get('required', 0), 'type' => $orderElement->getElementType(), 'group' => $orderElement->getElementGroup(), 'identifier' => $orderElement->identifier);
             $list = $configModel->getGroup('cart.field_tmpl.default');
             $list[JBCart::DEFAULT_POSITION][] = $renderElement;
             $configModel->setGroup('cart.field_tmpl.default', $list);
         }
     }
 }