本文整理匯總了PHP中gpFiles::Unlock方法的典型用法代碼示例。如果您正苦於以下問題:PHP gpFiles::Unlock方法的具體用法?PHP gpFiles::Unlock怎麽用?PHP gpFiles::Unlock使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類gpFiles
的用法示例。
在下文中一共展示了gpFiles::Unlock方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: Init
/**
* Set variables for blog display
*
*/
public static function Init()
{
global $addonPathData;
if (isset(self::$data)) {
return;
}
self::$data_dir = $addonPathData;
self::$index_file = self::$data_dir . '/index.php';
self::$root_url = 'Special_Blog';
if (is_callable(array('common', 'SpecialHref'))) {
self::$root_url = common::SpecialHref('Special_Blog');
}
self::GetBlogData();
self::AddCSS();
//regenerate if there are pending posts that need to be published
if (!is_null(SimpleBlogCommon::$data['next_regen']) && SimpleBlogCommon::$data['next_regen'] < time()) {
if (@gpFiles::WriteLock()) {
self::GenStaticContent();
SimpleBlogCommon::NextGenTime();
SimpleBlogCommon::SaveIndex();
gpFiles::Unlock('write', gp_random);
}
}
}
示例2: BufferOut
/**
* Complete the response by adding final content to the <head> of the document
* @static
* @since 2.4.1
* @param string $buffer html content
* @return string finalized response
*/
static function BufferOut($buffer)
{
global $config, $gp_head_content, $addonFolderName, $dataDir, $addon_current_id, $wbErrorBuffer;
//add error notice if there was a fatal error
if (!ini_get('display_errors') && function_exists('error_get_last')) {
//check for fatal error
$fatal_errors = array(E_ERROR, E_PARSE, E_CORE_ERROR, E_COMPILE_ERROR);
$last_error = error_get_last();
if (is_array($last_error) && in_array($last_error['type'], $fatal_errors)) {
$last_error['request'] = $_SERVER['REQUEST_URI'];
if ($addon_current_id) {
$last_error['addon_name'] = $config['addons'][$addonFolderName]['name'];
$last_error['addon_id'] = $addon_current_id;
}
$last_error['file'] = realpath($last_error['file']);
//may be redundant
showError($last_error['type'], $last_error['message'], $last_error['file'], $last_error['line'], false);
//send error to logger
$reload = false;
//disable execution
if (count(self::$catchable)) {
$last_error['time'] = time();
$last_error['request_method'] = $_SERVER['REQUEST_METHOD'];
if (!empty($last_error['file'])) {
$last_error['file_modified'] = filemtime($last_error['file']);
$last_error['file_size'] = filesize($last_error['file']);
}
//error text, check for existing fatal notice
if (count(self::$fatal_notices)) {
$content = end(self::$fatal_notices);
reset(self::$fatal_notices);
if ($content[0] == '{' && ($temp = json_decode($content, true))) {
$last_error = $temp;
}
} else {
$content = json_encode($last_error);
}
//$buffer .= pre(self::$catchable).'<hr/>';
//$buffer .= '<h3>Existing Fatal Notices</h3>'.pre(self::$fatal_notices).'<hr/>';
$temp = array_reverse(self::$catchable);
foreach ($temp as $error_hash => $info) {
$file = $dataDir . '/data/_site/fatal_' . $error_hash;
gpFiles::Save($file, $content);
$reload = true;
if ($info['catchable_type'] == 'exec') {
break;
}
}
}
//reload non-logged in users automatically, display message to admins
$buffer .= '<p>Oops, an error occurred while generating this page.<p>';
if (!common::LoggedIn()) {
if ($reload) {
$buffer .= 'Reloading... <script type="text/javascript">window.setTimeout(function(){window.location.href = window.location.href},1000);</script>';
} else {
$buffer .= '<p>If you are the site administrator, you can troubleshoot the problem by changing php\'s display_errors setting to 1 in the gpconfig.php file.</p>' . '<p>If the problem is being caused by an addon, you may also be able to bypass the error by enabling gpEasy\'s safe mode in the gpconfig.php file.</p>' . '<p>More information is available in the <a href="http://docs.gpeasy.com/Main/Troubleshooting">gpEasy documentation</a>.</p>' . '<p><a href="">Reload this page to continue</a>.</p>';
}
} else {
$buffer .= '<h3>Error Details</h3>' . pre($last_error) . '<p><a href="">Reload this page</a></p>';
if ($reload) {
$buffer .= '<p><a href="">Reload this page with the faulty component disabled</a></p>' . '<p><a href="?cmd=enable_component&hash=' . $error_hash . '">Reload this page with the faulty component enabled</a></p>';
}
$buffer .= '<p style="font-size:90%">Note: Error details are only displayed for logged in administrators</p>' . common::ErrorBuffer(true, false);
}
}
}
//remove lock
if (defined('gp_has_lock') && gp_has_lock) {
gpFiles::Unlock('write', gp_random);
}
//replace the <head> placeholder with header content
$placeholder = '<!-- get_head_placeholder ' . gp_random . ' -->';
$pos = strpos($buffer, $placeholder);
if ($pos === false) {
return $buffer;
}
$buffer = substr_replace($buffer, $gp_head_content, $pos, strlen($placeholder));
//add jquery if needed
$placeholder = '<!-- jquery_placeholder ' . gp_random . ' -->';
$pos = strpos($buffer, $placeholder);
if ($pos !== false) {
$replacement = '';
if (strpos($buffer, '<script') !== false) {
if ($config['jquery'] != 'local') {
$replacement = "\n<script type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js\"></script>";
} else {
$replacement = "\n<script type=\"text/javascript\" src=\"" . common::GetDir('/include/thirdparty/js/jquery.js') . "\"></script>";
}
}
$buffer = substr_replace($buffer, $replacement, $pos, strlen($placeholder));
}
//messages
$pos = strpos($buffer, '<!-- message_start ' . gp_random . ' -->');
//.........這裏部分代碼省略.........
示例3: Install_DataFiles_New
//.........這裏部分代碼省略.........
<li>Runs on PHP</li>
<li>File Upload Manager</li>
<li>Drag \'n Drop Theme Content</li>
<li>Deleted File Trash Can</li>
<li>Multiple User Administration</li>
<li>Flat File Storage</li>
<li>Fast Page Loading</li>
<li>Fast and Easy Installation</li>
<li>reCaptcha for Contact Form</li>
<li>HTML Tidy (when available)</li>
</ul>';
self::NewTitle($destination, 'About', $content, $config, $new_index);
//Side_Menu
$file = $destination . '/data/_extra/Side_Menu.php';
$content = '<h3>Join the ' . CMS_NAME . ' Community</h3>
<p>Visit ' . CMS_READABLE_DOMAIN . ' to access the many <a href="' . CMS_DOMAIN . '/Resources" title="' . CMS_NAME . ' Community Resources">available resources</a> to help you get the most out of our CMS.</p>
<ul>
<li><a href="' . CMS_DOMAIN . '/Themes" title="' . CMS_NAME . ' Themes">Download Themes</a></li>
<li><a href="' . CMS_DOMAIN . '/Plugins" title="' . CMS_NAME . ' Plugin">Download Plugins</a></li>
<li><a href="' . CMS_DOMAIN . '/Forum" title="' . CMS_NAME . ' Forum">Get Help in the Forum</a></li>
<li><a href="' . CMS_DOMAIN . '/Powered_by" title="Sites using ' . CMS_NAME . '">Show off Your Site</a></li>
<li><a href="' . CMS_DOMAIN . '/Resources" title="' . CMS_NAME . ' Community Resources">And Much More...</a></li>
</ul>
<p class="sm">(Edit this content by clicking "Edit", it's that easy!)</p>';
self::NewExtra($file, $content);
//Header
$file = $destination . '/data/_extra/Header.php';
$content = '<h1>' . $config['title'] . '</h1>
<h4>' . 'The Fast and Easy CMS' . '</h4>';
self::NewExtra($file, $content);
//Footer
$file = $destination . '/data/_extra/Footer.php';
$content = '<h3><a href="' . CMS_DOMAIN . '/Our_CMS" title="Features of Our CMS">' . CMS_NAME . ' Features</a></h3>
<p>Easy to use True WYSIWYG Editing.</p>
<p>Flat-file data storage and advanced resource management for fast websites.</p>
<p>Community driven development</p>
<p><a href="' . CMS_DOMAIN . '/Our_CMS" title="Features of Our CMS">And More...</a></p>
<p>If you like ' . CMS_NAME . ', then you might also like
<a href="http://lessphp.gpeasy.com" title="A Less to CSS compiler based on the official lesscss project">Less.php</a>,
<a href="http://whatcms.org" title="What CMS? Find out what CMS a site is using">WhatCMS.org</a> and
<a href="http://whichcms.org" title="Which CMS? Find out which CMS has the features you\'re looking for.">WhichCMS.org</a>.
</p>';
self::NewExtra($file, $content);
//Another example area
$file = $destination . '/data/_extra/Lorem.php';
$content = '<h3>Heading</h3>
<p>Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis euismod semper. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</p>';
self::NewExtra($file, $content);
//contact html
$file = $destination . '/data/_extra/Contact.php';
self::NewExtra($file, '<h2>Contact Us</h2><p>Use the form below to contact us, and be sure to enter a valid email address if you want to hear back from us.</p>');
//users
echo '<li>';
$user_info = array();
$user_info['password'] = common::hash($_POST['password'], 'sha512');
$user_info['passhash'] = 'sha512';
$user_info['granted'] = 'all';
$user_info['editing'] = 'all';
$user_info['email'] = $_POST['email'];
$users = array();
$username = $_POST['username'];
//log user in here to finish user_info
if ($base_install) {
includeFile('tool/sessions.php');
gp_defined('gp_session_cookie', gpsession::SessionCookie($config['gpuniq']));
gpsession::create($user_info, $username, $sessions);
}
$users[$username] = $user_info;
if (!gpFiles::SaveData($destination . '/data/_site/users.php', 'users', $users)) {
echo '<span class="failed">';
echo sprintf($langmessage['COULD_NOT_SAVE'], 'users.php');
echo '</span>';
echo '</li>';
return false;
}
echo '<span class="passed">';
echo sprintf($langmessage['_SAVED'], 'users.php');
echo '</span>';
echo '</li>';
//save config
//not using SaveConfig() because $config is not global here
echo '<li>';
$config['file_count'] = self::$file_count;
if (!gpFiles::SaveData($destination . '/data/_site/config.php', 'config', $config)) {
echo '<span class="failed">';
echo sprintf($langmessage['COULD_NOT_SAVE'], 'config.php');
echo '</span>';
echo '</li>';
return false;
}
echo '<span class="passed">';
echo sprintf($langmessage['_SAVED'], 'config.php');
echo '</span>';
echo '</li>';
if ($base_install) {
Install_Tools::InstallHtaccess($destination, $config);
}
gpFiles::Unlock('write', gp_random);
return true;
}
示例4: BufferOut
/**
* Complete the response by adding final content to the <head> of the document
* @static
* @since 2.4.1
* @param string $buffer html content
* @return string finalized response
*/
static function BufferOut($buffer)
{
global $config, $gp_head_content;
//add error notice if there was a fatal error
if (!ini_get('display_errors')) {
$last_error = self::LastFatal();
if ($last_error) {
self::RecordFatal($last_error);
$buffer .= self::FatalMessage($last_error);
}
}
//remove lock
if (defined('gp_has_lock') && gp_has_lock) {
gpFiles::Unlock('write', gp_random);
}
//make sure whe have a complete html request
$placeholder = '<!-- get_head_placeholder ' . gp_random . ' -->';
if (strpos($buffer, $placeholder) === false) {
return $buffer;
}
$replacements = array();
//performace stats
if (class_exists('admin_tools')) {
$replacements = self::PerformanceStats();
}
//head content
$replacements[$placeholder] = $gp_head_content;
//add jquery if needed
$placeholder = '<!-- jquery_placeholder ' . gp_random . ' -->';
$replacement = '';
if (strpos($gp_head_content, '<script') !== false || strpos($buffer, '<script') !== false) {
if ($config['jquery'] != 'local') {
$replacement = "\n<script type=\"text/javascript\" src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js\"></script>";
} else {
$replacement = "\n<script type=\"text/javascript\" src=\"" . common::GetDir('/include/thirdparty/js/jquery.js') . "\"></script>";
}
}
$replacements[$placeholder] = $replacement;
//messages
$pos = strpos($buffer, '<!-- message_start ' . gp_random . ' -->');
$len = strpos($buffer, '<!-- message_end -->') - $pos;
if ($pos && $len) {
$replacement = GetMessages(false);
$buffer = substr_replace($buffer, $replacement, $pos, $len + 20);
}
return str_replace(array_keys($replacements), array_values($replacements), $buffer);
}
示例5: LogOut
static function LogOut()
{
global $langmessage;
if (!isset($_COOKIE[gp_session_cookie])) {
return false;
}
$session_id = $_COOKIE[gp_session_cookie];
gpFiles::Unlock('admin', sha1(sha1($session_id)));
self::cookie(gp_session_cookie);
self::CleanSession($session_id);
msg($langmessage['LOGGED_OUT']);
}