Action: PageindexNoCluster

bugs:
Compatible with: R5.5
Current version:
Credits: BlackMizi

{{PageindexNoCluster}}


/actions/pageindexnocluster.php


<?php

if (!defined('IN_WACKO'))
{
    exit;
}

//  action 'pageindexnocluster'
//  modified by BlackMizi am 14.11.2006

$pages_to_display    = [];
$all_caps            = [];
$sql                "SELECT " $this->page_meta "
                        FROM " 
$this->db->table_prefix "page
                        WHERE deleted = '0'
                            AND comment_on_id = '0'
                        ORDER BY BINARY tag"
;
$curKey '';
$oldKey '@@@';

if (
$pages $this->load_all($sql))
{
    foreach (
$pages as $page)
    {
        if (
strrpos($page['tag'], '/'))
        {
            
array_push($pagesubstr($page['tag'], strrpos($page['tag'], '/') + 1));
        }
        else
        {    
array_push($page$page['tag']);}

        if (
$this->config['hide_locked'])
        {
            
$access $this->has_access('read'$page['tag']);
        }
        else
        {
            
$access true;
        }

        if (
$access)
        {
            
$pages_to_display[$page['tag']] = $page;
        }
    }
}

function 
sortiere($a$b)
{
    return 
strcasecmp($a[0], $b[0]);
}

uasort($pages_to_display'sortiere');

// Vorhandene Buchstaben heraussuchen
foreach ($pages_to_display as $page)
{
    
$firstChar strtoupper($page[0][0]);

    if (!
preg_match('/' $this->language['ALPHA'] . '/'$firstChar))
    {
        
$firstChar '#';
    }

    
array_push($all_caps$firstChar);
}

if (
$pages_to_display)
{
    
$firstChar '';

    foreach (
$pages_to_display as $page)
    {
        
// Hole den aktuell möglichen Index.
        
$curKey strtoupper($page[0][0]);

        
// Haben wir einen Gruppenwechsel?
        
if ($oldKey != $curKey)
        {
            
// Haben wir schon einmal einen Index ausgegeben?
            
if ($firstChar)
            {
                
// Dann gib eine Leerzeile aus.
                
echo "<br />\n";
            }

            
// Ausgeben des Indexbuchstabens.
            
$firstChar $curKey;

            echo 
'<strong>';
            echo 
$firstChar;
            echo 
"</strong><br />\n";

            if (!
preg_match('/' $this->language['ALPHA'] . '/'$firstChar))
            {
                
$firstChar '#';
            }
        }

        
// Link ausgeben.
        
if ($firstChar == $curKey)
        {
            
//echo $this->link('/' . $page['tag'], '', $page[0] . ' (' . $page['tag'] . ')') . "<br />\n";
            
echo $this->link('/' $page['tag'], ''$page[0]) . "<br />\n";
        }

        
// Aktuellen Index merken für den Gruppenwechsel.
        
$oldKey $curKey;
    }
}
else
{
    echo 
$this->_t('NoPagesFound');
}

?>

1.1. Documentation

for users available for copy and paste

1.2. How to

1.2.1. Localization (optional)

put this at the end of your language file


/lang/wacko.xyz.php

//hacks
"YourPhrase" => "your translation here",


pls. notice that this entry will not survive an Wacko upgrade, so you have to redo this


[xyz] proposed translations
[de] ...
[fr]
[ru]

1.3. To Do


Referring pages:

Dev/PatchesHacks