[pLog-CVS] plog/class/action adminemptyaction.class.php,NONE,1.1 adminaction.class.php,1.7,1.8 admin
Brought to you by:
jondaley
From: Oscar R. <phu...@us...> - 2004-04-18 18:10:07
|
Update of /cvsroot/plog/plog/class/action In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32653/class/action Modified Files: adminaction.class.php admindefaultaction.class.php adminmainaction.class.php Added Files: adminemptyaction.class.php Log Message: added support for dynamic menus. The implementation of dynamic menus is under class/template/menu. Menus are controlled via the templates/admin/menus.xml file. The format is a bit strange but not difficult to understand (it is quite verbose) The Menu class supports the Menu::addEntry() method so that plugins can add custom options to the menu (the sample plugin included in this cvs trunk does it!) I have also slightly changed the look of the admin interface to make it xhtml 1.0 strict and css, though this IS NOT ITS FINAL LOOK FOR NEXT VERSION. This is just a temporary style so that I could test the dynamic menus feature and it will hopefully change before the final release. I have also cleaned up a little all templates/admin/*.template file to make them look nicer for the time being. The locale files have also changed a little, specially the keys for the strings that represent menu entries. Still needs some touches. --- NEW FILE: adminemptyaction.class.php --- <?php include_once( PLOG_CLASS_PATH."class/action/adminaction.class.php" ); include_once( PLOG_CLASS_PATH."class/view/admintemplatedview.class.php" ); /** * Action that shows an empty admin page, just in case... :) */ class AdminEmptyAction extends AdminAction { /** * Constructor. If nothing else, it also has to call the constructor of the parent * class, BlogAction with the same parameters */ function AdminEmptyAction( $actionInfo, $request ) { $this->AdminAction( $actionInfo, $request ); } /** * Carries out the specified action */ function perform() { // initialize the view $this->_view = new AdminTemplatedView( $this->_blogInfo, "main" ); $this->setCommonData(); // better to return true if everything fine return true; } } ?> Index: adminmainaction.class.php =================================================================== RCS file: /cvsroot/plog/plog/class/action/adminmainaction.class.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** adminmainaction.class.php 18 Mar 2004 17:27:36 -0000 1.3 --- adminmainaction.class.php 18 Apr 2004 18:09:56 -0000 1.4 *************** *** 3,6 **** --- 3,7 ---- include_once( PLOG_CLASS_PATH."class/action/adminaction.class.php" ); include_once( PLOG_CLASS_PATH."class/view/adminmainview.class.php" ); + include_once( PLOG_CLASS_PATH."class/view/adminsimpleerrorview.class.php" ); include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" ); Index: admindefaultaction.class.php =================================================================== RCS file: /cvsroot/plog/plog/class/action/admindefaultaction.class.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** admindefaultaction.class.php 20 Jan 2004 18:44:02 -0000 1.3 --- admindefaultaction.class.php 18 Apr 2004 18:09:56 -0000 1.4 *************** *** 51,59 **** // show the main menu page straight away if( $this->sessionInfoAvailable()) { ! $this->_view = new AdminMainView( $this->_blogInfo ); ! $this->_view->setValue( "user", $this->_userInfo ); ! $this->_view->setValue( "blog", $this->_blogInfo ); ! $this->_view->setValue( "blogsettings", $this->_blogInfo->getSettings()); ! $this->_view->setValue( "op", $this->_actionInfo->_actionParamValue ); } else { --- 51,55 ---- // show the main menu page straight away if( $this->sessionInfoAvailable()) { ! AdminController::setForwardAction( "emptyAction" ); } else { Index: adminaction.class.php =================================================================== RCS file: /cvsroot/plog/plog/class/action/adminaction.class.php,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** adminaction.class.php 14 Mar 2004 16:02:03 -0000 1.7 --- adminaction.class.php 18 Apr 2004 18:09:56 -0000 1.8 *************** *** 28,32 **** { $this->Action( $actionInfo, $request ); ! // get information about the session $session = HttpVars::getSession(); --- 28,32 ---- { $this->Action( $actionInfo, $request ); ! // get information about the session $session = HttpVars::getSession(); *************** *** 100,104 **** */ function setCommonData() ! { $this->_view->setValue( "user", $this->_userInfo ); $this->_view->setValue( "blog", $this->_blogInfo ); --- 100,104 ---- */ function setCommonData() ! { $this->_view->setValue( "user", $this->_userInfo ); $this->_view->setValue( "blog", $this->_blogInfo ); *************** *** 108,111 **** --- 108,123 ---- $this->_view->setValue( "version", Version::getVersion()); $this->_view->setValue( "uploads_enabled", $this->_config->getValue( "uploads_enabled" )); + + // + // stuff to generate the menu on the left + // + $menuFilePath = $this->_config->getValue( "template_folder" )."/admin/menus.xml"; + $menu = new Menu( $menuFilePath ); + // initialize the menu renderer, passing as parameters the original menu structure, + // the current logged in user (so that we can check permissions and so on) + // and the current value of the 'op' parameter so that we can now which option is the + // current active one + $menuRenderer = new MenuRenderer( $menu, $this->_blogInfo, $this->_userInfo, $this->_actionInfo->_actionParamValue ); + $this->_view->setValue( "menus", $menuRenderer->generate()); } |