function &loadClass($class_package, $parameters) { static $registry; if (!isset($registry)) { $registry =& APIClassRegistry::getInstance(); } $class_package = preg_replace('/([À-Ý]|[A-Z])/e', 'chr(ord(\'\\1\')+32)', $class_package); $extractedClassName = strtolower(APIClassRegistry::extractClassName($class_package)); if (isset($registry->instances[$extractedClassName])) { // echo("OK "); // echo(" chargement effectué avec succès de la class ".$registry->instances[$extractedClassName]->className()."<br>"); return $registry->instances[$extractedClassName]; } else { // echo(" ...."); return APIC::loadClass($class_package, $parameters, TRUE); } }
function _save(&$sheet) { // Get rid of debug output ob_start(); APIC::import("org.apicnet.io.OOo.objOOo.OOoTable"); $OOoCalc = APIC::loadClass("org.apicnet.io.OOo.OOoDoc"); $OOoCalc->newCalc(); $OOoCalc->setName("export.sxc"); $OOoCalc->meta->setCreator("TikiSheet"); $OOoCalc->meta->setTitle("TikiSheet Export"); $OOoCalc->content->addFeuille(); foreach ($sheet->dataGrid as $rowIndex => $row) { foreach ($row as $columnIndex => $value) { $OOoCalc->content->addcellData($rowIndex + 1, $columnIndex + 1, array("DATA" => $value)); } } $OOoCalc->save(); $OOoCalc->close(); ob_end_clean(); $OOoCalc->download(); return true; }
/** * * Méthode static d'instanciation de class / object; * * * * @param string $class nom de class à charger et à instancier ; espace de nommage identique a celle utilisée en java. * @param array $parameters parametres de la class s'il y en a. * @param boolean $new_class indique si, lorsque la class est déjà dans le registre, on doit en instancier une nouvelle. * @return object un pointeur sur la class instancié * @access public * @since 1.1 * @update 06/06/2002 */ function &loadClass($class, $parameters = NULL, $new_class = FALSE, $module = NULL) { APIC::import("org.apicnet.io.File"); if ($new_class) { // echo(" OK <br>"); $classname = APIClassRegistry::extractClassName($class); if (!APIClassRegistry::isClass($class) || !APIClassRegistry::isRegistered($class)) { $path = new File(APIClassRegistry::convertToPath($class, $module) . '.php'); // echo($path->getFilePath()."<br>"); if ($path->exists()) { APIC::import($class, $module); } else { die("Class " . $class . " cannot be found"); } } $params = ''; if ($parameters != NULL && is_array($parameters)) { $plen = count($parameters); if ($plen > 0) { for ($i = 0; $i < $plen; $i++) { $params .= '$parameters[' . $i . ']'; if ($i < $plen - 1) { $params .= ', '; } } } } $obj = NULL; eval('$obj = new ' . $classname . '(' . $params . ');'); APIClassRegistry::registerClass($class, $obj); return $obj; } else { // fin du if New_class // APIC::_debug(); if (APIClassRegistry::isRegistered($class)) { // echo($class." loaded ..."); return APIClassRegistry::loadClass($class, $parameters); } else { if (!APIClassRegistry::isClass($class) || !APIClassRegistry::isRegistered($class)) { $path = new File(APIClassRegistry::convertToPath($class, $module) . '.php'); // echo($path->getFilePath()."<br>"); if ($path->exists()) { // echo($class." instanciate ..."); APIC::import($class, $module); return APIC::loadClass($class, $parameters, TRUE, $module); } else { die("Class " . $class . " cannot be found"); } } } } }