/** * 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(); } }
/** * 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(); }
/** * 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(); }
/** * 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(); }
/** * 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; }