public function getItem($pk = null) { $db = JFactory::getDBO(); $query = $db->getQuery(true); $item = parent::getItem(); $query->select('*')->from($db->qn('#__rsmembership_extra_value_shared'))->where($db->qn('extra_value_id') . ' = ' . $db->q($item->id))->order($db->qn('ordering') . ' ASC'); $db->setQuery($query); $item->shared = $db->loadObjectList(); foreach ($item->shared as $s => $shared) { switch ($shared->type) { default: $instances = RSMembership::getSharedContentPlugins(); foreach ($instances as $instance) { if (method_exists($instance, 'showUserFriendlyParams')) { $instance->showUserFriendlyParams($shared); } } $item->shared[$s] = $shared; break; case 'article': $query->clear(); $query->select($db->qn('title'))->from($db->qn('#__content'))->where($db->qn('id') . ' = ' . $db->q((int) $shared->params)); $db->setQuery($query); $item->shared[$s]->params = $db->loadResult(); break; case 'module': $query->clear(); $query->select($db->qn('title') . ', ' . $db->qn('module'))->from($db->qn('#__modules'))->where($db->qn('id') . ' = ' . $db->q((int) $shared->params)); $db->setQuery($query); $module = $db->loadObject(); $item->shared[$s]->params = '(' . $module->module . ') ' . $module->title; break; case 'menu': $query->clear(); $query->select($db->qn('title', 'name') . ', ' . $db->qn('menutype'))->from($db->qn('#__menu'))->where($db->qn('id') . ' = ' . $db->q((int) $shared->params)); $db->setQuery($query); $menu = $db->loadObject(); $item->shared[$s]->params = '(' . $menu->menutype . ') ' . $menu->name; break; case 'section': $query->clear(); $query->select($db->qn('title'))->from($db->qn('#__sections'))->where($db->qn('id') . ' = ' . $db->q((int) $shared->params)); $db->setQuery($query); $item->shared[$s]->params = $db->loadResult(); break; case 'category': $query->clear(); $query->select($db->qn('title'))->from($db->qn('#__categories'))->where($db->qn('id') . ' = ' . $db->q((int) $shared->params)); $db->setQuery($query); $item->shared[$s]->params = $db->loadResult(); break; } } jimport('joomla.html.pagination'); $item->sharedPagination = new JPagination(count($item->shared), 0, 0); return $item; }
public function getSortColumn() { $sortColumn = JFactory::getApplication()->input->get('filter_order', 'ordering', 'string'); if ($this->_isPlugin()) { $instances = RSMembership::getSharedContentPlugins(); foreach ($instances as $instance) { if (method_exists($instance, 'getSortColumn')) { $instance->getSortColumn($this->getShareType(), $sortColumn); } } } return $sortColumn; }
function getMembership() { jimport('joomla.html.pagination'); $cid = JRequest::getVar('cid', 0); if (is_array($cid)) { $cid = $cid[0]; } $cid = (int) $cid; $row =& JTable::getInstance('RSMembership_Memberships', 'Table'); $row->load($cid); $this->_db->setQuery("SELECT `extra_id` FROM #__rsmembership_membership_extras WHERE `membership_id`='" . $cid . "'"); $row->extras = $this->_db->loadResultArray(); $instances = RSMembership::getSharedContentPlugins(); $this->_db->setQuery("SELECT * FROM #__rsmembership_membership_shared WHERE `membership_id`='" . $cid . "' ORDER BY `ordering`"); $row->shared = $this->_db->loadObjectList(); foreach ($row->shared as $s => $shared) { switch ($shared->type) { default: foreach ($instances as $instance) { if (method_exists($instance, 'showUserFriendlyParams')) { $instance->showUserFriendlyParams($shared); } } $row->shared[$s] = $shared; break; case 'article': $this->_db->setQuery("SELECT `title` FROM #__content WHERE `id`='" . (int) $shared->params . "'"); $row->shared[$s]->params = $this->_db->loadResult(); break; case 'section': $this->_db->setQuery("SELECT `title` FROM #__sections WHERE `id`='" . (int) $shared->params . "'"); $row->shared[$s]->params = $this->_db->loadResult(); break; case 'category': $this->_db->setQuery("SELECT `title` FROM #__categories WHERE `id`='" . (int) $shared->params . "'"); $row->shared[$s]->params = $this->_db->loadResult(); break; case 'module': $this->_db->setQuery("SELECT `title`, `module` FROM #__modules WHERE `id`='" . (int) $shared->params . "'"); $module = $this->_db->loadObject(); $row->shared[$s]->params = '(' . $module->module . ') ' . $module->title; break; case 'menu': if (RSMembershipHelper::isJ16()) { $this->_db->setQuery("SELECT `title` AS `name`, `menutype` FROM #__menu WHERE `id`='" . (int) $shared->params . "'"); } else { $this->_db->setQuery("SELECT `name`, `menutype` FROM #__menu WHERE `id`='" . (int) $shared->params . "'"); } $menu = $this->_db->loadObject(); $row->shared[$s]->params = '(' . $menu->menutype . ') ' . $menu->name; break; } } $row->sharedPagination = new JPagination(count($row->shared), 0, 0); // attachments $this->_db->setQuery("SELECT * FROM #__rsmembership_membership_attachments WHERE `membership_id`='" . $cid . "' ORDER BY `ordering`"); $attachments = $this->_db->loadObjectList(); foreach ($attachments as $attachment) { $this->attachments[$attachment->email_type][] = $attachment; } foreach ($this->attachments as $email_type => $attachments) { $this->attachmentsPagination[$email_type] = new JPagination(count($attachments), 0, 0); } return $row; }
public function getItem($pk = null) { $db = JFactory::getDBO(); $query = $db->getQuery(true); $item = parent::getItem($pk); $item->period_values[] = $item->period_type; $item->period_values[] = $item->period; $item->trial_period_values[] = $item->trial_period_type; $item->trial_period_values[] = $item->trial_period; $item->fixed_expiry_values[] = $item->fixed_day; $item->fixed_expiry_values[] = $item->fixed_month; $item->fixed_expiry_values[] = $item->fixed_year; $item->fixed_expiry_values[] = $item->fixed_expiry; $item->thumb_resize = $item->thumb_w; $query->select($db->qn('extra_id'))->from($db->qn('#__rsmembership_membership_extras'))->where($db->qn('membership_id') . ' = ' . $db->q($item->id)); $db->setQuery($query); $item->extras = $db->loadColumn(); $instances = RSMembership::getSharedContentPlugins(); $query->clear(); $query->select('*')->from($db->qn('#__rsmembership_membership_shared'))->where($db->qn('membership_id') . ' = ' . $db->q($item->id))->order($db->qn('ordering') . ' ASC'); $db->setQuery($query); $item->shared = $db->loadObjectList(); foreach ($item->shared as $s => $shared) { switch ($shared->type) { default: foreach ($instances as $instance) { if (method_exists($instance, 'showUserFriendlyParams')) { $instance->showUserFriendlyParams($shared); } } $item->shared[$s] = $shared; break; case 'article': $query->clear(); $query->select('title')->from($db->qn('#__content'))->where($db->qn('id') . ' = ' . $db->q($shared->params)); $db->setQuery($query); $item->shared[$s]->params = $db->loadResult(); break; case 'category': $query->clear(); $query->select('title')->from($db->qn('#__categories'))->where($db->qn('id') . ' = ' . $db->q($shared->params)); $db->setQuery($query); $item->shared[$s]->params = $db->loadResult(); break; case 'module': $query->clear(); $query->select($db->qn('title') . ', ' . $db->qn('module'))->from($db->qn('#__modules'))->where($db->qn('id') . ' = ' . $db->q($shared->params)); $db->execute(); $module = $db->loadObject(); $item->shared[$s]->params = '(' . $module->module . ') ' . $module->title; break; case 'menu': $query->clear(); $query->select($db->qn('title', 'name') . ', ' . $db->qn('menutype'))->from($db->qn('#__menu'))->where($db->qn('id') . ' = ' . $db->q($shared->params)); $db->setQuery($query); $menu = $db->loadObject(); $item->shared[$s]->params = '(' . $menu->menutype . ') ' . $menu->name; break; } } jimport('joomla.html.pagination'); $item->sharedPagination = new JPagination(count($item->shared), 0, 0); // attachments $query->clear(); $query->select('*')->from($db->qn('#__rsmembership_membership_attachments'))->where($db->qn('membership_id') . ' = ' . $db->q($item->id))->order($db->qn('ordering') . ' ASC'); $db->setQuery($query); $attachments = $db->loadObjectList(); $this->attachments = array(); $this->attachmentsPagination = null; foreach ($attachments as $attachment) { $this->attachments[$attachment->email_type][] = $attachment; } foreach ($this->attachments as $email_type => $attachments) { $this->attachmentsPagination[$email_type] = new JPagination(count($attachments), 0, 0); } return $item; }
function getPluginShareTypes() { $plugins = array(); $instances = RSMembership::getSharedContentPlugins(); foreach ($instances as $instance) { if (method_exists($instance, 'getSupportedSharedTypes')) { $plugins = array_merge($plugins, $instance->getSupportedSharedTypes()); } } return $plugins; }
public static function checkShared() { $option = RSMembershipHelper::getOption(); if (!$option) { return; } $app = JFactory::getApplication(); // Get the language $lang = JFactory::getLanguage(); $lang->load('com_rsmembership'); $msg = JText::_('COM_RSMEMBERSHIP_MEMBERSHIP_NEED_SUBSCRIPTION'); // Get the database object $db = JFactory::getDBO(); list($memberships, $extras) = RSMembershipHelper::getUserSubscriptions(); $has_access = false; $found_shared = false; $redirect = ''; if (!$app->isAdmin()) { // Check the articles, categories and sections if ($option == 'com_content') { RSMembershipHelper::checkContent($has_access, $found_shared, $redirect, $memberships, $extras); } // Menu - Itemid RSMembershipHelper::checkMenu($has_access, $found_shared, $redirect, $memberships, $extras); } $instances = RSMembership::getSharedContentPlugins(); foreach ($instances as $instance) { if (method_exists($instance, 'checkShared')) { $instance->checkShared($option, $has_access, $found_shared, $redirect, $memberships, $extras); } } // Custom URL RSMembershipHelper::checkURL($has_access, $found_shared, $redirect, $memberships, $extras); if (!$found_shared) { $has_access = true; } if ($found_shared && $has_access) { JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_rsmembership/tables'); $row = JTable::getInstance('Log', 'RSMembershipTable'); $row->date = JFactory::getDate()->toSql(); $row->user_id = JFactory::getUser()->get('id'); $row->path = '[URL] ' . JUri::getInstance()->toString(); $row->ip = $_SERVER['REMOTE_ADDR']; $row->store(); } if (!$has_access) { $redirect = empty($redirect) ? JURI::root() : JRoute::_($redirect, false); $app->redirect($redirect, $msg); } }
function checkShared() { $option = RSMembershipHelper::getOption(); if (!$option) { return; } $mainframe =& JFactory::getApplication(); // Get the language $lang =& JFactory::getLanguage(); $lang->load('com_rsmembership'); $msg = JText::_('RSM_MEMBERSHIP_NEED_SUBSCRIPTION'); // Get the database object $db = JFactory::getDBO(); list($memberships, $extras) = RSMembershipHelper::getUserSubscriptions(); $has_access = false; $found_shared = false; $redirect = ''; if (!$mainframe->isAdmin()) { // Check the articles, categories and sections if ($option == 'com_content') { RSMembershipHelper::checkContent($has_access, $found_shared, $redirect, $memberships, $extras); } // Menu - Itemid RSMembershipHelper::checkMenu($has_access, $found_shared, $redirect, $memberships, $extras); } $instances = RSMembership::getSharedContentPlugins(); foreach ($instances as $instance) { if (method_exists($instance, 'checkShared')) { $instance->checkShared($option, $has_access, $found_shared, $redirect, $memberships, $extras); } } // Custom URL RSMembershipHelper::checkURL($has_access, $found_shared, $redirect, $memberships, $extras); if (!$found_shared) { $has_access = true; } if (!$has_access) { $redirect = empty($redirect) ? JURI::root() : JRoute::_($redirect, false); $mainframe->redirect($redirect, $msg); } }