function Joom_ShowSubCategories_HTML(&$rows) { $config = Joom_getConfig(); $mainframe =& JFactory::getApplication('site'); $database =& JFactory::getDBO(); $user =& JFactory::getUser(); $pic_count = count($rows); $num_rows = ceil($pic_count / $config->jg_colsubcat); $index = 0; ?> <div class="jg_subcat"> <?php if ($config->jg_showsubcathead) { ?> <div class="sectiontableheader"> <?php echo JText::_('JGS_SUBCATEGORIES'); ?> </div> <?php } ?> </div> <?php //Ausrichtung entsprechend der globalen Vorgabe switch ($config->jg_subcatthumbalign) { case 1: $img_position = 'left'; break; case 2: $img_position = 'right'; break; case 3: $img_position = 'middle'; break; } for ($row_count = 0; $row_count < $num_rows; $row_count++) { $linecolor = ($row_count + 1) % 2 + 1; ?> <div class="jg_row <?php if ($linecolor == 1) { echo "sectiontableentry1"; } else { echo "sectiontableentry2"; } ?> "> <?php for ($col_count = 0; $col_count < $config->jg_colsubcat && $index < $pic_count; $col_count++) { $cur_name = $rows[$index]; if ($config->jg_showcatasnew) { $isnew = Joom_CheckNewCatg($cur_name->cid); } else { $isnew = ''; } $catpath = $cur_name->catpath . '/'; ?> <div class="jg_subcatelem_cat"> <?php if ($cur_name != NULL) { if ($config->jg_showsubthumbs != 0) { ?> <div class="jg_subcatelem_photo"> <?php } if ($config->jg_showsubthumbs == 1) { if ($user->get('aid') >= $cur_name->access && $cur_name->catimage != '') { ?> <a href="<?php echo JRoute::_($this->viewcategory_url . $cur_name->cid . _JOOM_ITEMID); ?> "> <img src="<?php echo _JOOM_LIVE_SITE . $config->jg_paththumbs . $catpath . $cur_name->catimage; ?> " align="<?php echo $img_position; ?> " hspace="4" vspace="0" class="jg_photo" alt="<?php echo $cur_name->name; ?> " /> </a> <?php } ?> </div> <div class="jg_subcatelem_txt"> <img src="<?php echo $this->assetsimages_url . 'arrow.png'; ?> " class="pngfile jg_icon" alt="arrow" /> <?php if ($user->get('aid') >= $cur_name->access) { ?> <a href="<?php echo JRoute::_($this->viewcategory_url . $cur_name->cid . _JOOM_ITEMID); ?> "> <?php echo $cur_name->name; ?> </a> <?php } else { ?> <span class="jg_no_access" onMouseOver="return overlib('<?php echo JText::_('JGS_ALERT_YOU_NOT_ACCESS_THIS_DIRECTORY', true); ?> ', CAPTION, '<?php echo addslashes($cur_name->name); ?> ', BELOW, RIGHT);" onmouseout="return nd();"> <?php echo $cur_name->name; ?> </span> <?php } ?> (<?php echo Joom_GetNumberOfLinks($cur_name->cid); ?> )<?php echo $isnew; ?> <?php } if ($config->jg_showsubthumbs == 0) { ?> <div class="jg_subcatelem_txt"> <ul> <li> <img src="<?php echo $this->assetsimages_url . 'arrow.png'; ?> " class="pngfile jg_icon" alt="arrow" /> <?php if ($user->get('aid') >= $cur_name->access) { ?> <a href="<?php echo JRoute::_($this->viewcategory_url . $cur_name->cid . _JOOM_ITEMID); ?> "> <?php echo $cur_name->name; ?> </a> <?php } else { ?> <span class="jg_no_access" onMouseOver="return overlib('<?php echo JText::_('JGS_ALERT_YOU_NOT_ACCESS_THIS_DIRECTORY', true); ?> ', CAPTION, '<?php echo addslashes($cur_name->name); ?> ', BELOW, RIGHT);" onmouseout="return nd();"> <?php echo $cur_name->name; ?> </span> <?php } ?> (<?php echo Joom_GetNumberOfLinks($cur_name->cid); ?> ) <?php echo $isnew; ?> </li> <?php } if ($config->jg_showsubthumbs == 2) { $allsubcats = Joom_GetAllSubCategories($cur_name->cid, $config->jg_showrandomsubthumb); if ($allsubcats) { mt_srand(); $randomsubcat = $allsubcats[mt_rand(0, count($allsubcats) - 1)]; } else { $randomsubcat = '0'; } } if ($config->jg_showtotalsubcathits) { if ($config->jg_showrandomsubthumb > 2 && $config->jg_showsubthumbs == 2) { $totalsubcats = $allsubcats; } else { $totalsubcats = Joom_GetAllSubCategories($cur_name->cid, 4); } $totalhits = Joom_GetTotalHits($totalsubcats); } if ($config->jg_showsubthumbs == 2) { //random pic nur, wenn auch $randomsubcat(s) vorhanden if ($config->jg_showrandomsubthumb == 1 || $config->jg_showrandomsubthumb >= 2 && $randomsubcat != '0') { $subcatid = $cur_name->cid; $query = " SELECT \n *,\n c.access \n FROM \n #__joomgallery AS p\n LEFT JOIN \n #__joomgallery_catg AS c ON c.cid = p.catid\n WHERE \n "; if ($config->jg_showrandomsubthumb == 1) { $query .= " p.catid = {$cur_name->cid}"; } elseif ($config->jg_showrandomsubthumb >= 2) { $query .= " p.catid = {$randomsubcat}"; $catpath = Joom_getCatPath($randomsubcat); } $query .= " AND p.published = '1' \n AND p.approved = '1' \n AND c.access <= " . $user->get('aid') . " \n AND c.published = '1'\n ORDER BY \n rand() \n LIMIT 1\n "; $database->setQuery($query); $rows2 = $database->loadObjectList(); $count = count($rows2); } else { $count = 0; } if ($count > 0) { $row3 = $rows2[0]; if ($row3->imgfilename != '') { ?> <a href="<?php echo JRoute::_($this->viewcategory_url . $cur_name->cid . _JOOM_ITEMID); ?> "> <img src="<?php echo _JOOM_LIVE_SITE . $config->jg_paththumbs . $catpath . $row3->imgfilename; /*// vorher $row3->catpath.'/' anstatt $catpath */ ?> " align="<?php echo $img_position; ?> " hspace="4" vspace="0" class="jg_photo" alt="<?php echo $cur_name->name . " :: " . $row3->imgtitle; ?> " /> </a> <?php } } ?> </div> <div class="jg_subcatelem_txt"> <ul> <li> <img src="<?php echo $this->assetsimages_url . 'arrow.png'; ?> " class="pngfile jg_icon" alt="arrow" /> <?php if ($user->get('aid') >= $cur_name->access) { ?> <a href="<?php echo JRoute::_($this->viewcategory_url . $cur_name->cid . _JOOM_ITEMID); ?> "> <?php echo $cur_name->name; ?> </a> <?php } else { ?> <span class="jg_no_access" onMouseOver="return overlib('<?php echo JText::_('JGS_ALERT_YOU_NOT_ACCESS_THIS_DIRECTORY', true); ?> ', CAPTION, '<?php echo addslashes($cur_name->name); ?> ', BELOW, RIGHT);" onmouseout="return nd();"> <?php echo $cur_name->name; ?> </span> <?php } ?> (<?php echo Joom_GetNumberOfLinks($cur_name->cid); ?> ) <?php echo $isnew; ?> </li> <?php } if ($config->jg_rmsm > 0) { if ($cur_name->access > 1) { ?> <li> <span class="jg_sm"> <?php echo JText::_('JGS_SPECIAL_MEMBERS'); ?> </span> </li> <?php } elseif ($cur_name->access > 0) { ?> <li> <span class="jg_rm"> <?php echo JText::_('JGS_REGISTERED_MEMBERS'); ?> </span> </li> <?php } } } if ($user->get('aid') >= $cur_name->access) { if ($config->jg_showtotalsubcathits) { ?> <li> <?php echo JText::_('JGS_HITS'); ?> : <?php echo $totalhits; ?> </li> <?php } if ($cur_name->description) { ?> <li> <?php echo $cur_name->description; ?> </li> <?php } } $mainframe->triggerEvent('onAfterDisplayJoomCatThumb', array($cur_name->cid)); ?> </ul> </div> </div> <?php $index++; } // for loop over cols in row ?> <div class="jg_clearboth"></div> </div> <?php } // for loop over rows }
function Joom_ShowCategoryTree($rootcatid, $ctalign) { $config = Joom_getConfig(); $database =& JFactory::getDBO(); $user =& JFactory::getUser(); // get all categories $query = " SELECT \n cid, \n name, \n parent, \n access\n FROM \n #__joomgallery_catg\n WHERE \n published = '1'\n ORDER BY \n parent ASC, \n name ASC\n "; $database->setQuery($query); $categories = $database->LoadObjectList(); // check access rights settings $filter_cats = false; $show_rmsm = false; $show_rmsm_cats = false; if (!$config->jg_rmsm && !$config->jg_showrmsmcats) { $filter_cats = true; } else { if ($config->jg_rmsm) { $show_rmsm = true; } if ($config->jg_showrmsmcats) { $show_rmsm_cats = true; } } // Array to hold the relevant subcategory objects $subcategories = array(); // array to hold the valid parent categories $validParentCats = array(); $validParentCats[] = $rootcatid; // get all relevant the subcategories foreach ($categories as $category) { if (($category->parent == $rootcatid || in_array($category->parent, $validParentCats)) && ($filter_cats == false || $user->get('aid') >= $category->access)) { $subcategories[] = $category; $validParentCats[] = $category->cid; } } // show the treeview $count = count($subcategories); if ($count > 0) { if ($ctalign == 'left') { ?> <div class="jg_treeview_l"> <?php } elseif ($ctalign == 'right') { ?> <div class="jg_treeview_r"> <?php } else { ?> <div class="jg_treeview_c"> <?php } // Debug // echo "ctalign=".$ctalign; ?> <table> <tr> <td> <script type="text/javascript" language="javascript"> <!-- // create new dTree object var jg_TreeView<?php echo $rootcatid; ?> = new jg_dTree( <?php echo "'" . "jg_TreeView" . $rootcatid . "'"; ?> , <?php echo "'" . _JOOM_LIVE_SITE . "components/com_joomgallery/assets/js/dTree/img/" . "'"; ?> ); // dTree configuration jg_TreeView<?php echo $rootcatid; ?> .config.useCookies = true; jg_TreeView<?php echo $rootcatid; ?> .config.inOrder = true; jg_TreeView<?php echo $rootcatid; ?> .config.useSelection = false; // add root node jg_TreeView<?php echo $rootcatid; ?> .add( 0, -1, ' ', <?php echo "'" . JRoute::_('index.php?option=com_joomgallery' . $rootcatid . _JOOM_ITEMID) . "'"; ?> , false ); // add node to hold all subcategories jg_TreeView<?php echo $rootcatid; ?> .add( <?php echo $rootcatid; ?> , 0, <?php echo "'" . JText::_('JGS_SUBCATEGORIES') . "(" . $count . ")" . "'"; ?> , <?php echo "'" . JRoute::_('index.php?option=com_joomgallery&func=viewcategory&catid=' . $rootcatid . _JOOM_ITEMID) . "'"; ?> , false ); <?php foreach ($subcategories as $category) { // create subcategory name and subcategory link $rm_or_sm = ""; if ($filter_cats == false || $user->get('aid') >= $category->access) { if ($user->get('aid') >= $category->access) { $cat_name = addslashes(trim($category->name)); $cat_link = JRoute::_('index.php?option=com_joomgallery&func=viewcategory&catid=' . $category->cid . _JOOM_ITEMID, false); } else { $cat_name = $show_rmsm_cats == true ? addslashes(trim($category->name)) : JText::_('JGS_NO_ACCESS'); $cat_link = ''; } } if ($show_rmsm == true) { if (intval($category->access) == 1) { $rm_or_sm = ' ' . '<span class="jg_rm">' . JText::_('JGS_REGISTERED_MEMBERS') . '</span>'; } elseif (intval($category->access) == 2) { $rm_or_sm = ' ' . '<span class="jg_sm">' . JText::_('JGS_SPECIAL_MEMBERS') . '</span>'; } $cat_name .= $rm_or_sm; } if ($config->jg_showcatasnew) { $isnew = Joom_CheckNewCatg($category->cid); } else { $isnew = ''; } $cat_name .= ' ' . $isnew; // add node if ($category->parent == $rootcatid) { ?> jg_TreeView<?php echo $rootcatid; ?> .add(<?php echo $category->cid; ?> , <?php echo $rootcatid; ?> , <?php echo "'" . $cat_name . "'"; ?> , <?php echo "'" . $cat_link . "'"; ?> , <?php echo $user->get('aid') >= $category->access ? 'false' : 'true'; ?> ); <?php } else { ?> jg_TreeView<?php echo $rootcatid; ?> .add(<?php echo $category->cid; ?> , <?php echo $category->parent; ?> , <?php echo "'" . $cat_name . "'"; ?> , <?php echo "'" . $cat_link . "'"; ?> , <?php echo $user->get('aid') >= $category->access ? 'false' : 'true'; ?> ); <?php } } ?> document.write(jg_TreeView<?php echo $rootcatid; ?> ); --> </script> </td> </tr> </table> </div> <?php } }
/** * Check pictures of category and evtl. subcategories * call Joom_CheckNew() to decide if NEW * recursion call, premature terminate if 'NEW' applies to * * @param string $catids_values id's of cats 'x,y' * @return string.....$isnew */ function Joom_CheckNewCatg($catids_values) { $config = Joom_getConfig(); $database =& JFactory::getDBO(); $user =& JFactory::getUser(); $isnewcat = ""; //search in db the categories in $catids_values $database->setQuery("SELECT MAX(imgdate)\n FROM #__joomgallery AS a\n LEFT JOIN #__joomgallery_catg AS c ON c.cid=a.catid\n WHERE a.catid in ({$catids_values})\n AND a.published = '1' AND a.approved='1'\n AND c.access <= " . $user->get('aid') . " AND c.published = '1'"); $maxdate = $database->loadResult(); if ($database->getErrorNum()) { //TODO error handling echo $database->stderr(true); } //if maxdate = NULL no picture found //otherwise check the date to 'new' if ($maxdate != NULL) { $isnewcat = Joom_CheckNew($maxdate, $config->jg_catdaysnew); //terminate if 'new' found if ($isnewcat != "") { return $isnewcat; } } //no picture found in cat marked as new //check subcategories with $parent=cid $database->setQuery("SELECT cid\n FROM #__joomgallery_catg\n WHERE parent in ({$catids_values})\n AND access <= " . $user->get('aid') . " AND published = '1' "); //if 0 rows no existent subcategories //terminate with return of new="" $catids = $database->loadResultArray(); if ($database->getErrorNum()) { echo $database->stderr(true); } if (count($catids) == 0) { return ""; } //split array in comma separated string $catids_values = implode(",", $catids); //call function again and check 'new' $isnewcat = Joom_CheckNewCatg($catids_values); //if no new found at all //return empty string return $isnewcat; }