Update of /cvsroot/php-blog/serendipity/plugins/serendipity_event_contentrewrite
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2227/serendipity_event_contentrewrite
Modified Files:
serendipity_event_contentrewrite.php
Log Message:
Added markup plugins
Index: serendipity_event_contentrewrite.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/plugins/serendipity_event_contentrewrite/serendipity_event_contentrewrite.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- serendipity_event_contentrewrite.php 13 Feb 2004 17:19:05 -0000 1.3
+++ serendipity_event_contentrewrite.php 26 Feb 2004 11:29:09 -0000 1.4
@@ -63,10 +63,10 @@
$propbag->add('name', PLUGIN_EVENT_CONTENTREWRITE_NAME);
$propbag->add('description', PLUGIN_EVENT_CONTENTREWRITE_DESCRIPTION);
- $propbag->add('event_hooks', array(
- 'frontend_display' => true
- ));
-
+ $propbag->add('event_hooks', array(
+ 'frontend_display' => true
+ ));
+
if ($_POST['SAVECONF']) $this->cleanup();
$rows = serendipity_db_query("SELECT name, value FROM {$serendipity['dbPrefix']}config WHERE name LIKE '" . $this->instance . "/%'");
@@ -115,19 +115,51 @@
$values[] = 'title' . '_' . $counter;
$values[] = 'description' . '_' . $counter;
- $propbag->add('configuration', $values);
+ $this->markup_elements = array(
+ array(
+ 'name' => ENTRY_BODY,
+ 'element' => 'body',
+ ),
+ array(
+ 'name' => EXTENDED_BODY,
+ 'element' => 'extended',
+ ),
+ array(
+ 'name' => COMMENT,
+ 'element' => 'comment',
+ ),
+ array(
+ 'name' => HTML_NUGGET,
+ 'element' => 'html_nugget',
+ )
+ );
+
+ foreach($this->markup_elements as $element) {
+ $values[] = $element['name'];
+ }
+ $propbag->add('configuration', $values);
$this->counter = $counter;
}
function introspect_config_item($name, &$propbag)
{
+ foreach($this->markup_elements as $element) {
+ if ($name==$element['name']) {
+ $propbag->add('type', 'boolean');
+ $propbag->add('name', $name);
+ $propbag->add('description', sprintf(APPLY_MARKUP_TO, $name));
+ return true;
+ }
+ }
+
preg_match('|^(.+)_([0-9]+)$|msU', $name, $switch);
if (!isset($switch[2])) {
$switch[1] = $name;
$switch[2] = 'empty';
}
+
switch($switch[1]) {
case 'title':
@@ -198,14 +230,14 @@
?>
</table>
<?php
- }
-
+ }
+
function event_hook($event, &$bag, &$eventData) {
global $serendipity;
-
+
$hooks = &$bag->get('event_hooks');
- if (isset($hooks[$event])) {
- switch($event) {
+ if (isset($hooks[$event])) {
+ switch($event) {
case 'frontend_display':
$char = &$this->get_config('rewrite_char');
$string = &$this->get_config('rewrite_string');
@@ -237,15 +269,21 @@
$regex = '°([^\d\w])(' . preg_quote($v_from) . ')([^\d\w])°msU';
// \1 and \3 are the prepend/append strings (usually whitespaces) and $new containing the new value
- $eventData = preg_replace($regex, '\1' . $new . '\3', $eventData);
+ foreach ($this->markup_elements as $temp) {
+ if ($this->get_config($temp['name']) != 'false') {
+ $element = $temp['element'];
+ $eventData[$element] = preg_replace($regex, '\1' . $new . '\3', $eventData[$element]);
+ }
+ }
+
}
}
return true;
- break;
- }
- }
- }
+ break;
+ }
+ }
+ }
}
/* vim: set sts=4 ts=4 expandtab : */
|