bludit/bl-plugins/pages/plugin.php

93 lines
2.3 KiB
PHP
Raw Permalink Normal View History

2015-07-07 06:24:51 +02:00
<?php
class pluginPages extends Plugin {
public function init()
{
$this->dbFields = array(
'homeLink'=>1,
2015-08-01 18:28:47 +02:00
'label'=>'Pages'
2015-07-07 06:24:51 +02:00
);
}
2015-07-14 04:16:28 +02:00
public function form()
{
global $Language;
$html = '<div>';
2015-09-23 00:41:10 +02:00
$html .= '<label>'.$Language->get('Plugin label').'</label>';
2015-08-01 18:28:47 +02:00
$html .= '<input name="label" id="jslabel" type="text" value="'.$this->getDbField('label').'">';
$html .= '</div>';
$html .= '<div>';
$html .= '<input type="hidden" name="homeLink" value="0">';
$html .= '<input name="homeLink" id="jshomeLink" type="checkbox" value="1" '.($this->getDbField('homeLink')?'checked':'').'>';
2015-07-14 04:16:28 +02:00
$html .= '<label class="forCheckbox" for="jshomeLink">'.$Language->get('Show home link').'</label>';
2015-08-01 18:28:47 +02:00
$html .= '</div>';
2015-07-14 04:16:28 +02:00
return $html;
}
2015-08-07 04:13:55 +02:00
public function siteSidebar()
2015-07-07 06:24:51 +02:00
{
global $Language;
global $pagesParents;
2015-09-08 19:40:25 +02:00
global $Site, $Url;
2015-09-10 04:33:31 +02:00
2015-07-07 06:24:51 +02:00
$html = '<div class="plugin plugin-pages">';
2015-09-08 02:51:48 +02:00
2015-09-20 23:46:50 +02:00
// Print the label if not empty.
2015-09-08 02:51:48 +02:00
$label = $this->getDbField('label');
if( !empty($label) ) {
$html .= '<h2>'.$label.'</h2>';
}
2015-07-07 06:24:51 +02:00
$html .= '<div class="plugin-content">';
2016-07-26 01:40:51 +02:00
$html .= '<ul class="parents">';
2015-07-07 06:24:51 +02:00
2015-09-20 23:46:50 +02:00
// Show home link ?
2015-07-14 04:16:28 +02:00
if($this->getDbField('homeLink')) {
2015-09-20 23:46:50 +02:00
$html .= '<li>';
$html .= '<a class="parent'.( ($Url->whereAmI()=='home')?' active':'').'" href="'.$Site->homeLink().'">'.$Language->get('Home').'</a>';
$html .= '</li>';
2015-07-14 04:16:28 +02:00
}
2015-09-20 23:46:50 +02:00
$parents = $pagesParents[NO_PARENT_CHAR];
2015-07-07 06:24:51 +02:00
foreach($parents as $parent)
{
// Check if the parent is published
if( $parent->published() )
2015-07-07 06:24:51 +02:00
{
// Print the parent
2016-07-26 01:40:51 +02:00
$html .= '<li class="parent">';
$html .= '<a class="parent'.( ($parent->key()==$Url->slug())?' active':'').'" href="'.$parent->permalink().'">'.$parent->title().'</a>';
2015-07-07 06:24:51 +02:00
// Check if the parent has children
if(isset($pagesParents[$parent->key()]))
2015-07-07 06:24:51 +02:00
{
$children = $pagesParents[$parent->key()];
// Print children
$html .= '<ul class="children">';
foreach($children as $child)
{
// Check if the child is published
if( $child->published() )
{
$html .= '<li class="child">';
$html .= '<a class="'.( ($child->key()==$Url->slug())?' active':'').'" href="'.$child->permalink().'">'.$child->title().'</a>';
$html .= '</li>';
}
}
$html .= '</ul>';
2015-07-07 06:24:51 +02:00
}
}
}
$html .= '</li></ul>';
2015-07-07 06:24:51 +02:00
$html .= '</div>';
$html .= '</div>';
return $html;
}
2015-12-01 01:44:45 +01:00
}