コード例 #1
0
 public function getSubscriptionID($userid, $usage = null, $primary = 1, $similar = false, $bias = null)
 {
     $query = 'SELECT `id`' . ' FROM #__acctexp_subscr' . ' WHERE `userid` = \'' . $userid . '\'';
     if (!empty($usage)) {
         $plan = new SubscriptionPlan();
         $plan->load($usage);
         $allplans = array($usage, $plan->getSimilarPlans());
         if (count($allplans) > 1) {
             foreach ($allplans as $apid => $pid) {
                 $allplans[$apid] = '`plan` = \'' . $pid . '\'';
             }
             $query .= ' AND (' . implode(' OR ', $allplans) . ')';
         } else {
             $query .= ' AND ' . '`plan` = \'' . $usage . '\'';
         }
     }
     if (!empty($primary)) {
         $query .= ' AND `primary` = \'1\'';
     } elseif (!is_null($primary)) {
         $query .= ' AND `primary` = \'0\'';
     }
     $this->_db->setQuery($query);
     if (!empty($bias)) {
         $subscriptionids = xJ::getDBArray($this->_db);
         if (in_array($bias, $subscriptionids)) {
             $subscriptionid = $bias;
         }
     } else {
         $subscriptionid = $this->_db->loadResult();
     }
     if (!isset($subscriptionid)) {
         $subscriptionid = null;
     }
     if (empty($subscriptionid) && !$similar) {
         return $this->getSubscriptionID($userid, $usage, false, true, $bias);
     }
     return $subscriptionid;
 }