示例#1
0
 static function ownersList($option)
 {
     global $database, $my, $Itemid, $mainframe, $booklibrary_configuration, $acl, $mosConfig_list_limit, $limit, $limitstart;
     PHP_booklibrary::addTitleAndMetaTags();
     $symbol = mosGetParam($_REQUEST, 'letindex', '');
     $symbol_str = '';
     if ($symbol) {
         $symbol_str = " AND (LOWER(u.name) LIKE '{$symbol}%' ) ";
     }
     //getting groups of user
     $s = getWhereUsergroupsString("c");
     //   $menu = new JTableMenu( $database );
     //   $menu->load( $Itemid );
     //   $params = new mosParameters( $menu->params );
     if (version_compare(JVERSION, '3.0', 'ge')) {
         $menu = new JTableMenu($database);
         $menu->load($Itemid);
         $params = new JRegistry();
         $params->loadString($menu->params);
     } else {
         $menu = new mosMenu($database);
         $menu->load($Itemid);
         $params = new mosParameters($menu->params);
     }
     $database->setQuery("SELECT id FROM #__menu WHERE link='index.php?option=com_booklibrary'");
     if ($database->loadResult() != $Itemid) {
         $params->def('wrongitemid', '1');
     }
     $params->def('header', _BOOKLIBRARY_LABEL_TITLE_OWNERSLIST);
     if (!$params->get('wrongitemid')) {
         $pathway = sefRelToAbs('index.php?option=' . $option . '&task=owners_list&Itemid=' . $Itemid);
         $pathway_name = _BOOKLIBRARY_LABEL_TITLE_OWNERSLIST;
         $mainframe->appendPathWay($pathway_name, $pathway);
     }
     if (checkAccessBL($booklibrary_configuration['ownerslist']['registrationlevel'], 'NORECURSE', userGID_BL($my->id), $acl) && $booklibrary_configuration['ownerslist']['show']) {
         $params->def('ownerslist_show', 1);
     }
     $db = JFactory::getDBO();
     $query = "SELECT COUNT(DISTINCT u.email)\n                          \nFROM #__booklibrary AS bl\n                          \nLEFT JOIN #__booklibrary_categories AS mc ON mc.bookid=bl.id\n                          \nLEFT JOIN #__booklibrary_main_categories AS c ON c.id=mc.catid\n                          \nLEFT JOIN #__users AS u ON bl.owneremail=u.email\n                          \nWHERE bl.published=1 AND bl.approved=1 AND c.published=1\n                                AND ({$s}) {$symbol_str};\n                          ";
     $database->setQuery($query);
     $total = $database->loadResult();
     $pageNav = new JPagination($total, $limitstart, $limit);
     // for J 1.6
     $query = "SELECT u.name, COUNT(DISTINCT mc.bookid) AS books\n                          \nFROM #__booklibrary AS bl\n                          \nLEFT JOIN #__booklibrary_categories AS mc ON  mc.bookid=bl.id\n                          \nLEFT JOIN #__booklibrary_main_categories AS c ON c.id=mc.catid\n                          \nLEFT JOIN #__users AS u ON bl.owneremail=u.email\n                          \nWHERE bl.published=1 AND bl.approved=1 AND c.published=1 AND bl.owneremail!=''\n                                  AND ({$s}) {$symbol_str}\n                          \nGROUP BY u.name\n                          \nORDER BY u.name\n                          \nLIMIT {$pageNav->limitstart},{$pageNav->limit};";
     $database->setQuery($query);
     $ownerslist = $database->loadObjectList();
     if (!empty($ownerslist[0]->books) && !isset($ownerslist[0]->name)) {
         $ownerslist[0]->name = 'anonymous';
     }
     $query = "SELECT DISTINCT UPPER(SUBSTRING(u.name, 1,1)) AS symb \n                          \nFROM #__booklibrary AS bl\n                          \nLEFT JOIN #__booklibrary_categories AS mc ON mc.bookid=bl.id\n                          \nLEFT JOIN #__booklibrary_main_categories AS c ON c.id=mc.catid\n                          \nLEFT JOIN #__users AS u ON bl.owneremail=u.email\n                          \nWHERE bl.published=1 AND bl.approved=1 AND c.published=1 AND bl.owneremail!=''\n                                  AND ({$s})\n                          \nORDER BY u.name ;";
     $database->setQuery($query);
     $symb = $database->loadObjectList();
     if (count($symb) > 0) {
         $symb_list_str = '<div style="display:inline; margin-left:auto;margin-right:auto;">';
         foreach ($symb as $symbol) {
             $symb_list_str .= '<span style="padding:5px; ">' . '<a href="index.php?option=' . $option . '&task=owners_list' . '&letindex=' . $symbol->symb . '&Itemid=' . $Itemid . '">' . $symbol->symb . '</a></span>';
         }
         $symb_list_str .= "</div>";
         $params->def('symb_list_str', $symb_list_str);
     }
     $params->def('ownerlist01', "{loadposition com_booklibrary_owner_list_01}");
     $params->def('ownerlist02', "{loadposition com_booklibrary_owner_list_02}");
     $params->def('ownerlist03', "{loadposition com_booklibrary_owner_list_03}");
     //print_r($ownerslist);
     HTML_booklibrary::showOwnersList($params, $ownerslist, $pageNav);
 }