本文整理汇总了PHP中OA_Dal_ApplicationVariables::generatePlatformHash方法的典型用法代码示例。如果您正苦于以下问题:PHP OA_Dal_ApplicationVariables::generatePlatformHash方法的具体用法?PHP OA_Dal_ApplicationVariables::generatePlatformHash怎么用?PHP OA_Dal_ApplicationVariables::generatePlatformHash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OA_Dal_ApplicationVariables
的用法示例。
在下文中一共展示了OA_Dal_ApplicationVariables::generatePlatformHash方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPlatformHash
/**
* Try to get platform hash.
* If it's upgrade it try to read database (searches old config/preference tables)
* If this fails it returns 'OXP_upgrade-unknown_platform_hash'
* If it's fresh install then it checks if there is already generated
* platformHash by previous call of this method, or use suggested one, or generate new one.
* New platform hash is stored as already generated.
*
* @param string $suggestedPlatformHash
* @param boolean $forceCheck should check be done once again (or we can use cached results)
* @return string platform Hash
*/
public function getPlatformHash($suggestedPlatformHash = null, $forceCheck = false)
{
if (!$forceCheck && isset(self::$foundPlatformHash)) {
return self::$foundPlatformHash;
}
// is it upgrade?
$oUpgrader = new OA_Upgrade();
if (!$oUpgrader->isFreshInstall()) {
// YES:
// prepare database connection data
$oUpgrader->canUpgradeOrInstall();
$oUpgrader->initDatabaseConnection();
// try read platform hash from database (3 possible locations)
$platformHash = $this->readPlatformHashFromDatabase();
// if can't find platformHash - set 'OXP_upgrade-unknown_platform_hash'
$platformHash = $platformHash ? $platformHash : self::$UNKNOWN_PLATFORM_HASH;
} else {
// NO:
// is already set generatedPlatformHash
if (isset(self::$generatedPlatformHash)) {
$platformHash = self::$generatedPlatformHash;
} else {
// use sugested or generate new one (and remember)
if (isset($suggestedPlatformHash)) {
$platformHash = $suggestedPlatformHash;
} else {
$platformHash = OA_Dal_ApplicationVariables::generatePlatformHash();
}
// remember genereted platform hash
self::$generatedPlatformHash = $platformHash;
}
}
self::$foundPlatformHash = $platformHash;
return $platformHash;
}
示例2: checkForUpdates
/**
* Connect to OpenX Sync to check for updates
*
* @param float $already_seen Only check for updates newer than this value.
* @return array An array of two items:
*
* Item 0 is the XML-RPC error code. Meanings:
* -2 => The admin user has disabled update checking
* -1 => No response from the server
* 0 - 799 => XML-RPC library error codes
* 0 => No error
* 800 => No updates
* 801+ => Error codes from the remote XML-RPC server
*
* Item 1 is either the error message (item 1 != 0), or an array containing update info
*/
function checkForUpdates($already_seen = 0)
{
global $XML_RPC_erruser;
if (!$this->aConf['sync']['checkForUpdates']) {
// Checking for updates has been disabled by the admin user,
// so do not communicate with the server that provides the
// details of what upgrades are available - just return an
// 800 "error"
$aReturn = array(-2, 'Check for updates has been disabled by the administrator.');
return $aReturn;
}
// Create the XML-RPC client object
$client = OA_Central::getXmlRpcClient($this->_conf);
// Prepare the installation's platform hash
$platform_hash = OA_Dal_ApplicationVariables::get('platform_hash');
if (!$platform_hash) {
// The installation does not have a platform hash; generate one,
// and save it to the database for later use
OA::debug("Generating a new platform_hash for the installation", PEAR_LOG_INFO);
$platform_hash = OA_Dal_ApplicationVariables::generatePlatformHash();
if (!OA_Dal_ApplicationVariables::set('platform_hash', $platform_hash)) {
OA::debug("Could not save the new platform_hash to the database", PEAR_LOG_ERR);
unset($platform_hash);
OA::debug("Sync process proceeding without a platform_hash", PEAR_LOG_INFO);
}
}
// Prepare the parameters required for the XML-RPC call to
// obtain if an update is available for this installation
$params = array(new XML_RPC_Value(PRODUCT_NAME, 'string'), new XML_RPC_Value($this->getConfigVersion(OA_Dal_ApplicationVariables::get('oa_version')), 'string'), new XML_RPC_Value($already_seen, 'string'), new XML_RPC_Value($platform_hash, 'string'));
// Has the Revive Adserver admin user kindly agreed to share the
// technology stack that it is running on, to help the community?
$aTechStack = array('data' => false);
if ($this->aConf['sync']['shareStack']) {
// Thanks, admin user! You're a star! Prepare the technology stack
// data and add it to the XML-RPC call
if ($this->oDbh->dbsyntax == 'mysql') {
$dbms = 'MySQL';
} else {
if ($this->oDbh->dbsyntax == 'pgsql') {
$dbms = 'PostgreSQL';
} else {
$dbms = 'UnknownSQL';
}
}
$aTechStack = array('os_type' => php_uname('s'), 'os_version' => php_uname('r'), 'webserver_type' => isset($_SERVER['SERVER_SOFTWARE']) ? preg_replace('#^(.*?)/.*$#', '$1', $_SERVER['SERVER_SOFTWARE']) : '', 'webserver_version' => isset($_SERVER['SERVER_SOFTWARE']) ? preg_replace('#^.*?/(.*?)(?: .*)?$#', '$1', $_SERVER['SERVER_SOFTWARE']) : '', 'db_type' => $dbms, 'db_version' => $this->oDbh->queryOne("SELECT VERSION()"), 'php_version' => phpversion(), 'php_sapi' => ucfirst(php_sapi_name()), 'php_extensions' => get_loaded_extensions(), 'php_register_globals' => (bool) ini_get('register_globals'), 'php_magic_quotes_gpc' => (bool) ini_get('magic_quotes_gpc'), 'php_safe_mode' => (bool) ini_get('safe_mode'), 'php_open_basedir' => (bool) strlen(ini_get('open_basedir')), 'php_upload_tmp_readable' => (bool) is_readable(ini_get('upload_tmp_dir') . DIRECTORY_SEPARATOR));
}
$params[] = XML_RPC_Encode($aTechStack);
// Add the registered email address
$params[] = new XML_RPC_Value(OA_Dal_ApplicationVariables::get('sync_registered_email'), 'string');
// Create the XML-RPC request message
$msg = new XML_RPC_Message("Revive.Sync", $params);
// Send the XML-RPC request message
if ($response = $client->send($msg, 10)) {
// XML-RPC server found, now checking for errors
if (!$response->faultCode()) {
// No fault! Woo! Get the response and return it!
$aReturn = array(0, XML_RPC_Decode($response->value()));
// Prepare cache
$cache = $aReturn[1];
// Update last run
OA_Dal_ApplicationVariables::set('sync_last_run', date('Y-m-d H:i:s'));
// Also write to the debug log
OA::debug("Sync: updates found!", PEAR_LOG_INFO);
} else {
// Boo! An error! (Well, maybe - if it's 800, yay!)
$aReturn = array($response->faultCode(), $response->faultString());
// Prepare cache
$cache = false;
// Update last run
if ($response->faultCode() == 800) {
// Update last run
OA_Dal_ApplicationVariables::set('sync_last_run', date('Y-m-d H:i:s'));
// Also write to the debug log
OA::debug("Sync: {$aReturn[1]}", PEAR_LOG_INFO);
} else {
// Write to the debug log
OA::debug("Sync: {$aReturn[1]} (code: {$aReturn[0]}", PEAR_LOG_ERR);
// Return immediately without writing to cache
return $aReturn;
}
}
OA_Dal_ApplicationVariables::set('sync_cache', serialize($cache));
OA_Dal_ApplicationVariables::set('sync_timestamp', time());
return $aReturn;
//.........这里部分代码省略.........
示例3: putSyncSettings
/**
* Update checkForUpdates value into Settings
*
* @param boolean $syncEnabled
* @return boolean
*/
function putSyncSettings($syncEnabled)
{
require_once MAX_PATH . '/lib/OA/Admin/Settings.php';
require_once MAX_PATH . '/lib/OA/Sync.php';
$oSettings = new OA_Admin_Settings();
$oSettings->settingChange('sync', 'checkForUpdates', $syncEnabled);
// Reset Sync cache
OA_Dal_ApplicationVariables::delete('sync_cache');
OA_Dal_ApplicationVariables::delete('sync_timestamp');
OA_Dal_ApplicationVariables::delete('sync_last_seen');
if (!$oSettings->writeConfigChange()) {
$this->oLogger->logError('Error saving Sync settings to the config file');
return false;
}
// Generate a new Platform Hash if empty
$platformHash = OA_Dal_ApplicationVariables::get('platform_hash');
if (empty($platformHash) && !OA_Dal_ApplicationVariables::set('platform_hash', OA_Dal_ApplicationVariables::generatePlatformHash())) {
$this->oLogger->logError('Error inserting Platform Hash into database');
return false;
}
$oSync = new OA_Sync();
OA::disableErrorHandling();
$oSync->checkForUpdates();
OA::enableErrorHandling();
return true;
}
示例4: testGeneratePlatformHash
/**
* Test generatin platform hash
*
*/
function testGeneratePlatformHash()
{
$hash1 = OA_Dal_ApplicationVariables::generatePlatformHash();
$hash2 = OA_Dal_ApplicationVariables::generatePlatformHash();
$this->assertEqual(strlen($hash1), 40);
$this->assertEqual(strlen($hash2), 40);
$this->assertNotEqual($hash1, $hash2);
}
示例5: OA_Admin_UI_Model_PageHeaderModel
require_once MAX_PATH . '/www/admin/config.php';
require_once MAX_PATH . '/lib/OA/Dal/ApplicationVariables.php';
require_once MAX_PATH . '/lib/OA/Sync.php';
require_once MAX_PATH . '/lib/max/language/Loader.php';
Language_Loader::load('settings');
// Security check
OA_Permission::enforceAccount(OA_ACCOUNT_ADMIN);
/*-------------------------------------------------------*/
/* HTML framework */
/*-------------------------------------------------------*/
$title = $GLOBALS['strPlatformHashRegenerate'];
$oHeaderModel = new OA_Admin_UI_Model_PageHeaderModel($title);
phpAds_PageHeader('account-settings-index', $oHeaderModel);
/*-------------------------------------------------------*/
/* Main code */
/*-------------------------------------------------------*/
$platformHash = OA_Dal_ApplicationVariables::generatePlatformHash();
if (OA_Dal_ApplicationVariables::set('platform_hash', $platformHash)) {
echo $GLOBALS['strNewPlatformHash'] . " " . $platformHash;
$oSync = new OA_Sync();
OA::disableErrorHandling();
$oSync->checkForUpdates();
OA::enableErrorHandling();
} else {
$this->oLogger->logError('Error inserting Platform Hash into database');
echo $GLOBALS['strPlatformHashInsertingError'];
}
/*-------------------------------------------------------*/
/* HTML framework */
/*-------------------------------------------------------*/
phpAds_PageFooter();