Skip to content
Snippets Groups Projects
kb-categories.inc.php 3.94 KiB
Newer Older
  • Learn to ignore specific revisions
  • <div class="row">
    <div class="span8">
    <?php
        $categories = Category::objects()
    
            ->exclude(Q::any(array(
                'ispublic'=>Category::VISIBILITY_PRIVATE,
    
                Q::all(array(
                        'faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
                        'children__ispublic' => Category::VISIBILITY_PRIVATE,
                        'children__faqs__ispublished'=>FAQ::VISIBILITY_PRIVATE,
                        ))
    
            //->annotate(array('faq_count'=>SqlAggregate::COUNT('faqs__ispublished')));
            ->annotate(array('faq_count' => SqlAggregate::COUNT(
                            SqlCase::N()
                            ->when(array(
                                    'faqs__ispublished__gt'=> FAQ::VISIBILITY_PRIVATE), 1)
                            ->otherwise(null)
    
    Peter Rotich's avatar
    Peter Rotich committed
            )))
            ->annotate(array('children_faq_count' => SqlAggregate::COUNT(
                            SqlCase::N()
                            ->when(array(
                                    'children__faqs__ispublished__gt'=> FAQ::VISIBILITY_PRIVATE), 1)
                            ->otherwise(null)
    
            )));
    
           // ->filter(array('faq_count__gt' => 0));
    
        if ($categories->exists(true)) { ?>
    
            <div><?php echo __('Click on the category to browse FAQs.'); ?></div>
            <ul id="kb">
    <?php
    
            foreach ($categories as $C) {
                // Don't show subcategories with parents.
                if (($p=$C->parent)
                        && ($categories->findFirst(array(
                                    'category_id' => $p->getId()))))
                    continue;
    
    
    Peter Rotich's avatar
    Peter Rotich committed
                $count = $C->faq_count + $C->children_faq_count;
    
                <li><i></i>
                <div style="margin-left:45px">
    
                <h4><?php echo sprintf('<a href="faq.php?cid=%d">%s %s</a>',
    
    JediKev's avatar
    JediKev committed
                    $C->getId(), Format::htmlchars($C->getLocalName()),
    
    Peter Rotich's avatar
    Peter Rotich committed
                    $count ? "({$count})": ''
    
                <div class="faded" style="margin:10px 0">
                    <?php echo Format::safe_html($C->getLocalDescriptionWithImages()); ?>
                </div>
    
    <?php
                if (($subs=$C->getPublicSubCategories())) {
                    echo '<p/><div style="padding-bottom:15px;">';
                    foreach ($subs as $c) {
                        echo sprintf('<div><i class="icon-folder-open"></i>
                                <a href="faq.php?cid=%d">%s (%d)</a></div>',
                                $c->getId(),
                                $c->getLocalName(),
    
    Peter Rotich's avatar
    Peter Rotich committed
                                $c->faq_count
    
                                );
                    }
                    echo '</div>';
                }
    
                foreach ($C->faqs
    
                        ->exclude(array('ispublished'=>FAQ::VISIBILITY_PRIVATE))
    
                    <div class="popular-faq"><i class="icon-file-alt"></i>
                    <a href="faq.php?id=<?php echo $F->getId(); ?>">
                    <?php echo $F->getLocalQuestion() ?: $F->getQuestion(); ?>
                    </a></div>
    <?php       } ?>
                </div>
                </li>
    <?php   } ?>
           </ul>
    <?php
        } else {
            echo __('NO FAQs found');
        }
    ?>
    </div>
    <div class="span4">
        <div class="sidebar">
        <div class="searchbar">
            <form method="get" action="faq.php">
            <input type="hidden" name="a" value="search"/>
            <select name="topicId"  style="width:100%;max-width:100%"
                onchange="javascript:this.form.submit();">
    
                <option value=""><?php echo __("Browse by Topic"); ?></option>
    
    <?php
    $topics = Topic::objects()
    
        ->annotate(array('has_faqs'=>SqlAggregate::COUNT('faqs')))
    
        ->filter(array('has_faqs__gt'=>0));
    foreach ($topics as $T) { ?>
            <option value="<?php echo $T->getId(); ?>"><?php echo $T->getFullName();
                ?></option>
    <?php } ?>
            </select>
            </form>
        </div>
        <br/>
        <div class="content">
            <section>
                <div class="header"><?php echo __('Other Resources'); ?></div>
            </section>
        </div>
        </div>
    </div>
    </div>