Xaraya / Postnuke CVS Notices - Message

Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites

View Statistics - Next Notice - Previous Notice

Directory filter : [ all ] / postnuke_official / html / includes [ view in CVS ]

Date Directory [filter] File(s) [view] Author [filter]
17 Aug 2002 01:16:51postnuke_official/html/includespnMod.php,1.78,1.79Marco Canini
 Added shortcut for pnModTemplate with custom template using $data['_template_'].Rearranged file layout.

Update of /home/cvsroot/postnuke_official/html/includes
In directory ns7.hostnuke.net:/tmp/cvs-serv11928

Modified Files:
	pnMod.php 
Log Message:
Added shortcut for pnModTemplate with custom template using $data['_template_'].Rearranged file layout.


Index: pnMod.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/includes/pnMod.php,v
retrieving revision 1.78
retrieving revision 1.79
diff -C2 -d -r1.78 -r1.79
*** pnMod.php	16 Aug 2002 15:49:17 -0000	1.78
--- pnMod.php	17 Aug 2002 01:16:49 -0000	1.79
***************
*** 468,471 ****
--- 468,559 ----
  
  /**
+  * load a module
+  *
+    @access public
+  * @param name - name of module to load
+  * @param type - type of functions to load
+  * @returns string
+  * @return name of module loaded
+  * @raise DATABASE_ERROR, BAD_PARAM, MODULE_NOT_EXIST, MODULE_FILE_NOT_EXIST
+  */
+ function pnModLoad($modname, $type='user')
+ {
+     static $loaded = array();
+ 
+     pnLogMessage("pnModLoad: loading $modname:$type");
+ 
+     if (empty($modname)) {
+         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'BAD_PARAM',
+                        new SystemException(__FILE__."(".__LINE__."): Empty modname."));return;
+     }
+ 
+     if (!empty($loaded["$modname$type"])) {
+         // Already loaded from somewhere else
+         return $modname;
+     }
+ 
+     list($dbconn) = pnDBGetConn();
+     $pntable = pnDBGetTables();
+     $modulestable = $pntable['modules'];
+ 
+     $query = "SELECT pn_directory,
+                      pn_state
+               FROM $modulestable
+               WHERE pn_name = '" . pnVarPrepForStore($modname) . "'";
+     $result = $dbconn->Execute($query);
+ 
+     if($dbconn->ErrorNo() != 0) {
+         $msg = pnMLByKey('DATABASE_ERROR', $query);
+         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
+                        new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+         return;
+     }
+ 
+     if ($result->EOF) {
+         $result->Close();
+         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_NOT_EXIST',
+                        new SystemException(__FILE__."(".__LINE__."): Module $modname doesn't exist."));return;
+     }
+ 
+     list($directory, $state) = $result->fields;
+     $result->Close();
+ 
+     // Load the module files
+     list($osdirectory, $ostype) = pnVarPrepForOS($directory, $type);
+     $osfile = "modules/$osdirectory/pn$ostype.php";
+ 
+     if (!file_exists($osfile)) {
+         // File does not exist
+         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FILE_NOT_EXIST',
+                        new SystemException(__FILE__."(".__LINE__."): Module file $osfile doesn't exist."));return;
+     }
+ 
+     // Load file
+     include $osfile;
+     $loaded["$modname$type"] = 1;
+ 
+     // Load the module translations files
+     $res = pnML_loadModuleTranslations($modname, $osdirectory, $type);
+     if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
+         return; // throw back exception
+     }
+ 
+     // Load datbase info
+     $res = pnModDBInfoLoad($modname, $directory);
+     if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
+         return; // throw back exception
+     }
+ 
+     // Module loaded successfully, notify the proper event
+     /*pnEvt_notify($modname, $type, 'LoadModule', NULL);
+     if (pnExceptionMajor() != PN_NO_EXCEPTION) {
+         return; // throw back exception
+     }*/
+ 
+     // Return the module name
+     return $modname;
+ }
+ 
+ /**
   * load an API for a module
   *
***************
*** 481,484 ****
--- 569,574 ----
      static $loaded = array();
  
+     pnLogMessage("pnModAPILoad: loading $modname:$type");
+ 
      if (empty($modname)) {
          pnExceptionSet(PN_SYSTEM_EXCEPTION, 'BAD_PARAM',
***************
*** 531,550 ****
      $loaded["$modname$type"] = 1;
  
!     // Load the module language files
!     $currentlang = pnUserGetLang();
!     $defaultlang = pnConfigGetVar('language');
!     if (empty($defaultlang)) {
!         $defaultlang = 'eng';
!     }
! 
!     list($oscurrentlang, $osdefaultlang) = pnVarPrepForOS($currentlang, $defaultlang);
!     if (file_exists("modules/$osdirectory/pnlang/$oscurrentlang/{$ostype}api.php")) {
!         include "modules/$osdirectory/pnlang/$oscurrentlang/{$ostype}api.php";
!     } elseif (file_exists("modules/$osdirectory/pnlang/$osdefaultlang/{$ostype}api.php")) {
!         include "modules/$osdirectory/pnlang/$osdefaultlang/{$ostype}api.php";
!     }
! 
!     // Load the module translations files
!     $res = pnML_load($modname, $osdirectory, $type.'api');
      if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
          return; // throw back exception
--- 621,626 ----
      $loaded["$modname$type"] = 1;
  
!     // Load the API translations files
!     $res = pnML_loadModuleTranslations($modname, $osdirectory, $type.'api');
      if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
          return; // throw back exception
***************
*** 626,740 ****
  
  /**
!  * load a module
!  *
!    @access public
!  * @param name - name of module to load
!  * @param type - type of functions to load
!  * @returns string
!  * @return name of module loaded
!  * @raise DATABASE_ERROR, BAD_PARAM, MODULE_NOT_EXIST, MODULE_FILE_NOT_EXIST
!  */
! function pnModLoad($modname, $type='user')
! {
!     static $loaded = array();
! 
!     if (empty($modname)) {
!         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'BAD_PARAM',
!                        new SystemException(__FILE__."(".__LINE__."): Empty modname."));return;
!     }
! 
!     if (!empty($loaded["$modname$type"])) {
!         // Already loaded from somewhere else
!         return $modname;
!     }
! 
!     list($dbconn) = pnDBGetConn();
!     $pntable = pnDBGetTables();
!     $modulestable = $pntable['modules'];
! 
!     $query = "SELECT pn_directory,
!                      pn_state
!               FROM $modulestable
!               WHERE pn_name = '" . pnVarPrepForStore($modname) . "'";
!     $result = $dbconn->Execute($query);
! 
!     if($dbconn->ErrorNo() != 0) {
!         $msg = pnMLByKey('DATABASE_ERROR', $query);
!         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR',
!                        new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
!         return;
!     }
! 
!     if ($result->EOF) {
!         $result->Close();
!         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module $modname doesn't exist."));return;
!     }
! 
!     list($directory, $state) = $result->fields;
!     $result->Close();
! 
!     // Load the module and module language files
!     list($osdirectory, $ostype) = pnVarPrepForOS($directory, $type);
!     $osfile = "modules/$osdirectory/pn$ostype.php";
! 
!     if (!file_exists($osfile)) {
!         // File does not exist
!         pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FILE_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module file $osfile doesn't exist."));return;
!     }
! 
!     // Load file
!     include $osfile;
!     $loaded["$modname$type"] = 1;
! 
!     $currentlang = pnUserGetLang();
!     if (!isset($currentlang) && pnExceptionMajor() != PN_NO_EXCEPTION) {
!         return; // throw back
!     }
!     if (file_exists("modules/$osdirectory/pnlang/$currentlang/$ostype.php")) {
!         include "modules/$osdirectory/pnlang/" . pnVarPrepForOS($currentlang) . "/$ostype.php";
!     } else {
!         $defaultlang = pnConfigGetVar('language');
!         if (!isset($defaultlang)) {
!             if (pnExceptionMajor() != PN_NO_EXCEPTION) {
!                 return; // throw back
!             }
!             $defaultlang = 'eng';
!         }
!         if (file_exists("modules/$osdirectory/pnlang/$defaultlang/$ostype.php")) {
!             include "modules/$osdirectory/pnlang/" . pnVarPrepForOS($defaultlang) . "/$ostype.php";
!         }
!     }
! 
!     // Load the module translations files
!     $res = pnML_load($modname, $osdirectory, $type);
!     if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
!         return; // throw back exception
!     }
! 
!     // Load datbase info
!     $res = pnModDBInfoLoad($modname, $directory);
!     if (!isset($res) && pnExceptionMajor() != PN_NO_EXCEPTION) {
!         return; // throw back exception
!     }
! 
!     // Return the module name
!     return $modname;
! }
! 
! /**
!  * run a module API function
!  *
   * @access public
   * @param modname registered name of module
   * @param type type of function to run
   * @param func specific function to run
!  * @param args arguments to pass to the function
   * @returns mixed
   * @return The output of the function, or false on failure
   * @raise BAD_PARAM, MODULE_FUNCTION_NOT_EXIST
   */
! function pnModAPIFunc($modname, $type='user', $func='main', $args=array())
  {
      if (empty($modname)) {
--- 702,717 ----
  
  /**
!  * run a module function
!  * 
   * @access public
   * @param modname registered name of module
   * @param type type of function to run
   * @param func specific function to run
!  * @param args argument array
   * @returns mixed
   * @return The output of the function, or false on failure
   * @raise BAD_PARAM, MODULE_FUNCTION_NOT_EXIST
   */
! function pnModFunc($modname, $type='user', $func='main', $args=array())
  {
      if (empty($modname)) {
***************
*** 751,776 ****
  
      // Build function name and call function
!     $modapifunc = "{$modname}_{$type}api_{$func}";
!     if (!function_exists($modapifunc)) {
          pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FUNCTION_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module API function $modapifunc doesn't exist."));return;
      }
  
!     return $modapifunc($args);
  }
  
  /**
!  * run a module function
!  * 
   * @access public
   * @param modname registered name of module
   * @param type type of function to run
   * @param func specific function to run
!  * @param args argument array
   * @returns mixed
   * @return The output of the function, or false on failure
   * @raise BAD_PARAM, MODULE_FUNCTION_NOT_EXIST
   */
! function pnModFunc($modname, $type='user', $func='main', $args=array())
  {
      if (empty($modname)) {
--- 728,768 ----
  
      // Build function name and call function
!     $modfunc = "{$modname}_{$type}_{$func}";
!     if (!function_exists($modfunc)) {
          pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FUNCTION_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module function $modfunc doesn't exist."));return;
      }
  
!     $data = $modfunc($args);
! 
!     if (!is_array($data)) {
!         return $data;
!     }
! 
!     // FIXME: <marco> I'm not convinced of this, it's more reasonable to get the tpl name from data
!     $template = NULL;
!     if (isset($args['template'])) {
! 	    $template = $args['template'];
!     }
!     if (isset($data['_template_'])) {
!         $template = $data['_template_'];
!     }
!     
!     return pnModTemplate($modname, $type, $func, $data, $template);
  }
  
  /**
!  * run a module API function
!  *
   * @access public
   * @param modname registered name of module
   * @param type type of function to run
   * @param func specific function to run
!  * @param args arguments to pass to the function
   * @returns mixed
   * @return The output of the function, or false on failure
   * @raise BAD_PARAM, MODULE_FUNCTION_NOT_EXIST
   */
! function pnModAPIFunc($modname, $type='user', $func='main', $args=array())
  {
      if (empty($modname)) {
***************
*** 787,808 ****
  
      // Build function name and call function
!     $modfunc = "{$modname}_{$type}_{$func}";
!     if (!function_exists($modfunc)) {
          pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FUNCTION_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module function $modfunc doesn't exist."));return;
!     }
! 
!     $data = $modfunc($args);
! 
!     if (!is_array($data)) {
!         return $data;
      }
  
!     $template = NULL;
!     if (isset($args['template'])) {
! 	    $template = $args['template'];
!     }
!     
!     return pnModTemplate($modname, $type, $func, $data, $template);
  }
  
--- 779,789 ----
  
      // Build function name and call function
!     $modapifunc = "{$modname}_{$type}api_{$func}";
!     if (!function_exists($modapifunc)) {
          pnExceptionSet(PN_SYSTEM_EXCEPTION, 'MODULE_FUNCTION_NOT_EXIST',
!                        new SystemException(__FILE__."(".__LINE__."): Module API function $modapifunc doesn't exist."));return;
      }
  
!     return $modapifunc($args);
  }
  


Directory filter : [ all ] / postnuke_official / html / includes [ view in CVS ]

View Statistics - Next Notice - Previous Notice


Visit Developer Site - Browse CVS Repository Syndicate via backend.rss
(max. once per hour please)
Powered by CVSNotice 0.1.3