function getItems() { // Get a storage key. $store = $this->getStoreId('getItems'); // Try to load the data from internal storage. if (!empty($this->cache[$store])) { return $this->cache[$store]; } $search = $this->getState('filter.search'); $searchid = $this->getState('filter.searchid'); $searchpe = $this->getState('filter.searchpe'); // Load the list items. $items = parent::getItems(); // If emtpy or an error, just return. if (empty($items)) { return array(); } //oseExit($items); $db = oseDB::instance(); // Inject the values back into the array. foreach ($items as $k => $item) { $order_id = null; if ($item->msc_id > 0) { $params = oseJson::decode($item->params); $order_id = oseGetValue($params, 'order_id', 0); $query = " SELECT `title` FROM `#__osemsc_acl`" . " WHERE `id` = '{$item->msc_id}'"; $db->setQuery($query); $item->membership = $db->loadResult(); $query = " SELECT *" . " FROM `#__osemsc_order_fix`" . " WHERE `member_id` = '{$item->id}'"; $db->setQuery($query); $ofItem = oseDB::loadItem('obj'); $item->paypal_email = oseObject::getValue($ofItem, 'email', $item->email); } else { $item->expired_date = null; $item->status = ''; } if (empty($search) && empty($searchid) && empty($searchpe)) { //return array(); } else { //$item->order_number = null; if (!empty($order_id)) { $query = " SELECT `order_id`,`order_number`,`payment_serial_number`,`order_status`" . " FROM `#__osemsc_order`" . " WHERE `order_id` = '{$order_id}'"; $db->setQuery($query); $oItem = oseDB::loadItem('obj'); $item->order_number = $oItem->order_number; $item->order_id = $oItem->order_id; $item->payment_serial_number = $oItem->payment_serial_number; $item->order_status = $oItem->order_status; } else { } } $items[$k] = $item; } // Add the items to the internal cache. $this->cache[$store] = $items; return $this->cache[$store]; }
function __construct($p = array()) { $this->user_id = oseGetValue($p, 'user_id'); if (empty($this->user_id)) { $user = oseCall('user2')->instance(); $this->user_id = $user->get('id'); } $p = oseSetValue($p, 'user_id', $this->user_id); $this->set('p', $p); }
function __construct($p = array()) { parent::__construct($p); if (count($this->get('_type')) < 1) { $db = oseDB::instance(); $query = " SELECT * FROM `{$this->_tableType}`"; $db->setQuery($query); $this->set('_type', oseDB::loadList('obj', 'id')); } if ($this->get('id', 0) > 0) { $info = $this->getTypeInfo(); unset($info['id']); if (isset($info['params'])) { $info['typeParams'] = oseGetValue($info, 'params'); unset($info['params']); } $this->setProperties($info); } else { $this->set('_isNew', true); } }
static function getValue($item, $key, $default = null) { return oseGetValue($item, $key, $default); }
function getExt($type) { $db = oseDB::instance(); if (OSEMSCVERSION >= '7.0.0') { $query = "SELECT * FROM `#__osemsc_ext`" . " WHERE `msc_id` = '{$this->id}' AND `type`=" . $db->Quote($type); } else { $query = "SELECT * FROM `#__osemsc_ext`" . " WHERE `id` = '{$this->id}' AND `type`=" . $db->Quote($type); } $db->setQuery($query); $item = oseDB::loadItem(); $item['params'] = oseJson::decode(oseGetValue($item, 'params', '{}'), true); $item = array_merge($item, $item['params']); unset($item['params']); $ext = $this->get('_ext'); $ext[$type] = $item; $this->set('_ext', $ext); return $item; }
function instance($type = 'item', $params = array()) { if (strtolower($type) == 'item') { require_once dirname(__FILE__) . DS . 'oseContractItem.php'; $class = $this->prefix . "Item"; if (isset($params['item'])) { $item = oseGetValue($params, 'item', array()); $instance = new $class($item); } elseif (isset($params['id']) && $params['id'] > 0) { $id = oseGetValue($params, 'id', 0); $db = oseDB::instance(); $query = " SELECT * FROM `#__ose_contract_list`" . " WHERE `id` = '{$id}'"; $db->setQuery($query); $item = oseDB::loadItem(); $instance = new $class($item); } else { $instance = new $class(); return $instance; } return $instance; } elseif (strtolower($type) == 'itemtype') { require_once dirname(__FILE__) . DS . 'oseContractItem.php'; $id = oseGetValue($params, 'id', 0); $type_id = oseGetValue($params, 'type_id', 0); $db = oseDB::instance(); $query = " SELECT * FORM `#__ose_contract_type`" . " WHERE `id` = '{$type_id}'"; $db->setQuery($query); $item = oseDB::loadItem('obj'); require_once dirname(__FILE__) . DS . 'type' . DS . $item->name . '.php'; $class = $this->_prefix . $item->name; $instance = new $class(array('id' => $this->get('id'))); return $instance; } elseif (strtolower($type) == 'plan') { require_once dirname(__FILE__) . DS . $this->prefix . ucfirst($type) . '.php'; $class = $this->prefix . ucfirst($type); if (isset($params['item'])) { $item = oseGetValue($params, 'item', array()); $instance = new $class($item); } elseif (isset($params['id']) && $params['id'] > 0) { $id = oseGetValue($params, 'id', 0); $db = oseDB::instance(); $query = " SELECT * FROM `#__osemsc_acl`" . " WHERE `id` = '{$id}'"; $db->setQuery($query); $item = oseDB::loadItem(); $instance = new $class($item); } else { $instance = new $class(); return $instance; } return $instance; } elseif (strtolower($type) == 'addon') { require_once dirname(__FILE__) . DS . $this->prefix . ucfirst($type) . '.php'; //$class = $this->prefix.ucfirst($type); $class = 'oseMscAddonV7'; if (!empty($params)) { $instance = new $class($params); } else { $instance = new $class(); return $instance; } return $instance; } else { return null; } }
protected function joinFromPayment($params) { $db = oseDB::instance(); $msc = oseRegistry::call('msc'); $member_id = $params['member_id']; $msc_id = $params['msc_id']; $order_id = $params['order_id']; $result = array(); if (empty($msc_id)) { $result['success'] = false; $result['title'] = $result['status'] = 'Error'; $result['content'] = $result['result'] = JText::_('Please Select A Membership First'); return $result; } $member = oseRegistry::call('member'); $member->instance($member_id); $updated = $member->joinMsc($msc_id); if ($updated) { $list = oseMscAddon::getAddonList('join', false, 1, 'obj'); foreach ($list as $addon) { $action_name = oseMscAddon::getActionName($addon, 'save', 'join'); $result = oseMscAddon::runAction($action_name, $params, true, false); if (!$result['success']) { self::cancelMsc($params); return $result; } } $userInfo = $member->getBasicInfo('obj'); // get order params $ext = $msc->getExtInfo($msc_id, 'msc', 'obj'); if (oseGetValue($ext, 'wel_email', false) && !$this->isLicensee) { $email = $member->getInstance('email'); $emailTempDetail = $email->getDoc($ext->wel_email, 'obj'); $variables = $email->getEmailVariablesWelcome($order_id, $msc_id); $emailParams = $email->buildEmailParams($emailTempDetail->type); $emailDetail = $email->transEmail($emailTempDetail, $variables, $emailParams); $email->sendEmail($emailDetail, $userInfo->email); $emailConfig = oseMscConfig::getConfig('email', 'obj'); if ($emailConfig->sendWel2Admin) { $email->sendToAdminGroup($emailDetail, $emailConfig->admin_group); } } $result = array(); $result['success'] = true; $result['title'] = $result['status'] = 'Done'; $result['content'] = $result['result'] = JText::_('MEMBERSHIP_JOIN_SUCCEED'); } else { $result['success'] = false; $result['title'] = $result['status'] = 'Error'; $result['content'] = $result['result'] = JText::_('MEMBERSHIP_JOIN_FAILED'); } return $result; }
public static function cancel($params) { $result = array(); $result['success'] = true; if(empty($params['allow_work'])) { $result['success'] = false; $result['title'] = 'Error'; $result['content'] = JText::_("Error"); return $result; } unset($params['allow_work']); $member_id = $params['member_id']; $msc_id = $params['msc_id']; $user = JFactory::getUser($member_id); $db = oseDB::instance(); $query = "SELECT * FROM `#__osemsc_member`" ." WHERE `msc_id` = '{$msc_id}' AND `member_id` = '{$member_id}'" ; $db->setQuery($query); $memInfo = oseDB::loadItem('obj'); $memParams = oseJson::decode($memInfo->params,true); $order_id = $memParams['order_id']; $order_item_id = $memParams['order_item_id']; $query = " SELECT * FROM `#__osemsc_order`" ." WHERE `order_id` = '{$order_id}'" ; $db->setQuery($query); $order = oseDB::loadItem('obj'); $oParams = oseJson::decode($order->params); //$msc_option = oseObject::getValue($oParams,'msc_option'); $query = " SELECT * FROM `#__osemsc_order_item`" ." WHERE `order_id` = '{$order_id}'" ; $db->setQuery($query); $order_item = oseDB::loadItem('obj'); $iParams = oseJson::decode($order_item->params); $msc_option = $iParams->msc_option; if(oseGetValue($oParams,'isLicensee',0)) { $result['success'] = true; $result['title'] = JText::_('Done'); $result['content'] = JText::_("Done"); return $result; } $query = " SELECT * FROM `#__osemsc_ext`" ." WHERE `id` = '{$msc_id}' AND `type` = 'oselic'" ; $db->setQuery($query); $data = oseDB::loadItem('obj'); $data = oseJson::decode($data->params); $data = oseObject::getValue($data,$msc_option,array()); if( oseObject::getValue($data,'enable_license') ) { oseRegistry :: register('user2', 'user2'); oseRegistry :: register('lic', 'lic'); oseRegistry :: register('email', 'email'); oseRegistry :: register('locale', 'locale'); $user = oseCall('user2')->instance( $member_id,'lic'); $query = " SELECT * FROM `#__oselic_type_license_key`" ." WHERE `license_id` = '{$oParams->license_id}' AND `licensee_id` > 0" ; $db->setQuery($query); $licenseKeys = oseDB::loadList('obj'); foreach($licenseKeys as $licenseKey) { if(!empty($licenseKey->licensee_id)) { switch($licenseKey->app) { case('msc'): //version oseAppConfig::load( 'mscv6' ); break; default: oseAppConfig::load($licenseKey->app); break; } $user = oseCall('user2')->instance($licenseKey->licensee_id,$licenseKey->app); $user->cancel($licenseKey->entry_id,$licenseKey->app); } else { continue; } } // delete license info oseDB::delete('#__oselic_type_license_key',array('license_id'=>$oParams->license_id)); $updated = oseDB::delete('#__oselic_type_license',array('id'=>$oParams->license_id)); } $result['success'] = true; $result['title'] = JText::_('Done'); $result['content'] = JText::_("Done"); return $result; }
function oseGetAppTitle($app, $id, $entry_option = null) { $db = oseDB::instance(); switch ($app) { case 'contract': $query = " SELECT * FROM `#__ose_contract_plan`" . " WHERE `id` = '{$id}'"; break; case 'msc': $query = " SELECT * FROM `#__osemsc_acl`" . " WHERE `id` = '{$id}'"; break; } $db->setQuery($query); $appItem = oseDB::loadItem('obj'); if (oseGetValue($appItem, 'parent_id', 0) > 1) { $title = oseGetAppTitle($app, $appItem->parent_id) . '-' . $appItem->title; return $title; } elseif ($app == 'msc' && oseGetVersion('com_osemsc') < 6 && !empty($entry_option)) { $query = "SELECT * FROM `#__osemsc_ext`" . " WHERE `type` = 'payment' AND `id` = '{$id}'"; $db->setQuery($query); $planPayment = oseDB::loadItem('obj'); $options = oseJSON::decode($planPayment->params, true); $option = oseGetValue($options, $entry_option, array()); $title = $appItem->title . '-' . oseGetValue($option, 'optionname', ''); return $title; } else { return $appItem->title; } }
public static function getAdminGroup($app) { $config = self::load($app, '', 'obj'); if (oseGetValue($config, 'admin_group', false) != false) { $mode = oseJson::decode($item->value); } else { $version = oseHTML::getJoomlaVersion(); if ($version >= '1.6') { $db = JFactory::getDBO(); $db->setQuery("SELECT id FROM #__usergroups"); $groups = $db->loadObjectList(); $admin_groups = array(); foreach ($groups as $group) { if (JAccess::checkGroup($group->id, 'core.login.admin')) { $admin_groups[] = $group->id; } elseif (JAccess::checkGroup($group->id, 'core.admin')) { $admin_groups[] = $group->id; } } $admin_groups = array_unique($admin_groups); return $admin_groups; } else { $mode = '[24,25]'; $mode = oseJson::decode($mode); } } return $mode; }
function expire($id, $entry_type = 'msc', $entry_option = null) { $db = oseDB::instance(); $query = " SELECT * FROM `{$this->_table}`" . " WHERE `msc_id`='{$id}' AND `member_id`='{$this->user_id}'"; $db->setQuery($query); $item = oseDB::loadItem('obj'); $mscInfo = $this->find($id); if (empty($info) || !in_array($info->get('status'), array(1, 3))) { // no need to quit if empty $result = array(); $result['success'] = false; $result['title'] = JText::_('ERROR'); $result['content'] = JText::_('NO_MEMBERSHIP_TO_CANCEL'); return $result; } $info->set('status', 'expired'); $updated = $info->update(); // cancel addon if ($updated) { $addon = oseCall('msc')->instance('addon', array('user_id' => $this->user_id, 'mm_id' => $item->id)); $jResult = $addon->runActionGroup('join', 'expire', false); $updated = $jResult['success']; if ($updated) { return $jResult; } } if ($updated) { $addon = oseCall('msc')->instance('addon', array('user_id' => $this->user_id, 'mm_id' => $item->id)); $jResult = $addon->runActionGroup('join', 'cancel', false); $updated = $jResult['success']; if ($updated) { // cancel email $msc = oseCall('msc')->instance('plan', array('id' => $id)); $mscExtmsc = $msc->getExt('msc'); $exp_email = oseGetValue($mscExtmsc, 'exp_email'); if (empty($exp_email)) { $config = oseConfig::load($entry_type, 'email', 'obj'); $exp_email = oseGetValue($config, 'default_exp_email', 0); } if ($exp_email) { $email = oseCall('email'); $eObj = $email->getEmail($exp_email); $content = array(); $user = oseCall('user2')->instance($this->user_id); $content['user'] = (object) $user->outputPayment($entry_type); $mem = new stdClass(); $content['member'] = $mem; $eObj->setEmailVariables($content); $eObj->transEmail(); $eTemp = $eObj->output(); $email->sendEmail($eTemp, $this->get('email')); // if (oseGetValue($config, 'sendExp2Admin', false)) { //$group = oseConfig::getAdminGroup('contract'); $group = explode(',', oseGetValue($config, 'email_admin_group')); if (empty($group)) { $group = oseConfig::getAdminGroup($entry_type); } $email->sendToGroup($eTemp, $group); } } $result['success'] = true; $result['title'] = JText::_('SUCCESS'); $result['content'] = JText::_('MEMBERSHIP_CANCEL_SUCCESS'); } $result['success'] = true; $result['title'] = JText::_('SUCCESS'); $result['content'] = JText::_('MEMBERSHIP_JOIN_SUCCEED'); } else { $result['success'] = false; $result['title'] = JText::_('ERROR'); $result['content'] = JText::_('MEMBERSHIP_JOIN_FAILED'); } return $result; }
public static function renew($params) { $result = array(); $result = array(); $result['success'] = true; if(empty($params['allow_work'])) { $result['success'] = false; $result['title'] = 'Error'; $result['content'] = JText::_("Error"); return $result; } unset($params['allow_work']); //oseExit($params); $db = oseDB::instance(); $post = JRequest::get('post'); $msc_id = $params['msc_id']; $member_id = $params['member_id']; $order_id = $params['order_id']; $order_item_id = $params['order_item_id']; if(empty($msc_id)) { $result['success'] = false; $result['title'] = 'Error'; $result['content'] = JText::_("Renew Msc: No Msc ID"); return $result; } $query = " SELECT * FROM `#__osemsc_order`" ." WHERE `order_id` = '{$order_id}'" ; $db->setQuery($query); $order = oseDB::loadItem('obj'); $oParams = oseJson::decode($order->params); //$msc_option = oseObject::getValue($oParams,'msc_option'); $query = " SELECT * FROM `#__osemsc_order_item`" ." WHERE `order_id` = '{$order_id}'" ; $db->setQuery($query); $order_item = oseDB::loadItem('obj'); $iParams = oseJson::decode($order_item->params); $msc_option = $iParams->msc_option; if(oseGetValue($oParams,'isLicensee',0)) { $result['success'] = true; $result['title'] = JText::_('Done'); $result['content'] = JText::_("Done"); return $result; } $query = " SELECT * FROM `#__osemsc_ext`" ." WHERE `id` = '{$msc_id}' AND `type` = 'oselic'" ; $db->setQuery($query); $data = oseDB::loadItem('obj'); $data = oseJson::decode($data->params); $data = oseObject::getValue($data,$msc_option,array()); if( oseObject::getValue($data,'enable_license') ) { oseRegistry :: register('user2', 'user2'); oseRegistry :: register('lic', 'lic'); oseRegistry :: register('email', 'email'); oseRegistry :: register('locale', 'locale'); $user = oseCall('user2')->instance( $member_id,'lic'); $user->join( $data->license_id ); $query = " SELECT * FROM `#__oselic_type_license`" ." WHERE `user_id` = '{$member_id}'" ." ORDER BY `id` DESC" ." LIMIT 1" ; $db->setQuery($query); $license = oseDB::loadItem('obj'); $oParams->license_id = $license->id; $vals = array(); $vals['order_id'] = $order_id; $vals['params'] = oseJson::encode($oParams); oseDB::update('#__osemsc_order','order_id',$vals); if( oseObject::getValue($data,'member_expiry_mode') == 1 ) { $query = " SELECT * FROM `#__osemsc_member`" ." WHERE `msc_id` = '{$msc_id}' AND `member_id` = '{$member_id}'" ; $db->setQuery($query); $memInfo = oseDB::loadItem('obj'); $vals = array(); $vals['id'] = $license->id; $vals['expiry_date'] = $memInfo->expired_date; oseDB::update('#__oselic_type_license','id',$vals); } elseif( oseObject::getValue($data,'member_expiry_mode') == 2 ) { $vals = array(); $vals['id'] = $license->id; $vals['expiry_date'] = oseObject::getValue($data,'expiry_date'); oseDB::update('#__oselic_type_license','id',$vals); } } $result['success'] = true; $result['title'] = JText::_('Done'); $result['content'] = JText::_("Done"); return $result; }
function __construct($info = array()) { $params = oseGetValue($info, 'params'); if (!empty($info)) { if (empty($params)) { $info = oseSetValue($info, 'params', '{}'); } foreach ($info as $key => $value) { if (in_array($key, array('params', 'data', 'transactions'))) { if (!is_array($value) && !is_object($value) && is_string($value)) { if ($key == 'data') { $this->set($key, oseJson::decode($value, true)); } else { $this->set($key, oseJson::decode($value)); } } else { if (empty($value)) { $this->set($key, $this->get($key)); } else { $this->set($key, $value); } } } else { $this->set($key, $value); } } } else { if (empty($params)) { $params = new stdClass(); $this->set('params', $params); } } }
function load($data) { $i = 1; foreach ($data as $key => $item) { $ordering = oseGetValue($item, 'ordering', false); if (!$ordering) { if ($ordering != $i) { $item = oseSetValue($item, 'ordering', $i); $data[$key] = $item; } } else { $item = oseSetValue($item, 'ordering', $i); $data[$key] = $item; } $i++; } $this->data = $data; }
function treerecurse($id, $indent, $list, &$children) { $db = oseDB::instance(); if (isset($children[$id])) { $total = count($children[$id]); $i = 0; foreach ($children[$id] as $node) { $id = $node->id; if (isset($children[$node->id])) { if ($node->ordering == 1) { if ($node->parent_id != 0) { $parent = $this->getParentNode($node, 'obj'); $query = " UPDATE `{$this->_table}` " . " SET lft = " . oseGetValue($parent, 'lft') . " +1" . " WHERE id = {$node->id} "; $db->setQuery($query); oseDB::query(); } } else { $preSibling = $this->getSiblingNode($node, -1, 'obj'); $query = " UPDATE `{$this->_table}` " . " SET lft = " . oseGetValue($preSibling, 'rgt') . " +1" . " WHERE id = {$node->id} "; $db->setQuery($query); oseDB::query(); } $this->TreeRecurse($id, $indent, $list, $children); } else { if ($node->ordering == 1) { if ($node->parent_id != 0) { $parent = $this->getParentNode($node, 'obj'); $lft = oseGetValue($parent, 'lft'); $query = " UPDATE `{$this->_table}` " . " SET lft = {$lft} +1, rgt = {$lft} +2" . " WHERE id = {$node->id} "; $db->setQuery($query); oseDB::query(); } } else { $preSibling = $this->getSiblingNode($node, -1, 'obj'); $rgt = oseGetValue($preSibling, 'rgt'); $query = " UPDATE `{$this->_table}` " . " SET lft = {$rgt} +1,rgt = {$rgt} +2" . " WHERE id = {$node->id} "; $db->setQuery($query); oseDB::query(); } } if ($i == $total - 1) { $node = $this->getNode($node->id, 'obj'); $query = " UPDATE `{$this->_table}` " . " SET rgt = {$node->rgt} + 1 " . " WHERE id = {$node->parent_id} "; $db->setQuery($query); oseDB::query(); } $i++; } } return true; }