prepare to DC 2.24
parent
f5493d6544
commit
10dcadb1dd
14
_admin.php
14
_admin.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,10 +14,10 @@ if (!defined('DC_CONTEXT_ADMIN')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$_menu['Plugins']->addItem(
|
dcCore::app()->menu[dcAdmin::MENU_PLUGINS]->addItem(
|
||||||
__('Noodles'),
|
__('Noodles'),
|
||||||
$core->adminurl->get('admin.plugin.noodles'),
|
dcCore::app()->adminurl->get('admin.plugin.noodles'),
|
||||||
dcPage::getPF('noodles/icon.png'),
|
dcPage::getPF('noodles/icon.png'),
|
||||||
preg_match('/noodles(&.*)?$/', $_SERVER['REQUEST_URI']),
|
preg_match('/noodles(&.*)?$/', $_SERVER['REQUEST_URI']),
|
||||||
$core->auth->check('admin', $core->blog->id)
|
dcCore::app()->auth->check(dcAuth::PERMISSION_CONTENT_ADMIN, dcCore::app()->blog->id)
|
||||||
);
|
);
|
||||||
|
|
18
_define.php
18
_define.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,16 +14,16 @@ $this->registerModule(
|
||||||
'Noodles',
|
'Noodles',
|
||||||
'Add users gravatars everywhere',
|
'Add users gravatars everywhere',
|
||||||
'Jean-Christian Denis and contributors',
|
'Jean-Christian Denis and contributors',
|
||||||
'0.8',
|
'0.9',
|
||||||
[
|
[
|
||||||
'requires' => [['core', '2.19']],
|
'requires' => [['core', '2.24']],
|
||||||
'permissions' => 'admin',
|
'permissions' => dcAuth::PERMISSION_CONTENT_ADMIN,
|
||||||
'type' => 'plugin',
|
'type' => 'plugin',
|
||||||
'support' => 'https://github.com/JcDenis/noodles',
|
'support' => 'https://github.com/JcDenis/noodles',
|
||||||
'details' => 'http://plugins.dotaddict.org/dc2/details/noodles',
|
'details' => 'http://plugins.dotaddict.org/dc2/details/noodles',
|
||||||
'repository' => 'https://raw.githubusercontent.com/JcDenis/noodles/master/dcstore.xml',
|
'repository' => 'https://raw.githubusercontent.com/JcDenis/noodles/master/dcstore.xml',
|
||||||
'settings' => [
|
'settings' => [
|
||||||
'self' => ''
|
'self' => '',
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
26
_install.php
26
_install.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,16 +14,16 @@ if (!defined('DC_CONTEXT_ADMIN')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$new_version = $core->plugins->moduleInfo('noodles', 'version');
|
$new_version = dcCore::app()->plugins->moduleInfo('noodles', 'version');
|
||||||
$old_version = $core->getVersion('noodles');
|
$old_version = dcCore::app()->getVersion('noodles');
|
||||||
|
|
||||||
if (version_compare($old_version, $new_version, '>=')) {
|
if (version_compare($old_version, $new_version, '>=')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$core->blog->settings->addNamespace('noodles');
|
dcCore::app()->blog->settings->addNamespace('noodles');
|
||||||
$core->blog->settings->noodles->put(
|
dcCore::app()->blog->settings->noodles->put(
|
||||||
'noodles_active',
|
'noodles_active',
|
||||||
false,
|
false,
|
||||||
'boolean',
|
'boolean',
|
||||||
|
@ -31,7 +31,7 @@ try {
|
||||||
false,
|
false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$core->blog->settings->noodles->put(
|
dcCore::app()->blog->settings->noodles->put(
|
||||||
'noodles_api',
|
'noodles_api',
|
||||||
'http://www.gravatar.com/',
|
'http://www.gravatar.com/',
|
||||||
'string',
|
'string',
|
||||||
|
@ -39,7 +39,7 @@ try {
|
||||||
false,
|
false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$core->blog->settings->noodles->put(
|
dcCore::app()->blog->settings->noodles->put(
|
||||||
'noodles_image',
|
'noodles_image',
|
||||||
'',
|
'',
|
||||||
'string',
|
'string',
|
||||||
|
@ -47,7 +47,7 @@ try {
|
||||||
false,
|
false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$core->blog->settings->noodles->put(
|
dcCore::app()->blog->settings->noodles->put(
|
||||||
'noodles_object',
|
'noodles_object',
|
||||||
'',
|
'',
|
||||||
'string',
|
'string',
|
||||||
|
@ -55,11 +55,11 @@ try {
|
||||||
false,
|
false,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
$core->setVersion('noodles', $new_version);
|
dcCore::app()->setVersion('noodles', $new_version);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$core->error->add($e->getMessage());
|
dcCore::app()->error->add($e->getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
22
_prepend.php
22
_prepend.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,32 +14,32 @@ if (!defined('DC_RC_PATH')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$__autoload['noodlesImg'] = dirname(__FILE__) . '/inc/lib.noodles.img.php';
|
Clearbricks::lib()->autoload(['noodlesImg' => __DIR__ . '/inc/lib.noodles.img.php']);
|
||||||
$__autoload['noodlesLibImagePath'] = dirname(__FILE__) . '/inc/lib.image.path.php';
|
Clearbricks::lib()->autoload(['noodlesLibImagePath' => __DIR__ . '/inc/lib.image.path.php']);
|
||||||
|
|
||||||
$core->blog->settings->addNamespace('noodles');
|
dcCore::app()->blog->settings->addNamespace('noodles');
|
||||||
|
|
||||||
$core->url->register(
|
dcCore::app()->url->register(
|
||||||
'noodlesmodule',
|
'noodlesmodule',
|
||||||
'noodles',
|
'noodles',
|
||||||
'^noodles/(.+)$',
|
'^noodles/(.+)$',
|
||||||
['urlNoodles', 'noodles']
|
['urlNoodles', 'noodles']
|
||||||
);
|
);
|
||||||
$core->url->register(
|
dcCore::app()->url->register(
|
||||||
'noodlesservice',
|
'noodlesservice',
|
||||||
'noodle',
|
'noodle',
|
||||||
'^noodle/$',
|
'^noodle/$',
|
||||||
['urlNoodles', 'service']
|
['urlNoodles', 'service']
|
||||||
);
|
);
|
||||||
$core->url->register(
|
dcCore::app()->url->register(
|
||||||
'noodlescss',
|
'noodlescss',
|
||||||
'noodles.css',
|
'noodles.css',
|
||||||
'^noodles\.css',
|
'^noodles\.css',
|
||||||
['urlNoodles', 'css']
|
['urlNoodles', 'css']
|
||||||
);
|
);
|
||||||
$core->url->register(
|
dcCore::app()->url->register(
|
||||||
'noodlesjs',
|
'noodlesjs',
|
||||||
'noodles.js',
|
'noodles.js',
|
||||||
'^noodles\.js',
|
'^noodles\.js',
|
||||||
['urlNoodles', 'js']
|
['urlNoodles', 'js']
|
||||||
);
|
);
|
||||||
|
|
68
_public.php
68
_public.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,19 +14,19 @@ if (!defined('DC_RC_PATH')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$core->blog->settings->noodles->noodles_active) {
|
if (!dcCore::app()->blog->settings->noodles->noodles_active) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
include dirname(__FILE__) . '/inc/_default_noodles.php';
|
include __DIR__ . '/inc/_default_noodles.php';
|
||||||
require_once dirname(__FILE__) . '/inc/_noodles_functions.php';
|
require_once __DIR__ . '/inc/_noodles_functions.php';
|
||||||
|
|
||||||
$core->addBehavior('publicHeadContent', ['publicNoodles', 'publicHeadContent']);
|
dcCore::app()->addBehavior('publicHeadContent', ['publicNoodles', 'publicHeadContent']);
|
||||||
|
|
||||||
$core->tpl->setPath($core->tpl->getPath(), dirname(__FILE__) . '/default-templates');
|
dcCore::app()->tpl->setPath(dcCore::app()->tpl->getPath(), __DIR__ . '/default-templates');
|
||||||
|
|
||||||
global $__noodles;
|
global $__noodles;
|
||||||
$__noodles = noodles::decode($core->blog->settings->noodles->noodles_object);
|
$__noodles = noodles::decode(dcCore::app()->blog->settings->noodles->noodles_object);
|
||||||
|
|
||||||
if ($__noodles->isEmpty()) {
|
if ($__noodles->isEmpty()) {
|
||||||
$__noodles = $__default_noodles;
|
$__noodles = $__default_noodles;
|
||||||
|
@ -36,18 +36,18 @@ if ($__noodles->isEmpty()) {
|
||||||
|
|
||||||
foreach ($__noodles->noodles() as $noodle) {
|
foreach ($__noodles->noodles() as $noodle) {
|
||||||
if ($noodle->active && $noodle->hasPhpCallback()) {
|
if ($noodle->active && $noodle->hasPhpCallback()) {
|
||||||
$noodle->phpCallback($core);
|
$noodle->phpCallback(dcCore::app());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class publicNoodles
|
class publicNoodles
|
||||||
{
|
{
|
||||||
public static function publicHeadContent($core)
|
public static function publicHeadContent()
|
||||||
{
|
{
|
||||||
echo
|
echo
|
||||||
dcUtils::cssLoad($core->blog->url . $core->url->getURLFor('noodlescss')) .
|
dcUtils::cssLoad(dcCore::app()->blog->url . dcCore::app()->url->getURLFor('noodlescss')) .
|
||||||
dcUtils::jsLoad($core->blog->url . $core->url->getBase('noodlesmodule') . '/js/jquery.noodles.js') .
|
dcUtils::jsLoad(dcCore::app()->blog->url . dcCore::app()->url->getBase('noodlesmodule') . '/js/jquery.noodles.js') .
|
||||||
dcUtils::jsLoad($core->blog->url . $core->url->getURLFor('noodlesjs'));
|
dcUtils::jsLoad(dcCore::app()->blog->url . dcCore::app()->url->getURLFor('noodlesjs'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
{
|
{
|
||||||
public static function css($args)
|
public static function css($args)
|
||||||
{
|
{
|
||||||
global $core, $__noodles;
|
global $__noodles;
|
||||||
|
|
||||||
$css = '';
|
$css = '';
|
||||||
foreach ($__noodles->noodles() as $noodle) {
|
foreach ($__noodles->noodles() as $noodle) {
|
||||||
|
@ -74,7 +74,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
|
|
||||||
public static function js($args)
|
public static function js($args)
|
||||||
{
|
{
|
||||||
global $core, $__noodles;
|
global $__noodles;
|
||||||
|
|
||||||
$targets = [];
|
$targets = [];
|
||||||
foreach ($__noodles->noodles() as $noodle) {
|
foreach ($__noodles->noodles() as $noodle) {
|
||||||
|
@ -91,7 +91,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
|
|
||||||
echo
|
echo
|
||||||
"\$(function(){if(!document.getElementById){return;} \n" .
|
"\$(function(){if(!document.getElementById){return;} \n" .
|
||||||
"\$.fn.noodles.defaults.service_url = '" . html::escapeJS($core->blog->url . $core->url->getBase('noodlesservice') . '/') . "'; \n" .
|
"\$.fn.noodles.defaults.service_url = '" . html::escapeJS(dcCore::app()->blog->url . dcCore::app()->url->getBase('noodlesservice') . '/') . "'; \n" .
|
||||||
"\$.fn.noodles.defaults.service_func = '" . html::escapeJS('getNoodle') . "'; \n" .
|
"\$.fn.noodles.defaults.service_func = '" . html::escapeJS('getNoodle') . "'; \n" .
|
||||||
implode("\n", $targets) .
|
implode("\n", $targets) .
|
||||||
"})\n";
|
"})\n";
|
||||||
|
@ -101,8 +101,6 @@ class urlNoodles extends dcUrlHandlers
|
||||||
|
|
||||||
public static function service($args)
|
public static function service($args)
|
||||||
{
|
{
|
||||||
global $core;
|
|
||||||
|
|
||||||
header('Content-Type: text/xml; charset=UTF-8');
|
header('Content-Type: text/xml; charset=UTF-8');
|
||||||
|
|
||||||
$rsp = new xmlTag('rsp');
|
$rsp = new xmlTag('rsp');
|
||||||
|
@ -110,23 +108,23 @@ class urlNoodles extends dcUrlHandlers
|
||||||
$i = !empty($_POST['noodleId']) ? $_POST['noodleId'] : null;
|
$i = !empty($_POST['noodleId']) ? $_POST['noodleId'] : null;
|
||||||
$c = !empty($_POST['noodleContent']) ? $_POST['noodleContent'] : null;
|
$c = !empty($_POST['noodleContent']) ? $_POST['noodleContent'] : null;
|
||||||
|
|
||||||
if (!$core->blog->settings->noodles->noodles_active) {
|
if (!dcCore::app()->blog->settings->noodles->noodles_active) {
|
||||||
$rsp->status = 'failed';
|
$rsp->status = 'failed';
|
||||||
$rsp->message(__('noodles is disabled on this blog'));
|
$rsp->message(__('noodles is disabled on this blog'));
|
||||||
echo $rsp->toXML(1);
|
echo $rsp->toXML(true);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if ($i === null || $c === null) {
|
if ($i === null || $c === null) {
|
||||||
$rsp->status = 'failed';
|
$rsp->status = 'failed';
|
||||||
$rsp->message(__('noodles failed because of missing informations'));
|
$rsp->message(__('noodles failed because of missing informations'));
|
||||||
echo $rsp->toXML(1);
|
echo $rsp->toXML(true);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$__noodles = noodles::decode($core->blog->settings->noodles->noodles_object);
|
$__noodles = noodles::decode(dcCore::app()->blog->settings->noodles->noodles_object);
|
||||||
|
|
||||||
if ($__noodles->isEmpty()) {
|
if ($__noodles->isEmpty()) {
|
||||||
$__noodles = $GLOBALS['__default_noodles'];
|
$__noodles = $GLOBALS['__default_noodles'];
|
||||||
|
@ -134,7 +132,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
} catch (Excetpion $e) {
|
} catch (Excetpion $e) {
|
||||||
$rsp->status = 'failed';
|
$rsp->status = 'failed';
|
||||||
$rsp->message(__('Failed to load default noodles'));
|
$rsp->message(__('Failed to load default noodles'));
|
||||||
echo $rsp->toXML(1);
|
echo $rsp->toXML(true);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +140,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
if (!$__noodles->exists($i)) {
|
if (!$__noodles->exists($i)) {
|
||||||
$rsp->status = 'failed';
|
$rsp->status = 'failed';
|
||||||
$rsp->message(__('Failed to load noodle'));
|
$rsp->message(__('Failed to load noodle'));
|
||||||
echo $rsp->toXML(1);
|
echo $rsp->toXML(true);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -150,10 +148,10 @@ class urlNoodles extends dcUrlHandlers
|
||||||
$m = $__noodles->get($i)->jsCallback($__noodles->get($i), $c);
|
$m = $__noodles->get($i)->jsCallback($__noodles->get($i), $c);
|
||||||
$s = $__noodles->get($i)->size;
|
$s = $__noodles->get($i)->size;
|
||||||
$r = $__noodles->get($i)->rating;
|
$r = $__noodles->get($i)->rating;
|
||||||
$d = $core->blog->settings->noodles->noodles_image ?
|
$d = dcCore::app()->blog->settings->noodles->noodles_image ?
|
||||||
urlencode(noodlesLibImagePath::getUrl($core, 'noodles')) : '';
|
urlencode(noodlesLibImagePath::getUrl('noodles')) : '';
|
||||||
|
|
||||||
$u = $core->blog->settings->noodles->noodles_api;
|
$u = dcCore::app()->blog->settings->noodles->noodles_api;
|
||||||
if (empty($u)) {
|
if (empty($u)) {
|
||||||
$u = 'http://www.gravatar.com/';
|
$u = 'http://www.gravatar.com/';
|
||||||
}
|
}
|
||||||
|
@ -174,15 +172,13 @@ class urlNoodles extends dcUrlHandlers
|
||||||
$rsp->insertNode($im);
|
$rsp->insertNode($im);
|
||||||
|
|
||||||
$rsp->status = 'ok';
|
$rsp->status = 'ok';
|
||||||
echo $rsp->toXML(1);
|
echo $rsp->toXML(true);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function noodles($args)
|
public static function noodles($args)
|
||||||
{
|
{
|
||||||
global $core;
|
if (!dcCore::app()->blog->settings->noodles->noodles_active) {
|
||||||
|
|
||||||
if (!$core->blog->settings->noodles->noodles_active) {
|
|
||||||
self::p404();
|
self::p404();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -213,12 +209,12 @@ class urlNoodles extends dcUrlHandlers
|
||||||
header('Content-Type: ' . $type . '; charset=UTF-8');
|
header('Content-Type: ' . $type . '; charset=UTF-8');
|
||||||
header('Content-Length: ' . filesize($f));
|
header('Content-Length: ' . filesize($f));
|
||||||
|
|
||||||
if ($type != 'text/css' || $core->blog->settings->system->url_scan == 'path_info') {
|
if ($type != 'text/css' || dcCore::app()->blog->settings->system->url_scan == 'path_info') {
|
||||||
readfile($f);
|
readfile($f);
|
||||||
} else {
|
} else {
|
||||||
echo preg_replace(
|
echo preg_replace(
|
||||||
'#url\((?!(http:)|/)#',
|
'#url\((?!(http:)|/)#',
|
||||||
'url(' . $core->blog->url . $core->url->getBase('noodlesmodule') . '/',
|
'url(' . dcCore::app()->blog->url . dcCore::app()->url->getBase('noodlesmodule') . '/',
|
||||||
file_get_contents($f)
|
file_get_contents($f)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -231,7 +227,7 @@ class urlNoodles extends dcUrlHandlers
|
||||||
if (strstr($file, '..') !== false) {
|
if (strstr($file, '..') !== false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$paths = $GLOBALS['core']->tpl->getPath();
|
$paths = dcCore::app()->tpl->getPath();
|
||||||
|
|
||||||
foreach ($paths as $path) {
|
foreach ($paths as $path) {
|
||||||
if (preg_match('/tpl(\/|)$/', $path)) {
|
if (preg_match('/tpl(\/|)$/', $path)) {
|
||||||
|
@ -244,4 +240,4 @@ class urlNoodles extends dcUrlHandlers
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -56,4 +56,4 @@ $this->addDirectAction(
|
||||||
'noodles',
|
'noodles',
|
||||||
/* description */
|
/* description */
|
||||||
sprintf(__('delete %s plugin files'), 'noodles')
|
sprintf(__('delete %s plugin files'), 'noodles')
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,7 +14,7 @@ if (!defined('DC_RC_PATH')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
require dirname(__FILE__) . '/class.noodles.php';
|
require __DIR__ . '/class.noodles.php';
|
||||||
|
|
||||||
global $__default_noodles;
|
global $__default_noodles;
|
||||||
$__default_noodles = new noodles();
|
$__default_noodles = new noodles();
|
||||||
|
@ -38,7 +38,7 @@ $__default_noodles
|
||||||
->target('.post-title a')
|
->target('.post-title a')
|
||||||
->css('margin-right:2px;');
|
->css('margin-right:2px;');
|
||||||
|
|
||||||
if ($core->plugins->moduleExists('widgets')) {
|
if (dcCore::app()->plugins->moduleExists('widgets')) {
|
||||||
# Widget Selected entries
|
# Widget Selected entries
|
||||||
$__default_noodles
|
$__default_noodles
|
||||||
->add('bestof', __('Selected entries'), ['genericNoodles', 'postURL'])
|
->add('bestof', __('Selected entries'), ['genericNoodles', 'postURL'])
|
||||||
|
@ -60,8 +60,8 @@ if ($core->plugins->moduleExists('widgets')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Plugin auhtorMode
|
# Plugin auhtorMode
|
||||||
if ($core->plugins->moduleExists('authorMode')
|
if (dcCore::app()->plugins->moduleExists('authorMode')
|
||||||
&& $core->blog->settings->authormode->authormode_active
|
&& dcCore::app()->blog->settings->authormode->authormode_active
|
||||||
) {
|
) {
|
||||||
$__default_noodles
|
$__default_noodles
|
||||||
->add('authorswidget', __('Authors widget'), ['authormodeNoodles', 'authors'])
|
->add('authorswidget', __('Authors widget'), ['authormodeNoodles', 'authors'])
|
||||||
|
@ -84,8 +84,8 @@ if ($core->plugins->moduleExists('authorMode')
|
||||||
}
|
}
|
||||||
|
|
||||||
# Plugin rateIt
|
# Plugin rateIt
|
||||||
if ($core->plugins->moduleExists('rateIt')
|
if (dcCore::app()->plugins->moduleExists('rateIt')
|
||||||
&& $core->blog->settings->rateit->rateit_active
|
&& dcCore::app()->blog->settings->rateit->rateit_active
|
||||||
) {
|
) {
|
||||||
$__default_noodles
|
$__default_noodles
|
||||||
->add('rateitpostsrank', __('Top rated entries'), ['genericNoodles', 'postURL'])
|
->add('rateitpostsrank', __('Top rated entries'), ['genericNoodles', 'postURL'])
|
||||||
|
@ -94,7 +94,7 @@ if ($core->plugins->moduleExists('rateIt')
|
||||||
}
|
}
|
||||||
|
|
||||||
# Plugin lastpostsExtend
|
# Plugin lastpostsExtend
|
||||||
if ($core->plugins->moduleExists('lastpostsExtend')) {
|
if (dcCore::app()->plugins->moduleExists('lastpostsExtend')) {
|
||||||
$__default_noodles
|
$__default_noodles
|
||||||
->add('lastpostsextend', __('Last entries (extend)'), ['genericNoodles', 'postURL'])
|
->add('lastpostsextend', __('Last entries (extend)'), ['genericNoodles', 'postURL'])
|
||||||
->target('.lastpostsextend ul li a')
|
->target('.lastpostsextend ul li a')
|
||||||
|
@ -102,4 +102,4 @@ if ($core->plugins->moduleExists('lastpostsExtend')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
# --BEHAVIOR-- initDefaultNoodles
|
# --BEHAVIOR-- initDefaultNoodles
|
||||||
$core->callBehavior('initDefaultNoodles', $__default_noodles);
|
dcCore::app()->callBehavior('initDefaultNoodles', $__default_noodles);
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -18,15 +18,13 @@ class genericNoodles
|
||||||
{
|
{
|
||||||
public static function postURL($noodle, $content = '')
|
public static function postURL($noodle, $content = '')
|
||||||
{
|
{
|
||||||
global $core;
|
$types = dcCore::app()->getPostTypes();
|
||||||
|
$reg = '@^' . str_replace('%s', '(.*?)', preg_quote(dcCore::app()->blog->url . $types['post']['public_url'])) . '$@';
|
||||||
$types = $core->getPostTypes();
|
|
||||||
$reg = '@^' . str_replace('%s', '(.*?)', preg_quote($core->blog->url . $types['post']['public_url'])) . '$@';
|
|
||||||
$ok = preg_match($reg, $content, $m);
|
$ok = preg_match($reg, $content, $m);
|
||||||
if (!$ok || !$m[1]) {
|
if (!$ok || !$m[1]) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
$rs = $core->blog->getPosts(['no_content' => 1, 'post_url' => urldecode($m[1]), 'limit' => 1]);
|
$rs = dcCore::app()->blog->getPosts(['no_content' => 1, 'post_url' => urldecode($m[1]), 'limit' => 1]);
|
||||||
if ($rs->isEmpty()) {
|
if ($rs->isEmpty()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -38,7 +36,7 @@ class genericNoodles
|
||||||
# Miscellaneous
|
# Miscellaneous
|
||||||
class othersNoodles
|
class othersNoodles
|
||||||
{
|
{
|
||||||
public static function publicPosts($core, $noodle)
|
public static function publicPosts($noodle)
|
||||||
{
|
{
|
||||||
if (!$noodle->active) {
|
if (!$noodle->active) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -46,19 +44,19 @@ class othersNoodles
|
||||||
$bhv = $noodle->place == 'prepend' || $noodle->place == 'before' ?
|
$bhv = $noodle->place == 'prepend' || $noodle->place == 'before' ?
|
||||||
'publicEntryBeforeContent' : 'publicEntryAfterContent';
|
'publicEntryBeforeContent' : 'publicEntryAfterContent';
|
||||||
|
|
||||||
$core->addBehavior($bhv, ['othersNoodles', 'publicEntryContent']);
|
dcCore::app()->addBehavior($bhv, ['othersNoodles', 'publicEntryContent']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicEntryContent()
|
public static function publicEntryContent()
|
||||||
{
|
{
|
||||||
global $core,$_ctx,$__noodles;
|
global $__noodles;
|
||||||
|
|
||||||
$m = $_ctx->posts->getAuthorEmail(false);
|
$m = dcCore::app()->ctx->posts->getAuthorEmail(false);
|
||||||
$c = $__noodles->posts->css;
|
$c = $__noodles->posts->css;
|
||||||
$s = $__noodles->posts->size;
|
$s = $__noodles->posts->size;
|
||||||
$r = $__noodles->posts->rating;
|
$r = $__noodles->posts->rating;
|
||||||
$d = $core->blog->settings->noodles->noodles_image ?
|
$d = dcCore::app()->blog->settings->noodles->noodles_image ?
|
||||||
urlencode(noodlesLibImagePath::getUrl($core, 'noodles')) : '';
|
urlencode(noodlesLibImagePath::getUrl('noodles')) : '';
|
||||||
|
|
||||||
echo
|
echo
|
||||||
'<img class="noodles-posts" style="width:' . $s . 'px;height:' . $s . 'px;' . $c . '"' .
|
'<img class="noodles-posts" style="width:' . $s . 'px;height:' . $s . 'px;' . $c . '"' .
|
||||||
|
@ -66,7 +64,7 @@ class othersNoodles
|
||||||
'?s=' . $s . '&r=' . $r . '&d=' . $d . '" alt="" />';
|
'?s=' . $s . '&r=' . $r . '&d=' . $d . '" alt="" />';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicComments($core, $noodle)
|
public static function publicComments($noodle)
|
||||||
{
|
{
|
||||||
if (!$noodle->active) {
|
if (!$noodle->active) {
|
||||||
return null;
|
return null;
|
||||||
|
@ -75,19 +73,19 @@ class othersNoodles
|
||||||
$bhv = $noodle->place == 'prepend' || $noodle->place == 'before' ?
|
$bhv = $noodle->place == 'prepend' || $noodle->place == 'before' ?
|
||||||
'publicCommentBeforeContent' : 'publicCommentAfterContent';
|
'publicCommentBeforeContent' : 'publicCommentAfterContent';
|
||||||
|
|
||||||
$core->addBehavior($bhv, ['othersNoodles', 'publicCommentContent']);
|
dcCore::app()->addBehavior($bhv, ['othersNoodles', 'publicCommentContent']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicCommentContent()
|
public static function publicCommentContent()
|
||||||
{
|
{
|
||||||
global $core,$_ctx,$__noodles;
|
global $__noodles;
|
||||||
|
|
||||||
$m = $_ctx->comments->getEmail(false);
|
$m = dcCore::app()->ctx->comments->getEmail(false);
|
||||||
$c = $__noodles->comments->css;
|
$c = $__noodles->comments->css;
|
||||||
$s = $__noodles->comments->size;
|
$s = $__noodles->comments->size;
|
||||||
$r = $__noodles->comments->rating;
|
$r = $__noodles->comments->rating;
|
||||||
$d = $core->blog->settings->noodles->noodles_image ?
|
$d = dcCore::app()->blog->settings->noodles->noodles_image ?
|
||||||
urlencode(noodlesLibImagePath::getUrl($core, 'noodles')) : '';
|
urlencode(noodlesLibImagePath::getUrl('noodles')) : '';
|
||||||
|
|
||||||
echo
|
echo
|
||||||
'<img class="noodles-comments" style="width:' . $s . 'px;height:' . $s . 'px;' . $c . '"' .
|
'<img class="noodles-comments" style="width:' . $s . 'px;height:' . $s . 'px;' . $c . '"' .
|
||||||
|
@ -101,13 +99,11 @@ class widgetsNoodles
|
||||||
{
|
{
|
||||||
public static function lastcomments($noodle, $content = '')
|
public static function lastcomments($noodle, $content = '')
|
||||||
{
|
{
|
||||||
global $core;
|
|
||||||
|
|
||||||
$ok = preg_match('@\#c([0-9]+)$@', urldecode($content), $m);
|
$ok = preg_match('@\#c([0-9]+)$@', urldecode($content), $m);
|
||||||
if (!$ok || !$m[1]) {
|
if (!$ok || !$m[1]) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
$rs = $core->blog->getComments(['no_content' => 1, 'comment_id' => $m[1], 'limit' => 1]);
|
$rs = dcCore::app()->blog->getComments(['no_content' => 1, 'comment_id' => $m[1], 'limit' => 1]);
|
||||||
if (!$rs->isEmpty()) {
|
if (!$rs->isEmpty()) {
|
||||||
return $rs->comment_email;
|
return $rs->comment_email;
|
||||||
}
|
}
|
||||||
|
@ -121,13 +117,11 @@ class authormodeNoodles
|
||||||
{
|
{
|
||||||
public static function authors($noodle, $content = '')
|
public static function authors($noodle, $content = '')
|
||||||
{
|
{
|
||||||
global $core;
|
|
||||||
|
|
||||||
$ok = preg_match('@\/([^\/]*?)$@', $content, $m);
|
$ok = preg_match('@\/([^\/]*?)$@', $content, $m);
|
||||||
if (!$ok || !$m[1]) {
|
if (!$ok || !$m[1]) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
$rs = $core->getUser($m[1]);
|
$rs = dcCore::app()->getUser($m[1]);
|
||||||
if ($rs->isEmpty()) {
|
if ($rs->isEmpty()) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
@ -135,29 +129,29 @@ class authormodeNoodles
|
||||||
return $rs->user_email;
|
return $rs->user_email;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function author($core, $noodle)
|
public static function author($noodle)
|
||||||
{
|
{
|
||||||
if ($noodle->active) {
|
if ($noodle->active) {
|
||||||
$core->addBehavior('publicHeadContent', ['authormodeNoodles', 'publicHeadContent']);
|
dcCore::app()->addBehavior('publicHeadContent', ['authormodeNoodles', 'publicHeadContent']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicHeadContent()
|
public static function publicHeadContent()
|
||||||
{
|
{
|
||||||
global $core, $_ctx, $__noodles;
|
global $__noodles;
|
||||||
|
|
||||||
if ($_ctx->current_tpl != 'author.html') {
|
if (dcCore::app()->ctx->current_tpl != 'author.html') {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = $_ctx->users->user_id;
|
$id = dcCore::app()->ctx->users->user_id;
|
||||||
$u = $core->getUser($id);
|
$u = dcCore::app()->getUser($id);
|
||||||
$m = $u->user_email;
|
$m = $u->user_email;
|
||||||
$c = $__noodles->author->css;
|
$c = $__noodles->author->css;
|
||||||
$s = $__noodles->author->size;
|
$s = $__noodles->author->size;
|
||||||
$r = $__noodles->author->rating;
|
$r = $__noodles->author->rating;
|
||||||
$d = $core->blog->settings->noodles->noodles_image ?
|
$d = dcCore::app()->blog->settings->noodles->noodles_image ?
|
||||||
urlencode(noodlesLibImagePath::getUrl($core, 'noodles')) : '';
|
urlencode(noodlesLibImagePath::getUrl('noodles')) : '';
|
||||||
|
|
||||||
echo
|
echo
|
||||||
'<script type="text/javascript">' . "\n" .
|
'<script type="text/javascript">' . "\n" .
|
||||||
|
@ -171,4 +165,4 @@ class authormodeNoodles
|
||||||
"\n//]]>\n" .
|
"\n//]]>\n" .
|
||||||
"</script>\n";
|
"</script>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -87,7 +87,7 @@ class noodle
|
||||||
'rating' => 'g',
|
'rating' => 'g',
|
||||||
'size' => 16,
|
'size' => 16,
|
||||||
'target' => '',
|
'target' => '',
|
||||||
'place' => 'prepend'
|
'place' => 'prepend',
|
||||||
];
|
];
|
||||||
|
|
||||||
public function __construct($id, $name, $js_callback, $php_callback = null)
|
public function __construct($id, $name, $js_callback, $php_callback = null)
|
||||||
|
@ -122,13 +122,13 @@ class noodle
|
||||||
return !empty($this->js_callback);
|
return !empty($this->js_callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function phpCallback($core)
|
public function phpCallback()
|
||||||
{
|
{
|
||||||
if (!is_callable($this->php_callback)) {
|
if (!is_callable($this->php_callback)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return call_user_func($this->php_callback, $core, $this);
|
return call_user_func($this->php_callback, $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function hasPhpCallback()
|
public function hasPhpCallback()
|
||||||
|
@ -142,32 +142,32 @@ class noodle
|
||||||
case 'active':
|
case 'active':
|
||||||
$this->settings['active'] = abs((int) $value);
|
$this->settings['active'] = abs((int) $value);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'rating':
|
case 'rating':
|
||||||
$this->settings['rating'] = in_array($value, ['g', 'pg', 'r', 'x']) ? $value : 'g';
|
$this->settings['rating'] = in_array($value, ['g', 'pg', 'r', 'x']) ? $value : 'g';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'size':
|
case 'size':
|
||||||
$this->settings['size'] = in_array($value, [16, 24, 32, 48, 56, 64, 92, 128, 256]) ? $value : 16;
|
$this->settings['size'] = in_array($value, [16, 24, 32, 48, 56, 64, 92, 128, 256]) ? $value : 16;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'css':
|
case 'css':
|
||||||
$this->settings['css'] = (string) $value;
|
$this->settings['css'] = (string) $value;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'target':
|
case 'target':
|
||||||
$this->settings['target'] = (string) $value;
|
$this->settings['target'] = (string) $value;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'place':
|
case 'place':
|
||||||
$this->settings['place'] = in_array($value, ['append', 'prepend', 'before', 'after']) ? $value : 'prepend';
|
$this->settings['place'] = in_array($value, ['append', 'prepend', 'before', 'after']) ? $value : 'prepend';
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
@ -217,4 +217,4 @@ class noodle
|
||||||
{
|
{
|
||||||
return $this->get($type);
|
return $this->get($type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -18,10 +18,10 @@ class noodlesLibImagePath
|
||||||
{
|
{
|
||||||
public static $version = '1.1';
|
public static $version = '1.1';
|
||||||
|
|
||||||
public static function getArray($core, $m = '')
|
public static function getArray($m = '')
|
||||||
{
|
{
|
||||||
if (!$core->plugins->moduleExists($m)
|
if (!dcCore::app()->plugins->moduleExists($m)
|
||||||
|| !$core->url->getBase($m . 'module')
|
|| !dcCore::app()->url->getBase($m . 'module')
|
||||||
) {
|
) {
|
||||||
return [
|
return [
|
||||||
'theme' => ['dir' => null, 'url' => null],
|
'theme' => ['dir' => null, 'url' => null],
|
||||||
|
@ -32,23 +32,23 @@ class noodlesLibImagePath
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'theme' => [
|
'theme' => [
|
||||||
'dir' => path::real($core->blog->themes_path . '/' . $core->blog->settings->system->theme . '/img') . '/' . $m . '-default-image.png',
|
'dir' => path::real(dcCore::app()->blog->themes_path . '/' . dcCore::app()->blog->settings->system->theme . '/img') . '/' . $m . '-default-image.png',
|
||||||
'url' => $core->blog->settings->system->themes_url . $core->blog->settings->system->theme . '/img/' . $m . '-default-image.png'
|
'url' => dcCore::app()->blog->settings->system->themes_url . dcCore::app()->blog->settings->system->theme . '/img/' . $m . '-default-image.png',
|
||||||
],
|
],
|
||||||
'public' => [
|
'public' => [
|
||||||
'dir' => path::real($core->blog->public_path) . '/' . $m . '-default-image.png',
|
'dir' => path::real(dcCore::app()->blog->public_path) . '/' . $m . '-default-image.png',
|
||||||
'url' => $core->blog->host . path::clean($core->blog->settings->system->public_url) . '/' . $m . '-default-image.png'
|
'url' => dcCore::app()->blog->host . path::clean(dcCore::app()->blog->settings->system->public_url) . '/' . $m . '-default-image.png',
|
||||||
],
|
],
|
||||||
'module' => [
|
'module' => [
|
||||||
'dir' => path::real($core->plugins->moduleRoot($m) . '/default-templates/img') . '/' . $m . '-default-image.png',
|
'dir' => path::real(dcCore::app()->plugins->moduleRoot($m) . '/default-templates/img') . '/' . $m . '-default-image.png',
|
||||||
'url' => $core->blog->url . $core->url->getBase($m . 'module') . '/img/' . $m . '-default-image.png'
|
'url' => dcCore::app()->blog->url . dcCore::app()->url->getBase($m . 'module') . '/img/' . $m . '-default-image.png',
|
||||||
]
|
],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getUrl($core, $m = '')
|
public static function getUrl($m = '')
|
||||||
{
|
{
|
||||||
$files = self::getArray($core, $m);
|
$files = self::getArray($m);
|
||||||
foreach ($files as $k => $file) {
|
foreach ($files as $k => $file) {
|
||||||
if (file_exists($files[$k]['dir'])) {
|
if (file_exists($files[$k]['dir'])) {
|
||||||
return $files[$k]['url'];
|
return $files[$k]['url'];
|
||||||
|
@ -58,9 +58,9 @@ class noodlesLibImagePath
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getPath($core, $m = '')
|
public static function getPath($m = '')
|
||||||
{
|
{
|
||||||
$files = self::getArray($core, $m);
|
$files = self::getArray($m);
|
||||||
foreach ($files as $k => $file) {
|
foreach ($files as $k => $file) {
|
||||||
if (file_exists($files[$k]['dir'])) {
|
if (file_exists($files[$k]['dir'])) {
|
||||||
return $files[$k]['dir'];
|
return $files[$k]['dir'];
|
||||||
|
@ -70,13 +70,13 @@ class noodlesLibImagePath
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getSize($core, $m = '')
|
public static function getSize($m = '')
|
||||||
{
|
{
|
||||||
if (!($img = self::getPath($core, $m))) {
|
if (!($img = self::getPath($m))) {
|
||||||
return ['w' => 16, 'h' => 16];
|
return ['w' => 16, 'h' => 16];
|
||||||
}
|
}
|
||||||
$info = getimagesize($img);
|
$info = getimagesize($img);
|
||||||
|
|
||||||
return ['w' => $info[0], 'h' => floor($info[1] / 3)];
|
return ['w' => $info[0], 'h' => floor($info[1] / 3)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
52
index.php
52
index.php
|
@ -1,12 +1,12 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief noodles, a plugin for Dotclear 2
|
* @brief noodles, a plugin for Dotclear 2
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @package Dotclear
|
||||||
* @subpackage Plugin
|
* @subpackage Plugin
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and contributors
|
* @author Jean-Christian Denis and contributors
|
||||||
*
|
*
|
||||||
* @copyright Jean-Christian Denis
|
* @copyright Jean-Christian Denis
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
|
@ -14,11 +14,11 @@ if (!defined('DC_CONTEXT_ADMIN')) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
dcPage::check('admin');
|
dcPage::check(dcAuth::PERMISSION_CONTENT_ADMIN);
|
||||||
|
|
||||||
include dirname(__FILE__) . '/inc/_default_noodles.php';
|
include __DIR__ . '/inc/_default_noodles.php';
|
||||||
|
|
||||||
$s = $core->blog->settings->noodles;
|
$s = dcCore::app()->blog->settings->noodles;
|
||||||
|
|
||||||
$__noodles = noodles::decode($s->noodles_object);
|
$__noodles = noodles::decode($s->noodles_object);
|
||||||
if ($__noodles->isEmpty()) {
|
if ($__noodles->isEmpty()) {
|
||||||
|
@ -32,11 +32,11 @@ if ($__noodles->isEmpty()) {
|
||||||
$__noodles->set($id, $noodle);
|
$__noodles->set($id, $noodle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$public_path = path::real($core->blog->public_path);
|
$public_path = path::real(dcCore::app()->blog->public_path);
|
||||||
if (!is_dir($public_path) || !is_writable($public_path)) {
|
if (!is_dir($public_path) || !is_writable($public_path)) {
|
||||||
$public_path = false;
|
$public_path = false;
|
||||||
}
|
}
|
||||||
$default_images = files::scandir(dirname(__FILE__) . '/default-templates/img/');
|
$default_images = files::scandir(__DIR__ . '/default-templates/img/');
|
||||||
if (!is_array($default_images)) {
|
if (!is_array($default_images)) {
|
||||||
$default_images = [];
|
$default_images = [];
|
||||||
}
|
}
|
||||||
|
@ -44,20 +44,20 @@ $default_image = $s->noodles_image;
|
||||||
|
|
||||||
$combo_api = [
|
$combo_api = [
|
||||||
'gravatar' => 'http://www.gravatar.com/',
|
'gravatar' => 'http://www.gravatar.com/',
|
||||||
'libravatar' => 'http://cdn.libravatar.org/'
|
'libravatar' => 'http://cdn.libravatar.org/',
|
||||||
];
|
];
|
||||||
|
|
||||||
$combo_place = [
|
$combo_place = [
|
||||||
__('Begin') => 'prepend',
|
__('Begin') => 'prepend',
|
||||||
__('End') => 'append',
|
__('End') => 'append',
|
||||||
__('Before') => 'before',
|
__('Before') => 'before',
|
||||||
__('After') => 'after'
|
__('After') => 'after',
|
||||||
];
|
];
|
||||||
$combo_rating = [
|
$combo_rating = [
|
||||||
'G' => 'g',
|
'G' => 'g',
|
||||||
'PG' => 'pg',
|
'PG' => 'pg',
|
||||||
'R' => 'r',
|
'R' => 'r',
|
||||||
'X' => 'x'
|
'X' => 'x',
|
||||||
];
|
];
|
||||||
$combo_size = [
|
$combo_size = [
|
||||||
'16px' => 16,
|
'16px' => 16,
|
||||||
|
@ -68,7 +68,7 @@ $combo_size = [
|
||||||
'64px' => 64,
|
'64px' => 64,
|
||||||
'92px' => 92,
|
'92px' => 92,
|
||||||
'128px' => 128,
|
'128px' => 128,
|
||||||
'256px' => 256
|
'256px' => 256,
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!empty($_POST['save'])) {
|
if (!empty($_POST['save'])) {
|
||||||
|
@ -94,7 +94,7 @@ if (!empty($_POST['save'])) {
|
||||||
throw new Exception(__('Failed to save image'));
|
throw new Exception(__('Failed to save image'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Default gravatar.com avatar
|
// Default gravatar.com avatar
|
||||||
} elseif ($_POST['noodles_image'] == 'gravatar.com') {
|
} elseif ($_POST['noodles_image'] == 'gravatar.com') {
|
||||||
$s->put('noodles_image', 0, 'boolean');
|
$s->put('noodles_image', 0, 'boolean');
|
||||||
|
|
||||||
|
@ -126,28 +126,28 @@ if (!empty($_POST['save'])) {
|
||||||
->set('css', $bloc['css'] ?? '')
|
->set('css', $bloc['css'] ?? '')
|
||||||
->set('target', $bloc['target'] ?? '')
|
->set('target', $bloc['target'] ?? '')
|
||||||
->set('place', $bloc['place'] ?? 'prepend')
|
->set('place', $bloc['place'] ?? 'prepend')
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
$s->put('noodles_object', $__noodles->encode(), 'string');
|
$s->put('noodles_object', $__noodles->encode(), 'string');
|
||||||
|
|
||||||
$core->blog->triggerBlog();
|
dcCore::app()->blog->triggerBlog();
|
||||||
dcPage::addSuccessNotice(__('Configuration successfully updated'));
|
dcAdminNotices::addSuccessNotice(__('Configuration successfully updated'));
|
||||||
$core->adminurl->redirect('admin.plugin.noodles');
|
dcCore::app()->adminurl->redirect('admin.plugin.noodles');
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$core->error->add($e->getMessage());
|
dcCore::app()->error->add($e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo '<html><head><title>' . __('Noodles') . '</title></head><body>' .
|
echo '<html><head><title>' . __('Noodles') . '</title></head><body>' .
|
||||||
dcPage::breadcrumb([
|
dcPage::breadcrumb([
|
||||||
html::escapeHTML($core->blog->name) => '',
|
html::escapeHTML(dcCore::app()->blog->name) => '',
|
||||||
__('Noodles') => '',
|
__('Noodles') => '',
|
||||||
__('Plugin configuration') => ''
|
__('Plugin configuration') => '',
|
||||||
]) .
|
]) .
|
||||||
dcPage::notices() . '
|
dcPage::notices() . '
|
||||||
|
|
||||||
<form id="module_config" action="' .
|
<form id="module_config" action="' .
|
||||||
$core->adminurl->get('admin.plugin.noodles') .
|
dcCore::app()->adminurl->get('admin.plugin.noodles') .
|
||||||
'" method="post" enctype="multipart/form-data">
|
'" method="post" enctype="multipart/form-data">
|
||||||
<h3>' . sprintf(__('Configure "%s"'), __('Noodles')) . '</h3>
|
<h3>' . sprintf(__('Configure "%s"'), __('Noodles')) . '</h3>
|
||||||
<div class="fieldset"><h4>' . __('Activation') . '</h4>
|
<div class="fieldset"><h4>' . __('Activation') . '</h4>
|
||||||
|
@ -188,7 +188,7 @@ if (!empty($public_path)) {
|
||||||
|
|
||||||
echo '<div class="one-box">';
|
echo '<div class="one-box">';
|
||||||
|
|
||||||
if (null !== ($default_image_path = noodlesLibImagePath::getPath($core, 'noodles'))) {
|
if (null !== ($default_image_path = noodlesLibImagePath::getPath('noodles'))) {
|
||||||
$sz = getimagesize($default_image_path);
|
$sz = getimagesize($default_image_path);
|
||||||
$sz[2] = files::size(filesize($default_image_path));
|
$sz[2] = files::size(filesize($default_image_path));
|
||||||
|
|
||||||
|
@ -197,7 +197,7 @@ if (null !== ($default_image_path = noodlesLibImagePath::getPath($core, 'noodles
|
||||||
<p>' . form::radio(['noodles_image', 'public_image'], 'existing', !empty($default_image)) . '
|
<p>' . form::radio(['noodles_image', 'public_image'], 'existing', !empty($default_image)) . '
|
||||||
<label class="classic" for="public_image">' . __('Blog default image') . '</label></p>
|
<label class="classic" for="public_image">' . __('Blog default image') . '</label></p>
|
||||||
<div class="two-box"><div class="box">
|
<div class="two-box"><div class="box">
|
||||||
<p><img src="' . noodlesLibImagePath::getUrl($core, 'noodles') . '?' . rand() . '" alt="" /></p>
|
<p><img src="' . noodlesLibImagePath::getUrl('noodles') . '?' . rand() . '" alt="" /></p>
|
||||||
</div><div class="box">
|
</div><div class="box">
|
||||||
<p>' . $sz[0] . 'x' . $sz[1] . '<br />' . $sz[2] . '</p>
|
<p>' . $sz[0] . 'x' . $sz[1] . '<br />' . $sz[2] . '</p>
|
||||||
</div></div>
|
</div></div>
|
||||||
|
@ -265,7 +265,7 @@ echo '
|
||||||
|
|
||||||
<p class="clear">
|
<p class="clear">
|
||||||
<input type="submit" value="' . __('Save') . ' (s)" accesskey="s" name="save" /> ' .
|
<input type="submit" value="' . __('Save') . ' (s)" accesskey="s" name="save" /> ' .
|
||||||
$core->formNonce() . '</p>
|
dcCore::app()->formNonce() . '</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</body></html>';
|
</body></html>';
|
||||||
|
|
Loading…
Reference in New Issue