コード例 #1
0
    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');
            ?>
&nbsp;
    </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;
                            ?>
&nbsp;
        </span>
<?php 
                        }
                        ?>
              (<?php 
                        echo Joom_GetNumberOfLinks($cur_name->cid);
                        ?>
)<?php 
                        echo $isnew;
                        ?>
&nbsp;
<?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;
                            ?>
&nbsp;
              </span>
<?php 
                        }
                        ?>
              (<?php 
                        echo Joom_GetNumberOfLinks($cur_name->cid);
                        ?>
) <?php 
                        echo $isnew;
                        ?>
&nbsp;
            </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;
                            ?>
&nbsp;
            </span>
<?php 
                        }
                        ?>
            (<?php 
                        echo Joom_GetNumberOfLinks($cur_name->cid);
                        ?>
) <?php 
                        echo $isnew;
                        ?>
&nbsp;
          </li>
<?php 
                    }
                    if ($config->jg_rmsm > 0) {
                        if ($cur_name->access > 1) {
                            ?>
          <li>
            <span class="jg_sm">
              <?php 
                            echo JText::_('JGS_SPECIAL_MEMBERS');
                            ?>
&nbsp;
            </span>
          </li>
<?php 
                        } elseif ($cur_name->access > 0) {
                            ?>
          <li>
            <span class="jg_rm">
              <?php 
                            echo JText::_('JGS_REGISTERED_MEMBERS');
                            ?>
&nbsp;
            </span>
          </li>
<?php 
                        }
                    }
                }
                if ($user->get('aid') >= $cur_name->access) {
                    if ($config->jg_showtotalsubcathits) {
                        ?>
          <li>
            <?php 
                        echo JText::_('JGS_HITS');
                        ?>
: <?php 
                        echo $totalhits;
                        ?>
&nbsp;
          </li>
<?php 
                    }
                    if ($cur_name->description) {
                        ?>
          <li>
            <?php 
                        echo $cur_name->description;
                        ?>
&nbsp;
          </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
    }
コード例 #2
0
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 = '&nbsp' . '<span class="jg_rm">' . JText::_('JGS_REGISTERED_MEMBERS') . '</span>';
                } elseif (intval($category->access) == 2) {
                    $rm_or_sm = '&nbsp' . '<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 .= '&nbsp' . $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 
    }
}
コード例 #3
0
/**
 * 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;
}