Example #1
0
 public static function loadEav()
 {
     if (!self::$eavQueue) {
         return false;
     }
     ClassLoader::import('application.model.eav.EavObject');
     ClassLoader::import('application.model.eav.EavSpecificationManager');
     // create array of EavObject gateway objects for all queued records
     $eavObjects = array();
     foreach (self::$eavQueue as $class => &$records) {
         $field = EavObject::getClassField($class);
         foreach ($records as $id => $record) {
             $eavObjects[] = array('ID' => $record['eavObjectID'], $field => $id);
         }
     }
     // fetch EAV values
     if ($eavObjects) {
         EavSpecificationManager::loadSpecificationForRecordSetArray($eavObjects, true);
         // assign attribute values to the respective records
         foreach ($eavObjects as $entry) {
             unset($entry['ID']);
             foreach ($entry as $field => $refId) {
                 if ($refId) {
                     $class = ucfirst(substr($field, 0, -2));
                     if (isset($entry['attributes'])) {
                         self::$eavQueue[$class][$refId]['attributes'] = $entry['attributes'];
                         foreach ($entry['attributes'] as $attr) {
                             self::$eavQueue[$class][$refId]['byHandle'][$attr['EavField']['handle']] = $attr;
                         }
                     }
                     break;
                 }
             }
         }
     }
     self::$eavQueue = array();
 }
Example #2
0
 private function buildCreditCardValidator(CreditCardPayment $ccHandler = null)
 {
     $validator = $this->getValidator("creditCard", $this->request);
     $validator->addCheck('ccName', new IsNotEmptyCheck($this->translate('_err_enter_cc_name')));
     $validator->addCheck('ccNum', new IsNotEmptyCheck($this->translate('_err_enter_cc_num')));
     $validator->addCheck('ccExpiryMonth', new IsNotEmptyCheck($this->translate('_err_select_cc_expiry_month')));
     $validator->addCheck('ccExpiryYear', new IsNotEmptyCheck($this->translate('_err_select_cc_expiry_year')));
     if ($ccHandler) {
         if ($ccHandler->isCardTypeNeeded()) {
             $validator->addCheck('ccType', new IsNotEmptyCheck($this->translate('_err_select_cc_type')));
         }
         if ($this->config->get('REQUIRE_CVV') && $ccHandler->isCvvRequired()) {
             $validator->addCheck('ccCVV', new IsNotEmptyCheck($this->translate('_err_enter_cc_cvv')));
         }
     }
     $validator->addFilter('ccCVV', new RegexFilter('[^0-9]'));
     $validator->addFilter('ccNum', new RegexFilter('[^ 0-9]'));
     $eavManager = new EavSpecificationManager(EavObject::getInstanceByIdentifier('creditcard'));
     $eavManager->setValidation($validator);
     return $validator;
 }
Example #3
0
 private function getOfflinePaymentValidator($method)
 {
     $validator = $this->getValidator($method, $this->request);
     $eavManager = new EavSpecificationManager(EavObject::getInstanceByIdentifier($method));
     $eavManager->setValidation($validator);
     return $validator;
 }