Ejemplo n.º 1
0
 /**
  * Load object handler
  *
  * @access public
  * @param object $ohandler reference to {@link XoopsPersistableObjectHandler}
  * @param string $name handler name
  * @param mixed $args args
  * @return object of handler
  */
 function loadHandler($ohander, $name, $args = null)
 {
     static $handlers;
     if (!isset($handlers[$name])) {
         if (file_exists($file = dirname(__FILE__) . '/' . $name . '.php')) {
             include_once $file;
             $className = 'XoopsModel' . ucfirst($name);
             $handler = new $className();
         } else {
             if (xoops_load('model', 'framework')) {
                 $handler = XoopsModel::loadHandler($name);
             }
         }
         if (!is_object($handler)) {
             trigger_error('Handler not found in file ' . __FILE__ . 'at line ' . __LINE__, E_USER_WARNING);
             return null;
         }
         $handlers[$name] = $handler;
     }
     $handlers[$name]->setHandler($ohander);
     if (!empty($args) && is_array($args) && is_a($handlers[$name], 'XoopsModelAbstract')) {
         $handlers[$name]->setVars($args);
     }
     return $handlers[$name];
 }
Ejemplo n.º 2
0
 /**
  * Load object handler
  *
  * @access  public
  *
  * @param   object  $ohandler   reference to {@link XoopsPersistableObjectHandler}
  * @param   string  $name   handler name
  * @param   mixed   $args   args
  * @return  object of handler
  */
 function loadHandler($ohander, $name, $args = null)
 {
     //$instance = XoopsModelFactory::getInstance();
     static $handlers;
     if (!isset($handlers[$name])) {
         if (@(include_once dirname(__FILE__) . "/{$name}.php")) {
             $className = "XoopsModel" . ucfirst($name);
             $handler = new $className();
         } elseif (xoops_load("model", "framework")) {
             $handler = XoopsModel::loadHandler($name);
         }
         if (!is_object($handler)) {
             return null;
         }
         $handlers[$name] = $handler;
         //xoops_result('loaded handler ' . $name);
     }
     $handlers[$name]->setHandler($ohander);
     if (!empty($args) && is_array($args) && is_a($handlers[$name], 'XoopsModelAbstract')) {
         $handlers[$name]->setVars($args);
     }
     return $handlers[$name];
 }