/** 
  * Function to build the form for Premium Information. 
  * 
  * @access public 
  * @return None 
  */
 function buildPremium(&$form)
 {
     //premium section
     $form->add('hidden', 'hidden_Premium', 1);
     require_once 'CRM/Contribute/DAO/Product.php';
     $sel1 = $sel2 = array();
     $dao = new CRM_Contribute_DAO_Product();
     $dao->is_active = 1;
     $dao->find();
     $min_amount = array();
     $sel1[0] = '-select product-';
     while ($dao->fetch()) {
         $sel1[$dao->id] = $dao->name . " ( " . $dao->sku . " )";
         $min_amount[$dao->id] = $dao->min_contribution;
         $options = explode(',', $dao->options);
         foreach ($options as $k => $v) {
             $options[$k] = trim($v);
         }
         if ($options[0] != '') {
             $sel2[$dao->id] = $options;
         }
         $form->assign('premiums', true);
     }
     $form->_options = $sel2;
     $form->assign('mincontribution', $min_amount);
     $sel =& $form->addElement('hierselect', "product_name", ts('Premium'), 'onclick="showMinContrib();"');
     $js = "<script type='text/javascript'>\n";
     $formName = 'document.forms.' . $form->getName();
     for ($k = 1; $k < 2; $k++) {
         if (!isset($defaults['product_name'][$k]) || !$defaults['product_name'][$k]) {
             $js .= "{$formName}['product_name[{$k}]'].style.display = 'none';\n";
         }
     }
     $sel->setOptions(array($sel1, $sel2));
     $js .= "</script>\n";
     $form->assign('initHideBoxes', $js);
     $this->addDate('fulfilled_date', ts('Fulfilled'), false, array('formatType' => 'activityDate'));
     $form->addElement('text', 'min_amount', ts('Minimum Contribution Amount'));
 }
 /**
  * Browse all custom data groups.
  *
  *
  * @return void
  */
 public function browse()
 {
     // get all custom groups sorted by weight
     $premiums = array();
     $dao = new CRM_Contribute_DAO_Product();
     $dao->orderBy('name');
     $dao->find();
     while ($dao->fetch()) {
         $premiums[$dao->id] = array();
         CRM_Core_DAO::storeValues($dao, $premiums[$dao->id]);
         // form all action links
         $action = array_sum(array_keys($this->links()));
         if ($dao->is_active) {
             $action -= CRM_Core_Action::ENABLE;
         } else {
             $action -= CRM_Core_Action::DISABLE;
         }
         $premiums[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id), ts('more'), FALSE, 'premium.manage.row', 'Premium', $dao->id);
         //Financial Type
         if (!empty($dao->financial_type_id)) {
             require_once 'CRM/Core/DAO.php';
             $premiums[$dao->id]['financial_type_id'] = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialType', $dao->financial_type_id, 'name');
         }
     }
     $this->assign('rows', $premiums);
 }
Example #3
0
 /**
  * Retrieve premium product and their options.
  *
  * @return array
  *   product and option arrays
  */
 public static function getPremiumProductInfo()
 {
     if (!self::$productInfo) {
         $products = $options = array();
         $dao = new CRM_Contribute_DAO_Product();
         $dao->is_active = 1;
         $dao->find();
         while ($dao->fetch()) {
             $products[$dao->id] = $dao->name . " ( " . $dao->sku . " )";
             $opts = explode(',', $dao->options);
             foreach ($opts as $k => $v) {
                 $ops[$k] = trim($v);
             }
             if ($ops[0] != '') {
                 $options[$dao->id] = $opts;
             }
         }
         self::$productInfo = array($products, $options);
     }
     return self::$productInfo;
 }
Example #4
0
 /**
  * Get all premiums.
  *
  *
  * @param int $pageID
  * @return array
  *   array of all Premiums if any
  */
 public static function products($pageID = NULL)
 {
     $products = array();
     $dao = new CRM_Contribute_DAO_Product();
     $dao->is_active = 1;
     $dao->orderBy('id');
     $dao->find();
     while ($dao->fetch()) {
         $products[$dao->id] = $dao->name;
     }
     if ($pageID) {
         $dao = new CRM_Contribute_DAO_Premium();
         $dao->entity_table = 'civicrm_contribution_page';
         $dao->entity_id = $pageID;
         $dao->find(TRUE);
         $premiumID = $dao->id;
         $productID = array();
         $dao = new CRM_Contribute_DAO_PremiumsProduct();
         $dao->premiums_id = $premiumID;
         $dao->find();
         while ($dao->fetch()) {
             $productID[$dao->product_id] = $dao->product_id;
         }
         $tempProduct = array();
         foreach ($products as $key => $value) {
             if (!array_key_exists($key, $productID)) {
                 $tempProduct[$key] = $value;
             }
         }
         return $tempProduct;
     }
     return $products;
 }
 /**
  * Browse all custom data groups.
  *
  *
  * @return void
  * @access public
  * @static
  */
 function browse()
 {
     // get all custom groups sorted by weight
     $premiums = array();
     $dao = new CRM_Contribute_DAO_Product();
     $dao->orderBy('name');
     $dao->find();
     while ($dao->fetch()) {
         $premiums[$dao->id] = array();
         CRM_Core_DAO::storeValues($dao, $premiums[$dao->id]);
         // form all action links
         $action = array_sum(array_keys($this->links()));
         if ($dao->is_active) {
             $action -= CRM_Core_Action::ENABLE;
         } else {
             $action -= CRM_Core_Action::DISABLE;
         }
         $premiums[$dao->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $dao->id));
     }
     $this->assign('rows', $premiums);
 }