Archived
1
0

Compare commits

...

86 Commits

Author SHA1 Message Date
Garvin Hicking c26863c346 release 2015-03-12 20:28:22 +01:00
Garvin Hicking daff62dc53 Modify if-statement
References #324
2015-03-12 20:11:57 +01:00
Garvin Hicking c740d43305 While we're at it, another missing escape 2015-03-12 19:25:18 +01:00
Garvin Hicking 9eebdb7ef9 Merge branch '2.0' of github.com:s9y/Serendipity into 2.0 2015-03-12 19:19:42 +01:00
Garvin Hicking ac7724dac1 prep release 2015-03-12 19:19:23 +01:00
Matthias Mees aa9c24a3bd Escape entry title in dashboard
References #322
2015-03-12 19:04:25 +01:00
Ian 4fd81d4acd remove files actually listed to get removed
extends a2c7761
2015-03-12 17:38:35 +01:00
Garvin Hicking 12bf1d6ad1 We also need to escape the JS at this point 2015-03-12 12:23:05 +01:00
Ian 64e56a8053 remove references for serendipity_define.js(+.php) 2015-03-12 12:11:29 +01:00
Ian 67bcc99a43 extend 2.0.1 removal list
see 5ee05f1143 and 441bb6d56f (comments)
2015-03-12 12:03:52 +01:00
Garvin Hicking e83d4ec555 Unify gravatar 2015-03-12 10:45:25 +01:00
Garvin Hicking dadafebfb7 Unify gravatar 2015-03-12 10:44:24 +01:00
Garvin Hicking 1a23e841ea Merge branch '2.0' of github.com:s9y/Serendipity into 2.0 2015-03-12 10:16:05 +01:00
Garvin Hicking a30886d3bb Fix missing escaping (possible XSS) of category names in the Backend
Entry Admin, which would allow editors that create a forged
category name to attack other editors in the backend (privileged
access to the backend required).
Thanks a lot to Edric Teo for reporting this issue.
2015-03-12 10:15:31 +01:00
Matthias Mees 13986be93e Remove legacy CSS for template_preview 2015-03-11 17:53:31 +01:00
Garvin Hicking eb7d9c8987 We don't really need those files anymore. 2015-03-09 10:18:23 +01:00
onli c55f3df0d0 Remove $p == 1 search wildcard requirement (#309)
The bug meant to be fixed in https://github.com/s9y/Serendipity/commit/51208e0f726cfc3a7b65360be6a58a5fcd1c3968#diff-cbbd600f627a5af39c73092fbc3fbf46 is not reproducible anymore
2015-03-07 17:21:44 +01:00
Garvin Hicking 91df1f41fc Improved detection for possible javascript errors (i.e. PHP errors, plugins that use invalid PHP 5.4+ syntax, other causes - that people seem to hit a lot)
If the serendipity.spawn function could not be found, we emit a warning (through javascript...)

See thread on forums: http://board.s9y.org/viewtopic.php?f=11&t=20286
2015-03-02 10:53:22 +01:00
Matthias Mees 932f881c27 Substitute inline styles with plainList class in syndication list
References #285
2015-02-23 23:47:36 +01:00
onli 2483fb6d19 syndication fix: use absolute urls 2015-02-23 22:12:43 +01:00
Matthias Mees 6daf639d0e Remove legacy div + styles from 2k11's preview
References #307
2015-02-22 21:14:00 +01:00
Matthias Mees 7e5666599d Document extra localStorage test
References #306
2015-02-18 15:28:17 +01:00
Matthias Mees cb340c6bde Add extra test for localStorage
localStorage may be deactivated by setting a config option or using
security-related extensions at least in some browsers, which might
(at least in FF) break backend JS functionality.

So we need an extra check if localStorage is null.

References #306
2015-02-17 18:31:35 +01:00
Matthias Mees 65736b2e38 Fix CSS regression due to markup changes in ddac2c
References #301
2015-02-13 20:07:16 +01:00
Matthias Mees 730451031d Fix media chooser preview in theme options config group
Firefox-only bug if responsive img is a descendant of a fieldset.
Related to 67864f195f.

References #301
2015-02-13 19:44:59 +01:00
Matthias Mees 45cec703db Fix incomplete translation in Next theme 2015-02-12 22:15:54 +01:00
Matthias Mees e66c4b1ef5 Remove user.css reference and theme options
Affected themes: bulletproof, 2k11, next

These themes will use the core method of including the user.css in
serendipity.css starting with 2.0.1. A note has been added to all
three themes' theme options to document that the possibility of a
user.css exists.

References #280
2015-02-11 16:15:10 +01:00
Garvin Hicking bb92f86148 use "user.css" instead 2015-02-11 15:13:26 +01:00
Garvin Hicking ec70101415 Merge branch '2.0' of github.com:s9y/Serendipity into 2.0 2015-02-11 14:58:12 +01:00
Garvin Hicking f9a7e0f2a6 References Issue #280
* Issue 280: Allow every theme to utilize a "style_user.css" file
     that gets loaded on top of the frontend (or backend, if in admin/
     subdirectory) theme. This file can be used for customized CSS
     of a blog-admin which carries over to future Serendipity updates
2015-02-11 14:57:55 +01:00
Matthias Mees 2cd54fc583 Move/rename 2k15 to next
The name has been changed to protect the innocent. (Meaning the
users. From confusion.)
2015-02-11 14:33:53 +01:00
Garvin Hicking b066b233bf Fix Issue #299 2015-02-11 14:27:39 +01:00
Garvin Hicking 111821f156 Expose serendipity_rewriteURL to smarty API 2015-02-11 10:33:28 +01:00
Matthias Mees d74374e6cf Remove template no longer needed with Smarty 3 from 2k15 2015-02-10 14:40:07 +01:00
Matthias Mees 4233b096f8 Add spacing for custom items in configuration groups
Most notably, this will affect custom theme config options.
2015-02-10 12:47:25 +01:00
Matthias Mees 2d90abe4d3 Add new frontend theme 2k15
2k15 is basically 2k11, but up to date. Changes include:

- mobile-first CSS
- toggle-style smallscreen nav instead of select menu
- different choice of webfonts
- updated JS assets
- removed some JS cruft (plugins that are no longer necessary)
- reduced visual style (no, it's NOT 'flat design'!)
- simplified layout (number of columns depends on resolution)
- reduced theme options

Note: 2k15 is NOT compatible with the 2k11 user.css generator.
Currently, there is no 2k15 user.css generator. I don't intend
on building one at the moment.

Also note that I do NOT suggest 2k15 should replace 2k11 as the
default or standard theme in s9y.
2015-02-10 12:28:08 +01:00
Matthias Mees 753b6a5863 Only expand non-overlayed cats/tags if necessary
References #290
2015-02-08 20:01:43 +01:00
Matthias Mees a2ce183185 Hide cat view toggle button in non-overlayed cat view
References #290
2015-02-08 16:59:40 +01:00
Matthias Mees eaf6e7ff6f Document changes
References #297
2015-02-08 16:30:02 +01:00
Matthias Mees 2944944d34 Add generic odd/even for dashboard widgets
- Use CSS for odd/even spacing + clearing in browsers that support
  it using :nth-child and the new class .dashboard_widget (to
  seperate positioning styles from visual styles)
- 'Polyfill' said behaviour for IE 8 using JS
- Adapt hardcoded dashboard sections accordingly
- Add fix for IE 8 where mq_small is not set properly
- New build of oldie.css

References #297
2015-02-08 16:16:19 +01:00
Matthias Mees a41aedc97d Make sure form element do not overflow their containers
References #296
2015-02-06 20:39:27 +01:00
Ian 035b08cebd upgrade task - remove still resting files
Please check for more to include to the rest array!
2015-02-06 14:06:55 +01:00
Ian 0aaf6f1e50 document emoticon plugin fix 2015-02-05 17:05:52 +01:00
Ian 03c3e4899a template is theme and click to demo file 2015-02-05 17:05:29 +01:00
Ian c3149a1ba8 fix typo 2015-02-05 17:05:05 +01:00
Ian e5d1a8da3a fix fallback for custom template emoticons
adds an example file to extend this to custom emoticons
Add description of this in plugins config.
2015-02-05 17:04:44 +01:00
Ian 45233a2948 move backend_dashboard hook
may certainly as well be, to move the s9y_links block on top of all since not getting boxed, see http://board.s9y.org/viewtopic.php?f=4&t=20247
May need follow-up, if we we have a more general dashboard even/odd cycler function to avoid making each hooked-in plugin to reinvent the wheel...!
2015-02-04 18:04:57 +01:00
Matthias Mees 12732f15b5 Adapt layout in theme options media preview
References #288
2015-02-04 17:46:43 +01:00
Ian 9d9f3160dd Use strict frontend template fallback
in case it is used as a copy template, see http://board.s9y.org/viewtopic.php?f=11&p=10441860#p10441860

Extra Note by Garvin :)
If you create a custom theme to be used with Serendipity 2.0+, use serendipity_getTemplateFile(..., 'serendipityHTTPPath', true) whenever you reference files that are relevant to the frontend output inside your config.inc.php file. The distinction of Backend and Frontend themes in Serendipity 2.0 will otherwise try to search for a file in the backend-directory of a theme, because the theme configuration screen is displayed within the backend, not the frontend
2015-02-04 16:50:07 +01:00
Matthias Mees bc1f0fd306 Rework messages emitted by upload/delete in media db
Due to a regression in how these messages are emitted, these now
need to emit their msg markup in include/admin/images.inc.php or
include/functions_images.inc.php to avoid nested msg containers.

References #287
2015-02-03 18:55:22 +01:00
Matthias Mees 74776bd76c Do not hide <br> elements in .msg_*
As much as I hate these, but this was not a good idea in hindsight.

References #287
2015-02-03 17:11:00 +01:00
Matthias Mees 3139406884 Rewrite code for deleting media db content
Removes redundant markup from and adds msg classes to

* serendipity_deleteImage()
* serendipity_killPath()

References #287
2015-02-03 15:50:02 +01:00
Matthias Mees 877b2d3680 The strong element is obsolete, the msg class should suffice
References #287
2015-02-03 14:20:18 +01:00
Matthias Mees b6380f8a69 Better fix for obsolete msg wrapper for deleting media db dirs
Courtesy of @ophian

References #287
2015-02-03 14:10:16 +01:00
Ian 6064057e26 document fa95f33 and 71a9650 2015-02-03 13:41:15 +01:00
Ian 71a96502ee fix non echoed file names
References #287
2015-02-03 12:55:52 +01:00
Matthias Mees f05e9cc568 Remove obsolete msg wrapper for deleting media db dirs
References #287
2015-02-03 11:20:19 +01:00
Ian ccbce5bebf Revert "fix label $entry ep_is_sticky check missing properties sub array"
This reverts commit e32a9fd66c.
2015-02-02 18:45:49 +01:00
Ian e32a9fd66c fix label $entry ep_is_sticky check missing properties sub array 2015-02-02 18:37:29 +01:00
Matthias Mees cb1b0632e4 Fix long plugin names aligning below their toggler
References #284
2015-02-02 10:19:43 +01:00
Matthias Mees 14fe9bdbf6 Change serendipity_customfields from id to class
This is to avoid duplicate ids in the backend.
2015-01-31 12:59:12 +01:00
Garvin Hicking 8b87636561 bump version number 2015-01-29 10:42:08 +01:00
Ian 84d2084ff1 license s9y 2015-01-28 17:13:20 +01:00
Garvin Hicking 3be47026ee upport 2015-01-27 14:17:15 +01:00
Garvin Hicking 460dd96744 DASHBAORD -> DASHBOARD 2015-01-26 09:18:08 +01:00
Matthias Mees 116fd2d59f Document recent changes (Oops)
References #274 #275 #276
2015-01-24 16:07:52 +01:00
Garvin Hicking 29b0209ddd New language constants
references #274
2015-01-24 14:56:30 +01:00
Matthias Mees 1dbd0be6f1 Backport new dashboard lang constant
References #274
2015-01-24 14:41:15 +01:00
Matthias Mees c8018f909e Backport cats/tags quick view fix
References #275
2015-01-24 14:35:14 +01:00
Matthias Mees b3e0c1f6c6 Backport 941c920ff67fbaa9f318826b547bb21661c91dc4
References #276
2015-01-24 14:07:23 +01:00
Matthias Mees 2606595416 Backport f223db6
References #276
2015-01-24 12:38:50 +01:00
Matthias Mees 0a7c38a685 Backport 9117b48176 2015-01-23 13:59:26 +01:00
Garvin Hicking 143df857f5 upport 2015-01-23 12:21:34 +01:00
Ian b0e168816d fix failing error if no freetags installed 2015-01-23 11:10:35 +01:00
Garvin Hicking e2e16d2a5f move news to old 2015-01-23 09:40:17 +01:00
Garvin Hicking 33c5a32153 backport 2015-01-23 09:30:57 +01:00
Garvin Hicking 24655cc34f Prep release 2015-01-23 09:23:23 +01:00
Garvin Hicking b0f5d30904 Match RELEASE file of 2.0 with master.(This got merged to master, which is why master pointed to 1.6) 2015-01-22 20:23:04 +01:00
Garvin Hicking e0b361b2a4 sync NEWS 2015-01-22 20:19:42 +01:00
onli 7ba9622a50 Use better search identifier to fix #269 2015-01-22 19:50:42 +01:00
Ian ba7de46d62 extend last smarty bugfix patch
References 762283c and ef90f8e

see https://github.com/smarty-php/smarty/commit/8d5fa36a80ec35f8a2cde9580746eb7d5508149a
2015-01-22 10:59:53 +01:00
onli 3c63d42ac3 Fix search page order when stable archive is on (#269) 2015-01-21 18:57:44 +01:00
Ian 762283c937 integrate Smarty 3.1.22-dev fix to clearCompiledTemplate() to avoid purging a wrong directory fallback on dir permission issues
https://github.com/smarty-php/smarty/commit/7a1df12afa7e1c83e3529d89c38e97feea6f0bf7
2015-01-21 11:38:55 +01:00
Ian 9418f806d3 cleanup and note once 2015-01-20 15:13:53 +01:00
Ian 2efc58c03d cleanup nl2br 2015-01-20 15:05:26 +01:00
Garvin Hicking 37843bc1bb Branch out support tree 2.0.x 2015-01-20 10:04:02 +01:00
166 changed files with 7546 additions and 4937 deletions
-6
View File
@@ -1,9 +1,3 @@
# Serendipity - a PHP Weblog/Blog software
[Serendipity](http://s9y.org) is a PHP-powered weblog application which gives the user an easy way to maintain an online diary, weblog or even a complete homepage. While the default package is designed for the casual blogger, Serendipity offers a flexible, expandable and easy-to-use framework with the power for professional applications.
This is a testing branch to mainly support the new backend smartification.
Use with care!
https://github.com/ophian/s9y-admin-tpl forked from https://github.com/yellowled/s9y-admin-tpl
@@ -147,10 +147,10 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource
$_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null;
$_dir_sep = $smarty->use_sub_dirs ? '/' : '^';
$_compile_id_offset = $smarty->use_sub_dirs ? 3 : 0;
if (($_dir = realpath($smarty->getCacheDir())) === false) {
$_dir = realpath($smarty->getCacheDir()) . '/';
if ($_dir == '/') { //We should never want to delete this!
return 0;
}
$_dir .= '/';
$_dir_length = strlen($_dir);
if (isset($_cache_id)) {
$_cache_id_parts = explode('|', $_cache_id);
@@ -192,6 +192,9 @@ class Smarty_Internal_Utility
public static function clearCompiledTemplate($resource_name, $compile_id, $exp_time, Smarty $smarty)
{
$_compile_dir = realpath($smarty->getCompileDir()) . '/';
if ($_compile_dir == '/') { //We should never want to delete this!
return 0;
}
$_compile_id = isset($compile_id) ? preg_replace('![^\w\|]+!', '_', $compile_id) : null;
$_dir_sep = $smarty->use_sub_dirs ? '/' : '^';
if (isset($resource_name)) {
-8
View File
@@ -1,8 +0,0 @@
<?php # $Id$
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team)
# All rights reserved. See LICENSE file for licensing details
# Serendipity is provided in managed mode here
require_once 's9y/serendipity_define.js.php';
/* vim: set sts=4 ts=4 expandtab : */
?>
-401
View File
@@ -1,401 +0,0 @@
<!-- // Hide from older browsers
/* $Id$ */
/*
# Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team)
# All rights reserved. See LICENSE file for licensing details
*/
/*
Written by chris wetherell
http://www.massless.org
chris [THE AT SIGN] massless.org
warning: it only works for IE4+/Win and Moz1.1+
feel free to take it for your site
if there are any problems, let chris know.
*/
var thisForm;
function getMozSelection(txtarea) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2) {
selEnd=selLength;
}
return (txtarea.value).substring(selStart, selEnd);
}
function getIESelection(txtarea) {
return document.selection.createRange().text;
}
function mozWrap(txtarea, lft, rgt) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (txtarea.setSelectionRange) {
if (selEnd==1 || selEnd==2) selEnd=selLength;
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + lft + s2 + rgt + s3;
} else {
txtarea.value = txtarea.value + ' ' + lft + rgt + ' ';
}
}
function IEWrap(txtarea, lft, rgt) {
strSelection = document.selection.createRange().text;
if (strSelection != "") {
document.selection.createRange().text = lft + strSelection + rgt;
} else {
txtarea.value = txtarea.value + lft + rgt;
}
}
function wrapSelection(txtarea, lft, rgt) {
scrollPos = false;
if (txtarea.scrollTop) {
scrollPos = txtarea.scrollTop;
}
if (document.all) {
IEWrap(txtarea, lft, rgt);
} else if (document.getElementById) {
mozWrap(txtarea, lft, rgt);
}
if (scrollPos) {
txtarea.focus();
txtarea.scrollTop = scrollPos;
}
}
function wrapSelectionWithLink(txtarea) {
var my_link = prompt("Enter URL:","http://");
if (document.all && getIESelection(txtarea) == "" ||
document.getElementById && getMozSelection(txtarea) == "") {
var my_desc = prompt("Enter Description", '');
}
var my_title = prompt("Enter title/tooltip:", "");
html_title = "";
if (my_title != "" && my_title != null) {
html_title = ' title="' + my_title + '"';
}
if (my_link != null) {
lft = "<a href=\"" + my_link + "\"" + html_title + ">";
if (my_desc != null && my_desc != "") {
rgt = my_desc + "</a>";
} else {
rgt = "</a>";
}
wrapSelection(txtarea, lft, rgt);
}
return;
}
/* end chris w. script */
function mozInsert(txtarea, str) {
var selLength = txtarea.textLength;
var selStart = txtarea.selectionStart;
var selEnd = txtarea.selectionEnd;
if (selEnd==1 || selEnd==2) {
selEnd=selLength;
}
var s1 = (txtarea.value).substring(0,selStart);
var s2 = (txtarea.value).substring(selStart, selEnd)
var s3 = (txtarea.value).substring(selEnd, selLength);
txtarea.value = s1 + str + s2 + s3;
}
function wrapInsImage(area) {
var loc = prompt('Enter the Image Location: ');
if (!loc) {
return;
}
mozInsert(area,'<img src="'+ loc + '" alt="" />');
}
/* end Better-Editor functions */
function serendipity_insImage (area) {
var loc = prompt('Enter the Image Location: ');
if (!loc) {
area.focus();
return;
}
area.value = area.value + '<img src="' + loc + '" alt="" />';
area.focus();
}
function serendipity_insBasic (area, tag) {
area.value = area.value + "<" + tag + "></" + tag + ">";
area.focus();
}
function serendipity_insLink (area) {
var loc = prompt('Enter URL Location: ');
var text = prompt('Enter Description: ');
var my_title = prompt("Enter title/tooltip:", "");
if (!loc) {
area.focus();
return;
}
html_title = "";
if (my_title != "" && my_title != null) {
html_title = ' title="' + my_title + '"';
}
area.value = area.value + '<a href="' + loc + '"' + html_title + '>' + (text ? text : loc) + '</a>';
area.focus();
}
function serendipity_imageSelector_addToElement (str, el)
{
document.getElementById(el).value = str;
if (document.getElementById(el).type != 'hidden' && document.getElementById(el).focus) {
document.getElementById(el).focus();
}
if (document.getElementById(el).onchange) {
document.getElementById(el).onchange();
}
}
function serendipity_imageSelector_addToBody (str, textarea)
{
// check for FCKEditor usage
if (typeof(FCKeditorAPI) != 'undefined') {
// if here the blog uses FCK editor
var oEditor = FCKeditorAPI.GetInstance('serendipity[' + textarea + ']') ;
if (oEditor.EditMode == FCK_EDITMODE_WYSIWYG) {
// if here the editior is in WYSIWYG mode so use the insert html function
oEditor.InsertHtml(str);
} else {
// if here just insert the text to the textarea ( named with the value of textarea variable )
noWysiwygAdd( str, textarea );
}
} else if(typeof(xinha_editors) != 'undefined') {
// if here the blog uses Xinha editor
var oEditor;
if (typeof(xinha_editors['serendipity[' + textarea + ']']) != 'undefined') {
// this is good for the two default editors (body & extended)
oEditor = xinha_editors['serendipity['+ textarea +']'];
} else if (typeof(xinha_editors[textarea]) != 'undefined') {
// this should work in any other cases than previous one
oEditor = xinha_editors[textarea];
} else {
// this is the last chance to retrieve the instance of the editor !
// editor has not been registered by the name of it's textarea
// so we must iterate over editors to find the good one
for (var editorName in xinha_editors) {
if ('serendipity[' + textarea + ']' == xinha_editors[editorName]._textArea.name) {
oEditor = xinha_editors[editorName];
break;
}
}
}
// the actual insert for the xinha editor
if (oEditor) {
if (oEditor._editMode != 'textmode') {
// if here the editior is in WYSIWYG mode so use the insert html function
oEditor.insertHTML(str);
} else {
// if here just insert the text to the textarea ( named with the value of textarea variable )
noWysiwygAdd(str, textarea);
}
} else {
noWysiwygAdd(str, textarea);
}
} else if(typeof(HTMLArea) != 'undefined') {
// if here the blog uses HTMLArea editor
var oEditor;
if (textarea == 'body' && typeof(editorbody) != 'undefined') {
oEditor = editorbody;
} else if (textarea == 'extended' && typeof(editorextended) != 'undefined') {
oEditor = editorextended;
} else if (typeof(htmlarea_editors) != 'undefined' && typeof(htmlarea_editors[textarea]) != 'undefined') {
oEditor = htmlarea_editors[textarea];
}
// the actual insert for the HTMLArea editor
if (oEditor._editMode != 'textmode') {
// if here the editior is in WYSIWYG mode so use the insert html function
oEditor.insertHTML(str);
} else {
// if here just insert the text to the textarea ( named with the value of textarea variable )
noWysiwygAdd(str, textarea);
}
} else if(typeof(TinyMCE) != 'undefined') {
// for the TinyMCE editor we do not have a text mode insert
//tinyMCE.execCommand('mceInsertContent', false, str);
tinyMCE.execInstanceCommand('serendipity[' + textarea + ']', 'mceInsertContent', false, str);
} else {
noWysiwygAdd(str, textarea);
}
}
// The noWysiwygAdd JS function is the vanila serendipity_imageSelector_addToBody js function which works fine in NO WYSIWYG mode
// NOTE: the serendipity_imageSelector_addToBody could add any valid HTML string to the textarea
function noWysiwygAdd( str, textarea )
{
// default case: no wysiwyg editor
eltarget = '';
if (document.forms['serendipityEntry'] && document.forms['serendipityEntry']['serendipity['+ textarea +']']) {
eltarget = document.forms['serendipityEntry']['serendipity['+ textarea +']']
} else if (document.forms['serendipityEntry'] && document.forms['serendipityEntry'][textarea]) {
eltarget = document.forms['serendipityEntry'][textarea];
} else {
eltarget = document.forms[0].elements[0];
}
wrapSelection(eltarget, str, '');
eltarget.focus();
}
function serendipity_imageSelector_done(textarea)
{
var insert = '';
var img = '';
var src = '';
var alt = '';
var title = '';
var f = document.forms['serendipity[selForm]'].elements;
if (f['serendipity[linkThumbnail]'] && f['serendipity[linkThumbnail]'][0].checked == true) {
img = f['thumbName'].value;
imgWidth = f['imgThumbWidth'].value;
imgHeight = f['imgThumbHeight'].value;
} else {
img = f['imgName'].value;
imgWidth = f['imgWidth'].value;
imgHeight = f['imgHeight'].value;
}
if (f['serendipity[filename_only]']) {
if (f['serendipity[htmltarget]']) {
starget = f['serendipity[htmltarget]'].value;
} else {
starget = 'serendipity[' + textarea + ']';
}
if (f['serendipity[filename_only]'].value == 'true') {
parent.self.opener.serendipity_imageSelector_addToElement(img, f['serendipity[htmltarget]'].value);
parent.self.close();
return true;
} else if (f['serendipity[filename_only]'].value == 'id') {
parent.self.opener.serendipity_imageSelector_addToElement(f['imgID'].value, starget);
parent.self.close();
return true;
} else if (f['serendipity[filename_only]'].value == 'thumb') {
parent.self.opener.serendipity_imageSelector_addToElement(f['thumbName'].value, starget);
parent.self.close();
return true;
} else if (f['serendipity[filename_only]'].value == 'big') {
parent.self.opener.serendipity_imageSelector_addToElement(f['imgName'].value, starget);
parent.self.close();
return true;
}
}
alt = f['serendipity[alt]'].value.replace(/"/g, "&quot;");
title = f['serendipity[title]'].value.replace(/"/g, "&quot;");
styled = false; // Templates now do this.
imgID = 0;
if (f['imgID']) {
imgID = f['imgID'].value;
}
baseURL = '';
if (f['baseURL']) {
baseURL = f['baseURL'].value;
}
floating = 'center';
if (f['serendipity[align]'][0].checked == true) {
img = "<!-- s9ymdb:" + imgID + " --><img class=\"serendipity_image_center\" width=\"" + imgWidth + "\" height=\"" + imgHeight + "\" " + (styled ? 'style="border: 0px; padding-left: 5px; padding-right: 5px;"' : '') + ' src="' + img + "\" " + (title != '' ? 'title="' + title + '"' : '') + " alt=\"" + alt + "\" />";
} else if (f['serendipity[align]'][1].checked == true) {
img = "<!-- s9ymdb:" + imgID + " --><img class=\"serendipity_image_left\" width=\"" + imgWidth + "\" height=\"" + imgHeight + "\" " + (styled ? 'style="float: left; border: 0px; padding-left: 5px; padding-right: 5px;"' : '') + ' src="' + img + "\" " + (title != '' ? 'title="' + title + '"' : '') + " alt=\"" + alt + "\" />";
floating = 'left';
} else if (f['serendipity[align]'][2].checked == true) {
img = "<!-- s9ymdb:" + imgID + " --><img class=\"serendipity_image_right\" width=\"" + imgWidth + "\" height=\"" + imgHeight + "\" " + (styled ? 'style="float: right; border: 0px; padding-left: 5px; padding-right: 5px;"' : '') + ' src="' + img + "\" " + (title != '' ? 'title="' + title + '"' : '') + " alt=\"" + alt + "\" />";
floating = 'right';
}
if (f['serendipity[isLink]'][1].checked == true) {
if (f['serendipity[target]'].selectedIndex) {
targetval = f['serendipity[target]'].options[f['serendipity[target]'].selectedIndex].value;
} else {
targetval = '';
}
prepend = '';
ilink = f['serendipity[url]'].value;
if (!targetval || targetval == 'none') {
itarget = '';
} else if (targetval == 'js') {
itarget = ' onclick="F1 = window.open(\'' + f['serendipity[url]'].value + '\',\'Zoom\',\''
+ 'height=' + (parseInt(f['imgHeight'].value) + 15) + ','
+ 'width=' + (parseInt(f['imgWidth'].value) + 15) + ','
+ 'top=' + (screen.height - f['imgHeight'].value) /2 + ','
+ 'left=' + (screen.width - f['imgWidth'].value) /2 + ','
+ 'toolbar=no,menubar=no,location=no,resize=1,resizable=1,scrollbars=yes\'); return false;"';
} else if (targetval == '_blank') {
itarget = ' target="_blank"';
} else if (targetval == 'plugin') {
itarget = ' id="s9yisphref' + imgID + '" onclick="javascript:this.href = this.href + \'&amp;serendipity[from]=\' + self.location.href;"';
prepend = '<a title="' + ilink + '" id="s9yisp' + imgID + '"></a>';
ilink = baseURL + 'serendipity_admin_image_selector.php?serendipity[step]=showItem&amp;serendipity[image]=' + imgID;
}
insert = prepend + "<a class=\"serendipity_image_link\" " + (title != '' ? 'title="' + title + '"' : '') + " href='" + ilink + "'" + itarget + ">" + img + "</a>";
} else {
insert = img;
}
if (document.getElementById('serendipity_imagecomment').value != '') {
comment = f['serendipity[imagecomment]'].value;
block = '<div class="serendipity_imageComment_' + floating + '" style="width: ' + imgWidth + 'px">'
+ '<div class="serendipity_imageComment_img">' + insert + '</div>'
+ '<div class="serendipity_imageComment_txt">' + comment + '</div>'
+ '</div>';
} else {
block = insert;
}
if (typeof(parent.self.opener.htmlarea_editors) != 'undefined' && typeof(parent.self.opener.htmlarea_editors[textarea]) != 'undefined') {
parent.self.opener.htmlarea_editors[textarea].surroundHTML(block, '');
} else if (parent.self.opener.editorref) {
parent.self.opener.editorref.surroundHTML(block, '');
} else {
parent.self.opener.serendipity_imageSelector_addToBody(block, textarea);
}
parent.self.close();
}
// -->
-248
View File
@@ -1,248 +0,0 @@
This documents the change of filestructure between version 0.7 and 0.8:
Where functions from serendipity_config.inc.php went to:
------------------------------------------------------------------------
./include/functions_comments.inc.php
* serendipity_rememberComment() {
* serendipity_rememberCommentDetails()
* serendipity_forgetCommentDetails()
* serendipity_displayCommentForm()
* serendipity_fetchComments()
* serendipity_generateCommentList()
* serendipity_printComments()
* serendipity_deleteComment()
* serendipity_allowCommentsToggle()
* serendipity_approveComment()
* serendipity_saveComment()
* serendipity_mailSubscribers()
* serendipity_cancelSubscription()
* serendipity_sendComment()
./include/functions_trackbacks.inc.php
* serendipity_fetchTrackbacks()
* serendipity_printTrackbacks()
* serendipity_trackback_is_success()
* serendipity_pingback_autodiscover()
* _serendipity_send()
* serendipity_trackback_autodiscover()
* serendipity_reference_autodiscover()
* add_trackback()
* add_pingback()
* serendipity_trackback_excerpt()
* report_trackback_success()
* report_trackback_failure()
* report_pingback_success()
* report_pingback_failure()
* serendipity_handle_references()
./include/functions_smarty.inc.php
* serendipity_smarty_fetch()
* serendipity_emptyPrefix()
* serendipity_smarty_hookPlugin()
* serendipity_smarty_printSidebar()
* serendipity_smarty_getFile()
* serendipity_smarty_formatTime()
* serendipity_smarty_printComments()
* serendipity_smarty_printTrackbacks()
./include/functions_entries.inc.php
* serendipity_fetchCategoryRange()
* serendipity_fetchCategoryInfo()
* serendipity_fetchEntryCategories()
* serendipity_fetchEntries()
* serendipity_fetchEntry()
* serendipity_fetchEntryProperties()
* serendipity_fetchCategories()
* serendipity_rebuildCategoryTree()
* serendipity_searchEntries()
* serendipity_printEntryFooter()
* serendipity_getTotalEntries()
* serendipity_printEntries()
* serendipity_printEntries_rss()
* serendipity_purgeEntry()
* serendipity_updertEntry()
* serendipity_deleteEntry()
* serendipity_generateCategoryList()
* serendipity_printEntryForm()
* serendipity_emit_htmlarea_code()
* serendipity_updateEntryCategories()
* serendipity_printArchives()
./include/functions.inc.php (remaining)
* serendipity_truncateString()
* serendipity_formatTime()
* serendipity_logout()
* serendipity_login()
* serendipity_userLoggedIn()
* serendipity_fetchTemplates()
* serendipity_fetchTemplateInfo()
* serendipity_setCookie()
* serendipity_deleteCookie()
* serendipity_fetchUsers()
* serendipity_makeFilename()
* serendipity_fetchReferences()
* serendipity_utf8_encode()
* serendipity_rss_getguid()
* xhtml_cleanup()
* serendipity_rewriteURL()
* serendipity_archiveURL()
* serendipity_archiveDateUrl()
* serendipity_maxfileuploadsize()
* serendipity_fetchAuthor()
* serendipity_parseFileName()
* serendipity_authenticate_author()
* serendipity_track_referrer()
* serendipity_track_referrer_gc()
* serendipity_track_url()
* serendipity_displayTopReferrers()
* serendipity_displayTopExits()
* serendipity_displayTopUrlList()
* serendipity_discover_rss()
* serendipity_isResponseClean()
* serendipity_printLogin()
Moved functions:
------------------------------------------------------------------------
serendipity_saveTemplateSelection()
-> OBSOLETE
serendipity_importWP()
-> ./include/admin/rss_exchange.inc.php
serendipity_importMT()
-> ./include/admin/rss_exchange.inc.php
serendipity_load_configuration()
-> ./include/functions_config.inc.php
Removed files:
------------------------------------------------------------------------
./serendipity.inc.php
./serendipity_layout.inc.php
./serendipity_layout_table.inc.php
Moved/Renamed files:
------------------------------------------------------------------------
./serendipity_entries_overview.inc.php
-> ./include/admin/entries_overview.inc.php
./serendipity_rss_exchange.inc.php
-> ./include/admin/rss_exchange.inc.php
./serendipity_admin_category.inc.php
-> ./include/admin/category.inc.php
./serendipity_admin_comments.inc.php
-> ./include/admin/comments.inc.php
./serendipity_admin_entries.inc.php
-> ./include/admin/entries.inc.php
./serendipity_admin_images.inc.php
-> ./include/admin/images.inc.php
./serendipity_admin_installer.inc.php
-> ./include/admin/installer.inc.php
./serendipity_admin_interop.inc.php
-> ./include/admin/interop.inc.php
./serendipity_admin_overview.inc.php
-> ./include/admin/overview.inc.php
./serendipity_admin_plugins.inc.php
-> ./include/admin/plugins.inc.php
./serendipity_admin_templates.inc.php
-> ./include/admin/templates.inc.php
./serendipity_admin_upgrader.inc.php
-> ./include/admin/upgrader.inc.php
./serendipity_admin_users.inc.php
-> ./include/admin/users.inc.php
./compat.php
-> ./include/compat.inc.php
./serendipity_functions_config.inc.php
-> ./include/functions_config.inc.php
./serendipity_functions_images.inc.php
-> ./include/functions_images.inc.php
./serendipity_functions_installer.inc.php
-> ./include/functions_installer.inc.php
./serendipity_genpage.inc.php
-> ./include/genpage.inc.php
./serendipity_lang.inc.php
-> ./include/lang.inc.php
./serendipity_plugin_api.php
-> ./include/plugin_api.inc.php
./serendipity_sidebar_items.php
-> ./include/plugin_internal.inc.php
./serendipity_db.inc.php
-> ./include/db/db.inc.php
./serendipity_db_mysql.inc.php
-> ./include/db/mysql.inc.php
./serendipity_db_mysqli.inc.php
-> ./include/db/mysqli.inc.php
./serendipity_db_postgres.inc.php
-> ./include/db/postgres.inc.php
./serendipity_db_sqlite.inc.php
-> ./include/db/sqlite.inc.php
./htaccess.cgi.errordocs.tpl
-> ./include/tpl/htaccess_cgi_errordocs.tpl
./htaccess.cgi.normal.tpl
-> ./include/tpl/htaccess_cgi_normal.tpl
./htaccess.cgi.rewrite.tpl
-> ./include/tpl/htaccess_cgi_rewrite.tpl
./htaccess.errordocs.tpl
-> ./include/tpl/htaccess_errordocs.tpl
./htaccess.normal.tpl
-> ./include/tpl/htaccess_normal.tpl
./htaccess.rewrite.tpl
-> ./include/tpl/htaccess_rewrite.tpl
./serendipity_config_local.tpl
-> ./include/tpl/config_local.tpl
./serendipity_config_user.tpl
-> ./include/tpl/config_user.tpl
./INSTALL
-> ./docs/INSTALL
./LICENSE
-> ./docs/LICENSE
./NEWS
-> ./docs/NEWS
./README
-> ./docs/README
./TODO
-> ./docs/TODO
./upgrade.sh
-> ./docs/upgrade.sh
-6
View File
@@ -1,6 +0,0 @@
###########################
# INSTALLING SERENDIPITY #
###########################
Please go to http://www.s9y.org/55.html to view instructions for the embedded installation.
-5
View File
@@ -1,5 +0,0 @@
###########################
# INSTALLING SERENDIPITY #
###########################
Please go to http://www.s9y.org/41.html to view the installation guide for Shared Installations.
+183 -3390
View File
File diff suppressed because it is too large Load Diff
+3271 -2
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,2 +1,2 @@
stable:1.6
beta:1.6
stable:2.0.1
beta:2.0.1
-5
View File
@@ -1,5 +0,0 @@
########################################################################
# UPDATING #
########################################################################
FOR UP TO DATE INFORMATION PLEASE REFER TO http://www.s9y.org
-188
View File
@@ -1,188 +0,0 @@
#!/bin/sh
# File: serendipity_safe_upgrade.sh
# Author: Jez Hancock
#
# Description:
# This shell script performs a backup of the serendipity MySQL database and
# files prior to upgrading from one version to another.
echo "This bash file is out of date and does not respect the new directory structure, templates and compiled templates. It needs to be fixed, so if you don't know how to do bash scripting, please don't use this file. Use the web-based installer instead. If you DO want to make this file work, make sure you sure know how to do it. :-)";
exit;
########################################################################
# Configuration options start
########################################################################
# Change this to the IP address from which you will be updgrading the blog from
# in a browser. This IP address will be used in a .htaccess file to restrict
# access during the upgrade process:
ip=192.168.0.1
# Change this to the directory containing the current serendipity web files:
blog_dir=/usr/local/www/htdocs/serendipity
# Change this to the directory containing the new serendipity web files:
# This should be the directory containing the cvs version of s9y or the s9y
# tarball contents:
import_dir=/home/username/serendipity
# Change this to the directory you wish your weblog files and database to be
# backed up to. A subdirectory 's9y.YYYYMMDD' will be created under here into
# which a tarball will be created containing the backed up webfiles and
# database.
# For example if your backup_dir is set to '/home/user/backup', a directory
# called '/home/user/backup/serendipity.20040406' will be created to contain
# the backup tarball 'serendipity_backup.tar.gz' and the backup database file
# 'serendipity_backup.sql'.
# Note if the backup directory already contains a backup from the current day,
# the script will exit without doing anything.
backup_dir=/home/username/backup
# Change this to match your database user/name. Note you will be prompted for
# your password on the commandline.
db_name="serendipity"
db_user="serendipity"
########################################################################
# Configuration options end
# You should not need to modify anything below here!
########################################################################
ok() {
echo "[OK]" ; echo ""
}
nl() {
echo ""
}
# the date ... ymd=20040331 etc ... used in backup
ymd=`date "+%Y%m%d"`
# Our backup directory:
backup_dir=$backup_dir/serendipity.$ymd
# if the backup dir exists already, exit gracefully:
if [ -d $backup_dir ];then
echo "$backup_dir already exists - exiting."
exit
fi
# make backup dir:
echo "Creating backup directory:"
nl
echo "$backup_dir"
mkdir $backup_dir && ok || \
echo "Could not create $backup_dir - exiting."
# backup current weblog to a tarball in the backup dir:
echo "Backing up weblog files from:"
nl
echo "$blog_dir"
nl
echo "to the tarball:"
nl
echo "$backup_dir/serendipity_backup.tar.gz"
set `echo "$blog_dir" | sed -e 's,\(.*\)/\(.*\),\1 \2,'`
tar zcf $backup_dir/serendipity_backup.tar.gz -C $1 $2 && ok
echo "Backing up database $db_name to file:"
nl
echo "$backup_dir/serendipity_backup.sql"
nl
echo -n "MySQL user $db_user - "
mysqldump -u$db_user -p $db_name > $backup_dir/serendipity_backup.sql \
&& ok
# make backup dir safe:
echo "Changing perms on $backup_dir to 700"
chmod 700 $backup_dir && ok
# move current blogdir out of way:
echo "Moving:"
nl
echo "$blog_dir"
nl
echo "to:"
nl
echo "$blog_dir.$ymd"
mv $blog_dir $blog_dir.$ymd && ok
# now copy in the new files:
echo "Copying files from:"
nl
echo "$import_dir"
nl
echo "to:"
nl
echo "$blog_dir"
cp -R $import_dir $blog_dir && ok
# check if a .htaccess file exists in old blog dir - if so copy over:
if [ -f "$blog_dir.$ymd/.htaccess" ]; then
cp $blog_dir.$ymd/.htaccess $blog_dir
fi
# allow only our ip during upgrade - remember to remove these lines
# after you've finished updating!:
echo "Adding .htaccess directives to restrict browser access to blog to $ip"
echo "during upgrade process"
exec >> $blog_dir/.htaccess
echo "deny from all"
echo "allow from $ip"
echo 'ErrorDocument 403 "Upgrading, please check back soon!!!'
exec > /dev/tty
ok
# copy old uploads folder over:
if [ -d $blog_dir.$ymd/uploads ];then
echo "Copying old uploads folder from:"
nl
echo "$blog_dir.$ymd/uploads"
nl
echo "to:"
nl
echo "$blog_dir/uploads"
cp -R $blog_dir.$ymd/uploads $blog_dir/uploads && ok
fi
# most importantly don't forget the local config file - this is checked
# to see whether or not your current config setup needs upgrading or
# not:
echo "Copying $blog_dir.$ymd/serendipity_config_local.inc.php to $blog_dir"
cp $blog_dir.$ymd/serendipity_config_local.inc.php $blog_dir \
&& ok
echo "########################################################################"
echo "Important!"
echo "########################################################################"
echo "Backup is now complete. Continue to upgrade your serendipity"
echo "installation by browsing to it in a web browser - you will be prompted"
echo "with instructions from there."
nl
echo "After completing the upgrade via a browser, remember to remove the lines"
echo "starting:"
nl
echo "deny from all"
echo "allow from $ip"
echo "ErrorDocument 403 ..."
nl
echo "from the .htaccess file:"
nl
echo "$blog_dir/.htaccess"
nl
nl
echo "A copy of the original serendipity web folder can be found here:"
nl
echo "$blog_dir.$ymd"
nl
echo "After confirming the upgrade was successful, you can safely remove"
echo "this directory."
# This is the place to do any custom backup stuff - for example I have various
# directory structures that I copy from my blog base directory, a few custom
# plugins I copy, etc etc.
# ...
# Uncomment/modify the following line if you run the server:
#chown -R www:www $blog_dir && chmod 600 $blog_dir/serendipity_config_local.inc.php
@@ -1,6 +1,5 @@
/**
* @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
* @license Serendipity (s9y.org)
*/
CKEDITOR.dialog.add( 'cheatsheet', function( editor ) {
@@ -17,7 +16,7 @@ CKEDITOR.dialog.add( 'cheatsheet', function( editor ) {
padding: 0,
elements: [{
type: 'html',
html: '<h1>Keyboard Shortcuts</h1>blahblah'
html: '<h1>Keyboard Shortcuts</h1>'
}]
}],
buttons: [ CKEDITOR.dialog.cancelButton ]
@@ -1,10 +1,9 @@
/**
* @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
* @license Serendipity (s9y.org)
*/
/**
* @fileOverview A Serendipity CKE-Cheatsheet plugin: cheatsheet, v. 1.2 - 2014-09-02
* @fileOverview A Serendipity CKE-Cheatsheet plugin: cheatsheet, v. 1.2 - 2015-01-28
*/
CKEDITOR.plugins.add( 'cheatsheet', {
+16 -16
View File
@@ -60,7 +60,7 @@ switch ($serendipity['GET']['adminAction']) {
$messages = array();
$data['case_do_delete'] = true;
$messages[] = serendipity_deleteImage($serendipity['GET']['fid']);
$messages[] = sprintf(RIP_ENTRY, $serendipity['GET']['fid']);
$messages[] = sprintf('<span class="msg_notice"><span class="icon-info-circled"></span> ' . RIP_ENTRY . '</span>', $serendipity['GET']['fid']);
$data['showML'] = showMediaLibrary();
$data['messages'] = $messages;
@@ -81,7 +81,7 @@ switch ($serendipity['GET']['adminAction']) {
if ($id > 0) {
$image = serendipity_fetchImageFromDatabase($id);
$messages[] = serendipity_deleteImage((int)$id);
$messages[] = sprintf(RIP_ENTRY, $image['id'] . ' - ' . serendipity_specialchars($image['realname']));
$messages[] = sprintf('<span class="msg_notice"><span class="icon-info-circled"></span> ' . RIP_ENTRY . '</span>', $image['id'] . ' - ' . serendipity_specialchars($image['realname']));
}
}
$data['showML'] = showMediaLibrary();
@@ -166,7 +166,7 @@ switch ($serendipity['GET']['adminAction']) {
break;
}
$messages[] = '<span class="image_add">' . ADDING_IMAGE . '</span>';
$messages[] = '<span class="msg_notice"><span class="icon-info-circled"></span> ' . ADDING_IMAGE . '</span>';
$authorid = (isset($serendipity['POST']['all_authors']) && $serendipity['POST']['all_authors'] == 'true') ? '0' : $serendipity['authorid'];
@@ -192,7 +192,7 @@ switch ($serendipity['GET']['adminAction']) {
$tfile = serendipity_uploadSecure(basename($tfile));
if (serendipity_isActiveFile($tfile)) {
$messages[] = sprintf(ERROR_FILE_FORBIDDEN, $tfile);
$messages[] = sprintf('<span class="msg_error"><span class="icon-attention-circled"></span> ' . ERROR_FILE_FORBIDDEN . '</span>', $tfile);
break;
}
@@ -200,13 +200,13 @@ switch ($serendipity['GET']['adminAction']) {
$target = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $serendipity['POST']['target_directory'][$tindex] . $tfile;
if (!serendipity_checkDirUpload($serendipity['POST']['target_directory'][$tindex])) {
$messages[] = PERM_DENIED;
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . PERM_DENIED . '</span>';
return;
}
$realname = $tfile;
if (file_exists($target)) {
$messages[] = '(' . $target . ') ' . ERROR_FILE_EXISTS_ALREADY . '';
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . $target . ' - ' . ERROR_FILE_EXISTS_ALREADY . '</span>';
$realname = serendipity_imageAppend($tfile, $target, $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $serendipity['POST']['target_directory'][$tindex]);
}
@@ -218,7 +218,7 @@ switch ($serendipity['GET']['adminAction']) {
// Try to get the URL
if (PEAR::isError($req->sendRequest()) || $req->getResponseCode() != '200') {
$messages[] = sprintf(REMOTE_FILE_NOT_FOUND, $serendipity['POST']['imageurl']);
$messages[] = sprintf('<span class="msg_error"><span class="icon-attention-circled"></span> ' . REMOTE_FILE_NOT_FOUND . '</span>', $serendipity['POST']['imageurl']);
} else {
// Fetch file
$fContent = $req->getResponseBody();
@@ -230,14 +230,14 @@ switch ($serendipity['GET']['adminAction']) {
fclose($fp);
$image_id = @serendipity_insertHotlinkedImageInDatabase($tfile, $serendipity['POST']['imageurl'], $authorid, null, $tempfile);
$messages[] = sprintf( HOTLINK_DONE , $serendipity['POST']['imageurl'] , $tfile .'');
$messages[] = sprintf('<span class="msg_success"><span class="icon-ok-circled"></span> ' . HOTLINK_DONE . '</span>', $serendipity['POST']['imageurl'] , $tfile .'');
serendipity_plugin_api::hook_event('backend_image_addHotlink', $tempfile);
} else {
$fp = fopen($target, 'w');
fwrite($fp, $fContent);
fclose($fp);
$messages[] = sprintf(FILE_FETCHED , $serendipity['POST']['imageurl'] , $tfile);
$messages[] = sprintf('<span class="msg_success"><span class="icon-ok-circled"></span> ' . FILE_FETCHED . '</span>', $serendipity['POST']['imageurl'] , $tfile . '');
if (serendipity_checkMediaSize($target)) {
$thumbs = array(array(
@@ -249,7 +249,7 @@ switch ($serendipity['GET']['adminAction']) {
foreach($thumbs as $thumb) {
// Create thumbnail
if ( $created_thumbnail = serendipity_makeThumbnail($tfile, $serendipity['POST']['target_directory'][$tindex], $thumb['thumbSize'], $thumb['thumb']) ) {
$messages[] = THUMB_CREATED_DONE . '';
$messages[] = '<span class="msg_success"><span class="icon-ok-circled"></span> ' . THUMB_CREATED_DONE . '</span>';
}
}
@@ -294,14 +294,14 @@ switch ($serendipity['GET']['adminAction']) {
$tfile = serendipity_uploadSecure(basename($tfile));
if (serendipity_isActiveFile($tfile)) {
$messages[] = ERROR_FILE_FORBIDDEN .' '. $tfile;
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . ERROR_FILE_FORBIDDEN .' '. $tfile . '</span>';
continue;
}
$serendipity['POST']['target_directory'][$idx] = serendipity_uploadSecure($serendipity['POST']['target_directory'][$idx], true, true);
if (!serendipity_checkDirUpload($serendipity['POST']['target_directory'][$idx])) {
$messages[] = PERM_DENIED;
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . PERM_DENIED . '</span>';
continue;
}
@@ -309,13 +309,13 @@ switch ($serendipity['GET']['adminAction']) {
$realname = $tfile;
if (file_exists($target)) {
$messages[] = '(' . $target . ') ' . ERROR_FILE_EXISTS_ALREADY;
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . $target . ' - ' . ERROR_FILE_EXISTS_ALREADY . '</span>';
$realname = serendipity_imageAppend($tfile, $target, $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $serendipity['POST']['target_directory'][$idx]);
}
// Accept file
if (is_uploaded_file($uploadtmp) && serendipity_checkMediaSize($uploadtmp) && move_uploaded_file($uploadtmp, $target)) {
$messages[] = sprintf( FILE_UPLOADED , $uploadfile , $target);
$messages[] = sprintf('<span class="msg_success"><span class="icon-ok-circled"></span> ' . FILE_UPLOADED . '</span>', $uploadfile , $target);
@umask(0000);
@chmod($target, 0664);
@@ -328,7 +328,7 @@ switch ($serendipity['GET']['adminAction']) {
foreach($thumbs as $thumb) {
// Create thumbnail
if ( $created_thumbnail = serendipity_makeThumbnail($tfile, $serendipity['POST']['target_directory'][$idx], $thumb['thumbSize'], $thumb['thumb']) ) {
$messages[] = THUMB_CREATED_DONE;
$messages[] = '<span class="msg_success"><span class="icon-ok-circled"></span> ' . THUMB_CREATED_DONE . '</span>';
}
}
@@ -343,7 +343,7 @@ switch ($serendipity['GET']['adminAction']) {
} else {
// necessary for the ajax-uplaoder to show upload errors
header("Internal Server Error", true, 500);
$messages[] = ERROR_UNKNOWN_NOUPLOAD;
$messages[] = '<span class="msg_error"><span class="icon-attention-circled"></span> ' . ERROR_UNKNOWN_NOUPLOAD . '</span>';
}
}
}
+4 -1
View File
@@ -39,6 +39,7 @@ $bookmarklet = "javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSel
$data['bookmarklet'] = $bookmarklet;
$data['username'] = $user[0]['realname'];
$data['js_failure_file'] = serendipity_getTemplateFile('admin/serendipity_editor.js');
$output = array();
serendipity_plugin_api::hook_event('backend_frontpage_display', $output);
@@ -54,7 +55,7 @@ $data['updateButton'] = $output;
$comments = serendipity_db_query("SELECT c.*, e.title FROM {$serendipity['dbPrefix']}comments c
LEFT JOIN {$serendipity['dbPrefix']}entries e ON (e.id = c.entry_id)
ORDER BY c.id DESC LIMIT 5");
if (count($comments) > 1) {
if (is_array($comments) && count($comments) > 0) {
foreach ($comments as &$comment) {
$comment['entrylink'] = serendipity_archiveURL($comment['entry_id'], 'comments', 'serendipityHTTPPath', true) . '#c' . $comment['id'];
@@ -110,6 +111,8 @@ $data['entries'] = $entries;
$data['urltoken'] = serendipity_setFormToken('url');
$data['token'] = serendipity_setFormToken();
$data['no_create'] = $serendipity['no_create'];
echo serendipity_smarty_show('admin/overview.inc.tpl', $data);
/* vim: set sts=4 ts=4 expandtab : */
+11 -1
View File
@@ -225,21 +225,31 @@ $tasks = array(array('version' => '0.5.1',
'function' => 'serendipity_upgrader_move_syndication_config',
'title' => 'Export syndication plugin options',
'desc' => 'Serendipity 2.0 moved the more generic feed option from the syndication plugin into the core. They will be set equivalent to their old configuration.'),
array('version' => '2.0-beta5',
'function' => 'serendipity_killPlugin',
'arguments' => array('serendipity_event_autosave'),
'title' => 'Remove autosave plugin',
'desc' => 'Serendipity 2.0 includes autosave functionality, and the autosave plugin collides with new functionality. It has to be removed.'),
array('version' => '2.0-beta5',
array('version' => '2.0-beta5',
'function' => 'serendipity_killPlugin',
'arguments' => array('serendipity_event_dashboard'),
'title' => 'Remove dashboard plugin',
'desc' => 'Serendipity 2.0 includes a dashboard in the admin theme. The separate plugin for 1.x has to be removed.'),
array('version' => '2.0-beta6',
'function' => 'serendipity_installFiles',
'title' => 'Update of .htaccess file',
'desc' => 'Changes were made to the .htaccess file to allow for new patterns, it will be recreated. If you manually modified the file, make sure your modification are in place afterwards.'),
array('version' => '2.0.1',
'function' => 'serendipity_removeDeadFiles_SPL',
'title' => 'Removal of obsolete and still resting files in 2.0.0',
'arguments' => array($serendipity['serendipityPath'] . 'htmlarea', $dead_files_rest, array('internals'), true),
'desc' => 'The following dead files will additionally be removed from "/" and "htmlarea".<br /><pre>' . implode(', ', $dead_files_rest) . '</pre>'),
);
/* Fetch SQL files which needs to be run */
+8 -11
View File
@@ -206,7 +206,7 @@ function &serendipity_fetchEntryCategories($entryid) {
*/
function &serendipity_fetchEntries($range = null, $full = true, $limit = '', $fetchDrafts = false, $modified_since = false, $orderby = 'timestamp DESC', $filter_sql = '', $noCache = false, $noSticky = false, $select_key = null, $group_by = null, $returncode = 'array', $joinauthors = true, $joincategories = true, $joinown = null) {
global $serendipity;
$cond = array();
$cond['orderby'] = $orderby;
if (isset($serendipity['short_archives']) && $serendipity['short_archives']) {
@@ -873,13 +873,10 @@ function &serendipity_searchEntries($term, $limit = '', $searchresults = '') {
}
$search = array_merge($searchresults, $search);
}
$p = (int)$serendipity['GET']['page'];
if ($p == 0) $p = 1;
//if * wasn't already appended and if there are none or not enough
//results, search again for entries containing the searchterm as a part
if ($p == 1 && strpos($term, '*') === false && $serendipity['dbType'] != 'sqlite' && $serendipity['dbType'] != 'sqlite3' && $serendipity['dbType'] != 'pdo-sqlite' && $serendipity['dbType'] != 'sqlite3oo') {
if (strpos($term, '*') === false && $serendipity['dbType'] != 'sqlite' && $serendipity['dbType'] != 'sqlite3' && $serendipity['dbType'] != 'pdo-sqlite' && $serendipity['dbType'] != 'sqlite3oo') {
if (! is_array($search)) {
return serendipity_searchEntries($term.'*', $orig_limit);
} else {
@@ -930,8 +927,8 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
if ($totalPages <= 0 ) {
$totalPages = 1;
}
if (!isset($serendipity['GET']['page']) && serendipity_db_bool($serendipity['archiveSortStable'])) {
if (!isset($serendipity['GET']['page']) && serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search') {
$serendipity['GET']['page'] = $totalPages;
} else if (!isset($serendipity['GET']['page'])) {
$serendipity['GET']['page'] = 1;
@@ -947,13 +944,13 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
$uriArguments[] = 'P%s';
$serendipity['smarty']->assign('footer_totalEntries', $totalEntries);
$serendipity['smarty']->assign('footer_totalPages', $totalPages);
if (serendipity_db_bool($serendipity['archiveSortStable'])) {
if (serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search') {
$serendipity['smarty']->assign('footer_currentPage', $totalPages - $serendipity['GET']['page']);
} else {
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
}
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, serendipity_db_bool($serendipity['archiveSortStable']) ? $totalPages - (int)$serendipity['GET']['page'] +1 : (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search' ? $totalPages - (int)$serendipity['GET']['page'] +1 : (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
if ($serendipity['GET']['page'] < $totalPages) {
$uriArguments = $serendipity['uriArguments'];
@@ -961,7 +958,7 @@ function serendipity_printEntryFooter($suffix = '.html', $totalEntries = null) {
$serendipity['smarty']->assign('footer_next_page', serendipity_rewriteURL(str_replace('//', '/', implode('/', $uriArguments)) . $suffix));
}
if (serendipity_db_bool($serendipity['archiveSortStable'])) {
if (serendipity_db_bool($serendipity['archiveSortStable']) && $serendipity['GET']['action'] != 'search') {
$temp = $serendipity['smarty']->getTemplateVars('footer_prev_page');
$serendipity['smarty']->assign('footer_prev_page', $serendipity['smarty']->getTemplateVars('footer_next_page'));
$serendipity['smarty']->assign('footer_next_page', $temp);
+27 -26
View File
@@ -322,7 +322,7 @@ function serendipity_deleteImage($id) {
$file = serendipity_fetchImageFromDatabase($id);
if (!is_array($file)) {
$messages .= sprintf(FILE_NOT_FOUND . ' ', $id);
$messages .= sprintf('<span class="msg_error"><span class="icon-attention-circled"></span> ' . FILE_NOT_FOUND . '</span>', $id);
//return false;
} else {
@@ -344,9 +344,9 @@ function serendipity_deleteImage($id) {
if (!$file['hotlink']) {
if (file_exists($serendipity['serendipityPath'] . $serendipity['uploadPath'] . $dFile)) {
if (@unlink($serendipity['serendipityPath'] . $serendipity['uploadPath'] . $dFile)) {
$messages .= sprintf(DELETE_FILE . ' ', $dFile);
$messages .= sprintf('<span class="msg_success"><span class="icon-ok-circled"></span> ' . DELETE_FILE . '</span>', $dFile);
} else {
$messages .= sprintf(DELETE_FILE_FAIL . ' ', $dFile);
$messages .= sprintf('<span class="msg_error"><span class="icon-attention-circled"></span> ' . DELETE_FILE_FAIL . '</span>', $dFile);
}
serendipity_plugin_api::hook_event('backend_media_delete', $dThumb);
@@ -355,14 +355,14 @@ function serendipity_deleteImage($id) {
$dfThumb = $serendipity['serendipityPath'] . $serendipity['uploadPath'] . $dfnThumb;
if (@unlink($dfThumb)) {
$messages .= sprintf(DELETE_THUMBNAIL . ' ', $dfnThumb);
$messages .= sprintf('<span class="msg_success"><span class="icon-ok-circled"></span> ' . DELETE_THUMBNAIL . '</span>', $dfnThumb);
}
}
} else {
$messages .= sprintf(FILE_NOT_FOUND . ' ', $dFile);
$messages .= sprintf('<span class="msg_error"><span class="icon-attention-circled"></span> ' . FILE_NOT_FOUND . '</span>', $dFile);
}
} else {
$messages .= sprintf(DELETE_HOTLINK_FILE . ' ', $file['name']);
$messages .= sprintf('<span class="msg_hint"><span class="icon-help-circled"></span> ' . DELETE_HOTLINK_FILE . '</span>', $file['name']);
}
serendipity_db_query("DELETE FROM {$serendipity['dbPrefix']}images WHERE id = ". (int)$id);
@@ -1669,16 +1669,18 @@ function serendipity_displayImageList($page = 0, $lineBreak = NULL, $manage = fa
/**
* Generate the url-parameters needed when generating the ML to select an image to add to the editor, to store the relevant options (like which textare to add it to)
* Generate the url-parameters needed when generating the ML to select an image to add to the editor, to store the relevant options (like which textarea to add it to)
*
*/
function serendipity_generateImageSelectorParems() {
global $serendipity;
$sortParams = array('perpage', 'order', 'ordermode');
$importParams = array('adminModule', 'htmltarget', 'filename_only', 'textarea', 'subpage', 'keywords', 'noBanner', 'noSidebar', 'noFooter', 'showUpload','showMediaToolbar');
$extraParems = '';
$sortParams = array('perpage', 'order', 'ordermode');
$importParams = array('adminModule', 'htmltarget', 'filename_only', 'textarea', 'subpage', 'keywords', 'noBanner', 'noSidebar', 'noFooter', 'showUpload','showMediaToolbar');
$extraParems = '';
$filterParams = $serendipity['GET']['filter'] ?: array(); // ?: elvis operator, see http://en.wikipedia.org/wiki/Elvis_operator and upcoming PHP 7 ?? (isset) operator
$standaloneFilterParams = array('only_path', 'only_filename');
$filterParams = $serendipity['GET']['filter'] ?: array();
foreach($importParams AS $importParam) {
if (isset($serendipity['GET'][$importParam])) {
@@ -1752,7 +1754,6 @@ function serendipity_isImage(&$file, $strict = false, $allowed = 'image/') {
* @return true
*/
function serendipity_killPath($basedir, $directory = '', $forceDelete = false) {
static $n = "<br />\n";
static $serious = true;
if ($handle = @opendir($basedir . $directory)) {
@@ -1768,18 +1769,18 @@ function serendipity_killPath($basedir, $directory = '', $forceDelete = false) {
@closedir($handle);
echo '<span class="msg_notice"><span class="icon-info-circled"></span> ';
printf(CHECKING_DIRECTORY . "<br />\n", $directory);
echo "</span>\n";
printf(CHECKING_DIRECTORY, $directory);
echo "</span>";
// No, we just don't kill files the easy way. We sort them out properly from the database
// and preserve files not entered therein.
$files = serendipity_fetchImagesFromDatabase(0, 0, $total, false, false, $directory);
if (is_array($files)) {
echo "<ul>\n";
echo "<ul class='plainList'>\n";
foreach($files AS $f => $file) {
echo "<li>\n";
if ($serious) {
serendipity_deleteImage($file['id']);
echo serendipity_deleteImage($file['id']);
} else {
echo $file['name'] . (empty($file['extension']) ? '' : '.' . $file['extension']);
}
@@ -1793,17 +1794,17 @@ function serendipity_killPath($basedir, $directory = '', $forceDelete = false) {
if (count($filestack) > 0) {
if ($forceDelete) {
echo "<ul>\n";
echo "<ul class='plainList'>\n";
foreach($filestack AS $f => $file) {
if ($serious && @unlink($basedir . $file)) {
printf('<li>' . DELETING_FILE . $n . DONE . "</li>\n", $file);
printf('<li><span class="msg_success"><span class="icon-ok-circled"></span> ' . DELETING_FILE . ' ' . DONE . "</span></li>\n", $file);
} else {
printf('<li>' . DELETING_FILE . $n . ERROR . "</li>\n", $file);
printf('<li><span class="msg_error"><span class="icon-attention"></span> ' . DELETING_FILE . ' ' . ERROR . "</span></li>\n", $file);
}
}
echo "</ul>\n";
} else {
echo ERROR_DIRECTORY_NOT_EMPTY . $n;
echo '<span class="msg_error"><span class="icon-attention"></span> ' . ERROR_DIRECTORY_NOT_EMPTY . '</span>';
echo "<ul>\n";
foreach($filestack AS $f => $file) {
echo '<li>' . $file . "</li>\n";
@@ -1813,13 +1814,13 @@ function serendipity_killPath($basedir, $directory = '', $forceDelete = false) {
}
if ($serious && !empty($directory) && !preg_match('@^.?/?$@', $directory) && @rmdir($basedir . $directory)) {
echo '<span class="msg_success"><span class="icon-ok-circled"></span> <strong>';
printf(DIRECTORY_DELETE_SUCCESS . $n, $directory);
echo "</strong></span>\n";
echo '<span class="msg_success"><span class="icon-ok-circled"></span> ';
printf(DIRECTORY_DELETE_SUCCESS, $directory);
echo "</span>\n";
} else {
echo '<span class="msg_error"><span class="icon-attention"></span> <strong>';
printf(DIRECTORY_DELETE_FAILED . $n, $directory);
echo "</strong></span>\n";
echo '<span class="msg_error"><span class="icon-attention"></span> ';
printf(DIRECTORY_DELETE_FAILED, $directory);
echo "</span>\n";
}
}
+14 -2
View File
@@ -962,6 +962,7 @@ function serendipity_smarty_init($vars = array()) {
$serendipity['smarty']->registerPlugin('modifier', 'checkPermission', 'serendipity_checkPermission');
$serendipity['smarty']->registerPlugin('modifier', 'serendipity_refhookPlugin', 'serendipity_smarty_refhookPlugin');
$serendipity['smarty']->registerPlugin('modifier', 'serendipity_html5time', 'serendipity_smarty_html5time');
$serendipity['smarty']->registerPlugin('modifier', 'rewriteURL', 'serendipity_rewriteURL');
$serendipity['smarty']->registerPlugin('function', 'serendipity_printSidebar', 'serendipity_smarty_printSidebar');
$serendipity['smarty']->registerPlugin('function', 'serendipity_hookPlugin', 'serendipity_smarty_hookPlugin');
@@ -1188,8 +1189,10 @@ function serendipity_smarty_shutdown($serendipity_directory = '') {
* Render a smarty-template
* $template: path to the template-file
* $data: map with the variables to assign
* $debugtype: If set, debug string is prepended. Can be set to HTML or JS.
* $debug: Possible debug string that is prepended to output
*/
function serendipity_smarty_show($template, $data = null) {
function serendipity_smarty_show($template, $data = null, $debugtype = null, $debug = null) {
global $serendipity;
if (!is_object($serendipity['smarty'])) {
@@ -1198,5 +1201,14 @@ function serendipity_smarty_show($template, $data = null) {
$serendipity['smarty']->assign($data);
return $serendipity['smarty']->fetch(serendipity_getTemplateFile($template, 'serendipityPath'));
$tplfile = serendipity_getTemplateFile($template, 'serendipityPath');
if ($debug !== null) {
if ($debugtype == "HTML") {
$debug = "<!-- Dynamically fetched " . htmlspecialchars($tplfile) . " on " . date('Y-m-d H:i') . ", called from: " . $debug . " -->\n";
} else {
$debug = "/* Dynamically fetched " . htmlspecialchars($tplfile) . " on " . date('Y-m-d H:i') . ", called from: " . $debug . " */\n";
}
}
return $debug . $serendipity['smarty']->fetch($tplfile);
}
+16
View File
@@ -155,6 +155,22 @@ $dead_htmlarea_dirs = array(
$serendipity['serendipityPath'] . 'htmlarea/ckeditor/samples'
);
/* A list of old Serendipity files which were not marked obsolet with 2.0.0 upgrade before - now 2.0.1 */
$dead_files_rest = array(
'serendipity_editor.js',
'serendipity_define.js.php',
'deployment/serendipity_editor.js',
'deployment/serendipity_define.js.php',
'docs/CHANGED_FILES',
'docs/INSTALL_EMBEDED',
'docs/INSTALL_SHARED',
'docs/UPGRADE',
'docs/upgrade.sh',
'htmlarea/ChangeLog',
'htmlarea/dialog.js',
'htmlarea/release-notes.html'
);
/**
* recursive directory call to purge files and directories
*
+1 -1
View File
@@ -88,7 +88,7 @@ function errorHandlerCreateDOM(htmlStr) {
header('Content-Type: application/javascript');
global $serendipity;
echo serendipity_smarty_show('admin/serendipity_editor.js.tpl');
echo serendipity_smarty_show('admin/serendipity_editor.js.tpl', null, 'JS', 'include/plugin_api.inc.php:external_plugin');
break;
}
break;
+3
View File
@@ -139,3 +139,6 @@ foreach($const['missing'] AS $file => $constants) {
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1081,3 +1081,6 @@ $i18n_filename_to = array('-', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1119,3 +1119,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1119,3 +1119,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1088,3 +1088,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'Keine Tags');
@define('DASHBOARD_ENTRIES', 'In Vorbereitung');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1090,3 +1090,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1107,3 +1107,6 @@ Melvin TODO [20060128]: What spanish word do we use for "referrers" ??
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1096,3 +1096,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1087,3 +1087,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1092,3 +1092,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1087,3 +1087,6 @@ $i18n_filename_to = array('_', 'a', 'A', 'a', 'A', 'b', 'B', 'c', 'C', 'c', 'C
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
@@ -1100,3 +1100,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1090,3 +1090,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1092,3 +1092,6 @@ $i18n_filename_to = array('_', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1008,3 +1008,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1079,3 +1079,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1088,3 +1088,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@ $i18n_unknown = 'tw';
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1094,3 +1094,6 @@ $i18n_unknown = 'tw';
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+1 -1
View File
@@ -8,7 +8,7 @@ if [ "x$1" = "x" ]
echo "available language file."
exit 1
else
find -maxdepth 1 -name \*.php -exec ./append.sh $1 {} \;
find . -maxdepth 1 -name \*.php -exec ./append.sh $1 {} \;
cd UTF-8
./recode.sh
fi
+1 -2
View File
@@ -1,3 +1,2 @@
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
+3
View File
@@ -139,3 +139,6 @@ foreach($const['missing'] AS $file => $constants) {
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1081,3 +1081,6 @@ $i18n_filename_to = array('-', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1119,3 +1119,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1119,3 +1119,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1088,3 +1088,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'Keine Tags');
@define('DASHBOARD_ENTRIES', 'In Vorbereitung');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1090,3 +1090,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1107,3 +1107,6 @@ Melvin TODO [20060128]: What spanish word do we use for "referrers" ??
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1096,3 +1096,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1087,3 +1087,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1092,3 +1092,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1091,3 +1091,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1087,3 +1087,6 @@ $i18n_filename_to = array('_', 'a', 'A', 'a', 'A', 'b', 'B', 'c', 'C', 'c', 'C
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1100,3 +1100,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1090,3 +1090,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1092,3 +1092,6 @@ $i18n_filename_to = array('_', 'a', 'A', 'b', 'B', 'v', 'V', 'g', 'G', 'd', 'D
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1008,3 +1008,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1079,3 +1079,6 @@ $i18n_filename_to = array (
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1088,3 +1088,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@ $i18n_unknown = 'tw';
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1093,3 +1093,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1094,3 +1094,6 @@ $i18n_unknown = 'tw';
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
+3
View File
@@ -1089,3 +1089,6 @@
@define('PUBLISH_NOW', 'Publish this entry now (sets current time and date)');
@define('EDITOR_TAGS', 'Tags');
@define('EDITOR_NO_TAGS', 'No tags');
@define('DASHBOARD_ENTRIES', 'In Progress');
@define('JS_FAILURE', 'The Serendipity JavaScript-library could not be loaded. This can happen due to PHP or Plugin errors, or even a malformed browser cache. To check the exact error please open <a href="%1$s">%1$s</a> manually in your browser and check for error messages.');
@@ -0,0 +1,24 @@
1.8:
-----
* Fix fetching custom theme based emoticons
for 2.0 backend views
* Extends the plugins example description
* Add custom copy emoticons.inc.php file example
UPGRADE NOTES:
Due to a changed fallback behaviour in Serendipity 2.0+
for frontend and backend templates you need to this:
If you already have you own emoticons.inc.php file, living
in /templates/yourTemplate/*, you need to change all occurrences
of
serendipity_getTemplateFile('img/emoticons/yoursmiley.png')
to
serendipity_getTemplateFile('img/emoticons/yoursmiley.png', 'serendipityHTTPPath', true)
The distinction of Backend and Frontend themes in Serendipity 2.0 will try
to search for a file in the backend-directory of a theme,
or use the default template (which currently is 2k11),
because backend screens live normally in a themes /admin directory,
not in other frontends.
@@ -1,7 +1,10 @@
<?php #
<?php
@define('PLUGIN_EVENT_EMOTICATE_NAME', 'Textformatierung: Smilies');
@define('PLUGIN_EVENT_EMOTICATE_DESC', 'Standard Text-Smilies in Grafiken konvertieren');
@define('PLUGIN_EVENT_EMOTICATE_TRANSFORM', 'Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.');
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION', 'Dateinamenerweiterung');
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION_BLAHBLAH', 'Die Dateinamenerweiterung der Emoticons. Groß-/Kleinschreibung beachten.');
@define('PLUGIN_EVENT_EMOTICATE_EXAMPLE_EXTEND_DESC', 'Dieses Plugin ist erweiterbar, in dem man dem eigenen Theme eigene emoticon Vorlagen in "/templates/yourTheme/img/emoticons/*" und zusätzlich sogar eine Konfigurations Datei "emoticons.inc.php" dem eigenen Theme Basisordner hinzufügt. Eine kopierbare <a href="%s" target="_blank">Beispiel-Datei</a> ist diesem Plugin Ordner zugefügt. Das zusätzliche serendipity_event_emoticonchooser Plugin erweitert die möglichen Stellen der Benutzung um die definierte Liste aller Emoticons als klickbare Emoticons.');
@@ -0,0 +1,71 @@
<?php
/** Custom emoticons.inc.php file example. Remove this DEMO file ".txt" extension.
Rewrite to your own needs and place this file in your own template directory base.
This needs to correspond with the emoticon images placed in "/templates/yourTemplate/img/emoticons/*".
Keep in mind that some smileys you can find in the internet are restricted in license!
Add Notes of what is what for your own custom_emoticons_regexp ;-)
:anger: = anger - 8-) = cool - :'( = cry
:-O = eek - :grmpf: = grmpf - :grrr: = grrr
:haha: = haha - :) = happy - :hero: = hero
:ko: = ko - :-D = laugh
:-| = normal - :-( = sad - :safe: = safe
:$ = shame - :-) = smile - :still: = still
:-P = tongue - :( = unhappy - :o: = whistle - ;-) = wink
. . . etc
*/
$serendipity['custom_emoticons_regexp'] = true;
$serendipity['custom_emoticons'] = array(
"\:'\(" => serendipity_getTemplateFile('img/emoticons/cry.png', 'serendipityHTTPPath', true),
'\:\-?\)' => serendipity_getTemplateFile('img/emoticons/smile.png', 'serendipityHTTPPath', true),
'\:\-?\|' => serendipity_getTemplateFile('img/emoticons/normal.png', 'serendipityHTTPPath', true),
'\:\-?O' => serendipity_getTemplateFile('img/emoticons/eek.png', 'serendipityHTTPPath', true),
'\:\-?\(' => serendipity_getTemplateFile('img/emoticons/sad.png', 'serendipityHTTPPath', true),
'8\-?\)' => serendipity_getTemplateFile('img/emoticons/cool.png', 'serendipityHTTPPath', true),
'\:\-?D' => serendipity_getTemplateFile('img/emoticons/laugh.png', 'serendipityHTTPPath', true),
'\:\-?P' => serendipity_getTemplateFile('img/emoticons/tongue.png', 'serendipityHTTPPath', true),
';\-?\)' => serendipity_getTemplateFile('img/emoticons/wink.png', 'serendipityHTTPPath', true),
'\:anger\:' => serendipity_getTemplateFile('img/emoticons/anger.png', 'serendipityHTTPPath', true),
'\:\$' => serendipity_getTemplateFile('img/emoticons/shame.png', 'serendipityHTTPPath', true),
'\:grmpf\:' => serendipity_getTemplateFile('img/emoticons/grmpf.png', 'serendipityHTTPPath', true),
'\:grrr\:' => serendipity_getTemplateFile('img/emoticons/grrr.png', 'serendipityHTTPPath', true),
'\:haha\:' => serendipity_getTemplateFile('img/emoticons/haha.png', 'serendipityHTTPPath', true),
'\:\)' => serendipity_getTemplateFile('img/emoticons/happy.png', 'serendipityHTTPPath', true),
'\:hero\:' => serendipity_getTemplateFile('img/emoticons/hero.png', 'serendipityHTTPPath', true),
'\:ko\:' => serendipity_getTemplateFile('img/emoticons/ko.png', 'serendipityHTTPPath', true),
'\:safe\:' => serendipity_getTemplateFile('img/emoticons/safe.png', 'serendipityHTTPPath', true),
'\:still\:' => serendipity_getTemplateFile('img/emoticons/still.png', 'serendipityHTTPPath', true),
'\:\(' => serendipity_getTemplateFile('img/emoticons/unhappy.png', 'serendipityHTTPPath', true),
'\:o\:' => serendipity_getTemplateFile('img/emoticons/whistle.png', 'serendipityHTTPPath', true),
);
?>
@@ -1,7 +1,10 @@
<?php #
<?php
@define('PLUGIN_EVENT_EMOTICATE_NAME', 'Textformatierung: Smilies');
@define('PLUGIN_EVENT_EMOTICATE_DESC', 'Standard Text-Smilies in Grafiken konvertieren');
@define('PLUGIN_EVENT_EMOTICATE_TRANSFORM', 'Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.');
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION', 'Dateinamenerweiterung');
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION_BLAHBLAH', 'Die Dateinamenerweiterung der Emoticons. Groß-/Kleinschreibung beachten.');
@define('PLUGIN_EVENT_EMOTICATE_EXAMPLE_EXTEND_DESC', 'Dieses Plugin ist erweiterbar, in dem man dem eigenen Theme eigene emoticon Vorlagen in "/templates/yourTheme/img/emoticons/*" und zusätzlich sogar eine Konfigurations Datei "emoticons.inc.php" dem eigenen Theme Basisordner hinzufügt. Eine kopierbare <a href="%s" target="_blank">Beispiel-Datei</a> ist diesem Plugin Ordner zugefügt. Das zusätzliche serendipity_event_emoticonchooser Plugin erweitert die möglichen Stellen der Benutzung um die definierte Liste aller Emoticons als klickbare Emoticons.');
@@ -1,4 +1,4 @@
<?php #
<?php
/**
* @version
@@ -12,3 +12,5 @@
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION', 'File extension');
@define('PLUGIN_EVENT_EMOTICATE_EXTENSION_BLAHBLAH', 'The file extension of your emoticons. This is case sensitive.');
@define('PLUGIN_EVENT_EMOTICATE_EXAMPLE_EXTEND_DESC', 'You may extend this by your own added emoticon images in "/templates/yourTheme/img/emoticons/*" and furthermore even with a configuration file "emoticons.inc.php" added to your themes root. A copy example of this <a href="%s" target="_blank">file</a> is added in this plugin directory here. The additional serendipity_event_emoticonchooser plugin extends this to get a clickable list of alle defined emoticons where possible.');
@@ -1,4 +1,4 @@
<?php #
<?php
@serendipity_plugin_api::load_language(dirname(__FILE__));
@@ -14,15 +14,18 @@ class serendipity_event_emoticate extends serendipity_event
$propbag->add('description', PLUGIN_EVENT_EMOTICATE_DESC);
$propbag->add('stackable', false);
$propbag->add('author', 'Serendipity Team');
$propbag->add('version', '1.7');
$propbag->add('version', '1.8');
$propbag->add('requirements', array(
'serendipity' => '0.8',
'smarty' => '2.6.7',
'php' => '5.2.0'
));
$propbag->add('groups', array('MARKUP'));
$propbag->add('cachable_events', array('frontend_display' => true));
$propbag->add('event_hooks', array('frontend_display' => true, 'frontend_comment' => true, 'css_backend' => true, 'css' => true));
$propbag->add('cachable_events', array( 'frontend_display' => true) );
$propbag->add('event_hooks', array( 'frontend_display' => true,
'frontend_comment' => true,
'css_backend' => true,
'css' => true));
$this->markup_elements = array(
array(
@@ -70,7 +73,7 @@ class serendipity_event_emoticate extends serendipity_event
}
/* Hijack global variable $serendipity['custom_emoticons'] if it exists */
$hijack_file = serendipity_getTemplateFile('emoticons.inc.php', 'serendipityPath');
$hijack_file = serendipity_getTemplateFile('emoticons.inc.php', 'serendipityPath', true);
if (@file_exists($hijack_file)) {
@include $hijack_file; // This file contains $serendipity['custom_emoticons'] and maybe $serendipity['custom_emoticons_regexp']
if (isset($serendipity['custom_emoticons']) && is_array($serendipity['custom_emoticons'])) {
@@ -87,23 +90,23 @@ class serendipity_event_emoticate extends serendipity_event
if (!isset($this->smilies)) {
$ext = $this->get_config('extension', 'png');
$this->smilies = array(
"\:'\(" => serendipity_getTemplateFile('img/emoticons/cry.'.$ext),
"\:'\(" => serendipity_getTemplateFile('img/emoticons/cry.'.$ext, 'serendipityHTTPPath', true),
'\:\-?\)' => serendipity_getTemplateFile('img/emoticons/smile.'.$ext),
'\:\-?\)' => serendipity_getTemplateFile('img/emoticons/smile.'.$ext, 'serendipityHTTPPath', true),
'\:\-?\|' => serendipity_getTemplateFile('img/emoticons/normal.'.$ext),
'\:\-?\|' => serendipity_getTemplateFile('img/emoticons/normal.'.$ext, 'serendipityHTTPPath', true),
'\:\-?O' => serendipity_getTemplateFile('img/emoticons/eek.'.$ext),
'\:\-?O' => serendipity_getTemplateFile('img/emoticons/eek.'.$ext, 'serendipityHTTPPath', true),
'\:\-?\(' => serendipity_getTemplateFile('img/emoticons/sad.'.$ext),
'\:\-?\(' => serendipity_getTemplateFile('img/emoticons/sad.'.$ext, 'serendipityHTTPPath', true),
'8\-?\)' => serendipity_getTemplateFile('img/emoticons/cool.'.$ext),
'8\-?\)' => serendipity_getTemplateFile('img/emoticons/cool.'.$ext, 'serendipityHTTPPath', true),
'\:\-?D' => serendipity_getTemplateFile('img/emoticons/laugh.'.$ext),
'\:\-?D' => serendipity_getTemplateFile('img/emoticons/laugh.'.$ext, 'serendipityHTTPPath', true),
'\:\-?P' => serendipity_getTemplateFile('img/emoticons/tongue.'.$ext),
'\:\-?P' => serendipity_getTemplateFile('img/emoticons/tongue.'.$ext, 'serendipityHTTPPath', true),
';\-?\)' => serendipity_getTemplateFile('img/emoticons/wink.'.$ext),
';\-?\)' => serendipity_getTemplateFile('img/emoticons/wink.'.$ext, 'serendipityHTTPPath', true),
);
}
@@ -119,7 +122,8 @@ class serendipity_event_emoticate extends serendipity_event
}
function example() {
$s = '<table cellspacing="5" class="example_emos">';
$s = sprintf(PLUGIN_EVENT_EMOTICATE_EXAMPLE_EXTEND_DESC, $serendipity['serendiptyHTTPPath'].'plugins/serendipity_event_emoticate/emoticons.inc.php.txt');
$s .= '<table cellspacing="5" class="example_emos">';
$s .= '<tr>';
$i = 1;
foreach($this->getEmoticons() as $key => $value) {
@@ -234,7 +234,7 @@ class serendipity_event_entryproperties extends serendipity_event
serendipity_plugin_api::hook_event('backend_entryproperties', $supported_properties);
foreach($supported_properties AS $prop_key) {
// Do not delete a property if it is not subbmitted to this function, because serendipity_updertEntry
// Do not delete a property if it is not subbmitted to this function, because serendipity_updertEntry
// possibly only wants to update entry metadata and left out any specific properties, which need to be kept.
// An empty string like "" will properly remove an entryproperty, and POST values will always set an array index to an empty string.
// $serendipipty['POST']['propertyform'] will be set whenever the entryeditor was properly displayed and unticked checkboxes shall remain.
@@ -460,7 +460,7 @@ class serendipity_event_entryproperties extends serendipity_event
<span class="wrap_legend"><legend><?php echo PLUGIN_EVENT_ENTRYPROPERTIES_CUSTOMFIELDS; ?>: <span><?php echo PLUGIN_EVENT_ENTRYPROPERTIES_CUSTOMFIELDS_DESC1 . sprintf(PLUGIN_EVENT_ENTRYPROPERTIES_CUSTOMFIELDS_DESC3, 'serendipity_admin.php?serendipity[adminModule]=plugins&amp;serendipity[plugin_to_conf]=' . $this->instance); ?></span></legend></span>
<div id="serendipity_customfields" class="clearfix">
<div class="serendipity_customfields clearfix">
<?php
foreach($fields AS $fieldname) {
$fieldparts = explode(':', $fieldname);
@@ -14,7 +14,7 @@ if (file_exists($probelang)) {
include dirname(__FILE__) . '/lang_en.inc.php';
// Actual version of this plugin
@define('PLUGIN_EVENT_GRAVATAR_VERSION', '1.58');
@define('PLUGIN_EVENT_GRAVATAR_VERSION', '1.59'); // NOTE: This plugin is also in the central repository. Commit changes to the core, too :)
// Defines the maximum available method slots in the configuration.
@define('PLUGIN_EVENT_GRAVATAR_METHOD_MAX', 6);
@@ -438,7 +438,7 @@ class serendipity_event_gravatar extends serendipity_event
$title = '';
$author = 'unknown';
if (isset($eventData['author'])) {
$author = serendipity_specialchars($eventData['author']);
$author = (function_exists('serendipity_specialchars') ? serendipity_specialchars($eventData['author']) : htmlspecialchars($eventData['author'], ENT_COMPAT, LANG_CHARSET));
$title = $author;
}
@@ -778,7 +778,7 @@ class serendipity_event_gravatar extends serendipity_event
{
// Attempt to grab an avatar link from their webpage url
$linkUrl = serendipity_entity_decode($matches[1]);
$linkUrl = (function_exists('serendipity_entity_decode') ? serendipity_entity_decode($matches[1]) : html_entity_decode($matches[1], ENT_COMPAT, LANG_CHARSET));
if (substr($linkUrl, 0, 1) == '/') {
if ($urlParts = parse_url($url)) {
$faviconURL = $urlParts['scheme'] . '://' . $urlParts['host'] . $linkUrl;
@@ -0,0 +1,366 @@
#
* Allows other plugins to fetch user metadata via
avatar_fetch_userinfos hook.
* supports !# twitter links now, too.
Version 1.57: (brockhaus)
* Better Gravatar handling, as the call changed a little
* Doesn't accept existing but empty images anymore.
Version 1.56: (brockhaus)
------------------------------------------------------------------------
* Removed inline styles, added class avatar_right and avatar_left.
If not found set in css, the plugin will emit a default style for
those two.
Version 1.55: (brockhaus)
------------------------------------------------------------------------
* Twitter and identica where not fetched correctly if fetched first.
Version 1.54:
------------------------------------------------------------------------
* Made PLUGIN_GRAVATAR_SUPPORTED recognize %s as variable for
list of supported services
Version 1.52:
------------------------------------------------------------------------
* Changed display of supported avatars in the comment area in order
to allow nice linebreaks.
Version 1.51:
------------------------------------------------------------------------
* Use strtolower() for mail names
Version 1.49 (brockhaus)
------------------------------------------------------------------------
* Pavatar in blogs having redirection didn't work, if Pavatar link
was only available in rel link info.
Version 1.48 (brockhaus)
------------------------------------------------------------------------
* FIX: PHP compatibility was broken since 1.46 :-/
* Added Identica Avatar.
This is mainly used for Identica Pingbacks and should be used in
front of Favatar, else the Identica sign will show up.
* Code cleanup.
Version 1.47 (brockhaus)
------------------------------------------------------------------------
* Disabled debug logging into template_c
Version 1.46 (brockhaus)
------------------------------------------------------------------------
* Added Twitter Avatar (if URL points to a twitter profile)
This is mainly used for Tweetbacks and should be used in front of
Favatar, else the twitter sign will show up.
* Code cleanup.
Version 1.45 (brockhaus)
------------------------------------------------------------------------
* Helpfiles
* Cleanup.
Version 1.44 (brockhaus)
------------------------------------------------------------------------
* Added buildin wavatar suport.
* Support for Gravatar fallbacks identyicon, monsterid and wavatar.
* Optimized trackback avatars: Querypars will be stripped from URL.
Now in example S8Y blogs always get the same Avatar cached, not
one per trackback.
Version 1.43 (brockhaus)
------------------------------------------------------------------------
* Option for adding the authors name to the ALT attribute of the
avatar image. Normaly this is filled with a *, but blind people
depend on the ALT tag.
Version 1.42 (brockhaus)
------------------------------------------------------------------------
* Encoded _ in user urls in order to differ them from the
seperators. urlencode doesn't encode _. Thanks to Tino Schwarze
finding and fixing this.
Version 1.41 (garvinhicking)
------------------------------------------------------------------------
* Fixed Last-Modified Header of avatar images.
Version 1.40 ()
------------------------------------------------------------------------
* Added ycon support (mo, http://moblog.wiredwings.com)
------------------------------------------------------------------------
Version 1.39 (brockhaus):
* Monster Avatars are cached now, too, as creating them costs time.
------------------------------------------------------------------------
Version 1.38 (brockhaus):
* Support for Monster ID avatars (details found on
http://www.splitbrain.org/go/monsterid)
* Crashed while fresh installing and cache time set to 0
* Allows configuring absolute path to standard avatar now.
* After saving the configuration now the cache is *always* cleared,
in order to make the changes visible immidiately even if caching
is enabled.
* If the plugin is unable to write into the cache, it will log it
in debug mode and show the default image, if no cached file found.
------------------------------------------------------------------------
Version 1.37 (brockhaus):
* The avatar type infoline below the comments editor is optional now
------------------------------------------------------------------------
Version 1.36 (brockhaus):
* Added new option: You can define, that the plugin should not
produce avatar image directly but a smarty tag only. If this
option is switched on, you can define in your comments template,
where the avatar should be displayed using the smarty tag
$comment.comment_avatar
* Css class of avatar will change depending on where it is
displayed. For normal comments it will be "comment_avatar", for the
recent entries plugin it will be "serendipity_plugin_comments_avatar"
in order to have the possibility to easily style it.
* Avatar alignment configuration: The configured alignment will be
used, if the avatar is written directliy (no smarty tag).
* New option for switching on/off the avatar images in the sidebar
plugin (recent comments).
* Supported avatar methods where displayed in the contact form
plugin too, but this made no sense. Disabled it there.
* Some more changes in the language files.
------------------------------------------------------------------------
Version 1.35 (brockhaus):
* Corrected errors in English language file. (Thanks to Don!)
------------------------------------------------------------------------
Version 1.34 (brockhaus):
* Gravatars rating doesn't work reliable. My G rated Gravatar is only
shown, if I use Gravatar X rating. :-/
Added an option to switch off Gravatars rating parameter (what
should be the same as using X rating)
------------------------------------------------------------------------
Version 1.33 (brockhaus):
* Pavatar: X-Pavatar Header is supported now again and is the first
pavatar autodetect method used.
------------------------------------------------------------------------
Version 1.32 (brockhaus):
* MyBlogLog default avatar was not detected correctly anmore. :-/
* If no email nor url is given, but default avatar is defined, now
the default avatar is displayed.
------------------------------------------------------------------------
Version 1.31 (brockhaus):
* Changed call-time pass-by-reference bug (fetchAvatar)
------------------------------------------------------------------------
Version 1.30 (brockhaus):
* Standard Avatar was not displayed in subdirectory blog
installtions.
* Gravatar link was slightly wrong (but working)
------------------------------------------------------------------------
Version 1.29 (brockhaus):
* Bugfix 1.27 added http:// even if no URL was given at all.
------------------------------------------------------------------------
Version 1.28 (brockhaus):
* With Serendipity 1.1 it was not possible to configure a default
avatar. The configuration was not 1.1 compatible.
------------------------------------------------------------------------
Version 1.27 (brockhaus):
* If the writer entered his url as www.domain.de instead of
http://www.domain.de, the Avatar was not always loaded correctly
------------------------------------------------------------------------
Version 1.26 (brockhaus):
* MyBlogLog changed avatar calling slightly resuling MyBlogLog Avatar
fallback not working anymore.
------------------------------------------------------------------------
Version 1.25 (garvinhicking):
* Replaced align with style attributes, as there is no align in
XHTML
------------------------------------------------------------------------
Version 1.24 (brockhaus):
* Check MyBlogLog result if it really is an image.
* Cleaning up cache directory when setting cache to 0.
* Debug logging disabled.
------------------------------------------------------------------------
Version 1.23 (brockhaus):
* While fresh fetching P/Favatars, the Plugin will only accept
responses declared as image by the remote server. This will
prevent accepting potential error html pages as Avatar images.
------------------------------------------------------------------------
Version 1.22 (brockhaus):
* Fetch redirected P/Favatars, too.
------------------------------------------------------------------------
Version 1.21 (brockhaus):
* Avatar fetching was broken when cache was disabled.
* Browser was not able to cache default avatars, because a wrong
cache time (in the past) was sent.
* Checks, if cached file looks like an image, before sending it
to the client.
------------------------------------------------------------------------
Version 1.20 (brockhaus):
* Avatar image title is the author's name now instead of Avatar (V.)
------------------------------------------------------------------------
Version 1.19 (brockhaus):
* Made the browser cache avatars resulting in a very good
performance boost!
------------------------------------------------------------------------
Version 1.18 (brockhaus):
* Debugging loging disabled.
------------------------------------------------------------------------
Version 1.17 (brockhaus):
* If cache is enabled, *everything* is cached now. Known writers
won't produce *any* external server call, if allready cached.
This is a very nice performance boost! Thanks to garvin for hinting
me.
* Anti hacking patches by garvinhickins
------------------------------------------------------------------------
Version 1.16 (garvinhicking):
* Coding style
------------------------------------------------------------------------
Version 1.14 (brockhaus):
* Fallback possibility for MyBlogLog implemented! :-) But it is
slow even with caching optimazation. MBL shouldn't be the first
option.
* Fifth method slot in configuration, as MBL now supports fallback, too.
------------------------------------------------------------------------
Version 1.13 (brockhaus):
* Advice changed: It is not the statistic plugin producing not
working Pavatars/Favatars but the exit tracking plugin.
------------------------------------------------------------------------
Version 1.12 (brockhaus):
* MyBlogLog avatars are cached now, too.
* Pages redirecting to a default page, if the requested item was not
found, are supported now, too. Former the Avatar Plugin assumed,
that the default page is the P/Favatar.
* Default configuration now ordered like this: Gravatar -> Pavatar
-> Favatar -> Default Avatar.
* Added advice, that this plugin has to be executed before any link
changing plugin.
* Reading configured plugin path. Former it was 'plugin' always.
* Dropped gravatar border setting, as it is not working (anymore?)
------------------------------------------------------------------------
Version 1.11, testing version not released to CVS/Spartacus (brockhaus):
* Fallback for Gravatar working! But this shows an default avatar
to Gravatar, not mattering the settings. So revoked this setting.
------------------------------------------------------------------------
Version 1.10 (brockhaus):
* Pavatar / Avatar information where never loaded from cache
* .. but after beeing loaded from cache it produced an endless
request loop for images loaded from the local blog (if comment
sidebar plugin was enabled)
* Height setting for image was called "heigth".. :-/
* Gravarar caching didn't work reliable, if a default avatar was
given.
------------------------------------------------------------------------
Version 1.9 (brockhaus):
* While searching for Pavatar, the Favatar was loaded as Pavatar,
if no Pavatar image but a favicon was found. (Thanks to El Burro)
------------------------------------------------------------------------
Version 1.8 (brockhaus):
* Plugin was unable to load Favatars/Pavatars, if a redirection was
signaled at the url given by the commentor as homepage. Garvin's
blog is such a page..
------------------------------------------------------------------------
Version 1.7 (brockhaus):
* Added support for Pavatars (www.pavatar.com)
* Added support for MyBlogLog Avatars (www.mybloglog.com)
* The order for trying avatar methods and what kind of avatars are
supported is now configurable.
* Standard avatar may be one of them (should be last)
* Option for not giving the default avatar to gravatar even if one
is defined. (We want less dataprofiles..)
* Fetch default avatar via mediadatabase in the configuration.
* Image size is assured now in HTML code.
* Below the comment only actual configured avatar methods are shown
as supported.
------------------------------------------------------------------------
Version 1.6 (garvinhickins):
------------------------------------------------------------------------
Version 1.5 (garvinhickins):
------------------------------------------------------------------------
Version 1.4 (garvinhickins):
------------------------------------------------------------------------
Version 1.3 (garvinhickins):
* Fix errors on invalid domains
@@ -1,6 +1,4 @@
<?php #
# serendipity_event_nl2br.php 2014-02-01 Ian $
<?php
@serendipity_plugin_api::load_language(dirname(__FILE__));
@@ -157,7 +155,7 @@ class serendipity_event_nl2br extends serendipity_event
$propbag->add('type', 'boolean');
$propbag->add('name', constant($name));
$propbag->add('description', sprintf(APPLY_MARKUP_TO, constant($name)));
$propbag->add('default', 'true');
$propbag->add('default', 'true');
}
return true;
}
@@ -277,6 +275,7 @@ class serendipity_event_nl2br extends serendipity_event
}
}
}
return true;
break;

Some files were not shown because too many files have changed in this diff Show More