private static function LoadOpcje() { //var_dump(self::$_cache); if (self::$_cache == null) { if (Config::$UseOptionsDiskCache && file_exists(WEB_API_DIR . "/opcje_cache.bin")) { $h = fopen(WEB_API_DIR . "/opcje_cache.bin", "r"); $buf = fread($h, filesize(WEB_API_DIR . "/opcje_cache.bin")); fclose($h); self::$_cache = unserialize($buf); } else { $result = DataBase::GetDbInstance()->ExecuteQuery("SELECT * FROM #S#opcje"); self::$_cache = array(); while ($row = DataBase::GetDbInstance()->FetchArray($result)) { $op = self::BuildOpcja($row); self::$_cache[$op->GetKlucz()] = $op->GetWartosc(); } } } }
/** * Get a list of options to be added or remove. Write the options to database. * @return int */ public function GetOpcje() { if (!$this->WS()) { return null; } try { $params = array('sid' => $this->_sid); $result = $this->WS()->getSC()->__soapCall("GetOpcje", array($params)); if ($result->GetOpcjeResult->Status != 0) { Errors::LogError("WebService:GetOpcje", "Response: " . $result->GetOpcjeResult->Message); return 0; } $xml = simplexml_load_string($result->GetOpcjeResult->XMLContent); $cnt = 0; foreach ($xml->children() as $node) { $opt = new Opcja($node["nazwa"], $node["wartosc"]); Opcje::AddEditOpcja($opt); echo DataBase::GetDbInstance()->LastError(); $cnt++; } return $cnt; } catch (Exception $ex) { Errors::LogError("WebService:GetOpcje", $ex->getMessage()); return 0; } }
<?php include_once "src/opcje.php"; /* if (isset($_POST['dodaj'])) { if (Opcje::Dodaj($_POST['nazwa']) == 0) print "dodano opcję"; } */ if (isset($_POST['zmien'])) { if (Opcje::Update($_GET['co'], $_POST['opcja']) == 0) { print "zmieniono opcje"; } } $opcje = Opcje::GetAll(); $rola = Role::Get($_GET['co']); $opcjeDlaRoli = Opcje::GetForId($_GET['co']); ?> <h2>Opcje przypisane dla roli: "<?php echo $rola['nazwa']; ?> "</h2> <form action="" method="post" class="blank"> <table> <tbody> <!-- <tr> <td></td> <td></td>
/** * Create cache file with all options. */ public function ClearOptionsCache() { $buf = serialize(Opcje::GetOpcje()); $cwd = getcwd(); chdir(WEB_API_DIR); $h = fopen("opcje_cache.bin", "w"); fwrite($h, $buf); fclose($h); chdir($cwd); }