Beispiel #1
0
 /**
  * Run when a membership activated
  * @param PlanOsMembership $row
  */
 function onMembershipActive($row)
 {
     if (!$row->user_id && $row->username && $row->user_password) {
         //Need to create the account here
         $data['name'] = trim($row->first_name . ' ' . $row->last_name);
         //Decrypt the password
         $data['username'] = $row->username;
         //Password
         $privateKey = md5(JFactory::getConfig()->get('secret'));
         $key = new JCryptKey('simple', $privateKey, $privateKey);
         $crypt = new JCrypt(new JCryptCipherSimple(), $key);
         $data['password'] = $data['password2'] = $data['password'] = $crypt->decrypt($row->user_password);
         $data['email1'] = $data['email2'] = $data['email'] = $row->email;
         $params = JComponentHelper::getParams('com_users');
         $data['groups'] = array();
         $data['groups'][] = $params->get('new_usertype', 2);
         $user = new JUser();
         if (!$user->bind($data)) {
             return false;
         }
         // Store the data.
         if (!$user->save()) {
             return false;
         }
         $row->user_id = $user->get('id');
         $row->store();
     }
 }
Beispiel #2
0
 /**
  * Store setting into database, in this case, use params field of plans table
  * @param PlanOsMembership $row
  * @param Boolean $isNew true if create new plan, false if edit
  */
 function onAfterSaveSubscriptionPlan($row, $data, $isNew)
 {
     // $row of table osmembership_plans
     $params = new JRegistry($row->params);
     $params->set('acymailing_list_ids', implode(',', $data['acymailing_list_ids']));
     $row->params = $params->toString();
     $row->store();
 }
Beispiel #3
0
 /**
  * Store setting into database
  * @param PlanOsMembership $row
  * @param Boolean $isNew true if create new plan, false if edit
  */
 function onAfterSaveSubscriptionPlan($row, $data, $isNew)
 {
     $params = new JRegistry($row->params);
     $params->set('joomla_group_ids', implode(',', $data['joomla_group_ids']));
     $params->set('subscription_expired_joomla_group_ids', implode(',', $data['subscription_expired_joomla_group_ids']));
     $params->set('joomla_expried_group_ids', implode(',', $data['joomla_expried_group_ids']));
     $row->params = $params->toString();
     $row->store();
 }
Beispiel #4
0
 /**
  * Store setting into database, in this case, use params field of plans table
  * @param PlanOsMembership $row
  * @param Boolean $isNew true if create new plan, false if edit
  */
 function onAfterSaveSubscriptionPlan($row, $data, $isNew)
 {
     if (!$this->canRun) {
         return;
     }
     // $row of table osmembership_plans
     $params = new JRegistry($row->params);
     $params->set('docman_group_ids', implode(',', $data['docman_group_ids']));
     $params->set('docman_expried_group_ids', implode(',', $data['docman_expried_group_ids']));
     $row->params = $params->toString();
     $row->store();
 }
Beispiel #5
0
 /**
  * Run when a membership activated
  * @param PlanOsMembership $row
  */
 function onMembershipActive($row)
 {
     $db = JFactory::getDbo();
     if (!$row->membership_id) {
         if ($row->user_id) {
             $sql = 'SELECT MAX(membership_id) FROM #__osmembership_subscribers WHERE user_id=' . $row->user_id;
             $db->setQuery($sql);
             $membershipId = (int) $db->loadResult();
             if ($membershipId) {
                 $row->membership_id = $membershipId;
             }
         }
         if (!$row->membership_id) {
             $row->membership_id = OSMembershipHelper::getMembershipId();
         }
         $row->store();
     }
     return true;
 }