release 2023.10.11
This commit is contained in:
parent
aa05e6e1b5
commit
208963952c
27 changed files with 291 additions and 342 deletions
|
@ -32,10 +32,6 @@ you should also add widgets.
|
||||||
|
|
||||||
## LINKS
|
## LINKS
|
||||||
|
|
||||||
* License : [GNU GPL v2](https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html)
|
|
||||||
* Source & contribution : [Gitea Page](https://git.dotclear.watch/JcDenis/enhancePostContent) or [GitHub Page](https://github.com/JcDenis/enhancePostContent)
|
|
||||||
* Packages & details: [Gitea Page](https://git.dotclear.watch/JcDenis/enhancePostContent/releases) or [Dotaddict Page](https://plugins.dotaddict.org/dc2/details/enhancePostContent)
|
|
||||||
|
|
||||||
* [License](https://git.dotclear.watch/JcDenis/enhancePostContent/src/branch/master/LICENSE)
|
* [License](https://git.dotclear.watch/JcDenis/enhancePostContent/src/branch/master/LICENSE)
|
||||||
* [Packages & details](https://git.dotclear.watch/JcDenis/enhancePostContent/releases) (or on [Dotaddict](https://plugins.dotaddict.org/dc2/details/enhancePostContent))
|
* [Packages & details](https://git.dotclear.watch/JcDenis/enhancePostContent/releases) (or on [Dotaddict](https://plugins.dotaddict.org/dc2/details/enhancePostContent))
|
||||||
* [Sources & contributions](https://git.dotclear.watch/JcDenis/enhancePostContent) (or on [GitHub](https://github.com/JcDenis/enhancePostContent))
|
* [Sources & contributions](https://git.dotclear.watch/JcDenis/enhancePostContent) (or on [GitHub](https://github.com/JcDenis/enhancePostContent))
|
||||||
|
|
27
_define.php
27
_define.php
|
@ -1,35 +1,30 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
* @file
|
||||||
|
* @brief The plugin enhancePostContent definition
|
||||||
|
* @ingroup enhancePostContent
|
||||||
*
|
*
|
||||||
* @package Dotclear
|
* @defgroup enhancePostContent Plugin enhancePostContent.
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
*
|
||||||
* @author Jean-Christian Denis and Contributors
|
* Add features to words in post content.
|
||||||
*
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
use Dotclear\App;
|
|
||||||
|
|
||||||
$this->registerModule(
|
$this->registerModule(
|
||||||
'Enhance post content',
|
'Enhance post content',
|
||||||
'Add features to words in post content',
|
'Add features to words in post content',
|
||||||
'Jean-Christian Denis and Contributors',
|
'Jean-Christian Denis and Contributors',
|
||||||
'2023.08.14',
|
'2023.10.11',
|
||||||
[
|
[
|
||||||
'requires' => [
|
'type' => 'plugin',
|
||||||
['php', '8.1'],
|
'requires' => [['core', '2.28']],
|
||||||
['core', '2.28'],
|
'permissions' => 'My',
|
||||||
],
|
|
||||||
'permissions' => App::auth()->makePermissions([
|
|
||||||
App::auth()::PERMISSION_CONTENT_ADMIN,
|
|
||||||
]),
|
|
||||||
'settings' => [
|
'settings' => [
|
||||||
|
'self' => '',
|
||||||
'blog' => '#params.epc_params',
|
'blog' => '#params.epc_params',
|
||||||
],
|
],
|
||||||
'type' => 'plugin',
|
|
||||||
'support' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/issues',
|
'support' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/issues',
|
||||||
'details' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/src/branch/master/README.md',
|
'details' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/src/branch/master/README.md',
|
||||||
'repository' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/raw/branch/master/dcstore.xml',
|
'repository' => 'https://git.dotclear.watch/JcDenis/' . basename(__DIR__) . '/raw/branch/master/dcstore.xml',
|
||||||
|
|
20
_init.php
20
_init.php
|
@ -1,20 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
if (!defined('DC_RC_PATH')) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
class initEnhancePostContent
|
|
||||||
{
|
|
||||||
public const TABLE_NAME = 'epc';
|
|
||||||
}
|
|
|
@ -2,10 +2,10 @@
|
||||||
<modules xmlns:da="http://dotaddict.org/da/">
|
<modules xmlns:da="http://dotaddict.org/da/">
|
||||||
<module id="enhancePostContent">
|
<module id="enhancePostContent">
|
||||||
<name>Enhance post content</name>
|
<name>Enhance post content</name>
|
||||||
<version>2023.10.08</version>
|
<version>2023.10.11</version>
|
||||||
<author>Jean-Christian Denis and Contributors</author>
|
<author>Jean-Christian Denis and Contributors</author>
|
||||||
<desc>Add features to words in post content</desc>
|
<desc>Add features to words in post content</desc>
|
||||||
<file>https://git.dotclear.watch/JcDenis/enhancePostContent/releases/download/v2023.10.08/plugin-enhancePostContent.zip</file>
|
<file>https://git.dotclear.watch/JcDenis/enhancePostContent/releases/download/v2023.10.11/plugin-enhancePostContent.zip</file>
|
||||||
<da:dcmin>2.28</da:dcmin>
|
<da:dcmin>2.28</da:dcmin>
|
||||||
<da:details>https://git.dotclear.watch/JcDenis/enhancePostContent/src/branch/master/README.md</da:details>
|
<da:details>https://git.dotclear.watch/JcDenis/enhancePostContent/src/branch/master/README.md</da:details>
|
||||||
<da:support>https://git.dotclear.watch/JcDenis/enhancePostContent/issues</da:support>
|
<da:support>https://git.dotclear.watch/JcDenis/enhancePostContent/issues</da:support>
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -30,6 +20,14 @@ use Dotclear\Helper\Html\Form\{
|
||||||
Text
|
Text
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent backend class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Backend extends Process
|
class Backend extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -23,8 +13,14 @@ use Dotclear\Helper\Date;
|
||||||
use Dotclear\Helper\Html\Form\Checkbox;
|
use Dotclear\Helper\Html\Form\Checkbox;
|
||||||
use Dotclear\Helper\Html\Html;
|
use Dotclear\Helper\Html\Html;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Backend filters values list.
|
* @brief enhancePostContent filters list class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
class BackendList extends Listing
|
class BackendList extends Listing
|
||||||
{
|
{
|
||||||
|
@ -43,7 +39,7 @@ class BackendList extends Listing
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$pager = new Pager($filter->value('page'), $this->rs_count, $filter->value('nb'), 10);
|
$pager = new Pager($filter->value('page'), (int) $this->rs_count, $filter->value('nb'), 10);
|
||||||
$pager->base_url = $url;
|
$pager->base_url = $url;
|
||||||
|
|
||||||
$epc_id = [];
|
$epc_id = [];
|
||||||
|
@ -71,7 +67,7 @@ class BackendList extends Listing
|
||||||
echo $pager->getLinks() . $blocks[0];
|
echo $pager->getLinks() . $blocks[0];
|
||||||
|
|
||||||
while ($this->rs->fetch()) {
|
while ($this->rs->fetch()) {
|
||||||
$this->line(isset($epc_id[$this->rs->epc_id]));
|
$this->line(isset($epc_id[$this->rs->f('epc_id')]));
|
||||||
}
|
}
|
||||||
|
|
||||||
echo $blocks[1] . $blocks[2] . $pager->getLinks();
|
echo $blocks[1] . $blocks[2] . $pager->getLinks();
|
||||||
|
@ -85,14 +81,14 @@ class BackendList extends Listing
|
||||||
private function line(bool $checked): void
|
private function line(bool $checked): void
|
||||||
{
|
{
|
||||||
$cols = [
|
$cols = [
|
||||||
'check' => '<td class="nowrap">' . (new Checkbox(['epc_id[]'], $checked))->value($this->rs->epc_id)->render() . '</td>',
|
'check' => '<td class="nowrap">' . (new Checkbox(['epc_id[]'], $checked))->value($this->rs->f('epc_id'))->render() . '</td>',
|
||||||
'key' => '<td class="nowrap">' . Html::escapeHTML($this->rs->epc_key) . '</td>',
|
'key' => '<td class="nowrap">' . Html::escapeHTML($this->rs->f('epc_key')) . '</td>',
|
||||||
'value' => '<td class="maximal">' . Html::escapeHTML($this->rs->epc_value) . '</td>',
|
'value' => '<td class="maximal">' . Html::escapeHTML($this->rs->f('epc_value')) . '</td>',
|
||||||
'date' => '<td class="nowrap count">' . Date::dt2str(__('%Y-%m-%d %H:%M'), $this->rs->epc_upddt) . '</td>',
|
'date' => '<td class="nowrap count">' . Date::dt2str(__('%Y-%m-%d %H:%M'), $this->rs->f('epc_upddt')) . '</td>',
|
||||||
];
|
];
|
||||||
|
|
||||||
echo
|
echo
|
||||||
'<tr class="line" id="p' . $this->rs->epc_id . '">' .
|
'<tr class="line" id="p' . $this->rs->f('epc_id') . '">' .
|
||||||
implode($cols) .
|
implode($cols) .
|
||||||
'</tr>';
|
'</tr>';
|
||||||
}
|
}
|
||||||
|
|
57
src/Epc.php
57
src/Epc.php
|
@ -31,15 +31,60 @@ __('search results page');
|
||||||
__('atom feeds');
|
__('atom feeds');
|
||||||
__('RSS feeds');
|
__('RSS feeds');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent main class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Epc
|
class Epc
|
||||||
{
|
{
|
||||||
/** @var string The temporary pattern to tag words to replace */
|
/**
|
||||||
|
* Plugin table name.
|
||||||
|
*
|
||||||
|
* @var string TABLE_NAME
|
||||||
|
*/
|
||||||
|
public const TABLE_NAME = 'epc';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Distributed filters.
|
||||||
|
*
|
||||||
|
* @var array<int,string> DEFAULT_FILTERS
|
||||||
|
*/
|
||||||
|
public const DEFAULT_FILTERS = [
|
||||||
|
Filter\EpcFilterTag::class,
|
||||||
|
Filter\EpcFilterSearch::class,
|
||||||
|
Filter\EpcFilterAcronym::class,
|
||||||
|
Filter\EpcFilterAbbreviation::class,
|
||||||
|
Filter\EpcFilterDefinition::class,
|
||||||
|
Filter\EpcFilterCitation::class,
|
||||||
|
Filter\EpcFilterLink::class,
|
||||||
|
Filter\EpcFilterReplace::class,
|
||||||
|
Filter\EpcFilterUpdate::class,
|
||||||
|
Filter\EpcFilterTwitter::class,
|
||||||
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The temporary pattern to tag words to replace.
|
||||||
|
*
|
||||||
|
* @var string FLAGGER
|
||||||
|
*/
|
||||||
public const FLAGGER = 'ççççç%sççççç';
|
public const FLAGGER = 'ççççç%sççççç';
|
||||||
|
|
||||||
/** @var EpcFilters $filters THe filters stack */
|
/**
|
||||||
|
* The filters stack.
|
||||||
|
*
|
||||||
|
* @var EpcFilters $filters
|
||||||
|
*/
|
||||||
private static EpcFilters $filters;
|
private static EpcFilters $filters;
|
||||||
|
|
||||||
/** @var array<string,int> $limits The replacment limit per filtre */
|
/**
|
||||||
|
* The replacment limit per filtre.
|
||||||
|
*
|
||||||
|
* @var array<string,int> $limits
|
||||||
|
*/
|
||||||
private static array $limits = [];
|
private static array $limits = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -402,7 +447,7 @@ class Epc
|
||||||
|
|
||||||
$content = '';
|
$content = '';
|
||||||
while (App::frontend()->ctx->__get('posts')?->fetch()) {
|
while (App::frontend()->ctx->__get('posts')?->fetch()) {
|
||||||
$content .= dApp::frontend()->ctx->__get('posts')->f('post_content');
|
$content .= App::frontend()->ctx->__get('posts')->f('post_content');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
|
@ -422,9 +467,9 @@ class Epc
|
||||||
}
|
}
|
||||||
|
|
||||||
$content = '';
|
$content = '';
|
||||||
while (App::frontend()->ctx->__get('posts')?->fetch()) {
|
while (App::frontend()->ctx->__get('posts')->fetch()) {
|
||||||
$comments = App::blog()->getComments(['post_id' => App::frontend()->ctx->__get('posts')->f('post_id')]);
|
$comments = App::blog()->getComments(['post_id' => App::frontend()->ctx->__get('posts')->f('post_id')]);
|
||||||
while ($comments?->fetch()) {
|
while ($comments->fetch()) {
|
||||||
$content .= $comments->__call('getContent', []);
|
$content .= $comments->__call('getContent', []);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -20,9 +10,14 @@ use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter abstract class.
|
* @brief enhancePostContent abstract filter class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
*
|
*
|
||||||
* All filter must extends this class.
|
* All filter must extends this class.
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
abstract class EpcFilter
|
abstract class EpcFilter
|
||||||
{
|
{
|
||||||
|
@ -44,10 +39,10 @@ abstract class EpcFilter
|
||||||
/** @var bool $has_list Filter has list of records (property) */
|
/** @var bool $has_list Filter has list of records (property) */
|
||||||
public readonly bool $has_list;
|
public readonly bool $has_list;
|
||||||
|
|
||||||
/** @var array $ignore The filter disabled html tags (property) */
|
/** @var array<int,string> $ignore The filter disabled html tags (property) */
|
||||||
public readonly array $ignore;
|
public readonly array $ignore;
|
||||||
|
|
||||||
/** @var array $class The css class that apply to filter (property) */
|
/** @var array<int,string> $class The css class that apply to filter (property) */
|
||||||
public readonly array $class;
|
public readonly array $class;
|
||||||
|
|
||||||
/** @var string $replace The filter replacement bloc in content (property) */
|
/** @var string $replace The filter replacement bloc in content (property) */
|
||||||
|
@ -65,16 +60,16 @@ abstract class EpcFilter
|
||||||
/** @var bool $plural The replacement limit per filter (settings) */
|
/** @var bool $plural The replacement limit per filter (settings) */
|
||||||
public readonly int $limit;
|
public readonly int $limit;
|
||||||
|
|
||||||
/** @var array $style The style applied to filter class (settings) */
|
/** @var array<int,string> $style The style applied to filter class (settings) */
|
||||||
public readonly array $style;
|
public readonly array $style;
|
||||||
|
|
||||||
/** @var array $notag The filter disabled html tags (settings) */
|
/** @var array<int,string> $notag The filter disabled html tags (settings) */
|
||||||
public readonly array $notag;
|
public readonly array $notag;
|
||||||
|
|
||||||
/** @var array $template The extra template value to scan (settings) */
|
/** @var array<int,string> $template The extra template value to scan (settings) */
|
||||||
public readonly array $template;
|
public readonly array $template;
|
||||||
|
|
||||||
/** @var array $page The extra frontend pages to scan (settings) */
|
/** @var array<int,string> $page The extra frontend pages to scan (settings) */
|
||||||
public readonly array $page;
|
public readonly array $page;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,23 +1,18 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters stack.
|
* @brief enhancePostContent filters stack.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
*
|
*
|
||||||
* Use Epc::getFilters() to get loaded stack
|
* Use Epc::getFilters() to get loaded stack
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
class EpcFilters
|
class EpcFilters
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -22,7 +12,12 @@ use Dotclear\Database\{
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter records.
|
* @brief enhancePostContent filters records.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
class EpcRecord
|
class EpcRecord
|
||||||
{
|
{
|
||||||
|
@ -48,7 +43,7 @@ class EpcRecord
|
||||||
'E.epc_filter, E.epc_key, E.epc_value ';
|
'E.epc_filter, E.epc_key, E.epc_value ';
|
||||||
}
|
}
|
||||||
|
|
||||||
$strReq .= 'FROM ' . App::con()->prefix() . My::TABLE_NAME . ' E ';
|
$strReq .= 'FROM ' . App::con()->prefix() . Epc::TABLE_NAME . ' E ';
|
||||||
|
|
||||||
if (!empty($params['from'])) {
|
if (!empty($params['from'])) {
|
||||||
$strReq .= $params['from'] . ' ';
|
$strReq .= $params['from'] . ' ';
|
||||||
|
@ -121,7 +116,7 @@ class EpcRecord
|
||||||
*/
|
*/
|
||||||
public static function addRecord(Cursor $cur): int
|
public static function addRecord(Cursor $cur): int
|
||||||
{
|
{
|
||||||
App::con()->writeLock(App::con()->prefix() . My::TABLE_NAME);
|
App::con()->writeLock(App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$cur->setField('epc_id', self::getNextId());
|
$cur->setField('epc_id', self::getNextId());
|
||||||
|
@ -199,7 +194,7 @@ class EpcRecord
|
||||||
App::behavior()->callBehavior('enhancePostContentbeforeDelRecord', $id);
|
App::behavior()->callBehavior('enhancePostContentbeforeDelRecord', $id);
|
||||||
|
|
||||||
App::con()->execute(
|
App::con()->execute(
|
||||||
'DELETE FROM ' . App::con()->prefix() . My::TABLE_NAME . ' ' .
|
'DELETE FROM ' . App::con()->prefix() . Epc::TABLE_NAME . ' ' .
|
||||||
'WHERE epc_id = ' . $id . ' ' .
|
'WHERE epc_id = ' . $id . ' ' .
|
||||||
"AND blog_id = '" . App::con()->escapeStr(App::blog()->id()) . "' "
|
"AND blog_id = '" . App::con()->escapeStr(App::blog()->id()) . "' "
|
||||||
);
|
);
|
||||||
|
@ -215,7 +210,7 @@ class EpcRecord
|
||||||
private static function getNextId(): int
|
private static function getNextId(): int
|
||||||
{
|
{
|
||||||
return (int) App::con()->select(
|
return (int) App::con()->select(
|
||||||
'SELECT MAX(epc_id) FROM ' . App::con()->prefix() . My::TABLE_NAME . ' '
|
'SELECT MAX(epc_id) FROM ' . App::con()->prefix() . Epc::TABLE_NAME . ' '
|
||||||
)->f(0) + 1;
|
)->f(0) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,7 +221,7 @@ class EpcRecord
|
||||||
*/
|
*/
|
||||||
public static function openCursor(): Cursor
|
public static function openCursor(): Cursor
|
||||||
{
|
{
|
||||||
return App::con()->openCursor(App::con()->prefix() . My::TABLE_NAME);
|
return App::con()->openCursor(App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent abbreviation filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterAbbreviation extends EpcFilter
|
class EpcFilterAbbreviation extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'abbreviation';
|
protected string $id = 'abbreviation';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent acronym filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterAcronym extends EpcFilter
|
class EpcFilterAcronym extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'acronym';
|
protected string $id = 'acronym';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent citaion filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterCitation extends EpcFilter
|
class EpcFilterCitation extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'citation';
|
protected string $id = 'citation';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent definition filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterDefinition extends EpcFilter
|
class EpcFilterDefinition extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'definition';
|
protected string $id = 'definition';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent link filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterLink extends EpcFilter
|
class EpcFilterLink extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'link';
|
protected string $id = 'link';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -17,6 +7,14 @@ namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
use Dotclear\Plugin\enhancePostContent\Epc;
|
use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent replacement filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterReplace extends EpcFilter
|
class EpcFilterReplace extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'replace';
|
protected string $id = 'replace';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -18,6 +8,14 @@ use Dotclear\App;
|
||||||
use Dotclear\Plugin\enhancePostContent\Epc;
|
use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent search filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterSearch extends EpcFilter
|
class EpcFilterSearch extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'search';
|
protected string $id = 'search';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -20,6 +10,14 @@ use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent tag filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterTag extends EpcFilter
|
class EpcFilterTag extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'tag';
|
protected string $id = 'tag';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -17,6 +7,14 @@ namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
use Dotclear\Plugin\enhancePostContent\Epc;
|
use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent twitter filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterTwitter extends EpcFilter
|
class EpcFilterTwitter extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'twitter';
|
protected string $id = 'twitter';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
|
@ -17,6 +7,14 @@ namespace Dotclear\Plugin\enhancePostContent\Filter;
|
||||||
use Dotclear\Plugin\enhancePostContent\Epc;
|
use Dotclear\Plugin\enhancePostContent\Epc;
|
||||||
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
use Dotclear\Plugin\enhancePostContent\EpcFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent update filter.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class EpcFilterUpdate extends EpcFilter
|
class EpcFilterUpdate extends EpcFilter
|
||||||
{
|
{
|
||||||
protected string $id = 'update';
|
protected string $id = 'update';
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -17,6 +7,14 @@ namespace Dotclear\Plugin\enhancePostContent;
|
||||||
use Dotclear\App;
|
use Dotclear\App;
|
||||||
use Dotclear\Core\Process;
|
use Dotclear\Core\Process;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent frontend class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Frontend extends Process
|
class Frontend extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -19,6 +9,14 @@ use Dotclear\Core\Process;
|
||||||
use Dotclear\Database\Structure;
|
use Dotclear\Database\Structure;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent installation class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Install extends Process
|
class Install extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
@ -35,7 +33,7 @@ class Install extends Process
|
||||||
try {
|
try {
|
||||||
// Database
|
// Database
|
||||||
$s = new Structure(App::con(), App::con()->prefix());
|
$s = new Structure(App::con(), App::con()->prefix());
|
||||||
$s->__get(My::TABLE_NAME)
|
$s->__get(Epc::TABLE_NAME)
|
||||||
->field('epc_id', 'bigint', 0, false)
|
->field('epc_id', 'bigint', 0, false)
|
||||||
->field('blog_id', 'varchar', 32, false)
|
->field('blog_id', 'varchar', 32, false)
|
||||||
->field('epc_type', 'varchar', 32, false, "'epc'")
|
->field('epc_type', 'varchar', 32, false, "'epc'")
|
||||||
|
@ -124,10 +122,10 @@ class Install extends Process
|
||||||
$curlist = @unserialize($record->f('setting_value'));
|
$curlist = @unserialize($record->f('setting_value'));
|
||||||
if (is_array($curlist)) {
|
if (is_array($curlist)) {
|
||||||
foreach ($curlist as $k => $v) {
|
foreach ($curlist as $k => $v) {
|
||||||
$cur = App::con()->openCursor(App::con()->prefix() . My::TABLE_NAME);
|
$cur = App::con()->openCursor(App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
App::con()->writeLock(App::con()->prefix() . My::TABLE_NAME);
|
App::con()->writeLock(App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
|
|
||||||
$cur->setField('epc_id', (int) App::con()->select('SELECT MAX(epc_id) FROM ' . App::con()->prefix() . My::TABLE_NAME . ' ')->f(0) + 1);
|
$cur->setField('epc_id', (int) App::con()->select('SELECT MAX(epc_id) FROM ' . App::con()->prefix() . Epc::TABLE_NAME . ' ')->f(0) + 1);
|
||||||
$cur->setField('blog_id', $record->f('blog_id'));
|
$cur->setField('blog_id', $record->f('blog_id'));
|
||||||
$cur->setField('epc_filter', strtolower($m[1]));
|
$cur->setField('epc_filter', strtolower($m[1]));
|
||||||
$cur->setField('epc_key', $k);
|
$cur->setField('epc_key', $k);
|
||||||
|
@ -150,9 +148,9 @@ class Install extends Process
|
||||||
private static function upTo20211006(): void
|
private static function upTo20211006(): void
|
||||||
{
|
{
|
||||||
# Move old filter name to filter id
|
# Move old filter name to filter id
|
||||||
$record = App::con()->select('SELECT epc_id, epc_filter FROM ' . App::con()->prefix() . My::TABLE_NAME);
|
$record = App::con()->select('SELECT epc_id, epc_filter FROM ' . App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
while ($record->fetch()) {
|
while ($record->fetch()) {
|
||||||
$cur = App::con()->openCursor(App::con()->prefix() . My::TABLE_NAME);
|
$cur = App::con()->openCursor(App::con()->prefix() . Epc::TABLE_NAME);
|
||||||
|
|
||||||
$cur->setField('epc_filter', strtolower($record->f('epc_filter')));
|
$cur->setField('epc_filter', strtolower($record->f('epc_filter')));
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,14 @@ use Dotclear\Helper\Html\Html;
|
||||||
use Dotclear\Helper\Network\Http;
|
use Dotclear\Helper\Network\Http;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent manage class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Manage extends Process
|
class Manage extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
|
47
src/My.php
47
src/My.php
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -18,32 +8,23 @@ use Dotclear\App;
|
||||||
use Dotclear\Module\MyPlugin;
|
use Dotclear\Module\MyPlugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This module definitions.
|
* @brief enhancePostContent My helper.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
class My extends MyPlugin
|
class My extends MyPlugin
|
||||||
{
|
{
|
||||||
/** @var string Plugin table name */
|
|
||||||
public const TABLE_NAME = 'epc';
|
|
||||||
|
|
||||||
/** @var array Distributed filters */
|
|
||||||
public const DEFAULT_FILTERS = [
|
|
||||||
Filter\EpcFilterTag::class,
|
|
||||||
Filter\EpcFilterSearch::class,
|
|
||||||
Filter\EpcFilterAcronym::class,
|
|
||||||
Filter\EpcFilterAbbreviation::class,
|
|
||||||
Filter\EpcFilterDefinition::class,
|
|
||||||
Filter\EpcFilterCitation::class,
|
|
||||||
Filter\EpcFilterLink::class,
|
|
||||||
Filter\EpcFilterReplace::class,
|
|
||||||
Filter\EpcFilterUpdate::class,
|
|
||||||
Filter\EpcFilterTwitter::class,
|
|
||||||
];
|
|
||||||
|
|
||||||
public static function checkCustomContext(int $context): ?bool
|
public static function checkCustomContext(int $context): ?bool
|
||||||
{
|
{
|
||||||
return !in_array($context, [My::BACKEND, My::MANAGE, My::MENU]) ? null :
|
return match ($context) {
|
||||||
|
// Limit main backend featrues to content admin
|
||||||
|
self::BACKEND, self::MANAGE, self::MENU =>
|
||||||
App::auth()->check(App::auth()->makePermissions([
|
App::auth()->check(App::auth()->makePermissions([
|
||||||
App::auth()::PERMISSION_CONTENT_ADMIN,
|
App::auth()::PERMISSION_CONTENT_ADMIN,
|
||||||
]), App::blog()->id());
|
]), App::blog()->id()),
|
||||||
}
|
|
||||||
}
|
default => null,
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -18,6 +8,14 @@ use Dotclear\App;
|
||||||
use Dotclear\Core\Process;
|
use Dotclear\Core\Process;
|
||||||
use Dotclear\Helper\Html\Html;
|
use Dotclear\Helper\Html\Html;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent prepend class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Prepend extends Process
|
class Prepend extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
@ -33,7 +31,7 @@ class Prepend extends Process
|
||||||
|
|
||||||
// register epc filters
|
// register epc filters
|
||||||
app::behavior()->addBehavior('enhancePostContentFilters', function (EpcFilters $stack): void {
|
app::behavior()->addBehavior('enhancePostContentFilters', function (EpcFilters $stack): void {
|
||||||
foreach (My::DEFAULT_FILTERS as $class) {
|
foreach (Epc::DEFAULT_FILTERS as $class) {
|
||||||
$stack->add(new $class());
|
$stack->add(new $class());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -17,6 +7,14 @@ namespace Dotclear\Plugin\enhancePostContent;
|
||||||
use Dotclear\Core\Process;
|
use Dotclear\Core\Process;
|
||||||
use Dotclear\Plugin\Uninstaller\Uninstaller;
|
use Dotclear\Plugin\Uninstaller\Uninstaller;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief enhancePostContent uninstall class.
|
||||||
|
* @ingroup enhancePostContent
|
||||||
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
class Uninstall extends Process
|
class Uninstall extends Process
|
||||||
{
|
{
|
||||||
public static function init(): bool
|
public static function init(): bool
|
||||||
|
@ -39,7 +37,7 @@ class Uninstall extends Process
|
||||||
->addUserAction(
|
->addUserAction(
|
||||||
'tables',
|
'tables',
|
||||||
'delete',
|
'delete',
|
||||||
My::TABLE_NAME
|
Epc::TABLE_NAME
|
||||||
)
|
)
|
||||||
->addUserAction(
|
->addUserAction(
|
||||||
'plugins',
|
'plugins',
|
||||||
|
@ -59,7 +57,7 @@ class Uninstall extends Process
|
||||||
->addDirectAction(
|
->addDirectAction(
|
||||||
'tables',
|
'tables',
|
||||||
'delete',
|
'delete',
|
||||||
My::TABLE_NAME
|
Epc::TABLE_NAME
|
||||||
)
|
)
|
||||||
->addDirectAction(
|
->addDirectAction(
|
||||||
'plugins',
|
'plugins',
|
||||||
|
|
|
@ -1,15 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* @brief enhancePostContent, a plugin for Dotclear 2
|
|
||||||
*
|
|
||||||
* @package Dotclear
|
|
||||||
* @subpackage Plugin
|
|
||||||
*
|
|
||||||
* @author Jean-Christian Denis and Contributors
|
|
||||||
*
|
|
||||||
* @copyright Jean-Christian Denis
|
|
||||||
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
||||||
*/
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Dotclear\Plugin\enhancePostContent;
|
namespace Dotclear\Plugin\enhancePostContent;
|
||||||
|
@ -21,9 +11,12 @@ use Dotclear\Plugin\widgets\WidgetsStack;
|
||||||
use Dotclear\Plugin\widgets\WidgetsElement;
|
use Dotclear\Plugin\widgets\WidgetsElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup DC_PLUGIN_ENHANCEPOSTCONTENT
|
* @brief enhancePostContent widgets class.
|
||||||
* @brief Filter posts content - widgets methods.
|
* @ingroup enhancePostContent
|
||||||
* @since 2.6
|
*
|
||||||
|
* @author Jean-Christian Denis
|
||||||
|
* @copyright Jean-Christian Denis
|
||||||
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
||||||
*/
|
*/
|
||||||
class Widgets
|
class Widgets
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue