diff options
| author | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-06-24 16:58:41 +0200 |
|---|---|---|
| committer | Tristan Darricau <tristan.darricau@sensiolabs.com> | 2015-06-24 16:58:41 +0200 |
| commit | 8747c7a2c17e2f5408f528f5213a3e056aefd54e (patch) | |
| tree | 7a44d13474e622ef29a74bf91b6d26e6eef9ecbb /phpBB/phpbb/textreparser/plugins/user_signature.php | |
| parent | 6bcf12a558bed49267aba12b6ef000c52e8632e2 (diff) | |
| parent | 2a7d26d3debdce7ca82f3044de45b651286c6034 (diff) | |
| download | forums-8747c7a2c17e2f5408f528f5213a3e056aefd54e.tar forums-8747c7a2c17e2f5408f528f5213a3e056aefd54e.tar.gz forums-8747c7a2c17e2f5408f528f5213a3e056aefd54e.tar.bz2 forums-8747c7a2c17e2f5408f528f5213a3e056aefd54e.tar.xz forums-8747c7a2c17e2f5408f528f5213a3e056aefd54e.zip | |
Merge pull request #3579 from s9e/ticket/13803
[ticket/13803] Implement a generic and scalable way to reparse rich text
Diffstat (limited to 'phpBB/phpbb/textreparser/plugins/user_signature.php')
| -rw-r--r-- | phpBB/phpbb/textreparser/plugins/user_signature.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/phpBB/phpbb/textreparser/plugins/user_signature.php b/phpBB/phpbb/textreparser/plugins/user_signature.php new file mode 100644 index 0000000000..f657a45d38 --- /dev/null +++ b/phpBB/phpbb/textreparser/plugins/user_signature.php @@ -0,0 +1,73 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\textreparser\plugins; + +class user_signature extends \phpbb\textreparser\row_based_plugin +{ + /** + * @var array Bit numbers used for user options + * @see \phpbb\user + */ + protected $keyoptions; + + /** + * {@inheritdoc} + */ + protected function add_missing_fields(array $row) + { + if (!isset($this->keyoptions)) + { + $this->save_keyoptions(); + } + + $options = $row['user_options']; + $row += array( + 'enable_bbcode' => phpbb_optionget($this->keyoptions['sig_bbcode'], $options), + 'enable_smilies' => phpbb_optionget($this->keyoptions['sig_smilies'], $options), + 'enable_magic_url' => phpbb_optionget($this->keyoptions['sig_links'], $options), + ); + + return parent::add_missing_fields($row); + } + + /** + * {@inheritdoc} + */ + public function get_columns() + { + return array( + 'id' => 'user_id', + 'text' => 'user_sig', + 'bbcode_uid' => 'user_sig_bbcode_uid', + 'user_options' => 'user_options', + ); + } + + /** + * {@inheritdoc} + */ + public function get_table_name() + { + return USERS_TABLE; + } + + /** + * Save the keyoptions var from \phpbb\user + */ + protected function save_keyoptions() + { + $class_vars = get_class_vars('phpbb\\user'); + $this->keyoptions = $class_vars['keyoptions']; + } +} |
