Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.47 KB | None | 0 0
  1.     public function _beforeSave()
  2.     {
  3.         parent::_beforeSave();
  4.  
  5.         $hlp = Mage::helper('ugiftcert');
  6.  
  7.         if ($hlp->isPattern($this->getData('cert_number'))) {
  8.             $pattern = $this->getData('cert_number');
  9.             $dup = Mage::getModel('ugiftcert/cert');
  10.             $i = 0;
  11.             while ($i++<200) { // 10 times can't find free slot - a problem
  12.                 $num = $hlp->processRandomPattern($pattern);
  13.                 $dup->load($num, 'cert_number');
  14.                 if (!$dup->getCertId()) {
  15.                     break;
  16.                 }
  17.                 $num = false;
  18.             }
  19.             if ($num===false) {
  20.                 throw new Mage_Core_Exception('Exceeded maximum retries to find available random certificate number');
  21.             }
  22.             $this->setData('cert_number', $num);
  23.         }
  24.  
  25.         if (Mage::getStoreConfig('ugiftcert/default/use_pin') && $hlp->isPattern($this->getData('pin'))) {
  26.             $this->setData('pin', $hlp->processRandomPattern($this->getData('pin')));
  27.         }
  28.  
  29.         if ($date = $this->getExpireAt()) {
  30.             $locale = Mage::app()->getLocale();
  31.             $format = $locale->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
  32.             $dateObject = $locale->date($date, $format, null, false);
  33.             $this->setExpireAt($dateObject->toString(Varien_Date::DATETIME_INTERNAL_FORMAT));
  34.         } else {
  35.             $this->setExpireAt(null);
  36.         }
  37.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement