コード例 #1
0
ファイル: extravalue.php プロジェクト: JozefAB/qk
 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;
 }
コード例 #2
0
ファイル: share.php プロジェクト: JozefAB/qk
 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;
 }
コード例 #3
0
 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;
 }
コード例 #4
0
ファイル: membership.php プロジェクト: JozefAB/qk
 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;
 }
コード例 #5
0
ファイル: share.php プロジェクト: atikahmed/joomla-probid
 function getPluginShareTypes()
 {
     $plugins = array();
     $instances = RSMembership::getSharedContentPlugins();
     foreach ($instances as $instance) {
         if (method_exists($instance, 'getSupportedSharedTypes')) {
             $plugins = array_merge($plugins, $instance->getSupportedSharedTypes());
         }
     }
     return $plugins;
 }
コード例 #6
0
ファイル: helper.php プロジェクト: JozefAB/qk
 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);
     }
 }
コード例 #7
0
 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);
     }
 }