[ Index ] |
|
Code source de Dotclear 2.0-beta6 |
1 <?php 2 # ***** BEGIN LICENSE BLOCK ***** 3 # This file is part of DotClear. 4 # Copyright (c) 2005 Olivier Meunier and contributors. All rights 5 # reserved. 6 # 7 # DotClear is free software; you can redistribute it and/or modify 8 # it under the terms of the GNU General Public License as published by 9 # the Free Software Foundation; either version 2 of the License, or 10 # (at your option) any later version. 11 # 12 # DotClear is distributed in the hope that it will be useful, 13 # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 # GNU General Public License for more details. 16 # 17 # You should have received a copy of the GNU General Public License 18 # along with DotClear; if not, write to the Free Software 19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 # 21 # ***** END LICENSE BLOCK ***** 22 23 include dirname(__FILE__).'/_default_widgets.php'; 24 require_once dirname(__FILE__).'/_widgets_functions.php'; 25 26 $core->tpl->addValue('Widgets',array('publicWidgets','tplWidgets')); 27 28 class publicWidgets 29 { 30 public static function tplWidgets($attr) 31 { 32 $type = isset($attr['type']) ? $attr['type'] : 'nav'; 33 34 return 35 '<?php '. 36 "publicWidgets::widgetsHandler('".addslashes($type)."'); ". 37 ' ?>'; 38 } 39 40 public static function widgetsHandler($type) 41 { 42 $wtype = 'widgets_'.$type; 43 $widgets = $GLOBALS['core']->blog->settings->{$wtype}; 44 45 if (!$widgets) { // If widgets value is empty, get defaults 46 $widgets = self::defaultWidgets($type); 47 } else { // Otherwise, load widgets 48 $widgets = dcWidgets::load($widgets); 49 } 50 51 if ($widgets->isEmpty()) { // Widgets are empty, don't show anything 52 return; 53 } 54 55 foreach ($widgets->elements() as $k => $w) { 56 echo $w->call($k); 57 } 58 } 59 60 private static function defaultWidgets($type) 61 { 62 $widgets = new dcWidgets(); 63 $w = new dcWidgets(); 64 65 if (isset($GLOBALS['__default_widgets'][$type])) { 66 $w = $GLOBALS['__default_widgets'][$type]; 67 } 68 69 return $w; 70 } 71 } 72 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Feb 23 22:16:06 2007 | par Balluche grâce à PHPXref 0.7 |