diff --git a/serendipity_event_custom_permalinks/ChangeLog b/serendipity_event_custom_permalinks/ChangeLog index 1c5f34f3..e62b7e00 100644 --- a/serendipity_event_custom_permalinks/ChangeLog +++ b/serendipity_event_custom_permalinks/ChangeLog @@ -1 +1,20 @@ -1.14: Added stricter array check \ No newline at end of file +1.15: +----- + + * Load lang with lang api + * Add Serendpity 2.0+ backend markup + * Fix inconistencies + * Added entries_header hook to assign $is_single_entry, + which else would not be available with custom permalink entries. + + +1.14.1: +------- + + * Use serendipity_specialchars + + +1.14: +----- + + * Added stricter array check diff --git a/serendipity_event_custom_permalinks/serendipity_event_custom_permalinks.php b/serendipity_event_custom_permalinks/serendipity_event_custom_permalinks.php index aef985d8..c7428c27 100644 --- a/serendipity_event_custom_permalinks/serendipity_event_custom_permalinks.php +++ b/serendipity_event_custom_permalinks/serendipity_event_custom_permalinks.php @@ -1,22 +1,18 @@ add('name', PLUGIN_EVENT_CUSTOM_PERMALINKS); @@ -24,23 +20,26 @@ class serendipity_event_custom_permalinks extends serendipity_event { $propbag->add('event_hooks', array( 'genpage' => true, 'backend_publish' => true, + 'css_backend' => true, 'entry_display' => true, 'backend_save' => true, + 'entries_header' => true, 'frontend_display:html:per_entry' => true, 'backend_display' => true)); $propbag->add('author', 'Garvin Hicking'); - $propbag->add('version', '1.14.1'); + $propbag->add('version', '1.15'); $propbag->add('requirements', array( - 'serendipity' => '0.8', + 'serendipity' => '1.6', 'smarty' => '2.6.7', - 'php' => '4.1.0' + 'php' => '5.1.0' )); $propbag->add('stackable', false); $propbag->add('groups', array('BACKEND_EDITOR')); } - function show($id) { + function show($id) + { global $serendipity; $id = (int)$id; @@ -63,18 +62,23 @@ class serendipity_event_custom_permalinks extends serendipity_event { $serendipity['head_subtitle'] = $serendipity['blogTitle']; } - function generate_content(&$title) { + function generate_content(&$title) + { $title = PLUGIN_EVENT_CUSTOM_PERMALINKS; } - function event_hook($event, &$bag, &$eventData, $addData = null) { + function event_hook($event, &$bag, &$eventData, $addData = null) + { global $serendipity; $hooks = &$bag->get('event_hooks'); if (isset($hooks[$event])) { + switch($event) { + case 'genpage': + $args = implode('/', serendipity_getUriArguments($eventData, true)); if ($serendipity['rewrite'] != 'none') { $nice_url = $serendipity['serendipityHTTPPath'] . $args; @@ -82,16 +86,6 @@ class serendipity_event_custom_permalinks extends serendipity_event { $nice_url = $serendipity['serendipityHTTPPath'] . $serendipity['indexFile'] . '?/' . $args; } - $myi = strpos($nice_url, '?'); - if ($myi != 0 && $serendipity['rewrite'] != 'none') { - $nice_url2 = substr($nice_url, $myi+1); - } - - $myi = strpos($nice_url, '?'); - if ($myi != 0 && $serendipity['rewrite'] != 'none') { - $nice_url = substr($nice_url, 0, $myi); - } - $myi = strpos($nice_url, '&'); if ($myi != 0 && $serendipity['rewrite'] != 'none') { $nice_url = substr($nice_url, 0, $myi); @@ -110,13 +104,12 @@ class serendipity_event_custom_permalinks extends serendipity_event { if (is_array($retid) && !empty($retid[0]['entryid'])) { $this->show($retid[0]['entryid']); } - break; case 'entry_display': $ids = array(); if (!is_array($eventData)) { - return true; + break; } foreach ($eventData AS $entry) { @@ -126,11 +119,15 @@ class serendipity_event_custom_permalinks extends serendipity_event { $query = "SELECT entryid,value FROM {$serendipity['dbPrefix']}entryproperties WHERE entryid IN (" . implode(', ', $ids) . ") AND property = 'permalink'"; $retval = serendipity_db_query($query); if (is_array($retval)) { - foreach((array)$retval AS $pl) { - $this->ids[$pl['entryid']] = $pl['value']; - } + foreach((array)$retval AS $pl) { + $this->ids[$pl['entryid']] = $pl['value']; + } } + break; + case 'entries_header': + // for custom permalinks this has to be set, since it else is not available - only with /archives/ path + $serendipity['smarty']->assign('is_single_entry', true); break; case 'frontend_display:html:per_entry': @@ -141,6 +138,26 @@ class serendipity_event_custom_permalinks extends serendipity_event { } break; + case 'css_backend': + // append css + $eventData .= ' + +/* serendipity_event_custom_permalink backend start */ + +#properties_permalink, +meta_properties_permalink { + width: 100%; +} +#meta_properties_permalink .msg_notice { + margin-top: 0; + margin-bottom: 0; +} + +/* serendipity_event_custom_permalink backend end */ + +'; + break; + case 'backend_display': $permalink = !empty($serendipity['POST']['permalink']) ? $serendipity['POST']['permalink'] : ''; @@ -162,14 +179,34 @@ class serendipity_event_custom_permalinks extends serendipity_event { ? $serendipity['serendipityHTTPPath'] . 'permalink/' . serendipity_makeFilename($title) . '.html' : $serendipity['serendipityHTTPPath'] . $serendipity['indexFile'] . '?/permalink/' . serendipity_makeFilename($title) . '.html'; } + if ($serendipity['version'][0] > 1) { +?> +
+ + + + + + +
+ +
+ +
+
-


- +


+
\ No newline at end of file