Bug fixes and AJAX implementation for version plugin
This commit is contained in:
parent
74a15685c9
commit
a396ed137a
@ -66,16 +66,6 @@
|
||||
<h4 class="panel-title"><?php $L->p('Notifications') ?></h4>
|
||||
<ul class="uk-list uk-list-line">
|
||||
<?php
|
||||
// Print New version if the plugin Version is installed
|
||||
if (pluginEnabled('pluginVersion')) {
|
||||
if ($plugins['all']['pluginVersion']->newVersion()) {
|
||||
echo '<li>';
|
||||
echo '<b>'.$L->g('New version available').'</b>';
|
||||
echo '<br><a href="https://www.bludit.com" target="_black">Bludit.com</a>';
|
||||
echo '</li>';
|
||||
}
|
||||
}
|
||||
|
||||
// Print Notifications
|
||||
$logs = array_slice($Syslog->db, 0, NOTIFICATIONS_AMOUNT);
|
||||
foreach($logs as $log) {
|
||||
|
@ -9,6 +9,9 @@ echo 'var HTML_PATH_UPLOADS = "'.HTML_PATH_UPLOADS.'";'.PHP_EOL;
|
||||
echo 'var HTML_PATH_UPLOADS_THUMBNAILS = "'.HTML_PATH_UPLOADS_THUMBNAILS.'";'.PHP_EOL;
|
||||
echo 'var PARENT = "'.PARENT.'";'.PHP_EOL;
|
||||
|
||||
echo 'var BLUDIT_VERSION = "'.BLUDIT_VERSION.'";'.PHP_EOL;
|
||||
echo 'var BLUDIT_BUILD = "'.BLUDIT_BUILD.'";'.PHP_EOL;
|
||||
|
||||
echo 'var tokenCSRF = "'.$Security->getTokenCSRF().'";'.PHP_EOL;
|
||||
|
||||
echo '</script>';
|
||||
|
23
bl-plugins/version/js/version.js
Normal file
23
bl-plugins/version/js/version.js
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
function getLatestVersion() {
|
||||
|
||||
$("#current-version").show();
|
||||
|
||||
$.ajax({
|
||||
url: "https://version.bludit.com",
|
||||
method: "GET",
|
||||
dataType: 'json',
|
||||
success: function(json) {
|
||||
// Constant BLUDIT_BUILD is defined on functions.js
|
||||
if (json.stable.build > BLUDIT_BUILD) {
|
||||
$("#current-version").hide();
|
||||
$("#new-version").show();
|
||||
}
|
||||
},
|
||||
error: function(json) {
|
||||
console.log("Error when try to get the version.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getLatestVersion();
|
@ -19,51 +19,38 @@ class pluginVersion extends Plugin {
|
||||
color: #777;
|
||||
margin-left: 8px;
|
||||
}
|
||||
#new-version,
|
||||
#current-version {
|
||||
display: none;
|
||||
}
|
||||
</style>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
public function adminBodyBegin()
|
||||
{
|
||||
global $Language;
|
||||
|
||||
$html = '<div id="plugin-version">';
|
||||
$html .= '<div id="new-version"><a target="_blank" href="https://www.bludit.com"><i class="fa fa-download" aria-hidden="true"></i> '.$Language->get('New version available').'</a></div>';
|
||||
|
||||
if (defined('BLUDIT_PRO')) {
|
||||
$html .= '<div id="current-version">Bludit PRO v'.BLUDIT_VERSION.'</div>';
|
||||
} else {
|
||||
$html .= '<div id="current-version">Bludit v'.BLUDIT_VERSION.'<a target="_blank" href="https://pro.bludit.com">'.$Language->get('Upgrade to Bludit PRO').'</a></div>';
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
public function adminBodyEnd()
|
||||
{
|
||||
global $ADMIN_CONTROLLER;
|
||||
global $Language;
|
||||
|
||||
$timeToCheck = Session::get('timeToCheck') + 10*60;
|
||||
if( ($ADMIN_CONTROLLER=='dashboard') && ($timeToCheck<time()) ) {
|
||||
$versions = $this->getVersion();
|
||||
Session::set('timeToCheck', time());
|
||||
Session::set('version', $versions['version']);
|
||||
}
|
||||
|
||||
if ($this->newVersion()) {
|
||||
$html = '<div id="plugin-version"><a target="_blank" href="https://www.bludit.com"><i class="fa fa-download" aria-hidden="true"></i> '.$Language->get('New version available').'</a></div>';
|
||||
} else {
|
||||
if(defined('BLUDIT_PRO')) {
|
||||
$html = '<div id="plugin-version">Bludit PRO v'.BLUDIT_VERSION.'</div>';
|
||||
} else {
|
||||
$html = '<div id="plugin-version">Bludit v'.BLUDIT_VERSION.'<a target="_blank" href="https://pro.bludit.com">'.$Language->get('Upgrade to Bludit PRO').'</a></div>';
|
||||
}
|
||||
}
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
public function newVersion()
|
||||
{
|
||||
return version_compare(Session::get('version'), BLUDIT_VERSION, '>');
|
||||
}
|
||||
|
||||
private function getVersion()
|
||||
{
|
||||
$url = 'https://version.bludit.com';
|
||||
$output = TCP::http($url);
|
||||
|
||||
$json = json_decode($output, true);
|
||||
if (empty($json['stable'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $json['stable'];
|
||||
$jsPath = $this->phpPath() . 'js' . DS;
|
||||
$scripts = '<script>' . file_get_contents($jsPath . 'version.js') . '</script>';
|
||||
return $scripts;
|
||||
}
|
||||
}
|
16
install.php
16
install.php
@ -306,6 +306,11 @@ function install($adminPassword, $email='', $timezone)
|
||||
error_log($errorText, 0);
|
||||
}
|
||||
|
||||
if (!mkdir(PATH_PLUGINS_DATABASES.'version', $dirpermissions, true)) {
|
||||
$errorText = 'Error when trying to created the directory=>'.PATH_PLUGINS_DATABASES.'version';
|
||||
error_log($errorText, 0);
|
||||
}
|
||||
|
||||
// UPLOADS directories
|
||||
if (!mkdir(PATH_UPLOADS_PROFILES, $dirpermissions, true)) {
|
||||
$errorText = 'Error when trying to created the directory=>'.PATH_UPLOADS_PROFILES;
|
||||
@ -545,6 +550,17 @@ function install($adminPassword, $email='', $timezone)
|
||||
LOCK_EX
|
||||
);
|
||||
|
||||
// File plugins/version/db.php
|
||||
file_put_contents(
|
||||
PATH_PLUGINS_DATABASES.'version'.DS.'db.php',
|
||||
$dataHead.json_encode(
|
||||
array(
|
||||
'position'=>1
|
||||
),
|
||||
JSON_PRETTY_PRINT),
|
||||
LOCK_EX
|
||||
);
|
||||
|
||||
// Page create-your-own-content
|
||||
$data = 'Title: '.$Language->get('example-page-1-title').PHP_EOL.'Content: '.PHP_EOL.$Language->get('example-page-1-content');
|
||||
file_put_contents(PATH_PAGES.$Language->get('example-page-1-slug').DS.FILENAME, $data, LOCK_EX);
|
||||
|
Loading…
Reference in New Issue
Block a user