mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-05 17:51:40 +09:00
Merge branch 'develop' of github.com:rhymix/rhymix into pr/notify-block
This commit is contained in:
commit
c627aa9e7c
23 changed files with 89 additions and 52 deletions
|
|
@ -175,27 +175,27 @@ class DisplayHandler extends Handler
|
||||||
{
|
{
|
||||||
$data = Rhymix\Framework\Debug::getDebugData();
|
$data = Rhymix\Framework\Debug::getDebugData();
|
||||||
$display_content = array_fill_keys(config('debug.display_content'), true);
|
$display_content = array_fill_keys(config('debug.display_content'), true);
|
||||||
if (count($display_content) && !isset($display_content['entries']))
|
if (!isset($display_content['entries']))
|
||||||
{
|
{
|
||||||
$data->entries = null;
|
$data->entries = null;
|
||||||
}
|
}
|
||||||
if (count($display_content) && !isset($display_content['queries']))
|
if (!isset($display_content['queries']))
|
||||||
{
|
{
|
||||||
unset($data->queries);
|
unset($data->queries);
|
||||||
}
|
}
|
||||||
if (count($display_content) && !isset($display_content['slow_queries']))
|
if (!isset($display_content['slow_queries']))
|
||||||
{
|
{
|
||||||
unset($data->slow_queries);
|
unset($data->slow_queries);
|
||||||
}
|
}
|
||||||
if (count($display_content) && !isset($display_content['slow_triggers']))
|
if (!isset($display_content['slow_triggers']))
|
||||||
{
|
{
|
||||||
unset($data->slow_triggers);
|
unset($data->slow_triggers);
|
||||||
}
|
}
|
||||||
if (count($display_content) && !isset($display_content['slow_widgets']))
|
if (!isset($display_content['slow_widgets']))
|
||||||
{
|
{
|
||||||
unset($data->slow_widgets);
|
unset($data->slow_widgets);
|
||||||
}
|
}
|
||||||
if (count($display_content) && !isset($display_content['slow_remote_requests']))
|
if (!isset($display_content['slow_remote_requests']))
|
||||||
{
|
{
|
||||||
unset($data->slow_remote_requests);
|
unset($data->slow_remote_requests);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,11 @@ else
|
||||||
define('RX_POST', false);
|
define('RX_POST', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* RX_WINDOWS is true if the operating system is Windows.
|
||||||
|
*/
|
||||||
|
define('RX_WINDOWS', strncasecmp(PHP_OS, 'WIN', 3) === 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XE core compatibility constants (may be used by XE-compatible plugins and themes).
|
* XE core compatibility constants (may be used by XE-compatible plugins and themes).
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -88,13 +88,13 @@ return array(
|
||||||
),
|
),
|
||||||
'debug' => array(
|
'debug' => array(
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'log_slow_queries' => 0,
|
'log_slow_queries' => 0.25,
|
||||||
'log_slow_triggers' => 0,
|
'log_slow_triggers' => 0.25,
|
||||||
'log_slow_widgets' => 0,
|
'log_slow_widgets' => 0.25,
|
||||||
'log_slow_remote_requests' => 0,
|
'log_slow_remote_requests' => 1.25,
|
||||||
'log_filename' => null,
|
'log_filename' => null,
|
||||||
'display_type' => array('comment'),
|
'display_type' => array('comment'),
|
||||||
'display_content' => array(),
|
'display_content' => array('request_info', 'entries', 'errors', 'queries'),
|
||||||
'display_to' => 'admin',
|
'display_to' => 'admin',
|
||||||
'write_error_log' => 'fatal',
|
'write_error_log' => 'fatal',
|
||||||
'allow' => array(),
|
'allow' => array(),
|
||||||
|
|
|
||||||
|
|
@ -198,20 +198,19 @@ class Security
|
||||||
// Use other good sources of entropy if random_bytes() is not available.
|
// Use other good sources of entropy if random_bytes() is not available.
|
||||||
if ($entropy === false)
|
if ($entropy === false)
|
||||||
{
|
{
|
||||||
$is_windows = (defined('\PHP_OS') && strtoupper(substr(\PHP_OS, 0, 3)) === 'WIN');
|
|
||||||
if(function_exists('openssl_random_pseudo_bytes'))
|
if(function_exists('openssl_random_pseudo_bytes'))
|
||||||
{
|
{
|
||||||
$entropy = openssl_random_pseudo_bytes($entropy_capped_bytes);
|
$entropy = openssl_random_pseudo_bytes($entropy_capped_bytes);
|
||||||
}
|
}
|
||||||
elseif(function_exists('mcrypt_create_iv') && !$is_windows)
|
elseif(function_exists('mcrypt_create_iv') && !\RX_WINDOWS)
|
||||||
{
|
{
|
||||||
$entropy = mcrypt_create_iv($entropy_capped_bytes, \MCRYPT_DEV_URANDOM);
|
$entropy = mcrypt_create_iv($entropy_capped_bytes, \MCRYPT_DEV_URANDOM);
|
||||||
}
|
}
|
||||||
elseif(function_exists('mcrypt_create_iv') && $is_windows)
|
elseif(function_exists('mcrypt_create_iv') && \RX_WINDOWS)
|
||||||
{
|
{
|
||||||
$entropy = mcrypt_create_iv($entropy_capped_bytes, \MCRYPT_RAND);
|
$entropy = mcrypt_create_iv($entropy_capped_bytes, \MCRYPT_RAND);
|
||||||
}
|
}
|
||||||
elseif(!$is_windows && @is_readable('/dev/urandom'))
|
elseif(!\RX_WINDOWS && @is_readable('/dev/urandom'))
|
||||||
{
|
{
|
||||||
$fp = fopen('/dev/urandom', 'rb');
|
$fp = fopen('/dev/urandom', 'rb');
|
||||||
if (function_exists('stream_set_read_buffer')) // This function does not exist in HHVM.
|
if (function_exists('stream_set_read_buffer')) // This function does not exist in HHVM.
|
||||||
|
|
|
||||||
|
|
@ -152,7 +152,7 @@ class Storage
|
||||||
public static function isExecutable($path)
|
public static function isExecutable($path)
|
||||||
{
|
{
|
||||||
$path = rtrim($path, '/\\');
|
$path = rtrim($path, '/\\');
|
||||||
if (function_exists('exec'))
|
if (function_exists('exec') && !\RX_WINDOWS)
|
||||||
{
|
{
|
||||||
@exec('/bin/ls -l ' . escapeshellarg($path), $output, $return_var);
|
@exec('/bin/ls -l ' . escapeshellarg($path), $output, $return_var);
|
||||||
if ($return_var === 0)
|
if ($return_var === 0)
|
||||||
|
|
@ -880,7 +880,7 @@ class Storage
|
||||||
public static function recommendUmask()
|
public static function recommendUmask()
|
||||||
{
|
{
|
||||||
// On Windows, set the umask to 0000.
|
// On Windows, set the umask to 0000.
|
||||||
if (strncasecmp(\PHP_OS, 'Win', 3) === 0)
|
if (\RX_WINDOWS)
|
||||||
{
|
{
|
||||||
return '0000';
|
return '0000';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1309,7 +1309,7 @@ function closePopupScript()
|
||||||
function reload($isOpener = FALSE)
|
function reload($isOpener = FALSE)
|
||||||
{
|
{
|
||||||
$reloadScript = $isOpener ? 'window.opener.location.reload();' : 'window.location.reload();';
|
$reloadScript = $isOpener ? 'window.opener.location.reload();' : 'window.location.reload();';
|
||||||
echo sprintf('<script> %s </script>', $raloadScript);
|
echo sprintf('<script> %s </script>', $reloadScript);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* End of file func.inc.php */
|
/* End of file func.inc.php */
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
<?php echo '[' . $data->timestamp . ']' . "\n"; ?>
|
<?php echo '[' . $data->timestamp . ']' . "\n"; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['request_info'])): ?>
|
<?php if (isset($display_content['request_info'])): ?>
|
||||||
Request / Response
|
Request / Response
|
||||||
==================
|
==================
|
||||||
Request URL: <?php echo $data->url . "\n"; ?>
|
Request URL: <?php echo $data->url . "\n"; ?>
|
||||||
|
|
@ -30,7 +30,7 @@ Peak Memory Usage: <?php echo sprintf('%0.1f MB', memory_get_peak_usage(true) /
|
||||||
Included Files: <?php echo count(get_included_files()) . "\n"; ?>
|
Included Files: <?php echo count(get_included_files()) . "\n"; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['entries'])): ?>
|
<?php if (isset($display_content['entries'])): ?>
|
||||||
Debug Entries
|
Debug Entries
|
||||||
=============
|
=============
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -58,7 +58,7 @@ Debug Entries
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['errors'])): ?>
|
<?php if (isset($display_content['errors'])): ?>
|
||||||
PHP Errors and Warnings
|
PHP Errors and Warnings
|
||||||
=======================
|
=======================
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -78,7 +78,7 @@ PHP Errors and Warnings
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['queries'])): ?>
|
<?php if (isset($display_content['queries'])): ?>
|
||||||
Database Queries
|
Database Queries
|
||||||
================
|
================
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -101,7 +101,7 @@ Database Queries
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['slow_queries'])): ?>
|
<?php if (isset($display_content['slow_queries'])): ?>
|
||||||
Slow Queries
|
Slow Queries
|
||||||
============
|
============
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -124,7 +124,7 @@ Slow Queries
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['slow_triggers'])): ?>
|
<?php if (isset($display_content['slow_triggers'])): ?>
|
||||||
Slow Triggers
|
Slow Triggers
|
||||||
=============
|
=============
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -142,7 +142,7 @@ Slow Triggers
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['slow_widgets'])): ?>
|
<?php if (isset($display_content['slow_widgets'])): ?>
|
||||||
Slow Widgets
|
Slow Widgets
|
||||||
============
|
============
|
||||||
<?php
|
<?php
|
||||||
|
|
@ -159,7 +159,7 @@ Slow Widgets
|
||||||
?>
|
?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if (!count($display_content) || isset($display_content['slow_remote_requests'])): ?>
|
<?php if (isset($display_content['slow_remote_requests'])): ?>
|
||||||
Slow Remote Requests
|
Slow Remote Requests
|
||||||
====================
|
====================
|
||||||
<?php
|
<?php
|
||||||
|
|
|
||||||
|
|
@ -832,7 +832,7 @@ class adminAdminController extends admin
|
||||||
Rhymix\Framework\Config::set('debug.write_error_log', strval($vars->debug_write_error_log) ?: 'fatal');
|
Rhymix\Framework\Config::set('debug.write_error_log', strval($vars->debug_write_error_log) ?: 'fatal');
|
||||||
|
|
||||||
// Debug content
|
// Debug content
|
||||||
$debug_content = array_values($vars->debug_display_content);
|
$debug_content = array_values($vars->debug_display_content ?: array());
|
||||||
Rhymix\Framework\Config::set('debug.display_content', $debug_content);
|
Rhymix\Framework\Config::set('debug.display_content', $debug_content);
|
||||||
|
|
||||||
// Log filename
|
// Log filename
|
||||||
|
|
|
||||||
|
|
@ -325,8 +325,11 @@ class adminAdminView extends admin
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get need update from easy install
|
// Get need update from easy install
|
||||||
$oAutoinstallAdminModel = getAdminModel('autoinstall');
|
//$oAutoinstallAdminModel = getAdminModel('autoinstall');
|
||||||
$needUpdateList = $oAutoinstallAdminModel->getNeedUpdateList();
|
//$needUpdateList = $oAutoinstallAdminModel->getNeedUpdateList();
|
||||||
|
$needUpdateList = array();
|
||||||
|
|
||||||
|
// Check counter addon
|
||||||
$site_module_info = Context::get('site_module_info');
|
$site_module_info = Context::get('site_module_info');
|
||||||
$oAddonAdminModel = getAdminModel('addon');
|
$oAddonAdminModel = getAdminModel('addon');
|
||||||
$counterAddonActivated = $oAddonAdminModel->isActivatedAddon('counter', $site_module_info->site_srl );
|
$counterAddonActivated = $oAddonAdminModel->isActivatedAddon('counter', $site_module_info->site_srl );
|
||||||
|
|
|
||||||
|
|
@ -56,14 +56,14 @@
|
||||||
<div class="x_control-group">
|
<div class="x_control-group">
|
||||||
<label class="x_control-label" for="debug_log_slow_widgets">{$lang->debug_display_content}</label>
|
<label class="x_control-label" for="debug_log_slow_widgets">{$lang->debug_display_content}</label>
|
||||||
<div class="x_controls">
|
<div class="x_controls">
|
||||||
<label for="debug_display_content_request_info" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_request_info" value="request_info" checked="checked"|cond="!count($debug_display_content) || in_array('request_info', $debug_display_content)" /> {$lang->debug_display_content_request_info}</label>
|
<label for="debug_display_content_request_info" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_request_info" value="request_info" checked="checked"|cond="in_array('request_info', $debug_display_content)" /> {$lang->debug_display_content_request_info}</label>
|
||||||
<label for="debug_display_content_entries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_entries" value="entries" checked="checked"|cond="!count($debug_display_content) || in_array('entries', $debug_display_content)" /> {$lang->debug_display_content_entries}</label>
|
<label for="debug_display_content_entries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_entries" value="entries" checked="checked"|cond="in_array('entries', $debug_display_content)" /> {$lang->debug_display_content_entries}</label>
|
||||||
<label for="debug_display_content_errors" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_errors" value="errors" checked="checked"|cond="!count($debug_display_content) || in_array('errors', $debug_display_content)" /> {$lang->debug_display_content_errors}</label>
|
<label for="debug_display_content_errors" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_errors" value="errors" checked="checked"|cond="in_array('errors', $debug_display_content)" /> {$lang->debug_display_content_errors}</label>
|
||||||
<label for="debug_display_content_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_queries" value="queries" checked="checked"|cond="!count($debug_display_content) || in_array('queries', $debug_display_content)" /> {$lang->debug_display_content_queries}</label>
|
<label for="debug_display_content_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_queries" value="queries" checked="checked"|cond="in_array('queries', $debug_display_content)" /> {$lang->debug_display_content_queries}</label>
|
||||||
<label for="debug_display_content_slow_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_queries" value="slow_queries" checked="checked"|cond="!count($debug_display_content) || in_array('slow_queries', $debug_display_content)" /> {$lang->debug_display_content_slow_queries}</label>
|
<label for="debug_display_content_slow_queries" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_queries" value="slow_queries" checked="checked"|cond="in_array('slow_queries', $debug_display_content)" /> {$lang->debug_display_content_slow_queries}</label>
|
||||||
<label for="debug_display_content_slow_triggers" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_triggers" value="slow_triggers" checked="checked"|cond="!count($debug_display_content) || in_array('slow_triggers', $debug_display_content)" /> {$lang->debug_display_content_slow_triggers}</label>
|
<label for="debug_display_content_slow_triggers" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_triggers" value="slow_triggers" checked="checked"|cond="in_array('slow_triggers', $debug_display_content)" /> {$lang->debug_display_content_slow_triggers}</label>
|
||||||
<label for="debug_display_content_slow_widgets" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_widgets" value="slow_widgets" checked="checked"|cond="!count($debug_display_content) || in_array('slow_widgets', $debug_display_content)" /> {$lang->debug_display_content_slow_widgets}</label>
|
<label for="debug_display_content_slow_widgets" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_widgets" value="slow_widgets" checked="checked"|cond="in_array('slow_widgets', $debug_display_content)" /> {$lang->debug_display_content_slow_widgets}</label>
|
||||||
<label for="debug_display_content_slow_remote_requests" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_remote_requests" value="slow_remote_requests" checked="checked"|cond="!count($debug_display_content) || in_array('slow_remote_requests', $debug_display_content)" /> {$lang->debug_display_content_slow_remote_requests}</label>
|
<label for="debug_display_content_slow_remote_requests" class="x_inline"><input type="checkbox" name="debug_display_content[]" id="debug_display_content_slow_remote_requests" value="slow_remote_requests" checked="checked"|cond="in_array('slow_remote_requests', $debug_display_content)" /> {$lang->debug_display_content_slow_remote_requests}</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="x_control-group">
|
<div class="x_control-group">
|
||||||
|
|
|
||||||
|
|
@ -1425,6 +1425,7 @@ jQuery(function($){
|
||||||
// Details toggle in admin table
|
// Details toggle in admin table
|
||||||
var simpleBtn = $('.x .dsTg .__simple');
|
var simpleBtn = $('.x .dsTg .__simple');
|
||||||
var detailBtn = $('.x .dsTg .__detail');
|
var detailBtn = $('.x .dsTg .__detail');
|
||||||
|
var tableContainer = $('.x .dsTg');
|
||||||
var tdTitle = $('.x .dsTg td.title');
|
var tdTitle = $('.x .dsTg td.title');
|
||||||
tdTitle.each(function(){
|
tdTitle.each(function(){
|
||||||
var $t = $(this);
|
var $t = $(this);
|
||||||
|
|
@ -1439,12 +1440,14 @@ jQuery(function($){
|
||||||
simples.show();
|
simples.show();
|
||||||
detailBtn.removeClass('x_active');
|
detailBtn.removeClass('x_active');
|
||||||
simpleBtn.addClass('x_active');
|
simpleBtn.addClass('x_active');
|
||||||
|
tableContainer.addClass('__simpleView');
|
||||||
};
|
};
|
||||||
var detailBtnFn = function(){
|
var detailBtnFn = function(){
|
||||||
details.show();
|
details.show();
|
||||||
simples.hide();
|
simples.hide();
|
||||||
detailBtn.addClass('x_active');
|
detailBtn.addClass('x_active');
|
||||||
simpleBtn.removeClass('x_active');
|
simpleBtn.removeClass('x_active');
|
||||||
|
tableContainer.removeClass('__simpleView');
|
||||||
};
|
};
|
||||||
simpleBtn.click(simpleBtnFn);
|
simpleBtn.click(simpleBtnFn);
|
||||||
detailBtn.click(detailBtnFn);
|
detailBtn.click(detailBtnFn);
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,12 @@ class autoinstallAdminController extends autoinstall
|
||||||
foreach($packages as $package_srl)
|
foreach($packages as $package_srl)
|
||||||
{
|
{
|
||||||
$package = $oModel->getPackage($package_srl);
|
$package = $oModel->getPackage($package_srl);
|
||||||
|
$package->type = $oModel->getTypeFromPath($package->path);
|
||||||
|
if ($package->type === 'core')
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if($oAdminModel->checkUseDirectModuleInstall($package)->toBool())
|
if($oAdminModel->checkUseDirectModuleInstall($package)->toBool())
|
||||||
{
|
{
|
||||||
$oModuleInstaller = new DirectModuleInstaller($package);
|
$oModuleInstaller = new DirectModuleInstaller($package);
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,6 @@ class autoinstallAdminModel extends autoinstall
|
||||||
|
|
||||||
if($packageInfo->type == 'core')
|
if($packageInfo->type == 'core')
|
||||||
{
|
{
|
||||||
//$title = 'XpressEngine';
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -216,7 +216,7 @@ class autoinstallAdminView extends autoinstall
|
||||||
|
|
||||||
if($v->type == "core")
|
if($v->type == "core")
|
||||||
{
|
{
|
||||||
$v->avail_remove = FALSE;
|
continue;
|
||||||
}
|
}
|
||||||
else if($v->type == "module")
|
else if($v->type == "module")
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<div loop="$categories => $category" cond="$category->depth == 0">
|
<div loop="$categories => $category" cond="$category->depth == 0">
|
||||||
<h2>{$category->title}</h2>
|
<h2>{$category->title}</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li loop="$category->children => $children" class="active"|cond="$children->category_srl == $category_srl">
|
<li loop="$category->children => $children" class="active"|cond="$children->category_srl == $category_srl" cond="$children->category_srl != 18322907">
|
||||||
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$children->category_srl,'childrenList','')}">{$children->title}({$children->nPackages})</a>
|
<a href="{getUrl('','module','admin','act','dispAutoinstallAdminIndex','category_srl',$children->category_srl,'childrenList','')}">{$children->title}({$children->nPackages})</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -17,10 +17,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div cond="$contain_core" class="x_alert x_alert-block">
|
|
||||||
<h4>{$lang->msg_update_core_title}</h4>
|
|
||||||
<p>{$lang->msg_update_core}</p>
|
|
||||||
</div>
|
|
||||||
<div cond="$package->installed" class="x_well">
|
<div cond="$package->installed" class="x_well">
|
||||||
<p>{$lang->current_version}: {$package->cur_version} <block cond="$package->need_update">({$lang->require_update})</block></p>
|
<p>{$lang->current_version}: {$package->cur_version} <block cond="$package->need_update">({$lang->require_update})</block></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -720,7 +720,10 @@ class commentController extends comment
|
||||||
$oMail->setSubject($mail_title);
|
$oMail->setSubject($mail_title);
|
||||||
$oMail->setBody($mail_content);
|
$oMail->setBody($mail_content);
|
||||||
$oMail->setFrom(config('mail.default_from') ?: $member_info->email_address, $member_info->nick_name);
|
$oMail->setFrom(config('mail.default_from') ?: $member_info->email_address, $member_info->nick_name);
|
||||||
$oMail->setReplyTo($member_info->email_address);
|
if($member_info->email_address)
|
||||||
|
{
|
||||||
|
$oMail->setReplyTo($member_info->email_address);
|
||||||
|
}
|
||||||
foreach (array_map('trim', explode(',', $module_info->admin_mail)) as $email_address)
|
foreach (array_map('trim', explode(',', $module_info->admin_mail)) as $email_address)
|
||||||
{
|
{
|
||||||
if ($email_address && $email_address !== $author_email_address)
|
if ($email_address && $email_address !== $author_email_address)
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,16 @@ class fileAdminController extends file
|
||||||
$config->image_remove_exif_data = Context::get('image_remove_exif_data') === 'Y' ? true : false;
|
$config->image_remove_exif_data = Context::get('image_remove_exif_data') === 'Y' ? true : false;
|
||||||
$config->video_thumbnail = Context::get('video_thumbnail') === 'Y' ? true : false;
|
$config->video_thumbnail = Context::get('video_thumbnail') === 'Y' ? true : false;
|
||||||
$config->video_mp4_gif_time = intval(Context::get('video_mp4_gif_time'));
|
$config->video_mp4_gif_time = intval(Context::get('video_mp4_gif_time'));
|
||||||
$config->ffmpeg_command = escape(utf8_trim(Context::get('ffmpeg_command'))) ?: '/usr/bin/ffmpeg';
|
if (RX_WINDOWS)
|
||||||
$config->ffprobe_command = escape(utf8_trim(Context::get('ffprobe_command'))) ?: '/usr/bin/ffprobe';
|
{
|
||||||
|
$config->ffmpeg_command = escape(Context::get('ffmpeg_command')) ?: 'C:\Program Files\ffmpeg\bin\ffmpeg.exe';
|
||||||
|
$config->ffprobe_command = escape(Context::get('ffprobe_command')) ?: 'C:\Program Files\ffmpeg\bin\ffprobe.exe';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$config->ffmpeg_command = escape(utf8_trim(Context::get('ffmpeg_command'))) ?: '/usr/bin/ffmpeg';
|
||||||
|
$config->ffprobe_command = escape(utf8_trim(Context::get('ffprobe_command'))) ?: '/usr/bin/ffprobe';
|
||||||
|
}
|
||||||
|
|
||||||
// Check maximum file size
|
// Check maximum file size
|
||||||
if (PHP_INT_SIZE < 8)
|
if (PHP_INT_SIZE < 8)
|
||||||
|
|
|
||||||
|
|
@ -1178,8 +1178,15 @@ class fileController extends file
|
||||||
$adjusted['height'] -= $adjusted['height'] % 2;
|
$adjusted['height'] -= $adjusted['height'] % 2;
|
||||||
|
|
||||||
// Convert using ffmpeg
|
// Convert using ffmpeg
|
||||||
$command = $config->ffmpeg_command;
|
if (RX_WINDOWS)
|
||||||
$command .= ' -i ' . escapeshellarg($file_info['tmp_name']);
|
{
|
||||||
|
$command = escapeshellarg($config->ffmpeg_command);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$command = $config->ffmpeg_command;
|
||||||
|
}
|
||||||
|
$command .= ' -nostdin -i ' . escapeshellarg($file_info['tmp_name']);
|
||||||
$command .= ' -movflags +faststart -pix_fmt yuv420p -c:v libx264 -crf 23';
|
$command .= ' -movflags +faststart -pix_fmt yuv420p -c:v libx264 -crf 23';
|
||||||
$command .= sprintf(' -vf "scale=%d:%d"', $adjusted['width'], $adjusted['height']);
|
$command .= sprintf(' -vf "scale=%d:%d"', $adjusted['width'], $adjusted['height']);
|
||||||
$command .= ' ' . escapeshellarg($output_name);
|
$command .= ' ' . escapeshellarg($output_name);
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,9 @@
|
||||||
<div class="hx h2">
|
<div class="hx h2">
|
||||||
<h2>{$system_message}</h2>
|
<h2>{$system_message}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="message" cond="$system_message_detail">
|
||||||
|
{$system_message_detail}
|
||||||
|
</div>
|
||||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/message/m.skin/default/system_message/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/message/m.skin/default/system_message/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -62,4 +65,4 @@ jQuery(function($){
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -736,6 +736,7 @@ class moduleModel extends module
|
||||||
$module_info->homepage = $xml_obj->link->body;
|
$module_info->homepage = $xml_obj->link->body;
|
||||||
$module_info->category = $xml_obj->category->body;
|
$module_info->category = $xml_obj->category->body;
|
||||||
if(!$module_info->category) $module_info->category = 'service';
|
if(!$module_info->category) $module_info->category = 'service';
|
||||||
|
$date_obj = (object)array('y' => 0, 'm' => 0, 'd' => 0);
|
||||||
sscanf($xml_obj->date->body, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
|
sscanf($xml_obj->date->body, '%d-%d-%d', $date_obj->y, $date_obj->m, $date_obj->d);
|
||||||
$module_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
|
$module_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
|
||||||
$module_info->license = $xml_obj->license->body;
|
$module_info->license = $xml_obj->license->body;
|
||||||
|
|
@ -761,6 +762,7 @@ class moduleModel extends module
|
||||||
$module_info->version = $xml_obj->attrs->version;
|
$module_info->version = $xml_obj->attrs->version;
|
||||||
$module_info->category = $xml_obj->attrs->category;
|
$module_info->category = $xml_obj->attrs->category;
|
||||||
if(!$module_info->category) $module_info->category = 'service';
|
if(!$module_info->category) $module_info->category = 'service';
|
||||||
|
$date_obj = (object)array('y' => 0, 'm' => 0, 'd' => 0);
|
||||||
sscanf($xml_obj->author->attrs->date, '%d. %d. %d', $date_obj->y, $date_obj->m, $date_obj->d);
|
sscanf($xml_obj->author->attrs->date, '%d. %d. %d', $date_obj->y, $date_obj->m, $date_obj->d);
|
||||||
$module_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
|
$module_info->date = sprintf('%04d%02d%02d', $date_obj->y, $date_obj->m, $date_obj->d);
|
||||||
$author_obj = new stdClass();
|
$author_obj = new stdClass();
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,9 @@
|
||||||
top: -1px;
|
top: -1px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.__simpleView .fvOff,.__simpleView .fvOn{
|
||||||
|
top:0;
|
||||||
|
}
|
||||||
.fvOff{
|
.fvOff{
|
||||||
background-image: data-uri('images/star-empty.svg');
|
background-image: data-uri('images/star-empty.svg');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -319,7 +319,7 @@ class pageAdminController extends page
|
||||||
$oDocument = $oDocumentModel->getDocument($obj->document_srl);
|
$oDocument = $oDocumentModel->getDocument($obj->document_srl);
|
||||||
|
|
||||||
$bAnonymous = false;
|
$bAnonymous = false;
|
||||||
$target = ($obj->ismobile == 'Y') ? 'mdocument_srl' : 'document_srl';
|
$target = ($obj->isMobile == 'Y') ? 'mdocument_srl' : 'document_srl';
|
||||||
|
|
||||||
// 이미 존재하는 경우 수정
|
// 이미 존재하는 경우 수정
|
||||||
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl)
|
if($oDocument->isExists() && $oDocument->document_srl == $obj->document_srl)
|
||||||
|
|
@ -348,7 +348,7 @@ class pageAdminController extends page
|
||||||
// 결과를 리턴
|
// 결과를 리턴
|
||||||
$this->add('mid', Context::get('mid'));
|
$this->add('mid', Context::get('mid'));
|
||||||
$this->add('document_srl', $output->get('document_srl'));
|
$this->add('document_srl', $output->get('document_srl'));
|
||||||
$this->add('is_mobile', $obj->ismobile);
|
$this->add('is_mobile', $obj->isMobile);
|
||||||
|
|
||||||
// 성공 메세지 등록
|
// 성공 메세지 등록
|
||||||
$this->setMessage($msg_code);
|
$this->setMessage($msg_code);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue