[ Index ] |
|
Code source de Serendipity 1.2 |
1 <?php # $Id: serendipity_event_templatechooser.php 1612 2007-02-08 12:08:43Z garvinhicking $ 2 3 4 if (IN_serendipity !== true) { 5 die ("Don't hack!"); 6 } 7 8 // Probe for a language include with constants. Still include defines later on, if some constants were missing 9 $probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php'; 10 if (file_exists($probelang)) { 11 include $probelang; 12 } 13 14 include dirname(__FILE__) . '/lang_en.inc.php'; 15 16 17 class serendipity_event_templatechooser extends serendipity_event 18 { 19 var $title = PLUGIN_EVENT_TEMPLATECHOOSER_NAME; 20 21 function introspect(&$propbag) 22 { 23 global $serendipity; 24 25 $propbag->add('name', PLUGIN_EVENT_TEMPLATECHOOSER_NAME); 26 $propbag->add('description', PLUGIN_EVENT_TEMPLATECHOOSER_DESC); 27 $propbag->add('stackable', false); 28 $propbag->add('author', 'Evan Nemerson'); 29 $propbag->add('version', '1.4'); 30 $propbag->add('requirements', array( 31 'serendipity' => '0.8', 32 'smarty' => '2.6.7', 33 'php' => '4.1.0' 34 )); 35 $propbag->add('groups', array('BACKEND_TEMPLATES')); 36 $propbag->add('event_hooks', array('frontend_configure' => true)); 37 38 // Register (multiple) dependencies. KEY is the name of the depending plugin. VALUE is a mode of either 'remove' or 'keep'. 39 // If the mode 'remove' is set, removing the plugin results in a removal of the depending plugin. 'Keep' meens to 40 // not touch the depending plugin. 41 $this->dependencies = array('serendipity_plugin_templatedropdown' => 'remove'); 42 } 43 44 function generate_content(&$title) { 45 $title = $this->title; 46 } 47 48 function event_hook($event, &$bag, &$eventData) { 49 global $serendipity; 50 51 $hooks = &$bag->get('event_hooks'); 52 53 if (isset($hooks[$event])) { 54 switch($event) { 55 case 'frontend_configure': 56 57 if (isset($serendipity['COOKIE']['user_template']) && !isset($_REQUEST['user_template'])) { 58 $_REQUEST['user_template'] = $serendipity['COOKIE']['user_template']; 59 } 60 61 if (isset($_REQUEST['user_template']) && (in_array($_REQUEST['user_template'], serendipity_fetchTemplates())) ) { 62 $_SESSION['serendipityUseTemplate'] = $_REQUEST['user_template']; 63 serendipity_setCookie('user_template', $_REQUEST['user_template'], false); 64 } 65 66 if (isset($_SESSION['serendipityUseTemplate']) ) { 67 $templateInfo = serendipity_fetchTemplateInfo($_SESSION['serendipityUseTemplate']); 68 $eventData['template'] = $_SESSION['serendipityUseTemplate']; 69 $eventData['template_engine'] = isset($templateInfo['engine']) ? $templateInfo['engine'] : $serendipity['defaultTemplate']; 70 $serendipity['smarty_vars']['head_link_stylesheet'] = $serendipity['baseURL'] . 'serendipity.css.php?switch=' . $_REQUEST['user_template']; 71 } 72 73 return true; 74 break; 75 76 default: 77 return false; 78 } 79 80 } else { 81 return false; 82 } 83 } 84 } 85 86 /* vim: set sts=4 ts=4 expandtab : */
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Nov 24 09:00:37 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |