/** * 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]; }
/** * 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]; }