function unregisterAndDeleteTempFile($fileName, $removePrefix = false) { $configuration =& JoomlapackModelRegistry::getInstance(); if ($removePrefix) { $fileName = str_replace($configuration->getTemporaryDirectory(), '', $fileName); if (substr($fileName, 1, 1) == '/' || substr($fileName, 1, 1) == '\\') { $fileName = substr($fileName, 2, strlen($fileName) - 1); } } if (JoomlapackCUBETables::CountVar('CUBETempFiles') >= 1) { $serialized = JoomlapackCUBETables::ReadVar('CUBETempFiles'); $tempFiles = unserialize($serialized); $newTempFiles = array(); if (is_array($tempFiles)) { $aFile = array_shift($tempFiles); while (!is_null($aFile)) { if ($aFile != $fileName) { $newTempFiles[] = $aFile; } $aFile = array_shift($tempFiles); } } if (count($newTempFiles) == 0) { JoomlapackCUBETables::DeleteVar('CUBETempFiles'); } else { $serialized = serialize($newTempFiles); JoomlapackCUBETables::WriteVar('CUBETempFiles', $serialized); } } $file = $configuration->getTemporaryDirectory() . DS . $fileName; return file_exists($file) ? @unlink($file) : false; }
function _getUpdateINIcached() { return JoomlapackCUBETables::ReadVar('updateini'); }
/** * Adds an entry to the engine includes table * * @param string $dottedNotation Dotted notation of class file to add to the list */ function _addEngineInclude($dottedNotation) { if (JoomlapackCUBETables::CountVar('CUBEEngineIncludes') >= 1) { // There is a db entry. Load, and unserialize $serialized = JoomlapackCUBETables::ReadVar('CUBEEngineIncludes'); $includes = unserialize($serialized); } else { // Start a new array $includes = array(); } // Append to the array $includes[] = $dottedNotation; // Serialize and save $serialized = serialize($includes); JoomlapackCUBETables::WriteVar('CUBEEngineIncludes', $serialized); }
/** * Returns the stored path to the temporary CUBEObject file, or creates a new one * @param int $createNew 0 = create if it doesn't exist, 1 = do not create new, 2 = force create new * @return unknown_type */ function _cubeTmpFile($createNew = 0) { $cubeTmpFile = JoomlapackCUBETables::ReadVar('cubetmpfile'); $createNew = false; // 1. Search if the filename is not empty if ($cubeTmpFile == '' && $createNew == 0) { $createNew = true; } else { // 2. If the filename is not empty, make sure it exists $createNew = !file_exists($cubeTmpFile); $createNew = $createNew && $createNew == 0; $createNew = $createNew || $createNew == 2; } // 3. If the filename was empty or the file doesn't exist, create a fresh copy if ($createNew) { $registry =& JoomlapackModelRegistry::getInstance(); $cubeTmpFile = tempnam($registry->getTemporaryDirectory(), 'jp'); JoomlapackCUBETables::WriteVar('cubetmpfile', $cubeTmpFile); JoomlapackLogger::WriteLog(_JP_LOG_INFO, "Creating new CUBEObject storage file: " . $cubeTmpFile); } return $cubeTmpFile; }
/** * Reads and unserializes a packvar variable (combo function) * * @param string $varName The variable name to read * @param mixed $default The default unserialized data to return if the $varName doesn't exist * @return mixed The unserialized value read from database */ function UnserializeVar($varName, $default = null) { $count = JoomlapackCUBETables::CountVar($varName); if ($count >= 1) { $serialized = JoomlapackCUBETables::ReadVar($varName); return unserialize($serialized); } else { return $default; } }