PageRenderTime 28ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/administrator/components/com_k2/views/users/view.html.php

http://getk2.googlecode.com/
PHP | 217 lines | 164 code | 44 blank | 9 comment | 22 complexity | a76c98a529f47d8431aa39dd500fb9b6 MD5 | raw file
  1. <?php
  2. /**
  3. * @version $Id: view.html.php 1551 2012-04-19 12:04:25Z lefteris.kavadas $
  4. * @package K2
  5. * @author JoomlaWorks http://www.joomlaworks.net
  6. * @copyright Copyright (c) 2006 - 2012 JoomlaWorks Ltd. All rights reserved.
  7. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
  8. */
  9. // no direct access
  10. defined('_JEXEC') or die('Restricted access');
  11. jimport('joomla.application.component.view');
  12. class K2ViewUsers extends JView
  13. {
  14. function display($tpl = null) {
  15. $mainframe = &JFactory::getApplication();
  16. $document = &JFactory::getDocument();
  17. $db = JFactory::getDBO();
  18. $params = &JComponentHelper::getParams('com_k2');
  19. $option = JRequest::getCmd('option');
  20. $view = JRequest::getCmd('view');
  21. $limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
  22. $limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
  23. $filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', '', 'cmd');
  24. $filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', '', 'word');
  25. $filter_status = $mainframe->getUserStateFromRequest($option.$view.'filter_status', 'filter_status', -1, 'int');
  26. $filter_group = $mainframe->getUserStateFromRequest($option.$view.'filter_group', 'filter_group', '', 'string');
  27. $filter_group_k2 = $mainframe->getUserStateFromRequest($option.$view.'filter_group_k2', 'filter_group_k2', '', 'string');
  28. $search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
  29. $search = JString::strtolower($search);
  30. JModel::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'models');
  31. $model = & JModel::getInstance('Users', 'K2Model');
  32. $total = $model->getTotal();
  33. if ($limitstart > $total - $limit){
  34. $limitstart = max(0, (int) (ceil($total / $limit) - 1) * $limit);
  35. JRequest::setVar('limitstart', $limitstart);
  36. }
  37. $users = $model->getData();
  38. for ($i=0; $i<sizeof($users); $i++){
  39. $users[$i]->loggedin = $model->checkLogin($users[$i]->id);
  40. $users[$i]->profileID = $model->hasProfile($users[$i]->id);
  41. if($users[$i]->profileID)
  42. {
  43. $db->setQuery("SELECT ip FROM #__k2_users WHERE id = ".$users[$i]->profileID);
  44. $users[$i]->ip = $db->loadResult();
  45. }
  46. else
  47. {
  48. $users[$i]->ip = '';
  49. }
  50. if ($users[$i]->lastvisitDate == "0000-00-00 00:00:00") {
  51. $users[$i]->lvisit = false;
  52. }
  53. else {
  54. $users[$i]->lvisit = $users[$i]->lastvisitDate;
  55. }
  56. $users[$i]->link = JRoute::_('index.php?option=com_k2&view=user&cid='.$users[$i]->id);
  57. }
  58. $this->assignRef('rows', $users);
  59. jimport('joomla.html.pagination');
  60. $pageNav = new JPagination($total, $limitstart, $limit);
  61. $this->assignRef('page', $pageNav);
  62. $lists = array ();
  63. $lists['search'] = $search;
  64. $lists['order_Dir'] = $filter_order_Dir;
  65. $lists['order'] = $filter_order;
  66. $filter_status_options[] = JHTML::_('select.option', -1, JText::_('K2_SELECT_STATE'));
  67. $filter_status_options[] = JHTML::_('select.option', 0, JText::_('K2_ENABLED'));
  68. $filter_status_options[] = JHTML::_('select.option', 1, JText::_('K2_BLOCKED'));
  69. $lists['status'] = JHTML::_('select.genericlist', $filter_status_options, 'filter_status', '', 'value', 'text', $filter_status);
  70. $userGroups = $model->getUserGroups();
  71. $groups[] = JHTML::_('select.option', '0', JText::_('K2_SELECT_JOOMLA_GROUP'));
  72. foreach ($userGroups as $userGroup) {
  73. $groups[] = JHTML::_('select.option', $userGroup->value, $userGroup->text);
  74. }
  75. $lists['filter_group'] = JHTML::_('select.genericlist', $groups, 'filter_group', '', 'value', 'text', $filter_group);
  76. $K2userGroups = $model->getUserGroups('k2');
  77. $K2groups[] = JHTML::_('select.option', '0', JText::_('K2_SELECT_K2_GROUP'));
  78. foreach ($K2userGroups as $K2userGroup) {
  79. $K2groups[] = JHTML::_('select.option', $K2userGroup->id, $K2userGroup->name);
  80. }
  81. $lists['filter_group_k2'] = JHTML::_('select.genericlist', $K2groups, 'filter_group_k2', '', 'value', 'text', $filter_group_k2);
  82. $this->assignRef('lists', $lists);
  83. if(K2_JVERSION == '16') {
  84. $dateFormat = JText::_('K2_J16_DATE_FORMAT');
  85. }
  86. else {
  87. $dateFormat = JText::_('K2_DATE_FORMAT');
  88. }
  89. $this->assignRef('dateFormat', $dateFormat);
  90. $template = $mainframe->getTemplate();
  91. $this->assignRef('template', $template);
  92. if($mainframe->isAdmin()) {
  93. JToolBarHelper::title(JText::_('K2_USERS'), 'k2.png');
  94. JToolBarHelper::customX( 'move', 'move.png', 'move_f2.png', 'K2_MOVE' );
  95. JToolBarHelper::deleteList('K2_WARNING_YOU_ARE_ABOUT_TO_DELETE_THE_SELECTED_USERS_PERMANENTLY_FROM_THE_SYSTEM', 'delete', 'K2_DELETE');
  96. JToolBarHelper::publishList('enable', 'K2_ENABLE');
  97. JToolBarHelper::unpublishList('disable', 'K2_DISABLE');
  98. JToolBarHelper::editList();
  99. JToolBarHelper::deleteList('K2_ARE_YOU_SURE_YOU_WANT_TO_RESET_SELECTED_USERS', 'remove', 'K2_RESET_USER_DETAILS');
  100. $toolbar=& JToolBar::getInstance('toolbar');
  101. if(K2_JVERSION == '16'){
  102. JToolBarHelper::preferences('com_k2', 550, 875, 'K2_PARAMETERS');
  103. }
  104. else {
  105. $toolbar->appendButton('Popup', 'config', 'K2_PARAMETERS', 'index.php?option=com_k2&view=settings');
  106. }
  107. $this->loadHelper('html');
  108. K2HelperHTML::subMenu();
  109. $user = & JFactory::getUser();
  110. if ($user->gid > 23) {
  111. if (!$params->get('hideImportButton')){
  112. $buttonUrl = JURI::base().'index.php?option=com_k2&amp;view=users&amp;task=import';
  113. $buttonText = JText::_('K2_IMPORT_JOOMLA_USERS');
  114. $button = '<a id="K2ImportUsersButton" href="'.$buttonUrl.'"><span class="icon-32-archive" title="'.$buttonText.'"></span>'.$buttonText.'</a>';
  115. $toolbar->appendButton('Custom', $button);
  116. }
  117. }
  118. $document = &JFactory::getDocument();
  119. $document->addScriptDeclaration('var K2Language = ["'.JText::_('K2_REPORT_USER_WARNING', true).'"];');
  120. }
  121. $isAdmin = $mainframe->isAdmin();
  122. $this->assignRef('isAdmin', $isAdmin);
  123. if($mainframe->isSite()){
  124. // CSS
  125. $document->addStyleSheet(JURI::root(true).'/media/k2/assets/css/k2.frontend.css?v=2.5.7');
  126. $document->addStyleSheet(JURI::root(true).'/templates/system/css/general.css');
  127. $document->addStyleSheet(JURI::root(true).'/templates/system/css/system.css');
  128. if(K2_JVERSION == '16') {
  129. $document->addStyleSheet(JURI::root(true).'/administrator/templates/bluestork/css/template.css');
  130. $document->addStyleSheet(JURI::root(true).'/media/system/css/system.css');
  131. } else {
  132. $document->addStyleSheet(JURI::root(true).'/administrator/templates/khepri/css/general.css');
  133. }
  134. }
  135. parent::display($tpl);
  136. }
  137. function move(){
  138. $mainframe = &JFactory::getApplication();
  139. JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
  140. $cid = JRequest::getVar('cid');
  141. JArrayHelper::toInteger($cid);
  142. foreach ($cid as $id) {
  143. $row = &JFactory::getUser($id);
  144. $rows[]=$row;
  145. }
  146. $this->assignRef('rows',$rows);
  147. $model = & $this->getModel('users');
  148. $lists = array ();
  149. $userGroups = $model->getUserGroups();
  150. $groups[] = JHTML::_('select.option', '', JText::_('K2_DO_NOT_CHANGE'));
  151. foreach ($userGroups as $userGroup) {
  152. $groups[] = JHTML::_('select.option', $userGroup->value, JText::_($userGroup->text));
  153. }
  154. $fieldName = 'group';
  155. $attributes = 'size="10"';
  156. if(K2_JVERSION == '16') {
  157. $attributes .= 'multiple="multiple"';
  158. $fieldName .= '[]';
  159. }
  160. $lists['group'] = JHTML::_('select.genericlist', $groups, $fieldName, $attributes, 'value', 'text', '');
  161. $K2userGroups = $model->getUserGroups('k2');
  162. $K2groups[] = JHTML::_('select.option', '0', JText::_('K2_DO_NOT_CHANGE'));
  163. foreach ($K2userGroups as $K2userGroup) {
  164. $K2groups[] = JHTML::_('select.option', $K2userGroup->id, $K2userGroup->name);
  165. }
  166. $lists['k2group'] = JHTML::_('select.genericlist', $K2groups, 'k2group', 'size="10"', 'value', 'text', 0);
  167. $this->assignRef('lists', $lists);
  168. JToolBarHelper::title( JText::_('K2_MOVE_USERS'), 'k2.png' );
  169. JToolBarHelper::custom('saveMove','save.png','save_f2.png','K2_SAVE', false);
  170. JToolBarHelper::cancel();
  171. parent::display();
  172. }
  173. }