From ca0bdf6539e1145b980ce5bf8e2126cff12903d5 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 4 Jan 2010 20:32:26 -0500 Subject: ignore site-local conf files Signed-off-by: Mike Frysinger --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..72ea3f3bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +/conf/*.local.conf +/conf/acl.auth.php +/conf/local.php +/conf/users.auth.php +/conf/userstyle.css +/conf/words.aspell -- cgit v1.2.3 From 592ad5dc0c8fb710fc3c24e5b0007cd12b229cb6 Mon Sep 17 00:00:00 2001 From: Piotr JANKOWSKI Date: Tue, 5 Jan 2010 20:13:27 +0100 Subject: Polish language update --- lib/plugins/config/lang/pl/lang.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index 976712f85..2d3b29db8 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -7,13 +7,14 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author Piotr JANKOWSKI */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostały zapisane z powodu błędnych wartości, przejrzyj je i ponów próbę zapisu.
Niepoprawne wartości są wyróżnione kolorem czerwonym.'; $lang['updated'] = 'Ustawienia zostały zmienione.'; $lang['nochoice'] = '(brak innych możliwości)'; $lang['locked'] = 'Plik ustawień nie mógł zostać zmieniony, upewnij się, czy uprawnienia do pliku są odpowiednie.'; -$lang['danger'] = 'Uwaga: Zmiana tej opcji może uniemożliwić dostęp do twojej wiki oraz konfogiracji.'; +$lang['danger'] = 'Uwaga: Zmiana tej opcji może uniemożliwić dostęp do twojej wiki oraz konfiguracji.'; $lang['warning'] = 'Ostrzeżenie: Zmiana tej opcji może spowodować nieporządane skutki.'; $lang['security'] = 'Alert bezpieczeństwa: Zmiana tej opcji może obniżyć bezpieczeństwo.'; $lang['_configuration_manager'] = 'Menadżer konfiguracji'; -- cgit v1.2.3 From c654938d56942c3166921564392e7d087ce06311 Mon Sep 17 00:00:00 2001 From: ben Date: Tue, 5 Jan 2010 20:19:09 +0100 Subject: Chinese language update --- inc/lang/zh/adminplugins.txt | 1 + inc/lang/zh/lang.php | 23 ++++++++++++++++++++++- lib/plugins/acl/lang/zh/lang.php | 1 + lib/plugins/config/lang/zh/lang.php | 3 ++- lib/plugins/plugin/lang/zh/lang.php | 1 + lib/plugins/popularity/lang/zh/lang.php | 1 + lib/plugins/revert/lang/zh/lang.php | 1 + lib/plugins/usermanager/lang/zh/lang.php | 1 + 8 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 inc/lang/zh/adminplugins.txt diff --git a/inc/lang/zh/adminplugins.txt b/inc/lang/zh/adminplugins.txt new file mode 100644 index 000000000..66cee4509 --- /dev/null +++ b/inc/lang/zh/adminplugins.txt @@ -0,0 +1 @@ +===== 附加插件 ===== \ No newline at end of file diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index ffb759fde..45e4f8e34 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -8,6 +8,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -50,6 +51,7 @@ $lang['btn_resendpwd'] = '发送新密码'; $lang['btn_draft'] = '编辑草稿'; $lang['btn_recover'] = '恢复草稿'; $lang['btn_draftdel'] = '删除草稿'; +$lang['btn_revert'] = '恢复'; $lang['loggedinas'] = '登录为'; $lang['user'] = '用户名'; $lang['pass'] = '密码'; @@ -88,6 +90,8 @@ $lang['resendpwdconfirm'] = '确认链接已经通过邮件发送给您了 $lang['resendpwdsuccess'] = '您的新密码已经通过邮件发送给您了。'; $lang['license'] = '除额外注明的地方外,本维基上的内容按下列许可协议发布:'; $lang['licenseok'] = '当您选择开始编辑本页,即寓示你同意将你贡献的内容按下列许可协议发布:'; +$lang['searchmedia'] = '查找文件名:'; +$lang['searchmedia_in'] = '在%s中查找'; $lang['txt_upload'] = '选择要上传的文件'; $lang['txt_filename'] = '上传并重命名为(可选)'; $lang['txt_overwrt'] = '覆盖已存在的同名文件'; @@ -112,10 +116,14 @@ $lang['deletefail'] = '无法删除“%s”- 请检查权限。'; $lang['mediainuse'] = '文件“%s”无法删除 - 它正被使用中。'; $lang['namespaces'] = '命名空间'; $lang['mediafiles'] = '可用的文件'; +$lang['js']['searchmedia'] = '查找文件'; $lang['js']['keepopen'] = '选中后不自动关闭窗口'; $lang['js']['hidedetails'] = '隐藏详细信息'; $lang['js']['nosmblinks'] = '连接到 Windows 共享功能只有在 IE 浏览器中才能正常使用。 但您仍能复制并粘贴该链接。'; +$lang['js']['linkwiz'] = '链接向导'; +$lang['js']['linkto'] = '链接到:'; +$lang['js']['del_confirm'] = '真的要删除选中的项目吗?'; $lang['js']['mu_btn'] = '一次上传了多个文件'; $lang['mediausage'] = '使用下列字符链接到该文件:'; $lang['mediaview'] = '查看该文件'; @@ -157,6 +165,11 @@ $lang['qb_h2'] = '标题 H2 '; $lang['qb_h3'] = '标题 H3'; $lang['qb_h4'] = '标题 H4'; $lang['qb_h5'] = '标题 H5'; +$lang['qb_h'] = '标题'; +$lang['qb_hs'] = '选择标题'; +$lang['qb_hplus'] = '上级标题'; +$lang['qb_hminus'] = '下级标题'; +$lang['qb_hequal'] = '同级标题'; $lang['qb_link'] = '内部链接'; $lang['qb_extlink'] = '外部链接'; $lang['qb_hr'] = '水平线'; @@ -166,7 +179,7 @@ $lang['qb_media'] = '插入图像或其他文件'; $lang['qb_sig'] = '插入签名'; $lang['qb_smileys'] = '表情符号'; $lang['qb_chars'] = '特殊字符'; -$lang['js']['del_confirm'] = '真的要删除选中的项目吗?'; +$lang['upperns'] = '跳转到父级名空间'; $lang['admin_register'] = '添加新用户'; $lang['metaedit'] = '编辑元数据'; $lang['metasaveerr'] = '写入元数据失败'; @@ -227,4 +240,12 @@ $lang['mu_fail'] = '失败'; $lang['mu_authfail'] = '会话过期'; $lang['mu_progress'] = '@PCT@% 上传完成'; $lang['mu_filetypes'] = '允许的文件类型'; +$lang['mu_info'] = '文件已上传。'; $lang['recent_global'] = '您当前看到的是%s 名称空间的变动。你还可以在查看整个维基的近期变动。'; +$lang['years'] = '%d年前'; +$lang['months'] = '%d月前'; +$lang['weeks'] = '%d周前'; +$lang['days'] = '%d天前'; +$lang['hours'] = '%d小时前'; +$lang['minutes'] = '%d分钟前'; +$lang['seconds'] = '%d秒前'; diff --git a/lib/plugins/acl/lang/zh/lang.php b/lib/plugins/acl/lang/zh/lang.php index 6ae32b01c..f9f924089 100644 --- a/lib/plugins/acl/lang/zh/lang.php +++ b/lib/plugins/acl/lang/zh/lang.php @@ -8,6 +8,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['admin_acl'] = '访问控制列表(ACL)管理器'; $lang['acl_group'] = '组'; diff --git a/lib/plugins/config/lang/zh/lang.php b/lib/plugins/config/lang/zh/lang.php index d5f8b653c..404cc706a 100644 --- a/lib/plugins/config/lang/zh/lang.php +++ b/lib/plugins/config/lang/zh/lang.php @@ -8,6 +8,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['menu'] = '配置设置'; $lang['error'] = '由于非法参数,设置没有更新。请检查您做的改动并重新提交。 @@ -90,6 +91,7 @@ $lang['disableactions_other'] = '其他功能(用英文逗号分隔)'; $lang['sneaky_index'] = '默认情况下,DokuWiki 在索引页会显示所有 namespace。启用该选项能隐藏那些用户没有权限阅读的页面。但也可能将用户能够阅读的子页面一并隐藏。这有可能导致在特定 ACL 设置下,索引功能不可用。'; $lang['auth_security_timeout'] = '认证安全超时(秒)'; $lang['securecookie'] = '要让浏览器须以HTTPS方式传送在HTTPS会话中设置的cookies吗?请只在登录过程为SSL加密而浏览维基为明文的情况下打开此选项。'; +$lang['xmlrpc'] = '启用/禁用 XML-RPC 交互界面。'; $lang['updatecheck'] = '自动检查更新并接收安全警告吗?开启该功能后 DokuWiki 将自动访问 splitbrain.org。'; $lang['userewrite'] = '使用更整洁的 URL'; $lang['useslash'] = '在 URL 中使用斜杠作为命名空间的分隔符'; @@ -115,7 +117,6 @@ $lang['send404'] = '发送 "HTTP 404/页面没有找到" 错误信 $lang['sitemap'] = '生成 Google sitemap(天)'; $lang['broken_iua'] = 'ignore_user_abort 功能失效了?这有可能导致搜索索引不可用。IIS+PHP/CGI 已损坏。请参阅 Bug 852 获取更多信息。'; $lang['xsendfile'] = '使用 X-Sendfile 头让服务器发送状态文件?您的服务器需要支持该功能。'; -$lang['xmlrpc'] = '启用/禁用 XML-RPC 交互界面。'; $lang['renderer_xhtml'] = '主维基页面 (xhtml) 输出使用的渲染'; $lang['renderer__core'] = '%s(DokuWiki 内核)'; $lang['renderer__plugin'] = '%s(插件)'; diff --git a/lib/plugins/plugin/lang/zh/lang.php b/lib/plugins/plugin/lang/zh/lang.php index 3e269bb06..f53eca96a 100644 --- a/lib/plugins/plugin/lang/zh/lang.php +++ b/lib/plugins/plugin/lang/zh/lang.php @@ -8,6 +8,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['menu'] = '插件管理器'; $lang['download'] = '下载并安装新的插件'; diff --git a/lib/plugins/popularity/lang/zh/lang.php b/lib/plugins/popularity/lang/zh/lang.php index 88c410970..22fad03b2 100644 --- a/lib/plugins/popularity/lang/zh/lang.php +++ b/lib/plugins/popularity/lang/zh/lang.php @@ -7,6 +7,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['name'] = '人气反馈(载入可能需要一些时间)'; $lang['submit'] = '发送数据'; diff --git a/lib/plugins/revert/lang/zh/lang.php b/lib/plugins/revert/lang/zh/lang.php index 6241b712b..892cf2dbe 100644 --- a/lib/plugins/revert/lang/zh/lang.php +++ b/lib/plugins/revert/lang/zh/lang.php @@ -8,6 +8,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['menu'] = '还原管理器'; $lang['filter'] = '搜索包含垃圾信息的页面'; diff --git a/lib/plugins/usermanager/lang/zh/lang.php b/lib/plugins/usermanager/lang/zh/lang.php index 55044ce65..613826329 100644 --- a/lib/plugins/usermanager/lang/zh/lang.php +++ b/lib/plugins/usermanager/lang/zh/lang.php @@ -7,6 +7,7 @@ * @author George Sheraton guxd@163.com * @author Simon zhan * @author mr.jinyi@gmail.com + * @author ben */ $lang['menu'] = '用户管理器'; $lang['noauth'] = '(用户认证不可用)'; -- cgit v1.2.3 From 6e13d3e8e4512c619f0b854de730e2e2b7d4b291 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 5 Jan 2010 20:32:14 +0100 Subject: more gitignore paths --- .gitignore | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 72ea3f3bc..2d7f2df97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,23 @@ /conf/*.local.conf /conf/acl.auth.php /conf/local.php +/conf/local.protected.php /conf/users.auth.php -/conf/userstyle.css +/conf/user*.css +/conf/user*.js /conf/words.aspell +.htaccess +*.swp +*.bak +*.old +*~ +/data/attic/* +/data/cache/* +/data/index/* +/data/locks/* +/data/media/* +/data/meta/* +/data/pages/* +/data/tmp/* +/lib/tpl/* +/lib/plugins/* -- cgit v1.2.3 From be98b27c033249b156719149299e9bf7a2e16701 Mon Sep 17 00:00:00 2001 From: Guy Brand Date: Tue, 5 Jan 2010 02:45:37 +0800 Subject: Update copyright years --- README | 2 +- data/pages/wiki/dokuwiki.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README b/README index a000bba2b..1f5332444 100644 --- a/README +++ b/README @@ -4,6 +4,6 @@ at http://www.dokuwiki.org/ For Installation Instructions see http://www.dokuwiki.org/install -DokuWiki - 2004-2009 (c) Andreas Gohr +DokuWiki - 2004-2010 (c) Andreas Gohr See COPYING and file headers for license info diff --git a/data/pages/wiki/dokuwiki.txt b/data/pages/wiki/dokuwiki.txt index a58575f05..7bb6ee512 100644 --- a/data/pages/wiki/dokuwiki.txt +++ b/data/pages/wiki/dokuwiki.txt @@ -57,7 +57,7 @@ All documentation and additional information besides the [[syntax|syntax descrip ===== Copyright ===== -2004-2009 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) +2004-2010 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) The DokuWiki engine is licensed under [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). -- cgit v1.2.3 From d421dc123691a8d6409c4d224ba28e5bbdd5eeed Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 5 Jan 2010 23:42:55 +0100 Subject: Added a rendering commandline tool This simple tool renders some syntax given on STDIN with the given renderer (defaults to xhtml) and outputs to STDOUT. --- bin/render.php | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 bin/render.php diff --git a/bin/render.php b/bin/render.php new file mode 100755 index 000000000..45e463c01 --- /dev/null +++ b/bin/render.php @@ -0,0 +1,67 @@ +#!/usr/bin/php + + */ +if ('cli' != php_sapi_name()) die(); + +ini_set('memory_limit','128M'); +if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/'); +define('NOSESSION',1); +require_once(DOKU_INC.'inc/init.php'); +require_once(DOKU_INC.'inc/common.php'); +require_once(DOKU_INC.'inc/parserutils.php'); +require_once(DOKU_INC.'inc/cliopts.php'); + +// handle options +$short_opts = 'hr:'; +$long_opts = array('help','renderer:'); +$OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts); +if ( $OPTS->isError() ) { + fwrite( STDERR, $OPTS->getMessage() . "\n"); + _usage(); + exit(1); +} +$RENDERER = 'xhtml'; +foreach ($OPTS->options as $key => $val) { + switch ($key) { + case 'h': + case 'help': + _usage(); + exit; + case 'r': + case 'renderer': + $RENDERER = $val; + } +} + + +// do the action +$source = stream_get_contents(STDIN); +$info = array(); +$result = p_render($RENDERER,p_get_instructions($source),$info); +if(is_null($result)) die("No such renderer $RENDERER\n"); + + +/** + * Print usage info + */ +function _usage(){ + print "Usage: render.php + + Reads DokuWiki syntax from STDIN and renders it with the given renderer + to STDOUT + + OPTIONS + -h, --help show this help and exit + -r, --renderer the render mode (default: xhtml) +"; +} -- cgit v1.2.3 From 5cf31920a1920c348a360b2847233e43257f136f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 8 Jan 2010 14:26:57 +0100 Subject: Read version from last Git log --- inc/infoutils.php | 45 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/inc/infoutils.php b/inc/infoutils.php index b43dd40be..d5356969b 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -55,36 +55,31 @@ function getVersionData(){ //official release $version['date'] = trim(io_readfile(DOKU_INC.'VERSION')); $version['type'] = 'Release'; - return $version; - }elseif(is_dir(DOKU_INC.'_darcs')){ - if(is_file(DOKU_INC.'_darcs/inventory')){ - $inventory = DOKU_INC.'_darcs/inventory'; - }elseif(is_file(DOKU_INC.'_darcs/hashed_inventory')){ - $inventory = DOKU_INC.'_darcs/hashed_inventory'; - }else{ - $version['date'] = 'unknown'; - $version['type'] = 'Darcs'; - return $version; - } - - //darcs checkout - read last 2000 bytes of inventory - $sz = filesize($inventory); - $seek = max(0,$sz-2000); - $fh = fopen($inventory,'rb'); - fseek($fh,$seek); - $chunk = fread($fh,2000); - fclose($fh); + }elseif(is_dir(DOKU_INC.'.git')){ + $version['type'] = 'Git'; + $version['date'] = 'unknown'; - preg_match_all('#\*\*(\d{4})(\d{2})(\d{2})\d{6}(?:\]|$)#m', $chunk, $matches, - PREG_SET_ORDER); - $version['date'] = implode('-', array_slice(array_pop($matches), 1)); - $version['type'] = 'Darcs'; - return $version; + $inventory = DOKU_INC.'.git/logs/HEAD'; + if(is_file($inventory)){ + $sz = filesize($inventory); + $seek = max(0,$sz-2000); // read from back of the file + $fh = fopen($inventory,'rb'); + fseek($fh,$seek); + $chunk = fread($fh,2000); + fclose($fh); + $chunk = trim($chunk); + $chunk = array_pop(explode("\n",$chunk)); //last log line + $chunk = array_shift(explode("\t",$chunk)); //strip commit msg + $chunk = explode(" ",$chunk); + array_pop($chunk); //strip timezone + $date = date('Y-m-d',array_pop($chunk)); + if($date) $version['date'] = $date; + } }else{ $version['date'] = 'unknown'; $version['type'] = 'snapshot?'; - return $version; } + return $version; } /** -- cgit v1.2.3 From d61e1b3e1988054815be230f97c416acc1033162 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 9 Jan 2010 01:07:29 -0500 Subject: re-order css links so the default one gets fetched first Signed-off-by: Mike Frysinger --- inc/template.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/template.php b/inc/template.php index 8fc70cfb8..4681300eb 100644 --- a/inc/template.php +++ b/inc/template.php @@ -334,10 +334,10 @@ function tpl_metaheaders($alt=true){ } // load stylesheets - $head['link'][] = array('rel'=>'stylesheet', 'media'=>'all', 'type'=>'text/css', - 'href'=>DOKU_BASE.'lib/exe/css.php?s=all&t='.$conf['template'].'&tseed='.$tseed); $head['link'][] = array('rel'=>'stylesheet', 'media'=>'screen', 'type'=>'text/css', 'href'=>DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed); + $head['link'][] = array('rel'=>'stylesheet', 'media'=>'all', 'type'=>'text/css', + 'href'=>DOKU_BASE.'lib/exe/css.php?s=all&t='.$conf['template'].'&tseed='.$tseed); $head['link'][] = array('rel'=>'stylesheet', 'media'=>'print', 'type'=>'text/css', 'href'=>DOKU_BASE.'lib/exe/css.php?s=print&t='.$conf['template'].'&tseed='.$tseed); -- cgit v1.2.3 From 865b2c3a02724e795cc288856f2bb961a9338339 Mon Sep 17 00:00:00 2001 From: Ljosxa KUZNECOV Date: Sat, 9 Jan 2010 11:28:22 +0100 Subject: Esperanto language update --- inc/lang/eo/adminplugins.txt | 2 +- inc/lang/eo/lang.php | 4 ++-- inc/lang/eo/mailtext.txt | 2 +- inc/lang/eo/norev.txt | 2 +- inc/lang/eo/password.txt | 4 ++-- inc/lang/eo/preview.txt | 2 +- inc/lang/eo/recent.txt | 2 +- inc/lang/eo/registermail.txt | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/inc/lang/eo/adminplugins.txt b/inc/lang/eo/adminplugins.txt index ed2949b10..769a8c538 100644 --- a/inc/lang/eo/adminplugins.txt +++ b/inc/lang/eo/adminplugins.txt @@ -1 +1 @@ -===== Ekstra kromaĵojn ===== \ No newline at end of file +===== Eksteraj kromaĵoj ===== \ No newline at end of file diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index e2c25ae43..14cfea2d0 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -65,7 +65,7 @@ $lang['passchk'] = 'plian fojon'; $lang['remember'] = 'Rememoru min'; $lang['fullname'] = 'Kompleta nomo'; $lang['email'] = 'Retpoŝto'; -$lang['register'] = 'Registro'; +$lang['register'] = 'Registriĝi'; $lang['profile'] = 'Uzanto-profilo'; $lang['badlogin'] = 'Pardonu, uzant-nomo aŭ pasvorto estis erara.'; $lang['minoredit'] = 'Etaj modifoj'; @@ -79,7 +79,7 @@ $lang['regmailfail'] = 'Ŝajne okazis eraro dum elsendo de la pasvorto $lang['regbadmail'] = 'Entajpita retpoŝta adreso ne ŝajnas valida. Se vi pensas, ke tio estas eraro, kontaktu la administranton.'; $lang['regbadpass'] = 'La du pasvortoj ne samas, bonvolu provi refoje.'; $lang['regpwmail'] = 'Via DokuWiki-pasvorto'; -$lang['reghere'] = 'Se vi ne havas konton, do vi povos akiri ĝin'; +$lang['reghere'] = 'Se vi ne havas konton, do vi povas akiri ĝin'; $lang['profna'] = 'Tiu ĉi vikio ne ebligas modifon en la profiloj.'; $lang['profnochange'] = 'Neniu ŝanĝo, nenio farinda.'; $lang['profnoempty'] = 'Malplena nomo aŭ retadreso ne estas permesataj.'; diff --git a/inc/lang/eo/mailtext.txt b/inc/lang/eo/mailtext.txt index 5e83b324b..b2cb3b49d 100644 --- a/inc/lang/eo/mailtext.txt +++ b/inc/lang/eo/mailtext.txt @@ -12,5 +12,5 @@ Uzulo: @USER@ @DIFF@ -- -Tiu ĉi mesaĝo estis kreata de DokuWiki, kiu lokiĝas tie: +Tiu ĉi mesaĝo estis kreita de DokuWiki, kiu lokiĝas tie: @DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/eo/norev.txt b/inc/lang/eo/norev.txt index 6dffbaa1c..f17d8df7c 100644 --- a/inc/lang/eo/norev.txt +++ b/inc/lang/eo/norev.txt @@ -1,3 +1,3 @@ -====== Tia revizio ne ekzistas ====== +====== Tiu revizio ne ekzistas ====== La elektita revizio ne ekzistas. Premu butonon ''Malnovaj revizioj'', por vidi liston de malnovaj revizioj de la dokumento. \ No newline at end of file diff --git a/inc/lang/eo/password.txt b/inc/lang/eo/password.txt index f08e7426e..bb854a926 100644 --- a/inc/lang/eo/password.txt +++ b/inc/lang/eo/password.txt @@ -1,10 +1,10 @@ Saluton @FULLNAME@! -Jen via uzuldatenoj por @TITLE@ ĉe @DOKUWIKIURL@ +Jen via uzantodatenoj por @TITLE@ ĉe @DOKUWIKIURL@ Ensalutnomo : @LOGIN@ Pasvorto : @PASSWORD@ -- -Tiu ĉi mesaĝo estis kreata de DokuWiki ĉe +Tiu ĉi mesaĝo estis kreita de DokuWiki ĉe @DOKUWIKIURL@ diff --git a/inc/lang/eo/preview.txt b/inc/lang/eo/preview.txt index 784f693e6..ac2e75d00 100644 --- a/inc/lang/eo/preview.txt +++ b/inc/lang/eo/preview.txt @@ -1,3 +1,3 @@ ====== Antaŭrigardo ====== -Tiu ĉi estas antaŭrigardo pri kia estos via teksto. Memoru: ĝi ankoraŭ **ne estas konservita**! \ No newline at end of file +Tiu ĉi estas antaŭrigardo de redaktita teksto. Memoru: ĝi ankoraŭ **ne estas konservita**! \ No newline at end of file diff --git a/inc/lang/eo/recent.txt b/inc/lang/eo/recent.txt index e03144668..ffd9936e2 100644 --- a/inc/lang/eo/recent.txt +++ b/inc/lang/eo/recent.txt @@ -1,3 +1,3 @@ ====== Freŝaj Ŝanĝoj ====== -La jenaj paĝoj estis ŝanĝitaj antaŭ malmulta tempo. \ No newline at end of file +La jenaj paĝoj estis ŝanĝitaj antaŭ nelonga tempo. \ No newline at end of file diff --git a/inc/lang/eo/registermail.txt b/inc/lang/eo/registermail.txt index c832eca42..e5b1da902 100644 --- a/inc/lang/eo/registermail.txt +++ b/inc/lang/eo/registermail.txt @@ -10,5 +10,5 @@ IP-Adreso: @IPADDRESS@ Provizanto: @HOSTNAME@ -- -Tiu ĉi mesaĝo estis kreata de DokuWiki ĉe +Tiu ĉi mesaĝo estis kreita de DokuWiki ĉe @DOKUWIKIURL@ \ No newline at end of file -- cgit v1.2.3 From ca09b77d620896e202fa5eb4da4d30eed0c92ba3 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 9 Jan 2010 13:05:24 +0100 Subject: Avoid whitespace because of toolbar pickers FS#1841 --- lib/scripts/edit.js | 1 + lib/scripts/linkwiz.js | 3 +++ lib/scripts/toolbar.js | 3 +++ 3 files changed, 7 insertions(+) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index ef0a9a106..a80c8a06e 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -68,6 +68,7 @@ function createPicker(id,props,edid){ picker.id = id; picker.style.position = 'absolute'; picker.style.marginLeft = '-10000px'; // no display:none, to keep access keys working + picker.style.marginTop = '-10000px'; for(var key in list){ if (!list.hasOwnProperty(key)) continue; diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js index d687ebbeb..4528d9591 100644 --- a/lib/scripts/linkwiz.js +++ b/lib/scripts/linkwiz.js @@ -30,6 +30,7 @@ var linkwiz = { linkwiz.wiz.style.top = (findPosY(textArea)+20)+'px'; linkwiz.wiz.style.left = (findPosX(textArea)+80)+'px'; linkwiz.wiz.style.marginLeft = '-10000px'; + linkwiz.wiz.style.marginTop = '-10000px'; linkwiz.wiz.innerHTML = ''.NL; } @@ -480,11 +483,11 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { $alt = '+'; } $ret .= ''.$alt.''; - $ret .= ''; + $ret .= ''; $ret .= $base; $ret .= ''; }else{ - $ret .= ''; + $ret .= ''; $ret .= noNS($item['id']); $ret .= ''; } @@ -562,6 +565,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo ''.NL; echo ''.NL; echo ''.NL; + echo ''.NL; echo ''; echo ''; echo ''; diff --git a/lib/plugins/acl/ajax.php b/lib/plugins/acl/ajax.php index e383f0d35..d3e88d932 100644 --- a/lib/plugins/acl/ajax.php +++ b/lib/plugins/acl/ajax.php @@ -19,11 +19,11 @@ require_once(DOKU_INC.'inc/auth.php'); //close session session_write_close(); -if(!auth_isadmin()) die('forbidden'); +if(!auth_isadmin()) die('for admins only'); +if(!checkSecurityToken()) die('CRSF Attack'); $ID = getID(); -if(!auth_isadmin) die('for admins only'); require_once(DOKU_INC.'inc/pluginutils.php'); require_once(DOKU_INC.'inc/html.php'); $acl = plugin_load('admin','acl'); diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js index 7ab83db58..449a3c16a 100644 --- a/lib/plugins/acl/script.js +++ b/lib/plugins/acl/script.js @@ -48,7 +48,8 @@ acl = { data[1] = ajax.encVar('id',frm.elements['id'].value); data[2] = ajax.encVar('acl_t',frm.elements['acl_t'].value); data[3] = ajax.encVar('acl_w',frm.elements['acl_w'].value); - data[4] = ajax.encVar('ajax','info'); + data[4] = ajax.encVar('sectok',frm.elements['sectok'].value); + data[5] = ajax.encVar('ajax','info'); ajax.elementObj = $('acl__info'); -- cgit v1.2.3 From cce7ae9882da5682192e7153f5b2b5cfdcf5f0ec Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 17 Jan 2010 11:26:16 +0100 Subject: increased conf/msg for recent CSRF problem SA38205 --- conf/msg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/msg b/conf/msg index 87287f5c4..38bbb133c 100644 --- a/conf/msg +++ b/conf/msg @@ -1,4 +1,4 @@ -24 +25 The first line of this file contains a number, indicating which notification messages should not be displayed. This is the only information sent to dokuwiki.org when the -- cgit v1.2.3 From fbb7e354f4aff3e38f01b228b843aa3ae91754ed Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 17 Jan 2010 13:48:00 +0100 Subject: more deprecated new by reference code fixed --- lib/plugins/plugin/admin.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index 4f8cc01a2..198512a43 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -111,7 +111,7 @@ class admin_plugin_plugin extends DokuWiki_Admin_Plugin { $class = 'ap_manage'; } - $this->handler = & new $class($this, $this->plugin); + $this->handler = new $class($this, $this->plugin); $this->msg = $this->handler->process(); } @@ -124,7 +124,7 @@ class admin_plugin_plugin extends DokuWiki_Admin_Plugin { $this->setupLocale(); $this->_get_plugin_list(); - if ($this->handler === NULL) $this->handler = & new ap_manage($this, $this->plugin); + if ($this->handler === NULL) $this->handler = new ap_manage($this, $this->plugin); ptln('
'); $this->handler->html(); -- cgit v1.2.3 From b5ee21aa65a2f380e3b99ff5ea6ced48c1cb720e Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 15 Dec 2009 10:54:30 +0100 Subject: Provide AFTER event for AUTH_LOGIN_CHECK Ignore-this: 804d0837b9a04e4f82e6b54765f453cf darcs-hash:20091215095430-e4919-19c61854c27fdade90caeed035445ee3396b0095.gz --- inc/auth.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/inc/auth.php b/inc/auth.php index 50c5f17ed..c18104487 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -90,13 +90,7 @@ if($conf['useacl']){ 'sticky' => $_REQUEST['r'], 'silent' => $_REQUEST['http_credentials'], ); - $evt = new Doku_Event('AUTH_LOGIN_CHECK',$evdata); - if($evt->advise_before()){ - auth_login($evdata['user'], - $evdata['password'], - $evdata['sticky'], - $evdata['silent']); - } + trigger_event('AUTH_LOGIN_CHECK', $evdata, 'auth_login_wrapper'); } } @@ -114,6 +108,13 @@ if($conf['useacl']){ } } +function auth_login_wrapper($evdata) { + return auth_login($evdata['user'], + $evdata['password'], + $evdata['sticky'], + $evdata['silent']); +} + /** * This tries to login the user based on the sent auth credentials * -- cgit v1.2.3 From b081e262b17e0409d75b608f15192588cd99217c Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 19 Nov 2009 14:57:35 +0100 Subject: Dynamically create edit buttons for parts of a page darcs-hash:20091119135735-e4919-3bc4872d1b1f8236571f936406db15bb0018610c.gz --- inc/html.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/inc/html.php b/inc/html.php index 29dddbe74..48d4370dc 100644 --- a/inc/html.php +++ b/inc/html.php @@ -91,14 +91,18 @@ function html_secedit_button($matches){ global $ID; global $INFO; - $section = $matches[2]; - $name = $matches[1]; + $edittarget = ($matches[1] === 'SECTION') ? 'plain' : + strtolower($matches[1]); + + $section = $matches[3]; + $name = $matches[2]; $secedit = ''; $secedit .= '
'; $secedit .= html_btn('secedit',$ID,'', array('do' => 'edit', - 'lines' => "$section", + 'lines' => $section, + 'edittarget' => $edittarget, 'rev' => $INFO['lastmod']), 'post', $name); $secedit .= '
'; @@ -113,11 +117,13 @@ function html_secedit_button($matches){ function html_secedit($text,$show=true){ global $INFO; + $regexp = '##'; + if($INFO['writable'] && $show && !$INFO['rev']){ - $text = preg_replace_callback('##', + $text = preg_replace_callback($regexp, 'html_secedit_button', $text); }else{ - $text = preg_replace('##','',$text); + $text = preg_replace($regexp,'',$text); } return $text; -- cgit v1.2.3 From 7c4635c4cfa34ef378423e198f9e78548cce62f0 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 19 Nov 2009 15:05:51 +0100 Subject: Introduce event HTML_EDIT_FORMSELECTION darcs-hash:20091119140551-e4919-7aa50fb6452dc6c402bfcd581f08d21de401999d.gz --- inc/html.php | 41 +++++++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/inc/html.php b/inc/html.php index 48d4370dc..dda797f9e 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1110,11 +1110,9 @@ function html_updateprofile(){ } /** - * This displays the edit form (lots of logic included) + * Preprocess edit form data * - * @fixme this is a huge lump of code and should be modularized * @triggers HTML_PAGE_FROMTEMPLATE - * @triggers HTML_EDITFORM_INJECTION * @author Andreas Gohr */ function html_edit($text=null,$include='edit'){ //FIXME: include needed? @@ -1128,7 +1126,6 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? global $SUM; global $lang; global $conf; - global $license; //set summary default if(!$SUM){ @@ -1182,20 +1179,44 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? print p_locale_xhtml('read'); } if(!$DATE) $DATE = $INFO['lastmod']; - ?> -
-
-
-
+ $data = compact('wr', 'text', 'mod', 'check'); + trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); +} +/** + * Display the default edit form + * + * Is the default action for HTML_EDIT_FORMSELECTION. + * + * @triggers HTML_EDITFORM_OUTPUT + */ +function html_edit_form($param) { + extract($param); + global $conf; + global $license; + global $lang; + global $REV; + global $DATE; + global $PRE; + global $SUF; + global $INFO; + global $SUM; + global $ID; + ?> +
+ +
+
+
+
'dw__editform')); -- cgit v1.2.3 From 07c2b1c7ce9255456bf19c45cf9d34452cec2af1 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 19 Nov 2009 15:06:19 +0100 Subject: Add TABLE range marker for table editing darcs-hash:20091119140619-e4919-15efddc768526a6c1f6472f83ede17019144ffa3.gz --- inc/parser/handler.php | 5 +++-- inc/parser/renderer.php | 2 +- inc/parser/xhtml.php | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inc/parser/handler.php b/inc/parser/handler.php index eaa42f9bf..ea5a69b35 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -589,10 +589,11 @@ class Doku_Handler { } else { $this->_addCall('tablecell', array(), $pos); } + $this->status['table_begin'] = $pos; break; case DOKU_LEXER_EXIT: - $this->_addCall('table_end', array(), $pos); + $this->_addCall('table_end', array($this->status['table_begin']+1, $pos), $pos); $this->CallWriter->process(); $ReWriter = & $this->CallWriter; $this->CallWriter = & $ReWriter->CallWriter; @@ -1222,7 +1223,7 @@ class Doku_Handler_Table { } function tableEnd($call) { - $this->tableCalls[] = array('table_close',array(),$call[2]); + $this->tableCalls[] = array('table_close',$call[1],$call[2]); $this->finalizeTable(); } diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index 6082e935d..65dcaf8a1 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -233,7 +233,7 @@ class Doku_Renderer extends DokuWiki_Plugin { function table_open($maxcols = NULL, $numrows = NULL){} - function table_close(){} + function table_close($begin, $end){} function tablerow_open(){} diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 20acf4281..4e848ec1d 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -851,8 +851,9 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $this->doc .= '
'.$this->getLang('where').'
'.DOKU_LF; } - function table_close(){ + function table_close($begin, $end){ $this->doc .= '
'.DOKU_LF; + $this->doc .= ''; } function tablerow_open(){ -- cgit v1.2.3 From be615a48b77032ed713b970521ed46503be853e7 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 25 Nov 2009 15:47:59 +0100 Subject: Support for adding IDs and classes to toolbar buttons Ignore-this: 87db996b332355addacd81b1ac13b0ab darcs-hash:20091125144759-6e07b-601ea98a48d9d3c9dd3508cdb9cde9b86c83a5a3.gz --- lib/scripts/edit.js | 5 ++++- lib/scripts/toolbar.js | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index a80c8a06e..7b30ddca4 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -12,12 +12,15 @@ * * @author Andreas Gohr */ -function createToolButton(icon,label,key,id){ +function createToolButton(icon,label,key,id,classname){ var btn = document.createElement('button'); var ico = document.createElement('img'); // preapare the basic button stuff btn.className = 'toolbutton'; + if(classname){ + btn.className += ' '+classname; + } btn.title = label; if(key){ btn.title += ' ['+key.toUpperCase()+']'; diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js index 1e4a91864..99ad1bb9c 100644 --- a/lib/scripts/toolbar.js +++ b/lib/scripts/toolbar.js @@ -27,7 +27,9 @@ function initToolbar(tbid,edid,tb){ // create new button var btn = createToolButton(tb[i]['icon'], tb[i]['title'], - tb[i]['key']); + tb[i]['key'], + tb[i]['id'], + tb[i]['class']); // type is a tb function -> assign it as onclick -- cgit v1.2.3 From 45d0580848a1c48ed59ed416949c0efb4cf790f8 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 26 Nov 2009 13:14:28 +0100 Subject: Add target-specific class to section edit button darcs-hash:20091126121428-e4919-8c21d358a76148a9319bf223d0fa1baba8c92656.gz --- inc/html.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/inc/html.php b/inc/html.php index dda797f9e..7f061ffbd 100644 --- a/inc/html.php +++ b/inc/html.php @@ -104,7 +104,7 @@ function html_secedit_button($matches){ 'lines' => $section, 'edittarget' => $edittarget, 'rev' => $INFO['lastmod']), - 'post', $name); + 'post', $name, 'editbutton_' . $edittarget); $secedit .= ''; return $secedit; } @@ -149,7 +149,7 @@ function html_topbtn(){ * * @author Andreas Gohr */ -function html_btn($name,$id,$akey,$params,$method='get',$tooltip=''){ +function html_btn($name,$id,$akey,$params,$method='get',$tooltip='', $class = ''){ global $conf; global $lang; @@ -187,7 +187,9 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip=''){ $tip = htmlspecialchars($label); } - $ret .= ' Date: Fri, 27 Nov 2009 12:24:02 +0100 Subject: Make drag inheritable darcs-hash:20091127112402-e4919-dc8340c03ef2d3b242302dcc228d56539eaf9e28.gz --- lib/scripts/drag.js | 55 ++++++++++++++++++++++++++++------------------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/lib/scripts/drag.js b/lib/scripts/drag.js index 4726b77de..fa249a996 100644 --- a/lib/scripts/drag.js +++ b/lib/scripts/drag.js @@ -1,8 +1,9 @@ /** * Makes a DOM object draggable * - * This is currently for movable DOM dialogs only. If needed it could be - * extended to execute callbacks on special events... + * If you just want to move objects around, use drag.attach. For full + * customization, drag can be used as a javascript prototype, it is + * inheritance-aware. * * @link http://nofunc.org/Drag_Drop/ */ @@ -26,33 +27,36 @@ var drag = { attach: function (obj,handle) { if(handle){ handle.dragobject = obj; - addEvent($(handle),'mousedown',drag.start); }else{ - addEvent($(obj),'mousedown',drag.start); + handle = obj; } + var _this = this; + addEvent($(handle),'mousedown',function (e) {return _this.start(e); }); }, /** * Starts the dragging operation */ start: function (e){ - drag.handle = e.target; - if(drag.handle.dragobject){ - drag.obj = drag.handle.dragobject; + this.handle = e.target; + if(this.handle.dragobject){ + this.obj = this.handle.dragobject; }else{ - drag.obj = drag.handle; + this.obj = this.handle; } - drag.handle.className += ' ondrag'; - drag.obj.className += ' ondrag'; + this.handle.className += ' ondrag'; + this.obj.className += ' ondrag'; - drag.oX = parseInt(drag.obj.style.left); - drag.oY = parseInt(drag.obj.style.top); - drag.eX = drag.evX(e); - drag.eY = drag.evY(e); + this.oX = parseInt(this.obj.style.left); + this.oY = parseInt(this.obj.style.top); + this.eX = drag.evX(e); + this.eY = drag.evY(e); - addEvent(document,'mousemove',drag.drag); - addEvent(document,'mouseup',drag.stop); + var _this = this; + this.mousehandlers = [function (e) {return _this.drag(e);}, function (e) {return _this.stop(e);}]; + addEvent(document,'mousemove', this.mousehandlers[0]); + addEvent(document,'mouseup', this.mousehandlers[1]); e.preventDefault(); e.stopPropagation(); @@ -63,21 +67,21 @@ var drag = { * Ends the dragging operation */ stop: function(){ - drag.handle.className = drag.handle.className.replace(/ ?ondrag/,''); - drag.obj.className = drag.obj.className.replace(/ ?ondrag/,''); - removeEvent(document,'mousemove',drag.drag); - removeEvent(document,'mouseup',drag.stop); - drag.obj = null; - drag.handle = null; + this.handle.className = this.handle.className.replace(/ ?ondrag/,''); + this.obj.className = this.obj.className.replace(/ ?ondrag/,''); + removeEvent(document,'mousemove', this.mousehandlers[0]); + removeEvent(document,'mouseup', this.mousehandlers[1]); + this.obj = null; + this.handle = null; }, /** * Moves the object during the dragging operation */ drag: function(e) { - if(drag.obj) { - drag.obj.style.top = (drag.evY(e)+drag.oY-drag.eY+'px'); - drag.obj.style.left = (drag.evX(e)+drag.oX-drag.eX+'px'); + if(this.obj) { + this.obj.style.top = (this.evY(e)+this.oY-this.eY+'px'); + this.obj.style.left = (this.evX(e)+this.oX-this.eX+'px'); } }, @@ -96,4 +100,3 @@ var drag = { } }; - -- cgit v1.2.3 From d822118c9a034bb7ecb820df6ac46cb078d5d4b9 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 30 Nov 2009 14:10:48 +0100 Subject: Move edit button class to the topmost div darcs-hash:20091130131048-e4919-20c11bb664df45e76a4de30dee53e067dfa9d788.gz --- inc/html.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/inc/html.php b/inc/html.php index 7f061ffbd..8a215f440 100644 --- a/inc/html.php +++ b/inc/html.php @@ -98,13 +98,13 @@ function html_secedit_button($matches){ $name = $matches[2]; $secedit = ''; - $secedit .= '
'; + $secedit .= '
'; $secedit .= html_btn('secedit',$ID,'', array('do' => 'edit', 'lines' => $section, 'edittarget' => $edittarget, 'rev' => $INFO['lastmod']), - 'post', $name, 'editbutton_' . $edittarget); + 'post', $name); $secedit .= '
'; return $secedit; } @@ -149,7 +149,7 @@ function html_topbtn(){ * * @author Andreas Gohr */ -function html_btn($name,$id,$akey,$params,$method='get',$tooltip='', $class = ''){ +function html_btn($name,$id,$akey,$params,$method='get',$tooltip=''){ global $conf; global $lang; @@ -187,9 +187,7 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip='', $class = '' $tip = htmlspecialchars($label); } - $class .= ' button'; - - $ret .= ' Date: Wed, 2 Dec 2009 13:24:34 +0100 Subject: Fix section edit highlighting for tables darcs-hash:20091202122434-e4919-d7be5b868af742e2408091b48f0152153ff1acb1.gz --- lib/scripts/script.js | 41 +++++++++++++++++++++++++++++------------ lib/tpl/default/design.css | 4 ++-- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index ccba82144..b611f980a 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -538,24 +538,41 @@ addInitEvent(function(){ var break_classes = new RegExp('secedit|toc|page'); var btns = getElementsByClass('btn_secedit',document,'form'); for(var i=0; i Date: Tue, 5 Jan 2010 14:14:00 +0100 Subject: New mail subscription with digest --- conf/dokuwiki.php | 2 + inc/actions.php | 124 +++++++-------- inc/common.php | 129 ++++------------ inc/confutils.php | 1 - inc/form.php | 21 +++ inc/lang/en/lang.php | 31 ++-- inc/lang/en/subscr_digest.txt | 20 +++ inc/lang/en/subscr_form.txt | 3 + inc/lang/en/subscr_list.txt | 17 ++ inc/lang/en/subscr_single.txt | 23 +++ inc/lang/en/subscribermail.txt | 23 --- inc/pageutils.php | 17 ++ inc/subscription.php | 342 +++++++++++++++++++++++++++++++++++++++++ inc/template.php | 138 +++++++++-------- lib/exe/indexer.php | 70 +++++++++ lib/exe/js.php | 1 + lib/scripts/subscriptions.js | 46 ++++++ lib/tpl/default/design.css | 14 ++ lib/tpl/default/main.php | 1 - 19 files changed, 758 insertions(+), 265 deletions(-) create mode 100644 inc/lang/en/subscr_digest.txt create mode 100644 inc/lang/en/subscr_form.txt create mode 100644 inc/lang/en/subscr_list.txt create mode 100644 inc/lang/en/subscr_single.txt delete mode 100644 inc/lang/en/subscribermail.txt create mode 100644 inc/subscription.php create mode 100644 lib/scripts/subscriptions.js diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index 74d95147e..e6a19e60b 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -103,6 +103,8 @@ $conf['gdlib'] = 2; //the GDlib version (0, 1 or 2) 2 tries $conf['im_convert'] = ''; //path to ImageMagicks convert (will be used instead of GD) $conf['jpg_quality'] = '70'; //quality of compression when scaling jpg images (0-100) $conf['subscribers'] = 0; //enable change notice subscription support +$conf['subscribe_time'] = 24 * 60 * 60; //Time after which digests / lists are sent (in sec, default 1 day) + //Should be larger than the time specified in recent_days $conf['compress'] = 1; //Strip whitespaces and comments from Styles and JavaScript? 1|0 $conf['hidepages'] = ''; //Regexp for pages to be skipped from RSS, Search and Recent Changes $conf['send404'] = 0; //Send a HTTP 404 status for non existing pages? diff --git a/inc/actions.php b/inc/actions.php index 92f817133..a856b7919 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -47,12 +47,13 @@ function act_dispatch(){ } //check if user is asking to (un)subscribe a page - if($ACT == 'subscribe' || $ACT == 'unsubscribe') - $ACT = act_subscription($ACT); - - //check if user is asking to (un)subscribe a namespace - if($ACT == 'subscribens' || $ACT == 'unsubscribens') - $ACT = act_subscriptionns($ACT); + if($ACT == 'subscribe') { + try { + $ACT = act_subscription($ACT); + } catch (Exception $e) { + msg($e->getMessage(), -1); + } + } //check permissions $ACT = act_permcheck($ACT); @@ -550,81 +551,68 @@ function act_export($act){ } /** - * Handle page 'subscribe', 'unsubscribe' + * Handle page 'subscribe' + * + * Throws exception on error. * - * @author Steven Danz - * @todo localize + * @author Adrian Lang */ function act_subscription($act){ - global $ID; - global $INFO; global $lang; - - $file=metaFN($ID,'.mlist'); - if ($act=='subscribe' && !$INFO['subscribed']){ - if ($INFO['userinfo']['mail']){ - if (io_saveFile($file,$_SERVER['REMOTE_USER']."\n",true)) { - $INFO['subscribed'] = true; - msg(sprintf($lang[$act.'_success'], $INFO['userinfo']['name'], $ID),1); - } else { - msg(sprintf($lang[$act.'_error'], $INFO['userinfo']['name'], $ID),1); - } - } else { - msg($lang['subscribe_noaddress']); - } - } elseif ($act=='unsubscribe' && $INFO['subscribed']){ - if (io_deleteFromFile($file,$_SERVER['REMOTE_USER']."\n")) { - $INFO['subscribed'] = false; - msg(sprintf($lang[$act.'_success'], $INFO['userinfo']['name'], $ID),1); - } else { - msg(sprintf($lang[$act.'_error'], $INFO['userinfo']['name'], $ID),1); - } - } - - return 'show'; -} - -/** - * Handle namespace 'subscribe', 'unsubscribe' - * - */ -function act_subscriptionns($act){ - global $ID; global $INFO; - global $lang; - if(!getNS($ID)) { - $file = metaFN(getNS($ID),'.mlist'); - $ns = "root"; - } else { - $file = metaFN(getNS($ID),'/.mlist'); - $ns = getNS($ID); + if ($_SERVER['REQUEST_METHOD'] !== 'POST') { + // No post to handle, let tpl_subscribe manage the request. + return $act; } - // reuse strings used to display the status of the subscribe action - $act_msg = rtrim($act, 'ns'); - - if ($act=='subscribens' && !$INFO['subscribedns']){ - if ($INFO['userinfo']['mail']){ - if (io_saveFile($file,$_SERVER['REMOTE_USER']."\n",true)) { - $INFO['subscribedns'] = true; - msg(sprintf($lang[$act_msg.'_success'], $INFO['userinfo']['name'], $ns),1); - } else { - msg(sprintf($lang[$act_msg.'_error'], $INFO['userinfo']['name'], $ns),1); + // Get and validate parameters. + if (!isset($_POST['subscribe_target'])) { + throw new Exception($lang['subscr_no_target']); + } + $target = $_POST['subscribe_target']; + $valid_styles = array('every', 'digest'); + if (substr($target, -1, 1) === ':') { + // Allow “list” subscribe style since the target is a namespace. + $valid_styles[] = 'list'; + } + $style = valid_input_set('subscribe_style', $valid_styles, $_POST, + $lang['subscr_invalid_style']); + $action = valid_input_set('subscribe_action', array('subscribe', + 'unsubscribe'), + $_POST, $lang['subscr_invalid_action']); + + // Check other conditions. + if ($action === 'subscribe') { + if ($INFO['userinfo']['mail'] === '') { + throw new Exception($lang['subscr_subscribe_noaddress']); + } + } elseif ($action === 'unsubscribe') { + $is = false; + foreach($INFO['subscribed'] as $subscr) { + if ($subscr['target'] === $target) { + $is = true; } - } else { - msg($lang['subscribe_noaddress']); } - } elseif ($act=='unsubscribens' && $INFO['subscribedns']){ - if (io_deleteFromFile($file,$_SERVER['REMOTE_USER']."\n")) { - $INFO['subscribedns'] = false; - msg(sprintf($lang[$act_msg.'_success'], $INFO['userinfo']['name'], $ns),1); - } else { - msg(sprintf($lang[$act_msg.'_error'], $INFO['userinfo']['name'], $ns),1); + if ($is === false) { + throw new Exception(sprintf($lang['subscr_not_subscribed_you'], + prettyprint_id($target))); } + // subscription_set deletes a subscription if style = null. + $style = null; } - return 'show'; + // Perform action. + require_once DOKU_INC . 'inc/subscription.php'; + if (!subscription_set($target, $_SERVER['REMOTE_USER'], $style)) { + throw new Exception(sprintf($lang["subscr_{$action}_error"], + hsc($INFO['userinfo']['name']), + prettyprint_id($target))); + } + $INFO['subscribed'] = get_info_subscribed(); + msg(sprintf($lang["subscr_{$action}_success"], hsc($INFO['userinfo']['name']), + prettyprint_id($target)), 1); + return $act; } //Setup VIM: ex: et ts=2 enc=utf-8 : diff --git a/inc/common.php b/inc/common.php index 85187f16d..2cc279844 100644 --- a/inc/common.php +++ b/inc/common.php @@ -13,6 +13,7 @@ require_once(DOKU_INC.'inc/utf8.php'); require_once(DOKU_INC.'inc/mail.php'); require_once(DOKU_INC.'inc/parserutils.php'); require_once(DOKU_INC.'inc/infoutils.php'); +require_once DOKU_INC.'inc/subscription.php'; /** * These constants are used with the recents function @@ -117,8 +118,7 @@ function pageinfo(){ if(isset($_SERVER['REMOTE_USER'])){ $info['userinfo'] = $USERINFO; $info['perm'] = auth_quickaclcheck($ID); - $info['subscribed'] = is_subscribed($ID,$_SERVER['REMOTE_USER'],false); - $info['subscribedns'] = is_subscribed($ID,$_SERVER['REMOTE_USER'],true); + $info['subscribed'] = get_info_subscribed(); $info['client'] = $_SERVER['REMOTE_USER']; if($info['perm'] == AUTH_ADMIN){ @@ -1061,10 +1061,10 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ }elseif($who == 'subscribers'){ if(!$conf['subscribers']) return; //subscribers enabled? if($conf['useacl'] && $_SERVER['REMOTE_USER'] && $minor) return; //skip minors - $bcc = subscriber_addresslist($id,false); + $bcc = subscription_addresslist($id,false); if(empty($bcc)) return; $to = ''; - $text = rawLocale('subscribermail'); + $text = rawLocale('subscr_single'); }elseif($who == 'register'){ if(empty($conf['registernotify'])) return; $text = rawLocale('registermail'); @@ -1097,7 +1097,7 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ $text = str_replace('@OLDPAGE@',wl($id,"rev=$rev",true,'&'),$text); require_once(DOKU_INC.'inc/DifferenceEngine.php'); $df = new Diff(explode("\n",rawWiki($id,$rev)), - explode("\n",rawWiki($id))); + explode("\n",rawWiki($id))); $dformat = new UnifiedDiffFormatter(); $diff = $dformat->format($df); }else{ @@ -1272,97 +1272,6 @@ function obfuscate($email) { } } -/** - * Let us know if a user is tracking a page or a namespace - * - * @author Andreas Gohr - */ -function is_subscribed($id,$uid,$ns=false){ - if(!$ns) { - $file=metaFN($id,'.mlist'); - } else { - if(!getNS($id)) { - $file = metaFN(getNS($id),'.mlist'); - } else { - $file = metaFN(getNS($id),'/.mlist'); - } - } - if (@file_exists($file)) { - $mlist = file($file); - $pos = array_search($uid."\n",$mlist); - return is_int($pos); - } - - return false; -} - -/** - * Return a string with the email addresses of all the - * users subscribed to a page - * - * @author Steven Danz - */ -function subscriber_addresslist($id,$self=true){ - global $conf; - global $auth; - - if (!$conf['subscribers']) return ''; - - $users = array(); - $emails = array(); - - // load the page mlist file content - $mlist = array(); - $file=metaFN($id,'.mlist'); - if (@file_exists($file)) { - $mlist = file($file); - foreach ($mlist as $who) { - $who = rtrim($who); - if(!$self && $who == $_SERVER['REMOTE_USER']) continue; - $users[$who] = true; - } - } - - // load also the namespace mlist file content - $ns = getNS($id); - while ($ns) { - $nsfile = metaFN($ns,'/.mlist'); - if (@file_exists($nsfile)) { - $mlist = file($nsfile); - foreach ($mlist as $who) { - $who = rtrim($who); - if(!$self && $who == $_SERVER['REMOTE_USER']) continue; - $users[$who] = true; - } - } - $ns = getNS($ns); - } - // root namespace - $nsfile = metaFN('','.mlist'); - if (@file_exists($nsfile)) { - $mlist = file($nsfile); - foreach ($mlist as $who) { - $who = rtrim($who); - if(!$self && $who == $_SERVER['REMOTE_USER']) continue; - $users[$who] = true; - } - } - if(!empty($users)) { - foreach (array_keys($users) as $who) { - $info = $auth->getUserData($who); - if($info === false) continue; - $level = auth_aclcheck($id,$who,$info['grps']); - if ($level >= AUTH_READ) { - if (strcasecmp($info['mail'],$conf['notify']) != 0) { - $emails[] = $info['mail']; - } - } - } - } - - return implode(',',$emails); -} - /** * Removes quoting backslashes * @@ -1545,4 +1454,30 @@ function send_redirect($url){ exit; } -//Setup VIM: ex: et ts=4 enc=utf-8 : +/** + * Validate a value using a set of valid values + * + * This function checks whether a specified value is set and in the array + * $valid_values. If not, the function returns a default value or, if no + * default is specified, throws an exception. + * + * @param string $param The name of the parameter + * @param array $valid_values A set of valid values; Optionally a default may + * be marked by the key “default”. + * @param array $array The array containing the value (typically $_POST + * or $_GET) + * @param string $exc The text of the raised exception + * + * @author Adrian Lang + */ +function valid_input_set($param, $valid_values, $array, $exc = '') { + if (isset($array[$param]) && in_array($array[$param], $valid_values)) { + return $array[$param]; + } elseif (isset($valid_values['default'])) { + return $valid_values['default']; + } else { + throw new Exception($exc); + } +} + +//Setup VIM: ex: et ts=2 enc=utf-8 : diff --git a/inc/confutils.php b/inc/confutils.php index abfde8a80..de63846de 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -248,7 +248,6 @@ function actionOK($action){ if(isset($conf['resendpasswd']) && !$conf['resendpasswd']) $disabled[] = 'resendpwd'; if(isset($conf['subscribers']) && !$conf['subscribers']) { $disabled[] = 'subscribe'; - $disabled[] = 'subscribens'; } $disabled = array_unique($disabled); } diff --git a/inc/form.php b/inc/form.php index 6d496f414..0a6bc2bba 100644 --- a/inc/form.php +++ b/inc/form.php @@ -283,6 +283,27 @@ class Doku_Form { echo $this->getForm(); } + /** + * Add a radio set + * + * This function adds a set of radio buttons to the form. If $_POST[$name] + * is set, this radio is preselected, else the first radio button. + * + * @param string $name The HTML field name + * @param array $entries An array of entries $value => $caption + * + * @author Adrian Lang + */ + + function addRadioSet($name, $entries) { + $value = (isset($_POST[$name]) && isset($entries[$_POST[$name]])) ? + $_POST[$name] : key($entries); + foreach($entries as $val => $cap) { + $data = ($value === $val) ? array('checked' => 'checked') : array(); + $this->addElement(form_makeRadioField($name, $val, $cap, '', '', $data)); + } + } + } /** diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index cf5173d05..728d7823b 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -39,10 +39,7 @@ $lang['btn_delete'] = 'Delete'; $lang['btn_back'] = 'Back'; $lang['btn_backlink'] = "Backlinks"; $lang['btn_backtomedia'] = 'Back to Mediafile Selection'; -$lang['btn_subscribe'] = 'Subscribe Page Changes'; -$lang['btn_unsubscribe'] = 'Unsubscribe Page Changes'; -$lang['btn_subscribens'] = 'Subscribe Namespace Changes'; -$lang['btn_unsubscribens'] = 'Unsubscribe Namespace Changes'; +$lang['btn_subscribe'] = 'Manage Subscriptions'; $lang['btn_profile'] = 'Update Profile'; $lang['btn_reset'] = 'Reset'; $lang['btn_resendpwd'] = 'Send new password'; @@ -158,6 +155,7 @@ $lang['download'] = 'Download Snippet'; $lang['mail_newpage'] = 'page added:'; $lang['mail_changed'] = 'page changed:'; +$lang['mail_subscribe_list'] = 'pages changed in namespace:'; $lang['mail_new_user'] = 'new user:'; $lang['mail_upload'] = 'file uploaded:'; @@ -212,11 +210,26 @@ $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Camera'; $lang['img_keywords']= 'Keywords'; -$lang['subscribe_success'] = 'Added %s to subscription list for %s'; -$lang['subscribe_error'] = 'Error adding %s to subscription list for %s'; -$lang['subscribe_noaddress']= 'There is no address associated with your login, you cannot be added to the subscription list'; -$lang['unsubscribe_success']= 'Removed %s from subscription list for %s'; -$lang['unsubscribe_error'] = 'Error removing %s from subscription list for %s'; +$lang['subscr_subscribe_success'] = 'Added %s to subscription list for %s'; +$lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for %s'; +$lang['subscr_subscribe_noaddress']= 'There is no address associated with your login, you cannot be added to the subscription list'; +$lang['subscr_unsubscribe_success']= 'Removed %s from subscription list for %s'; +$lang['subscr_unsubscribe_error'] = 'Error removing %s from subscription list for %s'; +$lang['subscr_no_target'] = 'No subscription target'; +$lang['subscr_invalid_style'] = 'Invalid subscription style'; +$lang['subscr_invalid_action'] = 'Invalid subscription action'; +$lang['subscr_already_subscribed'] = '%s is already subscribed to %s'; +$lang['subscr_not_subscribed'] = '%s is not subscribed to %s'; +$lang['subscr_not_subscribed_you'] = 'You are not subscribed to %s'; +// Manage page for subscriptions +$lang['subscr_m_current_header'] = 'Current subscriptions'; +$lang['subscr_m_current'] = 'Your current subscriptions:'; +$lang['subscr_m_entry'] = 'Subscribed to %s receiving %s.'; +$lang['subscr_m_delete'] = 'Delete'; +$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to this page.'; +$lang['subscr_m_new_header'] = 'Add subscription'; +$lang['subscr_m_noemail'] = 'You did not set an email address.'; +$lang['subscr_m_subscribe'] = 'Subscribe'; /* auth.class language support */ $lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.'; diff --git a/inc/lang/en/subscr_digest.txt b/inc/lang/en/subscr_digest.txt new file mode 100644 index 000000000..35011b6e6 --- /dev/null +++ b/inc/lang/en/subscr_digest.txt @@ -0,0 +1,20 @@ +Hello! + +The page @PAGE@ in the @TITLE@ wiki changed. +Here are the changes: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Old Revision: @OLDPAGE@ +New Revision: @NEWPAGE@ + +To cancel the page notifications, log into the wiki at +@DOKUWIKIURL@ then visit +@SUBSCRIBE@ +and unsubscribe page and/or namespace changes. + +-- +This mail was generated by DokuWiki at +@DOKUWIKIURL@ diff --git a/inc/lang/en/subscr_form.txt b/inc/lang/en/subscr_form.txt new file mode 100644 index 000000000..94b75258c --- /dev/null +++ b/inc/lang/en/subscr_form.txt @@ -0,0 +1,3 @@ +====== Manage subscriptions ====== + +This form allows you to manage your subscriptions for the current page. diff --git a/inc/lang/en/subscr_list.txt b/inc/lang/en/subscr_list.txt new file mode 100644 index 000000000..efe27d866 --- /dev/null +++ b/inc/lang/en/subscr_list.txt @@ -0,0 +1,17 @@ +Hello! + +Pages in the namespace @PAGE@ of the @TITLE@ wiki changed. +Here are the changed pages: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +To cancel the page notifications, log into the wiki at +@DOKUWIKIURL@ then visit +@SUBSCRIBE@ +and unsubscribe page and/or namespace changes. + +-- +This mail was generated by DokuWiki at +@DOKUWIKIURL@ diff --git a/inc/lang/en/subscr_single.txt b/inc/lang/en/subscr_single.txt new file mode 100644 index 000000000..673c4c32a --- /dev/null +++ b/inc/lang/en/subscr_single.txt @@ -0,0 +1,23 @@ +Hello! + +The page @PAGE@ in the @TITLE@ wiki changed. +Here are the changes: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Date : @DATE@ +User : @USER@ +Edit Summary: @SUMMARY@ +Old Revision: @OLDPAGE@ +New Revision: @NEWPAGE@ + +To cancel the page notifications, log into the wiki at +@DOKUWIKIURL@ then visit +@NEWPAGE@ +and unsubscribe page and/or namespace changes. + +-- +This mail was generated by DokuWiki at +@DOKUWIKIURL@ diff --git a/inc/lang/en/subscribermail.txt b/inc/lang/en/subscribermail.txt deleted file mode 100644 index 673c4c32a..000000000 --- a/inc/lang/en/subscribermail.txt +++ /dev/null @@ -1,23 +0,0 @@ -Hello! - -The page @PAGE@ in the @TITLE@ wiki changed. -Here are the changes: - --------------------------------------------------------- -@DIFF@ --------------------------------------------------------- - -Date : @DATE@ -User : @USER@ -Edit Summary: @SUMMARY@ -Old Revision: @OLDPAGE@ -New Revision: @NEWPAGE@ - -To cancel the page notifications, log into the wiki at -@DOKUWIKIURL@ then visit -@NEWPAGE@ -and unsubscribe page and/or namespace changes. - --- -This mail was generated by DokuWiki at -@DOKUWIKIURL@ diff --git a/inc/pageutils.php b/inc/pageutils.php index 9c192e5e6..239ff41c5 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -534,4 +534,21 @@ function isVisiblePage($id){ return !isHiddenPage($id); } +/** + * Format an id for output to a user + * + * Namespaces are denoted by a trailing “:*”. The root namespace is + * “*”. Output is escaped. + * + * @author Adrian Lang + */ +function prettyprint_id($id) { + if (!$id || $id === ':') { + return '*'; + } + if ((substr($id, -1, 1) === ':')) { + $id .= '*'; + } + return hsc($id); +} diff --git a/inc/subscription.php b/inc/subscription.php new file mode 100644 index 000000000..1dcecf6f5 --- /dev/null +++ b/inc/subscription.php @@ -0,0 +1,342 @@ + + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + */ + +require_once DOKU_INC.'/inc/pageutils.php'; + +/** + * Get the name of the metafile tracking subscriptions to target page or + * namespace + * + * @param string $id The target page or namespace, specified by id; Namespaces + * are identified by appending a colon. + * + * @author Adrian Lang + */ +function subscription_filename($id) { + $meta_fname = '.mlist'; + if ((substr($id, -1, 1) === ':')) { + $meta_froot = getNS($id); + if ($meta_froot === false) { + $meta_fname = '/' . $meta_fname; + } + } else { + $meta_froot = $id; + } + return metaFN($meta_froot, $meta_fname); +} + +/** + * Set subscription information + * + * Allows to set subscription informations for permanent storage in meta files. + * Subscriptions consist of a target object, a subscribing user, a subscribe + * style and optional data. + * A subscription may be deleted by specifying an empty subscribe style. + * Only one subscription per target and user is allowed. + * The function returns false on error, otherwise true. Note that no error is + * returned if a subscription should be deleted but the user is not subscribed + * and the subscription meta file exists. + * + * @param string $page The target object (page or namespace), specified by + * id; Namespaces are identified by a trailing colon. + * @param string $user The user + * @param string $style The subscribe style; DokuWiki currently implements + * “every”, “digest”, and “list”. + * @param bool $overwrite Whether an existing subscription may be overwritten + * @param string $data An optional data blob; For list and digest, this + * defaults to time(). + * + * @author Adrian Lang + */ +function subscription_set($page, $user, $style, $overwrite = false, $data = null) { + global $lang; + if (is_null($style)) { + // Delete subscription. + $file = subscription_filename($page); + if (!@file_exists($file)) { + msg(sprintf($lang['subscr_not_subscribed'], $user, + prettyprint_id($page)), -1); + return false; + } + + // io_deleteFromFile does not return false if no line matched. + return io_deleteFromFile($file, + subscription_regex(array('user' => $user)), + true); + } + + // Delete subscription if one exists and $overwrite is true. If $overwrite + // is false, fail. + $subs = subscription_find($page, array('user' => $user)); + if (count($subs) > 0 && array_pop(array_keys($subs)) === $page) { + if (!$overwrite) { + msg(sprintf($lang['subscr_already_subscribed'], $user, + prettyprint_id($page)), -1); + return false; + } + // Fail if deletion failed, else continue. + if (!subscription_set($page, $user, null)) { + return false; + } + } + + $file = subscription_filename($page); + $content = auth_nameencode($user) . ' ' . $style; + if (in_array($style, array('list', 'digest'))) { + $content .= ' ' . (!is_null($data) ? $data : time()); + } + return io_saveFile($file, $content . "\n", true); +} + +/** + * Recursively search for matching subscriptions + * + * This function searches all relevant subscription files for a page or + * namespace. + * + * @param string $page The target object’s (namespace or page) id + * @param array $pre A hash of predefined values + * + * @see function subscription_regex for $pre documentation + * + * @author Adrian Lang + */ +function subscription_find($page, $pre) { + // Construct list of files which may contain relevant subscriptions. + $filenames = array(); + do { + $filenames[$page] = subscription_filename($page); + $page = getNS(rtrim($page, ':')) . ':'; + } while ($page !== ':'); + + // Handle files. + $matches = array(); + foreach ($filenames as $cur_page => $filename) { + if (!@file_exists($filename)) { + continue; + } + $subscriptions = file($filename); + foreach ($subscriptions as $subscription) { + if (strpos($subscription, ' ') === false) { + // This is an old subscription file. + $subscription = trim($subscription) . " every\n"; + } + if (preg_match(subscription_regex($pre), $subscription, + &$line_matches) === 0) { + continue; + } + $match = array_slice($line_matches, 1); + if (!isset($matches[$cur_page])) { + $matches[$cur_page] = array(); + } + $matches[$cur_page][] = $match; + } + } + return array_reverse($matches); +} + +/** + * Get data for $INFO['subscribed'] + * + * $INFO['subscribed'] is either false if no subscription for the current page + * and user is in effect. Else it contains an array of arrays with the fields + * “target”, “style”, and optionally “data”. + * + * @author Adrian Lang + */ +function get_info_subscribed() { + global $ID; + global $conf; + if (!$conf['subscribers']) { + return false; + } + + $subs = subscription_find($ID, array('user' => $_SERVER['REMOTE_USER'])); + if (count($subs) === 0) { + return false; + } + + $_ret = array(); + foreach ($subs as $target => $subs_data) { + $new = array('target' => $target, + 'style' => $subs_data[0][0]); + if (count($subs_data[0]) > 1) { + $new['data'] = $subs_data[0][1]; + } + $_ret[] = $new; + } + + return $_ret; +} + +/** + * Construct a regular expression parsing a subscription definition line + * + * @param array $pre A hash of predefined values; “user”, “style”, and + * “data” may be set to limit the results to + * subscriptions matching these parameters. If + * “escaped” is true, these fields are inserted into the + * regular expression without escaping. + * + * @author Adrian Lang + */ +function subscription_regex($pre = array()) { + if (!isset($pre['escaped']) || $pre['escaped'] === false) { + $pre = array_map('preg_quote_cb', $pre); + } + foreach (array('user', 'style', 'data') as $key) { + if (!isset($pre[$key])) { + $pre[$key] = '(\S+)'; + } + } + return '/^' . $pre['user'] . '(?: ' . $pre['style'] . + '(?: ' . $pre['data'] . ')?)?$/'; +} + +/** + * Return a string with the email addresses of all the + * users subscribed to a page + * + * @param string $id The id of the changed page + * @param bool $self Whether a notice should be sent to the editor if he is + * subscribed + * + * @author Steven Danz + */ +function subscription_addresslist($id, $self=true){ + global $conf; + global $auth; + + if (!$conf['subscribers']) { + return ''; + } + $pres = array('style' => 'every', 'escaped' => true); + if (!$self && isset($_SERVER['REMOTE_USER'])) { + $pres['user'] = '((?:(?!' . preg_quote_cb($_SERVER['REMOTE_USER']) . + ')\S?)+)'; + } + $subs = subscription_find($id, $pres); + $emails = array(); + foreach ($subs as $by_targets) { + foreach ($by_targets as $sub) { + $info = $auth->getUserData($sub[0]); + if ($info === false) continue; + $level = auth_aclcheck($id, $sub[0], $info['grps']); + if ($level >= AUTH_READ) { + if (strcasecmp($info['mail'], $conf['notify']) != 0) { + $emails[$sub[0]] = $info['mail']; + } + } + } + } + return implode(',', $emails); +} + +/** + * Send a digest mail + * + * Sends a digest mail showing a bunch of changes. + * + * @param string $subscriber_mail The target mail address + * @param array $change The newest change + * @param int $lastupdate Time of the last notification + * + * @author Adrian Lang + */ +function subscription_send_digest($subscriber_mail, $change, $lastupdate) { + $id = $change['id']; + $n = 0; + do { + $rev = getRevisions($id, $n++, 1); + $rev = (count($rev) > 0) ? $rev[0] : null; + } while (!is_null($rev) && $rev > $lastupdate); + + $ip = $change['ip']; + $replaces = array('NEWPAGE' => wl($id, '', true, '&'), + 'SUBSCRIBE' => wl($id, array('do' => 'subscribe'), true, '&')); + if (!is_null($rev)) { + $subject = 'changed'; + $replaces['OLDPAGE'] = wl($id, "rev=$rev", true, '&'); + require_once DOKU_INC.'inc/DifferenceEngine.php'; + $df = new Diff(explode("\n", rawWiki($id, $rev)), + explode("\n", rawWiki($id))); + $dformat = new UnifiedDiffFormatter(); + $replaces['DIFF'] = $dformat->format($df); + } else { + $subject = 'newpage'; + $replaces['OLDPAGE'] = 'none'; + $replaces['DIFF'] = rawWiki($id); + } + subscription_send($subscriber_mail, $replaces, $subject, $id, + 'subscr_digest'); +} + +/** + * Send a list mail + * + * Sends a list mail showing a list of changed pages. + * + * @param string $subscriber_mail The target mail address + * @param array $changes Array of changes + * @param string $id The id of the namespace + * + * @author Adrian Lang + */ +function subscription_send_list($subscriber_mail, $changes, $id) { + $list = ''; + foreach ($changes as $change) { + $list .= '* ' . $change['id'] . NL; + } + subscription_send($subscriber_mail, + array('DIFF' => rtrim($list), + 'SUBSCRIBE' => wl($changes[0]['id'], + array('do' => 'subscribe'), + true, '&')), + 'subscribe_list', + prettyprint_id($id), + 'subscr_list'); +} + +/** + * Helper function for sending a mail + * + * @param string $subscriber_mail The target mail address + * @param array $replaces Predefined parameters used to parse the + * template + * @param string $subject The lang id of the mail subject (without the + * prefix “mail_”) + * @param string $id The page or namespace id + * @param string $template The name of the mail template + * + * @author Adrian Lang + */ +function subscription_send($subscriber_mail, $replaces, $subject, $id, $template) { + global $conf; + + $text = rawLocale($template); + $replaces = array_merge($replaces, array('TITLE' => $conf['title'], + 'DOKUWIKIURL' => DOKU_URL, + 'PAGE' => $id)); + + foreach ($replaces as $key => $substitution) { + $text = str_replace('@'.strtoupper($key).'@', $substitution, $text); + } + + global $lang; + $subject = $lang['mail_' . $subject] . ' ' . $id; + mail_send('', '['.$conf['title'].'] '. $subject, $text, + $conf['mailfrom'], '', $subscriber_mail); +} diff --git a/inc/template.php b/inc/template.php index 4681300eb..9b738bf8f 100644 --- a/inc/template.php +++ b/inc/template.php @@ -126,6 +126,9 @@ function tpl_content_core(){ case 'admin': tpl_admin(); break; + case 'subscribe': + tpl_subscribe(); + break; default: $evt = new Doku_Event('TPL_ACT_UNKNOWN',$ACT); if ($evt->advise_before()) @@ -540,31 +543,10 @@ function tpl_button($type,$return=false){ } break; case 'subscribe': - case 'subscription': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ - if($_SERVER['REMOTE_USER']){ - if($INFO['subscribed']){ - if(actionOK('unsubscribe')) - $out .= html_btn('unsubscribe',$ID,'',array('do' => 'unsubscribe',)); - } else { - if(actionOK('subscribe')) - $out .= html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); - } - } - } - if($type == 'subscribe') break; - // else: fall through for backward compatibility - case 'subscribens': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ - if($_SERVER['REMOTE_USER']){ - if($INFO['subscribedns']){ - if(actionOK('unsubscribens')) - $out .= html_btn('unsubscribens',$ID,'',array('do' => 'unsubscribens',)); - } else { - if(actionOK('subscribens')) - $out .= html_btn('subscribens',$ID,'',array('do' => 'subscribens',)); - } - } + if ($conf['useacl'] && $auth && $ACT == 'show' && + $conf['subscribers'] && isset($_SERVER['REMOTE_USER']) && + actionOK('subscribe')) { + $out .= html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); } break; case 'backlink': @@ -712,37 +694,12 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ break; case 'subscribe': case 'subscription': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ + if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']) { if($_SERVER['REMOTE_USER']){ - if($INFO['subscribed']) { - if(actionOK('unsubscribe')) - $out .= tpl_link(wl($ID,'do=unsubscribe'), - $pre.(($inner)?$inner:$lang['btn_unsubscribe']).$suf, - 'class="action unsubscribe" rel="nofollow"',1); - } else { if(actionOK('subscribe')) $out .= tpl_link(wl($ID,'do=subscribe'), $pre.(($inner)?$inner:$lang['btn_subscribe']).$suf, 'class="action subscribe" rel="nofollow"',1); - } - } - } - if($type == 'subscribe') break; - // else: fall through for backward compatibility - case 'subscribens': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ - if($_SERVER['REMOTE_USER']){ - if($INFO['subscribedns']) { - if(actionOK('unsubscribens')) - $out .= tpl_link(wl($ID,'do=unsubscribens'), - $pre.(($inner)?$inner:$lang['btn_unsubscribens']).$suf, - 'class="action unsubscribens" rel="nofollow"',1); - } else { - if(actionOK('subscribens')) - $out .= tpl_link(wl($ID,'do=subscribens'), - $pre.(($inner)?$inner:$lang['btn_subscribens']).$suf, - 'class="action subscribens" rel="nofollow"',1); - } } } break; @@ -1323,23 +1280,9 @@ function tpl_actiondropdown($empty='',$button='>'){ echo ''; } - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ + if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']){ if($_SERVER['REMOTE_USER']){ - if($INFO['subscribed']) { - echo ''; - } else { echo ''; - } - } - } - - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers'] == 1){ - if($_SERVER['REMOTE_USER']){ - if($INFO['subscribedns']) { - echo ''; - } else { - echo ''; - } } } @@ -1406,5 +1349,68 @@ function tpl_include_page($pageid,$print=true){ echo $html; } +/** + * Display the subscribe form + * + * @author Adrian Lang + */ + +function tpl_subscribe() { + global $INFO; + global $ID; + global $lang; + $targets = array($ID => 'the current page', + 'namespace' => 'the namespace “%s”'); + $styles = array('every' => 'a notice on every change', + 'digest' => 'a digest for each changed page*', + 'list' => 'a list of changed pages*'); + + echo p_locale_xhtml('subscr_form'); + + echo '

' . $lang['subscr_m_current_header'] . '

'; + if ($INFO['subscribed'] === false) { + echo '

' . $lang['subscr_m_not_subscribed'] . '

'; + } else { + echo '

' . $lang['subscr_m_current'] . '

'; + echo '
    '; + foreach($INFO['subscribed'] as $sub) { + $form = new Doku_Form(array('class' => 'unsubscribe')); + if ($sub['target'] !== $ID) { + $str = sprintf($targets['namespace'], prettyprint_id($sub['target'])); + } else { + $str = $targets[$ID]; + } + $form->addElement('
  • ' . + sprintf($lang['subscr_m_entry'], $str, + $styles[$sub['style']])); + $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_delete'])); + $form->addHidden('subscribe_target', $sub['target']); + $form->addHidden('subscribe_style', $sub['style']); + $form->addHidden('subscribe_action', 'unsubscribe'); + $form->addElement('
  • '); + html_form('UNSUBSCRIBE', $form); + } + echo '
'; + } + + echo '

' . $lang['subscr_m_new_header'] . '

'; + if ($INFO['userinfo']['mail'] === '') { + echo $lang['subscr_m_noemail']; + return; + } + $styles['list'] = $styles['list'] . ' (Not allowed for single pages)'; + $form = new Doku_Form(array('id' => 'subscribe')); + $ns = getNS($ID). ':'; + $targets[$ns] = sprintf($targets['namespace'], prettyprint_id($ns)); + unset($targets['namespace']); + $form->addElement('

' . 'Subscribe to' . '

'); + $form->addRadioSet('subscribe_target', $targets); + $form->addElement('

' . 'Receive' . '

'); + $form->addRadioSet('subscribe_style', $styles); + $form->addHidden('subscribe_action', 'subscribe'); + $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_subscribe'])); + html_form('SUBSCRIBE', $form); +} + //Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 1c4128eb7..eb1556e1d 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -37,6 +37,7 @@ if ($evt->advise_before()) { runIndexer() or metaUpdate() or runSitemapper() or + sendDigest() or runTrimRecentChanges() or runTrimRecentChanges(true) or $evt->advise_after(); @@ -334,6 +335,75 @@ function runSitemapper(){ return true; } +/** + * Send digest and list mails for all subscriptions which are in effect for the + * current page + * + * @author Adrian Lang + */ +function sendDigest() { + require_once DOKU_INC . 'inc/subscription.php'; + echo 'sendDigest(): start'.NL; + global $ID; + global $conf; + if (!$conf['subscribers']) { + return; + } + + $subscriptions = subscription_find($ID, array('style' => '(digest|list)', + 'escaped' => true)); + global $auth; + global $lang; + global $conf; + foreach($subscriptions as $id => $users) { + foreach($users as $data) { + list($user, $style, $lastupdate) = $data; + $lastupdate = (int) $lastupdate; + if ($lastupdate + $conf['subscribe_interval'] > time()) { + // Less than a day passed since last update. + continue; + } + // TODO: Does that suffice for namespaces? + $info = $auth->getUserData($user); + if ($info === false) { + continue; + } + $level = auth_aclcheck($id, $user, $info['grps']); + if ($level < AUTH_READ) { + continue; + } + + if (substr($id, -1, 1) === ':') { + // The subscription target is a namespace + $changes = getRecentsSince($lastupdate, null, getNS($id)); + if (count($changes) === 0) { + continue; + } + if ($style === 'digest') { + foreach($changes as $change) { + subscription_send_digest($info['mail'], $change, + $lastupdate); + } + } elseif ($style === 'list') { + subscription_send_list($info['mail'], $changes, $id); + } + // TODO: Handle duplicate subscriptions. + } else { + $meta = p_get_metadata($id); + $rev = $meta['last_change']['date']; + if ($rev < $lastupdate) { + // There is no new revision. + continue; + } + subscription_send_digest($info['mail'], $meta['last_change'], + $lastupdate); + } + // Update notification time. + subscription_set($id, $user, $style, true); + } + } +} + /** * Formats a timestamp as ISO 8601 date * diff --git a/lib/exe/js.php b/lib/exe/js.php index 38fda1789..8648bf18f 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -53,6 +53,7 @@ function js_out(){ DOKU_INC.'lib/scripts/edit.js', DOKU_INC.'lib/scripts/linkwiz.js', DOKU_INC.'lib/scripts/media.js', + DOKU_INC.'lib/scripts/subscriptions.js', DOKU_TPLINC.'script.js', ); diff --git a/lib/scripts/subscriptions.js b/lib/scripts/subscriptions.js new file mode 100644 index 000000000..9f602dde8 --- /dev/null +++ b/lib/scripts/subscriptions.js @@ -0,0 +1,46 @@ +/** + * Hide list subscription style if target is a page + * + * @author Adrian Lang + */ + +addInitEvent(function () { + var form = $('subscribe'); + if (!form) { + return; + } + + var styleradios = {}; + + function update_state() { + if (!this.checked) { + return; + } + if (this.value.match(/:$/)) { + styleradios.list.parentNode.style.display = ''; + } else { + styleradios.list.parentNode.style.display = 'none'; + if (styleradios.list.checked) { + styleradios.digest.checked = 'checked'; + } + } + } + + var cur_sel = null; + + var inputs = form.getElementsByTagName('input'); + for (var i = 0; i < inputs.length ; ++i) { + switch (inputs[i].name) { + case 'subscribe_target': + inputs[i].addEventListener('change', update_state, false); + if (inputs[i].checked) { + cur_sel = inputs[i]; + } + break; + case 'subscribe_style': + styleradios[inputs[i].value] = inputs[i]; + break; + } + } + update_state.call(cur_sel); +}); diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index 4830a9e2c..02804256c 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -833,3 +833,17 @@ div.dokuwiki div.imagemeta img.thumb { float: left; margin-right: 0.1em; } + +form#subscribe p { + margin: 0.5em 0; +} + +form#subscribe label { + display:block; + margin: 0 0.5em 0.5em; +} + +form#subscribe fieldset, form#unsubscribe fieldset { + text-align:inherit; + margin: 0; +} diff --git a/lib/tpl/default/main.php b/lib/tpl/default/main.php index 67c3a00ba..b5717c009 100644 --- a/lib/tpl/default/main.php +++ b/lib/tpl/default/main.php @@ -117,7 +117,6 @@ if (!defined('DOKU_INC')) die();
- -- cgit v1.2.3 From 8881fcc99a05f20da8fdd0f1c52f801fd84a8bb7 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 19 Nov 2009 15:25:25 +0100 Subject: Add events to subscription. --- inc/actions.php | 71 +++++++++++++++++++++++++++++++++++++--------------- inc/common.php | 5 +++- inc/subscription.php | 33 ++++++++++++++---------- lib/exe/indexer.php | 2 +- 4 files changed, 76 insertions(+), 35 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index a856b7919..222ac89dd 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -558,29 +558,69 @@ function act_export($act){ * @author Adrian Lang */ function act_subscription($act){ - global $lang; - global $INFO; - if ($_SERVER['REQUEST_METHOD'] !== 'POST') { // No post to handle, let tpl_subscribe manage the request. return $act; } + // Get and preprocess data. + $params = array(); + foreach(array('target', 'style', 'action') as $param) { + if (isset($_POST["subscribe_$param"])) { + $params[$param] = $_POST["subscribe_$param"]; + } + } + + // Handle POST data, may throw exception. + trigger_event('ACTION_HANDLE_SUBSCRIBE', $params, 'subscription_handle_post'); + + $target = $params['target']; + $style = $params['style']; + $data = $params['data']; + $action = $params['action']; + + global $lang; + global $INFO; + + // Perform action. + require_once DOKU_INC . 'inc/subscription.php'; + if (!subscription_set($_SERVER['REMOTE_USER'], $target, $style, $data)) { + throw new Exception(sprintf($lang["subscr_{$action}_error"], + hsc($INFO['userinfo']['name']), + prettyprint_id($target))); + } + $INFO['subscribed'] = get_info_subscribed(); + msg(sprintf($lang["subscr_{$action}_success"], hsc($INFO['userinfo']['name']), + prettyprint_id($target)), 1); + return $act; +} + +/** + * Validate POST data + * + * Validates POST data for a subscribe or unsubscribe request. This is the + * default action for the event ACTION_HANDLE_SUBSCRIBE. + * + * @author Adrian Lang + */ +function subscription_handle_post($params) { + global $INFO; + global $lang; + // Get and validate parameters. - if (!isset($_POST['subscribe_target'])) { + if (!isset($params['target'])) { throw new Exception($lang['subscr_no_target']); } - $target = $_POST['subscribe_target']; + $target = $params['target']; $valid_styles = array('every', 'digest'); if (substr($target, -1, 1) === ':') { // Allow “list” subscribe style since the target is a namespace. $valid_styles[] = 'list'; } - $style = valid_input_set('subscribe_style', $valid_styles, $_POST, + $style = valid_input_set('style', $valid_styles, $params, $lang['subscr_invalid_style']); - $action = valid_input_set('subscribe_action', array('subscribe', - 'unsubscribe'), - $_POST, $lang['subscr_invalid_action']); + $action = valid_input_set('action', array('subscribe', 'unsubscribe'), + $params, $lang['subscr_invalid_action']); // Check other conditions. if ($action === 'subscribe') { @@ -602,17 +642,8 @@ function act_subscription($act){ $style = null; } - // Perform action. - require_once DOKU_INC . 'inc/subscription.php'; - if (!subscription_set($target, $_SERVER['REMOTE_USER'], $style)) { - throw new Exception(sprintf($lang["subscr_{$action}_error"], - hsc($INFO['userinfo']['name']), - prettyprint_id($target))); - } - $INFO['subscribed'] = get_info_subscribed(); - msg(sprintf($lang["subscr_{$action}_success"], hsc($INFO['userinfo']['name']), - prettyprint_id($target)), 1); - return $act; + $data = in_array($style, array('list', 'digest')) ? time() : null; + $params = compact('target', 'style', 'data', 'action'); } //Setup VIM: ex: et ts=2 enc=utf-8 : diff --git a/inc/common.php b/inc/common.php index 2cc279844..9cadb56fd 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1061,7 +1061,10 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ }elseif($who == 'subscribers'){ if(!$conf['subscribers']) return; //subscribers enabled? if($conf['useacl'] && $_SERVER['REMOTE_USER'] && $minor) return; //skip minors - $bcc = subscription_addresslist($id,false); + $data = array('id' => $id, 'addresslist' => '', 'self' => false); + trigger_event('COMMON_NOTIFY_ADDRESSLIST', $data, + 'subscription_addresslist'); + $bcc = $data['addresslist']; if(empty($bcc)) return; $to = ''; $text = rawLocale('subscr_single'); diff --git a/inc/subscription.php b/inc/subscription.php index 1dcecf6f5..12f0a4b82 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -50,18 +50,18 @@ function subscription_filename($id) { * returned if a subscription should be deleted but the user is not subscribed * and the subscription meta file exists. * + * @param string $user The subscriber or unsubscriber * @param string $page The target object (page or namespace), specified by * id; Namespaces are identified by a trailing colon. - * @param string $user The user * @param string $style The subscribe style; DokuWiki currently implements * “every”, “digest”, and “list”. + * @param string $data An optional data blob * @param bool $overwrite Whether an existing subscription may be overwritten - * @param string $data An optional data blob; For list and digest, this - * defaults to time(). * * @author Adrian Lang */ -function subscription_set($page, $user, $style, $overwrite = false, $data = null) { +function subscription_set($user, $page, $style, $data = null, + $overwrite = false) { global $lang; if (is_null($style)) { // Delete subscription. @@ -88,15 +88,15 @@ function subscription_set($page, $user, $style, $overwrite = false, $data = null return false; } // Fail if deletion failed, else continue. - if (!subscription_set($page, $user, null)) { + if (!subscription_set($user, $page, null)) { return false; } } $file = subscription_filename($page); $content = auth_nameencode($user) . ' ' . $style; - if (in_array($style, array('list', 'digest'))) { - $content .= ' ' . (!is_null($data) ? $data : time()); + if (!is_null($data)) { + $content .= ' ' . $data; } return io_saveFile($file, $content . "\n", true); } @@ -116,7 +116,7 @@ function subscription_set($page, $user, $style, $overwrite = false, $data = null */ function subscription_find($page, $pre) { // Construct list of files which may contain relevant subscriptions. - $filenames = array(); + $filenames = array(':' => subscription_filename(':')); do { $filenames[$page] = subscription_filename($page); $page = getNS(rtrim($page, ':')) . ':'; @@ -210,16 +210,23 @@ function subscription_regex($pre = array()) { * Return a string with the email addresses of all the * users subscribed to a page * - * @param string $id The id of the changed page - * @param bool $self Whether a notice should be sent to the editor if he is - * subscribed + * This is the default action for COMMON_NOTIFY_ADDRESSLIST. + * + * @param array $data Containing $id (the page id), $self (whether the author + * should be notified, $addresslist (current email address + list) * * @author Steven Danz + * @author Adrian Lang */ -function subscription_addresslist($id, $self=true){ +function subscription_addresslist($data){ global $conf; global $auth; + $id = $data['id']; + $self = $data['self']; + $addresslist = $data['addresslist']; + if (!$conf['subscribers']) { return ''; } @@ -242,7 +249,7 @@ function subscription_addresslist($id, $self=true){ } } } - return implode(',', $emails); + $data['addresslist'] = trim($addresslist . ',' . implode(',', $emails), ','); } /** diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index eb1556e1d..70aa607a9 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -399,7 +399,7 @@ function sendDigest() { $lastupdate); } // Update notification time. - subscription_set($id, $user, $style, true); + subscription_set($user, $id, $style, time(), true); } } } -- cgit v1.2.3 From 15741132b4a2b6f006441f4c11e021062c168af8 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 23 Nov 2009 16:18:13 +0100 Subject: Some language changes in subscription management Ignore-this: 9d6c368419814c7b8cb94f778377ede7 A few language strings were dropped, others updated or added darcs-hash:20091123151813-6e07b-4d01fe03fa2c3bd5944bc05abdd05a24fb79c186.gz --- inc/actions.php | 9 +++++---- inc/lang/en/lang.php | 24 +++++++++++------------- inc/lang/en/subscr_form.txt | 4 ++-- inc/template.php | 40 ++++++++++++++++++++++++---------------- 4 files changed, 42 insertions(+), 35 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 222ac89dd..32dde008e 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -609,7 +609,7 @@ function subscription_handle_post($params) { // Get and validate parameters. if (!isset($params['target'])) { - throw new Exception($lang['subscr_no_target']); + throw new Exception('no subscription target given'); } $target = $params['target']; $valid_styles = array('every', 'digest'); @@ -618,9 +618,9 @@ function subscription_handle_post($params) { $valid_styles[] = 'list'; } $style = valid_input_set('style', $valid_styles, $params, - $lang['subscr_invalid_style']); + 'invalid subscription style given'); $action = valid_input_set('action', array('subscribe', 'unsubscribe'), - $params, $lang['subscr_invalid_action']); + $params, 'invalid subscription action given'); // Check other conditions. if ($action === 'subscribe') { @@ -635,7 +635,8 @@ function subscription_handle_post($params) { } } if ($is === false) { - throw new Exception(sprintf($lang['subscr_not_subscribed_you'], + throw new Exception(sprintf($lang['subscr_not_subscribed'], + $_SERVER['REMOTE_USER'], prettyprint_id($target))); } // subscription_set deletes a subscription if style = null. diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 728d7823b..e4d050648 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -215,21 +215,19 @@ $lang['subscr_subscribe_error'] = 'Error adding %s to subscription list for % $lang['subscr_subscribe_noaddress']= 'There is no address associated with your login, you cannot be added to the subscription list'; $lang['subscr_unsubscribe_success']= 'Removed %s from subscription list for %s'; $lang['subscr_unsubscribe_error'] = 'Error removing %s from subscription list for %s'; -$lang['subscr_no_target'] = 'No subscription target'; -$lang['subscr_invalid_style'] = 'Invalid subscription style'; -$lang['subscr_invalid_action'] = 'Invalid subscription action'; $lang['subscr_already_subscribed'] = '%s is already subscribed to %s'; -$lang['subscr_not_subscribed'] = '%s is not subscribed to %s'; -$lang['subscr_not_subscribed_you'] = 'You are not subscribed to %s'; +$lang['subscr_not_subscribed'] = '%s is not subscribed to %s'; // Manage page for subscriptions -$lang['subscr_m_current_header'] = 'Current subscriptions'; -$lang['subscr_m_current'] = 'Your current subscriptions:'; -$lang['subscr_m_entry'] = 'Subscribed to %s receiving %s.'; -$lang['subscr_m_delete'] = 'Delete'; -$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to this page.'; -$lang['subscr_m_new_header'] = 'Add subscription'; -$lang['subscr_m_noemail'] = 'You did not set an email address.'; -$lang['subscr_m_subscribe'] = 'Subscribe'; +$lang['subscr_m_not_subscribed'] = 'You are currently not subscribed to the current page or namespace.'; +$lang['subscr_m_new_header'] = 'Add subscription'; +$lang['subscr_m_current_header'] = 'Current subscriptions'; +$lang['subscr_m_unsubscribe'] = 'Unsubscribe'; +$lang['subscr_m_subscribe'] = 'Subscribe'; + +$lang['subscr_style_every'] = 'email on every change'; +$lang['subscr_style_digest'] = 'digest email of changes for each page'; +$lang['subscr_style_list'] = 'list of changes since last email'; + /* auth.class language support */ $lang['authmodfailed'] = 'Bad user authentication configuration. Please inform your Wiki Admin.'; diff --git a/inc/lang/en/subscr_form.txt b/inc/lang/en/subscr_form.txt index 94b75258c..d606508c6 100644 --- a/inc/lang/en/subscr_form.txt +++ b/inc/lang/en/subscr_form.txt @@ -1,3 +1,3 @@ -====== Manage subscriptions ====== +====== Subscription Management ====== -This form allows you to manage your subscriptions for the current page. +This page allows you to manage your subscriptions for the current page and namespace. diff --git a/inc/template.php b/inc/template.php index 9b738bf8f..3aff96a46 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1354,7 +1354,6 @@ function tpl_include_page($pageid,$print=true){ * * @author Adrian Lang */ - function tpl_subscribe() { global $INFO; global $ID; @@ -1368,22 +1367,24 @@ function tpl_subscribe() { echo p_locale_xhtml('subscr_form'); echo '

' . $lang['subscr_m_current_header'] . '

'; + echo '
'; if ($INFO['subscribed'] === false) { echo '

' . $lang['subscr_m_not_subscribed'] . '

'; } else { - echo '

' . $lang['subscr_m_current'] . '

'; echo '
    '; + foreach($INFO['subscribed'] as $sub) { $form = new Doku_Form(array('class' => 'unsubscribe')); if ($sub['target'] !== $ID) { - $str = sprintf($targets['namespace'], prettyprint_id($sub['target'])); + $stgt = ''.hsc(prettyprint_id($sub['target'])).''; } else { - $str = $targets[$ID]; + $stgt = ''.hsc(prettyprint_id($sub['target'])).''; } - $form->addElement('
  • ' . - sprintf($lang['subscr_m_entry'], $str, - $styles[$sub['style']])); - $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_delete'])); + $sstl = $lang['subscr_style_'.$sub['style']]; + if(!$sstl) $sstl = hsc($sub['style']); + + $form->addElement('
  • '.$stgt.' ('.$sstl.') '); + $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_unsubscribe'])); $form->addHidden('subscribe_target', $sub['target']); $form->addHidden('subscribe_style', $sub['style']); $form->addHidden('subscribe_action', 'unsubscribe'); @@ -1392,17 +1393,23 @@ function tpl_subscribe() { } echo '
'; } + echo '
'; + // Add new subscription form echo '

' . $lang['subscr_m_new_header'] . '

'; - if ($INFO['userinfo']['mail'] === '') { - echo $lang['subscr_m_noemail']; - return; - } - $styles['list'] = $styles['list'] . ' (Not allowed for single pages)'; + echo '
'; + $ns = getNS($ID).':'; + $targets = array( + $ID => ''.prettyprint_id($ID).'', + $ns => ''.prettyprint_id($ns).'', + ); + $styles = array( + 'every' => $lang['subscr_style_every'], + 'digest' => $lang['subscr_style_digest'], + 'list' => $lang['subscr_style_list'], + ); + $form = new Doku_Form(array('id' => 'subscribe')); - $ns = getNS($ID). ':'; - $targets[$ns] = sprintf($targets['namespace'], prettyprint_id($ns)); - unset($targets['namespace']); $form->addElement('

' . 'Subscribe to' . '

'); $form->addRadioSet('subscribe_target', $targets); $form->addElement('

' . 'Receive' . '

'); @@ -1410,6 +1417,7 @@ function tpl_subscribe() { $form->addHidden('subscribe_action', 'subscribe'); $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_subscribe'])); html_form('SUBSCRIBE', $form); + echo '
'; } //Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From 0314c21ae6c0eb9878650ad0e7aa4ad53be734b4 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 23 Nov 2009 16:32:04 +0100 Subject: tpl_subscription fixes Ignore-this: 35c31736664920607a8a78769f560d82 darcs-hash:20091123153204-6e07b-e4637bd20c6e703885f3c3c5fd3de8ee37fc3693.gz --- inc/template.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/inc/template.php b/inc/template.php index 3aff96a46..6b0314b84 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1358,14 +1358,8 @@ function tpl_subscribe() { global $INFO; global $ID; global $lang; - $targets = array($ID => 'the current page', - 'namespace' => 'the namespace “%s”'); - $styles = array('every' => 'a notice on every change', - 'digest' => 'a digest for each changed page*', - 'list' => 'a list of changed pages*'); echo p_locale_xhtml('subscr_form'); - echo '

' . $lang['subscr_m_current_header'] . '

'; echo '
'; if ($INFO['subscribed'] === false) { @@ -1378,7 +1372,7 @@ function tpl_subscribe() { if ($sub['target'] !== $ID) { $stgt = ''.hsc(prettyprint_id($sub['target'])).''; } else { - $stgt = ''.hsc(prettyprint_id($sub['target'])).''; + $stgt = ''.hsc(prettyprint_id($sub['target'])).''; } $sstl = $lang['subscr_style_'.$sub['style']]; if(!$sstl) $sstl = hsc($sub['style']); -- cgit v1.2.3 From 3a5a6f4fe4a9f768f5c6418ba0694d67594ed701 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 23 Nov 2009 17:16:03 +0100 Subject: correctly handle permissions in digest mailer Ignore-this: c34455078907459a846cf7f00e2b586b darcs-hash:20091123161603-6e07b-927477d6ca50e665228487eb0d3ce9787dbe455b.gz --- lib/exe/indexer.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 70aa607a9..1766c54f1 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -342,19 +342,24 @@ function runSitemapper(){ * @author Adrian Lang */ function sendDigest() { - require_once DOKU_INC . 'inc/subscription.php'; echo 'sendDigest(): start'.NL; global $ID; global $conf; if (!$conf['subscribers']) { return; } - + require_once DOKU_INC . 'inc/subscription.php'; $subscriptions = subscription_find($ID, array('style' => '(digest|list)', 'escaped' => true)); global $auth; global $lang; global $conf; + global $USERINFO; + + // remember current user info + $olduinfo = $USERINFO; + $olduser = $_SERVER['REMOTE_USER']; + foreach($subscriptions as $id => $users) { foreach($users as $data) { list($user, $style, $lastupdate) = $data; @@ -363,13 +368,11 @@ function sendDigest() { // Less than a day passed since last update. continue; } - // TODO: Does that suffice for namespaces? - $info = $auth->getUserData($user); - if ($info === false) { - continue; - } - $level = auth_aclcheck($id, $user, $info['grps']); - if ($level < AUTH_READ) { + + // Work as the user to make sure ACLs apply correctly + $USERINFO = $auth->getUserData($user); + $_SERVER['REMOTE_USER'] = $user; + if ($USERINFO === false) { continue; } @@ -389,6 +392,8 @@ function sendDigest() { } // TODO: Handle duplicate subscriptions. } else { + if(auth_quickacl($id) < AUTH_READ) continue; + $meta = p_get_metadata($id); $rev = $meta['last_change']['date']; if ($rev < $lastupdate) { @@ -402,6 +407,10 @@ function sendDigest() { subscription_set($user, $id, $style, time(), true); } } + + // restore current user info + $USERINFO = $olduinfo; + $_SERVER['REMOTE_USER'] = $olduser; } /** -- cgit v1.2.3 From 2f27189ab6f07352f435e91bab0c28dfc4899583 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 24 Nov 2009 12:58:05 +0100 Subject: wrong function name fixed Ignore-this: b74163181c2e41d3be022a6185f3e1c1 darcs-hash:20091124115805-6e07b-e808cf44a00a65ff8c70cc7e8de4dfedadf96cbd.gz --- lib/exe/indexer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 1766c54f1..53f2c129d 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -392,7 +392,7 @@ function sendDigest() { } // TODO: Handle duplicate subscriptions. } else { - if(auth_quickacl($id) < AUTH_READ) continue; + if(auth_quickaclcheck($id) < AUTH_READ) continue; $meta = p_get_metadata($id); $rev = $meta['last_change']['date']; -- cgit v1.2.3 From 28c3346d5336a8746bc569e393c5c74852ab0a27 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 27 Nov 2009 14:35:03 +0100 Subject: Add german translation for subscription, fix one english subscription darcs-hash:20091127133503-e4919-0c99ac85ceaf70a5292165fd2fbe2e3961fb56e3.gz --- inc/lang/de/lang.php | 24 +++++++++++++++++++----- inc/lang/en/lang.php | 2 +- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index d0c1f8b70..c3fefd926 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -203,11 +203,25 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Kamera'; $lang['img_keywords'] = 'Schlagwörter'; -$lang['subscribe_success'] = '%s hat nun Änderungen der Seite %s abonniert'; -$lang['subscribe_error'] = '%s kann die Änderungen der Seite %s nicht abonnieren'; -$lang['subscribe_noaddress'] = 'Weil Ihre E-Mail-Adresse fehlt, können Sie das Thema nicht abonnieren'; -$lang['unsubscribe_success'] = 'Das Abonnement von %s für die Seite %s wurde aufgelöst'; -$lang['unsubscribe_error'] = 'Das Abonnement von %s für die Seite %s konnte nicht aufgelöst werden'; + +$lang['subscr_subscribe_success'] = '%s hat nun Änderungen der Seite %s abonniert'; +$lang['subscr_subscribe_error'] = '%s kann die Änderungen der Seite %s nicht abonnieren'; +$lang['subscr_subscribe_noaddress']= 'Weil Ihre E-Mail-Adresse fehlt, können Sie das Thema nicht abonnieren'; +$lang['subscr_unsubscribe_success']= 'Das Abonnement von %s für die Seite %s wurde aufgelöst'; +$lang['subscr_unsubscribe_error'] = 'Das Abonnement von %s für die Seite %s konnte nicht aufgelöst werden'; +$lang['subscr_already_subscribed'] = '%s hat %s bereits abonniert'; +$lang['subscr_not_subscribed'] = '%s hat %s nicht abonniert'; +// Manage page for subscriptions +$lang['subscr_m_not_subscribed'] = 'Sie haben die aktuelle Seite und ihre Namensräume nicht abonniert.'; +$lang['subscr_m_new_header'] = 'Abonnement hinzufügen'; +$lang['subscr_m_current_header'] = 'Aktuelle Abonnements'; +$lang['subscr_m_unsubscribe'] = 'Löschen'; +$lang['subscr_m_subscribe'] = 'Abonnieren'; + +$lang['subscr_style_every'] = 'Email bei jeder Bearbeitung'; +$lang['subscr_style_digest'] = 'Übersichtsemail für jede veränderte Seite'; +$lang['subscr_style_list'] = 'Email mit Liste der geänderten Seiten'; + $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index e4d050648..b97713a75 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -226,7 +226,7 @@ $lang['subscr_m_subscribe'] = 'Subscribe'; $lang['subscr_style_every'] = 'email on every change'; $lang['subscr_style_digest'] = 'digest email of changes for each page'; -$lang['subscr_style_list'] = 'list of changes since last email'; +$lang['subscr_style_list'] = 'list of changed pages since last email'; /* auth.class language support */ -- cgit v1.2.3 From 7a9add1ccb1aed5ec92ee48b26ef14bebcf76f03 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 27 Nov 2009 15:32:23 +0100 Subject: Fix subscription data validation bug (pass by ref) darcs-hash:20091127143223-e4919-023dd4bfab074c1206580649a2927958c28f38f5.gz --- inc/actions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/actions.php b/inc/actions.php index 32dde008e..e61b1add3 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -603,7 +603,7 @@ function act_subscription($act){ * * @author Adrian Lang */ -function subscription_handle_post($params) { +function subscription_handle_post(&$params) { global $INFO; global $lang; -- cgit v1.2.3 From cb3f9dbab0cf12b2a7486cca0de17c47399633f3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 30 Nov 2009 10:36:42 +0100 Subject: Add redirect after successful subscription darcs-hash:20091130093642-e4919-318eed562f0e7777d342dfbe4c8fc352eee58ddf.gz --- inc/actions.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index e61b1add3..900409a90 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -589,10 +589,14 @@ function act_subscription($act){ hsc($INFO['userinfo']['name']), prettyprint_id($target))); } - $INFO['subscribed'] = get_info_subscribed(); msg(sprintf($lang["subscr_{$action}_success"], hsc($INFO['userinfo']['name']), prettyprint_id($target)), 1); - return $act; + global $ID; + act_redirect($ID, $act); + + // Assure that we have valid data if act_redirect somehow fails. + $INFO['subscribed'] = get_info_subscribed(); + return 'show'; } /** -- cgit v1.2.3 From 056c20495937fe45fe0f7204b112dbfe6931a855 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 30 Nov 2009 14:03:11 +0100 Subject: nicer subscription styles Ignore-this: e1b3b815b5ebb0da320bff997c4fed4b darcs-hash:20091130130311-6e07b-03ccfc52abb3dcc0764eed5784d81f8416841328.gz --- inc/actions.php | 20 +++++++++----------- inc/lang/en/lang.php | 2 +- inc/template.php | 34 +++++++++++++++++----------------- lib/scripts/subscriptions.js | 6 +++--- lib/tpl/default/_subscription.css | 21 +++++++++++++++++++++ lib/tpl/default/design.css | 13 ------------- lib/tpl/default/style.ini | 7 ++++--- 7 files changed, 55 insertions(+), 48 deletions(-) create mode 100644 lib/tpl/default/_subscription.css diff --git a/inc/actions.php b/inc/actions.php index 900409a90..1fda0584e 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -558,19 +558,21 @@ function act_export($act){ * @author Adrian Lang */ function act_subscription($act){ - if ($_SERVER['REQUEST_METHOD'] !== 'POST') { - // No post to handle, let tpl_subscribe manage the request. - return $act; - } + global $lang; + global $INFO; + global $ID; - // Get and preprocess data. + // get and preprocess data. $params = array(); foreach(array('target', 'style', 'action') as $param) { - if (isset($_POST["subscribe_$param"])) { - $params[$param] = $_POST["subscribe_$param"]; + if (isset($_REQUEST["sub_$param"])) { + $params[$param] = $_REQUEST["sub_$param"]; } } + // any action given? if not just return and show the subscription page + if(!$params['action']) return $act; + // Handle POST data, may throw exception. trigger_event('ACTION_HANDLE_SUBSCRIBE', $params, 'subscription_handle_post'); @@ -579,9 +581,6 @@ function act_subscription($act){ $data = $params['data']; $action = $params['action']; - global $lang; - global $INFO; - // Perform action. require_once DOKU_INC . 'inc/subscription.php'; if (!subscription_set($_SERVER['REMOTE_USER'], $target, $style, $data)) { @@ -591,7 +590,6 @@ function act_subscription($act){ } msg(sprintf($lang["subscr_{$action}_success"], hsc($INFO['userinfo']['name']), prettyprint_id($target)), 1); - global $ID; act_redirect($ID, $act); // Assure that we have valid data if act_redirect somehow fails. diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index b97713a75..98ded12ca 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -223,7 +223,7 @@ $lang['subscr_m_new_header'] = 'Add subscription'; $lang['subscr_m_current_header'] = 'Current subscriptions'; $lang['subscr_m_unsubscribe'] = 'Unsubscribe'; $lang['subscr_m_subscribe'] = 'Subscribe'; - +$lang['subscr_m_receive'] = 'Receive'; $lang['subscr_style_every'] = 'email on every change'; $lang['subscr_style_digest'] = 'digest email of changes for each page'; $lang['subscr_style_list'] = 'list of changed pages since last email'; diff --git a/inc/template.php b/inc/template.php index 6b0314b84..84fbda051 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1366,24 +1366,21 @@ function tpl_subscribe() { echo '

' . $lang['subscr_m_not_subscribed'] . '

'; } else { echo '
    '; - foreach($INFO['subscribed'] as $sub) { - $form = new Doku_Form(array('class' => 'unsubscribe')); + echo '
  • '; if ($sub['target'] !== $ID) { - $stgt = ''.hsc(prettyprint_id($sub['target'])).''; + echo ''.hsc(prettyprint_id($sub['target'])).''; } else { - $stgt = ''.hsc(prettyprint_id($sub['target'])).''; + echo ''.hsc(prettyprint_id($sub['target'])).''; } $sstl = $lang['subscr_style_'.$sub['style']]; if(!$sstl) $sstl = hsc($sub['style']); + echo ' ('.$sstl.') '; + + echo ''.$lang['subscr_m_unsubscribe'].''; + - $form->addElement('
  • '.$stgt.' ('.$sstl.') '); - $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_unsubscribe'])); - $form->addHidden('subscribe_target', $sub['target']); - $form->addHidden('subscribe_style', $sub['style']); - $form->addHidden('subscribe_action', 'unsubscribe'); - $form->addElement('
  • '); - html_form('UNSUBSCRIBE', $form); + echo '
'; } echo ''; } @@ -1403,12 +1400,15 @@ function tpl_subscribe() { 'list' => $lang['subscr_style_list'], ); - $form = new Doku_Form(array('id' => 'subscribe')); - $form->addElement('

' . 'Subscribe to' . '

'); - $form->addRadioSet('subscribe_target', $targets); - $form->addElement('

' . 'Receive' . '

'); - $form->addRadioSet('subscribe_style', $styles); - $form->addHidden('subscribe_action', 'subscribe'); + $form = new Doku_Form(array('id' => 'subscribe__form')); + $form->startFieldset($lang['subscr_m_subscribe']); + $form->addRadioSet('sub_target', $targets); + $form->startFieldset($lang['subscr_m_receive']); + $form->addRadioSet('sub_style', $styles); + $form->addHidden('sub_action', 'subscribe'); + $form->addHidden('do', 'subscribe'); + $form->addHidden('id', $ID); + $form->endFieldset(); $form->addElement(form_makeButton('submit', 'subscribe', $lang['subscr_m_subscribe'])); html_form('SUBSCRIBE', $form); echo '
'; diff --git a/lib/scripts/subscriptions.js b/lib/scripts/subscriptions.js index 9f602dde8..2af4ee8c4 100644 --- a/lib/scripts/subscriptions.js +++ b/lib/scripts/subscriptions.js @@ -5,7 +5,7 @@ */ addInitEvent(function () { - var form = $('subscribe'); + var form = $('subscribe__form'); if (!form) { return; } @@ -31,13 +31,13 @@ addInitEvent(function () { var inputs = form.getElementsByTagName('input'); for (var i = 0; i < inputs.length ; ++i) { switch (inputs[i].name) { - case 'subscribe_target': + case 'sub_target': inputs[i].addEventListener('change', update_state, false); if (inputs[i].checked) { cur_sel = inputs[i]; } break; - case 'subscribe_style': + case 'sub_style': styleradios[inputs[i].value] = inputs[i]; break; } diff --git a/lib/tpl/default/_subscription.css b/lib/tpl/default/_subscription.css new file mode 100644 index 000000000..0792c8c21 --- /dev/null +++ b/lib/tpl/default/_subscription.css @@ -0,0 +1,21 @@ +/** + * Styles for the subscription page + */ + +form#subscribe__form { + display: block; + width: 300px; + text-align: center; +} + +form#subscribe__form fieldset { + text-align: left; + margin: 0.5em 0; +} + +form#subscribe__form label { + display:block; + margin: 0 0.5em 0.5em; +} + + diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index 02804256c..9c3e7b119 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -834,16 +834,3 @@ div.dokuwiki div.imagemeta img.thumb { margin-right: 0.1em; } -form#subscribe p { - margin: 0.5em 0; -} - -form#subscribe label { - display:block; - margin: 0 0.5em 0.5em; -} - -form#subscribe fieldset, form#unsubscribe fieldset { - text-align:inherit; - margin: 0; -} diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini index dfd5500fa..84d04e743 100644 --- a/lib/tpl/default/style.ini +++ b/lib/tpl/default/style.ini @@ -10,9 +10,10 @@ layout.css = screen design.css = screen style.css = screen -media.css = screen -_admin.css = screen -_linkwiz.css = screen +media.css = screen +_admin.css = screen +_linkwiz.css = screen +_subscription.css = screen rtl.css = rtl print.css = print -- cgit v1.2.3 From 34240a5903c7499900c8ecf0a5592d28f67aaf46 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 30 Nov 2009 14:50:40 +0100 Subject: Fix $info var reference in digest send darcs-hash:20091130135040-e4919-40b6614fe28ea07dc5796661ddda6d005264ddbc.gz --- lib/exe/indexer.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 53f2c129d..84eb9d482 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -384,11 +384,11 @@ function sendDigest() { } if ($style === 'digest') { foreach($changes as $change) { - subscription_send_digest($info['mail'], $change, + subscription_send_digest($USERINFO['mail'], $change, $lastupdate); } } elseif ($style === 'list') { - subscription_send_list($info['mail'], $changes, $id); + subscription_send_list($USERINFO['mail'], $changes, $id); } // TODO: Handle duplicate subscriptions. } else { @@ -400,7 +400,7 @@ function sendDigest() { // There is no new revision. continue; } - subscription_send_digest($info['mail'], $meta['last_change'], + subscription_send_digest($USERINFO['mail'], $meta['last_change'], $lastupdate); } // Update notification time. -- cgit v1.2.3 From e419596a1552d52670605ef4c380757d6fd0ffa7 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 2 Dec 2009 13:16:18 +0100 Subject: =?UTF-8?q?Use=20click=20event=20in=20subscription=20JS,=20use=20D?= =?UTF-8?q?W=E2=80=99s=20event=20system?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit darcs-hash:20091202121618-e4919-e3c409aa3e6e24db89558a6e62b8c46df950f5b0.gz --- lib/scripts/subscriptions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/subscriptions.js b/lib/scripts/subscriptions.js index 2af4ee8c4..d701f258f 100644 --- a/lib/scripts/subscriptions.js +++ b/lib/scripts/subscriptions.js @@ -32,7 +32,7 @@ addInitEvent(function () { for (var i = 0; i < inputs.length ; ++i) { switch (inputs[i].name) { case 'sub_target': - inputs[i].addEventListener('change', update_state, false); + addEvent(inputs[i], 'click', update_state); if (inputs[i].checked) { cur_sel = inputs[i]; } -- cgit v1.2.3 From eee44352b2c73d56818600770b87f891b88a545f Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 12 Jan 2010 11:24:11 +0100 Subject: Add subscribe time to admin interface. --- lib/plugins/config/lang/en/lang.php | 1 + lib/plugins/config/settings/config.metadata.php | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 25103278c..45b653680 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -130,6 +130,7 @@ $lang['gdlib'] = 'GD Lib version'; $lang['im_convert'] = 'Path to ImageMagick\'s convert tool'; $lang['jpg_quality'] = 'JPG compression quality (0-100)'; $lang['subscribers'] = 'Enable page subscription support'; +$lang['subscribe_time'] = 'Time after which subscription lists and digests are sent (sec); This should be larger than the time specified in recent_days.'; $lang['compress'] = 'Compact CSS and javascript output'; $lang['hidepages'] = 'Hide matching pages (regular expressions)'; $lang['send404'] = 'Send "HTTP 404/Page Not Found" for non existing pages'; diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index 742faf387..da2ba4aef 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -148,6 +148,7 @@ $meta['htmlok'] = array('onoff'); $meta['phpok'] = array('onoff'); $meta['notify'] = array('email', '_multiple' => true); $meta['subscribers'] = array('onoff'); +$meta['subscribe_time'] = array('numeric'); $meta['locktime'] = array('numeric'); $meta['cachetime'] = array('numeric'); -- cgit v1.2.3 From d9c82eb63294032cf16e003122eeeca5a6c8454e Mon Sep 17 00:00:00 2001 From: Yaron Yogev Date: Thu, 21 Jan 2010 21:23:40 +0100 Subject: Hebrew Language Update --- inc/lang/he/adminplugins.txt | 1 + inc/lang/he/lang.php | 31 +++++++++++++++++++++++++++++-- lib/plugins/acl/lang/he/lang.php | 1 + lib/plugins/config/lang/he/lang.php | 3 +++ lib/plugins/plugin/lang/he/lang.php | 5 +++++ lib/plugins/popularity/lang/he/lang.php | 1 + lib/plugins/revert/lang/he/lang.php | 1 + lib/plugins/usermanager/lang/he/lang.php | 1 + 8 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 inc/lang/he/adminplugins.txt diff --git a/inc/lang/he/adminplugins.txt b/inc/lang/he/adminplugins.txt new file mode 100644 index 000000000..a7a6471f0 --- /dev/null +++ b/inc/lang/he/adminplugins.txt @@ -0,0 +1 @@ +===== תוספים נוספים ===== \ No newline at end of file diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 8545d1542..1f7d366ab 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -9,6 +9,7 @@ * @author DoK * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -51,6 +52,7 @@ $lang['btn_resendpwd'] = 'שלח סיסמה חדשה'; $lang['btn_draft'] = 'עריכת טיוטה'; $lang['btn_recover'] = 'שחזור טיוטה'; $lang['btn_draftdel'] = 'מחיקת טיוטה'; +$lang['btn_revert'] = 'שחזר'; $lang['loggedinas'] = 'רשום כ-'; $lang['user'] = 'שם משתמש'; $lang['pass'] = 'סיסמה'; @@ -65,6 +67,7 @@ $lang['profile'] = 'פרופיל'; $lang['badlogin'] = 'סליחה, שם המשתמש או הסיסמה שגויים'; $lang['minoredit'] = 'שינוים מינוריים'; $lang['draftdate'] = 'טיוטה נשמרה ב-'; +$lang['nosecedit'] = 'הדף השתנה בינתיים, הקטע שערכת אינו מעודכן - העמוד כולו נטען במקום זאת.'; $lang['regmissing'] = 'סליחה, עליך למלא את כל השדות'; $lang['reguexists'] = 'סליחה, משתמש בשם זה כבר נרשם'; $lang['regsuccess'] = 'הרשמה הצליחה, המשתמש נרשם והודעה נשלחה בדואר'; @@ -86,6 +89,9 @@ $lang['resendpwdnouser'] = 'סליחה, משתמש בשם זה לא נמצ $lang['resendpwdbadauth'] = 'סליחה, קוד אימות זה אינו תקף. יש לודא כי נעשה שימוש במלוא קישור האימות.'; $lang['resendpwdconfirm'] = 'קישור אימות נשלח בדוא"ל.'; $lang['resendpwdsuccess'] = 'סיסמה חדשה נשלחה בדואר'; +$lang['license'] = 'למעט מקרים בהם צוין אחרת, התוכן בוויקי זה זמין לפי הרשיון הבא:'; +$lang['licenseok'] = 'שים לב: עריכת דף זה מהווה הסכמה מצידך להצגת התוכן שהוספת לפי הרשיון הבא:'; +$lang['searchmedia'] = 'חפש שם קובץ:'; $lang['txt_upload'] = 'בחר קובץ להעלות'; $lang['txt_filename'] = 'הכנס שם לוויקי (בחירה)'; $lang['txt_overwrt'] = 'לכתוב במקום קובץ קיים'; @@ -104,6 +110,7 @@ $lang['uploadexist'] = 'הקובץ כבר קיים. פעולה בוט $lang['uploadbadcontent'] = 'התוכן שהועלה לא תאם את הסיומת %s של הקובץ.'; $lang['uploadspam'] = 'ההעלאה נחסמה על ידי הרשימה השחורה של הספאם.'; $lang['uploadxss'] = 'ההעלאה נחסמה בשל חשד לתוכן זדוני.'; +$lang['uploadsize'] = 'הקובץ שהועלה היה גדול מדי. (מקסימום %s)'; $lang['deletesucc'] = 'קובץ %s נמחק'; $lang['deletefail'] = 'לא יכולתי למחוק "%s" -- בדקו הרשאות'; $lang['mediainuse'] = 'קובץ "%s" לא נמחק - הוא עדיין בשימוש'; @@ -114,6 +121,8 @@ $lang['js']['keepopen'] = 'השאר חלון פתוח בבחירה'; $lang['js']['hidedetails'] = 'הסתר פרטים'; $lang['js']['nosmblinks'] = ':( קישור למערכת קבצים של חלונות פועל רק בדפדפן אינטרנט אקספלורר. זה בסדר, אין צורך לעבור. אפשר להעתיק ולהדביק את הקישור'; +$lang['js']['linkwiz'] = 'אשף הקישורים'; +$lang['js']['linkto'] = 'קשר אל:'; $lang['js']['del_confirm'] = 'באמת למחוק?'; $lang['js']['mu_btn'] = 'העלאת קבצים מרובים'; $lang['mediausage'] = 'השתמש בתחביר הבא להתיחסות אל קובץ זה:'; @@ -122,7 +131,7 @@ $lang['mediaroot'] = 'root'; $lang['mediaupload'] = 'כאן ניתן להעלות קובץ למרחב השמות הנוכחי. ליצירת תתי-מרחבי שמות צרפם ב-"העלה" לתחילת שם הקובץ מופרדים בפסיקים'; $lang['mediaextchange'] = 'סיומת הקובץ השתנתה מ-.%s ל-.%s!'; $lang['reference'] = 'קישורים ל'; -$lang['ref_inuse'] = 'לא יכולתי למחוק קובץ, הדפים הבאים עדיין משתמשים בו:'; +$lang['ref_inuse'] = 'לא ניתן למחוק קובץ זה, כיוון שהדפים הבאים עדיין משתמשים בו:'; $lang['ref_hidden'] = 'יש קישורים לדפים ללא הרשאת קריאה'; $lang['hits'] = 'פגיעות'; $lang['quickhits'] = 'דפים שנמצאו'; @@ -133,7 +142,7 @@ $lang['diff'] = 'הצג שינוים מגרסה זו ועד ה $lang['diff2'] = 'הצגת הבדלים בין הגרסאות שנבחרו'; $lang['line'] = 'שורה'; $lang['breadcrumb'] = 'ביקורים אחרונים'; -$lang['youarehere'] = 'אתה נמצה כאן'; +$lang['youarehere'] = 'אתה נמצא כאן'; $lang['lastmod'] = 'שונה לאחרונה ב'; $lang['by'] = 'על ידי'; $lang['deleted'] = 'נמחק'; @@ -141,6 +150,8 @@ $lang['created'] = 'נוצר'; $lang['restored'] = 'שוחזר'; $lang['external_edit'] = 'עריכה חיצונית'; $lang['summary'] = 'תקציר העריכה'; +$lang['noflash'] = 'תוסף פלאש לדפדפן נדרש כדי להציג תוכן זה.'; +$lang['download'] = 'הורד מקטע'; $lang['mail_newpage'] = 'דף נוסף:'; $lang['mail_changed'] = 'דף שונה:'; $lang['mail_new_user'] = 'משתמש חדש:'; @@ -157,6 +168,9 @@ $lang['qb_h4'] = 'כותרת רמה 4'; $lang['qb_h5'] = 'כותרת רמה 5'; $lang['qb_h'] = 'כותרת'; $lang['qb_hs'] = 'בחירת כותרת'; +$lang['qb_hplus'] = 'כותרת ברמה גבוהה יותר'; +$lang['qb_hminus'] = 'כותרת ברמה נמוכה יותר'; +$lang['qb_hequal'] = 'כותרת באותה רמה'; $lang['qb_link'] = 'קישור פנימי'; $lang['qb_extlink'] = 'קישור חיצוני'; $lang['qb_hr'] = 'קו אופקי'; @@ -166,6 +180,7 @@ $lang['qb_media'] = 'תמונות או קובץ אחר'; $lang['qb_sig'] = 'הזנת חתימה'; $lang['qb_smileys'] = 'פרצופונים'; $lang['qb_chars'] = 'סימנים מיוחדים'; +$lang['upperns'] = 'עבור למרחב השם שברמה שמעל הנוכחית'; $lang['admin_register'] = 'להוסיף משתמש חדש'; $lang['metaedit'] = 'ערוך נתונים'; $lang['metasaveerr'] = 'כשל בשמירת נתונים'; @@ -215,10 +230,22 @@ $lang['mu_intro'] = 'כאן תוכל להעלות קבצים מרו $lang['mu_gridname'] = 'שם קובץ'; $lang['mu_gridsize'] = 'גודל'; $lang['mu_gridstat'] = 'סטאטןס'; +$lang['mu_namespace'] = 'מרחב שם'; $lang['mu_browse'] = 'חיפוש'; $lang['mu_toobig'] = 'גדול מדי'; $lang['mu_ready'] = 'מוכן להעלאה'; $lang['mu_done'] = 'סיים'; $lang['mu_fail'] = 'נכשל'; +$lang['mu_authfail'] = 'תקוף נעילת עריכה פג'; +$lang['mu_progress'] = '@PCT@% הועלה'; +$lang['mu_filetypes'] = 'סוגי קבצים מורשים'; $lang['mu_info'] = 'הקבצים הועלו'; $lang['mu_lasterr'] = 'שגיאה אחרונה:'; +$lang['recent_global'] = 'אתה צופה כעת בשינויים בתוך מרחב השם %s. אתה יכול גם לצפות בשינויים האחרונים של כל הוויקי .'; +$lang['years'] = 'לפני %d שנים'; +$lang['months'] = 'לפני %d חודשים'; +$lang['weeks'] = 'לפני %d שבועות'; +$lang['days'] = 'לפני %d ימים'; +$lang['hours'] = 'לפני %d שעות'; +$lang['minutes'] = 'לפני %d דקות'; +$lang['seconds'] = 'לפני %d שניות'; diff --git a/lib/plugins/acl/lang/he/lang.php b/lib/plugins/acl/lang/he/lang.php index 7d73c63dd..ac00730dd 100644 --- a/lib/plugins/acl/lang/he/lang.php +++ b/lib/plugins/acl/lang/he/lang.php @@ -6,6 +6,7 @@ * @author DoK * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['admin_acl'] = 'ניהול רשימת בקרת גישות'; $lang['acl_group'] = 'קבוצה'; diff --git a/lib/plugins/config/lang/he/lang.php b/lib/plugins/config/lang/he/lang.php index 8e5bf2fd1..c47c8d099 100644 --- a/lib/plugins/config/lang/he/lang.php +++ b/lib/plugins/config/lang/he/lang.php @@ -6,6 +6,7 @@ * @author DoK * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['menu'] = 'הגדרות תצורה'; $lang['error'] = 'ההגדרות לא עודכנו בגלל ערך לא תקף, נא לעיין בשינויים ולשלוח שנית. @@ -164,3 +165,5 @@ $lang['xsendfile_o_0'] = 'אל תשתמש'; $lang['xsendfile_o_1'] = 'כותר lighttpd קנייני (לפני גרסה 1.5)'; $lang['xsendfile_o_2'] = 'כותר X-Sendfile רגיל'; $lang['xsendfile_o_3'] = 'כותר Nginx X-Accel-Redirect קנייני'; +$lang['useheading_o_navigation'] = 'ניווט בלבד'; +$lang['useheading_o_1'] = 'תמיד'; diff --git a/lib/plugins/plugin/lang/he/lang.php b/lib/plugins/plugin/lang/he/lang.php index 7a68575a7..c6e462193 100644 --- a/lib/plugins/plugin/lang/he/lang.php +++ b/lib/plugins/plugin/lang/he/lang.php @@ -6,6 +6,7 @@ * @author DoK * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['menu'] = 'ניהול הרחבות'; $lang['download'] = 'הורדת והתקנת הרחבה חדשה'; @@ -47,3 +48,7 @@ $lang['error_dircreate'] = 'כשל ביצירת תיקיה זמנית לק $lang['error_decompress'] = 'מנהל ההרחבות כשל בפרישת הקובץ שהורד. יתכן כי זו תוצאה של הורדה תקולה ובמקרה זה עליך לנסות שנית; או שיתכן כי תסדיר הכיווץ אינו ידוע, במקרה זה יהיה עליך להוריד ולהתקין את ההרחבה ידנית.'; $lang['error_copy'] = 'חלה שגיאה בהעתקת הקובץ בניסיון להתקין קבצים להרחבה %s: ייתכן כי הדיסק מלא או שהרשאות הגישה לקבצים שגויות. יתכן כי בשל כך נוצרה התקנה חלקית של ההרחבה שתשאיר את התקנת הויקי שלך לא יציבה.'; $lang['error_delete'] = 'חלה שגיאה בעת ניסיון למחיקת ההרחבה %s. הסיבה הסבירה ביותר היא הרשאות גישה לקבצים ולספריות שאינן מספקות'; +$lang['enabled'] = 'תוסף %s מופעל.'; +$lang['notenabled'] = 'לא ניתן להפעיל את התוסף %s, בדוק הרשאות קבצים.'; +$lang['disabled'] = 'תוסף %s מושבת.'; +$lang['notdisabled'] = 'לא ניתן להשבית את התוסף %s, בדוק הרשאות קבצים.'; diff --git a/lib/plugins/popularity/lang/he/lang.php b/lib/plugins/popularity/lang/he/lang.php index 2cc82cff7..024f94ae8 100644 --- a/lib/plugins/popularity/lang/he/lang.php +++ b/lib/plugins/popularity/lang/he/lang.php @@ -4,6 +4,7 @@ * * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['name'] = 'משוב פופולריות (יתכן זמן טעינה ארוך)'; $lang['submit'] = 'שלח מידע'; diff --git a/lib/plugins/revert/lang/he/lang.php b/lib/plugins/revert/lang/he/lang.php index e09ffeaab..585487816 100644 --- a/lib/plugins/revert/lang/he/lang.php +++ b/lib/plugins/revert/lang/he/lang.php @@ -4,6 +4,7 @@ * * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['menu'] = 'מנהל שחזור'; $lang['filter'] = 'חפש דפים עם ספאם'; diff --git a/lib/plugins/usermanager/lang/he/lang.php b/lib/plugins/usermanager/lang/he/lang.php index 85f5274e8..b2b55c3b4 100644 --- a/lib/plugins/usermanager/lang/he/lang.php +++ b/lib/plugins/usermanager/lang/he/lang.php @@ -5,6 +5,7 @@ * @author DoK * @author Dotan Kamber * @author Moshe Kaplan + * @author Yaron Yogev */ $lang['menu'] = 'מנהל משתמשים'; $lang['noauth'] = '(אימות משתמשים אינו זמין)'; -- cgit v1.2.3 From e5fc893fa08504956662a0ca4533b6fb259b7468 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 21 Jan 2010 22:01:55 +0100 Subject: initialize array in linesToHash FS#1845 --- inc/confutils.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/confutils.php b/inc/confutils.php index abfde8a80..5384593c7 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -143,6 +143,7 @@ function getSchemes() { * @author Gina Haeussge */ function linesToHash($lines, $lower=false) { + $conf = array(); foreach ( $lines as $line ) { //ignore comments (except escaped ones) $line = preg_replace('/(? Date: Thu, 21 Jan 2010 22:12:17 +0100 Subject: Apply group/user cleaning on saving ACLs FS#1859 --- lib/plugins/acl/admin.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index a3fb4636d..a7037047a 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -130,6 +130,13 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { // re-add all rules foreach((array) $_REQUEST['acl'] as $where => $opt){ foreach($opt as $who => $perm){ + if ($who[0]=='@') { + if ($who!='@ALL') { + $who = '@'.ltrim($auth->cleanGroup($who),'@'); + } + } else { + $who = $auth->cleanUser($who); + } $who = auth_nameencode($who,true); $lines[] = "$where\t$who\t$perm\n"; } -- cgit v1.2.3 From 912f066b170a7a39fbd7d19fd96c48f820c72926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Schwarzer?= Date: Mon, 25 Jan 2010 21:57:14 +0100 Subject: German (informal) language update --- inc/lang/de-informal/lang.php | 46 +++++++++++------------ lib/plugins/config/lang/de-informal/lang.php | 15 ++++++++ lib/plugins/usermanager/lang/de-informal/lang.php | 4 +- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index d4b9ff928..c90ce8f5e 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -25,7 +25,7 @@ $lang['singlequoteopening'] = '‚'; $lang['singlequoteclosing'] = '‘'; $lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Diese Seite bearbeiten'; -$lang['btn_source'] = 'Zeige Quelltext'; +$lang['btn_source'] = 'Zeige Seitenquelltext'; $lang['btn_show'] = 'Seite anzeigen'; $lang['btn_create'] = 'Seite anlegen'; $lang['btn_search'] = 'Suche'; @@ -43,7 +43,7 @@ $lang['btn_secedit'] = 'Bearbeiten'; $lang['btn_login'] = 'Anmelden'; $lang['btn_logout'] = 'Abmelden'; $lang['btn_admin'] = 'Admin'; -$lang['btn_update'] = 'Updaten'; +$lang['btn_update'] = 'Aktualisieren'; $lang['btn_delete'] = 'Löschen'; $lang['btn_back'] = 'Zurück'; $lang['btn_backlink'] = 'Links hierher'; @@ -52,7 +52,7 @@ $lang['btn_subscribe'] = 'Änderungen abonnieren'; $lang['btn_unsubscribe'] = 'Änderungen abbestellen'; $lang['btn_subscribens'] = 'Namensraumänderungen abonnieren'; $lang['btn_unsubscribens'] = 'Namensraumänderungen abbestellen'; -$lang['btn_profile'] = 'Benutzerprofil'; +$lang['btn_profile'] = 'Profil aktualisieren'; $lang['btn_reset'] = 'Zurücksetzen'; $lang['btn_resendpwd'] = 'Sende neues Passwort'; $lang['btn_draft'] = 'Entwurf bearbeiten'; @@ -64,35 +64,35 @@ $lang['user'] = 'Benutzername'; $lang['pass'] = 'Passwort'; $lang['newpass'] = 'Neues Passwort'; $lang['oldpass'] = 'Bestätigen (Altes Passwort)'; -$lang['passchk'] = 'und nochmal'; +$lang['passchk'] = 'noch einmal'; $lang['remember'] = 'Angemeldet bleiben'; $lang['fullname'] = 'Voller Name'; $lang['email'] = 'E-Mail'; $lang['register'] = 'Registrieren'; $lang['profile'] = 'Benutzerprofil'; $lang['badlogin'] = 'Nutzername oder Passwort sind falsch.'; -$lang['minoredit'] = 'kleine Änderung'; +$lang['minoredit'] = 'kleine Änderungen'; $lang['draftdate'] = 'Entwurf gespeichert am'; -$lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit geändert, Sektionsinfo ist veraltet, lade stattdessen volle Seite.'; -$lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden'; +$lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit verändert, Sektionsinfo ist veraltet, lade stattdessen volle Seite.'; +$lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden.'; $lang['reguexists'] = 'Der Nutzername existiert leider schon.'; $lang['regsuccess'] = 'Der neue Nutzer wurde angelegt und das Passwort per Email versandt.'; $lang['regsuccess2'] = 'Der neue Nutzer wurde angelegt.'; $lang['regmailfail'] = 'Offenbar ist ein Fehler beim Versenden der Passwortmail aufgetreten. Bitte wende dich an den Wiki-Admin.'; $lang['regbadmail'] = 'Die angegebene Mail-Adresse scheint ungültig zu sein. Falls dies ein Fehler ist, wende dich bitte an den Wiki-Admin.'; -$lang['regbadpass'] = 'Die beiden eingegeben Passwörter stimmen nicht überein. Bitte versuche es noch einmal.'; +$lang['regbadpass'] = 'Die beiden eingegebenen Passwörter stimmen nicht überein. Bitte versuche es noch einmal.'; $lang['regpwmail'] = 'Ihr DokuWiki Passwort'; $lang['reghere'] = 'Du hast noch keinen Zugang? Hier anmelden'; $lang['profna'] = 'Änderung des Benutzerprofils in diesem Wiki nicht möglich.'; $lang['profnochange'] = 'Keine Änderungen, nichts zu tun.'; $lang['profnoempty'] = 'Es muss ein Name oder eine E-Mail Adresse angegeben werden.'; -$lang['profchanged'] = 'Benuzerprofil erfolgreich geändert.'; +$lang['profchanged'] = 'Benutzerprofil erfolgreich geändert.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; $lang['resendpwd'] = 'Neues Passwort schicken für'; $lang['resendpwdmissing'] = 'Es tut mir Leid, aber du musst alle Felder ausfüllen.'; -$lang['resendpwdnouser'] = 'Es tut mir Leid, aber der Benutzer existiert nicht in unserer Datenbank.'; -$lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stelle sicher, dass du den kompletten Bestätigungslink verwendet haben.'; +$lang['resendpwdnouser'] = 'Es tut mir Leid, aber dieser Benutzer existiert nicht in unserer Datenbank.'; +$lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stelle sicher, dass du den kompletten Bestätigungslink verwendet hast.'; $lang['resendpwdconfirm'] = 'Ein Bestätigungslink wurde per E-Mail versandt.'; $lang['resendpwdsuccess'] = 'Dein neues Passwort wurde per E-Mail versandt.'; $lang['license'] = 'Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:'; @@ -108,13 +108,13 @@ $lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft $lang['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?'; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; -$lang['mediaselect'] = 'Dateiauswahl'; -$lang['fileupload'] = 'Datei hochladen'; +$lang['mediaselect'] = 'Media-Dateien'; +$lang['fileupload'] = 'Media-Datei hochladen'; $lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; $lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; $lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; $lang['uploadexist'] = 'Datei existiert bereits. Keine Änderungen vorgenommen.'; -$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung % überein.'; +$lang['uploadbadcontent'] = 'Der hochgeladene Inhalt stimmt nicht mit der Dateiendung % überein.'; $lang['uploadspam'] = 'Hochladen verweigert: Treffer auf der Spamliste.'; $lang['uploadxss'] = 'Hochladen verweigert: Daten scheinen Schadcode zu enthalten.'; $lang['uploadsize'] = 'Die hochgeladene Datei war zu groß. (max. %s)'; @@ -133,11 +133,11 @@ $lang['js']['linkto'] = 'Link zu:'; $lang['js']['del_confirm'] = 'Die ausgewählten Dateien wirklich löschen?'; $lang['js']['mu_btn'] = 'Mehrere Dateien gleichzeitig hochladen'; $lang['mediausage'] = 'Syntax zum Verwenden dieser Datei:'; -$lang['mediaview'] = 'Originaldatei öffnen'; +$lang['mediaview'] = 'Originaldatei ansehen'; $lang['mediaroot'] = 'Wurzel'; $lang['mediaupload'] = 'Lade hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stelle diese dem Dateinamen im Feld "Hochladen als" durch Doppelpunkt getrennt voran.'; -$lang['mediaextchange'] = 'Dateiendung vom .%s nach .%s geändert!'; -$lang['reference'] = 'Verwendung von'; +$lang['mediaextchange'] = 'Dateiendung von .%s nach .%s geändert!'; +$lang['reference'] = 'Referenzen für'; $lang['ref_inuse'] = 'Diese Datei kann nicht gelöscht werden, da sie noch von folgenden Seiten benutzt wird:'; $lang['ref_hidden'] = 'Einige Verweise sind auf Seiten, für die du keine Leseberechtigung hast.'; $lang['hits'] = 'Treffer'; @@ -153,13 +153,13 @@ $lang['youarehere'] = 'Du befindest dich hier'; $lang['lastmod'] = 'Zuletzt geändert'; $lang['by'] = 'von'; $lang['deleted'] = 'gelöscht'; -$lang['created'] = 'angelegt'; +$lang['created'] = 'erstellt'; $lang['restored'] = 'alte Version wieder hergestellt'; $lang['external_edit'] = 'Externe Bearbeitung'; -$lang['summary'] = 'Zusammenfassung'; +$lang['summary'] = 'Zusammenfassung der Änderungen'; $lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Ihnalt anzuzeigen.'; $lang['download'] = 'Download-Teil'; -$lang['mail_newpage'] = 'Neue Seite:'; +$lang['mail_newpage'] = 'Seite hinzugefügt:'; $lang['mail_changed'] = 'Seite geaendert:'; $lang['mail_new_user'] = 'Neuer Benutzer:'; $lang['mail_upload'] = 'Datei hochgeladen:'; @@ -187,8 +187,8 @@ $lang['qb_media'] = 'Bilder und andere Dateien hinzufügen'; $lang['qb_sig'] = 'Unterschrift einfügen'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Sonderzeichen'; -$lang['upperns'] = 'Gehe zum Ausgangsfeld'; -$lang['admin_register'] = 'Neuen Benutzer anmelden'; +$lang['upperns'] = 'Springe zum vorherigen Namensraum'; +$lang['admin_register'] = 'Neuen Benutzer hinzufügen'; $lang['metaedit'] = 'Metadaten bearbeiten'; $lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden'; $lang['metasaveok'] = 'Metadaten gesichert'; @@ -216,7 +216,7 @@ $lang['i_wikiname'] = 'Wiki-Name'; $lang['i_enableacl'] = 'Zugangskontrolle (ACL) aktivieren (empfohlen)'; $lang['i_superuser'] = 'Administrator Benutzername'; $lang['i_problems'] = 'Das Installationsprogramm hat unten aufgeführte Probleme festgestellt, die zunächst behoben werden müssen, bevor du mit der Installation fortfahren kannst.'; -$lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Script nur mit einer neuen, unmodifizierten DokuWiki-Installation. Du solltest entweder alle Dateien noch einmal frisch installieren oder die Dokuwiki-Installationsanleitung konsultieren.'; +$lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Script nur mit einer neuen, unmodifizierten DokuWiki-Installation. Du solltest entweder alle Dateien erneut installieren oder in der Dokuwiki-Installationsanleitung lesen.'; $lang['i_funcna'] = 'Die PHP Funktion %s ist nicht verfügbar. Unter Umständen wurde sie von deinem Hoster deaktiviert?'; $lang['i_phpver'] = 'Deine PHP-Version %s ist niedriger als die benötigte Version %s. Bitte aktualisiere deine PHP-Installation.'; $lang['i_permfail'] = '%s ist nicht durch DokuWiki beschreibbar. Du musst die Berechtigungen dieses Ordners ändern!'; diff --git a/lib/plugins/config/lang/de-informal/lang.php b/lib/plugins/config/lang/de-informal/lang.php index 3b509e12e..28850aaa3 100644 --- a/lib/plugins/config/lang/de-informal/lang.php +++ b/lib/plugins/config/lang/de-informal/lang.php @@ -11,6 +11,7 @@ $lang['error'] = 'Einstellungen wurden nicht aktualisiert auf Gr
Die/der inkorrekte(n) Wert(e) werden durch eine rote Umrandung hervorgehoben.'; $lang['updated'] = 'Einstellungen erfolgreich hochgeladen.'; $lang['nochoice'] = '(keine andere Option möglich)'; +$lang['danger'] = 'Achtung: Änderungen dieser Option könnten dein Wiki und das Konfigurationsmenü unzugänglich machen.'; $lang['warning'] = 'Achtung: Änderungen dieser Option kann zu unbabsichtigtem Verhalten führen.'; $lang['security'] = 'Sicherheitswarnung: Änderungen dieser Option können eine Sicherheitsrisiko bedeuten.'; $lang['_configuration_manager'] = 'Einstellungen'; @@ -30,6 +31,8 @@ $lang['_network'] = 'Netzwerk-Einstellungen'; $lang['_plugin_sufix'] = 'Ereiterungseinstellungen'; $lang['_template_sufix'] = 'Vorlageneinstellungen'; $lang['_msg_setting_no_default'] = 'Kein Standardwert.'; +$lang['fmode'] = 'Dateierstellungsmodus'; +$lang['dmode'] = 'Ordnererstellungsmodus'; $lang['lang'] = 'Sprache'; $lang['basedir'] = 'Installationsverzeichnis. Für automatische Erkennung frei lassen.'; $lang['baseurl'] = 'Installationspfad (URL)'; @@ -48,13 +51,24 @@ $lang['signature'] = 'Signatur'; $lang['usewordblock'] = 'Blockier Spam basierend auf der Wortliste'; $lang['useacl'] = 'Benutze Zugangskontrollliste'; $lang['autopasswd'] = 'Automatisch erzeugte Passwörter'; +$lang['passcrypt'] = 'Passwortverschlüsselungsmethode'; $lang['defaultgroup'] = 'Standardgruppe'; +$lang['profileconfirm'] = 'Bestätige Profiländerungen mit dem Passwort'; $lang['disableactions'] = 'Deaktiviere DokuWiki\'s Zugriffe'; +$lang['disableactions_check'] = 'Prüfe'; $lang['disableactions_subscription'] = 'Bestellen/Abbestellen'; $lang['disableactions_nssubscription'] = 'Namensraum Bestellen/Abbestellen'; $lang['disableactions_wikicode'] = 'Zeige Quelle/Exportiere Rohdaten'; $lang['disableactions_other'] = 'Weitere Aktionen (durch Komma getrennt)'; +$lang['userewrite'] = 'Benutze angenehme URLs'; +$lang['autoplural'] = 'Prüfe die Links auf Plural-Formen'; +$lang['notify'] = 'Sende eine Änderungsmitteilung an diese E-Mail-Adresse'; +$lang['mailfrom'] = 'E-Mail-Adresse zur Nutzung für automatische E-Mails'; $lang['renderer__plugin'] = '%s (Erweiterung)'; +$lang['proxy____host'] = 'Proxy-Servername'; +$lang['proxy____port'] = 'Proxy- Port'; +$lang['proxy____user'] = 'Proxy-Nutzername'; +$lang['proxy____pass'] = 'Proxy-Passwort'; $lang['license_o_'] = 'Nichts ausgewählt'; $lang['typography_o_0'] = 'nichts'; $lang['userewrite_o_0'] = 'nichts'; @@ -66,6 +80,7 @@ $lang['rss_type_o_rss1'] = 'RSS 1.0'; $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; +$lang['rss_content_o_abstract'] = 'Abstraktum'; $lang['compression_o_0'] = 'nichts'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; diff --git a/lib/plugins/usermanager/lang/de-informal/lang.php b/lib/plugins/usermanager/lang/de-informal/lang.php index 780cc9e64..b57f999db 100644 --- a/lib/plugins/usermanager/lang/de-informal/lang.php +++ b/lib/plugins/usermanager/lang/de-informal/lang.php @@ -45,5 +45,5 @@ $lang['note_group'] = 'Neue Benutzer werden zur Standardgruppe (%s) h $lang['note_pass'] = 'Das Passwort wird automatisch erzeugt, wenn das Feld freigelassen wird und der Benutzer Benachrichtigungen aktiviert hat.'; $lang['add_ok'] = 'Benutzer erfolgreich hinzugefügt'; $lang['add_fail'] = 'Hinzufügen des Benutzers fehlgeschlagen'; -$lang['notify_ok'] = 'Benachrichtigungsemail wurde versendet'; -$lang['notify_fail'] = 'Benachrichtigungsemail konnte nicht gesendet werden'; +$lang['notify_ok'] = 'Benachrichtigungsmail wurde versendet'; +$lang['notify_fail'] = 'Benachrichtigungsmail konnte nicht gesendet werden'; -- cgit v1.2.3 From 3c743051cd4555135bdbf55c27733a2281463b4c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 26 Jan 2010 10:23:46 +0100 Subject: do not use "editor cleverness" on selected text This patch disables all keyhandling (as used for automatic list indention) when some text is selected. This fixes unexpected behavior when selecting some text at the start of a list item and hitting backspace. --- lib/scripts/edit.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index a80c8a06e..d7391b7e7 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -152,6 +152,7 @@ function keyHandler(e){ e.keyCode != 32) return; var field = e.target; var selection = getSelection(field); + if(selection.getLength()) return; //there was text selected, keep standard behavior var search = "\n"+field.value.substr(0,selection.start); var linestart = Math.max(search.lastIndexOf("\n"), search.lastIndexOf("\r")); //IE workaround -- cgit v1.2.3 From efb07c4e8b07eb4c07287d1bd6c0297ced02e3c8 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 26 Jan 2010 12:37:59 +0100 Subject: Cancel list if the last item is empty (two enter) --- lib/scripts/edit.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 4d8ead858..483fcc3cc 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -166,8 +166,14 @@ function keyHandler(e){ // keep current indention for lists and code var match = search.match(/(\n +([\*-] ?)?)/); if(match){ + var match2 = search.match(/^\n +[\*-]\s*$/); + // Cancel list if the last item is empty (i. e. two times enter) + if (match2 && field.value.substr(selection.start).match(/^($|\n)/)) { + field.value = field.value.substr(0, linestart) + "\n"; + } else { + insertAtCarret(field.id,match[1]); + } var scroll = field.scrollHeight; - insertAtCarret(field.id,match[1]); field.scrollTop += (field.scrollHeight - scroll); e.preventDefault(); // prevent enter key return false; -- cgit v1.2.3 From f3718805c9a748b2e6e5c7010f77a4d01859934c Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 27 Jan 2010 14:49:39 +0100 Subject: Update translations for subscription --- inc/lang/de/lang.php | 8 ++++++-- inc/lang/de/subscr_digest.txt | 21 +++++++++++++++++++++ inc/lang/de/subscr_form.txt | 3 +++ inc/lang/de/subscr_list.txt | 18 ++++++++++++++++++ inc/lang/de/subscr_single.txt | 24 ++++++++++++++++++++++++ inc/lang/de/subscribermail.txt | 23 ----------------------- inc/lang/en/subscr_digest.txt | 2 +- inc/lang/en/subscr_single.txt | 2 +- lib/plugins/config/lang/bg/lang.php | 1 - lib/plugins/config/lang/ca-valencia/lang.php | 1 - lib/plugins/config/lang/ca/lang.php | 1 - lib/plugins/config/lang/cs/lang.php | 1 - lib/plugins/config/lang/da/lang.php | 1 - lib/plugins/config/lang/de-informal/lang.php | 1 - lib/plugins/config/lang/de/lang.php | 2 +- lib/plugins/config/lang/el/lang.php | 1 - lib/plugins/config/lang/en/lang.php | 1 - lib/plugins/config/lang/eo/lang.php | 1 - lib/plugins/config/lang/es/lang.php | 1 - lib/plugins/config/lang/eu/lang.php | 1 - lib/plugins/config/lang/fa/lang.php | 1 - lib/plugins/config/lang/fi/lang.php | 1 - lib/plugins/config/lang/fr/lang.php | 1 - lib/plugins/config/lang/gl/lang.php | 1 - lib/plugins/config/lang/he/lang.php | 1 - lib/plugins/config/lang/hu/lang.php | 1 - lib/plugins/config/lang/it/lang.php | 1 - lib/plugins/config/lang/ja/lang.php | 1 - lib/plugins/config/lang/ko/lang.php | 1 - lib/plugins/config/lang/lv/lang.php | 1 - lib/plugins/config/lang/mr/lang.php | 1 - lib/plugins/config/lang/nl/lang.php | 1 - lib/plugins/config/lang/no/lang.php | 1 - lib/plugins/config/lang/pl/lang.php | 1 - lib/plugins/config/lang/pt-br/lang.php | 1 - lib/plugins/config/lang/pt/lang.php | 1 - lib/plugins/config/lang/ro/lang.php | 1 - lib/plugins/config/lang/ru/lang.php | 1 - lib/plugins/config/lang/sk/lang.php | 1 - lib/plugins/config/lang/sr/lang.php | 1 - lib/plugins/config/lang/sv/lang.php | 1 - lib/plugins/config/lang/uk/lang.php | 1 - lib/plugins/config/lang/zh-tw/lang.php | 1 - lib/plugins/config/lang/zh/lang.php | 1 - lib/plugins/config/settings/config.metadata.php | 4 ++-- 45 files changed, 77 insertions(+), 65 deletions(-) create mode 100644 inc/lang/de/subscr_digest.txt create mode 100644 inc/lang/de/subscr_form.txt create mode 100644 inc/lang/de/subscr_list.txt create mode 100644 inc/lang/de/subscr_single.txt delete mode 100644 inc/lang/de/subscribermail.txt diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index c3fefd926..9f426c2dc 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -159,10 +159,13 @@ $lang['external_edit'] = 'Externe Bearbeitung'; $lang['summary'] = 'Zusammenfassung'; $lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Ihnalt anzuzeigen.'; $lang['download'] = 'Schnipsel herunterladen'; + $lang['mail_newpage'] = 'Neue Seite:'; $lang['mail_changed'] = 'Seite geaendert:'; $lang['mail_new_user'] = 'Neuer Benutzer:'; $lang['mail_upload'] = 'Datei hochgeladen:'; +$lang['mail_subscribe_list'] = 'Geänderte Seiten im Namensraum:'; + $lang['qb_bold'] = 'Fetter Text'; $lang['qb_italic'] = 'Kursiver Text'; $lang['qb_underl'] = 'Unterstrichener Text'; @@ -217,10 +220,11 @@ $lang['subscr_m_new_header'] = 'Abonnement hinzufügen'; $lang['subscr_m_current_header'] = 'Aktuelle Abonnements'; $lang['subscr_m_unsubscribe'] = 'Löschen'; $lang['subscr_m_subscribe'] = 'Abonnieren'; +$lang['subscr_m_receive'] = 'Benachrichtigung'; $lang['subscr_style_every'] = 'Email bei jeder Bearbeitung'; -$lang['subscr_style_digest'] = 'Übersichtsemail für jede veränderte Seite'; -$lang['subscr_style_list'] = 'Email mit Liste der geänderten Seiten'; +$lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite'; +$lang['subscr_style_list'] = 'Liste der geänderten Seiten'; $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; diff --git a/inc/lang/de/subscr_digest.txt b/inc/lang/de/subscr_digest.txt new file mode 100644 index 000000000..9c42541a4 --- /dev/null +++ b/inc/lang/de/subscr_digest.txt @@ -0,0 +1,21 @@ +Hallo! + +Die Seite @PAGE@ im @TITLE@ Wiki wurde bearbeitet. +Das sind die Änderungen: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Alte Revision: @OLDPAGE@ +Neue Revision: @NEWPAGE@ + +Um das Abonnement für diese Seite aufzulösen, melde Sie sich im Wiki an +@DOKUWIKIURL@, besuchen dann +@SUBSCRIBE@ +und klicken auf die Taste 'Änderungen abbestellen'. + +-- +Diese Mail kommt vom DokuWiki auf +@DOKUWIKIURL@ + diff --git a/inc/lang/de/subscr_form.txt b/inc/lang/de/subscr_form.txt new file mode 100644 index 000000000..d606508c6 --- /dev/null +++ b/inc/lang/de/subscr_form.txt @@ -0,0 +1,3 @@ +====== Subscription Management ====== + +This page allows you to manage your subscriptions for the current page and namespace. diff --git a/inc/lang/de/subscr_list.txt b/inc/lang/de/subscr_list.txt new file mode 100644 index 000000000..98ec4c2ab --- /dev/null +++ b/inc/lang/de/subscr_list.txt @@ -0,0 +1,18 @@ +Hallo! + +Seite im Namensraum @PAGE@ im @TITLE@ Wiki wurden bearbeitet. +Das sind die geänderten Seiten: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Um das Abonnement für diese Seite aufzulösen, melde Sie sich im Wiki an +@DOKUWIKIURL@, besuchen dann +@SUBSCRIBE@ +und klicken auf die Taste 'Änderungen abbestellen'. + +-- +Diese Mail kommt vom DokuWiki auf +@DOKUWIKIURL@ + diff --git a/inc/lang/de/subscr_single.txt b/inc/lang/de/subscr_single.txt new file mode 100644 index 000000000..fb149e927 --- /dev/null +++ b/inc/lang/de/subscr_single.txt @@ -0,0 +1,24 @@ +Hallo! + +Die Seite @PAGE@ im @TITLE@ Wiki wurde bearbeitet. +Das sind die Änderungen: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Datum : @DATE@ +Benutzer : @USER@ +Übersicht: @SUMMARY@ +Alte Revision: @OLDPAGE@ +Neue Revision: @NEWPAGE@ + +Um das Abonnement für diese Seite aufzulösen, melde Sie sich im Wiki an +@DOKUWIKIURL@, besuchen dann +@NEWPAGE@ +und klicken auf die Taste 'Änderungen abbestellen'. + +-- +Diese Mail kommt vom DokuWiki auf +@DOKUWIKIURL@ + diff --git a/inc/lang/de/subscribermail.txt b/inc/lang/de/subscribermail.txt deleted file mode 100644 index 0d90967a2..000000000 --- a/inc/lang/de/subscribermail.txt +++ /dev/null @@ -1,23 +0,0 @@ -Hallo! - -Die Seite @PAGE@ im @TITLE@ Wiki wurde bearbeitet. -Das sind die Änderungen: - --------------------------------------------------------- -@DIFF@ --------------------------------------------------------- - -Datum : @DATE@ -Benutzer : @USER@ -Übersicht: @SUMMARY@ -Alte Revision: @OLDPAGE@ -Neue Revision: @NEWPAGE@ - -Um das Abonnement für diese Seite aufzulösen, melde Sie sich im Wiki an -@DOKUWIKIURL@, besuchen dann -@NEWPAGE@ -und klicken auf die Taste 'Änderungen abbestellen'. - --- -Diese Mail kommt vom DokuWiki auf -@DOKUWIKIURL@ diff --git a/inc/lang/en/subscr_digest.txt b/inc/lang/en/subscr_digest.txt index 35011b6e6..fac8564bd 100644 --- a/inc/lang/en/subscr_digest.txt +++ b/inc/lang/en/subscr_digest.txt @@ -15,6 +15,6 @@ To cancel the page notifications, log into the wiki at @SUBSCRIBE@ and unsubscribe page and/or namespace changes. --- +-- This mail was generated by DokuWiki at @DOKUWIKIURL@ diff --git a/inc/lang/en/subscr_single.txt b/inc/lang/en/subscr_single.txt index 673c4c32a..f2abe6d77 100644 --- a/inc/lang/en/subscr_single.txt +++ b/inc/lang/en/subscr_single.txt @@ -18,6 +18,6 @@ To cancel the page notifications, log into the wiki at @NEWPAGE@ and unsubscribe page and/or namespace changes. --- +-- This mail was generated by DokuWiki at @DOKUWIKIURL@ diff --git a/lib/plugins/config/lang/bg/lang.php b/lib/plugins/config/lang/bg/lang.php index 0dfa805a8..855f0b2c2 100644 --- a/lib/plugins/config/lang/bg/lang.php +++ b/lib/plugins/config/lang/bg/lang.php @@ -80,7 +80,6 @@ $lang['profileconfirm'] = 'Потвърждаване на промени $lang['disableactions'] = 'Изключване на DokuWiki функции'; $lang['disableactions_check'] = 'Проверка'; $lang['disableactions_subscription'] = 'Записване/Отписване'; -$lang['disableactions_nssubscription'] = 'Записване/Отписване относно именни пространства'; $lang['disableactions_wikicode'] = 'Преглед на кода/Експортиране на оригинална версия'; $lang['disableactions_other'] = 'Други действия (разделени със запетая)'; $lang['sneaky_index'] = 'По подразбиране DokuWiki ще показва всички именни пространства в индекса. Избирането на настройката ще доведе до скриване на тези, за които потребителят няма права за четене. Това може да означава и скриване на достъпните подименни пространства. Това може да направи индекса неизползваем при определени настрокйки на списъците за контрол на достъп (ACL). '; diff --git a/lib/plugins/config/lang/ca-valencia/lang.php b/lib/plugins/config/lang/ca-valencia/lang.php index 4fa47f956..239213433 100644 --- a/lib/plugins/config/lang/ca-valencia/lang.php +++ b/lib/plugins/config/lang/ca-valencia/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Confirmar canvis al perfil en la contrasenya'; $lang['disableactions'] = 'Desactivar accions de DokuWiki'; $lang['disableactions_check'] = 'Comprovar'; $lang['disableactions_subscription'] = 'Subscriure\'s/Desubscriure\'s'; -$lang['disableactions_nssubscription'] = 'Subscriure\'s/desubscriure\'s a l\'espai de noms'; $lang['disableactions_wikicode'] = 'Vore font/exportar còdic'; $lang['disableactions_other'] = 'Atres accions (separades per comes)'; $lang['sneaky_index'] = 'Normalment, DokuWiki mostra tots els espais de noms en la vista d\'índex. Activant esta opció s\'ocultaran aquells per als que l\'usuari no tinga permís de llectura. Açò pot ocultar subespais accessibles i inutilisar l\'índex per a certes configuracions del ACL.'; diff --git a/lib/plugins/config/lang/ca/lang.php b/lib/plugins/config/lang/ca/lang.php index 60db83266..f0d622d35 100644 --- a/lib/plugins/config/lang/ca/lang.php +++ b/lib/plugins/config/lang/ca/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Confirma amb contrasenya els canvis en el perf $lang['disableactions'] = 'Inhabilita accions DokuWiki'; $lang['disableactions_check'] = 'Revisa'; $lang['disableactions_subscription'] = 'Subscripció/cancel·lació'; -$lang['disableactions_nssubscription'] = 'Subscripció/cancel·lació a espai'; $lang['disableactions_wikicode'] = 'Mostra/exporta font'; $lang['disableactions_other'] = 'Altres accions (separades per comes)'; $lang['sneaky_index'] = 'Per defecte, DokuWiki mostrarà tots els espai en la visualització d\'índex. Si activeu aquest paràmetre, s\'ocultaran aquells espais en els quals l\'usuari no té accés de lectura. Això pot fer que s\'ocultin subespais que sí que són accessibles. En algunes configuracions ACL pot fer que l\'índex resulti inutilitzable.'; diff --git a/lib/plugins/config/lang/cs/lang.php b/lib/plugins/config/lang/cs/lang.php index a91b8c7e7..e5114617b 100644 --- a/lib/plugins/config/lang/cs/lang.php +++ b/lib/plugins/config/lang/cs/lang.php @@ -84,7 +84,6 @@ $lang['profileconfirm'] = 'Potvrdit změny v profilu zadáním hesla'; $lang['disableactions'] = 'Vypnout DokuWiki akce'; $lang['disableactions_check'] = 'Zkontrolovat'; $lang['disableactions_subscription'] = 'Přihlásit se/Odhlásit se ze seznamu pro odběr změn'; -$lang['disableactions_nssubscription'] = 'Přihlásit se/Odhlásit se ze seznamu pro odběr změn ve jmenném prostoru'; $lang['disableactions_wikicode'] = 'Prohlížet zdrojové kódy/Export wiki textu'; $lang['disableactions_other'] = 'Další akce (oddělené čárkou)'; $lang['sneaky_index'] = 'Ve výchozím nastavení DokuWiki zobrazuje v indexu všechny diff --git a/lib/plugins/config/lang/da/lang.php b/lib/plugins/config/lang/da/lang.php index 3974b82c2..93eb5c3e3 100644 --- a/lib/plugins/config/lang/da/lang.php +++ b/lib/plugins/config/lang/da/lang.php @@ -85,7 +85,6 @@ $lang['profileconfirm'] = 'Bekræft profilændringer med kodeord'; $lang['disableactions'] = 'Slå DokuWiki-muligheder fra'; $lang['disableactions_check'] = 'Tjek'; $lang['disableactions_subscription'] = 'Tliføj/Fjern opskrivning'; -$lang['disableactions_nssubscription'] = 'Tilmelding / afmelding af navnerum'; $lang['disableactions_wikicode'] = 'Vis kilde/Eksporter grundkode'; $lang['disableactions_other'] = 'Andre muligheder (kommasepareret)'; $lang['sneaky_index'] = 'DokuWiki vil som standard vise alle navnerum i indholdsfortegnelsen. Ved at slå denne valgmulighed til vil skjule de navnerum, hvor brugeren ikke har læsetilladelse. Dette kan føre til, at tilgængelige undernavnerum bliver skjult. Ligeledes kan det også gøre indholdsfortegnelsen ubrugelig med visse ACL-opsætninger.'; diff --git a/lib/plugins/config/lang/de-informal/lang.php b/lib/plugins/config/lang/de-informal/lang.php index 28850aaa3..68232d80b 100644 --- a/lib/plugins/config/lang/de-informal/lang.php +++ b/lib/plugins/config/lang/de-informal/lang.php @@ -57,7 +57,6 @@ $lang['profileconfirm'] = 'Bestätige Profiländerungen mit dem Passwort' $lang['disableactions'] = 'Deaktiviere DokuWiki\'s Zugriffe'; $lang['disableactions_check'] = 'Prüfe'; $lang['disableactions_subscription'] = 'Bestellen/Abbestellen'; -$lang['disableactions_nssubscription'] = 'Namensraum Bestellen/Abbestellen'; $lang['disableactions_wikicode'] = 'Zeige Quelle/Exportiere Rohdaten'; $lang['disableactions_other'] = 'Weitere Aktionen (durch Komma getrennt)'; $lang['userewrite'] = 'Benutze angenehme URLs'; diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index a76e39102..2cb44ab17 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -88,7 +88,6 @@ $lang['profileconfirm'] = 'Profiländerung nur nach Passwortbestätigung' $lang['disableactions'] = 'DokuWiki-Aktionen deaktivieren'; $lang['disableactions_check'] = 'Check'; $lang['disableactions_subscription'] = 'Seiten-Abonnements'; -$lang['disableactions_nssubscription'] = 'Namensraum-Abonnements'; $lang['disableactions_wikicode'] = 'Quelltext betrachten/exportieren'; $lang['disableactions_other'] = 'Andere Aktionen (durch Komma getrennt)'; $lang['sneaky_index'] = 'Standardmäßig zeigt DokuWiki alle Namensräume in der Übersicht. Wenn diese Option aktiviert wird, werden alle Namensräume, für die der Benutzer keine Lese-Rechte hat, nicht angezeigt. Dies kann unter Umständen dazu führen, das lesbare Unter-Namensräume nicht angezeigt werden und macht die Übersicht evtl. unbrauchbar in Kombination mit bestimmten ACL Einstellungen.'; @@ -115,6 +114,7 @@ $lang['gdlib'] = 'GD Lib Version'; $lang['im_convert'] = 'Pfad zu ImageMagicks Konvertierwerkzeug'; $lang['jpg_quality'] = 'JPEG Kompressionsqualität (0-100)'; $lang['subscribers'] = 'E-Mail-Abos zulassen'; +$lang['subscribe_time'] = 'Zeit nach der Zusammenfassungs- und Änderungslisten-E-Mails verschickt werden; Dieser Wert sollte größer als recent_days sein.'; $lang['compress'] = 'JavaScript und Stylesheets komprimieren'; $lang['hidepages'] = 'Seiten verstecken (Regulärer Ausdruck)'; $lang['send404'] = 'Bei nicht vorhandenen Seiten mit 404 Fehlercode antworten'; diff --git a/lib/plugins/config/lang/el/lang.php b/lib/plugins/config/lang/el/lang.php index 6c1b5039c..f0434a096 100644 --- a/lib/plugins/config/lang/el/lang.php +++ b/lib/plugins/config/lang/el/lang.php @@ -85,7 +85,6 @@ $lang['profileconfirm'] = 'Να απαιτείται ο κωδικός χ $lang['disableactions'] = 'Απενεργοποίηση λειτουργιών DokuWiki'; $lang['disableactions_check'] = 'Έλεγχος'; $lang['disableactions_subscription'] = 'Εγγραφή/Διαγραφή χρήστη'; -$lang['disableactions_nssubscription'] = 'Εγγραφή/Διαγραφή σε φάκελο'; $lang['disableactions_wikicode'] = 'Προβολή κώδικα σελίδας'; $lang['disableactions_other'] = 'Άλλες λειτουργίες (διαχωρίστε τις με κόμμα)'; $lang['sneaky_index'] = 'Εξ ορισμού, η εφαρμογή DokuWiki δείχνει όλους τους φακέλους στην προβολή Καταλόγου. Ενεργοποιώντας αυτή την επιλογή, δεν θα εμφανίζονται οι φάκελοι για τους οποίους ο χρήστης δεν έχει δικαιώματα ανάγνωσης αλλά και οι υπο-φάκελοί τους ανεξαρτήτως δικαιωμάτων πρόσβασης.'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 45b653680..cad1a0aad 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -101,7 +101,6 @@ $lang['profileconfirm'] = 'Confirm profile changes with password'; $lang['disableactions'] = 'Disable DokuWiki actions'; $lang['disableactions_check'] = 'Check'; $lang['disableactions_subscription'] = 'Subscribe/Unsubscribe'; -$lang['disableactions_nssubscription'] = 'Namespace Subscribe /Unsubscribe'; $lang['disableactions_wikicode'] = 'View source/Export Raw'; $lang['disableactions_other'] = 'Other actions (comma separated)'; $lang['sneaky_index'] = 'By default, DokuWiki will show all namespaces in the index view. Enabling this option will hide those where the user doesn\'t have read permissions. This might result in hiding of accessable subnamespaces. This may make the index unusable with certain ACL setups.'; diff --git a/lib/plugins/config/lang/eo/lang.php b/lib/plugins/config/lang/eo/lang.php index 4d589696b..f490248e5 100644 --- a/lib/plugins/config/lang/eo/lang.php +++ b/lib/plugins/config/lang/eo/lang.php @@ -85,7 +85,6 @@ $lang['profileconfirm'] = 'Konfirmi ŝanĝojn en la trajtaro per pasvorto $lang['disableactions'] = 'Malebligi DokuWiki-ajn agojn'; $lang['disableactions_check'] = 'Kontroli'; $lang['disableactions_subscription'] = 'Aliĝi/Malaliĝi'; -$lang['disableactions_nssubscription'] = 'Aliĝi/Malaliĝi al nomspaco'; $lang['disableactions_wikicode'] = 'Rigardi vikitekston/Eksporti krudaĵon'; $lang['disableactions_other'] = 'Aliaj agoj (apartite per komoj)'; $lang['sneaky_index'] = 'Apriore, DokuWiki montras ĉiujn nomspacojn en la indeksa modo. Ebligi tiun ĉi elekteblon kaŝus tion, kion la uzanto ne rajtas legi laŭ ACL. Tio povus rezulti ankaŭan kaŝon de alireblaj subnomspacoj. Kaj tiel la indekso estus neuzebla por kelkaj agordoj de ACL.'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 3e791e51f..739ec6bbe 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -91,7 +91,6 @@ $lang['profileconfirm'] = 'Confirmar cambios en perfil con contraseña'; $lang['disableactions'] = 'Deshabilitar acciones DokuWiki'; $lang['disableactions_check'] = 'Controlar'; $lang['disableactions_subscription'] = 'Suscribirse/Cancelar suscripción'; -$lang['disableactions_nssubscription'] = 'Suscribirse/Cancelar suscripción (Espacio de nombres)'; $lang['disableactions_wikicode'] = 'Ver la fuente/Exportar en formato raw'; $lang['disableactions_other'] = 'Otras acciones (separadas por coma)'; $lang['sneaky_index'] = 'Por defecto, DokuWiki mostrará todos los namespaces en el index. Habilitando esta opción los ocultará si el usuario no tiene permisos de lectura. Los sub-namespaces pueden resultar inaccesibles. El index puede hacerse poco usable dependiendo de las configuraciones ACL.'; diff --git a/lib/plugins/config/lang/eu/lang.php b/lib/plugins/config/lang/eu/lang.php index 3554abd42..380b00971 100644 --- a/lib/plugins/config/lang/eu/lang.php +++ b/lib/plugins/config/lang/eu/lang.php @@ -78,7 +78,6 @@ $lang['profileconfirm'] = 'Profil aldaketak pasahitzaz berretsi'; $lang['disableactions'] = 'DokuWiki ekintzak ezgaitu'; $lang['disableactions_check'] = 'Egiaztatu'; $lang['disableactions_subscription'] = 'Harpidetu/Harpidetza utzi'; -$lang['disableactions_nssubscription'] = 'Izen-espaziora Harpidetu/Harpidetza utzi'; $lang['disableactions_wikicode'] = 'Ikusi iturburua/Esportatu Raw'; $lang['disableactions_other'] = 'Beste ekintzak (komaz bereiztuak)'; $lang['sneaky_index'] = 'Lehenespenez, DokuWiki-k izen-espazio guztiak indize bistan erakutsiko ditu. Aukera hau gaituta, erabiltzaieak irakurtzeko baimenik ez dituen izen-espazioak ezkutatuko dira. Honek atzigarriak diren azpi izen-espazioak ezkutatzen ditu. Agian honek indizea erabili ezin ahal izatea eragingo du AKL ezarpen batzuetan.'; diff --git a/lib/plugins/config/lang/fa/lang.php b/lib/plugins/config/lang/fa/lang.php index a1f902090..bccb36804 100644 --- a/lib/plugins/config/lang/fa/lang.php +++ b/lib/plugins/config/lang/fa/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'تغییرات پروفایل با وارد ک $lang['disableactions'] = 'غیرفعال کردن فعالیت‌های DokuWiki'; $lang['disableactions_check'] = 'بررسی'; $lang['disableactions_subscription'] = 'عضویت/عدم عضویت'; -$lang['disableactions_nssubscription'] = 'عضویت/عدم عضویت فضای‌نام'; $lang['disableactions_wikicode'] = 'نمایش سورس/برون‌بری خام'; $lang['disableactions_other'] = 'فعالیت‌های دیگر (با ویرگول انگلیسی «,» از هم جدا کنید)'; $lang['sneaky_index'] = 'به طور پیش‌فرض، DokuWiki در فهرست تمامی فضای‌نام‌ها را نمایش می‌دهد. فعال کردن این گزینه، مواردی را که کاربر حق خواندنشان را ندارد مخفی می‌کند. این گزینه ممکن است باعث دیده نشدن زیرفضای‌نام‌هایی شود که دسترسی خواندن به آن‌ها وجود دارد. و ممکن است باعث شود که فهرست در حالاتی از دسترسی‌ها، غیرقابل استفاده شود.'; diff --git a/lib/plugins/config/lang/fi/lang.php b/lib/plugins/config/lang/fi/lang.php index 79b4957eb..fccb055a2 100644 --- a/lib/plugins/config/lang/fi/lang.php +++ b/lib/plugins/config/lang/fi/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Vahvista profiilin päivitys salasanan avulla' $lang['disableactions'] = 'Estä DokuWiki-toimintojen käyttö'; $lang['disableactions_check'] = 'Tarkista'; $lang['disableactions_subscription'] = 'Tilaa/Peruuta tilaus'; -$lang['disableactions_nssubscription'] = 'Nimiavaruuden tilaus/tilauksen poisto'; $lang['disableactions_wikicode'] = 'Näytä lähdekoodi/Vie raakana'; $lang['disableactions_other'] = 'Muut toiminnot (pilkulla erotettuna)'; $lang['sneaky_index'] = 'Oletuksena DokuWiki näyttää kaikki nimiavaruudet index-näkymäsä. Tämä asetus piilottaa ne, joihin käyttäjällä ei ole lukuoikeuksia. Tämä voi piilottaa joitakin sallittuja alinimiavaruuksia. Tästä johtuen index-näkymä voi olla käyttökelvoton joillakin ACL-asetuksilla'; diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index 2de2fb159..f410291e7 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -86,7 +86,6 @@ $lang['profileconfirm'] = 'Confirmer par mot de passe les modifications d $lang['disableactions'] = 'Actions à désactiver dans DokuWiki'; $lang['disableactions_check'] = 'Vérifier'; $lang['disableactions_subscription'] = 'Abonnement aux pages'; -$lang['disableactions_nssubscription'] = 'Abonnement aux catégories'; $lang['disableactions_wikicode'] = 'Afficher source'; $lang['disableactions_other'] = 'Autres actions (séparées par des virgules)'; $lang['sneaky_index'] = 'Par défaut, DokuWiki affichera toutes les catégories dans la vue par index. Activer cette option permet de cacher celles pour lesquelles l\'utilisateur n\'a pas la permission de lecture. Il peut en résulter le masquage de sous-catégories accessibles. Ceci peut rendre l\'index inutilisable avec certaines ACL.'; diff --git a/lib/plugins/config/lang/gl/lang.php b/lib/plugins/config/lang/gl/lang.php index efc5a6280..eb7559e2f 100644 --- a/lib/plugins/config/lang/gl/lang.php +++ b/lib/plugins/config/lang/gl/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Confirmar as modificacións de perfil mediante $lang['disableactions'] = 'Desactivar accións do DokuWiki'; $lang['disableactions_check'] = 'Comprobar'; $lang['disableactions_subscription'] = 'Subscribir/Desubscribir'; -$lang['disableactions_nssubscription'] = 'Subscribir/Desubscribir en nomes de espazo'; $lang['disableactions_wikicode'] = 'Ver o código/Exportar datos raw'; $lang['disableactions_other'] = 'Outras accións (separadas por vírgulas)'; $lang['sneaky_index'] = 'O DokuWiki mostrará por defecto todos os nomes de espazo na vista de índice. Se activa isto serán ocultados aqueles onde o usuario non teña permisos de lectura.'; diff --git a/lib/plugins/config/lang/he/lang.php b/lib/plugins/config/lang/he/lang.php index c47c8d099..a39d0ab5c 100644 --- a/lib/plugins/config/lang/he/lang.php +++ b/lib/plugins/config/lang/he/lang.php @@ -77,7 +77,6 @@ $lang['profileconfirm'] = 'אשר שינוי פרופילים עם סיס $lang['disableactions'] = 'בטל פעולות DokuWiki'; $lang['disableactions_check'] = 'בדיקה'; $lang['disableactions_subscription'] = 'הרשמה/הסרה מרשימה'; -$lang['disableactions_nssubscription'] = 'הרשמה / הסרת הרשמה ממרחב שם'; $lang['disableactions_wikicode'] = 'הצגת המקור/יצוא גולמי'; $lang['disableactions_other'] = 'פעולות אחרות (מופרדות בפסיק)'; $lang['sneaky_index'] = 'כברירת מחדל, דוקוויקי יציג את כל מרחבי השמות בתצוגת תוכן הענינים. בחירה באפשרות זאת תסתיר את אלו שבהם למשתמש אין הרשאות קריאה. התוצאה עלולה להיות הסתרת תת מרחבי שמות אליהם יש למשתמש גישה. באופן זה תוכן הענינים עלול להפוך לחסר תועלת עם הגדרות ACL מסוימות'; diff --git a/lib/plugins/config/lang/hu/lang.php b/lib/plugins/config/lang/hu/lang.php index 0207922d2..9e51305fd 100644 --- a/lib/plugins/config/lang/hu/lang.php +++ b/lib/plugins/config/lang/hu/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Beállítások változtatásának megerősít $lang['disableactions'] = 'Bizonyos DokuWiki tevékenységek (action) tiltása'; $lang['disableactions_check'] = 'Ellenőrzés'; $lang['disableactions_subscription'] = 'Feliratkozás/Leiratkozás'; -$lang['disableactions_nssubscription'] = 'Névtér feliratkozás/Leiratkozás'; $lang['disableactions_wikicode'] = 'Forrás megtekintése/Nyers adat exportja'; $lang['disableactions_other'] = 'Egyéb tevékenységek (vesszővel elválasztva)'; $lang['sneaky_index'] = 'Alapértelmezetten minden névtér látszik a DokuWiki áttekintő (index) oldalán. Ezen opció bekapcsolása után azok nem jelennek meg, melyekhez a felhasználónak nincs olvasás joga. De ezzel eltakarhatunk egyébként elérhető al-névtereket is, így bizonyos ACL beállításoknál használhatatlan indexet eredményez ez a beállítás.'; diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 4c8296767..2a9ba42f0 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -87,7 +87,6 @@ $lang['profileconfirm'] = 'Richiedi la password per modifiche al profilo' $lang['disableactions'] = 'Disabilita azioni DokuWiki'; $lang['disableactions_check'] = 'Controlla'; $lang['disableactions_subscription'] = 'Sottoscrivi/Rimuovi sottoscrizione'; -$lang['disableactions_nssubscription'] = 'Sottoscrivi/Rimuovi sottoscrizione della categoria'; $lang['disableactions_wikicode'] = 'Mostra sorgente/Esporta Raw'; $lang['disableactions_other'] = 'Altre azioni (separate da virgola)'; $lang['sneaky_index'] = 'Normalmente, DokuWiki mostra tutte le categorie nella vista indice. Abilitando questa opzione, saranno nascoste quelle per cui l\'utente non ha il permesso in lettura. Questo potrebbe far sì che alcune sottocategorie accessibili siano nascoste. La pagina indice potrebbe quindi diventare inutilizzabile con alcune configurazioni dell\'ACL.'; diff --git a/lib/plugins/config/lang/ja/lang.php b/lib/plugins/config/lang/ja/lang.php index 947ea3c1d..c3bca045d 100644 --- a/lib/plugins/config/lang/ja/lang.php +++ b/lib/plugins/config/lang/ja/lang.php @@ -84,7 +84,6 @@ $lang['profileconfirm'] = 'プロフィール変更時に現在のパス $lang['disableactions'] = 'DokuWiki の動作を無効にする'; $lang['disableactions_check'] = 'チェック'; $lang['disableactions_subscription'] = '登録 / 解除'; -$lang['disableactions_nssubscription'] = '名前空間の登録 / 解除'; $lang['disableactions_wikicode'] = 'ソース閲覧 / 生データ出力'; $lang['disableactions_other'] = 'その他の動作(カンマ区切り)'; $lang['sneaky_index'] = 'デフォルトでは索引にすべての名前空間を表示しますが、この機能はユーザーに閲覧権限のない名前空間を非表示にします。ただし、閲覧が可能な副名前空間まで表示されなくなるため、ACLの設定が適正でない場合は索引機能が使えなくなる場合があります。'; diff --git a/lib/plugins/config/lang/ko/lang.php b/lib/plugins/config/lang/ko/lang.php index 195b0d2a2..efac643ab 100644 --- a/lib/plugins/config/lang/ko/lang.php +++ b/lib/plugins/config/lang/ko/lang.php @@ -82,7 +82,6 @@ $lang['profileconfirm'] = '개인정보 변경시 암호 재확인'; $lang['disableactions'] = 'DokuWiki Action 금지'; $lang['disableactions_check'] = '검사'; $lang['disableactions_subscription'] = '구독 신청/해지'; -$lang['disableactions_nssubscription'] = '네임스페이스 구독 신청/해지'; $lang['disableactions_wikicode'] = '문서 소스 보기'; $lang['disableactions_other'] = '다른 Action(comma로 구분)'; $lang['sneaky_index'] = '기본적으로, DokuWiki는 색인 목록에 모든 네임스페이스들을 보여줍니다. diff --git a/lib/plugins/config/lang/lv/lang.php b/lib/plugins/config/lang/lv/lang.php index b392389bf..51cb6d89b 100644 --- a/lib/plugins/config/lang/lv/lang.php +++ b/lib/plugins/config/lang/lv/lang.php @@ -79,7 +79,6 @@ $lang['profileconfirm'] = 'Profila labošanai vajag paroli'; $lang['disableactions'] = 'Bloķēt Dokuwiki darbības'; $lang['disableactions_check'] = 'atzīmēt'; $lang['disableactions_subscription'] = 'abonēt/atteikties'; -$lang['disableactions_nssubscription'] = 'abonēt nodaļu/atteikties'; $lang['disableactions_wikicode'] = 'skatīt/eksportēt izejtekstu'; $lang['disableactions_other'] = 'citas darbības (atdalīt ar komatiem)'; $lang['sneaky_index'] = 'Pēc noklusētā DokuWiki lapu sarakstā parāda visu nodaļu lapas. Ieslēdzot šo parametru, noslēps tās nodaļas, kuras apmeklētājam nav tiesības lasīt. Bet tad tiks arī paslēptas dziļākas, bet atļautas nodaļas. Atsevišķos pieejas tiesību konfigurācijas gadījumos lapu saraksts var nedarboties.'; diff --git a/lib/plugins/config/lang/mr/lang.php b/lib/plugins/config/lang/mr/lang.php index e2d290db5..79e8ea426 100644 --- a/lib/plugins/config/lang/mr/lang.php +++ b/lib/plugins/config/lang/mr/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'प्रोफाइल मधील बद $lang['disableactions'] = 'डॉक्युविकीच्या क्रिया बंद ठेवा'; $lang['disableactions_check'] = 'तपासा'; $lang['disableactions_subscription'] = 'सब्सक्राईब / अन्-सब्सक्राईब'; -$lang['disableactions_nssubscription'] = 'नेमस्पेस सब्सक्राईब / अन्-सब्सक्राईब'; $lang['disableactions_wikicode'] = 'स्त्रोत पहा / कच्च्या स्वरूपात एक्सपोर्ट करा'; $lang['disableactions_other'] = 'इतर क्रिया ( स्वल्पविरामाने अलग केलेल्या )'; $lang['sneaky_index'] = 'सूची दृश्यामधे डिफॉल्ट स्वरूपात डॉक्युविकी सगळे नेमस्पेस दाखवते. हा पर्याय चालू केल्यास सदस्याला वाचण्याची परवानगी नसलेले नेमस्पेस दिसणार नाहीत. यामुळे परवानगी असलेले उप - नेमस्पेस न दिसण्याची शक्यता आहे. यामुळे काही विशिष्ठ ACL सेटिंगसाठी सूची वापरता येण्यासारखी राहणार नाही.'; diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php index cda817ffe..781598cd8 100644 --- a/lib/plugins/config/lang/nl/lang.php +++ b/lib/plugins/config/lang/nl/lang.php @@ -85,7 +85,6 @@ $lang['profileconfirm'] = 'Bevestig profielwijzigingen met wachtwoord'; $lang['disableactions'] = 'Aangevinkte DokuWiki-akties uitschakelen'; $lang['disableactions_check'] = 'Controleer'; $lang['disableactions_subscription'] = 'Inschrijven/opzeggen'; -$lang['disableactions_nssubscription'] = 'Namespace inschrijven/opzeggen'; $lang['disableactions_wikicode'] = 'Bron bekijken/exporteer rauw'; $lang['disableactions_other'] = 'Andere akties (gescheiden door komma\'s)'; $lang['sneaky_index'] = 'Met de standaardinstellingen zal DokuWiki alle namespaces laten zien in de index. Het inschakelen van deze optie zorgt ervoor dat de namespaces waar de gebruiker geen leestoegang tot heeft, verborgen worden. Dit kan resulteren in het verbergen van subnamespaces waar de gebruiker wel toegang to heeft. Dit kan de index onbruikbaar maken met bepaalde ACL-instellingen.'; diff --git a/lib/plugins/config/lang/no/lang.php b/lib/plugins/config/lang/no/lang.php index 08dd8507a..4529b55fe 100644 --- a/lib/plugins/config/lang/no/lang.php +++ b/lib/plugins/config/lang/no/lang.php @@ -91,7 +91,6 @@ $lang['profileconfirm'] = 'Bekreft profilendringer med passord'; $lang['disableactions'] = 'Skru av følgende DokuWiki-kommandoer'; $lang['disableactions_check'] = 'Sjekk'; $lang['disableactions_subscription'] = 'Meld på/av'; -$lang['disableactions_nssubscription'] = 'Navnerom Abonnere /Stoppe abonnement'; $lang['disableactions_wikicode'] = 'Vis kildekode/eksporter rådata'; $lang['disableactions_other'] = 'Andre kommandoer (kommaseparert)'; $lang['sneaky_index'] = 'DokuWiki vil som standard vise alle navnerom i innholdsfortegnelsen. Hvis du skrur på dette alternativet vil brukere bare se de navnerommene der de har lesetilgang. Dette kan føre til at tilgjengelige undernavnerom skjules. Det kan gjøre innholdsfortegnelsen ubrukelig med enkelte ACL-oppsett.'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index 2d3b29db8..4f3c2ddec 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -82,7 +82,6 @@ $lang['profileconfirm'] = 'Potwierdzanie zmiany profilu hasłem'; $lang['disableactions'] = 'Wyłącz akcje DokuWiki'; $lang['disableactions_check'] = 'Sprawdzanie'; $lang['disableactions_subscription'] = 'Subskrypcje'; -$lang['disableactions_nssubscription'] = 'Subskrypcje katalogów'; $lang['disableactions_wikicode'] = 'Pokazywanie źródeł'; $lang['disableactions_other'] = 'Inne akcje (oddzielone przecinkiem)'; $lang['sneaky_index'] = 'Domyślnie, Dokuwiki pokazuje wszystkie katalogi w indeksie. Włączenie tej opcji ukryje katalogi, do których użytkownik nie ma praw. Może to spowodować ukrycie podkatalogów, do których użytkownik ma prawa. Ta opcja może spowodować błędne działanie indeksu w połączeniu z pewnymi konfiguracjami praw dostępu.'; diff --git a/lib/plugins/config/lang/pt-br/lang.php b/lib/plugins/config/lang/pt-br/lang.php index 0d482c938..14e5cfb19 100644 --- a/lib/plugins/config/lang/pt-br/lang.php +++ b/lib/plugins/config/lang/pt-br/lang.php @@ -89,7 +89,6 @@ $lang['profileconfirm'] = 'Confirmar mudanças no perfil com a senha'; $lang['disableactions'] = 'Desabilitar as ações do DokuWiki'; $lang['disableactions_check'] = 'Verificação'; $lang['disableactions_subscription'] = 'Monitoramento'; -$lang['disableactions_nssubscription'] = 'Monitoramento do espaços de nomes'; $lang['disableactions_wikicode'] = 'Visualização da fonte/Exportação sem processamento'; $lang['disableactions_other'] = 'Outras ações (separadas por vírgula)'; $lang['sneaky_index'] = 'Por padrão, o DokuWiki irá exibir todos os espaços de nomes na visualização do índice. Ao habilitar essa opção, serão escondidos aqueles que o usuário não tiver permissão de leitura. Isso pode resultar na omissão de subespaços de nomes, tornando o índice inútil para certas configurações de ACL.'; diff --git a/lib/plugins/config/lang/pt/lang.php b/lib/plugins/config/lang/pt/lang.php index 8b6145480..5b88f4bfc 100644 --- a/lib/plugins/config/lang/pt/lang.php +++ b/lib/plugins/config/lang/pt/lang.php @@ -81,7 +81,6 @@ $lang['profileconfirm'] = 'Confirmar mudanças no perfil com a senha'; $lang['disableactions'] = 'Desactivar acções DokuWiki'; $lang['disableactions_check'] = 'Checar'; $lang['disableactions_subscription'] = 'Subscrever/Não Subscrver'; -$lang['disableactions_nssubscription'] = 'Subscrever / Dessubscrever Espaço de Nome'; $lang['disableactions_wikicode'] = 'Ver fonte/Exportar em bruto'; $lang['disableactions_other'] = 'Outras acções (separadas por vírgula)'; $lang['sneaky_index'] = 'Por norma, o DokuWiki irá exibir todos os espaços de nomes na visualização do índice. Ao habilitar essa opção, serão escondidos aqueles em que o utilizador não tenha permissão de leitura. Isto pode resultar na omissão de sub-ramos acessíveis, que poderá tornar o índice inútil para certas configurações de ACL.'; diff --git a/lib/plugins/config/lang/ro/lang.php b/lib/plugins/config/lang/ro/lang.php index b3d601ffd..9d931933a 100644 --- a/lib/plugins/config/lang/ro/lang.php +++ b/lib/plugins/config/lang/ro/lang.php @@ -82,7 +82,6 @@ $lang['profileconfirm'] = 'Confirmă schimbarea profilului cu parola'; $lang['disableactions'] = 'Dezactivează acţiunile DokuWiki'; $lang['disableactions_check'] = 'Verifică'; $lang['disableactions_subscription'] = 'Subscrie/Anulează subscrierea'; -$lang['disableactions_nssubscription'] = 'Subscrie/Anulează subscrierea Spaţiului de nume'; $lang['disableactions_wikicode'] = 'Vizualizează sursa/Export Raw'; $lang['disableactions_other'] = 'Alte acţiuni (separate prin virgulă)'; $lang['sneaky_index'] = 'Implicit, DokuWiki va arăta toate numele de spaţii la vizualizarea indexului. Activând această opţiune vor fi ascunse acelea la care utilizatorul nu are drepturi de citire. Aceasta poate determina ascunderea sub-numelor de spaţii accesibile. Aceasta poate face index-ul inutilizabil cu anumite setări ale ACL'; diff --git a/lib/plugins/config/lang/ru/lang.php b/lib/plugins/config/lang/ru/lang.php index 55b10742b..1e9905d64 100644 --- a/lib/plugins/config/lang/ru/lang.php +++ b/lib/plugins/config/lang/ru/lang.php @@ -88,7 +88,6 @@ $lang['profileconfirm'] = 'Пароль для изменения про $lang['disableactions'] = 'Заблокировать операции DokuWiki'; $lang['disableactions_check'] = 'Проверка'; $lang['disableactions_subscription'] = 'Подписка/Отмена подписки'; -$lang['disableactions_nssubscription'] = 'Пространство имен Подписаться/Отказаться от подписки'; $lang['disableactions_wikicode'] = 'Показ/экспорт исходного текста'; $lang['disableactions_other'] = 'Другие операции (через запятую)'; $lang['sneaky_index'] = 'По умолчанию, DokuWiki показывает в индексе страниц все пространства имен. Включение этой опции скроет пространства имен, для которых пользователь не имеет прав чтения. Это может привести к скрытию доступных вложенных пространств имен и потере функциональности индекса страниц при некоторых конфигурациях прав доступа.'; diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index bd69e543c..b9490d49b 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -80,7 +80,6 @@ $lang['profileconfirm'] = 'Potvrdzovať zmeny profilu heslom'; $lang['disableactions'] = 'Zakázať DokuWiki akcie'; $lang['disableactions_check'] = 'Skontrolovať'; $lang['disableactions_subscription'] = 'Prihlásiť/Odhlásiť informovanie o zmenách stránky'; -$lang['disableactions_nssubscription'] = 'Prihlásiť/Odhlásiť informovanie o zmenách v mennom priestore'; $lang['disableactions_wikicode'] = 'Pozrieť zdroj/Exportovať zdroj'; $lang['disableactions_other'] = 'Iné akcie (oddelené čiarkou)'; $lang['sneaky_index'] = 'DokuWiki implicitne ukazuje v indexe všetky menné priestory. Povolením tejto voľby sa nezobrazia menné priestory, ku ktorým nemá používateľ právo na čítanie. Dôsledkom môže byť nezobrazenie vnorených prístupných menných priestorov. Táto voľba môže mať za následok nepoužiteľnosť indexu s určitými ACL nastaveniami.'; diff --git a/lib/plugins/config/lang/sr/lang.php b/lib/plugins/config/lang/sr/lang.php index 40d3afce6..2ad2f03aa 100644 --- a/lib/plugins/config/lang/sr/lang.php +++ b/lib/plugins/config/lang/sr/lang.php @@ -78,7 +78,6 @@ $lang['profileconfirm'] = 'Потврди промене у профил $lang['disableactions'] = 'Искључи DokuWiki наредбе'; $lang['disableactions_check'] = 'Провера'; $lang['disableactions_subscription'] = 'Претплата'; -$lang['disableactions_nssubscription'] = 'Претплата за именски простор'; $lang['disableactions_wikicode'] = 'Прикажи извор/Извези сирово'; $lang['disableactions_other'] = 'Остале наредбе (раздвојене зарезом)'; $lang['sneaky_index'] = 'По инсталацији DokuWiki ће у индексу приказати све именске просторе. Укључивањем ове опције именски простори у којима корисник нема право читања ће бити сакривени. Консеквенца је да ће и доступни подпростори бити сакривени. Ово доводи до неупотребљивости Права приступа у неким поставкама.'; diff --git a/lib/plugins/config/lang/sv/lang.php b/lib/plugins/config/lang/sv/lang.php index 79e827542..3b5752ea1 100644 --- a/lib/plugins/config/lang/sv/lang.php +++ b/lib/plugins/config/lang/sv/lang.php @@ -91,7 +91,6 @@ $lang['profileconfirm'] = 'Bekräfta ändringarna i profilen med lösenor $lang['disableactions'] = 'Stäng av funktioner i DokuWiki'; $lang['disableactions_check'] = 'Kontroll'; $lang['disableactions_subscription'] = 'Prenumerera/Säg upp prenumeration'; -$lang['disableactions_nssubscription'] = 'Namnrymd Prenumerera/Säg upp prenumeration'; $lang['disableactions_wikicode'] = 'Visa källkod/Exportera råtext'; $lang['disableactions_other'] = 'Andra funktioner (kommaseparerade)'; $lang['sneaky_index'] = 'Som standard visar DokuWiki alla namnrymder på indexsidan. Genom att aktivera det här valet döljer man namnrymder som användaren inte har behörighet att läsa. Det kan leda till att man döljer åtkomliga undernamnrymder, och gör indexet oanvändbart med vissa ACL-inställningar.'; diff --git a/lib/plugins/config/lang/uk/lang.php b/lib/plugins/config/lang/uk/lang.php index 73f39ce79..be6ec9e7a 100644 --- a/lib/plugins/config/lang/uk/lang.php +++ b/lib/plugins/config/lang/uk/lang.php @@ -84,7 +84,6 @@ $lang['profileconfirm'] = 'Підтверджувати зміни про $lang['disableactions'] = 'Заборонити дії ДокуВікі'; $lang['disableactions_check'] = 'Перевірити'; $lang['disableactions_subscription'] = 'Підписатись/Відписатись'; -$lang['disableactions_nssubscription'] = 'Підписатися/Відписатися на простір імен'; $lang['disableactions_wikicode'] = 'Переглянути код/Експорт'; $lang['disableactions_other'] = 'Інші дії (розділені комами)'; $lang['sneaky_index'] = 'За замовчуванням, ДокуВікі показує всі простори імен в змісті. Активація цієї опції сховає ті простори, де користувач не має прав на читання. Результатом може бути неможливість доступу до певних відкритих просторів імен. Це зробить неможливим використання змісту при певних конфігураціях.'; diff --git a/lib/plugins/config/lang/zh-tw/lang.php b/lib/plugins/config/lang/zh-tw/lang.php index 0bb3f5a73..c363fb709 100644 --- a/lib/plugins/config/lang/zh-tw/lang.php +++ b/lib/plugins/config/lang/zh-tw/lang.php @@ -83,7 +83,6 @@ $lang['profileconfirm'] = '修改個人資料時需要確認密碼'; $lang['disableactions'] = '停用DokuWiki功能'; $lang['disableactions_check'] = '檢查'; $lang['disableactions_subscription'] = '訂閱/取消訂閱'; -$lang['disableactions_nssubscription'] = '命名空間訂閱/退訂'; $lang['disableactions_wikicode'] = '查看源文件/導出源文件'; $lang['disableactions_other'] = '其他功能(以逗號分隔)'; $lang['sneaky_index'] = '默認情況下,DokuWiki 在索引頁會顯示所有 namespace。啟用該選項能隱藏那些用戶沒有權限閱讀的頁面。但也可能將用戶能夠閱讀的子頁面一並隱藏。這有可能導致在特定 ACL 設置下,索引功能不可用。'; diff --git a/lib/plugins/config/lang/zh/lang.php b/lib/plugins/config/lang/zh/lang.php index 404cc706a..279d7c5b7 100644 --- a/lib/plugins/config/lang/zh/lang.php +++ b/lib/plugins/config/lang/zh/lang.php @@ -85,7 +85,6 @@ $lang['profileconfirm'] = '更新个人信息时需要输入当前密码' $lang['disableactions'] = '停用 DokuWiki 功能'; $lang['disableactions_check'] = '检查'; $lang['disableactions_subscription'] = '订阅/退订'; -$lang['disableactions_nssubscription'] = '命名空间订阅/退订'; $lang['disableactions_wikicode'] = '查看源文件/导出源文件'; $lang['disableactions_other'] = '其他功能(用英文逗号分隔)'; $lang['sneaky_index'] = '默认情况下,DokuWiki 在索引页会显示所有 namespace。启用该选项能隐藏那些用户没有权限阅读的页面。但也可能将用户能够阅读的子页面一并隐藏。这有可能导致在特定 ACL 设置下,索引功能不可用。'; diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index da2ba4aef..2f91b0ad8 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -127,8 +127,8 @@ $meta['profileconfirm'] = array('onoff'); $meta['rememberme'] = array('onoff'); $meta['registernotify'] = array('email'); $meta['disableactions'] = array('disableactions', - '_choices' => array('backlink','index','recent','revisions','search','subscription','nssubscription','register','resendpwd','profile','edit','wikicode','check'), - '_combine' => array('subscription' => array('subscribe','unsubscribe'), 'wikicode' => array('source','export_raw'), 'nssubscription' => array('subscribens','unsubscribens'))); + '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','edit','wikicode','check'), + '_combine' => array('subscription' => array('subscribe','unsubscribe'), 'wikicode' => array('source','export_raw'))); $meta['sneaky_index'] = array('onoff'); $meta['auth_security_timeout'] = array('numeric'); $meta['securecookie'] = array('onoff'); -- cgit v1.2.3 From c4cf0c4a8bff66d710b95fce6199aa4beca81d30 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 27 Jan 2010 21:57:09 +0100 Subject: fixed variable misspelling in TarLib FS#1871 --- inc/TarLib.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php index 3c1827554..a88ca63bc 100644 --- a/inc/TarLib.class.php +++ b/inc/TarLib.class.php @@ -123,7 +123,7 @@ class TarLib { break; case COMPRESS_BZIP: - if(!extension_loaded('bz2')) $this->_inierror = -2; + if(!extension_loaded('bz2')) $this->_initerror = -2; $this->_comptype = COMPRESS_BZIP; break; @@ -140,7 +140,7 @@ class TarLib { $this->_comptype = COMPRESS_NONE; } - if($this->_init_error < 0) $this->_comptype = COMPRESS_NONE; + if($this->_initerror < 0) $this->_comptype = COMPRESS_NONE; if($flag) $this->_nomf.= '.'.$this->getCompression(1); $this->_result = true; -- cgit v1.2.3 From 0b17fdc6719c24850fa7095bc33f292f97f4ec02 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 29 Jan 2010 13:57:24 +0100 Subject: more code cleanup according to coding standard --- inc/JSON.php | 245 ++++--- inc/JpegMeta.php | 1233 +++++++++++++++------------------ inc/ZipLib.class.php | 949 +++++++++++++------------- inc/blowfish.php | 55 +- inc/feedcreator.class.php | 114 ++-- inc/template.php | 1667 ++++++++++++++++++++++----------------------- 6 files changed, 2090 insertions(+), 2173 deletions(-) diff --git a/inc/JSON.php b/inc/JSON.php index ea66c9c32..7ec400092 100644 --- a/inc/JSON.php +++ b/inc/JSON.php @@ -112,38 +112,35 @@ define('JSON_STRICT_TYPE', 11); * @since * @deprecated */ -class JSON -{ - /** - * constructs a new JSON instance - * - * @param int $use object behavior: when encoding or decoding, - * be loose or strict about object/array usage - * - * possible values: - * JSON_STRICT_TYPE - strict typing, default - * "{...}" syntax creates objects in decode. - * JSON_LOOSE_TYPE - loose typing - * "{...}" syntax creates associative arrays in decode. - */ - function JSON($use=JSON_STRICT_TYPE) - { +class JSON { + /** + * constructs a new JSON instance + * + * @param int $use object behavior: when encoding or decoding, + * be loose or strict about object/array usage + * + * possible values: + * JSON_STRICT_TYPE - strict typing, default + * "{...}" syntax creates objects in decode. + * JSON_LOOSE_TYPE - loose typing + * "{...}" syntax creates associative arrays in decode. + */ + function JSON($use=JSON_STRICT_TYPE) { $this->use = $use; } - /** - * encodes an arbitrary variable into JSON format - * - * @param mixed $var any number, boolean, string, array, or object to be encoded. - * see argument 1 to JSON() above for array-parsing behavior. - * if var is a strng, note that encode() always expects it - * to be in ASCII or UTF-8 format! - * - * @return string JSON string representation of input var - * @access public - */ - function encode($var) - { + /** + * encodes an arbitrary variable into JSON format + * + * @param mixed $var any number, boolean, string, array, or object to be encoded. + * see argument 1 to JSON() above for array-parsing behavior. + * if var is a strng, note that encode() always expects it + * to be in ASCII or UTF-8 format! + * + * @return string JSON string representation of input var + * @access public + */ + function encode($var) { switch (gettype($var)) { case 'boolean': return $var ? 'true' : 'false'; @@ -163,20 +160,30 @@ class JSON $ascii = ''; $strlen_var = strlen($var); - /* - * Iterate over every character in the string, - * escaping with a slash or encoding to UTF-8 where necessary - */ + /* + * Iterate over every character in the string, + * escaping with a slash or encoding to UTF-8 where necessary + */ for ($c = 0; $c < $strlen_var; ++$c) { $ord_var_c = ord($var{$c}); switch ($ord_var_c) { - case 0x08: $ascii .= '\b'; break; - case 0x09: $ascii .= '\t'; break; - case 0x0A: $ascii .= '\n'; break; - case 0x0C: $ascii .= '\f'; break; - case 0x0D: $ascii .= '\r'; break; + case 0x08: + $ascii .= '\b'; + break; + case 0x09: + $ascii .= '\t'; + break; + case 0x0A: + $ascii .= '\n'; + break; + case 0x0C: + $ascii .= '\f'; + break; + case 0x0D: + $ascii .= '\r'; + break; case 0x22: case 0x2F: @@ -259,26 +266,26 @@ class JSON return '"'.$ascii.'"'; case 'array': - /* - * As per JSON spec if any array key is not an integer - * we must treat the the whole array as an object. We - * also try to catch a sparsely populated associative - * array with numeric keys here because some JS engines - * will create an array with empty indexes up to - * max_index which can cause memory issues and because - * the keys, which may be relevant, will be remapped - * otherwise. - * - * As per the ECMA and JSON specification an object may - * have any string as a property. Unfortunately due to - * a hole in the ECMA specification if the key is a - * ECMA reserved word or starts with a digit the - * parameter is only accessible using ECMAScript's - * bracket notation. - */ + /* + * As per JSON spec if any array key is not an integer + * we must treat the the whole array as an object. We + * also try to catch a sparsely populated associative + * array with numeric keys here because some JS engines + * will create an array with empty indexes up to + * max_index which can cause memory issues and because + * the keys, which may be relevant, will be remapped + * otherwise. + * + * As per the ECMA and JSON specification an object may + * have any string as a property. Unfortunately due to + * a hole in the ECMA specification if the key is a + * ECMA reserved word or starts with a digit the + * parameter is only accessible using ECMAScript's + * bracket notation. + */ // treat as a JSON object - if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) { + if (is_array($var) && count($var) && (array_keys($var) !== range(0, count($var) - 1))) { return sprintf('{%s}', join(',', array_map(array($this, 'name_value'), array_keys($var), array_values($var)))); @@ -298,38 +305,35 @@ class JSON } } - /** - * encodes an arbitrary variable into JSON format, alias for encode() - */ - function enc($var) - { + /** + * encodes an arbitrary variable into JSON format, alias for encode() + */ + function enc($var) { return $this->encode($var); } - /** function name_value - * array-walking function for use in generating JSON-formatted name-value pairs - * - * @param string $name name of key to use - * @param mixed $value reference to an array element to be encoded - * - * @return string JSON-formatted name-value pair, like '"name":value' - * @access private - */ - function name_value($name, $value) - { + /** function name_value + * array-walking function for use in generating JSON-formatted name-value pairs + * + * @param string $name name of key to use + * @param mixed $value reference to an array element to be encoded + * + * @return string JSON-formatted name-value pair, like '"name":value' + * @access private + */ + function name_value($name, $value) { return (sprintf("%s:%s", $this->encode(strval($name)), $this->encode($value))); } - /** - * reduce a string by removing leading and trailing comments and whitespace - * - * @param $str string string value to strip of comments and whitespace - * - * @return string string value stripped of comments and whitespace - * @access private - */ - function reduce_string($str) - { + /** + * reduce a string by removing leading and trailing comments and whitespace + * + * @param $str string string value to strip of comments and whitespace + * + * @return string string value stripped of comments and whitespace + * @access private + */ + function reduce_string($str) { $str = preg_replace(array( // eliminate single line comments in '// ...' form @@ -347,20 +351,19 @@ class JSON return trim($str); } - /** - * decodes a JSON string into appropriate variable - * - * @param string $str JSON-formatted string - * - * @return mixed number, boolean, string, array, or object - * corresponding to given JSON input string. - * See argument 1 to JSON() above for object-output behavior. - * Note that decode() always returns strings - * in ASCII or UTF-8 format! - * @access public - */ - function decode($str) - { + /** + * decodes a JSON string into appropriate variable + * + * @param string $str JSON-formatted string + * + * @return mixed number, boolean, string, array, or object + * corresponding to given JSON input string. + * See argument 1 to JSON() above for object-output behavior. + * Note that decode() always returns strings + * in ASCII or UTF-8 format! + * @access public + */ + function decode($str) { $str = $this->reduce_string($str); switch (strtolower($str)) { @@ -399,11 +402,26 @@ class JSON $ord_chrs_c = ord($chrs{$c}); switch ($substr_chrs_c_2) { - case '\b': $utf8 .= chr(0x08); $c+=1; break; - case '\t': $utf8 .= chr(0x09); $c+=1; break; - case '\n': $utf8 .= chr(0x0A); $c+=1; break; - case '\f': $utf8 .= chr(0x0C); $c+=1; break; - case '\r': $utf8 .= chr(0x0D); $c+=1; break; + case '\b': + $utf8 .= chr(0x08); + $c+=1; + break; + case '\t': + $utf8 .= chr(0x09); + $c+=1; + break; + case '\n': + $utf8 .= chr(0x0A); + $c+=1; + break; + case '\f': + $utf8 .= chr(0x0C); + $c+=1; + break; + case '\r': + $utf8 .= chr(0x0D); + $c+=1; + break; case '\\"': case '\\\'': @@ -430,27 +448,32 @@ class JSON } elseif(($ord_chrs_c & 0xE0) == 0xC0) { // characters U-00000080 - U-000007FF, mask 110XXXXX //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $c, 2); $c += 1; + $utf8 .= substr($chrs, $c, 2); + $c += 1; } elseif(($ord_chrs_c & 0xF0) == 0xE0) { // characters U-00000800 - U-0000FFFF, mask 1110XXXX // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $c, 3); $c += 2; + $utf8 .= substr($chrs, $c, 3); + $c += 2; } elseif(($ord_chrs_c & 0xF8) == 0xF0) { // characters U-00010000 - U-001FFFFF, mask 11110XXX // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $c, 4); $c += 3; + $utf8 .= substr($chrs, $c, 4); + $c += 3; } elseif(($ord_chrs_c & 0xFC) == 0xF8) { // characters U-00200000 - U-03FFFFFF, mask 111110XX // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $c, 5); $c += 4; + $utf8 .= substr($chrs, $c, 5); + $c += 4; } elseif(($ord_chrs_c & 0xFE) == 0xFC) { // characters U-04000000 - U-7FFFFFFF, mask 1111110X // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 - $utf8 .= substr($chrs, $c, 6); $c += 5; + $utf8 .= substr($chrs, $c, 6); + $c += 5; } break; @@ -612,13 +635,11 @@ class JSON } } - /** - * decodes a JSON string into appropriate variable; alias for decode() - */ - function dec($var) - { + /** + * decodes a JSON string into appropriate variable; alias for decode() + */ + function dec($var) { return $this->decode($var); } - } diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index cb1d7d694..b06764320 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -29,8 +29,7 @@ // | Authors: Sebastian Delmont | // +----------------------------------------------------------------------+ -class JpegMeta -{ +class JpegMeta { var $_fileName; var $_fp = null; var $_type = 'unknown'; @@ -44,8 +43,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function JpegMeta($fileName) - { + function JpegMeta($fileName) { $this->_fileName = $fileName; @@ -61,8 +59,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function & getRawInfo() - { + function & getRawInfo() { $this->_parseAll(); if ($this->_markers == null) { @@ -77,8 +74,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function & getBasicInfo() - { + function & getBasicInfo() { $this->_parseAll(); $info = array(); @@ -91,16 +87,14 @@ class JpegMeta if (isset($this->_info['file']['Url'])) { $info['Url'] = $this->_info['file']['Url']; $info['NiceSize'] = "???KB"; - } - else { + } else { $info['Size'] = $this->_info['file']['Size']; $info['NiceSize'] = $this->_info['file']['NiceSize']; } if (@isset($this->_info['sof']['Format'])) { $info['Format'] = $this->_info['sof']['Format'] . " JPEG"; - } - else { + } else { $info['Format'] = $this->_info['sof']['Format'] . " JPEG"; } @@ -129,8 +123,7 @@ class JpegMeta * * @author Andreas Gohr */ - function getField($fields) - { + function getField($fields) { if(!is_array($fields)) $fields = array($fields); $info = false; foreach($fields as $field){ @@ -175,8 +168,7 @@ class JpegMeta * * @author Andreas Gohr */ - function setField($field, $value) - { + function setField($field, $value) { if(strtolower(substr($field,0,5)) == 'iptc.'){ return $this->setIPTCField(substr($field,5),$value); }elseif(strtolower(substr($field,0,5)) == 'exif.'){ @@ -192,8 +184,7 @@ class JpegMeta * * @author Andreas Gohr */ - function deleteField($field) - { + function deleteField($field) { if(strtolower(substr($field,0,5)) == 'iptc.'){ return $this->deleteIPTCField(substr($field,5)); }elseif(strtolower(substr($field,0,5)) == 'exif.'){ @@ -208,8 +199,7 @@ class JpegMeta * * @author Andreas Gohr */ - function getDateField($field) - { + function getDateField($field) { if (!isset($this->_info['dates'])) { $this->_info['dates'] = $this->getDates(); } @@ -226,8 +216,7 @@ class JpegMeta * * @author Andreas Gohr */ - function getFileField($field) - { + function getFileField($field) { if (!isset($this->_info['file'])) { $this->_parseFileInfo(); } @@ -258,8 +247,7 @@ class JpegMeta * * @author Joe Lapp */ - function getShutterSpeed() - { + function getShutterSpeed() { if (!isset($this->_info['exif'])) { $this->_parseMarkerExif(); } @@ -277,8 +265,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getExifField($field) - { + function getExifField($field) { if (!isset($this->_info['exif'])) { $this->_parseMarkerExif(); } @@ -299,8 +286,7 @@ class JpegMeta * * @author Hakan Sandell */ - function getXmpField($field) - { + function getXmpField($field) { if (!isset($this->_info['xmp'])) { $this->_parseMarkerXmp(); } @@ -321,8 +307,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getAdobeField($field) - { + function getAdobeField($field) { if (!isset($this->_info['adobe'])) { $this->_parseMarkerAdobe(); } @@ -343,8 +328,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getIPTCField($field) - { + function getIPTCField($field) { if (!isset($this->_info['iptc'])) { $this->_parseMarkerAdobe(); } @@ -366,8 +350,7 @@ class JpegMeta * @author Sebastian Delmont * @author Joe Lapp */ - function setExifField($field, $value) - { + function setExifField($field, $value) { if (!isset($this->_info['exif'])) { $this->_parseMarkerExif(); } @@ -397,8 +380,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function setAdobeField($field, $value) - { + function setAdobeField($field, $value) { if (!isset($this->_info['adobe'])) { $this->_parseMarkerAdobe(); } @@ -451,8 +433,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function setIPTCField($field, $value) - { + function setIPTCField($field, $value) { if (!isset($this->_info['iptc'])) { $this->_parseMarkerAdobe(); } @@ -475,8 +456,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function deleteExifField($field) - { + function deleteExifField($field) { if (!isset($this->_info['exif'])) { $this->_parseMarkerAdobe(); } @@ -497,8 +477,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function deleteAdobeField($field) - { + function deleteAdobeField($field) { if (!isset($this->_info['adobe'])) { $this->_parseMarkerAdobe(); } @@ -519,8 +498,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function deleteIPTCField($field) - { + function deleteIPTCField($field) { if (!isset($this->_info['iptc'])) { $this->_parseMarkerAdobe(); } @@ -547,12 +525,12 @@ class JpegMeta // try various fields $cap = $this->getField(array('Iptc.Headline', - 'Iptc.Caption', - 'Xmp.dc:title', - 'Exif.UserComment', - 'Exif.TIFFUserComment', - 'Exif.TIFFImageDescription', - 'File.Name')); + 'Iptc.Caption', + 'Xmp.dc:title', + 'Exif.UserComment', + 'Exif.TIFFUserComment', + 'Exif.TIFFImageDescription', + 'File.Name')); if (empty($cap)) return false; if(!$max) return $cap; @@ -568,8 +546,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getDates() - { + function getDates() { $this->_parseAll(); if ($this->_markers == null) { if (@isset($this->_info['file']['UnixTime'])) { @@ -704,8 +681,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getWidth() - { + function getWidth() { if (!isset($this->_info['sof'])) { $this->_parseMarkerSOF(); } @@ -734,8 +710,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getHeight() - { + function getHeight() { if (!isset($this->_info['sof'])) { $this->_parseMarkerSOF(); } @@ -764,8 +739,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function getDimStr() - { + function getDimStr() { if ($this->_markers == null) { return false; } @@ -781,8 +755,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function hasThumbnail($which = 'any') - { + function hasThumbnail($which = 'any') { if (($which == 'any') || ($which == 'exif')) { if (!isset($this->_info['exif'])) { $this->_parseMarkerExif(); @@ -823,8 +796,7 @@ class JpegMeta * * @author Sebastian Delmont */ - function sendThumbnail($which = 'any') - { + function sendThumbnail($which = 'any') { $data = null; if (($which == 'any') || ($which == 'exif')) { @@ -892,8 +864,7 @@ class JpegMeta /*************************************************************/ /*************************************************************/ - function _dispose() - { + function _dispose() { $this->_fileName = $fileName; $this->_fp = null; @@ -904,8 +875,7 @@ class JpegMeta } /*************************************************************/ - function _readJPEG() - { + function _readJPEG() { unset($this->_markers); //unset($this->_info); $this->_markers = array(); @@ -919,8 +889,7 @@ class JpegMeta else { $this->_type = 'url'; } - } - else { + } else { $this->_fp = null; return false; // ERROR: Can't open file } @@ -942,14 +911,14 @@ class JpegMeta while (!$done) { $capture = false; - // First, skip any non 0xFF bytes + // First, skip any non 0xFF bytes $discarded = 0; $c = ord(fgetc($this->_fp)); while (!feof($this->_fp) && ($c != 0xFF)) { $discarded++; $c = ord(fgetc($this->_fp)); } - // Then skip all 0xFF until the marker byte + // Then skip all 0xFF until the marker byte do { $marker = ord(fgetc($this->_fp)); } while (!feof($this->_fp) && ($marker == 0xFF)); @@ -971,23 +940,23 @@ class JpegMeta $length = $length - 2; // The length we got counts itself switch ($marker) { - case 0xC0: // SOF0 - case 0xC1: // SOF1 - case 0xC2: // SOF2 - case 0xC9: // SOF9 - case 0xE0: // APP0: JFIF data - case 0xE1: // APP1: EXIF or XMP data - case 0xED: // APP13: IPTC / Photoshop data - $capture = true; - break; - case 0xDA: // SOS: Start of scan... the image itself and the last block on the file - $capture = false; - $length = -1; // This field has no length... it includes all data until EOF - $done = true; - break; - default: - $capture = true;//false; - break; + case 0xC0: // SOF0 + case 0xC1: // SOF1 + case 0xC2: // SOF2 + case 0xC9: // SOF9 + case 0xE0: // APP0: JFIF data + case 0xE1: // APP1: EXIF or XMP data + case 0xED: // APP13: IPTC / Photoshop data + $capture = true; + break; + case 0xDA: // SOS: Start of scan... the image itself and the last block on the file + $capture = false; + $length = -1; // This field has no length... it includes all data until EOF + $done = true; + break; + default: + $capture = true;//false; + break; } $this->_markers[$count] = array(); @@ -1002,7 +971,7 @@ class JpegMeta } elseif (!$done) { $result = @fseek($this->_fp, $length, SEEK_CUR); - // fseek doesn't seem to like HTTP 'files', but fgetc has no problem + // fseek doesn't seem to like HTTP 'files', but fgetc has no problem if (!($result === 0)) { for ($i = 0; $i < $length; $i++) { fgetc($this->_fp); @@ -1021,8 +990,7 @@ class JpegMeta } /*************************************************************/ - function _parseAll() - { + function _parseAll() { if (!isset($this->_info['file'])) { $this->_parseFileInfo(); } @@ -1052,8 +1020,7 @@ class JpegMeta } /*************************************************************/ - function _writeJPEG($outputName) - { + function _writeJPEG($outputName) { $this->_parseAll(); $wroteEXIF = false; @@ -1067,16 +1034,13 @@ class JpegMeta else { $this->_type = 'url'; } - } - else { + } else { $this->_fp = null; return false; // ERROR: Can't open file } $this->_fpout = fopen($outputName, 'wb'); - if ($this->_fpout) { - } - else { + if (!$this->_fpout) { $this->_fpout = null; fclose($this->_fp); $this->_fp = null; @@ -1100,14 +1064,14 @@ class JpegMeta $ok = true; while (!$done) { - // First, skip any non 0xFF bytes + // First, skip any non 0xFF bytes $discarded = 0; $c = ord(fgetc($this->_fp)); while (!feof($this->_fp) && ($c != 0xFF)) { $discarded++; $c = ord(fgetc($this->_fp)); } - // Then skip all 0xFF until the marker byte + // Then skip all 0xFF until the marker byte do { $marker = ord(fgetc($this->_fp)); } while (!feof($this->_fp) && ($marker == 0xFF)); @@ -1156,7 +1120,7 @@ class JpegMeta if (!$wroteAdobe && (($marker < 0xE0) || ($marker > 0xEF))) { if ((isset($this->_info['adobe']) && is_array($this->_info['adobe'])) - || (isset($this->_info['iptc']) && is_array($this->_info['iptc']))) { + || (isset($this->_info['iptc']) && is_array($this->_info['iptc']))) { $adobe =& $this->_createMarkerAdobe(); $this->_writeJPEGMarker(0xED, strlen($adobe), $adobe, 0); unset($adobe); @@ -1188,8 +1152,7 @@ class JpegMeta } /*************************************************************/ - function _writeJPEGMarker($marker, $length, &$data, $origLength) - { + function _writeJPEGMarker($marker, $length, &$data, $origLength) { if ($length <= 0) { return false; } @@ -1212,15 +1175,13 @@ class JpegMeta } } } - } - else { + } else { if ($marker == 0xDA) { // Copy until EOF while (!feof($this->_fp)) { $data = fread($this->_fp, 1024 * 16); fputs($this->_fpout, $data, strlen($data)); } - } - else { // Copy only $length bytes + } else { // Copy only $length bytes $data = @fread($this->_fp, $length); fputs($this->_fpout, $data, $length); } @@ -1235,8 +1196,7 @@ class JpegMeta * @author Sebastian Delmont * @author Andreas Gohr */ - function _parseFileInfo() - { + function _parseFileInfo() { if (file_exists($this->_fileName)) { $this->_info['file'] = array(); $this->_info['file']['Name'] = basename($this->_fileName); @@ -1244,14 +1204,11 @@ class JpegMeta $this->_info['file']['Size'] = filesize($this->_fileName); if ($this->_info['file']['Size'] < 1024) { $this->_info['file']['NiceSize'] = $this->_info['file']['Size'] . 'B'; - } - elseif ($this->_info['file']['Size'] < (1024 * 1024)) { + } elseif ($this->_info['file']['Size'] < (1024 * 1024)) { $this->_info['file']['NiceSize'] = round($this->_info['file']['Size'] / 1024) . 'KB'; - } - elseif ($this->_info['file']['Size'] < (1024 * 1024 * 1024)) { + } elseif ($this->_info['file']['Size'] < (1024 * 1024 * 1024)) { $this->_info['file']['NiceSize'] = round($this->_info['file']['Size'] / (1024*1024)) . 'MB'; - } - else { + } else { $this->_info['file']['NiceSize'] = $this->_info['file']['Size'] . 'B'; } $this->_info['file']['UnixTime'] = filemtime($this->_fileName); @@ -1331,8 +1288,7 @@ class JpegMeta default: $this->_info['file']['Mime'] = 'image/unknown'; } - } - else { + } else { $this->_info['file'] = array(); $this->_info['file']['Name'] = basename($this->_fileName); $this->_info['file']['Url'] = $this->_fileName; @@ -1342,8 +1298,7 @@ class JpegMeta } /*************************************************************/ - function _parseMarkerJFIF() - { + function _parseMarkerJFIF() { if (!isset($this->_markers)) { $this->_readJPEG(); } @@ -1372,7 +1327,6 @@ class JpegMeta $pos = 0; $this->_info['jfif'] = array(); - $vmaj = $this->_getByte($data, 5); $vmin = $this->_getByte($data, 6); @@ -1380,18 +1334,18 @@ class JpegMeta $units = $this->_getByte($data, 7); switch ($units) { - case 0: - $this->_info['jfif']['Units'] = 'pixels'; - break; - case 1: - $this->_info['jfif']['Units'] = 'dpi'; - break; - case 2: - $this->_info['jfif']['Units'] = 'dpcm'; - break; - default: - $this->_info['jfif']['Units'] = 'unknown'; - break; + case 0: + $this->_info['jfif']['Units'] = 'pixels'; + break; + case 1: + $this->_info['jfif']['Units'] = 'dpi'; + break; + case 2: + $this->_info['jfif']['Units'] = 'dpcm'; + break; + default: + $this->_info['jfif']['Units'] = 'unknown'; + break; } $xdens = $this->_getShort($data, 8); @@ -1410,8 +1364,7 @@ class JpegMeta } /*************************************************************/ - function _parseMarkerSOF() - { + function _parseMarkerSOF() { if (!isset($this->_markers)) { $this->_readJPEG(); } @@ -1424,13 +1377,13 @@ class JpegMeta $count = count($this->_markers); for ($i = 0; $i < $count; $i++) { switch ($this->_markers[$i]['marker']) { - case 0xC0: // SOF0 - case 0xC1: // SOF1 - case 0xC2: // SOF2 - case 0xC9: // SOF9 - $data =& $this->_markers[$i]['data']; - $marker = $this->_markers[$i]['marker']; - break; + case 0xC0: // SOF0 + case 0xC1: // SOF1 + case 0xC2: // SOF2 + case 0xC9: // SOF9 + $data =& $this->_markers[$i]['data']; + $marker = $this->_markers[$i]['marker']; + break; } } @@ -1442,32 +1395,29 @@ class JpegMeta $pos = 0; $this->_info['sof'] = array(); - switch ($marker) { - case 0xC0: // SOF0 - $format = 'Baseline'; - break; - case 0xC1: // SOF1 - $format = 'Progessive'; - break; - case 0xC2: // SOF2 - $format = 'Non-baseline'; - break; - case 0xC9: // SOF9 - $format = 'Arithmetic'; - break; - default: - return false; - break; + case 0xC0: // SOF0 + $format = 'Baseline'; + break; + case 0xC1: // SOF1 + $format = 'Progessive'; + break; + case 0xC2: // SOF2 + $format = 'Non-baseline'; + break; + case 0xC9: // SOF9 + $format = 'Arithmetic'; + break; + default: + return false; + break; } - - $this->_info['sof']['Format'] = $format; - + $this->_info['sof']['Format'] = $format; $this->_info['sof']['SamplePrecision'] = $this->_getByte($data, $pos + 0); - $this->_info['sof']['ImageHeight'] = $this->_getShort($data, $pos + 1); - $this->_info['sof']['ImageWidth'] = $this->_getShort($data, $pos + 3); - $this->_info['sof']['ColorChannels'] = $this->_getByte($data, $pos + 5); + $this->_info['sof']['ImageHeight'] = $this->_getShort($data, $pos + 1); + $this->_info['sof']['ImageWidth'] = $this->_getShort($data, $pos + 3); + $this->_info['sof']['ColorChannels'] = $this->_getByte($data, $pos + 5); return true; } @@ -1477,8 +1427,7 @@ class JpegMeta * * @author Hakan Sandell */ - function _parseMarkerXmp() - { + function _parseMarkerXmp() { if (!isset($this->_markers)) { $this->_readJPEG(); } @@ -1513,10 +1462,10 @@ class JpegMeta $this->_info['xmp'] = array(); $count = count($values); for ($i = 0; $i < $count; $i++) { - if ($values[$i][tag] == 'rdf:Description' && $values[$i][type] == 'open') { + if ($values[$i]['tag'] == 'rdf:Description' && $values[$i]['type'] == 'open') { - while ($values[++$i][tag] != 'rdf:Description') { - $this->_parseXmpNode($values, $i, $this->_info['xmp'][$values[$i][tag]]); + while ($values[++$i]['tag'] != 'rdf:Description') { + $this->_parseXmpNode($values, $i, $this->_info['xmp'][$values[$i]['tag']]); } } } @@ -1528,43 +1477,41 @@ class JpegMeta * * @author Hakan Sandell */ - function _parseXmpNode($values, &$i, &$meta) - { - if ($values[$i][type] == 'complete') { + function _parseXmpNode($values, &$i, &$meta) { + if ($values[$i]['type'] == 'complete') { // Simple Type property - $meta = $values[$i][value]; + $meta = $values[$i]['value']; return; } $i++; - if ($values[$i][tag] == 'rdf:Bag' || $values[$i][tag] == 'rdf:Seq') { + if ($values[$i]['tag'] == 'rdf:Bag' || $values[$i]['tag'] == 'rdf:Seq') { // Array property $meta = array(); - while ($values[++$i][tag] == 'rdf:li') { + while ($values[++$i]['tag'] == 'rdf:li') { $this->_parseXmpNode($values, $i, $meta[]); } $i++; // skip closing tag - } elseif ($values[$i][tag] == 'rdf:Alt') { + } elseif ($values[$i]['tag'] == 'rdf:Alt') { // Language Alternative property, only the first (default) value is used $i++; $this->_parseXmpNode($values, $i, $meta); - while ($values[++$i][tag] != 'rdf:Alt'); + while ($values[++$i]['tag'] != 'rdf:Alt'); $i++; // skip closing tag } else { // Structure property $meta = array(); - $startTag = $values[$i-1][tag]; + $startTag = $values[$i-1]['tag']; do { - $this->_parseXmpNode($values, $i, $meta[$values[$i][tag]]); - } while ($values[++$i][tag] != $startTag); + $this->_parseXmpNode($values, $i, $meta[$values[$i]['tag']]); + } while ($values[++$i]['tag'] != $startTag); } } /*************************************************************/ - function _parseMarkerExif() - { + function _parseMarkerExif() { if (!isset($this->_markers)) { $this->_readJPEG(); } @@ -1598,11 +1545,9 @@ class JpegMeta if ($byteAlign == 0x4949) { // "II" $isBigEndian = false; - } - elseif ($byteAlign == 0x4D4D) { // "MM" + } elseif ($byteAlign == 0x4D4D) { // "MM" $isBigEndian = true; - } - else { + } else { return false; // Unexpected data } @@ -1612,8 +1557,7 @@ class JpegMeta if ($isBigEndian) { $this->_info['exif']['ByteAlign'] = "Big Endian"; - } - else { + } else { $this->_info['exif']['ByteAlign'] = "Little Endian"; } @@ -1629,8 +1573,7 @@ class JpegMeta } /*************************************************************/ - function _readIFD($data, $base, $offset, $isBigEndian, $mode) - { + function _readIFD($data, $base, $offset, $isBigEndian, $mode) { $EXIFTags = $this->_exifTagNames($mode); $numEntries = $this->_getShort($data, $base + $offset, $isBigEndian); @@ -1658,161 +1601,146 @@ class JpegMeta if ($dataLength > 4) { $dataOffset = $this->_getLong($data, $base + $offset, $isBigEndian); $rawValue = $this->_getFixedString($data, $base + $dataOffset, $dataLength); - } - else { + } else { $rawValue = $this->_getFixedString($data, $base + $offset, $dataLength); } $offset += 4; switch ($type) { - case 1: // UBYTE - if ($count == 1) { - $value = $this->_getByte($rawValue, 0); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getByte($rawValue, $j); - } - break; - case 2: // ASCII - $value = $rawValue; - break; - case 3: // USHORT - if ($count == 1) { - $value = $this->_getShort($rawValue, 0, $isBigEndian); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getShort($rawValue, $j * 2, $isBigEndian); - } - break; - case 4: // ULONG - if ($count == 1) { - $value = $this->_getLong($rawValue, 0, $isBigEndian); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getLong($rawValue, $j * 4, $isBigEndian); - } - break; - case 5: // URATIONAL - if ($count == 1) { - $a = $this->_getLong($rawValue, 0, $isBigEndian); - $b = $this->_getLong($rawValue, 4, $isBigEndian); - $value = array(); - $value['val'] = 0; - $value['num'] = $a; - $value['den'] = $b; - if (($a != 0) && ($b != 0)) { - $value['val'] = $a / $b; + case 1: // UBYTE + if ($count == 1) { + $value = $this->_getByte($rawValue, 0); + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getByte($rawValue, $j); } - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) { - $a = $this->_getLong($rawValue, $j * 8, $isBigEndian); - $b = $this->_getLong($rawValue, ($j * 8) + 4, $isBigEndian); + break; + case 2: // ASCII + $value = $rawValue; + break; + case 3: // USHORT + if ($count == 1) { + $value = $this->_getShort($rawValue, 0, $isBigEndian); + } else { $value = array(); - $value[$j]['val'] = 0; - $value[$j]['num'] = $a; - $value[$j]['den'] = $b; - if (($a != 0) && ($b != 0)) - $value[$j]['val'] = $a / $b; + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getShort($rawValue, $j * 2, $isBigEndian); } - } - break; - case 6: // SBYTE - if ($count == 1) { - $value = $this->_getByte($rawValue, 0); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getByte($rawValue, $j); - } - break; - case 7: // UNDEFINED - $value = $rawValue; - break; - case 8: // SSHORT - if ($count == 1) { - $value = $this->_getShort($rawValue, 0, $isBigEndian); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getShort($rawValue, $j * 2, $isBigEndian); - } - break; - case 9: // SLONG - if ($count == 1) { - $value = $this->_getLong($rawValue, 0, $isBigEndian); - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) - $value[$j] = $this->_getLong($rawValue, $j * 4, $isBigEndian); - } - break; - case 10: // SRATIONAL - if ($count == 1) { - $a = $this->_getLong($rawValue, 0, $isBigEndian); - $b = $this->_getLong($rawValue, 4, $isBigEndian); - $value = array(); - $value['val'] = 0; - $value['num'] = $a; - $value['den'] = $b; - if (($a != 0) && ($b != 0)) - $value['val'] = $a / $b; - } - else { - $value = array(); - for ($j = 0; $j < $count; $j++) { - $a = $this->_getLong($rawValue, $j * 8, $isBigEndian); - $b = $this->_getLong($rawValue, ($j * 8) + 4, $isBigEndian); + break; + case 4: // ULONG + if ($count == 1) { + $value = $this->_getLong($rawValue, 0, $isBigEndian); + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getLong($rawValue, $j * 4, $isBigEndian); + } + break; + case 5: // URATIONAL + if ($count == 1) { + $a = $this->_getLong($rawValue, 0, $isBigEndian); + $b = $this->_getLong($rawValue, 4, $isBigEndian); + $value = array(); + $value['val'] = 0; + $value['num'] = $a; + $value['den'] = $b; + if (($a != 0) && ($b != 0)) { + $value['val'] = $a / $b; + } + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) { + $a = $this->_getLong($rawValue, $j * 8, $isBigEndian); + $b = $this->_getLong($rawValue, ($j * 8) + 4, $isBigEndian); + $value = array(); + $value[$j]['val'] = 0; + $value[$j]['num'] = $a; + $value[$j]['den'] = $b; + if (($a != 0) && ($b != 0)) + $value[$j]['val'] = $a / $b; + } + } + break; + case 6: // SBYTE + if ($count == 1) { + $value = $this->_getByte($rawValue, 0); + } else { $value = array(); - $value[$j]['val'] = 0; - $value[$j]['num'] = $a; - $value[$j]['den'] = $b; + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getByte($rawValue, $j); + } + break; + case 7: // UNDEFINED + $value = $rawValue; + break; + case 8: // SSHORT + if ($count == 1) { + $value = $this->_getShort($rawValue, 0, $isBigEndian); + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getShort($rawValue, $j * 2, $isBigEndian); + } + break; + case 9: // SLONG + if ($count == 1) { + $value = $this->_getLong($rawValue, 0, $isBigEndian); + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) + $value[$j] = $this->_getLong($rawValue, $j * 4, $isBigEndian); + } + break; + case 10: // SRATIONAL + if ($count == 1) { + $a = $this->_getLong($rawValue, 0, $isBigEndian); + $b = $this->_getLong($rawValue, 4, $isBigEndian); + $value = array(); + $value['val'] = 0; + $value['num'] = $a; + $value['den'] = $b; if (($a != 0) && ($b != 0)) - $value[$j]['val'] = $a / $b; + $value['val'] = $a / $b; + } else { + $value = array(); + for ($j = 0; $j < $count; $j++) { + $a = $this->_getLong($rawValue, $j * 8, $isBigEndian); + $b = $this->_getLong($rawValue, ($j * 8) + 4, $isBigEndian); + $value = array(); + $value[$j]['val'] = 0; + $value[$j]['num'] = $a; + $value[$j]['den'] = $b; + if (($a != 0) && ($b != 0)) + $value[$j]['val'] = $a / $b; + } } - } - break; - case 11: // FLOAT - $value = $rawValue; - break; + break; + case 11: // FLOAT + $value = $rawValue; + break; - case 12: // DFLOAT - $value = $rawValue; - break; - default: - return false; // Unexpected Type + case 12: // DFLOAT + $value = $rawValue; + break; + default: + return false; // Unexpected Type } $tagName = ''; if (($mode == 'ifd0') && ($tag == 0x8769)) { // ExifIFDOffset $this->_readIFD($data, $base, $value, $isBigEndian, 'exif'); - } - elseif (($mode == 'ifd0') && ($tag == 0x8825)) { // GPSIFDOffset + } elseif (($mode == 'ifd0') && ($tag == 0x8825)) { // GPSIFDOffset $this->_readIFD($data, $base, $value, $isBigEndian, 'gps'); - } - elseif (($mode == 'ifd1') && ($tag == 0x0111)) { // TIFFStripOffsets + } elseif (($mode == 'ifd1') && ($tag == 0x0111)) { // TIFFStripOffsets $exifTIFFOffset = $value; - } - elseif (($mode == 'ifd1') && ($tag == 0x0117)) { // TIFFStripByteCounts + } elseif (($mode == 'ifd1') && ($tag == 0x0117)) { // TIFFStripByteCounts $exifTIFFLength = $value; - } - elseif (($mode == 'ifd1') && ($tag == 0x0201)) { // TIFFJFIFOffset + } elseif (($mode == 'ifd1') && ($tag == 0x0201)) { // TIFFJFIFOffset $exifThumbnailOffset = $value; - } - elseif (($mode == 'ifd1') && ($tag == 0x0202)) { // TIFFJFIFLength + } elseif (($mode == 'ifd1') && ($tag == 0x0202)) { // TIFFJFIFLength $exifThumbnailLength = $value; - } - elseif (($mode == 'exif') && ($tag == 0xA005)) { // InteropIFDOffset + } elseif (($mode == 'exif') && ($tag == 0xA005)) { // InteropIFDOffset $this->_readIFD($data, $base, $value, $isBigEndian, 'interop'); } // elseif (($mode == 'exif') && ($tag == 0x927C)) { // MakerNote @@ -1828,18 +1756,19 @@ class JpegMeta } $this->_info['exif'][$tagName][count($this->_info['exif'][$tagName])] = $value; - } - else { + } else { $this->_info['exif'][$tagName] = $value; } } - else { -#echo sprintf("

Unknown tag %02x (t: %d l: %d) %s in %s

", $tag, $type, $count, $mode, $this->_fileName); + /* + else { + echo sprintf("

Unknown tag %02x (t: %d l: %d) %s in %s

", $tag, $type, $count, $mode, $this->_fileName); // Unknown Tags will be ignored!!! // That's because the tag might be a pointer (like the Exif tag) // and saving it without saving the data it points to might // create an invalid file. } + */ } } @@ -1856,8 +1785,7 @@ class JpegMeta } /*************************************************************/ - function & _createMarkerExif() - { + function & _createMarkerExif() { $data = null; $count = count($this->_markers); for ($i = 0; $i < $count; $i++) { @@ -1882,8 +1810,7 @@ class JpegMeta $isBigEndian = true; $aux = "MM"; $pos = $this->_putString($data, $pos, $aux); - } - else { + } else { $isBigEndian = false; $aux = "II"; $pos = $this->_putString($data, $pos, $aux); @@ -1901,8 +1828,7 @@ class JpegMeta } /*************************************************************/ - function _writeIFD(&$data, $pos, $offsetBase, &$entries, $isBigEndian, $hasNext) - { + function _writeIFD(&$data, $pos, $offsetBase, &$entries, $isBigEndian, $hasNext) { $tiffData = null; $tiffDataOffsetPos = -1; @@ -1922,24 +1848,21 @@ class JpegMeta $pos = $this->_putLong($data, $pos, $dataPos - $offsetBase, $isBigEndian); $dataPos = $this->_writeIFD($data, $dataPos, $offsetBase, $entries[$i]['value'], $isBigEndian, false); - } - elseif ($type == -98) { // TIFF Data + } elseif ($type == -98) { // TIFF Data $pos = $this->_putShort($data, $pos, $tag, $isBigEndian); $pos = $this->_putShort($data, $pos, 0x04, $isBigEndian); // LONG $pos = $this->_putLong($data, $pos, 0x01, $isBigEndian); // Count = 1 $tiffDataOffsetPos = $pos; $pos = $this->_putLong($data, $pos, 0x00, $isBigEndian); // For Now $tiffData =& $entries[$i]['value'] ; - } - else { // Regular Entry + } else { // Regular Entry $pos = $this->_putShort($data, $pos, $tag, $isBigEndian); $pos = $this->_putShort($data, $pos, $type, $isBigEndian); $pos = $this->_putLong($data, $pos, $entries[$i]['count'], $isBigEndian); if (strlen($entries[$i]['value']) > 4) { $pos = $this->_putLong($data, $pos, $dataPos - $offsetBase, $isBigEndian); $dataPos = $this->_putString($data, $dataPos, $entries[$i]['value']); - } - else { + } else { $val = str_pad($entries[$i]['value'], 4, "\0"); $pos = $this->_putString($data, $pos, $val); } @@ -1953,8 +1876,7 @@ class JpegMeta if ($hasNext) { $pos = $this->_putLong($data, $pos, $dataPos - $offsetBase, $isBigEndian); - } - else { + } else { $pos = $this->_putLong($data, $pos, 0, $isBigEndian); } @@ -1962,8 +1884,7 @@ class JpegMeta } /*************************************************************/ - function & _getIFDEntries($isBigEndian, $mode) - { + function & _getIFDEntries($isBigEndian, $mode) { $EXIFNames = $this->_exifTagNames($mode); $EXIFTags = $this->_exifNameTags($mode); $EXIFTypeInfo = $this->_exifTagTypes($mode); @@ -1985,60 +1906,47 @@ class JpegMeta else { $value = null; } - } - elseif (($mode == 'ifd0') && ($tag == 0x8825)) { // GPSIFDOffset + } elseif (($mode == 'ifd0') && ($tag == 0x8825)) { // GPSIFDOffset if (isset($this->_info['exif']['GPSVersionID'])) { $value =& $this->_getIFDEntries($isBigEndian, "gps"); $type = -99; - } - else { + } else { $value = null; } - } - elseif (($mode == 'ifd1') && ($tag == 0x0111)) { // TIFFStripOffsets + } elseif (($mode == 'ifd1') && ($tag == 0x0111)) { // TIFFStripOffsets if (isset($this->_info['exif']['TIFFStrips'])) { $value =& $this->_info['exif']['TIFFStrips']; $type = -98; - } - else { + } else { $value = null; } - } - elseif (($mode == 'ifd1') && ($tag == 0x0117)) { // TIFFStripByteCounts + } elseif (($mode == 'ifd1') && ($tag == 0x0117)) { // TIFFStripByteCounts if (isset($this->_info['exif']['TIFFStrips'])) { $value = strlen($this->_info['exif']['TIFFStrips']); - } - else { + } else { $value = null; } - } - elseif (($mode == 'ifd1') && ($tag == 0x0201)) { // TIFFJFIFOffset + } elseif (($mode == 'ifd1') && ($tag == 0x0201)) { // TIFFJFIFOffset if (isset($this->_info['exif']['JFIFThumbnail'])) { $value =& $this->_info['exif']['JFIFThumbnail']; $type = -98; - } - else { + } else { $value = null; } - } - elseif (($mode == 'ifd1') && ($tag == 0x0202)) { // TIFFJFIFLength + } elseif (($mode == 'ifd1') && ($tag == 0x0202)) { // TIFFJFIFLength if (isset($this->_info['exif']['JFIFThumbnail'])) { $value = strlen($this->_info['exif']['JFIFThumbnail']); - } - else { + } else { $value = null; } - } - elseif (($mode == 'exif') && ($tag == 0xA005)) { // InteropIFDOffset + } elseif (($mode == 'exif') && ($tag == 0xA005)) { // InteropIFDOffset if (isset($this->_info['exif']['InteroperabilityIndex'])) { $value =& $this->_getIFDEntries($isBigEndian, "interop"); $type = -99; - } - else { + } else { $value = null; } - } - elseif (isset($this->_info['exif'][$name])) { + } elseif (isset($this->_info['exif'][$name])) { $origValue =& $this->_info['exif'][$name]; // This makes it easier to process variable size elements @@ -2055,235 +1963,235 @@ class JpegMeta $value = " "; switch ($type) { - case 1: // UBYTE - if ($count == 0) { - $count = $origCount; - } + case 1: // UBYTE + if ($count == 0) { + $count = $origCount; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { + $j = 0; + while (($j < $count) && ($j < $origCount)) { - $this->_putByte($value, $j, $origValue[$j]); - $j++; - } + $this->_putByte($value, $j, $origValue[$j]); + $j++; + } - while ($j < $count) { - $this->_putByte($value, $j, 0); - $j++; - } - break; - case 2: // ASCII - $v = strval($origValue[0]); - if (($count != 0) && (strlen($v) > $count)) { - $v = substr($v, 0, $count); - } - elseif (($count > 0) && (strlen($v) < $count)) { - $v = str_pad($v, $count, "\0"); - } + while ($j < $count) { + $this->_putByte($value, $j, 0); + $j++; + } + break; + case 2: // ASCII + $v = strval($origValue[0]); + if (($count != 0) && (strlen($v) > $count)) { + $v = substr($v, 0, $count); + } + elseif (($count > 0) && (strlen($v) < $count)) { + $v = str_pad($v, $count, "\0"); + } - $count = strlen($v); + $count = strlen($v); - $this->_putString($value, 0, $v); - break; - case 3: // USHORT - if ($count == 0) { - $count = $origCount; - } - - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $this->_putShort($value, $j * 2, $origValue[$j], $isBigEndian); - $j++; - } + $this->_putString($value, 0, $v); + break; + case 3: // USHORT + if ($count == 0) { + $count = $origCount; + } - while ($j < $count) { - $this->_putShort($value, $j * 2, 0, $isBigEndian); - $j++; - } - break; - case 4: // ULONG - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $this->_putShort($value, $j * 2, $origValue[$j], $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $this->_putLong($value, $j * 4, $origValue[$j], $isBigEndian); - $j++; - } + while ($j < $count) { + $this->_putShort($value, $j * 2, 0, $isBigEndian); + $j++; + } + break; + case 4: // ULONG + if ($count == 0) { + $count = $origCount; + } - while ($j < $count) { - $this->_putLong($value, $j * 4, 0, $isBigEndian); - $j++; - } - break; - case 5: // URATIONAL - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $this->_putLong($value, $j * 4, $origValue[$j], $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $v = $origValue[$j]; - if (is_array($v)) { - $a = $v['num']; - $b = $v['den']; + while ($j < $count) { + $this->_putLong($value, $j * 4, 0, $isBigEndian); + $j++; } - else { - $a = 0; - $b = 0; - // TODO: Allow other types and convert them + break; + case 5: // URATIONAL + if ($count == 0) { + $count = $origCount; } - $this->_putLong($value, $j * 8, $a, $isBigEndian); - $this->_putLong($value, ($j * 8) + 4, $b, $isBigEndian); - $j++; - } - while ($j < $count) { - $this->_putLong($value, $j * 8, 0, $isBigEndian); - $this->_putLong($value, ($j * 8) + 4, 0, $isBigEndian); - $j++; - } - break; - case 6: // SBYTE - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $v = $origValue[$j]; + if (is_array($v)) { + $a = $v['num']; + $b = $v['den']; + } + else { + $a = 0; + $b = 0; + // TODO: Allow other types and convert them + } + $this->_putLong($value, $j * 8, $a, $isBigEndian); + $this->_putLong($value, ($j * 8) + 4, $b, $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $this->_putByte($value, $j, $origValue[$j]); - $j++; - } + while ($j < $count) { + $this->_putLong($value, $j * 8, 0, $isBigEndian); + $this->_putLong($value, ($j * 8) + 4, 0, $isBigEndian); + $j++; + } + break; + case 6: // SBYTE + if ($count == 0) { + $count = $origCount; + } - while ($j < $count) { - $this->_putByte($value, $j, 0); - $j++; - } - break; - case 7: // UNDEFINED - $v = strval($origValue[0]); - if (($count != 0) && (strlen($v) > $count)) { - $v = substr($v, 0, $count); - } - elseif (($count > 0) && (strlen($v) < $count)) { - $v = str_pad($v, $count, "\0"); - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $this->_putByte($value, $j, $origValue[$j]); + $j++; + } - $count = strlen($v); + while ($j < $count) { + $this->_putByte($value, $j, 0); + $j++; + } + break; + case 7: // UNDEFINED + $v = strval($origValue[0]); + if (($count != 0) && (strlen($v) > $count)) { + $v = substr($v, 0, $count); + } + elseif (($count > 0) && (strlen($v) < $count)) { + $v = str_pad($v, $count, "\0"); + } - $this->_putString($value, 0, $v); - break; - case 8: // SSHORT - if ($count == 0) { - $count = $origCount; - } + $count = strlen($v); - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $this->_putShort($value, $j * 2, $origValue[$j], $isBigEndian); - $j++; - } + $this->_putString($value, 0, $v); + break; + case 8: // SSHORT + if ($count == 0) { + $count = $origCount; + } - while ($j < $count) { - $this->_putShort($value, $j * 2, 0, $isBigEndian); - $j++; - } - break; - case 9: // SLONG - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $this->_putShort($value, $j * 2, $origValue[$j], $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $this->_putLong($value, $j * 4, $origValue[$j], $isBigEndian); - $j++; - } + while ($j < $count) { + $this->_putShort($value, $j * 2, 0, $isBigEndian); + $j++; + } + break; + case 9: // SLONG + if ($count == 0) { + $count = $origCount; + } - while ($j < $count) { - $this->_putLong($value, $j * 4, 0, $isBigEndian); - $j++; - } - break; - case 10: // SRATIONAL - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $this->_putLong($value, $j * 4, $origValue[$j], $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $v = $origValue[$j]; - if (is_array($v)) { - $a = $v['num']; - $b = $v['den']; + while ($j < $count) { + $this->_putLong($value, $j * 4, 0, $isBigEndian); + $j++; } - else { - $a = 0; - $b = 0; - // TODO: Allow other types and convert them + break; + case 10: // SRATIONAL + if ($count == 0) { + $count = $origCount; } - $this->_putLong($value, $j * 8, $a, $isBigEndian); - $this->_putLong($value, ($j * 8) + 4, $b, $isBigEndian); - $j++; - } - - while ($j < $count) { - $this->_putLong($value, $j * 8, 0, $isBigEndian); - $this->_putLong($value, ($j * 8) + 4, 0, $isBigEndian); - $j++; - } - break; - case 11: // FLOAT - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $v = $origValue[$j]; + if (is_array($v)) { + $a = $v['num']; + $b = $v['den']; + } + else { + $a = 0; + $b = 0; + // TODO: Allow other types and convert them + } + + $this->_putLong($value, $j * 8, $a, $isBigEndian); + $this->_putLong($value, ($j * 8) + 4, $b, $isBigEndian); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $v = strval($origValue[$j]); - if (strlen($v) > 4) { - $v = substr($v, 0, 4); + while ($j < $count) { + $this->_putLong($value, $j * 8, 0, $isBigEndian); + $this->_putLong($value, ($j * 8) + 4, 0, $isBigEndian); + $j++; } - elseif (strlen($v) < 4) { - $v = str_pad($v, 4, "\0"); + break; + case 11: // FLOAT + if ($count == 0) { + $count = $origCount; } - $this->_putString($value, $j * 4, $v); - $j++; - } - while ($j < $count) { - $this->_putString($value, $j * 4, "\0\0\0\0"); - $j++; - } - break; - case 12: // DFLOAT - if ($count == 0) { - $count = $origCount; - } + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $v = strval($origValue[$j]); + if (strlen($v) > 4) { + $v = substr($v, 0, 4); + } + elseif (strlen($v) < 4) { + $v = str_pad($v, 4, "\0"); + } + $this->_putString($value, $j * 4, $v); + $j++; + } - $j = 0; - while (($j < $count) && ($j < $origCount)) { - $v = strval($origValue[$j]); - if (strlen($v) > 8) { - $v = substr($v, 0, 8); + while ($j < $count) { + $this->_putString($value, $j * 4, "\0\0\0\0"); + $j++; } - elseif (strlen($v) < 8) { - $v = str_pad($v, 8, "\0"); + break; + case 12: // DFLOAT + if ($count == 0) { + $count = $origCount; } - $this->_putString($value, $j * 8, $v); - $j++; - } - while ($j < $count) { - $this->_putString($value, $j * 8, "\0\0\0\0\0\0\0\0"); - $j++; - } - break; - default: - $value = null; - break; + $j = 0; + while (($j < $count) && ($j < $origCount)) { + $v = strval($origValue[$j]); + if (strlen($v) > 8) { + $v = substr($v, 0, 8); + } + elseif (strlen($v) < 8) { + $v = str_pad($v, 8, "\0"); + } + $this->_putString($value, $j * 8, $v); + $j++; + } + + while ($j < $count) { + $this->_putString($value, $j * 8, "\0\0\0\0\0\0\0\0"); + $j++; + } + break; + default: + $value = null; + break; } } @@ -2302,8 +2210,7 @@ class JpegMeta } /*************************************************************/ - function _parseMarkerAdobe() - { + function _parseMarkerAdobe() { if (!isset($this->_markers)) { $this->_readJPEG(); } @@ -2359,36 +2266,36 @@ class JpegMeta $basePos = $pos; switch ($type) { - case 0x0404: // Caption (IPTC Data) - $pos = $this->_readIPTC($data, $pos); - if ($pos == false) - return false; - break; - case 0x040A: // CopyrightFlag - $this->_info['adobe']['CopyrightFlag'] = $this->_getByte($data, $pos); - $pos += $length; - break; - case 0x040B: // ImageURL - $this->_info['adobe']['ImageURL'] = $this->_getFixedString($data, $pos, $length); - $pos += $length; - break; - case 0x040C: // Thumbnail - $aux = $this->_getLong($data, $pos); - $pos += 4; - if ($aux == 1) { - $this->_info['adobe']['ThumbnailWidth'] = $this->_getLong($data, $pos); - $pos += 4; - $this->_info['adobe']['ThumbnailHeight'] = $this->_getLong($data, $pos); + case 0x0404: // Caption (IPTC Data) + $pos = $this->_readIPTC($data, $pos); + if ($pos == false) + return false; + break; + case 0x040A: // CopyrightFlag + $this->_info['adobe']['CopyrightFlag'] = $this->_getByte($data, $pos); + $pos += $length; + break; + case 0x040B: // ImageURL + $this->_info['adobe']['ImageURL'] = $this->_getFixedString($data, $pos, $length); + $pos += $length; + break; + case 0x040C: // Thumbnail + $aux = $this->_getLong($data, $pos); $pos += 4; + if ($aux == 1) { + $this->_info['adobe']['ThumbnailWidth'] = $this->_getLong($data, $pos); + $pos += 4; + $this->_info['adobe']['ThumbnailHeight'] = $this->_getLong($data, $pos); + $pos += 4; - $pos += 16; // Skip some data + $pos += 16; // Skip some data - $this->_info['adobe']['ThumbnailData'] = $this->_getFixedString($data, $pos, $length - 28); - $pos += $length - 28; - } - break; - default: - break; + $this->_info['adobe']['ThumbnailData'] = $this->_getFixedString($data, $pos, $length - 28); + $pos += $length - 28; + } + break; + default: + break; } // We save all blocks, even those we recognized @@ -2404,8 +2311,7 @@ class JpegMeta } /*************************************************************/ - function _readIPTC(&$data, $pos = 0) - { + function _readIPTC(&$data, $pos = 0) { $totalLength = strlen($data); $IPTCTags =& $this->_iptcTagNames(); @@ -2426,8 +2332,7 @@ class JpegMeta if (isset($IPTCTags[$type])) { $label = $IPTCTags[$type]; - } - else { + } else { $label = sprintf('IPTC_0x%02x', $type); } @@ -2439,8 +2344,7 @@ class JpegMeta $this->_info['iptc'][$label] = $aux; } $this->_info['iptc'][$label][ count($this->_info['iptc'][$label]) ] = $this->_getFixedString($data, $pos, $length); - } - else { + } else { $this->_info['iptc'][$label] = $this->_getFixedString($data, $pos, $length); } } @@ -2451,8 +2355,7 @@ class JpegMeta } /*************************************************************/ - function & _createMarkerAdobe() - { + function & _createMarkerAdobe() { if (isset($this->_info['iptc'])) { if (!isset($this->_info['adobe'])) { $this->_info['adobe'] = array(); @@ -2475,11 +2378,11 @@ class JpegMeta reset($this->_info['adobe']['raw']); while (list($key) = each($this->_info['adobe']['raw'])) { $pos = $this->_write8BIM( - $data, - $pos, - $this->_info['adobe']['raw'][$key]['type'], - $this->_info['adobe']['raw'][$key]['header'], - $this->_info['adobe']['raw'][$key]['data'] ); + $data, + $pos, + $this->_info['adobe']['raw'][$key]['type'], + $this->_info['adobe']['raw'][$key]['header'], + $this->_info['adobe']['raw'][$key]['data'] ); } } @@ -2487,8 +2390,7 @@ class JpegMeta } /*************************************************************/ - function _write8BIM(&$data, $pos, $type, $header, &$value) - { + function _write8BIM(&$data, $pos, $type, $header, &$value) { $signature = "8BIM"; $pos = $this->_putString($data, $pos, $signature); @@ -2512,8 +2414,7 @@ class JpegMeta } /*************************************************************/ - function & _writeIPTC() - { + function & _writeIPTC() { $data = " "; $pos = 0; @@ -2521,7 +2422,6 @@ class JpegMeta reset($this->_info['iptc']); - while (list($label) = each($this->_info['iptc'])) { $value =& $this->_info['iptc'][$label]; $type = -1; @@ -2535,7 +2435,8 @@ class JpegMeta if ($type != -1) { if (is_array($value)) { - for ($i = 0; $i < count($value); $i++) { + $vcnt = count($value); + for ($i = 0; $i < $vcnt; $i++) { $pos = $this->_writeIPTCEntry($data, $pos, $type, $value[$i]); } } @@ -2549,8 +2450,7 @@ class JpegMeta } /*************************************************************/ - function _writeIPTCEntry(&$data, $pos, $type, &$value) - { + function _writeIPTCEntry(&$data, $pos, $type, &$value) { $pos = $this->_putShort($data, $pos, 0x1C02); $pos = $this->_putByte($data, $pos, $type); $pos = $this->_putShort($data, $pos, strlen($value)); @@ -2560,8 +2460,7 @@ class JpegMeta } /*************************************************************/ - function _exifTagNames($mode) - { + function _exifTagNames($mode) { $tags = array(); if ($mode == 'ifd0') { @@ -2627,8 +2526,7 @@ class JpegMeta $tags[0x0214] = 'TIFFReferenceBlackWhite'; $tags[0x8298] = 'TIFFCopyright'; $tags[0x9286] = 'TIFFUserComment'; - } - elseif ($mode == 'exif') { + } elseif ($mode == 'exif') { $tags[0x829A] = 'ExposureTime'; $tags[0x829D] = 'FNumber'; $tags[0x8822] = 'ExposureProgram'; @@ -2672,15 +2570,13 @@ class JpegMeta $tags[0xA300] = 'FileSource'; $tags[0xA301] = 'SceneType'; $tags[0xA302] = 'CFAPattern'; - } - elseif ($mode == 'interop') { + } elseif ($mode == 'interop') { $tags[0x0001] = 'InteroperabilityIndex'; $tags[0x0002] = 'InteroperabilityVersion'; $tags[0x1000] = 'RelatedImageFileFormat'; $tags[0x1001] = 'RelatedImageWidth'; $tags[0x1002] = 'RelatedImageLength'; - } - elseif ($mode == 'gps') { + } elseif ($mode == 'gps') { $tags[0x0000] = 'GPSVersionID'; $tags[0x0001] = 'GPSLatitudeRef'; $tags[0x0002] = 'GPSLatitude'; @@ -2714,8 +2610,7 @@ class JpegMeta } /*************************************************************/ - function _exifTagTypes($mode) - { + function _exifTagTypes($mode) { $tags = array(); if ($mode == 'ifd0') { @@ -2781,8 +2676,7 @@ class JpegMeta $tags[0x0214] = array(5, 6); // TIFFReferenceBlackWhite -> RATIONAL, 6 $tags[0x8298] = array(2, 0); // TIFFCopyright -> ASCII, Any $tags[0x9286] = array(2, 0); // TIFFUserComment -> ASCII, Any - } - elseif ($mode == 'exif') { + } elseif ($mode == 'exif') { $tags[0x829A] = array(5, 1); // ExposureTime -> RATIONAL, 1 $tags[0x829D] = array(5, 1); // FNumber -> RATIONAL, 1 $tags[0x8822] = array(3, 1); // ExposureProgram -> SHORT, 1 @@ -2826,15 +2720,13 @@ class JpegMeta $tags[0xA300] = array(7, 1); // FileSource -> UNDEFINED, 1 $tags[0xA301] = array(7, 1); // SceneType -> UNDEFINED, 1 $tags[0xA302] = array(7, 0); // CFAPattern -> UNDEFINED, Any - } - elseif ($mode == 'interop') { + } elseif ($mode == 'interop') { $tags[0x0001] = array(2, 0); // InteroperabilityIndex -> ASCII, Any $tags[0x0002] = array(7, 4); // InteroperabilityVersion -> UNKNOWN, 4 $tags[0x1000] = array(2, 0); // RelatedImageFileFormat -> ASCII, Any $tags[0x1001] = array(4, 1); // RelatedImageWidth -> LONG (or SHORT), 1 $tags[0x1002] = array(4, 1); // RelatedImageLength -> LONG (or SHORT), 1 - } - elseif ($mode == 'gps') { + } elseif ($mode == 'gps') { $tags[0x0000] = array(1, 4); // GPSVersionID -> BYTE, 4 $tags[0x0001] = array(2, 2); // GPSLatitudeRef -> ASCII, 2 $tags[0x0002] = array(5, 3); // GPSLatitude -> RATIONAL, 3 @@ -2868,15 +2760,13 @@ class JpegMeta } /*************************************************************/ - function _exifNameTags($mode) - { + function _exifNameTags($mode) { $tags = $this->_exifTagNames($mode); return $this->_names2Tags($tags); } /*************************************************************/ - function _iptcTagNames() - { + function _iptcTagNames() { $tags = array(); $tags[0x14] = 'SuplementalCategories'; $tags[0x19] = 'Keywords'; @@ -2903,15 +2793,13 @@ class JpegMeta } /*************************************************************/ - function & _iptcNameTags() - { + function & _iptcNameTags() { $tags = $this->_iptcTagNames(); return $this->_names2Tags($tags); } /*************************************************************/ - function _names2Tags($tags2Names) - { + function _names2Tags($tags2Names) { $names2Tags = array(); reset($tags2Names); while (list($tag, $name) = each($tags2Names)) { @@ -2922,14 +2810,12 @@ class JpegMeta } /*************************************************************/ - function _getByte(&$data, $pos) - { + function _getByte(&$data, $pos) { return ord($data{$pos}); } /*************************************************************/ - function _putByte(&$data, $pos, $val) - { + function _putByte(&$data, $pos, $val) { $val = intval($val); $data{$pos} = chr($val); @@ -2938,28 +2824,24 @@ class JpegMeta } /*************************************************************/ - function _getShort(&$data, $pos, $bigEndian = true) - { + function _getShort(&$data, $pos, $bigEndian = true) { if ($bigEndian) { return (ord($data{$pos}) << 8) - + ord($data{$pos + 1}); - } - else { + + ord($data{$pos + 1}); + } else { return ord($data{$pos}) - + (ord($data{$pos + 1}) << 8); + + (ord($data{$pos + 1}) << 8); } } /*************************************************************/ - function _putShort(&$data, $pos = 0, $val, $bigEndian = true) - { + function _putShort(&$data, $pos = 0, $val = 0, $bigEndian = true) { $val = intval($val); if ($bigEndian) { $data{$pos + 0} = chr(($val & 0x0000FF00) >> 8); $data{$pos + 1} = chr(($val & 0x000000FF) >> 0); - } - else { + } else { $data{$pos + 0} = chr(($val & 0x00FF) >> 0); $data{$pos + 1} = chr(($val & 0xFF00) >> 8); } @@ -2968,25 +2850,22 @@ class JpegMeta } /*************************************************************/ - function _getLong(&$data, $pos, $bigEndian = true) - { + function _getLong(&$data, $pos, $bigEndian = true) { if ($bigEndian) { return (ord($data{$pos}) << 24) - + (ord($data{$pos + 1}) << 16) - + (ord($data{$pos + 2}) << 8) - + ord($data{$pos + 3}); - } - else { + + (ord($data{$pos + 1}) << 16) + + (ord($data{$pos + 2}) << 8) + + ord($data{$pos + 3}); + } else { return ord($data{$pos}) - + (ord($data{$pos + 1}) << 8) - + (ord($data{$pos + 2}) << 16) - + (ord($data{$pos + 3}) << 24); + + (ord($data{$pos + 1}) << 8) + + (ord($data{$pos + 2}) << 16) + + (ord($data{$pos + 3}) << 24); } } /*************************************************************/ - function _putLong(&$data, $pos, $val, $bigEndian = true) - { + function _putLong(&$data, $pos, $val, $bigEndian = true) { $val = intval($val); if ($bigEndian) { @@ -2994,8 +2873,7 @@ class JpegMeta $data{$pos + 1} = chr(($val & 0x00FF0000) >> 16); $data{$pos + 2} = chr(($val & 0x0000FF00) >> 8); $data{$pos + 3} = chr(($val & 0x000000FF) >> 0); - } - else { + } else { $data{$pos + 0} = chr(($val & 0x000000FF) >> 0); $data{$pos + 1} = chr(($val & 0x0000FF00) >> 8); $data{$pos + 2} = chr(($val & 0x00FF0000) >> 16); @@ -3006,16 +2884,14 @@ class JpegMeta } /*************************************************************/ - function & _getNullString(&$data, $pos) - { + function & _getNullString(&$data, $pos) { $str = ''; $max = strlen($data); while ($pos < $max) { if (ord($data{$pos}) == 0) { return $str; - } - else { + } else { $str .= $data{$pos}; } $pos++; @@ -3025,8 +2901,7 @@ class JpegMeta } /*************************************************************/ - function & _getFixedString(&$data, $pos, $length = -1) - { + function & _getFixedString(&$data, $pos, $length = -1) { if ($length == -1) { $length = strlen($data) - $pos; } @@ -3035,23 +2910,20 @@ class JpegMeta } /*************************************************************/ - function _putString(&$data, $pos, &$str) - { + function _putString(&$data, $pos, &$str) { $len = strlen($str); for ($i = 0; $i < $len; $i++) { - $data{$pos + $i} = $str{$i}; + $data{$pos + $i} = $str{$i}; } return $pos + $len; } /*************************************************************/ - function _hexDump(&$data, $start = 0, $length = -1) - { + function _hexDump(&$data, $start = 0, $length = -1) { if (($length == -1) || (($length + $start) > strlen($data))) { $end = strlen($data); - } - else { + } else { $end = $start + $length; } @@ -3109,8 +2981,7 @@ class JpegMeta echo "\n"; } -/*****************************************************************/ + /*****************************************************************/ } /* vim: set expandtab tabstop=4 shiftwidth=4: */ - diff --git a/inc/ZipLib.class.php b/inc/ZipLib.class.php index 836e9d9e6..09dbbd3bd 100644 --- a/inc/ZipLib.class.php +++ b/inc/ZipLib.class.php @@ -5,471 +5,500 @@ * @link http://dev.maxg.info * @link http://forum.maxg.info * - * Modified for Dokuwiki - * @author Christopher Smith + * Modified for Dokuwiki + * @author Christopher Smith */ -class ZipLib -{ - - var $datasec, $ctrl_dir = array(); - var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; - var $old_offset = 0; var $dirs = Array("."); - - function get_List($zip_name) - { - $zip = @fopen($zip_name, 'rb'); - if(!$zip) return(0); - $centd = $this->ReadCentralDir($zip,$zip_name); - - @rewind($zip); - @fseek($zip, $centd['offset']); - - for ($i=0; $i<$centd['entries']; $i++) - { - $header = $this->ReadCentralFileHeaders($zip); - $header['index'] = $i;$info['filename'] = $header['filename']; - $info['stored_filename'] = $header['stored_filename']; - $info['size'] = $header['size'];$info['compressed_size']=$header['compressed_size']; - $info['crc'] = strtoupper(dechex( $header['crc'] )); - $info['mtime'] = $header['mtime']; $info['comment'] = $header['comment']; - $info['folder'] = ($header['external']==0x41FF0010||$header['external']==16)?1:0; - $info['index'] = $header['index'];$info['status'] = $header['status']; - $ret[]=$info; unset($header); - } - return $ret; - } - - function Add($files,$compact) - { - if(!is_array($files[0])) $files=Array($files); - - for($i=0;$files[$i];$i++){ - $fn = $files[$i]; - if(!in_Array(dirname($fn[0]),$this->dirs)) - $this->add_Dir(dirname($fn[0])); - if(basename($fn[0])) - $ret[basename($fn[0])]=$this->add_File($fn[1],$fn[0],$compact); - } - return $ret; - } - - /** - * Zips recursively the $folder directory, from the $basedir directory - */ - function Compress($folder, $basedir=null, $parent=null) - { - $full_path = $basedir."/".$parent.$folder; - $zip_path = $parent.$folder; - if ($zip_path) { - $zip_path .= "/"; - $this->add_dir($zip_path); - } - $dir = new DirectoryIterator($full_path); - foreach($dir as $file) { - if(!$file->isDot()) { - $filename = $file->getFilename(); - if($file->isDir()) { - $this->Compress($filename, $basedir, $zip_path); - } else { - $content = join('', file($full_path.'/'.$filename)); - $this->add_File($content, $zip_path.$filename); +class ZipLib { + + var $datasec; + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + var $dirs = Array("."); + + function get_List($zip_name) { + $zip = @fopen($zip_name, 'rb'); + if(!$zip) return(0); + $centd = $this->ReadCentralDir($zip,$zip_name); + + @rewind($zip); + @fseek($zip, $centd['offset']); + + for ($i=0; $i<$centd['entries']; $i++) { + $header = $this->ReadCentralFileHeaders($zip); + $header['index'] = $i; + + $info['filename'] = $header['filename']; + $info['stored_filename'] = $header['stored_filename']; + $info['size'] = $header['size']; + $info['compressed_size'] = $header['compressed_size']; + $info['crc'] = strtoupper(dechex( $header['crc'] )); + $info['mtime'] = $header['mtime']; + $info['comment'] = $header['comment']; + $info['folder'] = ($header['external']==0x41FF0010||$header['external']==16)?1:0; + $info['index'] = $header['index']; + $info['status'] = $header['status']; + $ret[]=$info; + + unset($header); + } + return $ret; } - } - } - } - - /** - * Returns the Zip file - */ - function get_file() - { - $data = implode('', $this -> datasec); - $ctrldir = implode('', $this -> ctrl_dir); - - return $data . $ctrldir . $this -> eof_ctrl_dir . - pack('v', sizeof($this -> ctrl_dir)).pack('v', sizeof($this -> ctrl_dir)). - pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00"; - } - - function add_dir($name) - { - $name = str_replace("\\", "/", $name); - $fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; - - $fr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); - $fr .= pack("v", 0 ).$name.pack("V", 0).pack("V", 0).pack("V", 0); - $this -> datasec[] = $fr; - - $new_offset = strlen(implode("", $this->datasec)); - - $cdrec = "\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; - $cdrec .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); - $cdrec .= pack("v", 0 ).pack("v", 0 ).pack("v", 0 ).pack("v", 0 ); - $ext = "\xff\xff\xff\xff"; - $cdrec .= pack("V", 16 ).pack("V", $this -> old_offset ).$name; - - $this -> ctrl_dir[] = $cdrec; - $this -> old_offset = $new_offset; - $this -> dirs[] = $name; - } - - /** - * Add a file named $name from a string $data - */ - function add_File($data, $name, $compact = 1) - { - $name = str_replace('\\', '/', $name); - $dtime = dechex($this->DosTime()); - - $hexdtime = '\x' . $dtime[6] . $dtime[7].'\x'.$dtime[4] . $dtime[5] - . '\x' . $dtime[2] . $dtime[3].'\x'.$dtime[0].$dtime[1]; - eval('$hexdtime = "' . $hexdtime . '";'); - - if($compact) - $fr = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00".$hexdtime; - else $fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00".$hexdtime; - $unc_len = strlen($data); $crc = crc32($data); - - if($compact){ - $zdata = gzcompress($data); $c_len = strlen($zdata); - $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); - }else{ - $zdata = $data; - } - $c_len=strlen($zdata); - $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); - $fr .= pack('v', strlen($name)).pack('v', 0).$name.$zdata; - - $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); - - $this -> datasec[] = $fr; - $new_offset = strlen(implode('', $this->datasec)); - if($compact) - $cdrec = "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00"; - else $cdrec = "\x50\x4b\x01\x02\x14\x00\x0a\x00\x00\x00\x00\x00"; - $cdrec .= $hexdtime.pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); - $cdrec .= pack('v', strlen($name) ).pack('v', 0 ).pack('v', 0 ); - $cdrec .= pack('v', 0 ).pack('v', 0 ).pack('V', 32 ); - $cdrec .= pack('V', $this -> old_offset ); - - $this -> old_offset = $new_offset; - $cdrec .= $name; - $this -> ctrl_dir[] = $cdrec; - return true; - } - - function DosTime() { - $timearray = getdate(); - if ($timearray['year'] < 1980) { - $timearray['year'] = 1980; $timearray['mon'] = 1; - $timearray['mday'] = 1; $timearray['hours'] = 0; - $timearray['minutes'] = 0; $timearray['seconds'] = 0; - } - return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | ($timearray['hours'] << 11) | - ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); - } - - /** - * Extract a zip file $zn to the $to directory - */ - function Extract ( $zn, $to, $index = Array(-1) ) - { - if(!@is_dir($to)) $this->_mkdir($to); - $ok = 0; $zip = @fopen($zn,'rb'); - if(!$zip) return(-1); - $cdir = $this->ReadCentralDir($zip,$zn); - $pos_entry = $cdir['offset']; - - if(!is_array($index)){ $index = array($index); } - for($i=0; isset($index[$i]);$i++){ - if(intval($index[$i])!=$index[$i]||$index[$i]>$cdir['entries']) - return(-1); - } - - for ($i=0; $i<$cdir['entries']; $i++) - { - @fseek($zip, $pos_entry); - $header = $this->ReadCentralFileHeaders($zip); - $header['index'] = $i; $pos_entry = ftell($zip); - @rewind($zip); fseek($zip, $header['offset']); - if(in_array("-1",$index)||in_array($i,$index)) - $stat[$header['filename']]=$this->ExtractFile($header, $to, $zip); - - } - fclose($zip); - return $stat; - } - - function ReadFileHeader($zip, $header) - { - $binary_data = fread($zip, 30); - $data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data); - - $header['filename'] = fread($zip, $data['filename_len']); - if ($data['extra_len'] != 0) { - $header['extra'] = fread($zip, $data['extra_len']); - } else { $header['extra'] = ''; } - - $header['compression'] = $data['compression']; - foreach (array('size','compressed_size','crc') as $hd) { // On ODT files, these headers are 0. Keep the previous value. - if ($data[$hd] != 0) $header[$hd] = $data[$hd]; + + function Add($files,$compact) { + if(!is_array($files[0])) $files=Array($files); + + for($i=0;$files[$i];$i++){ + $fn = $files[$i]; + if(!in_Array(dirname($fn[0]),$this->dirs)) + $this->add_Dir(dirname($fn[0])); + if(basename($fn[0])) + $ret[basename($fn[0])]=$this->add_File($fn[1],$fn[0],$compact); + } + return $ret; + } + + /** + * Zips recursively the $folder directory, from the $basedir directory + */ + function Compress($folder, $basedir=null, $parent=null) { + $full_path = $basedir."/".$parent.$folder; + $zip_path = $parent.$folder; + if ($zip_path) { + $zip_path .= "/"; + $this->add_dir($zip_path); + } + $dir = new DirectoryIterator($full_path); + foreach($dir as $file) { + if(!$file->isDot()) { + $filename = $file->getFilename(); + if($file->isDir()) { + $this->Compress($filename, $basedir, $zip_path); + } else { + $content = join('', file($full_path.'/'.$filename)); + $this->add_File($content, $zip_path.$filename); + } + } + } + } + + /** + * Returns the Zip file + */ + function get_file() { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + + return $data . $ctrldir . $this -> eof_ctrl_dir . + pack('v', count($this->ctrl_dir)).pack('v', count($this->ctrl_dir)). + pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00"; + } + + function add_dir($name) { + $name = str_replace("\\", "/", $name); + $fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + + $fr .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $fr .= pack("v", 0 ).$name.pack("V", 0).pack("V", 0).pack("V", 0); + $this -> datasec[] = $fr; + + $new_offset = strlen(implode("", $this->datasec)); + + $cdrec = "\x50\x4b\x01\x02\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00"; + $cdrec .= pack("V",0).pack("V",0).pack("V",0).pack("v", strlen($name) ); + $cdrec .= pack("v", 0 ).pack("v", 0 ).pack("v", 0 ).pack("v", 0 ); + $ext = "\xff\xff\xff\xff"; + $cdrec .= pack("V", 16 ).pack("V", $this -> old_offset ).$name; + + $this -> ctrl_dir[] = $cdrec; + $this -> old_offset = $new_offset; + $this -> dirs[] = $name; + } + + /** + * Add a file named $name from a string $data + */ + function add_File($data, $name, $compact = 1) { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->DosTime()); + + $hexdtime = pack('H*',$dtime[6].$dtime[7]. + $dtime[4].$dtime[5]. + $dtime[2].$dtime[3]. + $dtime[0].$dtime[1]); + + if($compact){ + $fr = "\x50\x4b\x03\x04\x14\x00\x00\x00\x08\x00".$hexdtime; + }else{ + $fr = "\x50\x4b\x03\x04\x0a\x00\x00\x00\x00\x00".$hexdtime; + } + $unc_len = strlen($data); + $crc = crc32($data); + + if($compact){ + $zdata = gzcompress($data); + $c_len = strlen($zdata); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + }else{ + $zdata = $data; + } + $c_len=strlen($zdata); + $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); + $fr .= pack('v', strlen($name)).pack('v', 0).$name.$zdata; + + $fr .= pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); + + $this -> datasec[] = $fr; + $new_offset = strlen(implode('', $this->datasec)); + if($compact) { + $cdrec = "\x50\x4b\x01\x02\x00\x00\x14\x00\x00\x00\x08\x00"; + } else { + $cdrec = "\x50\x4b\x01\x02\x14\x00\x0a\x00\x00\x00\x00\x00"; + } + $cdrec .= $hexdtime.pack('V', $crc).pack('V', $c_len).pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ).pack('v', 0 ).pack('v', 0 ); + $cdrec .= pack('v', 0 ).pack('v', 0 ).pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + + $this -> old_offset = $new_offset; + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + return true; + } + + function DosTime() { + $timearray = getdate(); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | + ($timearray['mon'] << 21) | + ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | + ($timearray['minutes'] << 5) | + ($timearray['seconds'] >> 1); } - $header['flag'] = $data['flag']; - $header['mdate'] = $data['mdate'];$header['mtime'] = $data['mtime']; - - if ($header['mdate'] && $header['mtime']){ - $hour=($header['mtime']&0xF800)>>11;$minute=($header['mtime']&0x07E0)>>5; - $seconde=($header['mtime']&0x001F)*2;$year=(($header['mdate']&0xFE00)>>9)+1980; - $month=($header['mdate']&0x01E0)>>5;$day=$header['mdate']&0x001F; - $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); - }else{$header['mtime'] = time();} - - $header['stored_filename'] = $header['filename']; - $header['status'] = "ok"; - return $header; - } - - function ReadCentralFileHeaders($zip){ - $binary_data = fread($zip, 46); - $header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data); - - if ($header['filename_len'] != 0) - $header['filename'] = fread($zip,$header['filename_len']); - else $header['filename'] = ''; - - if ($header['extra_len'] != 0) - $header['extra'] = fread($zip, $header['extra_len']); - else $header['extra'] = ''; - - if ($header['comment_len'] != 0) - $header['comment'] = fread($zip, $header['comment_len']); - else $header['comment'] = ''; - - if ($header['mdate'] && $header['mtime']) - { - $hour = ($header['mtime'] & 0xF800) >> 11; - $minute = ($header['mtime'] & 0x07E0) >> 5; - $seconde = ($header['mtime'] & 0x001F)*2; - $year = (($header['mdate'] & 0xFE00) >> 9) + 1980; - $month = ($header['mdate'] & 0x01E0) >> 5; - $day = $header['mdate'] & 0x001F; - $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); - } else { - $header['mtime'] = time(); + + /** + * Extract a zip file $zn to the $to directory + */ + function Extract ( $zn, $to, $index = Array(-1) ) { + if(!@is_dir($to)) $this->_mkdir($to); + $ok = 0; + $zip = @fopen($zn,'rb'); + if(!$zip) return(-1); + $cdir = $this->ReadCentralDir($zip,$zn); + $pos_entry = $cdir['offset']; + + if(!is_array($index)){ + $index = array($index); + } + for($i=0; isset($index[$i]);$i++){ + if(intval($index[$i])!=$index[$i]||$index[$i]>$cdir['entries']) + return(-1); + } + + for ($i=0; $i<$cdir['entries']; $i++) { + @fseek($zip, $pos_entry); + $header = $this->ReadCentralFileHeaders($zip); + $header['index'] = $i; + $pos_entry = ftell($zip); + @rewind($zip); + fseek($zip, $header['offset']); + if(in_array("-1",$index)||in_array($i,$index)){ + $stat[$header['filename']]=$this->ExtractFile($header, $to, $zip); + } + } + fclose($zip); + return $stat; + } + + function ReadFileHeader($zip, $header) { + $binary_data = fread($zip, 30); + $data = unpack('vchk/vid/vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $binary_data); + + $header['filename'] = fread($zip, $data['filename_len']); + if ($data['extra_len'] != 0) { + $header['extra'] = fread($zip, $data['extra_len']); + } else { + $header['extra'] = ''; + } + + $header['compression'] = $data['compression']; + foreach (array('size','compressed_size','crc') as $hd) { // On ODT files, these headers are 0. Keep the previous value. + if ($data[$hd] != 0) $header[$hd] = $data[$hd]; + } + $header['flag'] = $data['flag']; + $header['mdate'] = $data['mdate']; + $header['mtime'] = $data['mtime']; + + if ($header['mdate'] && $header['mtime']){ + $hour = ($header['mtime']&0xF800)>>11; + $minute = ($header['mtime']&0x07E0)>>5; + $seconde = ($header['mtime']&0x001F)*2; + $year = (($header['mdate']&0xFE00)>>9)+1980; + $month = ($header['mdate']&0x01E0)>>5; + $day = $header['mdate']&0x001F; + $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); + } else { + $header['mtime'] = time(); + } + + $header['stored_filename'] = $header['filename']; + $header['status'] = "ok"; + return $header; + } + + function ReadCentralFileHeaders($zip){ + $binary_data = fread($zip, 46); + $header = unpack('vchkid/vid/vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $binary_data); + + if ($header['filename_len'] != 0){ + $header['filename'] = fread($zip,$header['filename_len']); + }else{ + $header['filename'] = ''; + } + + if ($header['extra_len'] != 0){ + $header['extra'] = fread($zip, $header['extra_len']); + }else{ + $header['extra'] = ''; + } + + if ($header['comment_len'] != 0){ + $header['comment'] = fread($zip, $header['comment_len']); + }else{ + $header['comment'] = ''; + } + + if ($header['mdate'] && $header['mtime']) { + $hour = ($header['mtime'] & 0xF800) >> 11; + $minute = ($header['mtime'] & 0x07E0) >> 5; + $seconde = ($header['mtime'] & 0x001F)*2; + $year = (($header['mdate'] & 0xFE00) >> 9) + 1980; + $month = ($header['mdate'] & 0x01E0) >> 5; + $day = $header['mdate'] & 0x001F; + $header['mtime'] = mktime($hour, $minute, $seconde, $month, $day, $year); + } else { + $header['mtime'] = time(); + } + + $header['stored_filename'] = $header['filename']; + $header['status'] = 'ok'; + if (substr($header['filename'], -1) == '/') $header['external'] = 0x41FF0010; + + return $header; + } + + function ReadCentralDir($zip,$zip_name) { + $size = filesize($zip_name); + if ($size < 277){ + $maximum_size = $size; + } else { + $maximum_size=277; + } + + @fseek($zip, $size-$maximum_size); + $pos = ftell($zip); + $bytes = 0x00000000; + + while ($pos < $size) { + $byte = @fread($zip, 1); + $bytes=(($bytes << 8) & 0xFFFFFFFF) | Ord($byte); + if ($bytes == 0x504b0506){ + $pos++; + break; + } + $pos++; + } + + $data=unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', + fread($zip, 18)); + + if ($data['comment_size'] != 0){ + $centd['comment'] = fread($zip, $data['comment_size']); + } else { + $centd['comment'] = ''; + $centd['entries'] = $data['entries']; + } + $centd['disk_entries'] = $data['disk_entries']; + $centd['offset'] = $data['offset']; + $centd['disk_start'] = $data['disk_start']; + $centd['size'] = $data['size']; + $centd['disk'] = $data['disk']; + return $centd; + } + + function ExtractFile($header,$to,$zip) { + $header = $this->readfileheader($zip, $header); + + if(substr($to,-1)!="/") $to.="/"; + if(substr($header['filename'],-1)=="/") { + $this->_mkdir($to.$header['filename']); + return +2; + } + + if (!$this->_mkdir($to.dirname($header['filename']))) return (-1); + + if (!array_key_exists("external", $header) || (!($header['external']==0x41FF0010)&&!($header['external']==16))) { + if ($header['compression']==0) { + $fp = @fopen($to.$header['filename'], 'wb'); + if(!$fp) return(-1); + $size = $header['compressed_size']; + + while ($size != 0) { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = fread($zip, $read_size); + $binary_data = pack('a'.$read_size, $buffer); + @fwrite($fp, $binary_data, $read_size); + $size -= $read_size; + } + fclose($fp); + touch($to.$header['filename'], $header['mtime']); + + }else{ + if (!is_dir(dirname($to.$header['filename']))) $this->_mkdir(dirname($to.$header['filename'])); + $fp = fopen($to.$header['filename'].'.gz','wb'); + if(!$fp) return(-1); + $binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header['compression']), + Chr(0x00), time(), Chr(0x00), Chr(3)); + + fwrite($fp, $binary_data, 10); + $size = $header['compressed_size']; + + while ($size != 0) { + $read_size = ($size < 1024 ? $size : 1024); + $buffer = fread($zip, $read_size); + $binary_data = pack('a'.$read_size, $buffer); + @fwrite($fp, $binary_data, $read_size); + $size -= $read_size; + } + + $binary_data = pack('VV', $header['crc'], $header['size']); + fwrite($fp, $binary_data,8); + fclose($fp); + + $gzp = @gzopen($to.$header['filename'].'.gz','rb'); + if(!$gzp){ + @gzclose($gzp); + @unlink($to.$header['filename']); + die("Archive is compressed whereas ZLIB is not enabled."); + } + $fp = @fopen($to.$header['filename'],'wb'); + if(!$fp) return(-1); + $size = $header['size']; + + while ($size != 0) { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = gzread($gzp, $read_size); + $binary_data = pack('a'.$read_size, $buffer); + @fwrite($fp, $binary_data, $read_size); + $size -= $read_size; + } + fclose($fp); + gzclose($gzp); + + touch($to.$header['filename'], $header['mtime']); + @unlink($to.$header['filename'].'.gz'); + } + } + return true; + } + + /** + * centralize mkdir calls and use dokuwiki io functions + * + * @author Christopher Smith + */ + function _mkdir($d) { + return io_mkdir_p($d); + } + + + function ExtractStr($zn, $name) { + $ok = 0; + $zip = @fopen($zn,'rb'); + if(!$zip) return(null); + $cdir = $this->ReadCentralDir($zip,$zn); + $pos_entry = $cdir['offset']; + + for ($i=0; $i<$cdir['entries']; $i++) { + @fseek($zip, $pos_entry); + $header = $this->ReadCentralFileHeaders($zip); + $header['index'] = $i; + $pos_entry = ftell($zip); + @rewind($zip); + fseek($zip, $header['offset']); + if ($name == $header['stored_filename'] || $name == $header['filename']) { + $str = $this->ExtractStrFile($header, $zip); + fclose($zip); + return $str; + } + + } + fclose($zip); + return null; } - $header['stored_filename'] = $header['filename']; - $header['status'] = 'ok'; - if (substr($header['filename'], -1) == '/') - $header['external'] = 0x41FF0010; - return $header; - } - - function ReadCentralDir($zip,$zip_name) - { - $size = filesize($zip_name); - if ($size < 277) $maximum_size = $size; - else $maximum_size=277; - - @fseek($zip, $size-$maximum_size); - $pos = ftell($zip); $bytes = 0x00000000; - - while ($pos < $size) - { - $byte = @fread($zip, 1); - $bytes=(($bytes << 8) & 0xFFFFFFFF) | Ord($byte); - if ($bytes == 0x504b0506){ $pos++; break; } $pos++; - } - - $data=unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', - fread($zip, 18)); - - if ($data['comment_size'] != 0) - $centd['comment'] = fread($zip, $data['comment_size']); - else $centd['comment'] = ''; $centd['entries'] = $data['entries']; - $centd['disk_entries'] = $data['disk_entries']; - $centd['offset'] = $data['offset'];$centd['disk_start'] = $data['disk_start']; - $centd['size'] = $data['size']; $centd['disk'] = $data['disk']; - return $centd; - } - - function ExtractFile($header,$to,$zip) - { - $header = $this->readfileheader($zip, $header); - - if(substr($to,-1)!="/") $to.="/"; - if(substr($header['filename'],-1)=="/") - { -// @mkdir($to.$header['filename']); --CS - $this->_mkdir($to.$header['filename']); //-- CS - return +2; - } - -// $pth = explode("/",dirname($header['filename'])); -// for($i=0,$tmp="";isset($pth[$i]);$i++){ -// if(!$pth[$i]) continue; -// if(!is_dir($to.$tmp.$pth[$i])) @mkdir($to.$pth[$i],0777); -// $tmp.=$pth[$i]."/"; -// } - if (!$this->_mkdir($to.dirname($header['filename']))) return (-1); //--CS - - if (!array_key_exists("external", $header) || (!($header['external']==0x41FF0010)&&!($header['external']==16))) - { - if ($header['compression']==0) - { - $fp = @fopen($to.$header['filename'], 'wb'); - if(!$fp) return(-1); - $size = $header['compressed_size']; - - while ($size != 0) - { - $read_size = ($size < 2048 ? $size : 2048); - $buffer = fread($zip, $read_size); - $binary_data = pack('a'.$read_size, $buffer); - @fwrite($fp, $binary_data, $read_size); - $size -= $read_size; + + function ExtractStrFile($header,$zip) { + $hdr = $this->readfileheader($zip); + $binary_data = ''; + if (!($header['external']==0x41FF0010) && !($header['external']==16)) { + if ($header['compression']==0) { + while ($size != 0) { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = fread($zip, $read_size); + $binary_data .= pack('a'.$read_size, $buffer); + $size -= $read_size; + } + return $binary_data; + } else { + $size = $header['compressed_size']; + if ($size == 0) { + return ''; + } + //Just in case + if ($size > ($this->_ret_bytes(ini_get('memory_limit'))/2)) { + die("Compressed file is to huge to be uncompress in memory."); + } + while ($size != 0) + { + $read_size = ($size < 2048 ? $size : 2048); + $buffer = fread($zip, $read_size); + $binary_data .= pack('a'.$read_size, $buffer); + $size -= $read_size; + } + $str = gzinflate($binary_data, $header['size']); + if ($header['crc'] == crc32($str)) { + return $str; + } else { + die("Crc Error"); + } + } + } + return null; } - fclose($fp); - touch($to.$header['filename'], $header['mtime']); - - }else{ - if (!is_dir(dirname($to.$header['filename']))) $this->_mkdir(dirname($to.$header['filename'])); //-CS - $fp = fopen($to.$header['filename'].'.gz','wb'); - if(!$fp) return(-1); - $binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($header['compression']), - Chr(0x00), time(), Chr(0x00), Chr(3)); - - fwrite($fp, $binary_data, 10); - $size = $header['compressed_size']; - - while ($size != 0) - { - $read_size = ($size < 1024 ? $size : 1024); - $buffer = fread($zip, $read_size); - $binary_data = pack('a'.$read_size, $buffer); - @fwrite($fp, $binary_data, $read_size); - $size -= $read_size; - } - - $binary_data = pack('VV', $header['crc'], $header['size']); - fwrite($fp, $binary_data,8); fclose($fp); - - $gzp = @gzopen($to.$header['filename'].'.gz','rb'); - if(!$gzp){ - @gzclose($gzp); @unlink($to.$header['filename']); - die("Archive is compressed whereas ZLIB is not enabled."); + + function _ret_bytes($val) { + $val = trim($val); + $last = $val{strlen($val)-1}; + switch($last) { + case 'k': + case 'K': + return (int) $val * 1024; + break; + case 'm': + case 'M': + return (int) $val * 1048576; + break; + default: + return $val; + } } - $fp = @fopen($to.$header['filename'],'wb'); - if(!$fp) return(-1); - $size = $header['size']; - - while ($size != 0) - { - $read_size = ($size < 2048 ? $size : 2048); - $buffer = gzread($gzp, $read_size); - $binary_data = pack('a'.$read_size, $buffer); - @fwrite($fp, $binary_data, $read_size); - $size -= $read_size; - } - fclose($fp); gzclose($gzp); - - touch($to.$header['filename'], $header['mtime']); - @unlink($to.$header['filename'].'.gz'); - - }} - return true; - } - - //--CS start - // centralize mkdir calls and use dokuwiki io functions - function _mkdir($d) { - return io_mkdir_p($d); - } - //--CS end - - - function ExtractStr($zn, $name) { - $ok = 0; - $zip = @fopen($zn,'rb'); - if(!$zip) return(NULL); - $cdir = $this->ReadCentralDir($zip,$zn); - $pos_entry = $cdir['offset']; - - for ($i=0; $i<$cdir['entries']; $i++) - { - @fseek($zip, $pos_entry); - $header = $this->ReadCentralFileHeaders($zip); - $header['index'] = $i; - $pos_entry = ftell($zip); - @rewind($zip); - fseek($zip, $header['offset']); - if ($name == $header['stored_filename'] || $name == $header['filename']) { - $str = $this->ExtractStrFile($header, $zip); - fclose($zip); - return $str; - } - - } - fclose($zip); - return null; - } - - function ExtractStrFile($header,$zip) { - $hdr = $this->readfileheader($zip); - $binary_data = ''; - if (!($header['external']==0x41FF0010) && !($header['external']==16)) - { - if ($header['compression']==0) - { - while ($size != 0) - { - $read_size = ($size < 2048 ? $size : 2048); - $buffer = fread($zip, $read_size); - $binary_data .= pack('a'.$read_size, $buffer); - $size -= $read_size; - } - return $binary_data; - } else { - $size = $header['compressed_size']; - if ($size == 0) { - return ''; - } - //Just in case - if ($size > ($this->_ret_bytes(ini_get('memory_limit'))/2)) { - die("Compressed file is to huge to be uncompress in memory."); - } - while ($size != 0) - { - $read_size = ($size < 2048 ? $size : 2048); - $buffer = fread($zip, $read_size); - $binary_data .= pack('a'.$read_size, $buffer); - $size -= $read_size; - } - $str = gzinflate($binary_data, $header['size']); - if ($header['crc'] == crc32($str)) { - return $str; - } else { - die("Crc Error"); - } - } - } - return NULL; - } - - function _ret_bytes($val) { - $val = trim($val); - $last = $val{strlen($val)-1}; - switch($last) { - case 'k': - case 'K': - return (int) $val * 1024; - break; - case 'm': - case 'M': - return (int) $val * 1048576; - break; - default: - return $val; - } - } } diff --git a/inc/blowfish.php b/inc/blowfish.php index 42e3a589a..bcf5804a2 100644 --- a/inc/blowfish.php +++ b/inc/blowfish.php @@ -299,8 +299,7 @@ class Horde_Cipher_blowfish * * @param String $key The key to use */ - function setKey($key) - { + function setKey($key) { $key = $this->_formatKey($key); $keyPos = $keyXor = 0; @@ -318,37 +317,37 @@ class Horde_Cipher_blowfish $encZero = array('L' => 0, 'R' => 0); for ($i = 0; $i + 1 < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->p[$i] = $encZero['L']; - $this->p[$i + 1] = $encZero['R']; + $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); + $this->p[$i] = $encZero['L']; + $this->p[$i + 1] = $encZero['R']; } $iMax = count($this->s1); for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s1[$i] = $encZero['L']; - $this->s1[$i + 1] = $encZero['R']; + $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); + $this->s1[$i] = $encZero['L']; + $this->s1[$i + 1] = $encZero['R']; } $iMax = count($this->s2); for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s2[$i] = $encZero['L']; - $this->s2[$i + 1] = $encZero['R']; + $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); + $this->s2[$i] = $encZero['L']; + $this->s2[$i + 1] = $encZero['R']; } $iMax = count($this->s3); for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s3[$i] = $encZero['L']; - $this->s3[$i + 1] = $encZero['R']; + $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); + $this->s3[$i] = $encZero['L']; + $this->s3[$i + 1] = $encZero['R']; } $iMax = count($this->s4); for ($i = 0; $i < $iMax; $i += 2) { - $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); - $this->s4[$i] = $encZero['L']; - $this->s4[$i + 1] = $encZero['R']; + $encZero = $this->_encryptBlock($encZero['L'], $encZero['R']); + $this->s4[$i] = $encZero['L']; + $this->s4[$i + 1] = $encZero['R']; } } @@ -361,8 +360,7 @@ class Horde_Cipher_blowfish * * @return String the encrypted output */ - function encryptBlock($block, $key = null) - { + function encryptBlock($block, $key = null) { if (!is_null($key)) { $this->setKey($key); } @@ -380,8 +378,7 @@ class Horde_Cipher_blowfish * * @return String The encrypted output. */ - function _encryptBlock($L, $R) - { + function _encryptBlock($L, $R) { $L ^= $this->p[0]; $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[1]; $L ^= ((($this->s1[($R >> 24) & 0xFF] + $this->s2[($R >> 16) & 0x0ff]) ^ $this->s3[($R >> 8) & 0x0ff]) + $this->s4[$R & 0x0ff]) ^ $this->p[2]; @@ -412,13 +409,12 @@ class Horde_Cipher_blowfish * * @return String the decrypted output */ - function decryptBlock($block, $key = null) - { + function decryptBlock($block, $key = null) { if (!is_null($key)) { $this->setKey($key); } -// change for phpMyAdmin + // change for phpMyAdmin $L = null; $R = null; @@ -429,7 +425,7 @@ class Horde_Cipher_blowfish if (isset($retarray[1])) { $R = $retarray[1]; } -// end change for phpMyAdmin + // end change for phpMyAdmin $L ^= $this->p[17]; $R ^= ((($this->s1[($L >> 24) & 0xFF] + $this->s2[($L >> 16) & 0x0ff]) ^ $this->s3[($L >> 8) & 0x0ff]) + $this->s4[$L & 0x0ff]) ^ $this->p[16]; @@ -458,8 +454,7 @@ class Horde_Cipher_blowfish * * @return array The key. */ - function _formatKey($key) - { + function _formatKey($key) { return array_values(unpack('C*', $key)); } @@ -478,8 +473,7 @@ class Horde_Cipher_blowfish * * @author lem9 */ -function PMA_blowfish_encrypt($data, $secret) -{ +function PMA_blowfish_encrypt($data, $secret) { $pma_cipher = new Horde_Cipher_blowfish; $encrypt = ''; @@ -508,8 +502,7 @@ function PMA_blowfish_encrypt($data, $secret) * * @author lem9 */ -function PMA_blowfish_decrypt($encdata, $secret) -{ +function PMA_blowfish_decrypt($encdata, $secret) { $pma_cipher = new Horde_Cipher_blowfish; $decrypt = ''; $data = base64_decode($encdata); diff --git a/inc/feedcreator.class.php b/inc/feedcreator.class.php index 86113e8c3..e7b8d7afc 100644 --- a/inc/feedcreator.class.php +++ b/inc/feedcreator.class.php @@ -336,7 +336,7 @@ class UniversalFeedCreator extends FeedCreator { } } - function _sendMIME($format) { + function _sendMIME() { header('Content-Type: '.$this->contentType.'; charset='.$this->encoding, true); } @@ -369,35 +369,35 @@ class UniversalFeedCreator extends FeedCreator { } - /** - * Turns on caching and checks if there is a recent version of this feed in the cache. - * If there is, an HTTP redirect header is sent. - * To effectively use caching, you should create the FeedCreator object and call this method - * before anything else, especially before you do the time consuming task to build the feed - * (web fetching, for example). - * - * @param string format format the feed should comply to. Valid values are: - * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM0.3". - * @param filename string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). - * @param timeout int optional the timeout in seconds before a cached version is refreshed (defaults to 3600 = 1 hour) - */ - function useCached($format="RSS0.91", $filename="", $timeout=3600) { - $this->_setFormat($format); - $this->_feed->useCached($filename, $timeout); - } + /** + * Turns on caching and checks if there is a recent version of this feed in the cache. + * If there is, an HTTP redirect header is sent. + * To effectively use caching, you should create the FeedCreator object and call this method + * before anything else, especially before you do the time consuming task to build the feed + * (web fetching, for example). + * + * @param string format format the feed should comply to. Valid values are: + * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM0.3". + * @param filename string optional the filename where a recent version of the feed is saved. If not specified, the filename is $_SERVER["PHP_SELF"] with the extension changed to .xml (see _generateFilename()). + * @param timeout int optional the timeout in seconds before a cached version is refreshed (defaults to 3600 = 1 hour) + */ + function useCached($format="RSS0.91", $filename="", $timeout=3600) { + $this->_setFormat($format); + $this->_feed->useCached($filename, $timeout); + } - /** - * Outputs feed to the browser - needed for on-the-fly feed generation (like it is done in WordPress, etc.) - * - * @param format string format the feed should comply to. Valid values are: - * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM0.3". - */ - function outputFeed($format='RSS0.91') { + /** + * Outputs feed to the browser - needed for on-the-fly feed generation (like it is done in WordPress, etc.) + * + * @param format string format the feed should comply to. Valid values are: + * "PIE0.1" (deprecated), "mbox", "RSS0.91", "RSS1.0", "RSS2.0", "OPML", "ATOM0.3". + */ + function outputFeed($format='RSS0.91') { $this->_setFormat($format); - $this->_sendMIME($format); + $this->_sendMIME(); $this->_feed->outputFeed(); - } + } } @@ -794,7 +794,8 @@ class RSSCreator10 extends FeedCreator { $feed.= " ".htmlspecialchars($now->iso8601())."\n"; $feed.= " \n"; $feed.= " \n"; - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " items[$i]->link)."\"/>\n"; } $feed.= " \n"; @@ -809,7 +810,8 @@ class RSSCreator10 extends FeedCreator { } $feed.= $this->_createAdditionalElements($this->additionalElements, " "); - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " items[$i]->link)."\">\n"; //$feed.= " Posting\n"; $feed.= " text/html\n"; @@ -940,7 +942,8 @@ class RSSCreator091 extends FeedCreator { } $feed.= $this->_createAdditionalElements($this->additionalElements, " "); - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " \n"; $feed.= " ".FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),100)."\n"; $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; @@ -968,7 +971,7 @@ class RSSCreator091 extends FeedCreator { $feed.= " ".htmlspecialchars($this->items[$i]->comments)."\n"; } if ($this->items[$i]->date!="") { - $itemDate = new FeedDate($this->items[$i]->date); + $itemDate = new FeedDate($this->items[$i]->date); $feed.= " ".htmlspecialchars($itemDate->rfc822())."\n"; } if ($this->items[$i]->guid!="") { @@ -976,18 +979,15 @@ class RSSCreator091 extends FeedCreator { } $feed.= $this->_createAdditionalElements($this->items[$i]->additionalElements, " "); - if ($this->RSSVersion == "2.0" && $this->items[$i]->enclosure != NULL) - { - $feed.= " items[$i]->enclosure->url; - $feed.= "\" length=\""; - $feed.= $this->items[$i]->enclosure->length; - $feed.= "\" type=\""; - $feed.= $this->items[$i]->enclosure->type; - $feed.= "\"/>\n"; - } - - + if ($this->RSSVersion == "2.0" && $this->items[$i]->enclosure != null) { + $feed.= " items[$i]->enclosure->url; + $feed.= "\" length=\""; + $feed.= $this->items[$i]->enclosure->length; + $feed.= "\" type=\""; + $feed.= $this->items[$i]->enclosure->type; + $feed.= "\"/>\n"; + } $feed.= " \n"; } @@ -1038,7 +1038,8 @@ class PIECreator01 extends FeedCreator { $this->truncSize = 500; $feed.= " ".$this->getDescription()."\n"; $feed.= " ".$this->link."\n"; - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " \n"; $feed.= " ".FeedCreator::iTrunc(htmlspecialchars(strip_tags($this->items[$i]->title)),100)."\n"; $feed.= " ".htmlspecialchars($this->items[$i]->link)."\n"; @@ -1081,7 +1082,7 @@ class PIECreator01 extends FeedCreator { * @since 1.7.2-mod (modified) * @author Mohammad Hafiz Ismail (mypapit@gmail.com) */ - class AtomCreator10 extends FeedCreator { +class AtomCreator10 extends FeedCreator { function AtomCreator10() { $this->contentType = "application/atom+xml"; @@ -1114,7 +1115,8 @@ class PIECreator01 extends FeedCreator { $feed.= " ".FEEDCREATOR_VERSION."\n"; $feed.= "syndicationURL . "\" />\n"; $feed.= $this->_createAdditionalElements($this->additionalElements, " "); - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " \n"; $feed.= " ".htmlspecialchars(strip_tags($this->items[$i]->title))."\n"; $feed.= " items[$i]->link)."\"/>\n"; @@ -1134,8 +1136,8 @@ class PIECreator01 extends FeedCreator { if ($this->items[$i]->description!="") { $feed.= " ".htmlspecialchars($this->items[$i]->description)."\n"; } - if ($this->items[$i]->enclosure != NULL) { - $feed.=" items[$i]->enclosure->url ."\" type=\"". $this->items[$i]->enclosure->type."\" length=\"". $this->items[$i]->enclosure->length . "\" />\n"; + if ($this->items[$i]->enclosure != null) { + $feed.=" items[$i]->enclosure->url ."\" type=\"". $this->items[$i]->enclosure->type."\" length=\"". $this->items[$i]->enclosure->length . "\" />\n"; } $feed.= " \n"; } @@ -1195,7 +1197,8 @@ class AtomCreator03 extends FeedCreator { } $feed.= " ".FEEDCREATOR_VERSION."\n"; $feed.= $this->_createAdditionalElements($this->additionalElements, " "); - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { $feed.= " \n"; $feed.= " ".htmlspecialchars(strip_tags($this->items[$i]->title))."\n"; $feed.= " items[$i]->link)."\"/>\n"; @@ -1254,7 +1257,8 @@ class MBOXCreator extends FeedCreator { if ( ($dec == 32) && ($i == ($linlen - 1)) ) { // convert space at eol only $c = "=20"; } elseif ( ($dec == 61) || ($dec < 32 ) || ($dec > 126) ) { // always encode "\t", which is *not* required - $h2 = floor($dec/16); $h1 = floor($dec%16); + $h2 = floor($dec/16); + $h1 = floor($dec%16); $c = $escape.$hex["$h2"].$hex["$h1"]; } if ( (strlen($newline) + strlen($c)) >= $line_max ) { // CRLF is not counted @@ -1274,7 +1278,8 @@ class MBOXCreator extends FeedCreator { * @return string the feed's complete text */ function createFeed() { - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { if ($this->items[$i]->author!="") { $from = $this->items[$i]->author; } else { @@ -1347,7 +1352,8 @@ class OPMLCreator extends FeedCreator { } $feed.= " \n"; $feed.= " \n"; - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0;$i<$icnt; $i++) { $feed.= " items[$i]->title,"\n\r"," "))); $feed.= " title=\"".$title."\""; @@ -1468,7 +1474,8 @@ class HTMLCreator extends FeedCreator { $feedArray[] = "
".$this->header."
"; } - for ($i=0;$iitems);$i++) { + $icnt = count($this->items); + for ($i=0; $i<$icnt; $i++) { if ($this->separator and $i > 0) { $feedArray[] = "
".$this->separator."
"; } @@ -1528,8 +1535,7 @@ class JSCreator extends HTMLCreator { * writes the javascript * @return string the scripts's complete text */ - function createFeed() - { + function createFeed() { $feed = parent::createFeed(); $feedArray = explode("\n",$feed); diff --git a/inc/template.php b/inc/template.php index 84fbda051..bab68e549 100644 --- a/inc/template.php +++ b/inc/template.php @@ -15,12 +15,12 @@ if(!defined('DOKU_INC')) die('meh.'); * @author Andreas Gohr */ function template($tpl){ - global $conf; + global $conf; - if(@is_readable(DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl)) - return DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl; + if(@is_readable(DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl)) + return DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl; - return DOKU_INC.'lib/tpl/default/'.$tpl; + return DOKU_INC.'lib/tpl/default/'.$tpl; } /** @@ -49,95 +49,95 @@ function tpl_content($prependTOC=true) { } function tpl_content_core(){ - global $ACT; - global $TEXT; - global $PRE; - global $SUF; - global $SUM; - global $IDX; - - switch($ACT){ - case 'show': - html_show(); - break; - case 'preview': - html_edit($TEXT); - html_show($TEXT); - break; - case 'recover': - html_edit($TEXT); - break; - case 'edit': - html_edit(); - break; - case 'draft': - html_draft(); - break; - case 'wordblock': - html_edit($TEXT,'wordblock'); - break; - case 'search': - html_search(); - break; - case 'revisions': - $first = isset($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; - html_revisions($first); - break; - case 'diff': - html_diff(); - break; - case 'recent': - if (is_array($_REQUEST['first'])) { - $_REQUEST['first'] = array_keys($_REQUEST['first']); - $_REQUEST['first'] = $_REQUEST['first'][0]; - } - $first = is_numeric($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; - html_recent($first); - break; - case 'index': - html_index($IDX); #FIXME can this be pulled from globals? is it sanitized correctly? - break; - case 'backlink': - html_backlinks(); - break; - case 'conflict': - html_conflict(con($PRE,$TEXT,$SUF),$SUM); - html_diff(con($PRE,$TEXT,$SUF),false); - break; - case 'locked': - html_locked(); - html_edit(); - break; - case 'login': - html_login(); - break; - case 'register': - html_register(); - break; - case 'resendpwd': - html_resendpwd(); - break; - case 'denied': - print p_locale_xhtml('denied'); - break; - case 'profile' : - html_updateprofile(); - break; - case 'admin': - tpl_admin(); - break; - case 'subscribe': - tpl_subscribe(); - break; - default: - $evt = new Doku_Event('TPL_ACT_UNKNOWN',$ACT); - if ($evt->advise_before()) - msg("Failed to handle command: ".hsc($ACT),-1); - $evt->advise_after(); - unset($evt); - return false; - } - return true; + global $ACT; + global $TEXT; + global $PRE; + global $SUF; + global $SUM; + global $IDX; + + switch($ACT){ + case 'show': + html_show(); + break; + case 'preview': + html_edit($TEXT); + html_show($TEXT); + break; + case 'recover': + html_edit($TEXT); + break; + case 'edit': + html_edit(); + break; + case 'draft': + html_draft(); + break; + case 'wordblock': + html_edit($TEXT,'wordblock'); + break; + case 'search': + html_search(); + break; + case 'revisions': + $first = isset($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; + html_revisions($first); + break; + case 'diff': + html_diff(); + break; + case 'recent': + if (is_array($_REQUEST['first'])) { + $_REQUEST['first'] = array_keys($_REQUEST['first']); + $_REQUEST['first'] = $_REQUEST['first'][0]; + } + $first = is_numeric($_REQUEST['first']) ? intval($_REQUEST['first']) : 0; + html_recent($first); + break; + case 'index': + html_index($IDX); #FIXME can this be pulled from globals? is it sanitized correctly? + break; + case 'backlink': + html_backlinks(); + break; + case 'conflict': + html_conflict(con($PRE,$TEXT,$SUF),$SUM); + html_diff(con($PRE,$TEXT,$SUF),false); + break; + case 'locked': + html_locked(); + html_edit(); + break; + case 'login': + html_login(); + break; + case 'register': + html_register(); + break; + case 'resendpwd': + html_resendpwd(); + break; + case 'denied': + print p_locale_xhtml('denied'); + break; + case 'profile' : + html_updateprofile(); + break; + case 'admin': + tpl_admin(); + break; + case 'subscribe': + tpl_subscribe(); + break; + default: + $evt = new Doku_Event('TPL_ACT_UNKNOWN',$ACT); + if ($evt->advise_before()) + msg("Failed to handle command: ".hsc($ACT),-1); + $evt->advise_after(); + unset($evt); + return false; + } + return true; } /** @@ -183,13 +183,13 @@ function tpl_toc($return=false){ } } if ( ($plugin !== null) && - (!$plugin->forAdminOnly() || $INFO['isadmin']) ){ + (!$plugin->forAdminOnly() || $INFO['isadmin']) ){ $toc = $plugin->getTOC(); $TOC = $toc; // avoid later rebuild } } - trigger_event('TPL_TOC_RENDER', $toc, NULL, false); + trigger_event('TPL_TOC_RENDER', $toc, null, false); $html = html_TOC($toc); if($return) return $html; echo $html; @@ -210,8 +210,8 @@ function tpl_admin(){ if (in_array($_REQUEST['page'], $pluginlist)) { - // attempt to load the plugin - $plugin =& plugin_load('admin',$_REQUEST['page']); + // attempt to load the plugin + $plugin =& plugin_load('admin',$_REQUEST['page']); } } @@ -240,130 +240,129 @@ function tpl_admin(){ * @author Andreas Gohr */ function tpl_metaheaders($alt=true){ - global $ID; - global $REV; - global $INFO; - global $JSINFO; - global $ACT; - global $QUERY; - global $lang; - global $conf; - $it=2; - - // prepare the head array - $head = array(); - - // prepare seed for js and css - $tseed = 0; - $depends = getConfigFiles('main'); - foreach($depends as $f) { - $time = @filemtime($f); - if($time > $tseed) $tseed = $time; - } - - // the usual stuff - $head['meta'][] = array( 'name'=>'generator', 'content'=>'DokuWiki '.getVersion() ); - $head['link'][] = array( 'rel'=>'search', 'type'=>'application/opensearchdescription+xml', - 'href'=>DOKU_BASE.'lib/exe/opensearch.php', 'title'=>$conf['title'] ); - $head['link'][] = array( 'rel'=>'start', 'href'=>DOKU_BASE ); - if(actionOK('index')){ - $head['link'][] = array( 'rel'=>'contents', 'href'=> wl($ID,'do=index',false,'&'), - 'title'=>$lang['btn_index'] ); - } - - if($alt){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Recent Changes', 'href'=>DOKU_BASE.'feed.php'); - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Current Namespace', - 'href'=>DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace']); - if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']){ - $head['link'][] = array( 'rel'=>'edit', - 'title'=>$lang['btn_edit'], - 'href'=> wl($ID,'do=edit',false,'&')); - } + global $ID; + global $REV; + global $INFO; + global $JSINFO; + global $ACT; + global $QUERY; + global $lang; + global $conf; + $it=2; + + // prepare the head array + $head = array(); - if($ACT == 'search'){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', - 'title'=>'Search Result', - 'href'=>DOKU_BASE.'feed.php?mode=search&q='.$QUERY); + // prepare seed for js and css + $tseed = 0; + $depends = getConfigFiles('main'); + foreach($depends as $f) { + $time = @filemtime($f); + if($time > $tseed) $tseed = $time; } - if(actionOK('export_xhtml')){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/html', 'title'=>'Plain HTML', - 'href'=>exportlink($ID, 'xhtml', '', false, '&')); + // the usual stuff + $head['meta'][] = array( 'name'=>'generator', 'content'=>'DokuWiki '.getVersion() ); + $head['link'][] = array( 'rel'=>'search', 'type'=>'application/opensearchdescription+xml', + 'href'=>DOKU_BASE.'lib/exe/opensearch.php', 'title'=>$conf['title'] ); + $head['link'][] = array( 'rel'=>'start', 'href'=>DOKU_BASE ); + if(actionOK('index')){ + $head['link'][] = array( 'rel'=>'contents', 'href'=> wl($ID,'do=index',false,'&'), + 'title'=>$lang['btn_index'] ); } - if(actionOK('export_raw')){ - $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/plain', 'title'=>'Wiki Markup', - 'href'=>exportlink($ID, 'raw', '', false, '&')); + if($alt){ + $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', + 'title'=>'Recent Changes', 'href'=>DOKU_BASE.'feed.php'); + $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', + 'title'=>'Current Namespace', + 'href'=>DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace']); + if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']){ + $head['link'][] = array( 'rel'=>'edit', + 'title'=>$lang['btn_edit'], + 'href'=> wl($ID,'do=edit',false,'&')); + } + + if($ACT == 'search'){ + $head['link'][] = array( 'rel'=>'alternate', 'type'=>'application/rss+xml', + 'title'=>'Search Result', + 'href'=>DOKU_BASE.'feed.php?mode=search&q='.$QUERY); + } + + if(actionOK('export_xhtml')){ + $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/html', 'title'=>'Plain HTML', + 'href'=>exportlink($ID, 'xhtml', '', false, '&')); + } + + if(actionOK('export_raw')){ + $head['link'][] = array( 'rel'=>'alternate', 'type'=>'text/plain', 'title'=>'Wiki Markup', + 'href'=>exportlink($ID, 'raw', '', false, '&')); + } } - } - // setup robot tags apropriate for different modes - if( ($ACT=='show' || $ACT=='export_xhtml') && !$REV){ - if($INFO['exists']){ - //delay indexing: - if((time() - $INFO['lastmod']) >= $conf['indexdelay']){ + // setup robot tags apropriate for different modes + if( ($ACT=='show' || $ACT=='export_xhtml') && !$REV){ + if($INFO['exists']){ + //delay indexing: + if((time() - $INFO['lastmod']) >= $conf['indexdelay']){ + $head['meta'][] = array( 'name'=>'robots', 'content'=>'index,follow'); + }else{ + $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); + } + $head['link'][] = array( 'rel'=>'canonical', 'href'=>wl($ID,'',true,'&') ); + }else{ + $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,follow'); + } + }elseif(defined('DOKU_MEDIADETAIL')){ $head['meta'][] = array( 'name'=>'robots', 'content'=>'index,follow'); - }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); - } - $head['link'][] = array( 'rel'=>'canonical', 'href'=>wl($ID,'',true,'&') ); }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,follow'); + $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); } - }elseif(defined('DOKU_MEDIADETAIL')){ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'index,follow'); - }else{ - $head['meta'][] = array( 'name'=>'robots', 'content'=>'noindex,nofollow'); - } - - // set metadata - if($ACT == 'show' || $ACT=='export_xhtml'){ - // date of modification - if($REV){ - $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$REV)); - }else{ - $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$INFO['lastmod'])); + + // set metadata + if($ACT == 'show' || $ACT=='export_xhtml'){ + // date of modification + if($REV){ + $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$REV)); + }else{ + $head['meta'][] = array( 'name'=>'date', 'content'=>date('Y-m-d\TH:i:sO',$INFO['lastmod'])); + } + + // keywords (explicit or implicit) + if(!empty($INFO['meta']['subject'])){ + $head['meta'][] = array( 'name'=>'keywords', 'content'=>join(',',$INFO['meta']['subject'])); + }else{ + $head['meta'][] = array( 'name'=>'keywords', 'content'=>str_replace(':',',',$ID)); + } } - // keywords (explicit or implicit) - if(!empty($INFO['meta']['subject'])){ - $head['meta'][] = array( 'name'=>'keywords', 'content'=>join(',',$INFO['meta']['subject'])); - }else{ - $head['meta'][] = array( 'name'=>'keywords', 'content'=>str_replace(':',',',$ID)); + // load stylesheets + $head['link'][] = array('rel'=>'stylesheet', 'media'=>'screen', 'type'=>'text/css', + 'href'=>DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed); + $head['link'][] = array('rel'=>'stylesheet', 'media'=>'all', 'type'=>'text/css', + 'href'=>DOKU_BASE.'lib/exe/css.php?s=all&t='.$conf['template'].'&tseed='.$tseed); + $head['link'][] = array('rel'=>'stylesheet', 'media'=>'print', 'type'=>'text/css', + 'href'=>DOKU_BASE.'lib/exe/css.php?s=print&t='.$conf['template'].'&tseed='.$tseed); + + // make $INFO and other vars available to JavaScripts + require_once(DOKU_INC.'inc/JSON.php'); + $json = new JSON(); + $script = "var NS='".$INFO['namespace']."';"; + if($conf['useacl'] && $_SERVER['REMOTE_USER']){ + require_once(DOKU_INC.'inc/toolbar.php'); + $script .= "var SIG='".toolbar_signature()."';"; } - } - - // load stylesheets - $head['link'][] = array('rel'=>'stylesheet', 'media'=>'screen', 'type'=>'text/css', - 'href'=>DOKU_BASE.'lib/exe/css.php?t='.$conf['template'].'&tseed='.$tseed); - $head['link'][] = array('rel'=>'stylesheet', 'media'=>'all', 'type'=>'text/css', - 'href'=>DOKU_BASE.'lib/exe/css.php?s=all&t='.$conf['template'].'&tseed='.$tseed); - $head['link'][] = array('rel'=>'stylesheet', 'media'=>'print', 'type'=>'text/css', - 'href'=>DOKU_BASE.'lib/exe/css.php?s=print&t='.$conf['template'].'&tseed='.$tseed); - - // make $INFO and other vars available to JavaScripts - require_once(DOKU_INC.'inc/JSON.php'); - $json = new JSON(); - $script = "var NS='".$INFO['namespace']."';"; - if($conf['useacl'] && $_SERVER['REMOTE_USER']){ - require_once(DOKU_INC.'inc/toolbar.php'); - $script .= "var SIG='".toolbar_signature()."';"; - } - $script .= 'var JSINFO = '.$json->encode($JSINFO).';'; - $head['script'][] = array( 'type'=>'text/javascript', 'charset'=>'utf-8', - '_data'=> $script); - - // load external javascript - $head['script'][] = array( 'type'=>'text/javascript', 'charset'=>'utf-8', '_data'=>'', - 'src'=>DOKU_BASE.'lib/exe/js.php'.'?tseed='.$tseed); - - - // trigger event here - trigger_event('TPL_METAHEADER_OUTPUT',$head,'_tpl_metaheaders_action',true); - return true; + $script .= 'var JSINFO = '.$json->encode($JSINFO).';'; + $head['script'][] = array( 'type'=>'text/javascript', 'charset'=>'utf-8', + '_data'=> $script); + + // load external javascript + $head['script'][] = array( 'type'=>'text/javascript', 'charset'=>'utf-8', '_data'=>'', + 'src'=>DOKU_BASE.'lib/exe/js.php'.'?tseed='.$tseed); + + // trigger event here + trigger_event('TPL_METAHEADER_OUTPUT',$head,'_tpl_metaheaders_action',true); + return true; } /** @@ -379,22 +378,22 @@ function tpl_metaheaders($alt=true){ * @author Andreas Gohr */ function _tpl_metaheaders_action($data){ - foreach($data as $tag => $inst){ - foreach($inst as $attr){ - echo '<',$tag,' ',buildAttributes($attr); - if(isset($attr['_data']) || $tag == 'script'){ - if($tag == 'script' && $attr['_data']) - $attr['_data'] = ""; - - echo '>',$attr['_data'],''; - }else{ - echo '/>'; - } - echo "\n"; + foreach($data as $tag => $inst){ + foreach($inst as $attr){ + echo '<',$tag,' ',buildAttributes($attr); + if(isset($attr['_data']) || $tag == 'script'){ + if($tag == 'script' && $attr['_data']) + $attr['_data'] = ""; + + echo '>',$attr['_data'],''; + }else{ + echo '/>'; + } + echo "\n"; + } } - } } /** @@ -405,12 +404,12 @@ function _tpl_metaheaders_action($data){ * @author Andreas Gohr */ function tpl_link($url,$name,$more='',$return=false){ - $out = ' */ -function tpl_pagelink($id,$name=NULL){ - print html_wikilink($id,$name); - return true; +function tpl_pagelink($id,$name=null){ + print html_wikilink($id,$name); + return true; } /** @@ -434,16 +433,16 @@ function tpl_pagelink($id,$name=NULL){ * @author Andreas Gohr */ function tpl_getparent($id){ - global $conf; - $parent = getNS($id).':'; - resolve_pageid('',$parent,$exists); - if($parent == $id) { - $pos = strrpos (getNS($id),':'); - $parent = substr($parent,0,$pos).':'; + global $conf; + $parent = getNS($id).':'; resolve_pageid('',$parent,$exists); - if($parent == $id) return false; - } - return $parent; + if($parent == $id) { + $pos = strrpos (getNS($id),':'); + $parent = substr($parent,0,$pos).':'; + resolve_pageid('',$parent,$exists); + if($parent == $id) return false; + } + return $parent; } /** @@ -467,105 +466,105 @@ function tpl_getparent($id){ * @author Matthias Grimm */ function tpl_button($type,$return=false){ - global $ACT; - global $ID; - global $REV; - global $NS; - global $INFO; - global $conf; - global $auth; - - // check disabled actions and fix the badly named ones - $ctype = $type; - if($type == 'history') $ctype='revisions'; - if(!actionOK($ctype)) return false; - - $out = ''; - switch($type){ - case 'edit': - #most complicated type - we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])){ - $out .= html_btn('draft',$ID,'e',array('do' => 'draft'),'post'); - }else{ - if($INFO['exists']){ - $out .= html_btn('edit',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); + global $ACT; + global $ID; + global $REV; + global $NS; + global $INFO; + global $conf; + global $auth; + + // check disabled actions and fix the badly named ones + $ctype = $type; + if($type == 'history') $ctype='revisions'; + if(!actionOK($ctype)) return false; + + $out = ''; + switch($type){ + case 'edit': + // most complicated type - we need to decide on current action + if($ACT == 'show' || $ACT == 'search'){ + if($INFO['writable']){ + if(!empty($INFO['draft'])){ + $out .= html_btn('draft',$ID,'e',array('do' => 'draft'),'post'); + }else{ + if($INFO['exists']){ + $out .= html_btn('edit',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); + }else{ + $out .= html_btn('create',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); + } + } + }else{ + if(!actionOK('source')) return false; //pseudo action + $out .= html_btn('source',$ID,'v',array('do' => 'edit','rev' => $REV),'post'); + } }else{ - $out .= html_btn('create',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); + $out .= html_btn('show',$ID,'v',array('do' => 'show')); } - } - }else{ - if(!actionOK('source')) return false; //pseudo action - $out .= html_btn('source',$ID,'v',array('do' => 'edit','rev' => $REV),'post'); - } - }else{ - $out .= html_btn('show',$ID,'v',array('do' => 'show')); - } - break; - case 'history': - if(actionOK('revisions')) - $out .= html_btn('revs',$ID,'o',array('do' => 'revisions')); - break; - case 'recent': - if(actionOK('recent')) - $out .= html_btn('recent',$ID,'r',array('do' => 'recent')); - break; - case 'index': - if(actionOK('index')) - $out .= html_btn('index',$ID,'x',array('do' => 'index')); - break; - case 'back': - if ($parent = tpl_getparent($ID)) { - $out .= html_btn('back',$parent,'b',array('do' => 'show')); - } - break; - case 'top': - $out .= html_topbtn(); - break; - case 'login': - if($conf['useacl'] && $auth){ - if(isset($_SERVER['REMOTE_USER'])){ - $out .= html_btn('logout',$ID,'',array('do' => 'logout', 'sectok' => getSecurityToken())); - }else{ - $out .= html_btn('login',$ID,'',array('do' => 'login', 'sectok' => getSecurityToken())); - } - } - break; - case 'admin': - if($INFO['ismanager']){ - $out .= html_btn('admin',$ID,'',array('do' => 'admin')); - } - break; - case 'revert': - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - $out .= html_btn('revert',$ID,'',array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())); - } - break; - case 'subscribe': - if ($conf['useacl'] && $auth && $ACT == 'show' && - $conf['subscribers'] && isset($_SERVER['REMOTE_USER']) && - actionOK('subscribe')) { - $out .= html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); - } - break; - case 'backlink': - if(actionOK('backlink')) - $out .= html_btn('backlink',$ID,'',array('do' => 'backlink')); - break; - case 'profile': - if($conf['useacl'] && isset($_SERVER['REMOTE_USER']) && $auth && - $auth->canDo('Profile') && ($ACT!='profile')){ - $out .= html_btn('profile',$ID,'',array('do' => 'profile')); - } - break; - default: - $out .= '[unknown button type]'; - break; - } - if ($return) return $out; - print $out; - return $out ? true : false; + break; + case 'history': + if(actionOK('revisions')) + $out .= html_btn('revs',$ID,'o',array('do' => 'revisions')); + break; + case 'recent': + if(actionOK('recent')) + $out .= html_btn('recent',$ID,'r',array('do' => 'recent')); + break; + case 'index': + if(actionOK('index')) + $out .= html_btn('index',$ID,'x',array('do' => 'index')); + break; + case 'back': + if ($parent = tpl_getparent($ID)) { + $out .= html_btn('back',$parent,'b',array('do' => 'show')); + } + break; + case 'top': + $out .= html_topbtn(); + break; + case 'login': + if($conf['useacl'] && $auth){ + if(isset($_SERVER['REMOTE_USER'])){ + $out .= html_btn('logout',$ID,'',array('do' => 'logout', 'sectok' => getSecurityToken())); + }else{ + $out .= html_btn('login',$ID,'',array('do' => 'login', 'sectok' => getSecurityToken())); + } + } + break; + case 'admin': + if($INFO['ismanager']){ + $out .= html_btn('admin',$ID,'',array('do' => 'admin')); + } + break; + case 'revert': + if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ + $out .= html_btn('revert',$ID,'',array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())); + } + break; + case 'subscribe': + if ($conf['useacl'] && $auth && $ACT == 'show' && + $conf['subscribers'] && isset($_SERVER['REMOTE_USER']) && + actionOK('subscribe')) { + $out .= html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); + } + break; + case 'backlink': + if(actionOK('backlink')) + $out .= html_btn('backlink',$ID,'',array('do' => 'backlink')); + break; + case 'profile': + if($conf['useacl'] && isset($_SERVER['REMOTE_USER']) && $auth && + $auth->canDo('Profile') && ($ACT!='profile')){ + $out .= html_btn('profile',$ID,'',array('do' => 'profile')); + } + break; + default: + $out .= '[unknown button type]'; + break; + } + if ($return) return $out; + print $out; + return $out ? true : false; } /** @@ -590,140 +589,140 @@ function tpl_button($type,$return=false){ * @see tpl_button */ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ - global $ID; - global $INFO; - global $REV; - global $ACT; - global $conf; - global $lang; - global $auth; - - // check disabled actions and fix the badly named ones - $ctype = $type; - if($type == 'history') $ctype='revisions'; - if(!actionOK($ctype)) return false; - - $out = ''; - switch($type){ - case 'edit': - #most complicated type - we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])) { - $out .= tpl_link(wl($ID,'do=draft'), - $pre.(($inner)?$inner:$lang['btn_draft']).$suf, - 'class="action edit" accesskey="e" rel="nofollow"',1); - } else { - if($INFO['exists']){ - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_edit']).$suf, - 'class="action edit" accesskey="e" rel="nofollow"',1); + global $ID; + global $INFO; + global $REV; + global $ACT; + global $conf; + global $lang; + global $auth; + + // check disabled actions and fix the badly named ones + $ctype = $type; + if($type == 'history') $ctype='revisions'; + if(!actionOK($ctype)) return false; + + $out = ''; + switch($type){ + case 'edit': + // most complicated type - we need to decide on current action + if($ACT == 'show' || $ACT == 'search'){ + if($INFO['writable']){ + if(!empty($INFO['draft'])) { + $out .= tpl_link(wl($ID,'do=draft'), + $pre.(($inner)?$inner:$lang['btn_draft']).$suf, + 'class="action edit" accesskey="e" rel="nofollow"',1); + } else { + if($INFO['exists']){ + $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), + $pre.(($inner)?$inner:$lang['btn_edit']).$suf, + 'class="action edit" accesskey="e" rel="nofollow"',1); + }else{ + $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), + $pre.(($inner)?$inner:$lang['btn_create']).$suf, + 'class="action create" accesskey="e" rel="nofollow"',1); + } + } + }else{ + if(actionOK('source')) //pseudo action + $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), + $pre.(($inner)?$inner:$lang['btn_source']).$suf, + 'class="action source" accesskey="v" rel="nofollow"',1); + } }else{ - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_create']).$suf, - 'class="action create" accesskey="e" rel="nofollow"',1); + $out .= tpl_link(wl($ID,'do=show'), + $pre.(($inner)?$inner:$lang['btn_show']).$suf, + 'class="action show" accesskey="v" rel="nofollow"',1); } - } - }else{ - if(actionOK('source')) //pseudo action - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_source']).$suf, - 'class="action source" accesskey="v" rel="nofollow"',1); - } - }else{ - $out .= tpl_link(wl($ID,'do=show'), - $pre.(($inner)?$inner:$lang['btn_show']).$suf, - 'class="action show" accesskey="v" rel="nofollow"',1); - } - break; - case 'history': - if(actionOK('revisions')) - $out .= tpl_link(wl($ID,'do=revisions'), - $pre.(($inner)?$inner:$lang['btn_revs']).$suf, - 'class="action revisions" accesskey="o" rel="nofollow"',1); - break; - case 'recent': - if(actionOK('recent')) - $out .= tpl_link(wl($ID,'do=recent'), - $pre.(($inner)?$inner:$lang['btn_recent']).$suf, - 'class="action recent" accesskey="r" rel="nofollow"',1); - break; - case 'index': - if(actionOK('index')) - $out .= tpl_link(wl($ID,'do=index'), - $pre.(($inner)?$inner:$lang['btn_index']).$suf, - 'class="action index" accesskey="x" rel="nofollow"',1); - break; - case 'top': - $out .= ''. - $pre.(($inner)?$inner:$lang['btn_top']).$suf.''; - break; - case 'back': - if ($parent = tpl_getparent($ID)) { - $out .= tpl_link(wl($parent,'do=show'), - $pre.(($inner)?$inner:$lang['btn_back']).$suf, - 'class="action back" accesskey="b" rel="nofollow"',1); - } - break; - case 'login': - if($conf['useacl'] && $auth){ - if($_SERVER['REMOTE_USER']){ - $out .= tpl_link(wl($ID,'do=logout&sectok='.getSecurityToken()), - $pre.(($inner)?$inner:$lang['btn_logout']).$suf, - 'class="action logout" rel="nofollow"',1); - }else{ - $out .= tpl_link(wl($ID,'do=login&sectok='.getSecurityToken()), - $pre.(($inner)?$inner:$lang['btn_login']).$suf, - 'class="action login" rel="nofollow"',1); - } - } - break; - case 'admin': - if($INFO['ismanager']){ - $out .= tpl_link(wl($ID,'do=admin'), - $pre.(($inner)?$inner:$lang['btn_admin']).$suf, - 'class="action admin" rel="nofollow"',1); - } - break; - case 'revert': - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - $out .= tpl_link(wl($ID,array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())), - $pre.(($inner)?$inner:$lang['btn_revert']).$suf, - 'class="action revert" rel="nofollow"',1); - } - break; - case 'subscribe': - case 'subscription': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']) { - if($_SERVER['REMOTE_USER']){ - if(actionOK('subscribe')) - $out .= tpl_link(wl($ID,'do=subscribe'), - $pre.(($inner)?$inner:$lang['btn_subscribe']).$suf, - 'class="action subscribe" rel="nofollow"',1); - } - } - break; - case 'backlink': - if(actionOK('backlink')) - $out .= tpl_link(wl($ID,'do=backlink'), - $pre.(($inner)?$inner:$lang['btn_backlink']).$suf, - 'class="action backlink" rel="nofollow"',1); - break; - case 'profile': - if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && - $auth->canDo('Profile') && ($ACT!='profile')){ - $out .= tpl_link(wl($ID,'do=profile'), - $pre.(($inner)?$inner:$lang['btn_profile']).$suf, - 'class="action profile" rel="nofollow"',1); - } - break; - default: - $out .= '[unknown link type]'; - break; - } - if ($return) return $out; - print $out; - return $out ? true : false; + break; + case 'history': + if(actionOK('revisions')) + $out .= tpl_link(wl($ID,'do=revisions'), + $pre.(($inner)?$inner:$lang['btn_revs']).$suf, + 'class="action revisions" accesskey="o" rel="nofollow"',1); + break; + case 'recent': + if(actionOK('recent')) + $out .= tpl_link(wl($ID,'do=recent'), + $pre.(($inner)?$inner:$lang['btn_recent']).$suf, + 'class="action recent" accesskey="r" rel="nofollow"',1); + break; + case 'index': + if(actionOK('index')) + $out .= tpl_link(wl($ID,'do=index'), + $pre.(($inner)?$inner:$lang['btn_index']).$suf, + 'class="action index" accesskey="x" rel="nofollow"',1); + break; + case 'top': + $out .= ''. + $pre.(($inner)?$inner:$lang['btn_top']).$suf.''; + break; + case 'back': + if ($parent = tpl_getparent($ID)) { + $out .= tpl_link(wl($parent,'do=show'), + $pre.(($inner)?$inner:$lang['btn_back']).$suf, + 'class="action back" accesskey="b" rel="nofollow"',1); + } + break; + case 'login': + if($conf['useacl'] && $auth){ + if($_SERVER['REMOTE_USER']){ + $out .= tpl_link(wl($ID,'do=logout&sectok='.getSecurityToken()), + $pre.(($inner)?$inner:$lang['btn_logout']).$suf, + 'class="action logout" rel="nofollow"',1); + }else{ + $out .= tpl_link(wl($ID,'do=login&sectok='.getSecurityToken()), + $pre.(($inner)?$inner:$lang['btn_login']).$suf, + 'class="action login" rel="nofollow"',1); + } + } + break; + case 'admin': + if($INFO['ismanager']){ + $out .= tpl_link(wl($ID,'do=admin'), + $pre.(($inner)?$inner:$lang['btn_admin']).$suf, + 'class="action admin" rel="nofollow"',1); + } + break; + case 'revert': + if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ + $out .= tpl_link(wl($ID,array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())), + $pre.(($inner)?$inner:$lang['btn_revert']).$suf, + 'class="action revert" rel="nofollow"',1); + } + break; + case 'subscribe': + case 'subscription': + if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']) { + if($_SERVER['REMOTE_USER']){ + if(actionOK('subscribe')) + $out .= tpl_link(wl($ID,'do=subscribe'), + $pre.(($inner)?$inner:$lang['btn_subscribe']).$suf, + 'class="action subscribe" rel="nofollow"',1); + } + } + break; + case 'backlink': + if(actionOK('backlink')) + $out .= tpl_link(wl($ID,'do=backlink'), + $pre.(($inner)?$inner:$lang['btn_backlink']).$suf, + 'class="action backlink" rel="nofollow"',1); + break; + case 'profile': + if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && + $auth->canDo('Profile') && ($ACT!='profile')){ + $out .= tpl_link(wl($ID,'do=profile'), + $pre.(($inner)?$inner:$lang['btn_profile']).$suf, + 'class="action profile" rel="nofollow"',1); + } + break; + default: + $out .= '[unknown link type]'; + break; + } + if ($return) return $out; + print $out; + return $out ? true : false; } /** @@ -755,23 +754,23 @@ function tpl_action($type,$link=0,$wrapper=false,$return=false,$pre='',$suf='',$ * @author Andreas Gohr */ function tpl_searchform($ajax=true,$autocomplete=true){ - global $lang; - global $ACT; - global $QUERY; - - // don't print the search form if search action has been disabled - if (!actionOk('search')) return false; - - print ''; - return true; + global $lang; + global $ACT; + global $QUERY; + + // don't print the search form if search action has been disabled + if (!actionOk('search')) return false; + + print ''; + return true; } /** @@ -780,34 +779,34 @@ function tpl_searchform($ajax=true,$autocomplete=true){ * @author Andreas Gohr */ function tpl_breadcrumbs($sep='»'){ - global $lang; - global $conf; - - //check if enabled - if(!$conf['breadcrumbs']) return false; - - $crumbs = breadcrumbs(); //setup crumb trace - - //reverse crumborder in right-to-left mode, add RLM character to fix heb/eng display mixups - if($lang['direction'] == 'rtl') { - $crumbs = array_reverse($crumbs,true); - $crumbs_sep = ' ‏'.$sep.'‏ '; - } else { - $crumbs_sep = ' '.$sep.' '; - } - - //render crumbs, highlight the last one - print ''.$lang['breadcrumb'].':'; - $last = count($crumbs); - $i = 0; - foreach ($crumbs as $id => $name){ - $i++; - echo $crumbs_sep; - if ($i == $last) print ''; - tpl_link(wl($id),hsc($name),'class="breadcrumbs" title="'.$id.'"'); - if ($i == $last) print ''; - } - return true; + global $lang; + global $conf; + + //check if enabled + if(!$conf['breadcrumbs']) return false; + + $crumbs = breadcrumbs(); //setup crumb trace + + //reverse crumborder in right-to-left mode, add RLM character to fix heb/eng display mixups + if($lang['direction'] == 'rtl') { + $crumbs = array_reverse($crumbs,true); + $crumbs_sep = ' ‏'.$sep.'‏ '; + } else { + $crumbs_sep = ' '.$sep.' '; + } + + //render crumbs, highlight the last one + print ''.$lang['breadcrumb'].':'; + $last = count($crumbs); + $i = 0; + foreach ($crumbs as $id => $name){ + $i++; + echo $crumbs_sep; + if ($i == $last) print ''; + tpl_link(wl($id),hsc($name),'class="breadcrumbs" title="'.$id.'"'); + if ($i == $last) print ''; + } + return true; } /** @@ -823,59 +822,59 @@ function tpl_breadcrumbs($sep='»'){ * @todo May behave strangely in RTL languages */ function tpl_youarehere($sep=' » '){ - global $conf; - global $ID; - global $lang; - - // check if enabled - if(!$conf['youarehere']) return false; - - $parts = explode(':', $ID); - $count = count($parts); - - if($GLOBALS['ACT'] == 'search') - { - $parts = array($conf['start']); - $count = 1; - } - - echo ''.$lang['youarehere'].': '; - - // always print the startpage - $title = useHeading('navigation') ? p_get_first_heading($conf['start']) : $conf['start']; - if(!$title) $title = $conf['start']; - tpl_link(wl($conf['start']),hsc($title),'title="'.$conf['start'].'"'); - - // print intermediate namespace links - $part = ''; - for($i=0; $i<$count - 1; $i++){ - $part .= $parts[$i].':'; - $page = $part; - resolve_pageid('',$page,$exists); - if ($page == $conf['start']) continue; // Skip startpage - - // output + global $conf; + global $ID; + global $lang; + + // check if enabled + if(!$conf['youarehere']) return false; + + $parts = explode(':', $ID); + $count = count($parts); + + if($GLOBALS['ACT'] == 'search') + { + $parts = array($conf['start']); + $count = 1; + } + + echo ''.$lang['youarehere'].': '; + + // always print the startpage + $title = useHeading('navigation') ? p_get_first_heading($conf['start']) : $conf['start']; + if(!$title) $title = $conf['start']; + tpl_link(wl($conf['start']),hsc($title),'title="'.$conf['start'].'"'); + + // print intermediate namespace links + $part = ''; + for($i=0; $i<$count - 1; $i++){ + $part .= $parts[$i].':'; + $page = $part; + resolve_pageid('',$page,$exists); + if ($page == $conf['start']) continue; // Skip startpage + + // output + echo $sep; + if($exists){ + $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; + tpl_link(wl($page),hsc($title),'title="'.$page.'"'); + }else{ + tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); + } + } + + // print current page, skipping start page, skipping for namespace index + if(isset($page) && $page==$part.$parts[$i]) return; + $page = $part.$parts[$i]; + if($page == $conf['start']) return; echo $sep; - if($exists){ - $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; - tpl_link(wl($page),hsc($title),'title="'.$page.'"'); + if(page_exists($page)){ + $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; + tpl_link(wl($page),hsc($title),'title="'.$page.'"'); }else{ - tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); + tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); } - } - - // print current page, skipping start page, skipping for namespace index - if(isset($page) && $page==$part.$parts[$i]) return; - $page = $part.$parts[$i]; - if($page == $conf['start']) return; - echo $sep; - if(page_exists($page)){ - $title = useHeading('navigation') ? p_get_first_heading($page) : $parts[$i]; - tpl_link(wl($page),hsc($title),'title="'.$page.'"'); - }else{ - tpl_link(wl($page),$parts[$i],'title="'.$page.'" class="wikilink2" rel="nofollow"'); - } - return true; + return true; } /** @@ -887,98 +886,98 @@ function tpl_youarehere($sep=' » '){ * @author Andreas Gohr */ function tpl_userinfo(){ - global $lang; - global $INFO; - if(isset($_SERVER['REMOTE_USER'])){ - print $lang['loggedinas'].': '.$INFO['userinfo']['name'].' ('.$_SERVER['REMOTE_USER'].')'; - return true; - } - return false; -} + global $lang; + global $INFO; + if(isset($_SERVER['REMOTE_USER'])){ + print $lang['loggedinas'].': '.$INFO['userinfo']['name'].' ('.$_SERVER['REMOTE_USER'].')'; + return true; + } + return false; + } -/** - * Print some info about the current page - * - * @author Andreas Gohr - */ -function tpl_pageinfo($ret=false){ - global $conf; - global $lang; - global $INFO; - global $ID; - - // return if we are not allowed to view the page - if (!auth_quickaclcheck($ID)) { return false; } - - // prepare date and path - $fn = $INFO['filepath']; - if(!$conf['fullpath']){ - if($INFO['rev']){ - $fn = str_replace(fullpath($conf['olddir']).'/','',$fn); - }else{ - $fn = str_replace(fullpath($conf['datadir']).'/','',$fn); + /** + * Print some info about the current page + * + * @author Andreas Gohr + */ + function tpl_pageinfo($ret=false){ + global $conf; + global $lang; + global $INFO; + global $ID; + + // return if we are not allowed to view the page + if (!auth_quickaclcheck($ID)) { return false; } + + // prepare date and path + $fn = $INFO['filepath']; + if(!$conf['fullpath']){ + if($INFO['rev']){ + $fn = str_replace(fullpath($conf['olddir']).'/','',$fn); + }else{ + $fn = str_replace(fullpath($conf['datadir']).'/','',$fn); + } + } + $fn = utf8_decodeFN($fn); + $date = dformat($INFO['lastmod']); + + // print it + if($INFO['exists']){ + $out = ''; + $out .= $fn; + $out .= ' · '; + $out .= $lang['lastmod']; + $out .= ': '; + $out .= $date; + if($INFO['editor']){ + $out .= ' '.$lang['by'].' '; + $out .= editorinfo($INFO['editor']); + }else{ + $out .= ' ('.$lang['external_edit'].')'; + } + if($INFO['locked']){ + $out .= ' · '; + $out .= $lang['lockedby']; + $out .= ': '; + $out .= editorinfo($INFO['locked']); + } + if($ret){ + return $out; + }else{ + echo $out; + return true; + } + } + return false; + } + + /** + * Prints or returns the name of the given page (current one if none given). + * + * If useheading is enabled this will use the first headline else + * the given ID is used. + * + * @author Andreas Gohr + */ +function tpl_pagetitle($id=null, $ret=false){ + global $conf; + if(is_null($id)){ + global $ID; + $id = $ID; } - } - $fn = utf8_decodeFN($fn); - $date = dformat($INFO['lastmod']); - // print it - if($INFO['exists']){ - $out = ''; - $out .= $fn; - $out .= ' · '; - $out .= $lang['lastmod']; - $out .= ': '; - $out .= $date; - if($INFO['editor']){ - $out .= ' '.$lang['by'].' '; - $out .= editorinfo($INFO['editor']); - }else{ - $out .= ' ('.$lang['external_edit'].')'; - } - if($INFO['locked']){ - $out .= ' · '; - $out .= $lang['lockedby']; - $out .= ': '; - $out .= editorinfo($INFO['locked']); + $name = $id; + if (useHeading('navigation')) { + $title = p_get_first_heading($id); + if ($title) $name = $title; } - if($ret){ - return $out; - }else{ - echo $out; + + if ($ret) { + return hsc($name); + } else { + print hsc($name); return true; } - } - return false; -} - -/** - * Prints or returns the name of the given page (current one if none given). - * - * If useheading is enabled this will use the first headline else - * the given ID is used. - * - * @author Andreas Gohr - */ -function tpl_pagetitle($id=null, $ret=false){ - global $conf; - if(is_null($id)){ - global $ID; - $id = $ID; - } - - $name = $id; - if (useHeading('navigation')) { - $title = p_get_first_heading($id); - if ($title) $name = $title; - } - - if ($ret) { - return hsc($name); - } else { - print hsc($name); - return true; - } } /** @@ -996,17 +995,17 @@ function tpl_pagetitle($id=null, $ret=false){ * @author Andreas Gohr */ function tpl_img_getTag($tags,$alt='',$src=null){ - // Init Exif Reader - global $SRC; + // Init Exif Reader + global $SRC; - if(is_null($src)) $src = $SRC; + if(is_null($src)) $src = $SRC; - static $meta = null; - if(is_null($meta)) $meta = new JpegMeta($src); - if($meta === false) return $alt; - $info = $meta->getField($tags); - if($info == false) return $alt; - return $info; + static $meta = null; + if(is_null($meta)) $meta = new JpegMeta($src); + if($meta === false) return $alt; + $info = $meta->getField($tags); + if($info == false) return $alt; + return $info; } /** @@ -1015,52 +1014,52 @@ function tpl_img_getTag($tags,$alt='',$src=null){ * Only allowed in: detail.php */ function tpl_img($maxwidth=0,$maxheight=0){ - global $IMG; - $w = tpl_img_getTag('File.Width'); - $h = tpl_img_getTag('File.Height'); - - //resize to given max values - $ratio = 1; - if($w >= $h){ - if($maxwidth && $w >= $maxwidth){ - $ratio = $maxwidth/$w; - }elseif($maxheight && $h > $maxheight){ - $ratio = $maxheight/$h; + global $IMG; + $w = tpl_img_getTag('File.Width'); + $h = tpl_img_getTag('File.Height'); + + //resize to given max values + $ratio = 1; + if($w >= $h){ + if($maxwidth && $w >= $maxwidth){ + $ratio = $maxwidth/$w; + }elseif($maxheight && $h > $maxheight){ + $ratio = $maxheight/$h; + } + }else{ + if($maxheight && $h >= $maxheight){ + $ratio = $maxheight/$h; + }elseif($maxwidth && $w > $maxwidth){ + $ratio = $maxwidth/$w; + } + } + if($ratio){ + $w = floor($ratio*$w); + $h = floor($ratio*$h); } - }else{ - if($maxheight && $h >= $maxheight){ - $ratio = $maxheight/$h; - }elseif($maxwidth && $w > $maxwidth){ - $ratio = $maxwidth/$w; + + //prepare URLs + $url=ml($IMG,array('cache'=>$_REQUEST['cache'])); + $src=ml($IMG,array('cache'=>$_REQUEST['cache'],'w'=>$w,'h'=>$h)); + + //prepare attributes + $alt=tpl_img_getTag('Simple.Title'); + $p = array(); + if($w) $p['width'] = $w; + if($h) $p['height'] = $h; + $p['class'] = 'img_detail'; + if($alt){ + $p['alt'] = $alt; + $p['title'] = $alt; + }else{ + $p['alt'] = ''; } - } - if($ratio){ - $w = floor($ratio*$w); - $h = floor($ratio*$h); - } - - //prepare URLs - $url=ml($IMG,array('cache'=>$_REQUEST['cache'])); - $src=ml($IMG,array('cache'=>$_REQUEST['cache'],'w'=>$w,'h'=>$h)); - - //prepare attributes - $alt=tpl_img_getTag('Simple.Title'); - $p = array(); - if($w) $p['width'] = $w; - if($h) $p['height'] = $h; - $p['class'] = 'img_detail'; - if($alt){ - $p['alt'] = $alt; - $p['title'] = $alt; - }else{ - $p['alt'] = ''; - } - $p = buildAttributes($p); - - print ''; - print ''; - print ''; - return true; + $p = buildAttributes($p); + + print ''; + print ''; + print ''; + return true; } /** @@ -1071,21 +1070,21 @@ function tpl_img($maxwidth=0,$maxheight=0){ * template */ function tpl_indexerWebBug(){ - global $ID; - global $INFO; - if(!$INFO['exists']) return false; - - if(isHiddenPage($ID)) return false; //no need to index hidden pages - - $p = array(); - $p['src'] = DOKU_BASE.'lib/exe/indexer.php?id='.rawurlencode($ID). - '&'.time(); - $p['width'] = 1; - $p['height'] = 1; - $p['alt'] = ''; - $att = buildAttributes($p); - print ""; - return true; + global $ID; + global $INFO; + if(!$INFO['exists']) return false; + + if(isHiddenPage($ID)) return false; //no need to index hidden pages + + $p = array(); + $p['src'] = DOKU_BASE.'lib/exe/indexer.php?id='.rawurlencode($ID). + '&'.time(); + $p['width'] = 1; + $p['height'] = 1; + $p['alt'] = ''; + $att = buildAttributes($p); + print ""; + return true; } // configuration methods @@ -1095,23 +1094,23 @@ function tpl_indexerWebBug(){ * use this function to access template configuration variables */ function tpl_getConf($id){ - global $conf; - global $tpl_configloaded; - - $tpl = $conf['template']; - - if (!$tpl_configloaded){ - $tconf = tpl_loadConfig(); - if ($tconf !== false){ - foreach ($tconf as $key => $value){ - if (isset($conf['tpl'][$tpl][$key])) continue; - $conf['tpl'][$tpl][$key] = $value; - } - $tpl_configloaded = true; + global $conf; + global $tpl_configloaded; + + $tpl = $conf['template']; + + if (!$tpl_configloaded){ + $tconf = tpl_loadConfig(); + if ($tconf !== false){ + foreach ($tconf as $key => $value){ + if (isset($conf['tpl'][$tpl][$key])) continue; + $conf['tpl'][$tpl][$key] = $value; + } + $tpl_configloaded = true; + } } - } - return $conf['tpl'][$tpl][$id]; + return $conf['tpl'][$tpl][$id]; } /** @@ -1121,15 +1120,15 @@ function tpl_getConf($id){ */ function tpl_loadConfig(){ - $file = DOKU_TPLINC.'/conf/default.php'; - $conf = array(); + $file = DOKU_TPLINC.'/conf/default.php'; + $conf = array(); - if (!@file_exists($file)) return false; + if (!@file_exists($file)) return false; - // load default config file - include($file); + // load default config file + include($file); - return $conf; + return $conf; } /** @@ -1146,50 +1145,50 @@ function tpl_loadConfig(){ * @author Andreas Gohr */ function tpl_mediaContent($fromajax=false){ - global $IMG; - global $AUTH; - global $INUSE; - global $NS; - global $JUMPTO; - - if(is_array($_REQUEST['do'])){ - $do = array_shift(array_keys($_REQUEST['do'])); - }else{ - $do = $_REQUEST['do']; - } - if(in_array($do,array('save','cancel'))) $do = ''; - - if(!$do){ - if($_REQUEST['edit']){ - $do = 'metaform'; - }elseif(is_array($INUSE)){ - $do = 'filesinuse'; - }else{ - $do = 'filelist'; - } - } - - // output the content pane, wrapped in an event. - if(!$fromajax) ptln('
'); - $data = array( 'do' => $do); - $evt = new Doku_Event('MEDIAMANAGER_CONTENT_OUTPUT', $data); - if ($evt->advise_before()) { - $do = $data['do']; - if($do == 'metaform'){ - media_metaform($IMG,$AUTH); - }elseif($do == 'filesinuse'){ - media_filesinuse($INUSE,$IMG); - }elseif($do == 'filelist'){ - media_filelist($NS,$AUTH,$JUMPTO); - }elseif($do == 'searchlist'){ - media_searchlist($_REQUEST['q'],$NS,$AUTH); + global $IMG; + global $AUTH; + global $INUSE; + global $NS; + global $JUMPTO; + + if(is_array($_REQUEST['do'])){ + $do = array_shift(array_keys($_REQUEST['do'])); }else{ - msg('Unknown action '.hsc($do),-1); + $do = $_REQUEST['do']; + } + if(in_array($do,array('save','cancel'))) $do = ''; + + if(!$do){ + if($_REQUEST['edit']){ + $do = 'metaform'; + }elseif(is_array($INUSE)){ + $do = 'filesinuse'; + }else{ + $do = 'filelist'; + } + } + + // output the content pane, wrapped in an event. + if(!$fromajax) ptln('
'); + $data = array( 'do' => $do); + $evt = new Doku_Event('MEDIAMANAGER_CONTENT_OUTPUT', $data); + if ($evt->advise_before()) { + $do = $data['do']; + if($do == 'metaform'){ + media_metaform($IMG,$AUTH); + }elseif($do == 'filesinuse'){ + media_filesinuse($INUSE,$IMG); + }elseif($do == 'filelist'){ + media_filelist($NS,$AUTH,$JUMPTO); + }elseif($do == 'searchlist'){ + media_searchlist($_REQUEST['q'],$NS,$AUTH); + }else{ + msg('Unknown action '.hsc($do),-1); + } } - } - $evt->advise_after(); - unset($evt); - if(!$fromajax) ptln('
'); + $evt->advise_after(); + unset($evt); + if(!$fromajax) ptln('
'); } @@ -1201,11 +1200,11 @@ function tpl_mediaContent($fromajax=false){ * @author Andreas Gohr */ function tpl_mediaTree(){ - global $NS; + global $NS; - ptln('
'); - media_nstree($NS); - ptln('
'); + ptln('
'); + media_nstree($NS); + ptln('
'); } @@ -1225,9 +1224,8 @@ function tpl_actiondropdown($empty='',$button='>'){ global $lang; global $auth; - echo '
'; #FIXME action - echo ''; + echo ''; if($REV) echo ''; echo ''; @@ -1235,60 +1233,60 @@ function tpl_actiondropdown($empty='',$button='>'){ echo ''; echo ''; - // 'edit' - most complicated type, we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])) { - echo ''; - } else { - if($INFO['exists']){ - echo ''; - }else{ - echo ''; - } + // 'edit' - most complicated type, we need to decide on current action + if($ACT == 'show' || $ACT == 'search'){ + if($INFO['writable']){ + if(!empty($INFO['draft'])) { + echo ''; + } else { + if($INFO['exists']){ + echo ''; + }else{ + echo ''; } - }else if(actionOK('source')) { //pseudo action - echo ''; } - }else{ - echo ''; + }else if(actionOK('source')) { //pseudo action + echo ''; } + }else{ + echo ''; + } - echo ''; - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - echo ''; - } - echo ''; + echo ''; + if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ + echo ''; + } + echo ''; echo ''; echo ''; - echo ''; - echo ''; + echo ''; + echo ''; echo ''; echo ''; - if($conf['useacl'] && $auth){ - if($_SERVER['REMOTE_USER']){ - echo ''; - }else{ - echo ''; - } + if($conf['useacl'] && $auth){ + if($_SERVER['REMOTE_USER']){ + echo ''; + }else{ + echo ''; } + } - if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && - $auth->canDo('Profile') && ($ACT!='profile')){ - echo ''; - } + if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && + $auth->canDo('Profile') && ($ACT!='profile')){ + echo ''; + } - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']){ - if($_SERVER['REMOTE_USER']){ - echo ''; - } + if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']){ + if($_SERVER['REMOTE_USER']){ + echo ''; } + } - if($INFO['ismanager']){ - echo ''; - } + if($INFO['ismanager']){ + echo ''; + } echo ''; echo ''; @@ -1379,7 +1377,6 @@ function tpl_subscribe() { echo ''.$lang['subscr_m_unsubscribe'].''; - echo ''; } echo ''; @@ -1391,14 +1388,14 @@ function tpl_subscribe() { echo '
'; $ns = getNS($ID).':'; $targets = array( - $ID => ''.prettyprint_id($ID).'', - $ns => ''.prettyprint_id($ns).'', - ); + $ID => ''.prettyprint_id($ID).'', + $ns => ''.prettyprint_id($ns).'', + ); $styles = array( - 'every' => $lang['subscr_style_every'], - 'digest' => $lang['subscr_style_digest'], - 'list' => $lang['subscr_style_list'], - ); + 'every' => $lang['subscr_style_every'], + 'digest' => $lang['subscr_style_digest'], + 'list' => $lang['subscr_style_list'], + ); $form = new Doku_Form(array('id' => 'subscribe__form')); $form->startFieldset($lang['subscr_m_subscribe']); -- cgit v1.2.3 From f5b787850258b8f9d343ed55434dbec1631f3092 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 29 Jan 2010 14:33:20 +0100 Subject: more code cleanup --- inc/DifferenceEngine.php | 1732 +++++++++++++++++++++++----------------------- inc/subscription.php | 2 +- 2 files changed, 865 insertions(+), 869 deletions(-) diff --git a/inc/DifferenceEngine.php b/inc/DifferenceEngine.php index 760f1c39a..7b14e4463 100644 --- a/inc/DifferenceEngine.php +++ b/inc/DifferenceEngine.php @@ -10,75 +10,75 @@ define('USE_ASSERTS', function_exists('assert')); class _DiffOp { - var $type; - var $orig; - var $closing; + var $type; + var $orig; + var $closing; - function reverse() { - trigger_error("pure virtual", E_USER_ERROR); - } + function reverse() { + trigger_error("pure virtual", E_USER_ERROR); + } - function norig() { - return $this->orig ? sizeof($this->orig) : 0; - } + function norig() { + return $this->orig ? count($this->orig) : 0; + } - function nclosing() { - return $this->closing ? sizeof($this->closing) : 0; - } + function nclosing() { + return $this->closing ? count($this->closing) : 0; + } } class _DiffOp_Copy extends _DiffOp { - var $type = 'copy'; - - function _DiffOp_Copy ($orig, $closing = false) { - if (!is_array($closing)) - $closing = $orig; - $this->orig = $orig; - $this->closing = $closing; - } - - function reverse() { - return new _DiffOp_Copy($this->closing, $this->orig); - } + var $type = 'copy'; + + function _DiffOp_Copy ($orig, $closing = false) { + if (!is_array($closing)) + $closing = $orig; + $this->orig = $orig; + $this->closing = $closing; + } + + function reverse() { + return new _DiffOp_Copy($this->closing, $this->orig); + } } class _DiffOp_Delete extends _DiffOp { - var $type = 'delete'; + var $type = 'delete'; - function _DiffOp_Delete ($lines) { - $this->orig = $lines; - $this->closing = false; - } + function _DiffOp_Delete ($lines) { + $this->orig = $lines; + $this->closing = false; + } - function reverse() { - return new _DiffOp_Add($this->orig); - } + function reverse() { + return new _DiffOp_Add($this->orig); + } } class _DiffOp_Add extends _DiffOp { - var $type = 'add'; + var $type = 'add'; - function _DiffOp_Add ($lines) { - $this->closing = $lines; - $this->orig = false; - } + function _DiffOp_Add ($lines) { + $this->closing = $lines; + $this->orig = false; + } - function reverse() { - return new _DiffOp_Delete($this->closing); - } + function reverse() { + return new _DiffOp_Delete($this->closing); + } } class _DiffOp_Change extends _DiffOp { - var $type = 'change'; + var $type = 'change'; - function _DiffOp_Change ($orig, $closing) { - $this->orig = $orig; - $this->closing = $closing; - } + function _DiffOp_Change ($orig, $closing) { + $this->orig = $orig; + $this->closing = $closing; + } - function reverse() { - return new _DiffOp_Change($this->closing, $this->orig); - } + function reverse() { + return new _DiffOp_Change($this->closing, $this->orig); + } } @@ -102,577 +102,577 @@ class _DiffOp_Change extends _DiffOp { * @author Geoffrey T. Dairiki * @access private */ -class _DiffEngine -{ - function diff ($from_lines, $to_lines) { - $n_from = sizeof($from_lines); - $n_to = sizeof($to_lines); - - $this->xchanged = $this->ychanged = array(); - $this->xv = $this->yv = array(); - $this->xind = $this->yind = array(); - unset($this->seq); - unset($this->in_seq); - unset($this->lcs); - - // Skip leading common lines. - for ($skip = 0; $skip < $n_from && $skip < $n_to; $skip++) { - if ($from_lines[$skip] != $to_lines[$skip]) - break; - $this->xchanged[$skip] = $this->ychanged[$skip] = false; - } - // Skip trailing common lines. - $xi = $n_from; $yi = $n_to; - for ($endskip = 0; --$xi > $skip && --$yi > $skip; $endskip++) { - if ($from_lines[$xi] != $to_lines[$yi]) - break; - $this->xchanged[$xi] = $this->ychanged[$yi] = false; - } +class _DiffEngine { + + function diff ($from_lines, $to_lines) { + $n_from = count($from_lines); + $n_to = count($to_lines); + + $this->xchanged = $this->ychanged = array(); + $this->xv = $this->yv = array(); + $this->xind = $this->yind = array(); + unset($this->seq); + unset($this->in_seq); + unset($this->lcs); + + // Skip leading common lines. + for ($skip = 0; $skip < $n_from && $skip < $n_to; $skip++) { + if ($from_lines[$skip] != $to_lines[$skip]) + break; + $this->xchanged[$skip] = $this->ychanged[$skip] = false; + } + // Skip trailing common lines. + $xi = $n_from; + $yi = $n_to; + for ($endskip = 0; --$xi > $skip && --$yi > $skip; $endskip++) { + if ($from_lines[$xi] != $to_lines[$yi]) + break; + $this->xchanged[$xi] = $this->ychanged[$yi] = false; + } - // Ignore lines which do not exist in both files. - for ($xi = $skip; $xi < $n_from - $endskip; $xi++) - $xhash[$from_lines[$xi]] = 1; - for ($yi = $skip; $yi < $n_to - $endskip; $yi++) { - $line = $to_lines[$yi]; - if ( ($this->ychanged[$yi] = empty($xhash[$line])) ) - continue; - $yhash[$line] = 1; - $this->yv[] = $line; - $this->yind[] = $yi; - } - for ($xi = $skip; $xi < $n_from - $endskip; $xi++) { - $line = $from_lines[$xi]; - if ( ($this->xchanged[$xi] = empty($yhash[$line])) ) - continue; - $this->xv[] = $line; - $this->xind[] = $xi; - } + // Ignore lines which do not exist in both files. + for ($xi = $skip; $xi < $n_from - $endskip; $xi++) + $xhash[$from_lines[$xi]] = 1; + for ($yi = $skip; $yi < $n_to - $endskip; $yi++) { + $line = $to_lines[$yi]; + if ( ($this->ychanged[$yi] = empty($xhash[$line])) ) + continue; + $yhash[$line] = 1; + $this->yv[] = $line; + $this->yind[] = $yi; + } + for ($xi = $skip; $xi < $n_from - $endskip; $xi++) { + $line = $from_lines[$xi]; + if ( ($this->xchanged[$xi] = empty($yhash[$line])) ) + continue; + $this->xv[] = $line; + $this->xind[] = $xi; + } - // Find the LCS. - $this->_compareseq(0, sizeof($this->xv), 0, sizeof($this->yv)); - - // Merge edits when possible - $this->_shift_boundaries($from_lines, $this->xchanged, $this->ychanged); - $this->_shift_boundaries($to_lines, $this->ychanged, $this->xchanged); - - // Compute the edit operations. - $edits = array(); - $xi = $yi = 0; - while ($xi < $n_from || $yi < $n_to) { - USE_ASSERTS && assert($yi < $n_to || $this->xchanged[$xi]); - USE_ASSERTS && assert($xi < $n_from || $this->ychanged[$yi]); - - // Skip matching "snake". - $copy = array(); - while ( $xi < $n_from && $yi < $n_to - && !$this->xchanged[$xi] && !$this->ychanged[$yi]) { - $copy[] = $from_lines[$xi++]; - ++$yi; - } - if ($copy) - $edits[] = new _DiffOp_Copy($copy); - - // Find deletes & adds. - $delete = array(); - while ($xi < $n_from && $this->xchanged[$xi]) - $delete[] = $from_lines[$xi++]; - - $add = array(); - while ($yi < $n_to && $this->ychanged[$yi]) - $add[] = $to_lines[$yi++]; - - if ($delete && $add) - $edits[] = new _DiffOp_Change($delete, $add); - elseif ($delete) - $edits[] = new _DiffOp_Delete($delete); - elseif ($add) - $edits[] = new _DiffOp_Add($add); - } - return $edits; - } - - - /** - * Divide the Largest Common Subsequence (LCS) of the sequences - * [XOFF, XLIM) and [YOFF, YLIM) into NCHUNKS approximately equally - * sized segments. - * - * Returns (LCS, PTS). LCS is the length of the LCS. PTS is an - * array of NCHUNKS+1 (X, Y) indexes giving the diving points between - * sub sequences. The first sub-sequence is contained in [X0, X1), - * [Y0, Y1), the second in [X1, X2), [Y1, Y2) and so on. Note - * that (X0, Y0) == (XOFF, YOFF) and - * (X[NCHUNKS], Y[NCHUNKS]) == (XLIM, YLIM). - * - * This function assumes that the first lines of the specified portions - * of the two files do not match, and likewise that the last lines do not - * match. The caller must trim matching lines from the beginning and end - * of the portions it is going to specify. - */ - function _diag ($xoff, $xlim, $yoff, $ylim, $nchunks) { - $flip = false; - - if ($xlim - $xoff > $ylim - $yoff) { - // Things seems faster (I'm not sure I understand why) - // when the shortest sequence in X. - $flip = true; - list ($xoff, $xlim, $yoff, $ylim) - = array( $yoff, $ylim, $xoff, $xlim); + // Find the LCS. + $this->_compareseq(0, count($this->xv), 0, count($this->yv)); + + // Merge edits when possible + $this->_shift_boundaries($from_lines, $this->xchanged, $this->ychanged); + $this->_shift_boundaries($to_lines, $this->ychanged, $this->xchanged); + + // Compute the edit operations. + $edits = array(); + $xi = $yi = 0; + while ($xi < $n_from || $yi < $n_to) { + USE_ASSERTS && assert($yi < $n_to || $this->xchanged[$xi]); + USE_ASSERTS && assert($xi < $n_from || $this->ychanged[$yi]); + + // Skip matching "snake". + $copy = array(); + while ( $xi < $n_from && $yi < $n_to + && !$this->xchanged[$xi] && !$this->ychanged[$yi]) { + $copy[] = $from_lines[$xi++]; + ++$yi; + } + if ($copy) + $edits[] = new _DiffOp_Copy($copy); + + // Find deletes & adds. + $delete = array(); + while ($xi < $n_from && $this->xchanged[$xi]) + $delete[] = $from_lines[$xi++]; + + $add = array(); + while ($yi < $n_to && $this->ychanged[$yi]) + $add[] = $to_lines[$yi++]; + + if ($delete && $add) + $edits[] = new _DiffOp_Change($delete, $add); + elseif ($delete) + $edits[] = new _DiffOp_Delete($delete); + elseif ($add) + $edits[] = new _DiffOp_Add($add); + } + return $edits; } - if ($flip) - for ($i = $ylim - 1; $i >= $yoff; $i--) - $ymatches[$this->xv[$i]][] = $i; - else - for ($i = $ylim - 1; $i >= $yoff; $i--) - $ymatches[$this->yv[$i]][] = $i; - - $this->lcs = 0; - $this->seq[0]= $yoff - 1; - $this->in_seq = array(); - $ymids[0] = array(); - - $numer = $xlim - $xoff + $nchunks - 1; - $x = $xoff; - for ($chunk = 0; $chunk < $nchunks; $chunk++) { - if ($chunk > 0) - for ($i = 0; $i <= $this->lcs; $i++) - $ymids[$i][$chunk-1] = $this->seq[$i]; - - $x1 = $xoff + (int)(($numer + ($xlim-$xoff)*$chunk) / $nchunks); - for ( ; $x < $x1; $x++) { - $line = $flip ? $this->yv[$x] : $this->xv[$x]; - if (empty($ymatches[$line])) - continue; - $matches = $ymatches[$line]; - reset($matches); - while (list ($junk, $y) = each($matches)) - if (empty($this->in_seq[$y])) { - $k = $this->_lcs_pos($y); - USE_ASSERTS && assert($k > 0); - $ymids[$k] = $ymids[$k-1]; - break; - } - while (list ($junk, $y) = each($matches)) { - if ($y > $this->seq[$k-1]) { - USE_ASSERTS && assert($y < $this->seq[$k]); - // Optimization: this is a common case: - // next match is just replacing previous match. - $this->in_seq[$this->seq[$k]] = false; - $this->seq[$k] = $y; - $this->in_seq[$y] = 1; - } - else if (empty($this->in_seq[$y])) { - $k = $this->_lcs_pos($y); - USE_ASSERTS && assert($k > 0); - $ymids[$k] = $ymids[$k-1]; - } + + /** + * Divide the Largest Common Subsequence (LCS) of the sequences + * [XOFF, XLIM) and [YOFF, YLIM) into NCHUNKS approximately equally + * sized segments. + * + * Returns (LCS, PTS). LCS is the length of the LCS. PTS is an + * array of NCHUNKS+1 (X, Y) indexes giving the diving points between + * sub sequences. The first sub-sequence is contained in [X0, X1), + * [Y0, Y1), the second in [X1, X2), [Y1, Y2) and so on. Note + * that (X0, Y0) == (XOFF, YOFF) and + * (X[NCHUNKS], Y[NCHUNKS]) == (XLIM, YLIM). + * + * This function assumes that the first lines of the specified portions + * of the two files do not match, and likewise that the last lines do not + * match. The caller must trim matching lines from the beginning and end + * of the portions it is going to specify. + */ + function _diag ($xoff, $xlim, $yoff, $ylim, $nchunks) { + $flip = false; + + if ($xlim - $xoff > $ylim - $yoff) { + // Things seems faster (I'm not sure I understand why) + // when the shortest sequence in X. + $flip = true; + list ($xoff, $xlim, $yoff, $ylim) + = array( $yoff, $ylim, $xoff, $xlim); } - } - } - $seps[] = $flip ? array($yoff, $xoff) : array($xoff, $yoff); - $ymid = $ymids[$this->lcs]; - for ($n = 0; $n < $nchunks - 1; $n++) { - $x1 = $xoff + (int)(($numer + ($xlim - $xoff) * $n) / $nchunks); - $y1 = $ymid[$n] + 1; - $seps[] = $flip ? array($y1, $x1) : array($x1, $y1); - } - $seps[] = $flip ? array($ylim, $xlim) : array($xlim, $ylim); + if ($flip) + for ($i = $ylim - 1; $i >= $yoff; $i--) + $ymatches[$this->xv[$i]][] = $i; + else + for ($i = $ylim - 1; $i >= $yoff; $i--) + $ymatches[$this->yv[$i]][] = $i; + + $this->lcs = 0; + $this->seq[0]= $yoff - 1; + $this->in_seq = array(); + $ymids[0] = array(); + + $numer = $xlim - $xoff + $nchunks - 1; + $x = $xoff; + for ($chunk = 0; $chunk < $nchunks; $chunk++) { + if ($chunk > 0) + for ($i = 0; $i <= $this->lcs; $i++) + $ymids[$i][$chunk-1] = $this->seq[$i]; + + $x1 = $xoff + (int)(($numer + ($xlim-$xoff)*$chunk) / $nchunks); + for ( ; $x < $x1; $x++) { + $line = $flip ? $this->yv[$x] : $this->xv[$x]; + if (empty($ymatches[$line])) + continue; + $matches = $ymatches[$line]; + reset($matches); + while (list ($junk, $y) = each($matches)) + if (empty($this->in_seq[$y])) { + $k = $this->_lcs_pos($y); + USE_ASSERTS && assert($k > 0); + $ymids[$k] = $ymids[$k-1]; + break; + } + while (list ($junk, $y) = each($matches)) { + if ($y > $this->seq[$k-1]) { + USE_ASSERTS && assert($y < $this->seq[$k]); + // Optimization: this is a common case: + // next match is just replacing previous match. + $this->in_seq[$this->seq[$k]] = false; + $this->seq[$k] = $y; + $this->in_seq[$y] = 1; + } + else if (empty($this->in_seq[$y])) { + $k = $this->_lcs_pos($y); + USE_ASSERTS && assert($k > 0); + $ymids[$k] = $ymids[$k-1]; + } + } + } + } - return array($this->lcs, $seps); - } + $seps[] = $flip ? array($yoff, $xoff) : array($xoff, $yoff); + $ymid = $ymids[$this->lcs]; + for ($n = 0; $n < $nchunks - 1; $n++) { + $x1 = $xoff + (int)(($numer + ($xlim - $xoff) * $n) / $nchunks); + $y1 = $ymid[$n] + 1; + $seps[] = $flip ? array($y1, $x1) : array($x1, $y1); + } + $seps[] = $flip ? array($ylim, $xlim) : array($xlim, $ylim); - function _lcs_pos ($ypos) { - $end = $this->lcs; - if ($end == 0 || $ypos > $this->seq[$end]) { - $this->seq[++$this->lcs] = $ypos; - $this->in_seq[$ypos] = 1; - return $this->lcs; + return array($this->lcs, $seps); } - $beg = 1; - while ($beg < $end) { - $mid = (int)(($beg + $end) / 2); - if ( $ypos > $this->seq[$mid] ) - $beg = $mid + 1; - else - $end = $mid; - } + function _lcs_pos ($ypos) { + $end = $this->lcs; + if ($end == 0 || $ypos > $this->seq[$end]) { + $this->seq[++$this->lcs] = $ypos; + $this->in_seq[$ypos] = 1; + return $this->lcs; + } - USE_ASSERTS && assert($ypos != $this->seq[$end]); - - $this->in_seq[$this->seq[$end]] = false; - $this->seq[$end] = $ypos; - $this->in_seq[$ypos] = 1; - return $end; - } - - /** - * Find LCS of two sequences. - * - * The results are recorded in the vectors $this->{x,y}changed[], by - * storing a 1 in the element for each line that is an insertion - * or deletion (ie. is not in the LCS). - * - * The subsequence of file 0 is [XOFF, XLIM) and likewise for file 1. - * - * Note that XLIM, YLIM are exclusive bounds. - * All line numbers are origin-0 and discarded lines are not counted. - */ - function _compareseq ($xoff, $xlim, $yoff, $ylim) { - // Slide down the bottom initial diagonal. - while ($xoff < $xlim && $yoff < $ylim - && $this->xv[$xoff] == $this->yv[$yoff]) { - ++$xoff; - ++$yoff; - } + $beg = 1; + while ($beg < $end) { + $mid = (int)(($beg + $end) / 2); + if ( $ypos > $this->seq[$mid] ) + $beg = $mid + 1; + else + $end = $mid; + } - // Slide up the top initial diagonal. - while ($xlim > $xoff && $ylim > $yoff - && $this->xv[$xlim - 1] == $this->yv[$ylim - 1]) { - --$xlim; - --$ylim; - } + USE_ASSERTS && assert($ypos != $this->seq[$end]); - if ($xoff == $xlim || $yoff == $ylim) - $lcs = 0; - else { - // This is ad hoc but seems to work well. - //$nchunks = sqrt(min($xlim - $xoff, $ylim - $yoff) / 2.5); - //$nchunks = max(2,min(8,(int)$nchunks)); - $nchunks = min(7, $xlim - $xoff, $ylim - $yoff) + 1; - list ($lcs, $seps) - = $this->_diag($xoff,$xlim,$yoff, $ylim,$nchunks); + $this->in_seq[$this->seq[$end]] = false; + $this->seq[$end] = $ypos; + $this->in_seq[$ypos] = 1; + return $end; } - if ($lcs == 0) { - // X and Y sequences have no common subsequence: - // mark all changed. - while ($yoff < $ylim) - $this->ychanged[$this->yind[$yoff++]] = 1; - while ($xoff < $xlim) - $this->xchanged[$this->xind[$xoff++]] = 1; - } - else { - // Use the partitions to split this problem into subproblems. - reset($seps); - $pt1 = $seps[0]; - while ($pt2 = next($seps)) { - $this->_compareseq ($pt1[0], $pt2[0], $pt1[1], $pt2[1]); - $pt1 = $pt2; - } - } - } - - /** - * Adjust inserts/deletes of identical lines to join changes - * as much as possible. - * - * We do something when a run of changed lines include a - * line at one end and has an excluded, identical line at the other. - * We are free to choose which identical line is included. - * `compareseq' usually chooses the one at the beginning, - * but usually it is cleaner to consider the following identical line - * to be the "change". - * - * This is extracted verbatim from analyze.c (GNU diffutils-2.7). - */ - function _shift_boundaries ($lines, &$changed, $other_changed) { - $i = 0; - $j = 0; - - USE_ASSERTS && assert('sizeof($lines) == sizeof($changed)'); - $len = sizeof($lines); - $other_len = sizeof($other_changed); - - while (1) { - /* - * Scan forwards to find beginning of another run of changes. - * Also keep track of the corresponding point in the other file. + /** + * Find LCS of two sequences. * - * Throughout this code, $i and $j are adjusted together so that - * the first $i elements of $changed and the first $j elements - * of $other_changed both contain the same number of zeros - * (unchanged lines). - * Furthermore, $j is always kept so that $j == $other_len or - * $other_changed[$j] == false. + * The results are recorded in the vectors $this->{x,y}changed[], by + * storing a 1 in the element for each line that is an insertion + * or deletion (ie. is not in the LCS). + * + * The subsequence of file 0 is [XOFF, XLIM) and likewise for file 1. + * + * Note that XLIM, YLIM are exclusive bounds. + * All line numbers are origin-0 and discarded lines are not counted. */ - while ($j < $other_len && $other_changed[$j]) - $j++; - - while ($i < $len && ! $changed[$i]) { - USE_ASSERTS && assert('$j < $other_len && ! $other_changed[$j]'); - $i++; $j++; - while ($j < $other_len && $other_changed[$j]) - $j++; - } - - if ($i == $len) - break; - - $start = $i; - - // Find the end of this run of changes. - while (++$i < $len && $changed[$i]) - continue; + function _compareseq ($xoff, $xlim, $yoff, $ylim) { + // Slide down the bottom initial diagonal. + while ($xoff < $xlim && $yoff < $ylim + && $this->xv[$xoff] == $this->yv[$yoff]) { + ++$xoff; + ++$yoff; + } - do { - /* - * Record the length of this run of changes, so that - * we can later determine whether the run has grown. - */ - $runlength = $i - $start; + // Slide up the top initial diagonal. + while ($xlim > $xoff && $ylim > $yoff + && $this->xv[$xlim - 1] == $this->yv[$ylim - 1]) { + --$xlim; + --$ylim; + } - /* - * Move the changed region back, so long as the - * previous unchanged line matches the last changed one. - * This merges with previous changed regions. - */ - while ($start > 0 && $lines[$start - 1] == $lines[$i - 1]) { - $changed[--$start] = 1; - $changed[--$i] = false; - while ($start > 0 && $changed[$start - 1]) - $start--; - USE_ASSERTS && assert('$j > 0'); - while ($other_changed[--$j]) - continue; - USE_ASSERTS && assert('$j >= 0 && !$other_changed[$j]'); + if ($xoff == $xlim || $yoff == $ylim) + $lcs = 0; + else { + // This is ad hoc but seems to work well. + //$nchunks = sqrt(min($xlim - $xoff, $ylim - $yoff) / 2.5); + //$nchunks = max(2,min(8,(int)$nchunks)); + $nchunks = min(7, $xlim - $xoff, $ylim - $yoff) + 1; + list ($lcs, $seps) + = $this->_diag($xoff,$xlim,$yoff, $ylim,$nchunks); } - /* - * Set CORRESPONDING to the end of the changed run, at the last - * point where it corresponds to a changed run in the other file. - * CORRESPONDING == LEN means no such point has been found. - */ - $corresponding = $j < $other_len ? $i : $len; - - /* - * Move the changed region forward, so long as the - * first changed line matches the following unchanged one. - * This merges with following changed regions. - * Do this second, so that if there are no merges, - * the changed region is moved forward as far as possible. - */ - while ($i < $len && $lines[$start] == $lines[$i]) { - $changed[$start++] = false; - $changed[$i++] = 1; - while ($i < $len && $changed[$i]) - $i++; - - USE_ASSERTS && assert('$j < $other_len && ! $other_changed[$j]'); - $j++; - if ($j < $other_len && $other_changed[$j]) { - $corresponding = $i; - while ($j < $other_len && $other_changed[$j]) - $j++; - } + if ($lcs == 0) { + // X and Y sequences have no common subsequence: + // mark all changed. + while ($yoff < $ylim) + $this->ychanged[$this->yind[$yoff++]] = 1; + while ($xoff < $xlim) + $this->xchanged[$this->xind[$xoff++]] = 1; } - } while ($runlength != $i - $start); + else { + // Use the partitions to split this problem into subproblems. + reset($seps); + $pt1 = $seps[0]; + while ($pt2 = next($seps)) { + $this->_compareseq ($pt1[0], $pt2[0], $pt1[1], $pt2[1]); + $pt1 = $pt2; + } + } + } - /* - * If possible, move the fully-merged run of changes - * back to a corresponding run in the other file. + /** + * Adjust inserts/deletes of identical lines to join changes + * as much as possible. + * + * We do something when a run of changed lines include a + * line at one end and has an excluded, identical line at the other. + * We are free to choose which identical line is included. + * `compareseq' usually chooses the one at the beginning, + * but usually it is cleaner to consider the following identical line + * to be the "change". + * + * This is extracted verbatim from analyze.c (GNU diffutils-2.7). */ - while ($corresponding < $i) { - $changed[--$start] = 1; - $changed[--$i] = 0; - USE_ASSERTS && assert('$j > 0'); - while ($other_changed[--$j]) - continue; - USE_ASSERTS && assert('$j >= 0 && !$other_changed[$j]'); - } + function _shift_boundaries ($lines, &$changed, $other_changed) { + $i = 0; + $j = 0; + + USE_ASSERTS && assert('count($lines) == count($changed)'); + $len = count($lines); + $other_len = count($other_changed); + + while (1) { + /* + * Scan forwards to find beginning of another run of changes. + * Also keep track of the corresponding point in the other file. + * + * Throughout this code, $i and $j are adjusted together so that + * the first $i elements of $changed and the first $j elements + * of $other_changed both contain the same number of zeros + * (unchanged lines). + * Furthermore, $j is always kept so that $j == $other_len or + * $other_changed[$j] == false. + */ + while ($j < $other_len && $other_changed[$j]) + $j++; + + while ($i < $len && ! $changed[$i]) { + USE_ASSERTS && assert('$j < $other_len && ! $other_changed[$j]'); + $i++; + $j++; + while ($j < $other_len && $other_changed[$j]) + $j++; + } + + if ($i == $len) + break; + + $start = $i; + + // Find the end of this run of changes. + while (++$i < $len && $changed[$i]) + continue; + + do { + /* + * Record the length of this run of changes, so that + * we can later determine whether the run has grown. + */ + $runlength = $i - $start; + + /* + * Move the changed region back, so long as the + * previous unchanged line matches the last changed one. + * This merges with previous changed regions. + */ + while ($start > 0 && $lines[$start - 1] == $lines[$i - 1]) { + $changed[--$start] = 1; + $changed[--$i] = false; + while ($start > 0 && $changed[$start - 1]) + $start--; + USE_ASSERTS && assert('$j > 0'); + while ($other_changed[--$j]) + continue; + USE_ASSERTS && assert('$j >= 0 && !$other_changed[$j]'); + } + + /* + * Set CORRESPONDING to the end of the changed run, at the last + * point where it corresponds to a changed run in the other file. + * CORRESPONDING == LEN means no such point has been found. + */ + $corresponding = $j < $other_len ? $i : $len; + + /* + * Move the changed region forward, so long as the + * first changed line matches the following unchanged one. + * This merges with following changed regions. + * Do this second, so that if there are no merges, + * the changed region is moved forward as far as possible. + */ + while ($i < $len && $lines[$start] == $lines[$i]) { + $changed[$start++] = false; + $changed[$i++] = 1; + while ($i < $len && $changed[$i]) + $i++; + + USE_ASSERTS && assert('$j < $other_len && ! $other_changed[$j]'); + $j++; + if ($j < $other_len && $other_changed[$j]) { + $corresponding = $i; + while ($j < $other_len && $other_changed[$j]) + $j++; + } + } + } while ($runlength != $i - $start); + + /* + * If possible, move the fully-merged run of changes + * back to a corresponding run in the other file. + */ + while ($corresponding < $i) { + $changed[--$start] = 1; + $changed[--$i] = 0; + USE_ASSERTS && assert('$j > 0'); + while ($other_changed[--$j]) + continue; + USE_ASSERTS && assert('$j >= 0 && !$other_changed[$j]'); + } + } } - } } /** * Class representing a 'diff' between two sequences of strings. */ -class Diff -{ - var $edits; - - /** - * Constructor. - * Computes diff between sequences of strings. - * - * @param $from_lines array An array of strings. - * (Typically these are lines from a file.) - * @param $to_lines array An array of strings. - */ - function Diff($from_lines, $to_lines) { - $eng = new _DiffEngine; - $this->edits = $eng->diff($from_lines, $to_lines); - //$this->_check($from_lines, $to_lines); - } - - /** - * Compute reversed Diff. - * - * SYNOPSIS: - * - * $diff = new Diff($lines1, $lines2); - * $rev = $diff->reverse(); - * @return object A Diff object representing the inverse of the - * original diff. - */ - function reverse () { - $rev = $this; - $rev->edits = array(); - foreach ($this->edits as $edit) { - $rev->edits[] = $edit->reverse(); +class Diff { + + var $edits; + + /** + * Constructor. + * Computes diff between sequences of strings. + * + * @param $from_lines array An array of strings. + * (Typically these are lines from a file.) + * @param $to_lines array An array of strings. + */ + function Diff($from_lines, $to_lines) { + $eng = new _DiffEngine; + $this->edits = $eng->diff($from_lines, $to_lines); + //$this->_check($from_lines, $to_lines); } - return $rev; - } - - /** - * Check for empty diff. - * - * @return bool True iff two sequences were identical. - */ - function isEmpty () { - foreach ($this->edits as $edit) { - if ($edit->type != 'copy') - return false; + + /** + * Compute reversed Diff. + * + * SYNOPSIS: + * + * $diff = new Diff($lines1, $lines2); + * $rev = $diff->reverse(); + * @return object A Diff object representing the inverse of the + * original diff. + */ + function reverse () { + $rev = $this; + $rev->edits = array(); + foreach ($this->edits as $edit) { + $rev->edits[] = $edit->reverse(); + } + return $rev; } - return true; - } - - /** - * Compute the length of the Longest Common Subsequence (LCS). - * - * This is mostly for diagnostic purposed. - * - * @return int The length of the LCS. - */ - function lcs () { - $lcs = 0; - foreach ($this->edits as $edit) { - if ($edit->type == 'copy') - $lcs += sizeof($edit->orig); + + /** + * Check for empty diff. + * + * @return bool True iff two sequences were identical. + */ + function isEmpty () { + foreach ($this->edits as $edit) { + if ($edit->type != 'copy') + return false; + } + return true; } - return $lcs; - } - - /** - * Get the original set of lines. - * - * This reconstructs the $from_lines parameter passed to the - * constructor. - * - * @return array The original sequence of strings. - */ - function orig() { - $lines = array(); - - foreach ($this->edits as $edit) { - if ($edit->orig) - array_splice($lines, sizeof($lines), 0, $edit->orig); + + /** + * Compute the length of the Longest Common Subsequence (LCS). + * + * This is mostly for diagnostic purposed. + * + * @return int The length of the LCS. + */ + function lcs () { + $lcs = 0; + foreach ($this->edits as $edit) { + if ($edit->type == 'copy') + $lcs += count($edit->orig); + } + return $lcs; } - return $lines; - } - - /** - * Get the closing set of lines. - * - * This reconstructs the $to_lines parameter passed to the - * constructor. - * - * @return array The sequence of strings. - */ - function closing() { - $lines = array(); - - foreach ($this->edits as $edit) { - if ($edit->closing) - array_splice($lines, sizeof($lines), 0, $edit->closing); + + /** + * Get the original set of lines. + * + * This reconstructs the $from_lines parameter passed to the + * constructor. + * + * @return array The original sequence of strings. + */ + function orig() { + $lines = array(); + + foreach ($this->edits as $edit) { + if ($edit->orig) + array_splice($lines, count($lines), 0, $edit->orig); + } + return $lines; } - return $lines; - } - - /** - * Check a Diff for validity. - * - * This is here only for debugging purposes. - */ - function _check ($from_lines, $to_lines) { - if (serialize($from_lines) != serialize($this->orig())) - trigger_error("Reconstructed original doesn't match", E_USER_ERROR); - if (serialize($to_lines) != serialize($this->closing())) - trigger_error("Reconstructed closing doesn't match", E_USER_ERROR); - - $rev = $this->reverse(); - if (serialize($to_lines) != serialize($rev->orig())) - trigger_error("Reversed original doesn't match", E_USER_ERROR); - if (serialize($from_lines) != serialize($rev->closing())) - trigger_error("Reversed closing doesn't match", E_USER_ERROR); - - - $prevtype = 'none'; - foreach ($this->edits as $edit) { - if ( $prevtype == $edit->type ) - trigger_error("Edit sequence is non-optimal", E_USER_ERROR); - $prevtype = $edit->type; + + /** + * Get the closing set of lines. + * + * This reconstructs the $to_lines parameter passed to the + * constructor. + * + * @return array The sequence of strings. + */ + function closing() { + $lines = array(); + + foreach ($this->edits as $edit) { + if ($edit->closing) + array_splice($lines, count($lines), 0, $edit->closing); + } + return $lines; } - $lcs = $this->lcs(); - trigger_error("Diff okay: LCS = $lcs", E_USER_NOTICE); - } + /** + * Check a Diff for validity. + * + * This is here only for debugging purposes. + */ + function _check ($from_lines, $to_lines) { + if (serialize($from_lines) != serialize($this->orig())) + trigger_error("Reconstructed original doesn't match", E_USER_ERROR); + if (serialize($to_lines) != serialize($this->closing())) + trigger_error("Reconstructed closing doesn't match", E_USER_ERROR); + + $rev = $this->reverse(); + if (serialize($to_lines) != serialize($rev->orig())) + trigger_error("Reversed original doesn't match", E_USER_ERROR); + if (serialize($from_lines) != serialize($rev->closing())) + trigger_error("Reversed closing doesn't match", E_USER_ERROR); + + $prevtype = 'none'; + foreach ($this->edits as $edit) { + if ( $prevtype == $edit->type ) + trigger_error("Edit sequence is non-optimal", E_USER_ERROR); + $prevtype = $edit->type; + } + + $lcs = $this->lcs(); + trigger_error("Diff okay: LCS = $lcs", E_USER_NOTICE); + } } /** * FIXME: bad name. */ -class MappedDiff -extends Diff -{ - /** - * Constructor. - * - * Computes diff between sequences of strings. - * - * This can be used to compute things like - * case-insensitve diffs, or diffs which ignore - * changes in white-space. - * - * @param $from_lines array An array of strings. - * (Typically these are lines from a file.) - * - * @param $to_lines array An array of strings. - * - * @param $mapped_from_lines array This array should - * have the same size number of elements as $from_lines. - * The elements in $mapped_from_lines and - * $mapped_to_lines are what is actually compared - * when computing the diff. - * - * @param $mapped_to_lines array This array should - * have the same number of elements as $to_lines. - */ - function MappedDiff($from_lines, $to_lines, +class MappedDiff extends Diff { + /** + * Constructor. + * + * Computes diff between sequences of strings. + * + * This can be used to compute things like + * case-insensitve diffs, or diffs which ignore + * changes in white-space. + * + * @param $from_lines array An array of strings. + * (Typically these are lines from a file.) + * + * @param $to_lines array An array of strings. + * + * @param $mapped_from_lines array This array should + * have the same size number of elements as $from_lines. + * The elements in $mapped_from_lines and + * $mapped_to_lines are what is actually compared + * when computing the diff. + * + * @param $mapped_to_lines array This array should + * have the same number of elements as $to_lines. + */ + function MappedDiff($from_lines, $to_lines, $mapped_from_lines, $mapped_to_lines) { - assert(sizeof($from_lines) == sizeof($mapped_from_lines)); - assert(sizeof($to_lines) == sizeof($mapped_to_lines)); + assert(count($from_lines) == count($mapped_from_lines)); + assert(count($to_lines) == count($mapped_to_lines)); - $this->Diff($mapped_from_lines, $mapped_to_lines); + $this->Diff($mapped_from_lines, $mapped_to_lines); - $xi = $yi = 0; - for ($i = 0; $i < sizeof($this->edits); $i++) { - $orig = &$this->edits[$i]->orig; - if (is_array($orig)) { - $orig = array_slice($from_lines, $xi, sizeof($orig)); - $xi += sizeof($orig); - } + $xi = $yi = 0; + $ecnt = count($this->edits); + for ($i = 0; $i < $ecnt; $i++) { + $orig = &$this->edits[$i]->orig; + if (is_array($orig)) { + $orig = array_slice($from_lines, $xi, count($orig)); + $xi += count($orig); + } - $closing = &$this->edits[$i]->closing; - if (is_array($closing)) { - $closing = array_slice($to_lines, $yi, sizeof($closing)); - $yi += sizeof($closing); - } + $closing = &$this->edits[$i]->closing; + if (is_array($closing)) { + $closing = array_slice($to_lines, $yi, count($closing)); + $yi += count($closing); + } + } } - } } /** @@ -682,150 +682,149 @@ extends Diff * It is intended that this class be customized via inheritance, * to obtain fancier outputs. */ -class DiffFormatter -{ - /** - * Number of leading context "lines" to preserve. - * - * This should be left at zero for this class, but subclasses - * may want to set this to other values. - */ - var $leading_context_lines = 0; - - /** - * Number of trailing context "lines" to preserve. - * - * This should be left at zero for this class, but subclasses - * may want to set this to other values. - */ - var $trailing_context_lines = 0; - - /** - * Format a diff. - * - * @param $diff object A Diff object. - * @return string The formatted output. - */ - function format($diff) { - - $xi = $yi = 1; - $block = false; - $context = array(); - - $nlead = $this->leading_context_lines; - $ntrail = $this->trailing_context_lines; - - $this->_start_diff(); - - foreach ($diff->edits as $edit) { - if ($edit->type == 'copy') { - if (is_array($block)) { - if (sizeof($edit->orig) <= $nlead + $ntrail) { - $block[] = $edit; - } - else{ - if ($ntrail) { - $context = array_slice($edit->orig, 0, $ntrail); - $block[] = new _DiffOp_Copy($context); +class DiffFormatter { + /** + * Number of leading context "lines" to preserve. + * + * This should be left at zero for this class, but subclasses + * may want to set this to other values. + */ + var $leading_context_lines = 0; + + /** + * Number of trailing context "lines" to preserve. + * + * This should be left at zero for this class, but subclasses + * may want to set this to other values. + */ + var $trailing_context_lines = 0; + + /** + * Format a diff. + * + * @param $diff object A Diff object. + * @return string The formatted output. + */ + function format($diff) { + + $xi = $yi = 1; + $block = false; + $context = array(); + + $nlead = $this->leading_context_lines; + $ntrail = $this->trailing_context_lines; + + $this->_start_diff(); + + foreach ($diff->edits as $edit) { + if ($edit->type == 'copy') { + if (is_array($block)) { + if (count($edit->orig) <= $nlead + $ntrail) { + $block[] = $edit; + } + else{ + if ($ntrail) { + $context = array_slice($edit->orig, 0, $ntrail); + $block[] = new _DiffOp_Copy($context); + } + $this->_block($x0, $ntrail + $xi - $x0, + $y0, $ntrail + $yi - $y0, + $block); + $block = false; + } + } + $context = $edit->orig; } - $this->_block($x0, $ntrail + $xi - $x0, - $y0, $ntrail + $yi - $y0, - $block); - $block = false; - } + else { + if (! is_array($block)) { + $context = array_slice($context, count($context) - $nlead); + $x0 = $xi - count($context); + $y0 = $yi - count($context); + $block = array(); + if ($context) + $block[] = new _DiffOp_Copy($context); + } + $block[] = $edit; + } + + if ($edit->orig) + $xi += count($edit->orig); + if ($edit->closing) + $yi += count($edit->closing); } - $context = $edit->orig; - } - else { - if (! is_array($block)) { - $context = array_slice($context, sizeof($context) - $nlead); - $x0 = $xi - sizeof($context); - $y0 = $yi - sizeof($context); - $block = array(); - if ($context) - $block[] = new _DiffOp_Copy($context); + + if (is_array($block)) + $this->_block($x0, $xi - $x0, + $y0, $yi - $y0, + $block); + + return $this->_end_diff(); + } + + function _block($xbeg, $xlen, $ybeg, $ylen, &$edits) { + $this->_start_block($this->_block_header($xbeg, $xlen, $ybeg, $ylen)); + foreach ($edits as $edit) { + if ($edit->type == 'copy') + $this->_context($edit->orig); + elseif ($edit->type == 'add') + $this->_added($edit->closing); + elseif ($edit->type == 'delete') + $this->_deleted($edit->orig); + elseif ($edit->type == 'change') + $this->_changed($edit->orig, $edit->closing); + else + trigger_error("Unknown edit type", E_USER_ERROR); } - $block[] = $edit; - } + $this->_end_block(); + } + + function _start_diff() { + ob_start(); + } + + function _end_diff() { + $val = ob_get_contents(); + ob_end_clean(); + return $val; + } + + function _block_header($xbeg, $xlen, $ybeg, $ylen) { + if ($xlen > 1) + $xbeg .= "," . ($xbeg + $xlen - 1); + if ($ylen > 1) + $ybeg .= "," . ($ybeg + $ylen - 1); + + return $xbeg . ($xlen ? ($ylen ? 'c' : 'd') : 'a') . $ybeg; + } + + function _start_block($header) { + echo $header; + } + + function _end_block() { + } + + function _lines($lines, $prefix = ' ') { + foreach ($lines as $line) + echo "$prefix $line\n"; + } + + function _context($lines) { + $this->_lines($lines); + } - if ($edit->orig) - $xi += sizeof($edit->orig); - if ($edit->closing) - $yi += sizeof($edit->closing); + function _added($lines) { + $this->_lines($lines, ">"); + } + function _deleted($lines) { + $this->_lines($lines, "<"); } - if (is_array($block)) - $this->_block($x0, $xi - $x0, - $y0, $yi - $y0, - $block); - - return $this->_end_diff(); - } - - function _block($xbeg, $xlen, $ybeg, $ylen, &$edits) { - $this->_start_block($this->_block_header($xbeg, $xlen, $ybeg, $ylen)); - foreach ($edits as $edit) { - if ($edit->type == 'copy') - $this->_context($edit->orig); - elseif ($edit->type == 'add') - $this->_added($edit->closing); - elseif ($edit->type == 'delete') - $this->_deleted($edit->orig); - elseif ($edit->type == 'change') - $this->_changed($edit->orig, $edit->closing); - else - trigger_error("Unknown edit type", E_USER_ERROR); + function _changed($orig, $closing) { + $this->_deleted($orig); + echo "---\n"; + $this->_added($closing); } - $this->_end_block(); - } - - function _start_diff() { - ob_start(); - } - - function _end_diff() { - $val = ob_get_contents(); - ob_end_clean(); - return $val; - } - - function _block_header($xbeg, $xlen, $ybeg, $ylen) { - if ($xlen > 1) - $xbeg .= "," . ($xbeg + $xlen - 1); - if ($ylen > 1) - $ybeg .= "," . ($ybeg + $ylen - 1); - - return $xbeg . ($xlen ? ($ylen ? 'c' : 'd') : 'a') . $ybeg; - } - - function _start_block($header) { - echo $header; - } - - function _end_block() { - } - - function _lines($lines, $prefix = ' ') { - foreach ($lines as $line) - echo "$prefix $line\n"; - } - - function _context($lines) { - $this->_lines($lines); - } - - function _added($lines) { - $this->_lines($lines, ">"); - } - function _deleted($lines) { - $this->_lines($lines, "<"); - } - - function _changed($orig, $closing) { - $this->_deleted($orig); - echo "---\n"; - $this->_added($closing); - } } @@ -837,100 +836,97 @@ class DiffFormatter define('NBSP', "\xC2\xA0"); // utf-8 non-breaking space. class _HWLDF_WordAccumulator { - function _HWLDF_WordAccumulator () { - $this->_lines = array(); - $this->_line = ''; - $this->_group = ''; - $this->_tag = ''; - } - - function _flushGroup ($new_tag) { - if ($this->_group !== '') { - if ($this->_tag == 'mark') - $this->_line .= ''.$this->_group.''; - else - $this->_line .= $this->_group; - } - $this->_group = ''; - $this->_tag = $new_tag; - } - - function _flushLine ($new_tag) { - $this->_flushGroup($new_tag); - if ($this->_line != '') - $this->_lines[] = $this->_line; - $this->_line = ''; - } - - function addWords ($words, $tag = '') { - if ($tag != $this->_tag) - $this->_flushGroup($tag); - - foreach ($words as $word) { - // new-line should only come as first char of word. - if ($word == '') - continue; - if ($word[0] == "\n") { - $this->_group .= NBSP; - $this->_flushLine($tag); - $word = substr($word, 1); - } - assert(!strstr($word, "\n")); - $this->_group .= $word; + function _HWLDF_WordAccumulator () { + $this->_lines = array(); + $this->_line = ''; + $this->_group = ''; + $this->_tag = ''; } - } - - function getLines() { - $this->_flushLine('~done'); - return $this->_lines; - } -} -class WordLevelDiff extends MappedDiff -{ - function WordLevelDiff ($orig_lines, $closing_lines) { - list ($orig_words, $orig_stripped) = $this->_split($orig_lines); - list ($closing_words, $closing_stripped) = $this->_split($closing_lines); + function _flushGroup ($new_tag) { + if ($this->_group !== '') { + if ($this->_tag == 'mark') + $this->_line .= ''.$this->_group.''; + else + $this->_line .= $this->_group; + } + $this->_group = ''; + $this->_tag = $new_tag; + } + function _flushLine ($new_tag) { + $this->_flushGroup($new_tag); + if ($this->_line != '') + $this->_lines[] = $this->_line; + $this->_line = ''; + } - $this->MappedDiff($orig_words, $closing_words, - $orig_stripped, $closing_stripped); - } + function addWords ($words, $tag = '') { + if ($tag != $this->_tag) + $this->_flushGroup($tag); + + foreach ($words as $word) { + // new-line should only come as first char of word. + if ($word == '') + continue; + if ($word[0] == "\n") { + $this->_group .= NBSP; + $this->_flushLine($tag); + $word = substr($word, 1); + } + assert(!strstr($word, "\n")); + $this->_group .= $word; + } + } - function _split($lines) { - // FIXME: fix POSIX char class. -# if (!preg_match_all('/ ( [^\S\n]+ | [[:alnum:]]+ | . ) (?: (?!< \n) [^\S\n])? /xs', - if (!preg_match_all('/ ( [^\S\n]+ | [0-9_A-Za-z\x80-\xff]+ | . ) (?: (?!< \n) [^\S\n])? /xs', - implode("\n", $lines), - $m)) { - return array(array(''), array('')); + function getLines() { + $this->_flushLine('~done'); + return $this->_lines; } - return array($m[0], $m[1]); - } +} + +class WordLevelDiff extends MappedDiff { - function orig () { - $orig = new _HWLDF_WordAccumulator; + function WordLevelDiff ($orig_lines, $closing_lines) { + list ($orig_words, $orig_stripped) = $this->_split($orig_lines); + list ($closing_words, $closing_stripped) = $this->_split($closing_lines); - foreach ($this->edits as $edit) { - if ($edit->type == 'copy') - $orig->addWords($edit->orig); - elseif ($edit->orig) - $orig->addWords($edit->orig, 'mark'); + $this->MappedDiff($orig_words, $closing_words, + $orig_stripped, $closing_stripped); } - return $orig->getLines(); - } - function closing () { - $closing = new _HWLDF_WordAccumulator; + function _split($lines) { + if (!preg_match_all('/ ( [^\S\n]+ | [0-9_A-Za-z\x80-\xff]+ | . ) (?: (?!< \n) [^\S\n])? /xs', + implode("\n", $lines), + $m)) { + return array(array(''), array('')); + } + return array($m[0], $m[1]); + } + + function orig () { + $orig = new _HWLDF_WordAccumulator; - foreach ($this->edits as $edit) { - if ($edit->type == 'copy') - $closing->addWords($edit->closing); - elseif ($edit->closing) - $closing->addWords($edit->closing, 'mark'); - } - return $closing->getLines(); - } + foreach ($this->edits as $edit) { + if ($edit->type == 'copy') + $orig->addWords($edit->orig); + elseif ($edit->orig) + $orig->addWords($edit->orig, 'mark'); + } + return $orig->getLines(); + } + + function closing () { + $closing = new _HWLDF_WordAccumulator; + + foreach ($this->edits as $edit) { + if ($edit->type == 'copy') + $closing->addWords($edit->closing); + elseif ($edit->closing) + $closing->addWords($edit->closing, 'mark'); + } + return $closing->getLines(); + } } /** @@ -938,8 +934,8 @@ class WordLevelDiff extends MappedDiff * * This class formats the diff in classic "unified diff" format. */ -class UnifiedDiffFormatter extends DiffFormatter -{ +class UnifiedDiffFormatter extends DiffFormatter { + function UnifiedDiffFormatter($context_lines = 4) { $this->leading_context_lines = $context_lines; $this->trailing_context_lines = $context_lines; @@ -969,12 +965,12 @@ class UnifiedDiffFormatter extends DiffFormatter * Wikipedia Table style diff formatter. * */ -class TableDiffFormatter extends DiffFormatter -{ - function TableDiffFormatter() { - $this->leading_context_lines = 2; - $this->trailing_context_lines = 2; - } +class TableDiffFormatter extends DiffFormatter { + + function TableDiffFormatter() { + $this->leading_context_lines = 2; + $this->trailing_context_lines = 2; + } function format($diff) { // Preserve whitespaces by converting some to non-breaking spaces. @@ -985,83 +981,83 @@ class TableDiffFormatter extends DiffFormatter return $val; } - function _pre($text){ - $text = htmlspecialchars($text); - return $text; - } - - function _block_header( $xbeg, $xlen, $ybeg, $ylen ) { - global $lang; - $l1 = $lang['line'].' '.$xbeg; - $l2 = $lang['line'].' '.$ybeg; - $r = ''.$l1.":\n" . - ''.$l2.":\n"; - return $r; - } - - function _start_block( $header ) { - print( $header ); - } - - function _end_block() { - } - - function _lines( $lines, $prefix=' ', $color="white" ) { - } - - function addedLine( $line ) { - return '+' . - $line.''; - - } - - function deletedLine( $line ) { - return '-' . - $line.''; - } - - function emptyLine() { - return ' '; - } - - function contextLine( $line ) { - return ' '.$line.''; - } - - function _added($lines) { - foreach ($lines as $line) { - print( '' . $this->emptyLine() . - $this->addedLine( $line ) . "\n" ); + function _pre($text){ + $text = htmlspecialchars($text); + return $text; + } + + function _block_header( $xbeg, $xlen, $ybeg, $ylen ) { + global $lang; + $l1 = $lang['line'].' '.$xbeg; + $l2 = $lang['line'].' '.$ybeg; + $r = ''.$l1.":\n" . + ''.$l2.":\n"; + return $r; + } + + function _start_block( $header ) { + print( $header ); + } + + function _end_block() { + } + + function _lines( $lines, $prefix=' ', $color="white" ) { + } + + function addedLine( $line ) { + return '+' . + $line.''; + + } + + function deletedLine( $line ) { + return '-' . + $line.''; } - } - function _deleted($lines) { - foreach ($lines as $line) { - print( '' . $this->deletedLine( $line ) . - $this->emptyLine() . "\n" ); + function emptyLine() { + return ' '; } - } - function _context( $lines ) { - foreach ($lines as $line) { - print( '' . $this->contextLine( $line ) . - $this->contextLine( $line ) . "\n" ); + function contextLine( $line ) { + return ' '.$line.''; } - } - function _changed( $orig, $closing ) { - $diff = new WordLevelDiff( $orig, $closing ); - $del = $diff->orig(); - $add = $diff->closing(); + function _added($lines) { + foreach ($lines as $line) { + print( '' . $this->emptyLine() . + $this->addedLine( $line ) . "\n" ); + } + } + + function _deleted($lines) { + foreach ($lines as $line) { + print( '' . $this->deletedLine( $line ) . + $this->emptyLine() . "\n" ); + } + } + + function _context( $lines ) { + foreach ($lines as $line) { + print( '' . $this->contextLine( $line ) . + $this->contextLine( $line ) . "\n" ); + } + } + + function _changed( $orig, $closing ) { + $diff = new WordLevelDiff( $orig, $closing ); + $del = $diff->orig(); + $add = $diff->closing(); - while ( $line = array_shift( $del ) ) { - $aline = array_shift( $add ); - print( '' . $this->deletedLine( $line ) . - $this->addedLine( $aline ) . "\n" ); + while ( $line = array_shift( $del ) ) { + $aline = array_shift( $add ); + print( '' . $this->deletedLine( $line ) . + $this->addedLine( $aline ) . "\n" ); + } + $this->_added( $add ); # If any leftovers } - $this->_added( $add ); # If any leftovers - } } -//Setup VIM: ex: et ts=2 enc=utf-8 : +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/inc/subscription.php b/inc/subscription.php index 12f0a4b82..69e153cf5 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -214,7 +214,7 @@ function subscription_regex($pre = array()) { * * @param array $data Containing $id (the page id), $self (whether the author * should be notified, $addresslist (current email address - list) + * list) * * @author Steven Danz * @author Adrian Lang -- cgit v1.2.3 From 61d58d1a4410c231ef660fffdf06e382b3df9624 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 29 Jan 2010 14:33:52 +0100 Subject: PHP CodeSniffer updates --- _cs/DokuWiki/DokuWikiCodingStandard.php | 2 +- .../Sniffs/PHP/DiscouragedFunctionsSniff.php | 56 ++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 _cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php diff --git a/_cs/DokuWiki/DokuWikiCodingStandard.php b/_cs/DokuWiki/DokuWikiCodingStandard.php index 75198ad60..36133fc46 100644 --- a/_cs/DokuWiki/DokuWikiCodingStandard.php +++ b/_cs/DokuWiki/DokuWikiCodingStandard.php @@ -54,7 +54,7 @@ class PHP_CodeSniffer_Standards_DokuWiki_DokuWikiCodingStandard extends PHP_Code 'Squiz/Sniffs/PHP/NonExecutableCodeSniff.php', // 'Squiz/Sniffs/PHP/CommentedOutCodeSniff.php', //FIXME should ignore oneliners 'Squiz/Sniffs/WhiteSpace/SuperfluousWhitespaceSniff.php', - + 'Squiz/Sniffs/PHP/NonExecutableCodeSniff.php', 'Squiz/Sniffs/CSS/LowercaseStyleDefinitionSniff.php', 'Squiz/Sniffs/CSS/MissingColonSniff.php', 'Squiz/Sniffs/CSS/DisallowMultipleStyleDefinitionsSniff.php', diff --git a/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php b/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php new file mode 100644 index 000000000..c95e0fd33 --- /dev/null +++ b/_cs/DokuWiki/Sniffs/PHP/DiscouragedFunctionsSniff.php @@ -0,0 +1,56 @@ + + * @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600) + * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence + * @version CVS: $Id: DiscouragedFunctionsSniff.php 265110 2008-08-19 06:36:11Z squiz $ + * @link http://pear.php.net/package/PHP_CodeSniffer + */ + +if (class_exists('Generic_Sniffs_PHP_ForbiddenFunctionsSniff', true) === false) { + throw new PHP_CodeSniffer_Exception('Class Generic_Sniffs_PHP_ForbiddenFunctionsSniff not found'); +} + +/** + * DokuWiki_Sniffs_PHP_DiscouragedFunctionsSniff. + * + * @category PHP + * @package PHP_CodeSniffer + * @author Greg Sherwood + * @copyright 2006 Squiz Pty Ltd (ABN 77 084 670 600) + * @license http://matrix.squiz.net/developer/tools/php_cs/licence BSD Licence + * @version Release: 1.2.2 + * @link http://pear.php.net/package/PHP_CodeSniffer + */ +class DokuWiki_Sniffs_PHP_DiscouragedFunctionsSniff extends Generic_Sniffs_PHP_ForbiddenFunctionsSniff +{ + + /** + * A list of forbidden functions with their alternatives. + * + * The value is NULL if no alternative exists. IE, the + * function should just not be used. + * + * @var array(string => string|null) + */ + protected $forbiddenFunctions = array( + 'date' => 'dformat', + 'strftime' => 'dformat', + ); + + /** + * If true, an error will be thrown; otherwise a warning. + * + * @var bool + */ + protected $error = false; + +}//end class + +?> -- cgit v1.2.3 From 8af66ab927067b9d8f9d71963e266a08967fa9d1 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 29 Jan 2010 17:08:40 +0100 Subject: table: Remove redundant parser data, update tests --- _test/cases/inc/parser/parser_footnote.test.php | 2 +- _test/cases/inc/parser/parser_i18n.test.php | 3 +-- _test/cases/inc/parser/parser_table.test.php | 32 ++++++++++++------------- inc/parser/handler.php | 2 +- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/_test/cases/inc/parser/parser_footnote.test.php b/_test/cases/inc/parser/parser_footnote.test.php index 2b00a0b2e..08d199182 100644 --- a/_test/cases/inc/parser/parser_footnote.test.php +++ b/_test/cases/inc/parser/parser_footnote.test.php @@ -282,7 +282,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(8, 123)), array('cdata',array(' ')), array('footnote_close',array()), ))), diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php index 8d587fe0e..e97a0cf51 100644 --- a/_test/cases/inc/parser/parser_i18n.test.php +++ b/_test/cases/inc/parser/parser_i18n.test.php @@ -110,13 +110,12 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 153)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), array('document_end',array()), ); - $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php index f84923dfd..981f85217 100644 --- a/_test/cases/inc/parser/parser_table.test.php +++ b/_test/cases/inc/parser/parser_table.test.php @@ -42,7 +42,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 121)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -82,7 +82,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 121)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -106,13 +106,13 @@ def'); array('table_open',array(0,1)), array('tablerow_open',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 7)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), array('document_end',array()), ); - + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } @@ -140,13 +140,13 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 19)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), array('document_end',array()), ); - + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } @@ -175,13 +175,13 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 23)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), array('document_end',array()), ); - + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } @@ -218,7 +218,7 @@ def'); array('tablerow_close',array()), array('tablerow_open',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 31)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -266,7 +266,7 @@ def'); array('cdata',array(':::f')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 51)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -304,7 +304,7 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 27)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -351,7 +351,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 121)), array('p_open',array()), array('cdata',array('def'.DOKU_PARSER_EOL)), array('p_close',array()), @@ -403,7 +403,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 129)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -451,7 +451,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 155)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -498,7 +498,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 123)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -555,7 +555,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array()), + array('table_close',array(6, 129)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), diff --git a/inc/parser/handler.php b/inc/parser/handler.php index ea5a69b35..141cbcaf0 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -1205,7 +1205,7 @@ class Doku_Handler_Table { $this->tableCell($call); break; case 'table_end': - $this->tableRowClose(array('tablerow_close',$call[1],$call[2])); + $this->tableRowClose(array('tablerow_close', array())); $this->tableEnd($call); break; default: -- cgit v1.2.3 From 46d41845ed1f3e722a11e31b866023973545fd7c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 31 Jan 2010 17:57:35 +0100 Subject: fixed call-time pass-by-reference warning --- inc/subscription.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/subscription.php b/inc/subscription.php index 69e153cf5..f7614014f 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -135,7 +135,7 @@ function subscription_find($page, $pre) { $subscription = trim($subscription) . " every\n"; } if (preg_match(subscription_regex($pre), $subscription, - &$line_matches) === 0) { + $line_matches) === 0) { continue; } $match = array_slice($line_matches, 1); -- cgit v1.2.3 From fcd3bb7cfe60027407e0af2ec83fafbf89758e9c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 31 Jan 2010 18:00:38 +0100 Subject: fixed file header --- inc/indexer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/indexer.php b/inc/indexer.php index 14af579bb..39592e8f4 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -1,6 +1,6 @@ -- cgit v1.2.3 From 16905344219a6293705b71cd526fad3ba07b04eb Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 31 Jan 2010 19:02:14 +0100 Subject: first attempt to centralize all include loading Classes are loaded throug PHP5's class autoloader, all other includes are just loaded by default. This skips a lot of require_once calls. Parser and Plugin stuff isn't handled by the class loader yet. --- doku.php | 7 +--- inc/FeedParser.php | 3 -- inc/JSON.php | 1 - inc/actions.php | 2 -- inc/auth.php | 100 ++++++++++++++++++++++++++------------------------- inc/cache.php | 3 -- inc/common.php | 7 ---- inc/events.php | 1 - inc/form.php | 1 - inc/fulltext.php | 2 -- inc/html.php | 2 -- inc/indexer.php | 3 -- inc/infoutils.php | 1 - inc/init.php | 8 +++-- inc/io.php | 4 --- inc/load.php | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++ inc/mail.php | 2 -- inc/media.php | 3 -- inc/parserutils.php | 4 --- inc/pluginutils.php | 1 - inc/search.php | 1 - inc/subscription.php | 2 -- inc/toolbar.php | 2 -- 23 files changed, 156 insertions(+), 102 deletions(-) create mode 100644 inc/load.php diff --git a/doku.php b/doku.php index 3963a5aa0..990bb43d3 100644 --- a/doku.php +++ b/doku.php @@ -20,13 +20,8 @@ if (isset($_SERVER['HTTP_X_DOKUWIKI_DO'])){ $ACT = 'show'; } +// load and initialize the core system require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/events.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/html.php'); -require_once(DOKU_INC.'inc/auth.php'); -require_once(DOKU_INC.'inc/actions.php'); //import variables $QUERY = trim($_REQUEST['id']); diff --git a/inc/FeedParser.php b/inc/FeedParser.php index f37888f01..9d00e7abf 100644 --- a/inc/FeedParser.php +++ b/inc/FeedParser.php @@ -6,9 +6,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/HTTPClient.php'); -require_once(DOKU_INC.'inc/SimplePie.php'); - /** * We override some methods of the original SimplePie class here diff --git a/inc/JSON.php b/inc/JSON.php index 7ec400092..332827f4c 100644 --- a/inc/JSON.php +++ b/inc/JSON.php @@ -59,7 +59,6 @@ // for DokuWiki if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/utf8.php'); /** * Marker constant for JSON::decode(), used to flag stack state diff --git a/inc/actions.php b/inc/actions.php index 1fda0584e..7f9cb26d0 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -7,8 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/template.php'); - /** * Call the needed action handlers diff --git a/inc/auth.php b/inc/auth.php index c18104487..33626cf80 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -10,8 +10,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/io.php'); // some ACL level defines define('AUTH_NONE',0); @@ -22,15 +20,23 @@ define('AUTH_UPLOAD',8); define('AUTH_DELETE',16); define('AUTH_ADMIN',255); -global $conf; - -if($conf['useacl']){ - require_once(DOKU_INC.'inc/blowfish.php'); - require_once(DOKU_INC.'inc/mail.php'); - +/** + * Initialize the auth system. + * + * This function is automatically called at the end of init.php + * + * This used to be the main() of the auth.php + * + * @todo backend loading maybe should be handled by the class autoloader + * @todo maybe split into multiple functions at the XXX marked positions + */ +function auth_setup(){ + global $conf; global $auth; - // load the the backend auth functions and instantiate the auth object + if(!$conf['useacl']) return false; + + // load the the backend auth functions and instantiate the auth object XXX if (@file_exists(DOKU_INC.'inc/auth/'.$conf['authtype'].'.class.php')) { require_once(DOKU_INC.'inc/auth/basic.class.php'); require_once(DOKU_INC.'inc/auth/'.$conf['authtype'].'.class.php'); @@ -50,51 +56,49 @@ if($conf['useacl']){ } else { nice_die($lang['authmodfailed']); } -} -// do the login either by cookie or provided credentials -if($conf['useacl']){ - if($auth){ - if (!isset($_REQUEST['u'])) $_REQUEST['u'] = ''; - if (!isset($_REQUEST['p'])) $_REQUEST['p'] = ''; - if (!isset($_REQUEST['r'])) $_REQUEST['r'] = ''; - $_REQUEST['http_credentials'] = false; - if (!$conf['rememberme']) $_REQUEST['r'] = false; - - // streamline HTTP auth credentials (IIS/rewrite -> mod_php) - if(isset($_SERVER['HTTP_AUTHORIZATION'])){ - list($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']) = - explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); - } + if(!$auth) return; - // if no credentials were given try to use HTTP auth (for SSO) - if(empty($_REQUEST['u']) && empty($_COOKIE[DOKU_COOKIE]) && !empty($_SERVER['PHP_AUTH_USER'])){ - $_REQUEST['u'] = $_SERVER['PHP_AUTH_USER']; - $_REQUEST['p'] = $_SERVER['PHP_AUTH_PW']; - $_REQUEST['http_credentials'] = true; - } + // do the login either by cookie or provided credentials XXX + if (!isset($_REQUEST['u'])) $_REQUEST['u'] = ''; + if (!isset($_REQUEST['p'])) $_REQUEST['p'] = ''; + if (!isset($_REQUEST['r'])) $_REQUEST['r'] = ''; + $_REQUEST['http_credentials'] = false; + if (!$conf['rememberme']) $_REQUEST['r'] = false; - // apply cleaning - $_REQUEST['u'] = $auth->cleanUser($_REQUEST['u']); + // streamline HTTP auth credentials (IIS/rewrite -> mod_php) + if(isset($_SERVER['HTTP_AUTHORIZATION'])){ + list($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW']) = + explode(':', base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); + } - if(isset($_REQUEST['authtok'])){ - // when an authentication token is given, trust the session - auth_validateToken($_REQUEST['authtok']); - }elseif(!is_null($auth) && $auth->canDo('external')){ - // external trust mechanism in place - $auth->trustExternal($_REQUEST['u'],$_REQUEST['p'],$_REQUEST['r']); - }else{ - $evdata = array( - 'user' => $_REQUEST['u'], - 'password' => $_REQUEST['p'], - 'sticky' => $_REQUEST['r'], - 'silent' => $_REQUEST['http_credentials'], - ); - trigger_event('AUTH_LOGIN_CHECK', $evdata, 'auth_login_wrapper'); - } + // if no credentials were given try to use HTTP auth (for SSO) + if(empty($_REQUEST['u']) && empty($_COOKIE[DOKU_COOKIE]) && !empty($_SERVER['PHP_AUTH_USER'])){ + $_REQUEST['u'] = $_SERVER['PHP_AUTH_USER']; + $_REQUEST['p'] = $_SERVER['PHP_AUTH_PW']; + $_REQUEST['http_credentials'] = true; + } + + // apply cleaning + $_REQUEST['u'] = $auth->cleanUser($_REQUEST['u']); + + if(isset($_REQUEST['authtok'])){ + // when an authentication token is given, trust the session + auth_validateToken($_REQUEST['authtok']); + }elseif(!is_null($auth) && $auth->canDo('external')){ + // external trust mechanism in place + $auth->trustExternal($_REQUEST['u'],$_REQUEST['p'],$_REQUEST['r']); + }else{ + $evdata = array( + 'user' => $_REQUEST['u'], + 'password' => $_REQUEST['p'], + 'sticky' => $_REQUEST['r'], + 'silent' => $_REQUEST['http_credentials'], + ); + trigger_event('AUTH_LOGIN_CHECK', $evdata, 'auth_login_wrapper'); } - //load ACL into a global array + //load ACL into a global array XXX global $AUTH_ACL; if(is_readable(DOKU_CONF.'acl.auth.php')){ $AUTH_ACL = file(DOKU_CONF.'acl.auth.php'); diff --git a/inc/cache.php b/inc/cache.php index 2e22edfb1..571b314cd 100644 --- a/inc/cache.php +++ b/inc/cache.php @@ -7,9 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/parserutils.php'); class cache { var $key = ''; // primary identifier for this item diff --git a/inc/common.php b/inc/common.php index 9cadb56fd..ef35ca863 100644 --- a/inc/common.php +++ b/inc/common.php @@ -7,13 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/changelog.php'); -require_once(DOKU_INC.'inc/utf8.php'); -require_once(DOKU_INC.'inc/mail.php'); -require_once(DOKU_INC.'inc/parserutils.php'); -require_once(DOKU_INC.'inc/infoutils.php'); -require_once DOKU_INC.'inc/subscription.php'; /** * These constants are used with the recents function diff --git a/inc/events.php b/inc/events.php index e6b608f20..1c82af003 100644 --- a/inc/events.php +++ b/inc/events.php @@ -7,7 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/pluginutils.php'); class Doku_Event { diff --git a/inc/form.php b/inc/form.php index 0a6bc2bba..cebaf4608 100644 --- a/inc/form.php +++ b/inc/form.php @@ -7,7 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/html.php'); /** * Class for creating simple HTML forms. diff --git a/inc/fulltext.php b/inc/fulltext.php index 94c68d675..58d17422a 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -7,8 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/indexer.php'); - /** * The fulltext search diff --git a/inc/html.php b/inc/html.php index 8a215f440..5e1d0bab3 100644 --- a/inc/html.php +++ b/inc/html.php @@ -8,8 +8,6 @@ if(!defined('DOKU_INC')) die('meh.'); if(!defined('NL')) define('NL',"\n"); -require_once(DOKU_INC.'inc/parserutils.php'); -require_once(DOKU_INC.'inc/form.php'); /** * Convenience function to quickly build a wikilink diff --git a/inc/indexer.php b/inc/indexer.php index 39592e8f4..07b67c014 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -7,9 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/utf8.php'); -require_once(DOKU_INC.'inc/parserutils.php'); // set the minimum token length to use in the index (note, this doesn't apply to numeric tokens) if (!defined('IDX_MINWORDLENGTH')) define('IDX_MINWORDLENGTH',2); diff --git a/inc/infoutils.php b/inc/infoutils.php index d5356969b..6f2874fe5 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -7,7 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); if(!defined('DOKU_MESSAGEURL')) define('DOKU_MESSAGEURL','http://update.dokuwiki.org/check/'); -require_once(DOKU_INC.'inc/HTTPClient.php'); /** * Check for new messages from upstream diff --git a/inc/init.php b/inc/init.php index 6fb9559ce..3cff40073 100644 --- a/inc/init.php +++ b/inc/init.php @@ -37,6 +37,9 @@ if (!defined('DOKU_E_LEVEL')) { error_reporting(DOKU_E_LEVEL); } +// load libraries +require_once(DOKU_INC.'inc/load.php'); + // init memory caches global $cache_revinfo; $cache_revinfo = array(); @@ -245,6 +248,8 @@ init_files(); scriptify(DOKU_CONF.'users.auth'); scriptify(DOKU_CONF.'acl.auth'); +// setup authentication system +auth_setup(); /** * Checks paths from config file @@ -526,7 +531,6 @@ EOT; exit; } - /** * A realpath() replacement * @@ -588,5 +592,3 @@ function fullpath($path,$exists=false){ return $finalpath; } - - diff --git a/inc/io.php b/inc/io.php index 32a6f7b8e..1d69dabc9 100644 --- a/inc/io.php +++ b/inc/io.php @@ -7,10 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/HTTPClient.php'); -require_once(DOKU_INC.'inc/events.php'); -require_once(DOKU_INC.'inc/utf8.php'); /** * Removes empty directories diff --git a/inc/load.php b/inc/load.php new file mode 100644 index 000000000..9d305e3a9 --- /dev/null +++ b/inc/load.php @@ -0,0 +1,98 @@ + + */ + +// setup class autoloader +spl_autoload_register('load_autoload'); + +// require all the common libraries +// for a e few of these order does matter +require_once(DOKU_INC.'inc/DifferenceEngine.php'); +require_once(DOKU_INC.'inc/EmailAddressValidator.php'); +require_once(DOKU_INC.'inc/SimplePie.php'); +require_once(DOKU_INC.'inc/FeedParser.php'); +require_once(DOKU_INC.'inc/HTTPClient.php'); +require_once(DOKU_INC.'inc/IXR_Library.php'); +require_once(DOKU_INC.'inc/JSON.php'); +require_once(DOKU_INC.'inc/JpegMeta.php'); +require_once(DOKU_INC.'inc/TarLib.class.php'); +require_once(DOKU_INC.'inc/ZipLib.class.php'); +require_once(DOKU_INC.'inc/adLDAP.php'); +require_once(DOKU_INC.'inc/blowfish.php'); +require_once(DOKU_INC.'inc/feedcreator.class.php'); +require_once(DOKU_INC.'inc/geshi.php'); +require_once(DOKU_INC.'inc/actions.php'); +require_once(DOKU_INC.'inc/cache.php'); +require_once(DOKU_INC.'inc/changelog.php'); +require_once(DOKU_INC.'inc/cliopts.php'); +require_once(DOKU_INC.'inc/common.php'); +require_once(DOKU_INC.'inc/confutils.php'); +require_once(DOKU_INC.'inc/pluginutils.php'); +require_once(DOKU_INC.'inc/plugin.php'); +require_once(DOKU_INC.'inc/plugincontroller.class.php'); +require_once(DOKU_INC.'inc/events.php'); +require_once(DOKU_INC.'inc/form.php'); +require_once(DOKU_INC.'inc/fulltext.php'); +require_once(DOKU_INC.'inc/html.php'); +require_once(DOKU_INC.'inc/httputils.php'); +require_once(DOKU_INC.'inc/indexer.php'); +require_once(DOKU_INC.'inc/infoutils.php'); +require_once(DOKU_INC.'inc/init.php'); +require_once(DOKU_INC.'inc/io.php'); +require_once(DOKU_INC.'inc/load.php'); +require_once(DOKU_INC.'inc/mail.php'); +require_once(DOKU_INC.'inc/media.php'); +require_once(DOKU_INC.'inc/pageutils.php'); +require_once(DOKU_INC.'inc/parserutils.php'); +require_once(DOKU_INC.'inc/search.php'); +require_once(DOKU_INC.'inc/subscription.php'); +require_once(DOKU_INC.'inc/template.php'); +require_once(DOKU_INC.'inc/toolbar.php'); +require_once(DOKU_INC.'inc/utf8.php'); +require_once(DOKU_INC.'inc/auth.php'); + +/** + * spl_autoload_register callback + * + * Contains a static list of DokuWiki's core classes and automatically + * requires their associated php files when an object is instantiated. + * + * @author Andreas Gohr + * @todo add generic loading of plugins here + */ +function load_autoload($name){ + static $classes = null; + if(is_null($classes)) $classes = array( + 'DokuHTTPClient' => DOKU_INC.'inc/HTTPClient.php', + 'DokuEvent' => DOKU_INC.'inc/', + 'JSON' => DOKU_INC.'inc/JSON.php', + 'adLDAP' => DOKU_INC.'inc/adLDAP.php', + 'Diff' => DOKU_INC.'inc/DifferenceEngine.php', + 'UnifiedDiffFormatter' => DOKU_INC.'inc/DifferenceEngine.php', + 'TableDiffFormatter' => DOKU_INC.'inc/DifferenceEngine.php', + 'cache' => DOKU_INC.'inc/cache.php', + 'cache_parser' => DOKU_INC.'inc/cache.php', + 'cache_instructions' => DOKU_INC.'inc/cache.php', + 'cache_renderer' => DOKU_INC.'inc/cache.php', + 'Doku_Event' => DOKU_INC.'inc/events.php', + 'Doku_Event_Handler' => DOKU_INC.'inc/events.php', + 'Doku_Form' => DOKU_INC.'inc/form.php', + 'EmailAddressValidator' => DOKU_INC.'inc/EmailAddressValidator.php', + 'JpegMeta' => DOKU_INC.'inc/JpegMeta.php', + 'FeedParser' => DOKU_INC.'inc/FeedParser.php', + 'utf8_entity_decoder' => DOKU_INC.'inc/utf8.php', + 'IXR_Server' => DOKU_INC.'inc/IXR_Library.php', + 'IXR_Client' => DOKU_INC.'inc/IXR_Library.php', + 'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php', + 'GeSHi' => DOKU_INC.'inc/geshi.php', + ); + + if(isset($classes[$name])){ + require_once($classes[$name]); + return; + } +} + diff --git a/inc/mail.php b/inc/mail.php index 3b0592b8b..6d1652fc0 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -7,8 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/utf8.php'); -require_once(DOKU_INC.'inc/EmailAddressValidator.php'); // end of line for mail lines - RFC822 says CRLF but postfix (and other MTAs?) // think different diff --git a/inc/media.php b/inc/media.php index 3850f4e33..444e6d432 100644 --- a/inc/media.php +++ b/inc/media.php @@ -8,9 +8,6 @@ if(!defined('DOKU_INC')) die('meh.'); if(!defined('NL')) define('NL',"\n"); -require_once(DOKU_INC.'inc/html.php'); -require_once(DOKU_INC.'inc/search.php'); -require_once(DOKU_INC.'inc/JpegMeta.php'); /** * Lists pages which currently use a media file selected for deletion diff --git a/inc/parserutils.php b/inc/parserutils.php index 471d46903..34d9e5282 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -8,10 +8,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/confutils.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/pluginutils.php'); -require_once(DOKU_INC.'inc/cache.php'); /** * Returns the parsed Wikitext in XHTML for the given id and revision. diff --git a/inc/pluginutils.php b/inc/pluginutils.php index 8294d1ec8..a8656a96a 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -8,7 +8,6 @@ // plugin related constants if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/plugincontroller.class.php'); $plugin_types = array('admin','syntax','action','renderer', 'helper'); diff --git a/inc/search.php b/inc/search.php index 2b9a51fb3..ce4fefe06 100644 --- a/inc/search.php +++ b/inc/search.php @@ -7,7 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/common.php'); /** * recurse direcory diff --git a/inc/subscription.php b/inc/subscription.php index f7614014f..e98129b77 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -14,8 +14,6 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) */ -require_once DOKU_INC.'/inc/pageutils.php'; - /** * Get the name of the metafile tracking subscriptions to target page or * namespace diff --git a/inc/toolbar.php b/inc/toolbar.php index 9140970d1..5d1149df3 100644 --- a/inc/toolbar.php +++ b/inc/toolbar.php @@ -7,8 +7,6 @@ */ if(!defined('DOKU_INC')) die('meh.'); -require_once(DOKU_INC.'inc/JSON.php'); - /** * Prepares and prints an JavaScript array with all toolbar buttons -- cgit v1.2.3 From eba9da2d4784b9ff1fb8cdc545118a081c546e93 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 1 Feb 2010 11:39:00 +0100 Subject: Fix auth_ismanager calls in test cases --- _test/cases/inc/auth_admincheck.test.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_test/cases/inc/auth_admincheck.test.php b/_test/cases/inc/auth_admincheck.test.php index c00271a26..f14d6369e 100644 --- a/_test/cases/inc/auth_admincheck.test.php +++ b/_test/cases/inc/auth_admincheck.test.php @@ -19,11 +19,11 @@ class auth_admin_test extends UnitTestCase { $conf['manager'] = 'john,@managers,doe'; // anonymous user - $this->assertEqual(auth_ismanager('jill', '',false), false); + $this->assertEqual(auth_ismanager('jill', null,false), false); // admin or manager users - $this->assertEqual(auth_ismanager('john', '',false), true); - $this->assertEqual(auth_ismanager('doe', '',false), true); + $this->assertEqual(auth_ismanager('john', null,false), true); + $this->assertEqual(auth_ismanager('doe', null,false), true); // admin or manager groups $this->assertEqual(auth_ismanager('jill', array('admin'),false), true); @@ -35,11 +35,11 @@ class auth_admin_test extends UnitTestCase { $conf['superuser'] = 'john,@admin,doe,@roots'; // anonymous user - $this->assertEqual(auth_ismanager('jill', '',true), false); + $this->assertEqual(auth_ismanager('jill', null,true), false); // admin user - $this->assertEqual(auth_ismanager('john', '',true), true); - $this->assertEqual(auth_ismanager('doe', '',true), true); + $this->assertEqual(auth_ismanager('john', null,true), true); + $this->assertEqual(auth_ismanager('doe', null,true), true); // admin groups $this->assertEqual(auth_ismanager('jill', array('admin'),true), true); -- cgit v1.2.3 From f8f3bfb0816ee4940fd5efe295903a0f6b5e03f8 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 1 Feb 2010 11:56:51 +0100 Subject: Add tests for em from old bug reports (failing) --- _test/cases/inc/parser/parser_formatting.test.php | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/_test/cases/inc/parser/parser_formatting.test.php b/_test/cases/inc/parser/parser_formatting.test.php index 35bb41a6a..79509f40b 100644 --- a/_test/cases/inc/parser/parser_formatting.test.php +++ b/_test/cases/inc/parser/parser_formatting.test.php @@ -168,6 +168,48 @@ class TestOfDoku_Parser_Formatting extends TestOfDoku_Parser { $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } + function testEmWithMultiOccurence() { + // Case from #763 + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('//text:// Blablabla Blablabla + +//text:// another Blablabla Blablabla'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n")), + array('emphasis_open',array()), + array('cdata',array('text:')), + array('emphasis_close',array()), + array('cdata',array(" Blablabla Blablabla\n\n")), + array('emphasis_open',array()), + array('cdata',array('text:')), + array('emphasis_close',array()), + array('cdata',array(" another Blablabla Blablabla\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testEmWithUnicode() { + // Case from #1468 + $this->P->addMode('emphasis',new Doku_Parser_Mode_Formatting('emphasis')); + $this->P->parse('//Тест://'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n")), + array('emphasis_open',array()), + array('cdata',array('Тест:')), + array('emphasis_close',array()), + array('cdata',array("\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + function testUnderline() { $this->P->addMode('underline',new Doku_Parser_Mode_Formatting('underline')); $this->P->parse('abc __bar__ def'); -- cgit v1.2.3 From 2dcde3047b0cbc7cb75b3d9f84fd05a217b7fced Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 1 Feb 2010 15:18:39 +0100 Subject: do not autorequire class only libraries those are loaded on demand through the autoloader mechanism Also cliopts.php is not loaded automatically at all --- inc/load.php | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/inc/load.php b/inc/load.php index 9d305e3a9..792f05e27 100644 --- a/inc/load.php +++ b/inc/load.php @@ -10,29 +10,17 @@ spl_autoload_register('load_autoload'); // require all the common libraries // for a e few of these order does matter -require_once(DOKU_INC.'inc/DifferenceEngine.php'); -require_once(DOKU_INC.'inc/EmailAddressValidator.php'); -require_once(DOKU_INC.'inc/SimplePie.php'); -require_once(DOKU_INC.'inc/FeedParser.php'); -require_once(DOKU_INC.'inc/HTTPClient.php'); require_once(DOKU_INC.'inc/IXR_Library.php'); -require_once(DOKU_INC.'inc/JSON.php'); -require_once(DOKU_INC.'inc/JpegMeta.php'); -require_once(DOKU_INC.'inc/TarLib.class.php'); -require_once(DOKU_INC.'inc/ZipLib.class.php'); require_once(DOKU_INC.'inc/adLDAP.php'); require_once(DOKU_INC.'inc/blowfish.php'); require_once(DOKU_INC.'inc/feedcreator.class.php'); require_once(DOKU_INC.'inc/geshi.php'); require_once(DOKU_INC.'inc/actions.php'); -require_once(DOKU_INC.'inc/cache.php'); require_once(DOKU_INC.'inc/changelog.php'); -require_once(DOKU_INC.'inc/cliopts.php'); require_once(DOKU_INC.'inc/common.php'); require_once(DOKU_INC.'inc/confutils.php'); require_once(DOKU_INC.'inc/pluginutils.php'); require_once(DOKU_INC.'inc/plugin.php'); -require_once(DOKU_INC.'inc/plugincontroller.class.php'); require_once(DOKU_INC.'inc/events.php'); require_once(DOKU_INC.'inc/form.php'); require_once(DOKU_INC.'inc/fulltext.php'); @@ -58,7 +46,7 @@ require_once(DOKU_INC.'inc/auth.php'); * spl_autoload_register callback * * Contains a static list of DokuWiki's core classes and automatically - * requires their associated php files when an object is instantiated. + * require()s their associated php files when an object is instantiated. * * @author Andreas Gohr * @todo add generic loading of plugins here @@ -67,7 +55,6 @@ function load_autoload($name){ static $classes = null; if(is_null($classes)) $classes = array( 'DokuHTTPClient' => DOKU_INC.'inc/HTTPClient.php', - 'DokuEvent' => DOKU_INC.'inc/', 'JSON' => DOKU_INC.'inc/JSON.php', 'adLDAP' => DOKU_INC.'inc/adLDAP.php', 'Diff' => DOKU_INC.'inc/DifferenceEngine.php', @@ -79,15 +66,16 @@ function load_autoload($name){ 'cache_renderer' => DOKU_INC.'inc/cache.php', 'Doku_Event' => DOKU_INC.'inc/events.php', 'Doku_Event_Handler' => DOKU_INC.'inc/events.php', - 'Doku_Form' => DOKU_INC.'inc/form.php', 'EmailAddressValidator' => DOKU_INC.'inc/EmailAddressValidator.php', 'JpegMeta' => DOKU_INC.'inc/JpegMeta.php', + 'SimplePie' => DOKU_INC.'inc/SimplePie.php', 'FeedParser' => DOKU_INC.'inc/FeedParser.php', - 'utf8_entity_decoder' => DOKU_INC.'inc/utf8.php', 'IXR_Server' => DOKU_INC.'inc/IXR_Library.php', 'IXR_Client' => DOKU_INC.'inc/IXR_Library.php', 'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php', 'GeSHi' => DOKU_INC.'inc/geshi.php', + 'TarLib' => DOKU_INC.'inc/TarLib.class.php', + 'ZibLib' => DOKU_INC.'inc/ZipLib.class.php', ); if(isset($classes[$name])){ -- cgit v1.2.3 From 0af14a6e25ba35e88d96762bc73325838868e3fe Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 1 Feb 2010 15:38:41 +0100 Subject: removed more unneeded require_once() calls --- inc/IXR_Library.php | 1 - inc/actions.php | 1 - inc/common.php | 2 -- inc/fulltext.php | 1 - inc/html.php | 5 ----- inc/infoutils.php | 1 - inc/media.php | 2 -- inc/parserutils.php | 2 -- inc/search.php | 2 -- inc/subscription.php | 1 - inc/template.php | 2 -- 11 files changed, 20 deletions(-) diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index 25d1066b0..afa496aed 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -364,7 +364,6 @@ EOD; #$result = $this->$method($args); $result = call_user_func_array(array(&$this,$method),$args); } elseif (substr($method, 0, 7) == 'plugin:') { - require_once(DOKU_INC.'inc/pluginutils.php'); list($pluginname, $callback) = explode(':', substr($method, 7), 2); if(!plugin_isdisabled($pluginname)) { $plugin = plugin_load('action', $pluginname); diff --git a/inc/actions.php b/inc/actions.php index 7f9cb26d0..91a1d9cdd 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -580,7 +580,6 @@ function act_subscription($act){ $action = $params['action']; // Perform action. - require_once DOKU_INC . 'inc/subscription.php'; if (!subscription_set($_SERVER['REMOTE_USER'], $target, $style, $data)) { throw new Exception(sprintf($lang["subscr_{$action}_error"], hsc($INFO['userinfo']['name']), diff --git a/inc/common.php b/inc/common.php index ef35ca863..c68eb2899 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1003,7 +1003,6 @@ function saveWikiText($id,$text,$summary,$minor=false){ // if useheading is enabled, purge the cache of all linking pages if(useHeading('content')){ - require_once(DOKU_INC.'inc/fulltext.php'); $pages = ft_backlinks($id); foreach ($pages as $page) { $cache = new cache_renderer($page, wikiFN($page), 'xhtml'); @@ -1091,7 +1090,6 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ }elseif($rev){ $subject = $lang['mail_changed'].' '.$id; $text = str_replace('@OLDPAGE@',wl($id,"rev=$rev",true,'&'),$text); - require_once(DOKU_INC.'inc/DifferenceEngine.php'); $df = new Diff(explode("\n",rawWiki($id,$rev)), explode("\n",rawWiki($id))); $dformat = new UnifiedDiffFormatter(); diff --git a/inc/fulltext.php b/inc/fulltext.php index 58d17422a..76dd01d1f 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -133,7 +133,6 @@ function ft_backlinks($id){ $docs = array_keys(ft_resultCombine(array_values($matches))); $docs = array_filter($docs,'isVisiblePage'); // discard hidden pages if(!count($docs)) return $result; - require_once(DOKU_INC.'inc/parserutils.php'); // check metadata for matching links foreach($docs as $match){ diff --git a/inc/html.php b/inc/html.php index 5e1d0bab3..2d6c0a093 100644 --- a/inc/html.php +++ b/inc/html.php @@ -296,8 +296,6 @@ function html_hilight_callback($m) { * @author Andreas Gohr */ function html_search(){ - require_once(DOKU_INC.'inc/search.php'); - require_once(DOKU_INC.'inc/fulltext.php'); global $conf; global $QUERY; global $ID; @@ -690,7 +688,6 @@ function html_recent($first=0){ * @author Andreas Gohr */ function html_index($ns){ - require_once(DOKU_INC.'inc/search.php'); global $conf; global $ID; $dir = $conf['datadir']; @@ -828,7 +825,6 @@ function html_buildlist($data,$class,$func,$lifunc='html_li_default'){ * @author Michael Klier */ function html_backlinks(){ - require_once(DOKU_INC.'inc/fulltext.php'); global $ID; global $conf; global $lang; @@ -856,7 +852,6 @@ function html_backlinks(){ * @author Andreas Gohr */ function html_diff($text='',$intro=true){ - require_once(DOKU_INC.'inc/DifferenceEngine.php'); global $ID; global $REV; global $lang; diff --git a/inc/infoutils.php b/inc/infoutils.php index 6f2874fe5..00a3ad2d3 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -222,7 +222,6 @@ function check(){ msg('The current page is not writable by you',0); } - require_once(DOKU_INC.'inc/HTTPClient.php'); $check = wl('','',true).'data/_dummy'; $http = new DokuHTTPClient(); $http->timeout = 6; diff --git a/inc/media.php b/inc/media.php index 444e6d432..668f42d6a 100644 --- a/inc/media.php +++ b/inc/media.php @@ -149,7 +149,6 @@ function media_inuse($id) { global $conf; $mediareferences = array(); if($conf['refcheck']){ - require_once(DOKU_INC.'inc/fulltext.php'); $mediareferences = ft_mediause($id,$conf['refshow']); if(!count($mediareferences)) { return false; @@ -227,7 +226,6 @@ function media_delete($id,$auth){ function media_upload($ns,$auth){ if($auth < AUTH_UPLOAD) return false; if(!checkSecurityToken()) return false; - require_once(DOKU_INC.'inc/confutils.php'); global $lang; global $conf; diff --git a/inc/parserutils.php b/inc/parserutils.php index 34d9e5282..8e2c6e000 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -644,8 +644,6 @@ function p_xhtml_cached_geshi($code, $language, $wrapper='pre') { } else { - require_once(DOKU_INC . 'inc/geshi.php'); - $geshi = new GeSHi($code, $language, DOKU_INC . 'inc/geshi'); $geshi->set_encoding('utf-8'); $geshi->enable_classes(); diff --git a/inc/search.php b/inc/search.php index ce4fefe06..9e0964404 100644 --- a/inc/search.php +++ b/inc/search.php @@ -194,7 +194,6 @@ function search_media(&$data,$base,$file,$type,$lvl,$opts){ $info['writable'] = is_writable($base.'/'.$file); if(preg_match("/\.(jpe?g|gif|png)$/",$file)){ $info['isimg'] = true; - require_once(DOKU_INC.'inc/JpegMeta.php'); $info['meta'] = new JpegMeta($base.'/'.$file); }else{ $info['isimg'] = false; @@ -320,7 +319,6 @@ function search_backlinks(&$data,$base,$file,$type,$lvl,$opts){ } //fetch instructions - require_once(DOKU_INC.'inc/parserutils.php'); $instructions = p_cached_instructions($base.$file,true); if(is_null($instructions)) return false; diff --git a/inc/subscription.php b/inc/subscription.php index e98129b77..280da225d 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -275,7 +275,6 @@ function subscription_send_digest($subscriber_mail, $change, $lastupdate) { if (!is_null($rev)) { $subject = 'changed'; $replaces['OLDPAGE'] = wl($id, "rev=$rev", true, '&'); - require_once DOKU_INC.'inc/DifferenceEngine.php'; $df = new Diff(explode("\n", rawWiki($id, $rev)), explode("\n", rawWiki($id))); $dformat = new UnifiedDiffFormatter(); diff --git a/inc/template.php b/inc/template.php index bab68e549..bd5f58792 100644 --- a/inc/template.php +++ b/inc/template.php @@ -345,11 +345,9 @@ function tpl_metaheaders($alt=true){ 'href'=>DOKU_BASE.'lib/exe/css.php?s=print&t='.$conf['template'].'&tseed='.$tseed); // make $INFO and other vars available to JavaScripts - require_once(DOKU_INC.'inc/JSON.php'); $json = new JSON(); $script = "var NS='".$INFO['namespace']."';"; if($conf['useacl'] && $_SERVER['REMOTE_USER']){ - require_once(DOKU_INC.'inc/toolbar.php'); $script .= "var SIG='".toolbar_signature()."';"; } $script .= 'var JSINFO = '.$json->encode($JSINFO).';'; -- cgit v1.2.3 From c2a6d81662045023bdf1617b6b49f71c274d55ca Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 1 Feb 2010 16:10:25 +0100 Subject: plugin related autoloading This patch moved the place where DOKU_PLUGIN is defined. It no longer can be set from a normal config (only via preload) --- inc/init.php | 5 +++-- inc/load.php | 5 +++++ lib/plugins/acl/admin.php | 4 ---- lib/plugins/acl/ajax.php | 6 ------ lib/plugins/action.php | 3 --- lib/plugins/admin.php | 3 --- lib/plugins/config/admin.php | 3 --- lib/plugins/config/settings/config.class.php | 2 -- lib/plugins/info/syntax.php | 3 --- lib/plugins/plugin/admin.php | 2 -- lib/plugins/plugin/classes/ap_download.class.php | 3 --- lib/plugins/popularity/admin.php | 6 ------ lib/plugins/revert/admin.php | 4 ---- lib/plugins/syntax.php | 3 --- lib/plugins/usermanager/admin.php | 2 -- 15 files changed, 8 insertions(+), 46 deletions(-) diff --git a/inc/init.php b/inc/init.php index 3cff40073..7f4792cfa 100644 --- a/inc/init.php +++ b/inc/init.php @@ -20,6 +20,9 @@ if (@file_exists($preload)) include($preload); // define the include path if(!defined('DOKU_INC')) define('DOKU_INC',fullpath(dirname(__FILE__).'/../').'/'); +// define Plugin dir +if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); + // define config path (packagers may want to change this to /etc/dokuwiki/) if(!defined('DOKU_CONF')) define('DOKU_CONF',DOKU_INC.'conf/'); @@ -158,8 +161,6 @@ if(!defined('DOKU_TAB')) define ('DOKU_TAB',"\t"); // define cookie and session id, append server port when securecookie is configured FS#1664 if (!defined('DOKU_COOKIE')) define('DOKU_COOKIE', 'DW'.md5(DOKU_REL.(($conf['securecookie'])?$_SERVER['SERVER_PORT']:''))); -// define Plugin dir -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); // define main script if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','doku.php'); diff --git a/inc/load.php b/inc/load.php index 792f05e27..e06a2c63d 100644 --- a/inc/load.php +++ b/inc/load.php @@ -76,6 +76,11 @@ function load_autoload($name){ 'GeSHi' => DOKU_INC.'inc/geshi.php', 'TarLib' => DOKU_INC.'inc/TarLib.class.php', 'ZibLib' => DOKU_INC.'inc/ZipLib.class.php', + + 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', + 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', + 'DokuWiki_Syntax_Plugin' => DOKU_PLUGIN.'syntax.php', + ); if(isset($classes[$name])){ diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index a7037047a..b38d2ac6e 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -10,9 +10,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class @@ -216,7 +213,6 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { * @author Andreas Gohr */ function _html_explorer(){ - require_once(DOKU_INC.'inc/search.php'); global $conf; global $ID; global $lang; diff --git a/lib/plugins/acl/ajax.php b/lib/plugins/acl/ajax.php index d3e88d932..d91586a5d 100644 --- a/lib/plugins/acl/ajax.php +++ b/lib/plugins/acl/ajax.php @@ -13,9 +13,6 @@ if(!count($_POST) && $HTTP_RAW_POST_DATA){ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../../'); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/auth.php'); //close session session_write_close(); @@ -24,8 +21,6 @@ if(!checkSecurityToken()) die('CRSF Attack'); $ID = getID(); -require_once(DOKU_INC.'inc/pluginutils.php'); -require_once(DOKU_INC.'inc/html.php'); $acl = plugin_load('admin','acl'); $acl->handle(); @@ -35,7 +30,6 @@ header('Content-Type: text/html; charset=utf-8'); if($ajax == 'info'){ $acl->_html_info(); }elseif($ajax == 'tree'){ - require_once(DOKU_INC.'inc/search.php'); global $conf; global $ID; diff --git a/lib/plugins/action.php b/lib/plugins/action.php index a26bc654a..885bd7c96 100644 --- a/lib/plugins/action.php +++ b/lib/plugins/action.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/plugin.php'); - /** * All DokuWiki plugins to interfere with the event system * need to inherit from this class diff --git a/lib/plugins/admin.php b/lib/plugins/admin.php index 2eeda3f7b..25f01b657 100644 --- a/lib/plugins/admin.php +++ b/lib/plugins/admin.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/plugin.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index cbee3440a..7cc2918f4 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -9,9 +9,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); - define('CM_KEYMARKER','____'); // used for settings with multiple dimensions of array indices define('PLUGIN_SELF',dirname(__FILE__).'/'); diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index d995e8a30..f9867b8de 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -528,8 +528,6 @@ if (!class_exists('setting_password')) { } if (!class_exists('setting_email')) { - - require_once(DOKU_INC.'inc/mail.php'); if (!defined('SETTING_EMAIL_PATTERN')) define('SETTING_EMAIL_PATTERN','<^'.PREG_PATTERN_VALID_EMAIL.'$>'); class setting_email extends setting_string { diff --git a/lib/plugins/info/syntax.php b/lib/plugins/info/syntax.php index dc0a7d2fc..ba2831a90 100644 --- a/lib/plugins/info/syntax.php +++ b/lib/plugins/info/syntax.php @@ -9,9 +9,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'syntax.php'); - /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class diff --git a/lib/plugins/plugin/admin.php b/lib/plugins/plugin/admin.php index 198512a43..c662b565a 100644 --- a/lib/plugins/plugin/admin.php +++ b/lib/plugins/plugin/admin.php @@ -13,8 +13,6 @@ if(!defined('DOKU_INC')) die(); // - allow a plugin to contain extras to be copied to the current template (extra/tpl/) // - to images (lib/images/) [ not needed, should go in lib/plugin/images/ ] -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); require_once(DOKU_PLUGIN."/plugin/classes/ap_manage.class.php"); //--------------------------[ GLOBALS ]------------------------------------------------ diff --git a/lib/plugins/plugin/classes/ap_download.class.php b/lib/plugins/plugin/classes/ap_download.class.php index 90e5de53b..6ad048d72 100644 --- a/lib/plugins/plugin/classes/ap_download.class.php +++ b/lib/plugins/plugin/classes/ap_download.class.php @@ -197,8 +197,6 @@ class ap_download extends ap_manage { $ext = $this->guess_archive($file); if (in_array($ext, array('tar','bz','gz'))) { - require_once(DOKU_INC."inc/TarLib.class.php"); - switch($ext){ case 'bz': $compress_type = COMPRESS_BZIP; @@ -227,7 +225,6 @@ class ap_download extends ap_manage { } return true; } else if ($ext == 'zip') { - require_once(DOKU_INC."inc/ZipLib.class.php"); $zip = new ZipLib(); $ok = $zip->Extract($file, $target); diff --git a/lib/plugins/popularity/admin.php b/lib/plugins/popularity/admin.php index d084f5b58..c72beafdb 100644 --- a/lib/plugins/popularity/admin.php +++ b/lib/plugins/popularity/admin.php @@ -8,12 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); -require_once(DOKU_INC.'inc/infoutils.php'); -require_once(DOKU_INC.'inc/pluginutils.php'); -require_once(DOKU_INC.'inc/search.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/revert/admin.php b/lib/plugins/revert/admin.php index b24b1ff6e..1a327ca8a 100644 --- a/lib/plugins/revert/admin.php +++ b/lib/plugins/revert/admin.php @@ -2,10 +2,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_PLUGIN.'admin.php'); -require_once(DOKU_INC.'inc/changelog.php'); - /** * All DokuWiki plugins to extend the admin function * need to inherit from this class diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 633e001d2..601b5591e 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -8,9 +8,6 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -require_once(DOKU_INC.'inc/parser/parser.php'); - /** * All DokuWiki plugins to extend the parser/rendering mechanism * need to inherit from this class diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index da6029bbf..4eb923bb1 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -13,9 +13,7 @@ // must be run within Dokuwiki if(!defined('DOKU_INC')) die(); -if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); if(!defined('DOKU_PLUGIN_IMAGES')) define('DOKU_PLUGIN_IMAGES',DOKU_BASE.'lib/plugins/usermanager/images/'); -require_once(DOKU_PLUGIN.'admin.php'); /** * All DokuWiki plugins to extend the admin function -- cgit v1.2.3 From 24b3cb1ac0784ffa2acabf021fdd06c6d49cc7b1 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 1 Feb 2010 16:20:40 +0100 Subject: removed require's in lib/exe/* --- lib/exe/ajax.php | 23 +---------------------- lib/exe/css.php | 4 ---- lib/exe/detail.php | 7 ------- lib/exe/fetch.php | 10 ++-------- lib/exe/indexer.php | 8 -------- lib/exe/js.php | 5 ----- lib/exe/mediamanager.php | 7 ------- lib/exe/xmlrpc.php | 23 ----------------------- 8 files changed, 3 insertions(+), 84 deletions(-) diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 4618abd71..22de2f0f0 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -13,10 +13,7 @@ if(!count($_POST) && $HTTP_RAW_POST_DATA){ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/auth.php'); -//close sesseion +//close session session_write_close(); header('Content-Type: text/html; charset=utf-8'); @@ -57,9 +54,6 @@ function ajax_qsearch(){ if(empty($query)) $query = cleanID($_GET['q']); if(empty($query)) return; - require_once(DOKU_INC.'inc/html.php'); - require_once(DOKU_INC.'inc/fulltext.php'); - $data = array(); $data = ft_pageLookup($query); @@ -95,10 +89,6 @@ function ajax_suggestions() { if(empty($query)) $query = cleanID($_GET['q']); if(empty($query)) return; - require_once(DOKU_INC.'inc/html.php'); - require_once(DOKU_INC.'inc/fulltext.php'); - require_once(DOKU_INC.'inc/JSON.php'); - $data = array(); $data = ft_pageLookup($query); if(!count($data)) return; @@ -181,8 +171,6 @@ function ajax_draftdel(){ */ function ajax_medians(){ global $conf; - require_once(DOKU_INC.'inc/search.php'); - require_once(DOKU_INC.'inc/media.php'); // wanted namespace $ns = cleanID($_POST['ns']); @@ -208,8 +196,6 @@ function ajax_medians(){ function ajax_medialist(){ global $conf; global $NS; - require_once(DOKU_INC.'inc/media.php'); - require_once(DOKU_INC.'inc/template.php'); $NS = $_POST['ns']; tpl_mediaContent(true); @@ -222,7 +208,6 @@ function ajax_medialist(){ */ function ajax_mediasearchlist(){ global $conf; - require_once(DOKU_INC.'inc/media.php'); media_searchlist($_POST['ns']); } @@ -234,8 +219,6 @@ function ajax_mediasearchlist(){ */ function ajax_index(){ global $conf; - require_once(DOKU_INC.'inc/search.php'); - require_once(DOKU_INC.'inc/html.php'); // wanted namespace $ns = cleanID($_POST['idx']); @@ -263,7 +246,6 @@ function ajax_index(){ function ajax_linkwiz(){ global $conf; global $lang; - require_once(DOKU_INC.'inc/html.php'); $q = ltrim($_POST['q'],':'); $id = noNS($q); @@ -279,8 +261,6 @@ function ajax_linkwiz(){ if($q && !$ns){ // use index to lookup matching pages - require_once(DOKU_INC.'inc/fulltext.php'); - require_once(DOKU_INC.'inc/parserutils.php'); $pages = array(); $pages = ft_pageLookup($id,false); @@ -312,7 +292,6 @@ function ajax_linkwiz(){ }else{ - require_once(DOKU_INC.'inc/search.php'); $opts = array( 'depth' => 1, 'listfiles' => true, diff --git a/lib/exe/css.php b/lib/exe/css.php index cb689d015..38017af9d 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -10,10 +10,6 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching) if(!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT',1); // we gzip ourself here require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/httputils.php'); -require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/confutils.php'); // Main (don't run when UNIT test) if(!defined('SIMPLE_TEST')){ diff --git a/lib/exe/detail.php b/lib/exe/detail.php index f30e039d4..3a04b7b09 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -2,13 +2,6 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); define('DOKU_MEDIADETAIL',1); require_once(DOKU_INC.'inc/init.php'); - require_once(DOKU_INC.'inc/common.php'); - require_once(DOKU_INC.'inc/lang/en/lang.php'); - require_once(DOKU_INC.'inc/lang/'.$conf['lang'].'/lang.php'); - require_once(DOKU_INC.'inc/JpegMeta.php'); - require_once(DOKU_INC.'inc/html.php'); - require_once(DOKU_INC.'inc/template.php'); - require_once(DOKU_INC.'inc/auth.php'); //close session session_write_close(); diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 11877ef36..78de3188b 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -9,14 +9,8 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); define('DOKU_DISABLE_GZIP_OUTPUT', 1); require_once(DOKU_INC.'inc/init.php'); - require_once(DOKU_INC.'inc/common.php'); - require_once(DOKU_INC.'inc/media.php'); - require_once(DOKU_INC.'inc/pageutils.php'); - require_once(DOKU_INC.'inc/httputils.php'); - require_once(DOKU_INC.'inc/confutils.php'); - require_once(DOKU_INC.'inc/auth.php'); - - //close sesseion + + //close session session_write_close(); $mimetypes = getMimeTypes(); diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 84eb9d482..828834c86 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -8,8 +8,6 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/../../'); define('DOKU_DISABLE_GZIP_OUTPUT',1); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/auth.php'); -require_once(DOKU_INC.'inc/events.php'); session_write_close(); //close session if(!defined('NL')) define('NL',"\n"); @@ -177,8 +175,6 @@ function runIndexer(){ } if($conf['dperm']) chmod($lock, $conf['dperm']); - require_once(DOKU_INC.'inc/indexer.php'); - // upgrade to version 2 if (!@file_exists($conf['indexdir'].'/pageword.idx')) idx_upgradePageWords(); @@ -211,11 +207,8 @@ function metaUpdate(){ if (@file_exists($file)) return false; if (!@file_exists(wikiFN($ID))) return false; - require_once(DOKU_INC.'inc/common.php'); - require_once(DOKU_INC.'inc/parserutils.php'); global $conf; - // gather some additional info from changelog $info = io_grep($conf['changelog'], '/^(\d+)\t(\d+\.\d+\.\d+\.\d+)\t'.preg_quote($ID,'/').'\t([^\t]+)\t([^\t\n]+)/', @@ -348,7 +341,6 @@ function sendDigest() { if (!$conf['subscribers']) { return; } - require_once DOKU_INC . 'inc/subscription.php'; $subscriptions = subscription_find($ID, array('style' => '(digest|list)', 'escaped' => true)); global $auth; diff --git a/lib/exe/js.php b/lib/exe/js.php index 8648bf18f..044342187 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -11,10 +11,6 @@ if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session o if(!defined('NL')) define('NL',"\n"); if(!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT',1); // we gzip ourself here require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/httputils.php'); -require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/JSON.php'); // Main (don't run when UNIT test) if(!defined('SIMPLE_TEST')){ @@ -96,7 +92,6 @@ function js_out(){ echo 'LANG = '.$json->encode($lang['js']).";\n"; // load toolbar - require_once(DOKU_INC.'inc/toolbar.php'); toolbar_JSdefines('toolbar'); // load files diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php index f6e91b858..1fe363985 100644 --- a/lib/exe/mediamanager.php +++ b/lib/exe/mediamanager.php @@ -6,13 +6,6 @@ @ini_set('session.use_only_cookies',0); require_once(DOKU_INC.'inc/init.php'); - require_once(DOKU_INC.'inc/lang/en/lang.php'); - require_once(DOKU_INC.'inc/lang/'.$conf['lang'].'/lang.php'); - require_once(DOKU_INC.'inc/media.php'); - require_once(DOKU_INC.'inc/common.php'); - require_once(DOKU_INC.'inc/search.php'); - require_once(DOKU_INC.'inc/template.php'); - require_once(DOKU_INC.'inc/auth.php'); trigger_event('MEDIAMANAGER_STARTED',$tmp=array()); session_write_close(); //close session diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index d3913482f..fb6b79cf3 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -10,15 +10,10 @@ if(isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA); define('DOKU_XMLRPC_API_VERSION',2); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/auth.php'); session_write_close(); //close session if(!$conf['xmlrpc']) die('XML-RPC server not enabled.'); -require_once(DOKU_INC.'inc/IXR_Library.php'); - - /** * Contains needed wrapper functions and registers all available * XMLRPC functions. @@ -378,7 +373,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { $ns = cleanID($ns); $dir = utf8_encodeFN(str_replace(':', '/', $ns)); $data = array(); - require_once(DOKU_INC.'inc/search.php'); $opts['skipacl'] = 0; // no ACL skipping for XMLRPC search($data, $conf['datadir'], 'search_allpages', $opts, $dir); return $data; @@ -407,7 +401,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { $dir = utf8_encodeFN(str_replace(':', '/', $ns)); $data = array(); - require_once(DOKU_INC.'inc/search.php'); search($data, $conf['mediadir'], 'search_media', $options, $dir); $len = count($data); if(!$len) return array(); @@ -426,7 +419,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { * Return a list of backlinks */ function listBackLinks($id){ - require_once(DOKU_INC.'inc/fulltext.php'); return ft_backlinks($id); } @@ -519,8 +511,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { } if($conf['dperm']) chmod($lock, $conf['dperm']); - require_once(DOKU_INC.'inc/indexer.php'); - // do the work idx_addPage($id); @@ -572,7 +562,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { return new IXR_ERROR(1, $lang['uploadexist'].'1'); } // check for valid content - @require_once(DOKU_INC.'inc/media.php'); $ok = media_contentcheck($ftmp, $imime); if($ok == -1) { return new IXR_ERROR(1, sprintf($lang['uploadexist'].'2', ".$iext")); @@ -590,7 +579,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { $data[4] = $overwrite; // trigger event - require_once(DOKU_INC.'inc/events.php'); return trigger_event('MEDIA_UPLOAD_FINISH', $data, array($this, '_media_upload_action'), true); } else { @@ -615,14 +603,12 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { // check for references if needed $mediareferences = array(); if($conf['refcheck']){ - require_once(DOKU_INC.'inc/fulltext.php'); $mediareferences = ft_mediause($id,$conf['refshow']); } if(!count($mediareferences)){ $file = mediaFN($id); if(@unlink($file)){ - require_once(DOKU_INC.'inc/changelog.php'); addMediaLogEntry(time(), $id, DOKU_CHANGE_TYPE_DELETE); io_sweepNS($id,'mediadir'); return 0; @@ -648,7 +634,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { chmod($data[1], $conf['fmode']); media_notify($data[2], $data[1], $data[3]); // add a log entry to the media changelog - require_once(DOKU_INC.'inc/changelog.php'); if ($data[4]) { addMediaLogEntry(time(), $data[2], DOKU_CHANGE_TYPE_EDIT); } else { @@ -728,9 +713,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { if(strlen($timestamp) != 10) return new IXR_Error(20, 'The provided value is not a valid timestamp'); - require_once(DOKU_INC.'inc/changelog.php'); - require_once(DOKU_INC.'inc/pageutils.php'); - $recents = getRecentsSince($timestamp); $changes = array(); @@ -764,9 +746,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { if(strlen($timestamp) != 10) return new IXR_Error(20, 'The provided value is not a valid timestamp'); - require_once(DOKU_INC.'inc/changelog.php'); - require_once(DOKU_INC.'inc/pageutils.php'); - $recents = getRecentsSince($timestamp, null, '', RECENTS_MEDIA_CHANGES); $changes = array(); @@ -803,8 +782,6 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { if(empty($id)) return new IXR_Error(1, 'Empty page ID'); - require_once(DOKU_INC.'inc/changelog.php'); - $revisions = getRevisions($id, $first, $conf['recent']+1); if(count($revisions)==0 && $first!=0) { -- cgit v1.2.3 From c1b2e736c1da490219a060dd52104c4f88e70f7e Mon Sep 17 00:00:00 2001 From: Sergio Motta Date: Tue, 2 Feb 2010 21:02:48 +0100 Subject: Portuguese language update --- inc/lang/pt-br/lang.php | 22 ++++++++++++++-------- lib/plugins/acl/lang/pt-br/lang.php | 1 + lib/plugins/config/lang/pt-br/lang.php | 1 + lib/plugins/plugin/lang/pt-br/lang.php | 1 + lib/plugins/popularity/lang/pt-br/lang.php | 1 + lib/plugins/revert/lang/pt-br/lang.php | 1 + lib/plugins/usermanager/lang/pt-br/lang.php | 1 + 7 files changed, 20 insertions(+), 8 deletions(-) diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index ed7224c14..8b7493cc6 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -16,6 +16,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -49,9 +50,6 @@ $lang['btn_back'] = 'Voltar'; $lang['btn_backlink'] = 'Links reversos'; $lang['btn_backtomedia'] = 'Voltar à seleção do arquivo de mídia'; $lang['btn_subscribe'] = 'Monitorar alterações na página'; -$lang['btn_unsubscribe'] = 'Cancelar monitoramento da página'; -$lang['btn_subscribens'] = 'Monitorar alterações no espaço de nomes'; -$lang['btn_unsubscribens'] = 'Cancelar monitoramento do espaço de nomes'; $lang['btn_profile'] = 'Atualizar o perfil'; $lang['btn_reset'] = 'Limpar'; $lang['btn_resendpwd'] = 'Enviar uma nova senha'; @@ -97,6 +95,8 @@ $lang['resendpwdconfirm'] = 'Um link de confirmação foi enviado por e-mai $lang['resendpwdsuccess'] = 'Sua nova senha foi enviada por e-mail.'; $lang['license'] = 'Exceto onde for informado ao contrário, o conteúdo neste wiki está sob a seguinte licença:'; $lang['licenseok'] = 'Observe: editando esta página você aceita disponibilizar o seu conteúdo sob a seguinte licença:'; +$lang['searchmedia'] = 'Buscar arquivo:'; +$lang['searchmedia_in'] = 'Buscar em %s'; $lang['txt_upload'] = 'Selecione o arquivo a ser enviado'; $lang['txt_filename'] = 'Enviar como (opcional)'; $lang['txt_overwrt'] = 'Substituir o arquivo existente'; @@ -121,10 +121,12 @@ $lang['deletefail'] = 'Não foi possível excluir "%s" - verifique as $lang['mediainuse'] = 'O arquivo "%s" não foi excluído - ele ainda está em uso.'; $lang['namespaces'] = 'Espaços de nome'; $lang['mediafiles'] = 'Arquivos disponíveis em'; +$lang['js']['searchmedia'] = 'Buscar por arquivos'; $lang['js']['keepopen'] = 'Manter a janela aberta na seleção'; $lang['js']['hidedetails'] = 'Esconder detalhes'; $lang['js']['nosmblinks'] = 'Atalhos para pastas compartilhadas do Windows funcionam apenas no Microsoft Internet Explorer. Entretanto, você ainda pode copiar e colar o atalho.'; +$lang['js']['linkwiz'] = 'Link Wizard'; $lang['js']['linkto'] = 'Link para:'; $lang['js']['del_confirm'] = 'Deseja realmente excluir o(s) item(ns) selecionado(s)?'; $lang['js']['mu_btn'] = 'Enviar vários arquivos de uma vez'; @@ -156,6 +158,7 @@ $lang['summary'] = 'Resumo da edição'; $lang['noflash'] = 'O plug-in Adobe Flash é necessário para exibir este conteúdo.'; $lang['mail_newpage'] = 'página adicionada:'; $lang['mail_changed'] = 'página modificada:'; +$lang['mail_subscribe_list'] = 'páginas alteradas no namespace:'; $lang['mail_new_user'] = 'novo usuário:'; $lang['mail_upload'] = 'arquivo enviado:'; $lang['qb_bold'] = 'Texto em negrito'; @@ -169,6 +172,10 @@ $lang['qb_h3'] = 'Cabeçalho de nível 3'; $lang['qb_h4'] = 'Cabeçalho de nível 4'; $lang['qb_h5'] = 'Cabeçalho de nível 5'; $lang['qb_h'] = 'Cabeçalho'; +$lang['qb_hs'] = 'Escolha o cabeçalho'; +$lang['qb_hplus'] = 'Cabeçalho de nível mais alto'; +$lang['qb_hminus'] = 'Cabeçalho de nível mais baixo'; +$lang['qb_hequal'] = 'Cabeçalho de mesmo nível'; $lang['qb_link'] = 'Link interno'; $lang['qb_extlink'] = 'Link externo'; $lang['qb_hr'] = 'Linha horizontal'; @@ -178,6 +185,7 @@ $lang['qb_media'] = 'Adicionar imagens e/ou outros arquivos'; $lang['qb_sig'] = 'Inserir assinatura'; $lang['qb_smileys'] = 'Carinhas'; $lang['qb_chars'] = 'Caracteres especiais'; +$lang['upperns'] = 'Pular para namespace acima'; $lang['admin_register'] = 'Adicionar novo usuário'; $lang['metaedit'] = 'Editar metadados'; $lang['metasaveerr'] = 'Não foi possível escrever os metadados'; @@ -193,11 +201,9 @@ $lang['img_copyr'] = 'Direitos autorais'; $lang['img_format'] = 'Formato'; $lang['img_camera'] = 'Câmera'; $lang['img_keywords'] = 'Palavras-chave'; -$lang['subscribe_success'] = '%s foi adicionado à lista de monitoramento de %s'; -$lang['subscribe_error'] = 'Ocorreu um erro ao tentar adicionar %s à lista de monitoramento de %s'; -$lang['subscribe_noaddress'] = 'Não existe nenhum endereço de e-mail associado ao seu usuário, você não pode ser adicionado à lista de monitoramento.'; -$lang['unsubscribe_success'] = '%s foi removido da lista de monitoramento de %s'; -$lang['unsubscribe_error'] = 'Ocorreu um erro ao tentar remover %s da lista de monitoramento de %s'; +$lang['subscr_subscribe_success'] = 'Adicionado %s para a lista de inscrição para %s'; +$lang['subscr_subscribe_error'] = 'Erro adicionando %s para a lista de inscrição para %s'; +$lang['subscr_subscribe_noaddress'] = 'Não há endereço associado com seu login, você não pode ser adicionado à lista de inscrição'; $lang['authmodfailed'] = 'A configuração da autenticação de usuário está com problemas. Por favor, informe ao administrador do wiki.'; $lang['authtempfail'] = 'A autenticação de usuários está temporariamente desabilitada. Se essa situação persistir, por favor, informe ao administrador do Wiki.'; $lang['i_chooselang'] = 'Selecione o seu idioma'; diff --git a/lib/plugins/acl/lang/pt-br/lang.php b/lib/plugins/acl/lang/pt-br/lang.php index 82a19b290..e199b773c 100644 --- a/lib/plugins/acl/lang/pt-br/lang.php +++ b/lib/plugins/acl/lang/pt-br/lang.php @@ -16,6 +16,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['admin_acl'] = 'Administração da Lista de Controles de Acesso'; $lang['acl_group'] = 'Grupo'; diff --git a/lib/plugins/config/lang/pt-br/lang.php b/lib/plugins/config/lang/pt-br/lang.php index 14e5cfb19..2e6971e34 100644 --- a/lib/plugins/config/lang/pt-br/lang.php +++ b/lib/plugins/config/lang/pt-br/lang.php @@ -13,6 +13,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['menu'] = 'Configurações do DokuWiki'; $lang['error'] = 'As configurações não foram atualizadas devido a um valor inválido. Por favor, reveja suas alterações e reenvie-as.
O(s) valor(es) incorreto(s) serão exibidos contornados por uma borda vermelha.'; diff --git a/lib/plugins/plugin/lang/pt-br/lang.php b/lib/plugins/plugin/lang/pt-br/lang.php index d0c14459a..57052706e 100644 --- a/lib/plugins/plugin/lang/pt-br/lang.php +++ b/lib/plugins/plugin/lang/pt-br/lang.php @@ -13,6 +13,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['menu'] = 'Gerenciar Plug-ins'; $lang['download'] = 'Baixar e instalar um novo plug-in'; diff --git a/lib/plugins/popularity/lang/pt-br/lang.php b/lib/plugins/popularity/lang/pt-br/lang.php index 40e1797f3..67732e8ef 100644 --- a/lib/plugins/popularity/lang/pt-br/lang.php +++ b/lib/plugins/popularity/lang/pt-br/lang.php @@ -12,6 +12,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['name'] = 'Retorno de popularidade (pode demorar um pouco para carregar)'; $lang['submit'] = 'Enviar dados'; diff --git a/lib/plugins/revert/lang/pt-br/lang.php b/lib/plugins/revert/lang/pt-br/lang.php index 93c8bf4e1..4ee4432ee 100644 --- a/lib/plugins/revert/lang/pt-br/lang.php +++ b/lib/plugins/revert/lang/pt-br/lang.php @@ -13,6 +13,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['menu'] = 'Gerenciador de reversões'; $lang['filter'] = 'Procura por páginas com spam'; diff --git a/lib/plugins/usermanager/lang/pt-br/lang.php b/lib/plugins/usermanager/lang/pt-br/lang.php index cf7e48ea7..2c9a281b9 100644 --- a/lib/plugins/usermanager/lang/pt-br/lang.php +++ b/lib/plugins/usermanager/lang/pt-br/lang.php @@ -13,6 +13,7 @@ * @author Frederico Guimarães * @author Jair Henrique * @author Luis Dantas + * @author Sergio Motta sergio@cisne.com.br */ $lang['menu'] = 'Gerenciamento de Usuários'; $lang['noauth'] = '(o gerenciamento de usuários não está disponível)'; -- cgit v1.2.3 From 2b1223ecf0894dc5856744e7aa266b2ab89fca20 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 3 Feb 2010 12:12:02 +0100 Subject: Move page template parsing to an own function --- inc/common.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/inc/common.php b/inc/common.php index 9cadb56fd..a8ac6f7de 100644 --- a/inc/common.php +++ b/inc/common.php @@ -808,7 +808,6 @@ function rawWiki($id,$rev=''){ function pageTemplate($data){ $id = $data[0]; global $conf; - global $INFO; $path = dirname(wikiFN($id)); @@ -825,7 +824,16 @@ function pageTemplate($data){ $path = substr($path, 0, strrpos($path, '/')); } } - if(!$tpl) return ''; + return isset($tpl) ? parsePageTemplate($tpl, $id) : ''; +} + +/** + * Performs common page template replacements + * + * @author Andreas Gohr + */ +function parsePageTemplate($tpl, $id) { + global $INFO; // replace placeholders $file = noNS($id); @@ -868,7 +876,6 @@ function pageTemplate($data){ return $tpl; } - /** * Returns the raw Wiki Text in three slices. * -- cgit v1.2.3 From b856f7dff0fe4c6a9f2fe04fd26c1ccde0aa233c Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 3 Feb 2010 13:08:25 +0100 Subject: USERINFO instead of INFO['userinfo'] in tpl parsing --- inc/common.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/common.php b/inc/common.php index a8ac6f7de..64c1b0a41 100644 --- a/inc/common.php +++ b/inc/common.php @@ -833,7 +833,7 @@ function pageTemplate($data){ * @author Andreas Gohr */ function parsePageTemplate($tpl, $id) { - global $INFO; + global $USERINFO; // replace placeholders $file = noNS($id); @@ -865,8 +865,8 @@ function parsePageTemplate($tpl, $id) { utf8_ucwords($page), utf8_strtoupper($page), $_SERVER['REMOTE_USER'], - $INFO['userinfo']['name'], - $INFO['userinfo']['mail'], + $USERINFO['name'], + $USERINFO['mail'], $conf['dformat'], ), $tpl); -- cgit v1.2.3 From 3b7488710df8a72be396293874215445851b66b9 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 3 Feb 2010 21:18:56 +0100 Subject: cast 2nd param to array when executing render instructions FS#1880 --- inc/parserutils.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/parserutils.php b/inc/parserutils.php index 471d46903..631e4149c 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -423,7 +423,7 @@ function p_render_metadata($id, $orig){ // loop through the instructions foreach ($instructions as $instruction){ // execute the callback against the renderer - call_user_func_array(array(&$renderer, $instruction[0]), $instruction[1]); + call_user_func_array(array(&$renderer, $instruction[0]), (array) $instruction[1]); } $evt->result = array('current'=>$renderer->meta,'persistent'=>$renderer->persistent); -- cgit v1.2.3 From 358eb25cb317b9c77abe1976ae52f99a3da4c3a0 Mon Sep 17 00:00:00 2001 From: Kazutaka Miyasaka Date: Wed, 3 Feb 2010 00:55:19 +0900 Subject: fixed "numericopt" handling in plugin:config --- lib/plugins/config/settings/config.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index d995e8a30..a6f652d79 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -629,7 +629,8 @@ if (!class_exists('setting_numeric')) { $out = ''; if ($fmt=='php') { - $out .= '$'.$var."['".$this->_out_key()."'] = ".$this->_local.";\n"; + $local = $this->_local === '' ? "''" : $this->_local; + $out .= '$'.$var."['".$this->_out_key()."'] = ".$local.";\n"; } return $out; -- cgit v1.2.3 From 1807fcf5084f3bda9cef9580a624b9afed38b559 Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Wed, 3 Feb 2010 21:28:59 +0100 Subject: French language fix FS#1875 --- lib/plugins/acl/lang/fr/lang.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index efdc5f074..88a045ffe 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -42,7 +42,7 @@ $lang['acl_perm0'] = 'Aucune'; $lang['acl_perm1'] = 'Lecture'; $lang['acl_perm2'] = 'Écriture'; $lang['acl_perm4'] = 'Création'; -$lang['acl_perm8'] = 'Télécharger'; +$lang['acl_perm8'] = 'Téléverser (Upload)'; $lang['acl_perm16'] = 'Effacer'; $lang['acl_new'] = 'Ajouter une nouvelle entrée'; $lang['acl_mod'] = 'Modifier l\'entrée'; -- cgit v1.2.3 From 90df9a4d69a2e467433b419b94fe799d11590539 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 4 Feb 2010 14:50:10 +0100 Subject: Rewrite section edit handling according to #1860 --- _test/cases/inc/parser/parser_footnote.test.php | 4 +- _test/cases/inc/parser/parser_headers.test.php | 21 ------- _test/cases/inc/parser/parser_i18n.test.php | 6 +- _test/cases/inc/parser/parser_table.test.php | 52 ++++++++-------- inc/html.php | 21 +++---- inc/lang/en/lang.php | 1 + inc/parser/handler.php | 32 ++-------- inc/parser/renderer.php | 6 +- inc/parser/xhtml.php | 81 ++++++++++++++++++------- lib/scripts/script.js | 42 +++++-------- 10 files changed, 120 insertions(+), 146 deletions(-) diff --git a/_test/cases/inc/parser/parser_footnote.test.php b/_test/cases/inc/parser/parser_footnote.test.php index 08d199182..a1da2ab06 100644 --- a/_test/cases/inc/parser/parser_footnote.test.php +++ b/_test/cases/inc/parser/parser_footnote.test.php @@ -259,7 +259,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array("\n".'Foo ')), array('nest', array ( array ( array('footnote_open',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 8)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0 Col 1 ')), @@ -282,7 +282,7 @@ class TestOfDoku_Parser_Footnote extends TestOfDoku_Parser { array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(8, 123)), + array('table_close',array(123)), array('cdata',array(' ')), array('footnote_close',array()), ))), diff --git a/_test/cases/inc/parser/parser_headers.test.php b/_test/cases/inc/parser/parser_headers.test.php index 8e6517123..e1c6783f5 100644 --- a/_test/cases/inc/parser/parser_headers.test.php +++ b/_test/cases/inc/parser/parser_headers.test.php @@ -15,14 +15,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array (6,0,1,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -36,14 +34,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,2,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -57,14 +53,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',3,6)), array('section_open',array(3)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,3,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -116,14 +110,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,2,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -137,14 +129,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',2,6)), array('section_open',array(2)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,2,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -158,14 +148,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,1,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -193,14 +181,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('== Header ==',1,6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,1,'== Header ==')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -233,14 +219,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n== ====== Header\n")), array('p_close',array()), - array('section_edit',array(-1,22,1,'')), array('header',array('',1,23)), array('section_open',array(1)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(23,0,1,'')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -261,14 +245,12 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array('abc '.DOKU_PARSER_EOL)), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',1, 6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array(' def'.DOKU_PARSER_EOL)), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,0,1,'Header')), array('document_end',array()), ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); @@ -283,21 +265,18 @@ class TestOfDoku_Parser_Headers extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nabc \n")), array('p_close',array()), - array('section_edit',array(-1,5,1,'')), array('header',array('Header',1,6)), array('section_open',array(1)), array('p_open',array()), array('cdata',array("\n def abc \n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(6,38,1,'Header')), array('header',array('Header2',2,39)), array('section_open',array(2)), array('p_open',array()), array('cdata',array("\n def\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(39,0,2,'Header2')), array('document_end',array()) ); $this->assertEqual(array_map('stripByteIndex',$this->H->calls),$calls); diff --git a/_test/cases/inc/parser/parser_i18n.test.php b/_test/cases/inc/parser/parser_i18n.test.php index e97a0cf51..f0cceb69e 100644 --- a/_test/cases/inc/parser/parser_i18n.test.php +++ b/_test/cases/inc/parser/parser_i18n.test.php @@ -62,14 +62,12 @@ class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { array('p_open',array()), array('cdata',array("\nFoo\n")), array('p_close',array()), - array('section_edit',array(-1,4,1,'')), array('header',array('Iñtërnâtiônàlizætiøn',3,5)), array('section_open',array(3)), array('p_open',array()), array('cdata',array("\n Bar\n")), array('p_close',array()), array('section_close',array()), - array('section_edit',array(5,0,3,'Iñtërnâtiônàlizætiøn')), array('document_end',array()), ); $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); @@ -87,7 +85,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0 Col 1 ')), @@ -110,7 +108,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 153)), + array('table_close',array(153)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), diff --git a/_test/cases/inc/parser/parser_table.test.php b/_test/cases/inc/parser/parser_table.test.php index 981f85217..099909495 100644 --- a/_test/cases/inc/parser/parser_table.test.php +++ b/_test/cases/inc/parser/parser_table.test.php @@ -19,7 +19,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0 Col 1 ')), @@ -42,7 +42,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 121)), + array('table_close',array(121)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -59,7 +59,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0 Col 1 ')), @@ -82,7 +82,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 121)), + array('table_close',array(121)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -103,10 +103,10 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(0,1)), + array('table_open',array(0, 1, 6)), array('tablerow_open',array()), array('tablerow_close',array()), - array('table_close',array(6, 7)), + array('table_close',array(7)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -128,7 +128,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,1)), + array('table_open',array(3, 1, 6)), array('tablerow_open',array()), array('tableheader_open',array(1,NULL,1)), array('cdata',array(' X ')), @@ -140,7 +140,7 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 19)), + array('table_close',array(19)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -163,7 +163,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,1)), + array('table_open',array(3, 1, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'right',1)), array('cdata',array(' X ')), @@ -175,7 +175,7 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 23)), + array('table_close',array(23)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -199,7 +199,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,3)), + array('table_open',array(3, 3, 6)), array('tablerow_open',array()), array('tablecell_open',array(2,'right',1)), array('cdata',array(' d ')), @@ -218,7 +218,7 @@ def'); array('tablerow_close',array()), array('tablerow_open',array()), array('tablerow_close',array()), - array('table_close',array(6, 31)), + array('table_close',array(31)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -241,7 +241,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,3)), + array('table_open',array(3, 3, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,NULL,2)), array('cdata',array(' a ')), @@ -266,7 +266,7 @@ def'); array('cdata',array(':::f')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 51)), + array('table_close',array(51)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -288,7 +288,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,1)), + array('table_open',array(3, 1, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'right',1)), array('cdata',array(' ')), @@ -304,7 +304,7 @@ def'); array('cdata',array(' Z ')), array('tableheader_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 27)), + array('table_close',array(27)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -328,7 +328,7 @@ def'); array('p_open',array()), array('cdata',array(DOKU_PARSER_EOL."abc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0 Col 1 ')), @@ -351,7 +351,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 121)), + array('table_close',array(121)), array('p_open',array()), array('cdata',array('def'.DOKU_PARSER_EOL)), array('p_close',array()), @@ -375,7 +375,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' ')), @@ -403,7 +403,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 129)), + array('table_close',array(129)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -427,7 +427,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' ')), @@ -451,7 +451,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 155)), + array('table_close',array(155)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -473,7 +473,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' Row 0')), @@ -498,7 +498,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 123)), + array('table_close',array(123)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), @@ -523,7 +523,7 @@ def'); array('p_open',array()), array('cdata',array("\n\nabc")), array('p_close',array()), - array('table_open',array(3,2)), + array('table_open',array(3, 2, 6)), array('tablerow_open',array()), array('tablecell_open',array(1,'left',1)), array('cdata',array(' ')), @@ -555,7 +555,7 @@ def'); array('cdata',array(' Row 1 Col 3 ')), array('tablecell_close',array()), array('tablerow_close',array()), - array('table_close',array(6, 129)), + array('table_close',array(129)), array('p_open',array()), array('cdata',array('def'."\n")), array('p_close',array()), diff --git a/inc/html.php b/inc/html.php index 8a215f440..a6ec628cf 100644 --- a/inc/html.php +++ b/inc/html.php @@ -91,22 +91,19 @@ function html_secedit_button($matches){ global $ID; global $INFO; - $edittarget = ($matches[1] === 'SECTION') ? 'plain' : - strtolower($matches[1]); + $nr = $matches[1]; + $target = strtolower($matches[2]); - $section = $matches[3]; - $name = $matches[2]; + $name = $matches[3]; + $section = $matches[4]; - $secedit = ''; - $secedit .= '
'; - $secedit .= html_btn('secedit',$ID,'', + return "
" . + html_btn('secedit',$ID,'', array('do' => 'edit', 'lines' => $section, - 'edittarget' => $edittarget, + 'edittarget' => $target, 'rev' => $INFO['lastmod']), - 'post', $name); - $secedit .= '
'; - return $secedit; + 'post', $name) . '
'; } /** @@ -117,7 +114,7 @@ function html_secedit_button($matches){ function html_secedit($text,$show=true){ global $INFO; - $regexp = '##'; + $regexp = '##'; if($INFO['writable'] && $show && !$INFO['rev']){ $text = preg_replace_callback($regexp, diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 98ded12ca..3062d1724 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -152,6 +152,7 @@ $lang['external_edit'] = 'external edit'; $lang['summary'] = 'Edit summary'; $lang['noflash'] = 'The Adobe Flash Plugin is needed to display this content.'; $lang['download'] = 'Download Snippet'; +$lang['table_edit_title'] = 'Table'; $lang['mail_newpage'] = 'page added:'; $lang['mail_changed'] = 'page changed:'; diff --git a/inc/parser/handler.php b/inc/parser/handler.php index 141cbcaf0..b5d2baaab 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -12,9 +12,6 @@ class Doku_Handler { var $status = array( 'section' => false, - 'section_edit_start' => -1, - 'section_edit_level' => 1, - 'section_edit_title' => '' ); var $rewriteBlocks = true; @@ -40,10 +37,6 @@ class Doku_Handler { if ( $this->status['section'] ) { $last_call = end($this->calls); array_push($this->calls,array('section_close',array(), $last_call[2])); - if ($this->status['section_edit_start']>1) { - // ignore last edit section if there is only one header - array_push($this->calls,array('section_edit',array($this->status['section_edit_start'], 0, $this->status['section_edit_level'], $this->status['section_edit_title']), $last_call[2])); - } } if ( $this->rewriteBlocks ) { @@ -97,8 +90,6 @@ class Doku_Handler { } function header($match, $state, $pos) { - global $conf; - // get level and title $title = trim($match); $level = 7 - strspn($title,'='); @@ -108,13 +99,6 @@ class Doku_Handler { if ($this->status['section']) $this->_addCall('section_close',array(),$pos); - if ($level<=$conf['maxseclevel']) { - $this->_addCall('section_edit',array($this->status['section_edit_start'], $pos-1, $this->status['section_edit_level'], $this->status['section_edit_title']), $pos); - $this->status['section_edit_start'] = $pos; - $this->status['section_edit_level'] = $level; - $this->status['section_edit_title'] = $title; - } - $this->_addCall('header',array($title,$level,$pos), $pos); $this->_addCall('section_open',array($level),$pos); @@ -583,17 +567,16 @@ class Doku_Handler { $ReWriter = new Doku_Handler_Table($this->CallWriter); $this->CallWriter = & $ReWriter; - $this->_addCall('table_start', array(), $pos); + $this->_addCall('table_start', array($pos + 1), $pos); if ( trim($match) == '^' ) { $this->_addCall('tableheader', array(), $pos); } else { $this->_addCall('tablecell', array(), $pos); } - $this->status['table_begin'] = $pos; break; case DOKU_LEXER_EXIT: - $this->_addCall('table_end', array($this->status['table_begin']+1, $pos), $pos); + $this->_addCall('table_end', array($pos), $pos); $this->CallWriter->process(); $ReWriter = & $this->CallWriter; $this->CallWriter = & $ReWriter->CallWriter; @@ -1217,7 +1200,7 @@ class Doku_Handler_Table { } function tableStart($call) { - $this->tableCalls[] = array('table_open',array(),$call[2]); + $this->tableCalls[] = array('table_open',$call[1],$call[2]); $this->tableCalls[] = array('tablerow_open',array(),$call[2]); $this->firstCell = true; } @@ -1288,6 +1271,7 @@ class Doku_Handler_Table { // Adjust to num cols not num col delimeters $this->tableCalls[0][1][] = $this->maxCols - 1; $this->tableCalls[0][1][] = $this->maxRows; + $this->tableCalls[0][1][] = array_shift($this->tableCalls[0][1]); } else { trigger_error('First element in table call list is not table_open'); } @@ -1505,13 +1489,7 @@ class Doku_Handler_Block { //remove the whole paragraph array_splice($this->calls,$i); }else{ - if ($this->calls[count($this->calls)-1][0] == 'section_edit') { - $tmp = array_pop($this->calls); - $this->calls[] = array('p_close',array(), $pos); - $this->calls[] = $tmp; - } else { - $this->calls[] = array('p_close',array(), $pos); - } + $this->calls[] = array('p_close',array(), $pos); } $this->inParagraph = false; diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index 65dcaf8a1..393099003 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -85,8 +85,6 @@ class Doku_Renderer extends DokuWiki_Plugin { function header($text, $level, $pos) {} - function section_edit($start, $end, $level, $name) {} - function section_open($level) {} function section_close() {} @@ -231,9 +229,9 @@ class Doku_Renderer extends DokuWiki_Plugin { $src,$title=NULL,$align=NULL,$width=NULL,$height=NULL,$cache=NULL ) {} - function table_open($maxcols = NULL, $numrows = NULL){} + function table_open($maxcols = NULL, $numrows = NULL, $pos){} - function table_close($begin, $end){} + function table_close($pos){} function tablerow_open(){} diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 4e848ec1d..ef62a3df9 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -29,6 +29,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { var $doc = ''; // will contain the whole document var $toc = array(); // will contain the Table of Contents + private $sectionedits = array(); // A stack of section edit data var $headers = array(); var $footnotes = array(); @@ -39,6 +40,34 @@ class Doku_Renderer_xhtml extends Doku_Renderer { var $_counter = array(); // used as global counter, introduced for table classes var $_codeblock = 0; // counts the code and file blocks, used to provide download links + /** + * Register a new edit section range + * + * @param $type string The section type identifier + * @param $title string The section title + * @param $start int The byte position for the edit start + * @return string A marker class for the starting HTML element + * @author Adrian Lang + */ + protected function startSectionEdit($start, $type, $title) { + static $lastsecid = 0; + $this->sectionedits[] = array(++$lastsecid, $start, $type, $title); + return 'sectionedit' . $lastsecid; + } + + /** + * Finish an edit section range + * + * @param $pos int The byte position for the edit end + * @author Adrian Lang + */ + protected function finishSectionEdit($end) { + list($id, $start, $type, $title) = array_pop($this->sectionedits); + $this->doc .= ""; + } + function getFormat(){ return 'xhtml'; } @@ -51,6 +80,17 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } function document_end() { + // Finish open section edits. + while (count($this->sectionedits) > 0) { + if ($this->sectionedits[count($this->sectionedits) - 1][1] <= 1) { + // If there is only one section, do not write a section edit + // marker. + array_pop($this->sectionedits); + } else { + $this->finishSectionEdit(0); + } + } + if ( count ($this->footnotes) > 0 ) { $this->doc .= '
'.DOKU_LF; @@ -106,6 +146,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } function header($text, $level, $pos) { + global $conf; + if(!$text) return; //skip empty headlines $hid = $this->_headerToLink($text,true); @@ -122,30 +164,24 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } $this->lastlevel = $level; + if ($level <= $conf['maxseclevel'] && + count($this->sectionedits) > 0 && + $this->sectionedits[count($this->sectionedits) - 1][2] === 'section') { + $this->finishSectionEdit($pos); + } + // write the header - $this->doc .= DOKU_LF.''; + $this->doc .= DOKU_LF.'doc .= ' class="' . $this->startSectionEdit($pos, 'section', $text) . '"'; + } + $this->doc .= '>'; $this->doc .= $this->_xmlEntities($text); $this->doc .= "".DOKU_LF; } - /** - * Section edit marker is replaced by an edit button when - * the page is editable. Replacement done in 'inc/html.php#html_secedit' - * - * @author Andreas Gohr - * @author Ben Coburn - */ - function section_edit($start, $end, $level, $name) { - global $conf; - - if ($start!=-1 && $level<=$conf['maxseclevel']) { - $name = str_replace('"', '', $name); - $this->doc .= ''; - } - } - function section_open($level) { - $this->doc .= "
".DOKU_LF; + $this->doc .= "
".DOKU_LF; } function section_close() { @@ -845,15 +881,16 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } // $numrows not yet implemented - function table_open($maxcols = NULL, $numrows = NULL){ + function table_open($maxcols = NULL, $numrows = NULL, $pos){ + global $lang; // initialize the row counter used for classes $this->_counter['row_counter'] = 0; - $this->doc .= ''.DOKU_LF; + $this->doc .= '
'.DOKU_LF; } - function table_close($begin, $end){ + function table_close($pos){ $this->doc .= '
'.DOKU_LF; - $this->doc .= ''; + $this->finishSectionEdit($pos); } function tablerow_open(){ diff --git a/lib/scripts/script.js b/lib/scripts/script.js index b611f980a..ef4ae95a2 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -535,38 +535,24 @@ addInitEvent(function(){ * @author Andreas Gohr */ addInitEvent(function(){ - var break_classes = new RegExp('secedit|toc|page'); var btns = getElementsByClass('btn_secedit',document,'form'); for(var i=0; i Date: Sat, 6 Feb 2010 12:25:26 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 27 +++++++++++++++++++-------- lib/plugins/acl/lang/pl/lang.php | 3 ++- lib/plugins/config/lang/pl/lang.php | 2 ++ lib/plugins/plugin/lang/pl/lang.php | 1 + lib/plugins/popularity/lang/pl/lang.php | 1 + lib/plugins/revert/lang/pl/lang.php | 1 + lib/plugins/usermanager/lang/pl/lang.php | 1 + 7 files changed, 27 insertions(+), 9 deletions(-) diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 882806577..37113fded 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -7,6 +7,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -40,9 +41,6 @@ $lang['btn_back'] = 'Wstecz'; $lang['btn_backlink'] = 'Odnośniki'; $lang['btn_backtomedia'] = 'Powrót do wyboru pliku'; $lang['btn_subscribe'] = 'Subskrybuj zmiany'; -$lang['btn_unsubscribe'] = 'Zaprzestań subskrypcji zmian'; -$lang['btn_subscribens'] = 'Subskrybuj zmiany w katalogu'; -$lang['btn_unsubscribens'] = 'Zaprzestań subskrypcji zmian w katalogu'; $lang['btn_profile'] = 'Aktualizuj profil'; $lang['btn_reset'] = 'Resetuj'; $lang['btn_resendpwd'] = 'Prześlij nowe hasło'; @@ -150,8 +148,10 @@ $lang['external_edit'] = 'edycja zewnętrzna'; $lang['summary'] = 'Opis zmian'; $lang['noflash'] = 'Plugin Adobe Flash Plugin jest niezbędny do obejrzenia tej zawartości.'; $lang['download'] = 'Pobierz zrzut'; +$lang['table_edit_title'] = 'Tabela'; $lang['mail_newpage'] = 'Strona dodana:'; $lang['mail_changed'] = 'Strona zmieniona:'; +$lang['mail_subscribe_list'] = 'Zmienione strony w katalogu:'; $lang['mail_new_user'] = 'Nowy użytkownik:'; $lang['mail_upload'] = 'Umieszczono plik:'; $lang['qb_bold'] = 'Pogrubienie'; @@ -194,11 +194,22 @@ $lang['img_copyr'] = 'Prawa autorskie'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Aparat'; $lang['img_keywords'] = 'Słowa kluczowe'; -$lang['subscribe_success'] = 'Dodano %s do listy subskrypcji strony %s'; -$lang['subscribe_error'] = 'Błąd przy dodawaniu %s do listy subskrypcji strony %s'; -$lang['subscribe_noaddress'] = 'Nie podałeś adresu e-mail przy rejestracji, nie możesz zostać dodany do listy subskrypcji.'; -$lang['unsubscribe_success'] = 'Usunięto %s z listy subskrypcji strony %s'; -$lang['unsubscribe_error'] = 'Błąd przy usuwaniu %s z listy subskrypcji strony %s'; +$lang['subscr_subscribe_success'] = 'Dodano %s do listy subskrypcji %s'; +$lang['subscr_subscribe_error'] = 'Błąd podczas dodawania %s do listy subskrypcji %s'; +$lang['subscr_subscribe_noaddress'] = 'Brak adresu skojarzonego z twoim loginem, nie możesz zostać dodany(a) do listy subskrypcji'; +$lang['subscr_unsubscribe_success'] = 'Usunięto %s z listy subskrypcji %s'; +$lang['subscr_unsubscribe_error'] = 'Błąd podczas usuwania %s z listy subskrypcji %s'; +$lang['subscr_already_subscribed'] = '%s jest już subskrybowany(a) przez %s'; +$lang['subscr_not_subscribed'] = '%s nie jest subskrybowany(a) przez %s'; +$lang['subscr_m_not_subscribed'] = 'Obecnie nie subskrybujesz bieżącej strony lub katalogu.'; +$lang['subscr_m_new_header'] = 'Dodaj subskrypcję'; +$lang['subscr_m_current_header'] = 'Aktualne subskrypcje'; +$lang['subscr_m_unsubscribe'] = 'Zrezygnuj z subskrypcji'; +$lang['subscr_m_subscribe'] = 'Subskrybuj'; +$lang['subscr_m_receive'] = 'Otrzymuj'; +$lang['subscr_style_every'] = 'email przy każdej zmianie'; +$lang['subscr_style_digest'] = 'email ze streszczeniem zmian dla każdej ze stron'; +$lang['subscr_style_list'] = 'lista zmienionych stron od czasu ostatniego emaila'; $lang['authmodfailed'] = 'Błąd uwierzytelnienia. Powiadom administratora tego wiki.'; $lang['authtempfail'] = 'Uwierzytelnienie użytkownika jest w tej chwili niemożliwe. Jeśli ta sytuacja się powtórzy, powiadom administratora tego wiki.'; $lang['i_chooselang'] = 'Wybierz język'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 63a870c50..4105bb448 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -7,6 +7,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; $lang['acl_group'] = 'Grupa'; @@ -18,7 +19,7 @@ $lang['btn_select'] = 'Wybierz'; $lang['p_user_id'] = 'Użytkownik %s posiada następujące uprawnienia do strony %s: %s.'; $lang['p_user_ns'] = 'Użytkownik %s posiada następujące uprawnienia do katalogów %s: %s.'; $lang['p_group_id'] = 'Członkowie grupy %s posiadają następujące uprawnienia do strony %s: %s.'; -$lang['p_group_ns'] = 'Członkowie grupy %s posiadają następujące uprawnienia do strony %s: %s.'; +$lang['p_group_ns'] = 'Członkowie grupy %s posiadają następujące uprawnienia do katalogu %s: %s.'; $lang['p_choose_id'] = 'Podaj nazwę użytkownika lub grupy w powyższym formularzu, by wyświetlić lub zmienić uprawnienia do strony %s.'; $lang['p_choose_ns'] = 'Podaj nazwę użytkownika lub grupy w powyższym formularzu, by wyświetlić lub zmienić uprawnienia do katalogu %s.'; $lang['p_inherited'] = 'Uwaga: Uprawnienia nie zostały nadane wprost ale są dziedziczone z grupy lub katalogu.'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index 4f3c2ddec..7eb8a44f3 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author Piotr JANKOWSKI + * @author sleshek@wp.pl */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostały zapisane z powodu błędnych wartości, przejrzyj je i ponów próbę zapisu.
Niepoprawne wartości są wyróżnione kolorem czerwonym.'; @@ -108,6 +109,7 @@ $lang['gdlib'] = 'Wersja biblioteki GDLib'; $lang['im_convert'] = 'Ścieżka do programu imagemagick'; $lang['jpg_quality'] = 'Jakość kompresji JPG (0-100)'; $lang['subscribers'] = 'Subskrypcja'; +$lang['subscribe_time'] = 'Czas po którym są wysyłane listy subskrypcji i streszczenia (sek.); Powinna być to wartość większa niż podana w zmiennej recent_days.'; $lang['compress'] = 'Kompresja arkuszy CSS i plików JavaScript'; $lang['hidepages'] = 'Ukrywanie stron pasujących do wzorca (wyrażenie regularne)'; $lang['send404'] = 'Nagłówek "HTTP 404/Page Not Found" dla nieistniejących stron'; diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php index c9f74bd52..1c1fcc4e3 100644 --- a/lib/plugins/plugin/lang/pl/lang.php +++ b/lib/plugins/plugin/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['menu'] = 'Menadżer wtyczek'; $lang['download'] = 'Ściągnij i zainstaluj nową wtyczkę'; diff --git a/lib/plugins/popularity/lang/pl/lang.php b/lib/plugins/popularity/lang/pl/lang.php index 0f15863ae..b64dc07da 100644 --- a/lib/plugins/popularity/lang/pl/lang.php +++ b/lib/plugins/popularity/lang/pl/lang.php @@ -6,6 +6,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['name'] = 'Informacja o popularności (ładowanie może zająć dłuższą chwilę)'; $lang['submit'] = 'Wyślij dane'; diff --git a/lib/plugins/revert/lang/pl/lang.php b/lib/plugins/revert/lang/pl/lang.php index 8ad68b5f8..845a18211 100644 --- a/lib/plugins/revert/lang/pl/lang.php +++ b/lib/plugins/revert/lang/pl/lang.php @@ -5,6 +5,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['menu'] = 'Menadżer przywracania'; $lang['filter'] = 'Wyszukaj uszkodzone strony'; diff --git a/lib/plugins/usermanager/lang/pl/lang.php b/lib/plugins/usermanager/lang/pl/lang.php index 3db83b9b3..6a0eca809 100644 --- a/lib/plugins/usermanager/lang/pl/lang.php +++ b/lib/plugins/usermanager/lang/pl/lang.php @@ -6,6 +6,7 @@ * @author Mariusz Kujawski * @author Maciej Kurczewski * @author Sławomir Boczek + * @author sleshek@wp.pl */ $lang['menu'] = 'Menadżer użytkowników'; $lang['noauth'] = '(uwierzytelnienie użytkownika niemożliwe)'; -- cgit v1.2.3 From 25fabd1de0b6421edfdfb47904354a7b8bff16e0 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 5 Feb 2010 10:03:19 +0100 Subject: Fix documentation for subscribe_time --- conf/dokuwiki.php | 2 +- lib/exe/indexer.php | 3 ++- lib/plugins/config/lang/de/lang.php | 2 +- lib/plugins/config/lang/en/lang.php | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index e6a19e60b..0a0d5c84a 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -104,7 +104,7 @@ $conf['im_convert'] = ''; //path to ImageMagicks convert (will be $conf['jpg_quality'] = '70'; //quality of compression when scaling jpg images (0-100) $conf['subscribers'] = 0; //enable change notice subscription support $conf['subscribe_time'] = 24 * 60 * 60; //Time after which digests / lists are sent (in sec, default 1 day) - //Should be larger than the time specified in recent_days + //Should be smaller than the time specified in recent_days $conf['compress'] = 1; //Strip whitespaces and comments from Styles and JavaScript? 1|0 $conf['hidepages'] = ''; //Regexp for pages to be skipped from RSS, Search and Recent Changes $conf['send404'] = 0; //Send a HTTP 404 status for non existing pages? diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 84eb9d482..35aa1beef 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -365,7 +365,8 @@ function sendDigest() { list($user, $style, $lastupdate) = $data; $lastupdate = (int) $lastupdate; if ($lastupdate + $conf['subscribe_interval'] > time()) { - // Less than a day passed since last update. + // Less than the configured time period passed since last + // update. continue; } diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index 2cb44ab17..2075322d2 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -114,7 +114,7 @@ $lang['gdlib'] = 'GD Lib Version'; $lang['im_convert'] = 'Pfad zu ImageMagicks Konvertierwerkzeug'; $lang['jpg_quality'] = 'JPEG Kompressionsqualität (0-100)'; $lang['subscribers'] = 'E-Mail-Abos zulassen'; -$lang['subscribe_time'] = 'Zeit nach der Zusammenfassungs- und Änderungslisten-E-Mails verschickt werden; Dieser Wert sollte größer als recent_days sein.'; +$lang['subscribe_time'] = 'Zeit nach der Zusammenfassungs- und Änderungslisten-E-Mails verschickt werden; Dieser Wert sollte kleiner als die in recent_days konfigurierte Zeit sein.'; $lang['compress'] = 'JavaScript und Stylesheets komprimieren'; $lang['hidepages'] = 'Seiten verstecken (Regulärer Ausdruck)'; $lang['send404'] = 'Bei nicht vorhandenen Seiten mit 404 Fehlercode antworten'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index cad1a0aad..7198ca36d 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -129,7 +129,7 @@ $lang['gdlib'] = 'GD Lib version'; $lang['im_convert'] = 'Path to ImageMagick\'s convert tool'; $lang['jpg_quality'] = 'JPG compression quality (0-100)'; $lang['subscribers'] = 'Enable page subscription support'; -$lang['subscribe_time'] = 'Time after which subscription lists and digests are sent (sec); This should be larger than the time specified in recent_days.'; +$lang['subscribe_time'] = 'Time after which subscription lists and digests are sent (sec); This should be smaller than the time specified in recent_days.'; $lang['compress'] = 'Compact CSS and javascript output'; $lang['hidepages'] = 'Hide matching pages (regular expressions)'; $lang['send404'] = 'Send "HTTP 404/Page Not Found" for non existing pages'; -- cgit v1.2.3 From b965ba797e5c2dff71007ca41e54e5c9bf100429 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 10:12:14 +0100 Subject: Fix digest time default value --- conf/dokuwiki.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index 0a0d5c84a..a909ee46e 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -103,7 +103,7 @@ $conf['gdlib'] = 2; //the GDlib version (0, 1 or 2) 2 tries $conf['im_convert'] = ''; //path to ImageMagicks convert (will be used instead of GD) $conf['jpg_quality'] = '70'; //quality of compression when scaling jpg images (0-100) $conf['subscribers'] = 0; //enable change notice subscription support -$conf['subscribe_time'] = 24 * 60 * 60; //Time after which digests / lists are sent (in sec, default 1 day) +$conf['subscribe_time'] = 24*60*60; //Time after which digests / lists are sent (in sec, default 1 day) //Should be smaller than the time specified in recent_days $conf['compress'] = 1; //Strip whitespaces and comments from Styles and JavaScript? 1|0 $conf['hidepages'] = ''; //Regexp for pages to be skipped from RSS, Search and Recent Changes -- cgit v1.2.3 From 6c1f778cae7a02dec2e14017e539d541ce6e74fb Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 10:11:11 +0100 Subject: Fix section editing killing next section --- conf/dokuwiki.php | 2 +- inc/parser/xhtml.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index a909ee46e..19397861c 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -103,7 +103,7 @@ $conf['gdlib'] = 2; //the GDlib version (0, 1 or 2) 2 tries $conf['im_convert'] = ''; //path to ImageMagicks convert (will be used instead of GD) $conf['jpg_quality'] = '70'; //quality of compression when scaling jpg images (0-100) $conf['subscribers'] = 0; //enable change notice subscription support -$conf['subscribe_time'] = 24*60*60; //Time after which digests / lists are sent (in sec, default 1 day) +$conf['subscribe_time'] = 24*60*60; //Time after which digests / lists are sent (in sec, default 1 day) //Should be smaller than the time specified in recent_days $conf['compress'] = 1; //Strip whitespaces and comments from Styles and JavaScript? 1|0 $conf['hidepages'] = ''; //Regexp for pages to be skipped from RSS, Search and Recent Changes diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index ef62a3df9..9de712303 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -167,7 +167,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { if ($level <= $conf['maxseclevel'] && count($this->sectionedits) > 0 && $this->sectionedits[count($this->sectionedits) - 1][2] === 'section') { - $this->finishSectionEdit($pos); + $this->finishSectionEdit($pos - 1); } // write the header -- cgit v1.2.3 From 40868f2faa85215dfea2fa0c82274a4806d042ab Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 12:50:20 +0100 Subject: Hide secedit buttons without title --- doku.php | 2 +- inc/html.php | 65 ++++++++++++++++++++++++++++++++-------------------- inc/lang/en/lang.php | 1 - inc/parser/xhtml.php | 12 ++++++---- 4 files changed, 48 insertions(+), 32 deletions(-) diff --git a/doku.php b/doku.php index 3963a5aa0..5f2d2c582 100644 --- a/doku.php +++ b/doku.php @@ -35,7 +35,7 @@ $NS = getNS($ID); $REV = $_REQUEST['rev']; $IDX = $_REQUEST['idx']; $DATE = $_REQUEST['date']; -$RANGE = $_REQUEST['lines']; +$RANGE = $_REQUEST['range']; $HIGH = $_REQUEST['s']; if(empty($HIGH)) $HIGH = getGoogleQuery(); diff --git a/inc/html.php b/inc/html.php index a6ec628cf..c2b0db17d 100644 --- a/inc/html.php +++ b/inc/html.php @@ -82,48 +82,63 @@ function html_login(){ } /** - * prints a section editing button - * used as a callback in html_secedit + * inserts section edit buttons if wanted or removes the markers * * @author Andreas Gohr */ -function html_secedit_button($matches){ - global $ID; +function html_secedit($text,$show=true){ global $INFO; - $nr = $matches[1]; - $target = strtolower($matches[2]); + $regexp = '##'; - $name = $matches[3]; - $section = $matches[4]; + if(!$INFO['writable'] || !$show || $INFO['rev']){ + return preg_replace($regexp,'',$text); + } - return "
" . - html_btn('secedit',$ID,'', - array('do' => 'edit', - 'lines' => $section, - 'edittarget' => $target, - 'rev' => $INFO['lastmod']), - 'post', $name) . '
'; + return preg_replace_callback($regexp, + 'html_secedit_button', $text); } /** - * inserts section edit buttons if wanted or removes the markers + * prepares section edit button data for event triggering + * used as a callback in html_secedit * + * @triggers HTML_SECEDIT_BUTTON * @author Andreas Gohr */ -function html_secedit($text,$show=true){ +function html_secedit_button($matches){ + $data = array('id' => $matches[1], + 'target' => strtolower($matches[2]), + 'range' => $matches[count($matches) - 1]); + if (count($matches) === 5) { + $data['name'] = $matches[3]; + } + + return trigger_event('HTML_SECEDIT_BUTTON', $data, + 'html_secedit_get_button'); +} + +/** + * prints a section editing button + * used as default action form HTML_SECEDIT_BUTTON + * + * @author Adrian Lang + */ +function html_secedit_get_button($data) { + global $ID; global $INFO; - $regexp = '##'; + if (!isset($data['name']) || $data['name'] === '') return; - if($INFO['writable'] && $show && !$INFO['rev']){ - $text = preg_replace_callback($regexp, - 'html_secedit_button', $text); - }else{ - $text = preg_replace($regexp,'',$text); - } + $name = $data['name']; + unset($data['name']); - return $text; + return "
" . + html_btn('secedit', $ID, '', + array_merge(array('do' => 'edit', + 'rev' => $INFO['lastmod']), $data), + 'post', $name) . '
'; } /** diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 3062d1724..98ded12ca 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -152,7 +152,6 @@ $lang['external_edit'] = 'external edit'; $lang['summary'] = 'Edit summary'; $lang['noflash'] = 'The Adobe Flash Plugin is needed to display this content.'; $lang['download'] = 'Download Snippet'; -$lang['table_edit_title'] = 'Table'; $lang['mail_newpage'] = 'page added:'; $lang['mail_changed'] = 'page changed:'; diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 9de712303..3ac8ed35c 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -49,7 +49,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * @return string A marker class for the starting HTML element * @author Adrian Lang */ - protected function startSectionEdit($start, $type, $title) { + protected function startSectionEdit($start, $type, $title = null) { static $lastsecid = 0; $this->sectionedits[] = array(++$lastsecid, $start, $type, $title); return 'sectionedit' . $lastsecid; @@ -63,9 +63,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { */ protected function finishSectionEdit($end) { list($id, $start, $type, $title) = array_pop($this->sectionedits); - $this->doc .= ""; + $this->doc .= "'; } function getFormat(){ @@ -885,7 +887,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { global $lang; // initialize the row counter used for classes $this->_counter['row_counter'] = 0; - $this->doc .= ''.DOKU_LF; + $this->doc .= '
'.DOKU_LF; } function table_close($pos){ -- cgit v1.2.3 From 905fa971d08ada202c78b350303dc6a53c570e01 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 12:58:45 +0100 Subject: Strip (secedit) id from section edit request --- inc/html.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/inc/html.php b/inc/html.php index c2b0db17d..7849cc809 100644 --- a/inc/html.php +++ b/inc/html.php @@ -107,7 +107,7 @@ function html_secedit($text,$show=true){ * @author Andreas Gohr */ function html_secedit_button($matches){ - $data = array('id' => $matches[1], + $data = array('secid' => $matches[1], 'target' => strtolower($matches[2]), 'range' => $matches[count($matches) - 1]); if (count($matches) === 5) { @@ -133,8 +133,11 @@ function html_secedit_get_button($data) { $name = $data['name']; unset($data['name']); + $secid = $data['secid']; + unset($data['secid']); + return "
" . + " editbutton_" . $data['secid'] . "'>" . html_btn('secedit', $ID, '', array_merge(array('do' => 'edit', 'rev' => $INFO['lastmod']), $data), -- cgit v1.2.3 From defa93a1bf01353fdadea22bcc5467baaadca3e0 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 13:01:25 +0100 Subject: =?UTF-8?q?I=E2=80=99m=20stupid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/html.php b/inc/html.php index 7849cc809..04bb986c5 100644 --- a/inc/html.php +++ b/inc/html.php @@ -137,7 +137,7 @@ function html_secedit_get_button($data) { unset($data['secid']); return "
" . + " editbutton_" . $secid . "'>" . html_btn('secedit', $ID, '', array_merge(array('do' => 'edit', 'rev' => $INFO['lastmod']), $data), -- cgit v1.2.3 From 134937946849b8225648f9c191a006ec60c1f013 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 8 Feb 2010 13:33:41 +0100 Subject: run dbg() output through htmlspecialchars --- inc/infoutils.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/inc/infoutils.php b/inc/infoutils.php index d5356969b..001a33f66 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -289,9 +289,15 @@ function msg($message,$lvl=0,$line='',$file=''){ * @author Andreas Gohr */ function dbg($msg,$hidden=false){ - (!$hidden) ? print '
' : print "";
+    if($hidden){
+        echo "";
+    }else{
+        echo '
';
+        echo hsc(print_r($msg,true));
+        echo '
'; + } } /** -- cgit v1.2.3 From 599e75de5d1510a4124739fb5e8c5397f5dfa69b Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 15:43:45 +0100 Subject: Receive event data by ref to change it --- inc/subscription.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/subscription.php b/inc/subscription.php index f7614014f..ae326c894 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -219,7 +219,7 @@ function subscription_regex($pre = array()) { * @author Steven Danz * @author Adrian Lang */ -function subscription_addresslist($data){ +function subscription_addresslist(&$data){ global $conf; global $auth; -- cgit v1.2.3 From 70421c96f055e574aa6e9602492ca4b35a33b9f2 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Feb 2010 15:44:26 +0100 Subject: Correct subscribe config parameter name --- lib/exe/indexer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 35aa1beef..821163473 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -364,7 +364,7 @@ function sendDigest() { foreach($users as $data) { list($user, $style, $lastupdate) = $data; $lastupdate = (int) $lastupdate; - if ($lastupdate + $conf['subscribe_interval'] > time()) { + if ($lastupdate + $conf['subscribe_time'] > time()) { // Less than the configured time period passed since last // update. continue; -- cgit v1.2.3 From bda5b82b9fdabee0a3ee175857335e1274992a64 Mon Sep 17 00:00:00 2001 From: Omid Mottaghi Date: Mon, 8 Feb 2010 19:30:53 +0100 Subject: Persian language update --- inc/lang/fa/lang.php | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index 1123efe13..42ba69ea3 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -46,9 +46,6 @@ $lang['btn_back'] = 'عقب'; $lang['btn_backlink'] = 'پیوندهای به این صفحه'; $lang['btn_backtomedia'] = 'بازگشت به انتخاب فایل'; $lang['btn_subscribe'] = 'عضویت در تغییرات صفحه'; -$lang['btn_unsubscribe'] = 'لغو عضویت در تغییرات صفحه'; -$lang['btn_subscribens'] = 'عضویت در تغییرات فضای‌نام'; -$lang['btn_unsubscribens'] = 'عضویت در تغییرات فضای‌نام'; $lang['btn_profile'] = 'به روز رسانی پروفایل'; $lang['btn_reset'] = 'بازنشاندن'; $lang['btn_resendpwd'] = 'یک گذرواژه‌ی جدید برای شما فرستاده شود'; @@ -156,8 +153,10 @@ $lang['external_edit'] = 'ویرایش خارجی'; $lang['summary'] = 'پیش‌نمایش'; $lang['noflash'] = 'برای نمایش محتویات افزونه‌ی فلش مورد نیاز است.'; $lang['download'] = 'دیافت فایل منقطع گردید'; +$lang['table_edit_title'] = 'جدول'; $lang['mail_newpage'] = 'صفحه اضافه شد:'; $lang['mail_changed'] = 'صفحه تغییر داده شد:'; +$lang['mail_subscribe_list'] = 'صفحات تغییر داده شده در فضای‌نام'; $lang['mail_new_user'] = 'کاربر جدید:'; $lang['mail_upload'] = 'فایل ارسال شده:'; $lang['qb_bold'] = 'متن پُررنگ'; @@ -200,11 +199,22 @@ $lang['img_copyr'] = 'دارنده‌ی حق تکثیر'; $lang['img_format'] = 'فرمت'; $lang['img_camera'] = 'دوربین'; $lang['img_keywords'] = 'واژه‌های کلیدی'; -$lang['subscribe_success'] = '%s با موفقیت به عضویت %s درآمد'; -$lang['subscribe_error'] = 'عضویت %s در %s با مشکل مواجه شد'; -$lang['subscribe_noaddress'] = 'هیچ آدرس ایمیلی ثبت نکرده‌اید و نمی‌توانید عضو شوید'; -$lang['unsubscribe_success'] = '%s با موفقیت از عضویت %s خارج شد'; -$lang['unsubscribe_error'] = 'خارج کردن %s از عضویت %s با مشکل مواجه شد.'; +$lang['subscr_subscribe_success'] = '%s به لیست آبونه %s افزوده شد'; +$lang['subscr_subscribe_error'] = 'اشکال در افزودن %s به لیست آبونه %s'; +$lang['subscr_subscribe_noaddress'] = 'هیچ آدرسی برای این عضویت اضافه نشده است، شما نمی‌توانید به لیست آبونه اضافه شوید'; +$lang['subscr_unsubscribe_success'] = '%s از لیست آبونه %s پاک شد'; +$lang['subscr_unsubscribe_error'] = 'اشکال در پاک کردن %s از لیست آبونه %s'; +$lang['subscr_already_subscribed'] = '%s پیش‌تر در %s آبونه شده است'; +$lang['subscr_not_subscribed'] = '%s در %s آبونه نشده است'; +$lang['subscr_m_not_subscribed'] = 'شما در این صفحه یا فضای‌نام آبونه نشده‌اید'; +$lang['subscr_m_new_header'] = 'افزودن آبونه'; +$lang['subscr_m_current_header'] = 'آبونه‌های کنونی'; +$lang['subscr_m_unsubscribe'] = 'لغو آبونه'; +$lang['subscr_m_subscribe'] = 'آبونه شدن'; +$lang['subscr_m_receive'] = 'دریافت کردن'; +$lang['subscr_style_every'] = 'ارسال رای‌نامه در تمامی تغییرات'; +$lang['subscr_style_digest'] = 'ارسال ایمیل‌های فشرده برای تغییرات هر صفحه'; +$lang['subscr_style_list'] = 'لیست صفحات تغییر داده شده از آخرین رای‌نامه'; $lang['authmodfailed'] = 'اشکال در نوع معتبرسازی کاربران، مدیر ویکی را باخبر سازید.'; $lang['authtempfail'] = 'معتبرسازی کابران موقتن مسدود می‌باشد. اگر این حالت پایدار بود، مدیر ویکی را باخبر سازید.'; $lang['i_chooselang'] = 'انتخاب زبان'; -- cgit v1.2.3 From 52b35d3ab15e4a042a2e1c5c8c5766fc76c534af Mon Sep 17 00:00:00 2001 From: Marcel Metz Date: Mon, 8 Feb 2010 20:11:06 +0100 Subject: Informal German language update --- inc/lang/de-informal/conflict.txt | 2 +- inc/lang/de-informal/edit.txt | 2 +- inc/lang/de-informal/lang.php | 59 +++++++++---------- inc/lang/de-informal/mailtext.txt | 3 +- inc/lang/de-informal/password.txt | 3 +- inc/lang/de-informal/pwconfirm.txt | 3 +- inc/lang/de-informal/uploadmail.txt | 3 +- lib/plugins/acl/lang/de-informal/lang.php | 6 +- lib/plugins/config/lang/de-informal/intro.txt | 4 +- lib/plugins/config/lang/de-informal/lang.php | 67 ++++++++++++++-------- .../plugin/lang/de-informal/admin_plugin.txt | 2 +- lib/plugins/plugin/lang/de-informal/lang.php | 16 +++--- lib/plugins/popularity/lang/de-informal/intro.txt | 8 +-- lib/plugins/popularity/lang/de-informal/lang.php | 2 +- lib/plugins/revert/lang/de-informal/lang.php | 9 ++- lib/plugins/usermanager/lang/de-informal/lang.php | 10 ++-- 16 files changed, 106 insertions(+), 93 deletions(-) diff --git a/inc/lang/de-informal/conflict.txt b/inc/lang/de-informal/conflict.txt index a5ae425be..eec345061 100644 --- a/inc/lang/de-informal/conflict.txt +++ b/inc/lang/de-informal/conflict.txt @@ -1,6 +1,6 @@ ====== Eine neuere Version existiert ====== -Eine neuere Version des aktuell in Bearbeitung befindlichen Dokuments existiert. Das heißt, jemand hat parallel an der selben Seite gearbeitet und zuerst gespeichert. +Eine neuere Version des aktuell in Bearbeitung befindlichen Dokuments existiert. Das heißt, jemand hat gleichzeitig an der selben Seite gearbeitet und zuerst gespeichert. Die unten aufgeführten Unterschiede können bei der Entscheidung helfen, welchem Dokument Vorrang gewährt wird. Wähle **''[Speichern]''** zum Sichern deiner Version oder **''[Abbrechen]''**, um deine Version zu verwerfen und die zuerst gespeicherte Seite zu behalten. diff --git a/inc/lang/de-informal/edit.txt b/inc/lang/de-informal/edit.txt index 15e02c61a..28a764124 100644 --- a/inc/lang/de-informal/edit.txt +++ b/inc/lang/de-informal/edit.txt @@ -1,4 +1,4 @@ -Bitte nur editieren, falls das Dokument **verbessert** werden kann. +Bitte bearbeite dieses Dokument nur, wenn du es **verbessern** kannst. Nach dem Bearbeiten den **''[Speichern]''**-Knopf drücken. Siehe [[wiki:syntax]] zur Wiki-Syntax. Zum Testen bitte erst im [[playground:playground|Spielplatz]] üben. diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index c90ce8f5e..de9eea1eb 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -15,7 +15,7 @@ * @author Arne Pelka * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -25,7 +25,7 @@ $lang['singlequoteopening'] = '‚'; $lang['singlequoteclosing'] = '‘'; $lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Diese Seite bearbeiten'; -$lang['btn_source'] = 'Zeige Seitenquelltext'; +$lang['btn_source'] = 'Zeige Quelltext'; $lang['btn_show'] = 'Seite anzeigen'; $lang['btn_create'] = 'Seite anlegen'; $lang['btn_search'] = 'Suche'; @@ -43,7 +43,7 @@ $lang['btn_secedit'] = 'Bearbeiten'; $lang['btn_login'] = 'Anmelden'; $lang['btn_logout'] = 'Abmelden'; $lang['btn_admin'] = 'Admin'; -$lang['btn_update'] = 'Aktualisieren'; +$lang['btn_update'] = 'Updaten'; $lang['btn_delete'] = 'Löschen'; $lang['btn_back'] = 'Zurück'; $lang['btn_backlink'] = 'Links hierher'; @@ -52,7 +52,7 @@ $lang['btn_subscribe'] = 'Änderungen abonnieren'; $lang['btn_unsubscribe'] = 'Änderungen abbestellen'; $lang['btn_subscribens'] = 'Namensraumänderungen abonnieren'; $lang['btn_unsubscribens'] = 'Namensraumänderungen abbestellen'; -$lang['btn_profile'] = 'Profil aktualisieren'; +$lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; $lang['btn_resendpwd'] = 'Sende neues Passwort'; $lang['btn_draft'] = 'Entwurf bearbeiten'; @@ -64,35 +64,35 @@ $lang['user'] = 'Benutzername'; $lang['pass'] = 'Passwort'; $lang['newpass'] = 'Neues Passwort'; $lang['oldpass'] = 'Bestätigen (Altes Passwort)'; -$lang['passchk'] = 'noch einmal'; +$lang['passchk'] = 'und nochmal'; $lang['remember'] = 'Angemeldet bleiben'; $lang['fullname'] = 'Voller Name'; $lang['email'] = 'E-Mail'; $lang['register'] = 'Registrieren'; $lang['profile'] = 'Benutzerprofil'; $lang['badlogin'] = 'Nutzername oder Passwort sind falsch.'; -$lang['minoredit'] = 'kleine Änderungen'; +$lang['minoredit'] = 'kleine Änderung'; $lang['draftdate'] = 'Entwurf gespeichert am'; -$lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit verändert, Sektionsinfo ist veraltet, lade stattdessen volle Seite.'; -$lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden.'; +$lang['nosecedit'] = 'Diese Seite wurde in der Zwischenzeit geändert, Sektionsinfo ist veraltet, lade stattdessen volle Seite.'; +$lang['regmissing'] = 'Alle Felder müssen ausgefüllt werden'; $lang['reguexists'] = 'Der Nutzername existiert leider schon.'; $lang['regsuccess'] = 'Der neue Nutzer wurde angelegt und das Passwort per Email versandt.'; $lang['regsuccess2'] = 'Der neue Nutzer wurde angelegt.'; $lang['regmailfail'] = 'Offenbar ist ein Fehler beim Versenden der Passwortmail aufgetreten. Bitte wende dich an den Wiki-Admin.'; $lang['regbadmail'] = 'Die angegebene Mail-Adresse scheint ungültig zu sein. Falls dies ein Fehler ist, wende dich bitte an den Wiki-Admin.'; -$lang['regbadpass'] = 'Die beiden eingegebenen Passwörter stimmen nicht überein. Bitte versuche es noch einmal.'; +$lang['regbadpass'] = 'Die beiden eingegeben Passwörter stimmen nicht überein. Bitte versuche es noch einmal.'; $lang['regpwmail'] = 'Ihr DokuWiki Passwort'; $lang['reghere'] = 'Du hast noch keinen Zugang? Hier anmelden'; $lang['profna'] = 'Änderung des Benutzerprofils in diesem Wiki nicht möglich.'; $lang['profnochange'] = 'Keine Änderungen, nichts zu tun.'; $lang['profnoempty'] = 'Es muss ein Name oder eine E-Mail Adresse angegeben werden.'; -$lang['profchanged'] = 'Benutzerprofil erfolgreich geändert.'; +$lang['profchanged'] = 'Benuzerprofil erfolgreich geändert.'; $lang['pwdforget'] = 'Passwort vergessen? Fordere ein neues an'; $lang['resendna'] = 'Passwörter versenden ist in diesem Wiki nicht möglich.'; $lang['resendpwd'] = 'Neues Passwort schicken für'; $lang['resendpwdmissing'] = 'Es tut mir Leid, aber du musst alle Felder ausfüllen.'; -$lang['resendpwdnouser'] = 'Es tut mir Leid, aber dieser Benutzer existiert nicht in unserer Datenbank.'; -$lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stelle sicher, dass du den kompletten Bestätigungslink verwendet hast.'; +$lang['resendpwdnouser'] = 'Es tut mir Leid, aber der Benutzer existiert nicht in unserer Datenbank.'; +$lang['resendpwdbadauth'] = 'Es tut mir Leid, aber dieser Authentifizierungscode ist ungültig. Stelle sicher, dass du den kompletten Bestätigungslink verwendet haben.'; $lang['resendpwdconfirm'] = 'Ein Bestätigungslink wurde per E-Mail versandt.'; $lang['resendpwdsuccess'] = 'Dein neues Passwort wurde per E-Mail versandt.'; $lang['license'] = 'Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:'; @@ -108,13 +108,13 @@ $lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft $lang['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?'; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; -$lang['mediaselect'] = 'Media-Dateien'; -$lang['fileupload'] = 'Media-Datei hochladen'; +$lang['mediaselect'] = 'Dateiauswahl'; +$lang['fileupload'] = 'Datei hochladen'; $lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; $lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; $lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; $lang['uploadexist'] = 'Datei existiert bereits. Keine Änderungen vorgenommen.'; -$lang['uploadbadcontent'] = 'Der hochgeladene Inhalt stimmt nicht mit der Dateiendung % überein.'; +$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung % überein.'; $lang['uploadspam'] = 'Hochladen verweigert: Treffer auf der Spamliste.'; $lang['uploadxss'] = 'Hochladen verweigert: Daten scheinen Schadcode zu enthalten.'; $lang['uploadsize'] = 'Die hochgeladene Datei war zu groß. (max. %s)'; @@ -133,11 +133,11 @@ $lang['js']['linkto'] = 'Link zu:'; $lang['js']['del_confirm'] = 'Die ausgewählten Dateien wirklich löschen?'; $lang['js']['mu_btn'] = 'Mehrere Dateien gleichzeitig hochladen'; $lang['mediausage'] = 'Syntax zum Verwenden dieser Datei:'; -$lang['mediaview'] = 'Originaldatei ansehen'; +$lang['mediaview'] = 'Originaldatei öffnen'; $lang['mediaroot'] = 'Wurzel'; $lang['mediaupload'] = 'Lade hier eine Datei in den momentanen Namensraum hoch. Um Unterordner zu erstellen, stelle diese dem Dateinamen im Feld "Hochladen als" durch Doppelpunkt getrennt voran.'; -$lang['mediaextchange'] = 'Dateiendung von .%s nach .%s geändert!'; -$lang['reference'] = 'Referenzen für'; +$lang['mediaextchange'] = 'Dateiendung vom .%s nach .%s geändert!'; +$lang['reference'] = 'Verwendung von'; $lang['ref_inuse'] = 'Diese Datei kann nicht gelöscht werden, da sie noch von folgenden Seiten benutzt wird:'; $lang['ref_hidden'] = 'Einige Verweise sind auf Seiten, für die du keine Leseberechtigung hast.'; $lang['hits'] = 'Treffer'; @@ -153,13 +153,13 @@ $lang['youarehere'] = 'Du befindest dich hier'; $lang['lastmod'] = 'Zuletzt geändert'; $lang['by'] = 'von'; $lang['deleted'] = 'gelöscht'; -$lang['created'] = 'erstellt'; +$lang['created'] = 'angelegt'; $lang['restored'] = 'alte Version wieder hergestellt'; $lang['external_edit'] = 'Externe Bearbeitung'; -$lang['summary'] = 'Zusammenfassung der Änderungen'; -$lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Ihnalt anzuzeigen.'; +$lang['summary'] = 'Zusammenfassung'; +$lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Inhalt anzuzeigen.'; $lang['download'] = 'Download-Teil'; -$lang['mail_newpage'] = 'Seite hinzugefügt:'; +$lang['mail_newpage'] = 'Neue Seite:'; $lang['mail_changed'] = 'Seite geaendert:'; $lang['mail_new_user'] = 'Neuer Benutzer:'; $lang['mail_upload'] = 'Datei hochgeladen:'; @@ -187,8 +187,8 @@ $lang['qb_media'] = 'Bilder und andere Dateien hinzufügen'; $lang['qb_sig'] = 'Unterschrift einfügen'; $lang['qb_smileys'] = 'Smileys'; $lang['qb_chars'] = 'Sonderzeichen'; -$lang['upperns'] = 'Springe zum vorherigen Namensraum'; -$lang['admin_register'] = 'Neuen Benutzer hinzufügen'; +$lang['upperns'] = 'Gehe zum Ausgangsfeld'; +$lang['admin_register'] = 'Neuen Benutzer anmelden'; $lang['metaedit'] = 'Metadaten bearbeiten'; $lang['metasaveerr'] = 'Die Metadaten konnten nicht gesichert werden'; $lang['metasaveok'] = 'Metadaten gesichert'; @@ -198,7 +198,7 @@ $lang['img_caption'] = 'Bildunterschrift'; $lang['img_date'] = 'Datum'; $lang['img_fname'] = 'Dateiname'; $lang['img_fsize'] = 'Grösse'; -$lang['img_artist'] = 'FotografIn'; +$lang['img_artist'] = 'Fotograf'; $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Kamera'; @@ -216,7 +216,7 @@ $lang['i_wikiname'] = 'Wiki-Name'; $lang['i_enableacl'] = 'Zugangskontrolle (ACL) aktivieren (empfohlen)'; $lang['i_superuser'] = 'Administrator Benutzername'; $lang['i_problems'] = 'Das Installationsprogramm hat unten aufgeführte Probleme festgestellt, die zunächst behoben werden müssen, bevor du mit der Installation fortfahren kannst.'; -$lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Script nur mit einer neuen, unmodifizierten DokuWiki-Installation. Du solltest entweder alle Dateien erneut installieren oder in der Dokuwiki-Installationsanleitung lesen.'; +$lang['i_modified'] = 'Aus Sicherheitsgründen arbeitet dieses Script nur mit einer neuen, unmodifizierten DokuWiki-Installation. Du solltest entweder alle Dateien noch einmal frisch installieren oder die Dokuwiki-Installationsanleitung konsultieren.'; $lang['i_funcna'] = 'Die PHP Funktion %s ist nicht verfügbar. Unter Umständen wurde sie von deinem Hoster deaktiviert?'; $lang['i_phpver'] = 'Deine PHP-Version %s ist niedriger als die benötigte Version %s. Bitte aktualisiere deine PHP-Installation.'; $lang['i_permfail'] = '%s ist nicht durch DokuWiki beschreibbar. Du musst die Berechtigungen dieses Ordners ändern!'; @@ -248,10 +248,3 @@ $lang['mu_filetypes'] = 'Erlaubte Dateitypen'; $lang['mu_info'] = 'Dateien hochgeladen.'; $lang['mu_lasterr'] = 'Letzter Fehler:'; $lang['recent_global'] = 'Im Moment siehst du die Änderungen im Namensraum %s. Du kannst auch die Änderungen im gesamten Wiki sehen.'; -$lang['years'] = 'vor %d Jahren'; -$lang['months'] = 'vor %d Monaten'; -$lang['weeks'] = 'vor %d Wochen'; -$lang['days'] = 'vor %d Tagen'; -$lang['hours'] = 'vor %d Stunden'; -$lang['minutes'] = 'vor %d Minuten'; -$lang['seconds'] = 'vor %d Sekunden'; diff --git a/inc/lang/de-informal/mailtext.txt b/inc/lang/de-informal/mailtext.txt index 4fd41ad19..508c080f7 100644 --- a/inc/lang/de-informal/mailtext.txt +++ b/inc/lang/de-informal/mailtext.txt @@ -13,5 +13,6 @@ Benutzer : @USER@ -- -Diese Mail kommt vom DokuWiki auf +Diese Mail wurde vom DokuWiki auf @DOKUWIKIURL@ +erzeugt. diff --git a/inc/lang/de-informal/password.txt b/inc/lang/de-informal/password.txt index 9e1ecdb15..8ce252966 100644 --- a/inc/lang/de-informal/password.txt +++ b/inc/lang/de-informal/password.txt @@ -6,5 +6,6 @@ Benutzername: @LOGIN@ Passwort : @PASSWORD@ -- -Diese Mail kommt vom DokuWiki auf +Diese Mail wurde vom DokuWiki auf @DOKUWIKIURL@ +erzeugt. \ No newline at end of file diff --git a/inc/lang/de-informal/pwconfirm.txt b/inc/lang/de-informal/pwconfirm.txt index 538597cfa..5e5572b28 100644 --- a/inc/lang/de-informal/pwconfirm.txt +++ b/inc/lang/de-informal/pwconfirm.txt @@ -12,5 +12,6 @@ Bestätigungslink. @CONFIRM@ -- -Diese Mail kommt vom DokuWiki auf +Diese Mail wurde vom DokuWiki auf @DOKUWIKIURL@ +erzeugt. diff --git a/inc/lang/de-informal/uploadmail.txt b/inc/lang/de-informal/uploadmail.txt index 72e4a2a6e..7239cc10c 100644 --- a/inc/lang/de-informal/uploadmail.txt +++ b/inc/lang/de-informal/uploadmail.txt @@ -10,5 +10,6 @@ MIME-Typ : @MIME@ Benutzer : @USER@ -- -Diese Mail kommt vom DokuWiki auf +Diese Mail wurde vom DokuWiki auf @DOKUWIKIURL@ +erzeugt. diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php index cd42fdedc..6cabe3f35 100644 --- a/lib/plugins/acl/lang/de-informal/lang.php +++ b/lib/plugins/acl/lang/de-informal/lang.php @@ -4,7 +4,7 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['admin_acl'] = 'Zugriffskontrollsystem Management'; $lang['acl_group'] = 'Gruppe'; @@ -21,14 +21,14 @@ $lang['p_choose_id'] = 'Bitte gib einen Nutzer oder eine Gruppe $lang['p_choose_ns'] = 'Bitte gib einen Nutzer oder eine Gruppe in das Formular ein, um die Berechtigungen des Namenraumes%s anzusehen oder zu bearbeiten.'; $lang['p_inherited'] = 'Hinweis: Diese Rechte wuredn nicht explizit gesetzt sondern geerbt von anderen Grupen oder übergeordneten Namensräumen.'; $lang['p_isadmin'] = 'Hinweis: Die gewählte Gruppe oder der Benutzer haben immer die vollen Rechte, weil sie als Superuser konfiguriert sind.'; -$lang['p_include'] = 'Höhere Rechte schließen kleinere mit ein. Hochlade- und Loeschrechte sind nur fuer Namensräume, nicht fuer Seiten.'; +$lang['p_include'] = 'Höhere Rechte schließen kleinere mit ein. Hochlade- und Löschrechte sind nur für Namensräume, nicht für Seiten.'; $lang['current'] = 'Momentane Zugriffsregeln'; $lang['where'] = 'Seite/Namensraum'; $lang['who'] = 'Benutzer/Gruppe'; $lang['perm'] = 'Rechte'; $lang['acl_perm0'] = 'Keine'; $lang['acl_perm1'] = 'Lesen'; -$lang['acl_perm2'] = 'Editieren'; +$lang['acl_perm2'] = 'Bearbeiten'; $lang['acl_perm4'] = 'Erstellen'; $lang['acl_perm8'] = 'Hochladen'; $lang['acl_perm16'] = 'Löschen'; diff --git a/lib/plugins/config/lang/de-informal/intro.txt b/lib/plugins/config/lang/de-informal/intro.txt index 45861dd00..7ac1b47d9 100644 --- a/lib/plugins/config/lang/de-informal/intro.txt +++ b/lib/plugins/config/lang/de-informal/intro.txt @@ -1,7 +1,7 @@ ===== Einstellungs-Manager ===== -Benutze diese Seite zur Kontrolle der Einstellungen deiner DokuWiki-Installation. Für Hilfe zu individuellen Einstellungen gehe zu [[doku>config]]. Für mehr Details über diese Erweiterunge siehe [[doku>plugin:config]]. +Benutze diese Seite zur Kontrolle der Einstellungen deiner DokuWiki-Installation. Für Hilfe zu individuellen Einstellungen gehe zu [[doku>config]]. Für mehr Details über diese Erweiterungen siehe [[doku>plugin:config]]. Einstellungen die mit einem hellroten Hintergrund angezeigt werden, können mit dieser Erweiterung nicht verändert werden. Einstellungen mit einem blauen Hintergrund sind Standardwerte und Einstellungen mit einem weißen Hintergrund wurden lokal gesetzt für diese Installation. Sowohl blaue als auch weiße Einstellungen können angepasst werden. -Denke dran **SAVE** zu drücken bevor du die Seite verläßt, andernfalls werden deine Änderungen nicht übernommen. \ No newline at end of file +Denke dran **Speichern** zu drücken bevor du die Seite verlässt, andernfalls werden deine Änderungen nicht übernommen. \ No newline at end of file diff --git a/lib/plugins/config/lang/de-informal/lang.php b/lib/plugins/config/lang/de-informal/lang.php index 68232d80b..69ad3e524 100644 --- a/lib/plugins/config/lang/de-informal/lang.php +++ b/lib/plugins/config/lang/de-informal/lang.php @@ -4,19 +4,20 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['menu'] = 'Einstellungen'; $lang['error'] = 'Einstellungen wurden nicht aktualisiert auf Grund eines ungültigen Wertes. Bitte überprüfen Sie Ihre Änderungen und versuchen Sie es erneut. -
Die/der inkorrekte(n) Wert(e) werden durch eine rote Umrandung hervorgehoben.'; -$lang['updated'] = 'Einstellungen erfolgreich hochgeladen.'; +
Die/der ungültige(n) Wert(e) werden durch eine rote Umrandung hervorgehoben.'; +$lang['updated'] = 'Einstellungen erfolgreich aktualisiert.'; $lang['nochoice'] = '(keine andere Option möglich)'; -$lang['danger'] = 'Achtung: Änderungen dieser Option könnten dein Wiki und das Konfigurationsmenü unzugänglich machen.'; -$lang['warning'] = 'Achtung: Änderungen dieser Option kann zu unbabsichtigtem Verhalten führen.'; -$lang['security'] = 'Sicherheitswarnung: Änderungen dieser Option können eine Sicherheitsrisiko bedeuten.'; +$lang['locked'] = 'Die Einstallungsdatei kann nicht aktualisiert werden. Wenn dies beunabsichtigt ist stelle sicher, dass der Name und die Zugriffsrechte der Einstellungsdatei richtig sind.'; +$lang['danger'] = '**Achtung**: Eine Änderung dieser Einstellung kann dein Wiki und das Einstellungsmenü unerreichbar machen.'; +$lang['warning'] = 'Achtung: Eine Änderungen dieser Option kann zu unbabsichtigtem Verhalten führen.'; +$lang['security'] = 'Sicherheitswarnung: Eine Änderungen dieser Option können ein Sicherheitsrisiko bedeuten.'; $lang['_configuration_manager'] = 'Einstellungen'; $lang['_header_dokuwiki'] = 'DokuWiki-Einstellungen'; -$lang['_header_plugin'] = 'Erweiterugs-Einstellungen'; +$lang['_header_plugin'] = 'Erweiterungs-Einstellungen'; $lang['_header_template'] = 'Vorlageneinstellungen'; $lang['_header_undefined'] = 'unbestimmte Einstellungen'; $lang['_basic'] = 'Grundeinstellungen'; @@ -31,47 +32,59 @@ $lang['_network'] = 'Netzwerk-Einstellungen'; $lang['_plugin_sufix'] = 'Ereiterungseinstellungen'; $lang['_template_sufix'] = 'Vorlageneinstellungen'; $lang['_msg_setting_no_default'] = 'Kein Standardwert.'; -$lang['fmode'] = 'Dateierstellungsmodus'; -$lang['dmode'] = 'Ordnererstellungsmodus'; +$lang['fmode'] = 'Zugriffsrechte bei Dateierstellung'; +$lang['dmode'] = 'Zugriffsrechte bei Verzeichniserstellung'; $lang['lang'] = 'Sprache'; -$lang['basedir'] = 'Installationsverzeichnis. Für automatische Erkennung frei lassen.'; -$lang['baseurl'] = 'Installationspfad (URL)'; $lang['savedir'] = 'Ordner zum Speichern von Daten'; $lang['start'] = 'Name der Startseite'; $lang['title'] = 'Wiki Titel'; $lang['template'] = 'Vorlage'; $lang['license'] = 'Unter welcher Lizenz sollte Ihr Inhalt veröffentlicht werden?'; -$lang['fullpath'] = 'Den kompletten Dateipfad im Footer anzeigen'; +$lang['fullpath'] = 'Zeige vollen Pfad der Datei in Fußzeile an'; $lang['recent'] = 'letzte Änderungen'; $lang['typography'] = 'Mach drucktechnische Ersetzungen'; $lang['htmlok'] = 'Erlaube eingebettetes HTML'; $lang['phpok'] = 'Erlaube eingebettetes PHP'; -$lang['dformat'] = 'Datumsformat (siehe PHP\'s strftime function)'; +$lang['dformat'] = 'Datumsformat (siehe PHPs strftime Funktion)'; $lang['signature'] = 'Signatur'; -$lang['usewordblock'] = 'Blockier Spam basierend auf der Wortliste'; +$lang['usewordblock'] = 'Blockiere Spam basierend auf der Wortliste'; $lang['useacl'] = 'Benutze Zugangskontrollliste'; $lang['autopasswd'] = 'Automatisch erzeugte Passwörter'; $lang['passcrypt'] = 'Passwortverschlüsselungsmethode'; $lang['defaultgroup'] = 'Standardgruppe'; -$lang['profileconfirm'] = 'Bestätige Profiländerungen mit dem Passwort'; +$lang['profileconfirm'] = 'Änderungen am Benutzerprofil mit Passwort bestätigen'; $lang['disableactions'] = 'Deaktiviere DokuWiki\'s Zugriffe'; -$lang['disableactions_check'] = 'Prüfe'; $lang['disableactions_subscription'] = 'Bestellen/Abbestellen'; +$lang['disableactions_nssubscription'] = 'Namensraum Bestellen/Abbestellen'; $lang['disableactions_wikicode'] = 'Zeige Quelle/Exportiere Rohdaten'; $lang['disableactions_other'] = 'Weitere Aktionen (durch Komma getrennt)'; -$lang['userewrite'] = 'Benutze angenehme URLs'; -$lang['autoplural'] = 'Prüfe die Links auf Plural-Formen'; -$lang['notify'] = 'Sende eine Änderungsmitteilung an diese E-Mail-Adresse'; -$lang['mailfrom'] = 'E-Mail-Adresse zur Nutzung für automatische E-Mails'; +$lang['sneaky_index'] = 'Standardmäßig zeigt Dokuwiki alle Namensräume in der Indexansicht an. Bei Aktivierung dieser Einstellung werden alle Namensräume versteckt, in welchen der Benutzer keine Leserechte hat. Dies könnte dazu führen, dass lesbare Unternamensräume versteckt werden. Dies kann die Indexansicht bei bestimmten Zugangskontrolleinstellungen unbenutzbar machen.'; +$lang['userewrite'] = 'Benutze schöne URLs'; +$lang['useslash'] = 'Benutze Schrägstrich als Namensraumtrenner in URLs'; +$lang['usedraft'] = 'Speichere automatisch Entwürfe während der Bearbeitung'; +$lang['notify'] = 'Sende Änderungsbenachrichtigungen an diese eMail Adresse.'; +$lang['registernotify'] = 'Sende Information bei neu registrierten Benutzern an diese eMail Adresse.'; +$lang['gdlib'] = 'GD Lib Version'; +$lang['send404'] = 'Sende "HTTP 404/Seite nicht gefunden" für nicht existierende Seiten'; $lang['renderer__plugin'] = '%s (Erweiterung)'; -$lang['proxy____host'] = 'Proxy-Servername'; -$lang['proxy____port'] = 'Proxy- Port'; -$lang['proxy____user'] = 'Proxy-Nutzername'; -$lang['proxy____pass'] = 'Proxy-Passwort'; +$lang['target____wiki'] = 'Zielfenstername für interne Links'; +$lang['target____interwiki'] = 'Zielfenstername für interwiki Links'; +$lang['target____extern'] = 'Zielfenstername für externe Links'; +$lang['target____media'] = 'Zielfenstername für Medienlinks'; +$lang['target____windows'] = 'Zielfenstername für Windowslinks'; +$lang['safemodehack'] = 'Aktiviere safemode Hack'; +$lang['ftp____host'] = 'FTP Server für safemode Hack'; +$lang['ftp____port'] = 'FTP Port für safemode Hack'; +$lang['ftp____user'] = 'FTP Benutzername für safemode Hack'; +$lang['ftp____pass'] = 'FTP Passwort für safemode Hack'; $lang['license_o_'] = 'Nichts ausgewählt'; $lang['typography_o_0'] = 'nichts'; $lang['userewrite_o_0'] = 'nichts'; +$lang['userewrite_o_1'] = '.htaccess'; +$lang['userewrite_o_2'] = 'DokuWiki intern'; $lang['deaccent_o_0'] = 'aus'; +$lang['deaccent_o_1'] = 'Entferne Akzente'; +$lang['gdlib_o_0'] = 'GD lib ist nicht verfügbar'; $lang['gdlib_o_1'] = 'Version 1.x'; $lang['gdlib_o_2'] = 'Autoerkennung'; $lang['rss_type_o_rss'] = 'RSS 0.91'; @@ -79,7 +92,11 @@ $lang['rss_type_o_rss1'] = 'RSS 1.0'; $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; -$lang['rss_content_o_abstract'] = 'Abstraktum'; +$lang['rss_content_o_abstract'] = 'Zusammenfassung'; +$lang['rss_content_o_diff'] = 'Unified Diff'; +$lang['rss_linkto_o_diff'] = 'Ansicht der Unterschiede'; +$lang['rss_linkto_o_rev'] = 'Liste der Revisionen'; +$lang['rss_linkto_o_current'] = 'Die aktuelle Seite'; $lang['compression_o_0'] = 'nichts'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; diff --git a/lib/plugins/plugin/lang/de-informal/admin_plugin.txt b/lib/plugins/plugin/lang/de-informal/admin_plugin.txt index 663313436..576797d57 100644 --- a/lib/plugins/plugin/lang/de-informal/admin_plugin.txt +++ b/lib/plugins/plugin/lang/de-informal/admin_plugin.txt @@ -1,3 +1,3 @@ ===== Erweiterungsmanagement ===== -Auf dieser Seite kannst du alles anpassen was mit DokuWiki zu tun hat [[doku>plugins|plugins]]. Der Ordner der Erweiterungen muss für den Webserver beschreibbar sein, um Erweiterungen herunterladen und installieren zu können. \ No newline at end of file +Auf dieser Seite kannst du alles anpassen was mit den DokuWiki [[doku>plugins|Erweiterungen]] zu tun hat. Der Ordner der Erweiterungen muss für den Webserver beschreibbar sein, um Erweiterungen herunterladen und installieren zu können. \ No newline at end of file diff --git a/lib/plugins/plugin/lang/de-informal/lang.php b/lib/plugins/plugin/lang/de-informal/lang.php index 5796eebf1..f906bf6aa 100644 --- a/lib/plugins/plugin/lang/de-informal/lang.php +++ b/lib/plugins/plugin/lang/de-informal/lang.php @@ -4,11 +4,11 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['menu'] = 'Plugins verwalten'; -$lang['download'] = 'Herunterladen und installieren eines neuen Plugins'; -$lang['manage'] = 'Installierte Plugins'; +$lang['download'] = 'Herunterladen und installieren einer neuen Erweiterung'; +$lang['manage'] = 'Installierte Erweiterungen'; $lang['btn_info'] = 'Information'; $lang['btn_update'] = 'aktualisieren'; $lang['btn_delete'] = 'löschen'; @@ -24,15 +24,15 @@ $lang['updating'] = 'Aktualisiere...'; $lang['updated'] = 'Erweiterung %s wurde erfolgreich aktualisiert.'; $lang['updates'] = 'Die folgenden Erweiterungen wurden erfolgreich aktualisiert.'; $lang['update_none'] = 'Keine Aktualisierungen gefunden.'; -$lang['deleting'] = 'Loesche...'; +$lang['deleting'] = 'Lösche...'; $lang['deleted'] = 'Erweiterung %s wurde gelöscht.'; $lang['downloading'] = 'Herunterladen...'; $lang['downloaded'] = 'Erweiterung %s wurde erfolgreich installiert'; $lang['downloads'] = 'Die folgenden Erweiterungen wurden erfolgreich installiert:'; $lang['download_none'] = 'Keine Erweiterungen gefunden oder es trat ein unbekanntest Problem beim Herunterladen und Installieren auf.'; -$lang['plugin'] = 'Plugin:'; +$lang['plugin'] = 'Erweiterung:'; $lang['components'] = 'Komponenten'; -$lang['noinfo'] = 'Diese Erweiterung gab keine Information zurück - es könnte ungültig sein.'; +$lang['noinfo'] = 'Diese Erweiterung gab keine Information zurück - sie könnte ungültig sein.'; $lang['name'] = 'Name:'; $lang['date'] = 'Datum:'; $lang['type'] = 'Typ:'; @@ -44,8 +44,8 @@ $lang['error_download'] = 'Nicht möglich die Erweiterung herunterzuladen $lang['error_badurl'] = 'Vermute schlechte URL - nicht möglich den Dateinamen aus der URL zu ermitteln'; $lang['error_dircreate'] = 'Nicht möglich einen temporären Ordner zu erstellen um den Download zu empfangen.'; $lang['error_decompress'] = 'Dem Erweiterungsmanager war es nicht möglich die heruntergeladene Datei zu dekomprimieren. Dies kann an einem defekten Download liegen, in diesem Fall sollten Sie es erneut versuchen; oder das Format mit dem die Datei komprimiert ist, ist unbekannt, da müssen Sie die Erweiterung manuell herunterladen und installieren. '; -$lang['error_copy'] = 'Es trat ein Dateifehler beim Kopieren der Installationsdateien für Plugn %s auf: Die Festplatte könnte voll oder die Zugriffsrechte verweigert worden sein. Dies führt zu einem teilweise installierten Plugin und belässt dein Wiki in einem instabilen Zustand.'; -$lang['error_delete'] = 'Es trat ein Fehler beim Löschen des Plugins %s auf. Die whrscheinlichste Ursache ist eine unzureichende Datei- oder Ordnerzugriffserlaubnis.'; +$lang['error_copy'] = 'Es trat ein Dateifehler beim Kopieren der Installationsdateien für die Erweiterung %s auf: Die Festplatte könnte voll oder die Zugriffsrechte verweigert worden sein. Dies führt zu einer teilweise installierten Erweiterung und belässt dein Wiki in einem instabilen Zustand.'; +$lang['error_delete'] = 'Es trat ein Fehler beim Löschen der Erweiterung %s auf. Die wahrscheinlichste Ursache ist eine unzureichende Datei- oder Ordnerzugriffserlaubnis.'; $lang['enabled'] = 'Erweiterung %s aktiviert.'; $lang['notenabled'] = 'Erweiterung %s konnte nicht aktiviert werden. Überprüfen sie die Zugriffsberechtigung der Datei.'; $lang['disabled'] = 'Erweiterung %s deaktiviert.'; diff --git a/lib/plugins/popularity/lang/de-informal/intro.txt b/lib/plugins/popularity/lang/de-informal/intro.txt index 1aa31a6b5..4dfbb9ea6 100644 --- a/lib/plugins/popularity/lang/de-informal/intro.txt +++ b/lib/plugins/popularity/lang/de-informal/intro.txt @@ -1,9 +1,9 @@ -===== Rückkopplung zur Zufriedenheit ===== +===== Rückmeldung zur Zufriedenheit ===== Dieses Werkzeug sammelt anonym Daten über dein Wiki und erlaubt es dir diese an die Entwickler von DokuWiki zu senden. Dies hilft ihnen zu verstehen, wie DokuWiki von den Nutzern verwendet wird und stellt somit sicher, dass Entscheidungen für zukünftige Entwicklungen mit reellen Nutzungsstatistiken belegbar sind. -Du wirst angehalten diesen Schritt von Zeit zu Zeit erneut zu machen um die Entwickler zu infomieren wenn dein Wiki wächst. Deine aktuelleren Datensätze werden anhand einer anonymen ID zugeordnet. +Du wirst angehalten diesen Schritt von Zeit zu Zeit erneut zu machen um die Entwickler zu informieren wenn dein Wiki wächst. Deine aktuelleren Datensätze werden anhand einer anonymen Identifikationsnummer zugeordnet. -Die gesammelten Daten enthalten Infomrationen über deine Version von DokuWiki, die Anzahl und Größe der Seiten und Dateien, installierte Erweiterungen und informationen über deine PHP-Version. +Die gesammelten Daten enthalten Informationen über deine Version von DokuWiki, die Anzahl und Größe der Seiten und Dateien, installierte Erweiterungen und Informationen über deine PHP-Version. -Die Rohdaten die gesendet werden, werden unten gezeigt. Bitte nutze den "Send Data" Knopf um die Informationen zu übermitteln. \ No newline at end of file +Die Rohdaten die gesendet werden, werden unten gezeigt. Bitte nutze den "Sende Daten" Knopf um die Informationen zu übermitteln. \ No newline at end of file diff --git a/lib/plugins/popularity/lang/de-informal/lang.php b/lib/plugins/popularity/lang/de-informal/lang.php index e6bd28f04..004d028e0 100644 --- a/lib/plugins/popularity/lang/de-informal/lang.php +++ b/lib/plugins/popularity/lang/de-informal/lang.php @@ -4,7 +4,7 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['name'] = 'Polularitätsrückmeldung (kann eine Weile dauern, bis es fertig geladen wurde)'; $lang['submit'] = 'Sende Daten'; diff --git a/lib/plugins/revert/lang/de-informal/lang.php b/lib/plugins/revert/lang/de-informal/lang.php index 974801bcb..6ed87e82e 100644 --- a/lib/plugins/revert/lang/de-informal/lang.php +++ b/lib/plugins/revert/lang/de-informal/lang.php @@ -4,12 +4,11 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ -$lang['menu'] = 'Seiten wieder herstellen'; -$lang['filter'] = 'Nach betroffenen Seiten suchen'; -$lang['revert'] = 'Ausgewählte Seiten wieder herstellen'; -$lang['reverted'] = '%s wieder hergestellt zu Version %s'; +$lang['menu'] = 'Zurückstellungsmanager'; +$lang['revert'] = 'Stelle ausgewählte Seiten zurück.'; +$lang['reverted'] = '%s zu Revision %s zurückgesetzt'; $lang['removed'] = '%s entfernt'; $lang['revstart'] = 'Zurückstellungsprozess gestartet. Dies kann eine längere Zeit dauern. Wenn das Skript vor Fertigstellung stopt, sollten Sie es in kleineren Stücken versuchen.'; $lang['revstop'] = 'Zurückstellungsprozess erfolgreich beendet.'; diff --git a/lib/plugins/usermanager/lang/de-informal/lang.php b/lib/plugins/usermanager/lang/de-informal/lang.php index b57f999db..be745565d 100644 --- a/lib/plugins/usermanager/lang/de-informal/lang.php +++ b/lib/plugins/usermanager/lang/de-informal/lang.php @@ -4,7 +4,7 @@ * * @author Alexander Fischer * @author Juergen Schwarzer - * @author ste-re@web.de + * @author Marcel Metz */ $lang['menu'] = 'Benutzerverwalter'; $lang['noauth'] = '(Benutzeranmeldung ist nicht verfügbar)'; @@ -20,8 +20,8 @@ $lang['value'] = 'Wert'; $lang['add'] = 'Zufügen'; $lang['delete'] = 'Löschen'; $lang['delete_selected'] = 'Lösche ausgewähltes'; -$lang['edit'] = 'Editieren'; -$lang['edit_prompt'] = 'Editiere den Benutzer'; +$lang['edit'] = 'Bearbeiten'; +$lang['edit_prompt'] = 'Bearbeite diesen Benutzer'; $lang['modify'] = 'Änderungen speichern'; $lang['search'] = 'Suchen'; $lang['search_prompt'] = 'Suche ausführen'; @@ -45,5 +45,5 @@ $lang['note_group'] = 'Neue Benutzer werden zur Standardgruppe (%s) h $lang['note_pass'] = 'Das Passwort wird automatisch erzeugt, wenn das Feld freigelassen wird und der Benutzer Benachrichtigungen aktiviert hat.'; $lang['add_ok'] = 'Benutzer erfolgreich hinzugefügt'; $lang['add_fail'] = 'Hinzufügen des Benutzers fehlgeschlagen'; -$lang['notify_ok'] = 'Benachrichtigungsmail wurde versendet'; -$lang['notify_fail'] = 'Benachrichtigungsmail konnte nicht gesendet werden'; +$lang['notify_ok'] = 'Benachrichtigungsemail wurde versendet'; +$lang['notify_fail'] = 'Benachrichtigungsemail konnte nicht gesendet werden'; -- cgit v1.2.3 From c4b04b7f874a6c3f7ab5296aed1c039757183eb7 Mon Sep 17 00:00:00 2001 From: Philippe Bajoit Date: Mon, 8 Feb 2010 20:22:17 +0100 Subject: French language update --- inc/lang/fr/lang.php | 27 +++++++++++++++++++-------- lib/plugins/acl/lang/fr/lang.php | 1 + lib/plugins/config/lang/fr/lang.php | 1 + lib/plugins/plugin/lang/fr/lang.php | 1 + lib/plugins/popularity/lang/fr/lang.php | 1 + lib/plugins/revert/lang/fr/lang.php | 1 + lib/plugins/usermanager/lang/fr/lang.php | 1 + 7 files changed, 25 insertions(+), 8 deletions(-) diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 6a0f408b8..7e2173f42 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -18,6 +18,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -51,9 +52,6 @@ $lang['btn_back'] = 'Retour'; $lang['btn_backlink'] = 'Liens vers cette page'; $lang['btn_backtomedia'] = 'Retour à la sélection du fichier média'; $lang['btn_subscribe'] = 'S\'abonner à la page'; -$lang['btn_unsubscribe'] = 'Se désabonner de la page'; -$lang['btn_subscribens'] = 'S\'abonner à la catégorie'; -$lang['btn_unsubscribens'] = 'Se désabonner de la catégorie'; $lang['btn_profile'] = 'Mettre à jour le profil'; $lang['btn_reset'] = 'Réinitialiser'; $lang['btn_resendpwd'] = 'Envoyer le mot de passe'; @@ -161,8 +159,10 @@ $lang['external_edit'] = 'édition externe'; $lang['summary'] = 'Résumé'; $lang['noflash'] = 'L"extension Adobe Flash Plugin est nécessaire pour afficher ce contenu.'; $lang['download'] = 'Télécharger un extrait'; +$lang['table_edit_title'] = 'Tableau'; $lang['mail_newpage'] = 'page ajoutée :'; $lang['mail_changed'] = 'page changée :'; +$lang['mail_subscribe_list'] = 'pages modifiées dans l\'espace de nommage:'; $lang['mail_new_user'] = 'nouvel utilisateur :'; $lang['mail_upload'] = 'fichier envoyé :'; $lang['qb_bold'] = 'Gras'; @@ -205,11 +205,22 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Appareil photo'; $lang['img_keywords'] = 'Mots clef'; -$lang['subscribe_success'] = 'Ajout de %s à la liste d\'abonnés de %s'; -$lang['subscribe_error'] = 'Erreur à l\'ajout de %s à la liste d\'abonnés de %s'; -$lang['subscribe_noaddress'] = 'Aucune adresse associée à votre nom d\'utilisateur, impossible de vous ajouter à la liste d\'abonnés'; -$lang['unsubscribe_success'] = 'Suppression de %s de la liste d\'abonnés de %s'; -$lang['unsubscribe_error'] = 'Erreur à la suppression de %s de la liste d\'abonnés de %s'; +$lang['subscr_subscribe_success'] = 'Ajouté %s à la liste de souscription de %s'; +$lang['subscr_subscribe_error'] = 'Erreur en ajoutant %s à la liste de souscription de %s'; +$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre login, vous ne pouvez pas être ajouté à la liste de souscription'; +$lang['subscr_unsubscribe_success'] = 'Retiré %s de la liste de souscription de %s'; +$lang['subscr_unsubscribe_error'] = 'Erreur en retirant %s de la liste de souscription de %s'; +$lang['subscr_already_subscribed'] = '%s est déjà souscrit à %s'; +$lang['subscr_not_subscribed'] = '%s n\'est pas souscrit à %s'; +$lang['subscr_m_not_subscribed'] = 'Vous n\'avez pas souscrit pour l\'instant à la page courante ou l\'espace de nommage'; +$lang['subscr_m_new_header'] = 'Ajouter une souscription'; +$lang['subscr_m_current_header'] = 'Souscriptions actives'; +$lang['subscr_m_unsubscribe'] = 'Annuler la souscription'; +$lang['subscr_m_subscribe'] = 'Souscrire'; +$lang['subscr_m_receive'] = 'Recevoir'; +$lang['subscr_style_every'] = 'Envoyer un email à chaque changement'; +$lang['subscr_style_digest'] = 'Email résumé des changements de chaque page'; +$lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier email'; $lang['authmodfailed'] = 'Mauvais paramétrage de l\'authentification. Merci d\'informer l\'administrateur du Wiki.'; $lang['authtempfail'] = 'L\'authentification est temporairement indisponible. Si cela perdure, merci d\'informer l\'administrateur du Wiki.'; $lang['i_chooselang'] = 'Choisissez votre langue'; diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index 88a045ffe..7973ab559 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -17,6 +17,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; $lang['acl_group'] = 'Groupe'; diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index f410291e7..e06a44c10 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -12,6 +12,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['menu'] = 'Paramètres de configuration'; $lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez.
La valeur(s) erronée(s) est entourée d\'une bordure rouge.'; diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php index 43c4e9c5f..eec17cdbb 100644 --- a/lib/plugins/plugin/lang/fr/lang.php +++ b/lib/plugins/plugin/lang/fr/lang.php @@ -12,6 +12,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['menu'] = 'Gestion des module externes'; $lang['download'] = 'Télécharger et installer un nouveau module'; diff --git a/lib/plugins/popularity/lang/fr/lang.php b/lib/plugins/popularity/lang/fr/lang.php index fdba3ac98..48ecbd305 100644 --- a/lib/plugins/popularity/lang/fr/lang.php +++ b/lib/plugins/popularity/lang/fr/lang.php @@ -9,6 +9,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['name'] = 'Enquête de popularité (peut nécessiter un certain temps pour être chargé)'; $lang['submit'] = 'Envoyer les données'; diff --git a/lib/plugins/revert/lang/fr/lang.php b/lib/plugins/revert/lang/fr/lang.php index 8d17280d4..0f58fad6e 100644 --- a/lib/plugins/revert/lang/fr/lang.php +++ b/lib/plugins/revert/lang/fr/lang.php @@ -10,6 +10,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['menu'] = 'Gestionnaire de réversions'; $lang['filter'] = 'Trouver les pages spammées '; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index 9229ee8e8..d0fa09074 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -11,6 +11,7 @@ * @author Erik Pedersen * @author olivier duperray * @author Vincent Feltz + * @author Philippe Bajoit */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification utilisateur non disponible)'; -- cgit v1.2.3 From 66d2bed97d77042bdcd15cbeb71f058918c8f614 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Feb 2010 10:51:54 +0100 Subject: Add security token to subscription manage page --- inc/actions.php | 2 +- inc/template.php | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 1fda0584e..b7567bc20 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -571,7 +571,7 @@ function act_subscription($act){ } // any action given? if not just return and show the subscription page - if(!$params['action']) return $act; + if(!$params['action'] || !checkSecurityToken()) return $act; // Handle POST data, may throw exception. trigger_event('ACTION_HANDLE_SUBSCRIBE', $params, 'subscription_handle_post'); diff --git a/inc/template.php b/inc/template.php index bab68e549..df0c94437 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1375,9 +1375,14 @@ function tpl_subscribe() { if(!$sstl) $sstl = hsc($sub['style']); echo ' ('.$sstl.') '; - echo ''.$lang['subscr_m_unsubscribe'].''; - - echo '
'; + echo ''.$lang['subscr_m_unsubscribe'] . + '
'; } echo ''; } -- cgit v1.2.3 From 25624f5a1298c401be5c26959027cbe4569ac35a Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Feb 2010 10:50:38 +0100 Subject: Nicer list subscription mail --- inc/subscription.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/inc/subscription.php b/inc/subscription.php index ae326c894..f844fea1d 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -303,13 +303,14 @@ function subscription_send_digest($subscriber_mail, $change, $lastupdate) { * @author Adrian Lang */ function subscription_send_list($subscriber_mail, $changes, $id) { + global $conf; $list = ''; foreach ($changes as $change) { - $list .= '* ' . $change['id'] . NL; + $list .= '* ' . wl($change['id'], array(), true) . NL; } subscription_send($subscriber_mail, array('DIFF' => rtrim($list), - 'SUBSCRIBE' => wl($changes[0]['id'], + 'SUBSCRIBE' => wl($id . $conf['start'], array('do' => 'subscribe'), true, '&')), 'subscribe_list', -- cgit v1.2.3 From 9ee282d8dedfbb7ac2b6893de250d99f00ff544f Mon Sep 17 00:00:00 2001 From: Dimi T Date: Tue, 9 Feb 2010 21:52:03 +0100 Subject: Macedonian transaltion added --- inc/lang/mk/adminplugins.txt | 1 + inc/lang/mk/lang.php | 247 +++++++++++++++++++++++++++++ inc/lang/mk/read.txt | 1 + inc/lang/mk/recent.txt | 3 + inc/lang/mk/showrev.txt | 2 + lib/plugins/acl/lang/mk/lang.php | 22 +++ lib/plugins/config/lang/mk/lang.php | 6 + lib/plugins/plugin/lang/mk/lang.php | 43 +++++ lib/plugins/popularity/lang/mk/lang.php | 6 + lib/plugins/revert/lang/mk/lang.php | 6 + lib/plugins/usermanager/lang/mk/add.txt | 1 + lib/plugins/usermanager/lang/mk/delete.txt | 1 + lib/plugins/usermanager/lang/mk/edit.txt | 1 + lib/plugins/usermanager/lang/mk/intro.txt | 1 + lib/plugins/usermanager/lang/mk/lang.php | 38 +++++ lib/plugins/usermanager/lang/mk/list.txt | 1 + 16 files changed, 380 insertions(+) create mode 100644 inc/lang/mk/adminplugins.txt create mode 100644 inc/lang/mk/lang.php create mode 100644 inc/lang/mk/read.txt create mode 100644 inc/lang/mk/recent.txt create mode 100644 inc/lang/mk/showrev.txt create mode 100644 lib/plugins/acl/lang/mk/lang.php create mode 100644 lib/plugins/config/lang/mk/lang.php create mode 100644 lib/plugins/plugin/lang/mk/lang.php create mode 100644 lib/plugins/popularity/lang/mk/lang.php create mode 100644 lib/plugins/revert/lang/mk/lang.php create mode 100644 lib/plugins/usermanager/lang/mk/add.txt create mode 100644 lib/plugins/usermanager/lang/mk/delete.txt create mode 100644 lib/plugins/usermanager/lang/mk/edit.txt create mode 100644 lib/plugins/usermanager/lang/mk/intro.txt create mode 100644 lib/plugins/usermanager/lang/mk/lang.php create mode 100644 lib/plugins/usermanager/lang/mk/list.txt diff --git a/inc/lang/mk/adminplugins.txt b/inc/lang/mk/adminplugins.txt new file mode 100644 index 000000000..28e2cc1d3 --- /dev/null +++ b/inc/lang/mk/adminplugins.txt @@ -0,0 +1 @@ +===== Додатни приклучоци ===== \ No newline at end of file diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php new file mode 100644 index 000000000..b33bea1a3 --- /dev/null +++ b/inc/lang/mk/lang.php @@ -0,0 +1,247 @@ + + */ +$lang['encoding'] = 'utf-8'; +$lang['direction'] = 'ltr'; +$lang['doublequoteopening'] = '„'; +$lang['doublequoteclosing'] = '“'; +$lang['apostrophe'] = '\''; +$lang['btn_edit'] = 'Уреди ја страницата'; +$lang['btn_source'] = 'Прикажи ја изворната страница'; +$lang['btn_show'] = 'Прикажи страница'; +$lang['btn_create'] = 'Креирај ја оваа страница'; +$lang['btn_search'] = 'Барај'; +$lang['btn_save'] = 'Зачувај'; +$lang['btn_preview'] = 'Преглед'; +$lang['btn_top'] = 'Назад до врв'; +$lang['btn_newer'] = '<< понови'; +$lang['btn_older'] = 'постари >>'; +$lang['btn_revs'] = 'Стари ревизии'; +$lang['btn_recent'] = 'Скорешни промени'; +$lang['btn_upload'] = 'Крени'; +$lang['btn_cancel'] = 'Откажи'; +$lang['btn_index'] = 'Индекс'; +$lang['btn_secedit'] = 'Уреди'; +$lang['btn_login'] = 'Најава'; +$lang['btn_logout'] = 'Одјава'; +$lang['btn_admin'] = 'Админ'; +$lang['btn_update'] = 'Ажурирај'; +$lang['btn_delete'] = 'Избриши'; +$lang['btn_back'] = 'Назад'; +$lang['btn_backlink'] = 'Повратни врски'; +$lang['btn_backtomedia'] = 'Назад до изборот за медиа-датотека'; +$lang['btn_subscribe'] = 'Менаџирај претплати'; +$lang['btn_profile'] = 'Ажурирај профил'; +$lang['btn_reset'] = 'Ресет'; +$lang['btn_resendpwd'] = 'Испрати нов пасворд'; +$lang['btn_draft'] = 'Уреди скица'; +$lang['btn_recover'] = 'Поврати скица'; +$lang['btn_draftdel'] = 'Избриши скица'; +$lang['btn_revert'] = 'Обнови'; +$lang['loggedinas'] = 'Најавен/а како'; +$lang['user'] = 'Корисничко име'; +$lang['pass'] = 'Лозинка'; +$lang['newpass'] = 'Нова лозинка'; +$lang['oldpass'] = 'Потврдете ја сегашната лозинка'; +$lang['passchk'] = 'уште еднаш'; +$lang['remember'] = 'Запомни ме'; +$lang['fullname'] = 'Вистинско име'; +$lang['email'] = 'Е-пошта'; +$lang['register'] = 'Регистрирај се'; +$lang['profile'] = 'Кориснички профил'; +$lang['badlogin'] = 'Жалам, корисничкото име или лозинката се погрешни.'; +$lang['minoredit'] = 'Мали измени'; +$lang['draftdate'] = 'Скицата е само-снимена на'; +$lang['nosecedit'] = 'Во меѓувреме страницата беше променета, информацискиот дел е со истечен период затоа се вчита целата страница.'; +$lang['regmissing'] = 'Жалам, мора да ги пополнеш сите полиња.'; +$lang['reguexists'] = 'Жалам, корисник со ова корисничко име веќе постои.'; +$lang['regsuccess'] = 'Корисникот е креиран и лозинката е испратена по е-пошта.'; +$lang['regsuccess2'] = 'Корисникот е креиран.'; +$lang['regmailfail'] = 'Изгледа дека се појави грешка при испраќањето на е-пошта со лозинката. Ве молам контактирајте го администраторот!'; +$lang['regbadmail'] = 'Дадената адреса за е-пошта изгледа невалидна - ако мислите дека ова е грешка, контактирајте го администраторот'; +$lang['regbadpass'] = 'Двете наведени лозинки не се исти, ве молам пробајте повторно.'; +$lang['regpwmail'] = 'Вашата DokuWiki лозинка'; +$lang['reghere'] = 'Се уште немаш сметка? Направи веќе една'; +$lang['profna'] = 'Ова вики не поддржува измена на профилот'; +$lang['profnochange'] = 'Нема промени, ништо за правење.'; +$lang['profnoempty'] = 'Празно име или адреса за е-пошта не е дозволено.'; +$lang['profchanged'] = 'Корисничкиот профил е успешно ажуриран.'; +$lang['pwdforget'] = 'Ја заборавивте лозинката? Добијте нова'; +$lang['resendna'] = 'Ова вики не поддржува повторно испраќање на лозинка.'; +$lang['resendpwd'] = 'Испрати нова лозинка за'; +$lang['resendpwdmissing'] = 'Жалам, морате да ги пополните сите полиња.'; +$lang['resendpwdnouser'] = 'Жалам, таков корисник не постои во нашата база со податоци.'; +$lang['resendpwdbadauth'] = 'Жалам, овај код за валидација не е валиден. Проверете повторно дали ја искористивте целосната врска за потврда.'; +$lang['resendpwdconfirm'] = 'Врска за потврда е испратена по е-пошта.'; +$lang['resendpwdsuccess'] = 'Вашата нова лозинка е испратена по е-пошта.'; +$lang['license'] = 'Освен каде што е наведено поинаку, содржината на ова вики е лиценцирано по следнава лиценца:'; +$lang['licenseok'] = 'Забелешка: со уредување на оваа страница се согласувате да ја лиценцирате вашата содржина под следнава лиценца:'; +$lang['searchmedia'] = 'Барај име на датотека:'; +$lang['searchmedia_in'] = 'Барај во %s'; +$lang['txt_upload'] = 'Избери датотека за качување'; +$lang['txt_filename'] = 'Качи како (неморално)'; +$lang['txt_overwrt'] = 'Пребриши ја веќе постоечката датотека'; +$lang['lockedby'] = 'Моментално заклучена од'; +$lang['lockexpire'] = 'Клучот истекува на'; +$lang['willexpire'] = 'Вашиот клуч за уредување на оваа страница ќе истече за една минута.\nЗа да избегнете конфликти и да го ресетирате бројачот за време, искористете го копчето за преглед.'; +$lang['notsavedyet'] = 'Незачуваните промени ќе бидат изгубени.\nСакате да продолжите?'; +$lang['rssfailed'] = 'Се појави грешка при повлекувањето на овој канал:'; +$lang['nothingfound'] = 'Ништо не е пронајдено.'; +$lang['mediaselect'] = 'Медиа датотеки'; +$lang['fileupload'] = 'Качување на медиа датотеки'; +$lang['uploadsucc'] = 'Качувањето е успешно'; +$lang['uploadfail'] = 'Качувањето не е успешно. Можеби има погрешни пермисии?'; +$lang['uploadwrong'] = 'Качувањето е одбиено. Наставката на датотеката е забранета!'; +$lang['uploadexist'] = 'Датотеката веќе постои. Ништо не е направено.'; +$lang['uploadbadcontent'] = 'Качената содржина не се совпаѓа со наставката %s на датотеката.'; +$lang['uploadspam'] = 'Качувањето беше блокирано од црната листа за спам.'; +$lang['uploadxss'] = 'Качувањето беше блокирано за можна злонамерна содржина.'; +$lang['uploadsize'] = 'Датотеката за качување е премногу голема. (макс. %s)'; +$lang['deletesucc'] = 'Датотеката „%s“ е избришана.'; +$lang['deletefail'] = '„%s“ не може да се избрише - проверете пермисии.'; +$lang['mediainuse'] = 'Датотеката „%s“ не е избришана - се уште е во употреба.'; +$lang['mediafiles'] = 'Достапни датотеки во'; +$lang['js']['searchmedia'] = 'Барај датотеки'; +$lang['js']['keepopen'] = 'Задржи го прозорецот отворен на означеното место'; +$lang['js']['hidedetails'] = 'Скриј детали'; +$lang['js']['nosmblinks'] = 'Поврзувањето со Windows Shares работи само со Microsoft Internet Explorer. Сепак можете да ја копирате и вметнете врската.'; +$lang['js']['linkwiz'] = 'Волшебник за врски'; +$lang['js']['linkto'] = 'Врска до:'; +$lang['js']['del_confirm'] = 'Дали навистина да ги избришам избраните датотеки?'; +$lang['js']['mu_btn'] = 'Качете повеќе датотеки наеднаш'; +$lang['mediausage'] = 'Користете ја следнава синтакса за референцирање кон оваа датотека:'; +$lang['mediaview'] = 'Види ја оригиналната датотека'; +$lang['mediaroot'] = 'root'; +$lang['mediaextchange'] = 'Наставката на датотеката е сменета од .%s во .%s!'; +$lang['reference'] = 'Референци за'; +$lang['ref_inuse'] = 'Датотеката не може да биде избришана бидејќи се уште се користи од следниве страници:'; +$lang['ref_hidden'] = 'Некои референци се на страници на кои немате пермисии за читање'; +$lang['hits'] = 'Прегледи'; +$lang['quickhits'] = 'Совпаѓачки имиња на страници'; +$lang['toc'] = 'Содржина'; +$lang['current'] = 'сегашно'; +$lang['yours'] = 'Вашата верзија'; +$lang['diff'] = 'Прикажи разлики со сегашната верзија'; +$lang['diff2'] = 'Прикажи разлики помеѓу избраните ревизии'; +$lang['line'] = 'Линија'; +$lang['breadcrumb'] = 'Следи'; +$lang['youarehere'] = 'Вие сте тука'; +$lang['lastmod'] = 'Последно изменета'; +$lang['by'] = 'од'; +$lang['deleted'] = 'отстранета'; +$lang['created'] = 'креирана'; +$lang['restored'] = 'обновена е стара ревизија'; +$lang['external_edit'] = 'надворешно уредување'; +$lang['summary'] = 'Уреди го изводот'; +$lang['noflash'] = 'Adobe Flash приклучокот е потребен за да се прикаже оваа содржина.'; +$lang['download'] = 'Симни Snippe'; +$lang['mail_newpage'] = 'додадена е страницата:'; +$lang['mail_changed'] = 'променета е страницата:'; +$lang['mail_new_user'] = 'нов корисник:'; +$lang['mail_upload'] = 'качена е датотеката:'; +$lang['qb_bold'] = 'Задебелен текст'; +$lang['qb_italic'] = 'Накосен текст'; +$lang['qb_underl'] = 'Подвлечен текст'; +$lang['qb_code'] = 'Текст за код'; +$lang['qb_strike'] = 'Прецртан текст'; +$lang['qb_h1'] = 'Заглавие од 1-во ниво'; +$lang['qb_h2'] = 'Заглавие од 2-ро ниво'; +$lang['qb_h3'] = 'Заглавие од 3-то ниво'; +$lang['qb_h4'] = 'Заглавие од 4-то ниво'; +$lang['qb_h5'] = 'Заглавие од 5-то ниво'; +$lang['qb_h'] = 'Заглавие'; +$lang['qb_hs'] = 'Избери заглавие'; +$lang['qb_hplus'] = 'Зголеми заглавие'; +$lang['qb_hminus'] = 'Намали заглавие'; +$lang['qb_hequal'] = 'Заглавие од исто ниво'; +$lang['qb_link'] = 'Внатрешна врска'; +$lang['qb_extlink'] = 'Надворешна врска'; +$lang['qb_hr'] = 'Хоризонтален линијар'; +$lang['qb_media'] = 'Додај слики и други датотеки'; +$lang['qb_sig'] = 'Внеси потпис'; +$lang['qb_smileys'] = 'Смајлиња'; +$lang['qb_chars'] = 'Специјални знаци'; +$lang['admin_register'] = 'Додај нов корисник'; +$lang['metaedit'] = 'Уреди мета-податоци'; +$lang['metasaveerr'] = 'Запишување на мета-податоците не успеа'; +$lang['metasaveok'] = 'Мета-податоците се зачувани'; +$lang['img_backto'] = 'Назад до'; +$lang['img_title'] = 'Насловна линија'; +$lang['img_caption'] = 'Наслов'; +$lang['img_date'] = 'Датум'; +$lang['img_fname'] = 'Име на датотека'; +$lang['img_fsize'] = 'Големина'; +$lang['img_artist'] = 'Фотограф'; +$lang['img_copyr'] = 'Авторско право'; +$lang['img_format'] = 'Формат'; +$lang['img_camera'] = 'Камера'; +$lang['img_keywords'] = 'Клучни зборови'; +$lang['subscr_subscribe_success'] = 'Додаден/а е %s во претплатничката листа за %s'; +$lang['subscr_subscribe_error'] = 'Грешка при додавањето на %s во претплатничката листа за %s'; +$lang['subscr_subscribe_noaddress'] = 'Нема адреса за е-пошта поврзана со Вашата најава, не може да бидете додадени на претплатничката листа'; +$lang['subscr_unsubscribe_success'] = 'Отстранет/а е %s од претплатничката листа за %s'; +$lang['subscr_unsubscribe_error'] = 'Грешка при отстранувањето на %s од претплатничката листа за %s'; +$lang['subscr_already_subscribed'] = '%s е веќе претплатен/а на %s'; +$lang['subscr_not_subscribed'] = '%s е не претплатен/а на %s'; +$lang['subscr_m_not_subscribed'] = 'Моментално не сте пријавени на сегашната страница или '; +$lang['subscr_m_new_header'] = 'Додај претплата'; +$lang['subscr_m_current_header'] = 'Моментални претплати'; +$lang['subscr_m_unsubscribe'] = 'Отплатување'; +$lang['subscr_m_subscribe'] = 'Претплата'; +$lang['subscr_m_receive'] = 'Прими'; +$lang['subscr_style_every'] = 'е-пошта за секоја промена'; +$lang['subscr_style_digest'] = 'е-пошта со преглед од промените за секоја страница'; +$lang['subscr_style_list'] = 'листа на променети страници од последната е-пошта'; +$lang['authmodfailed'] = 'Лоша конфигурација за автентикација на корисник. Ве молам информирајте го вики администратор.'; +$lang['authtempfail'] = 'Автентикација на корисник е привремено недостапна. Ако оваа ситуација истрајува, ве молам известете го вики администратор.'; +$lang['i_chooselang'] = 'Избере јазик'; +$lang['i_installer'] = 'Инсталер за DokuWiki'; +$lang['i_wikiname'] = 'вики име'; +$lang['i_enableacl'] = 'Овозможи ACL (препорачано)'; +$lang['i_superuser'] = 'Супер корисник'; +$lang['i_problems'] = 'Инсталерот пронајде неколку проблеми кои се прикажани подолу. Не можете да продолжите понатаму се додека не ги поправите.'; +$lang['i_modified'] = 'За безбедносни причини оваа скрипта ќе работи само со нова и неизменета инсталација од DokuWiki. Или извадете ги повторно датотеките од симнатиот пакет или консултирајте се со комплетните Dokuwiki инструкции за инсталација'; +$lang['i_funcna'] = 'PHP функцијата %s не е достапна. Можеби вашиот хостинг провајдер ја оневозможил со причина?'; +$lang['i_phpver'] = 'Вашата верзија на PHP %s е пониска од потребната %s. Треба да ја надградите вашата PHP инсталација.'; +$lang['i_permfail'] = '%s не е запишлива од DokuWiki. Треба да ги поправите подесувањата за пермисии на овој директориум!'; +$lang['i_confexists'] = '%s веќе постои'; +$lang['i_writeerr'] = 'Не може да се креира %s. Треба да ги проверите пермисиите на директориумот/датотеката и рачно да ја креирате датотеката.'; +$lang['i_badhash'] = 'непозната или изменете dokuwiki.php (hash=%s)'; +$lang['i_badval'] = '%s - нелегална или празна вредност'; +$lang['i_success'] = 'Конфигурацијата успешно заврши. Сега можете да ја избришете датотеката install.php. Продолжете до вашето ново DokuWiki.'; +$lang['i_failure'] = 'Се појавија некои грешки при запишувањето на конфигурациските датотеки. Можеби треба да ги поравите рачно пред да можете да го користите вашето ново DokuWiki.'; +$lang['i_policy'] = 'Почетна ACL политика'; +$lang['i_pol0'] = 'Отвори вики (читај, запиши, качи за сите)'; +$lang['i_pol1'] = 'Јавно вики (читај за сите, запиши и качи за регистрирани корисници)'; +$lang['i_pol2'] = 'Затворено вики (читај, запиши, качи само за регистрирани корисници)'; +$lang['i_retry'] = 'Пробај повторно'; +$lang['mu_intro'] = 'Овде можете да прикачите повеќе датотеки од еднаш. Кликнете на копчето за пребарување за да ги додадете во редица. Притиснете на качи кога е готово.'; +$lang['mu_gridname'] = 'Име на датотека'; +$lang['mu_gridsize'] = 'Големина'; +$lang['mu_gridstat'] = 'Состојба'; +$lang['mu_browse'] = 'Пребарај'; +$lang['mu_toobig'] = 'премногу голема'; +$lang['mu_ready'] = 'спремна за качување'; +$lang['mu_done'] = 'комплетно'; +$lang['mu_fail'] = 'неуспешно'; +$lang['mu_authfail'] = 'сесијата истече'; +$lang['mu_progress'] = '@PCT@% качено'; +$lang['mu_filetypes'] = 'Дозволено типови на датотеки'; +$lang['mu_info'] = 'качени датотеки.'; +$lang['mu_lasterr'] = 'Последна грешка: '; +$lang['years'] = 'пред %d години'; +$lang['months'] = 'пред %d месеци'; +$lang['weeks'] = 'пред %d недели'; +$lang['days'] = 'пред %d денови'; +$lang['hours'] = 'пред %d часа'; +$lang['minutes'] = 'пред %d минути'; +$lang['seconds'] = 'пред %d секунди'; diff --git a/inc/lang/mk/read.txt b/inc/lang/mk/read.txt new file mode 100644 index 000000000..8c8726eea --- /dev/null +++ b/inc/lang/mk/read.txt @@ -0,0 +1 @@ +Оваа страница е само за читање. Можете да го гледате изворот, но не можете да ја менувате. Ако мислите дека ова е погрешно, контактирајте го администраторот. \ No newline at end of file diff --git a/inc/lang/mk/recent.txt b/inc/lang/mk/recent.txt new file mode 100644 index 000000000..cfbba4aa2 --- /dev/null +++ b/inc/lang/mk/recent.txt @@ -0,0 +1,3 @@ +====== Скорешни промени ====== + +Следниве страници беа скорешно променети. \ No newline at end of file diff --git a/inc/lang/mk/showrev.txt b/inc/lang/mk/showrev.txt new file mode 100644 index 000000000..a0ca7353e --- /dev/null +++ b/inc/lang/mk/showrev.txt @@ -0,0 +1,2 @@ +**Ова е стара ревизија од документото!** +---- \ No newline at end of file diff --git a/lib/plugins/acl/lang/mk/lang.php b/lib/plugins/acl/lang/mk/lang.php new file mode 100644 index 000000000..d576c3d1d --- /dev/null +++ b/lib/plugins/acl/lang/mk/lang.php @@ -0,0 +1,22 @@ + + */ +$lang['acl_group'] = 'Група'; +$lang['acl_user'] = 'Корисник'; +$lang['acl_perms'] = 'Пермисии за'; +$lang['page'] = 'Страница'; +$lang['btn_select'] = 'Избери'; +$lang['current'] = 'Моментални ACL правила'; +$lang['who'] = 'Корисник/група'; +$lang['perm'] = 'Пермисии'; +$lang['acl_perm0'] = 'Ништо'; +$lang['acl_perm1'] = 'Читај'; +$lang['acl_perm2'] = 'Уреди'; +$lang['acl_perm4'] = 'Креирај'; +$lang['acl_perm8'] = 'Качи'; +$lang['acl_perm16'] = 'Избриши'; +$lang['acl_new'] = 'Додај нов запис'; +$lang['acl_mod'] = 'Измени запис'; diff --git a/lib/plugins/config/lang/mk/lang.php b/lib/plugins/config/lang/mk/lang.php new file mode 100644 index 000000000..6d4530f79 --- /dev/null +++ b/lib/plugins/config/lang/mk/lang.php @@ -0,0 +1,6 @@ + + */ diff --git a/lib/plugins/plugin/lang/mk/lang.php b/lib/plugins/plugin/lang/mk/lang.php new file mode 100644 index 000000000..85f73a09f --- /dev/null +++ b/lib/plugins/plugin/lang/mk/lang.php @@ -0,0 +1,43 @@ + + */ +$lang['menu'] = 'Уреди ги приклучоците'; +$lang['download'] = 'Симни и инсталирај нов приклучок'; +$lang['manage'] = 'Инсталирани приклучоци'; +$lang['btn_info'] = 'информации'; +$lang['btn_update'] = 'ажурирај'; +$lang['btn_delete'] = 'избриши'; +$lang['btn_settings'] = 'поставувања'; +$lang['btn_download'] = 'Симни'; +$lang['btn_enable'] = 'Зачувај'; +$lang['url'] = 'URL'; +$lang['installed'] = 'Инсталирани:'; +$lang['lastupdate'] = 'Последно ажурирани:'; +$lang['source'] = 'Извор:'; +$lang['unknown'] = 'непознат'; +$lang['updating'] = 'Ажурирам...'; +$lang['updated'] = 'Приклучокот % е успешно ажуриран'; +$lang['updates'] = 'Следниве приклучоци се успешно ажурирани'; +$lang['update_none'] = 'Нема потребни ажурирања.'; +$lang['deleting'] = 'Бришам...'; +$lang['deleted'] = 'Приклучокот %s е избришан.'; +$lang['downloading'] = 'Симнувам...'; +$lang['downloaded'] = 'Приклучокот % е успешно инсталиран'; +$lang['downloads'] = 'Следниве приклучоци се успешно инсталирани'; +$lang['download_none'] = 'Нема пронајдени приклучоци, или имаше непознат проблем при симнување и инсталирање.'; +$lang['plugin'] = 'Приклучок:'; +$lang['components'] = 'Компоненти'; +$lang['noinfo'] = 'Овој приклучок не врати информации, може да не е валиден.'; +$lang['name'] = 'Име:'; +$lang['date'] = 'Датум:'; +$lang['type'] = 'Тип:'; +$lang['desc'] = 'Опис:'; +$lang['author'] = 'Автор:'; +$lang['www'] = 'Веб:'; +$lang['error'] = 'Се појави непозната грешка.'; +$lang['error_download'] = 'Не сум во можност да ја симнам датотеката за приклучокот: %s'; +$lang['enabled'] = 'Приклучокот %s е овозможен.'; +$lang['disabled'] = 'Приклучокот %s е оневозможен.'; diff --git a/lib/plugins/popularity/lang/mk/lang.php b/lib/plugins/popularity/lang/mk/lang.php new file mode 100644 index 000000000..6d4530f79 --- /dev/null +++ b/lib/plugins/popularity/lang/mk/lang.php @@ -0,0 +1,6 @@ + + */ diff --git a/lib/plugins/revert/lang/mk/lang.php b/lib/plugins/revert/lang/mk/lang.php new file mode 100644 index 000000000..6d4530f79 --- /dev/null +++ b/lib/plugins/revert/lang/mk/lang.php @@ -0,0 +1,6 @@ + + */ diff --git a/lib/plugins/usermanager/lang/mk/add.txt b/lib/plugins/usermanager/lang/mk/add.txt new file mode 100644 index 000000000..c90121d1b --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/add.txt @@ -0,0 +1 @@ +===== Додај корисник ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/mk/delete.txt b/lib/plugins/usermanager/lang/mk/delete.txt new file mode 100644 index 000000000..8a6b5e9b5 --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/delete.txt @@ -0,0 +1 @@ +===== Избриши корисник ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/mk/edit.txt b/lib/plugins/usermanager/lang/mk/edit.txt new file mode 100644 index 000000000..da6306141 --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/edit.txt @@ -0,0 +1 @@ +===== Уреди корисник ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/mk/intro.txt b/lib/plugins/usermanager/lang/mk/intro.txt new file mode 100644 index 000000000..747d00921 --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/intro.txt @@ -0,0 +1 @@ +===== Менаџер за корисник ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/mk/lang.php b/lib/plugins/usermanager/lang/mk/lang.php new file mode 100644 index 000000000..97ef51369 --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/lang.php @@ -0,0 +1,38 @@ + + */ +$lang['menu'] = 'Менаџер за корисник'; +$lang['noauth'] = '(автентикација на корисник не е достапна)'; +$lang['nosupport'] = '(менаџирање на корисник не е поддржано)'; +$lang['badauth'] = 'невалиден механизам за автентикација'; +$lang['user_id'] = 'Корисник'; +$lang['user_pass'] = 'Лозинка'; +$lang['user_name'] = 'Вистинско име'; +$lang['user_mail'] = 'Е-пошта'; +$lang['user_groups'] = 'Групи'; +$lang['field'] = 'Поле'; +$lang['value'] = 'Вредност'; +$lang['add'] = 'Додај'; +$lang['delete'] = 'Избриши'; +$lang['delete_selected'] = 'Избриши ги избраните'; +$lang['edit'] = 'Уреди'; +$lang['edit_prompt'] = 'Уреди го овој корисник'; +$lang['modify'] = 'Зачувај промени'; +$lang['search'] = 'Барај'; +$lang['search_prompt'] = 'Изврши пребарување'; +$lang['clear'] = 'Ресетирај го филтерот за пребарување'; +$lang['filter'] = 'Филтер'; +$lang['delete_ok'] = '%d корисници се избришани'; +$lang['delete_fail'] = '%d не успееја да се избришат.'; +$lang['update_ok'] = 'Корисникот е успешно ажуриран'; +$lang['update_fail'] = 'Корисникот не е успешно ажуриран'; +$lang['start'] = 'почеток'; +$lang['prev'] = 'претходна'; +$lang['next'] = 'следна'; +$lang['last'] = 'последна'; +$lang['user_notify'] = 'Извести го корисникот'; +$lang['add_ok'] = 'Корисникот е успешно додаден'; +$lang['add_fail'] = 'Додавањето на корисникот не е успешно'; diff --git a/lib/plugins/usermanager/lang/mk/list.txt b/lib/plugins/usermanager/lang/mk/list.txt new file mode 100644 index 000000000..651462e9d --- /dev/null +++ b/lib/plugins/usermanager/lang/mk/list.txt @@ -0,0 +1 @@ +===== Листа со корисници ===== \ No newline at end of file -- cgit v1.2.3 From fc5dbe994743ed593e3941015999ca08abc72686 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Wed, 10 Feb 2010 20:26:47 +0100 Subject: Interlingua Translation added --- inc/lang/ia/admin.txt | 3 + inc/lang/ia/adminplugins.txt | 1 + inc/lang/ia/backlinks.txt | 3 + inc/lang/ia/conflict.txt | 5 + inc/lang/ia/denied.txt | 3 + inc/lang/ia/diff.txt | 3 + inc/lang/ia/draft.txt | 5 + inc/lang/ia/edit.txt | 1 + inc/lang/ia/editrev.txt | 2 + inc/lang/ia/index.txt | 3 + inc/lang/ia/install.html | 13 ++ inc/lang/ia/lang.php | 262 +++++++++++++++++++++++++++++++ inc/lang/ia/locked.txt | 3 + inc/lang/ia/login.txt | 3 + inc/lang/ia/mailtext.txt | 17 ++ inc/lang/ia/newpage.txt | 3 + inc/lang/ia/norev.txt | 3 + inc/lang/ia/password.txt | 10 ++ inc/lang/ia/preview.txt | 3 + inc/lang/ia/pwconfirm.txt | 14 ++ inc/lang/ia/read.txt | 1 + inc/lang/ia/recent.txt | 3 + inc/lang/ia/register.txt | 3 + inc/lang/ia/registermail.txt | 14 ++ inc/lang/ia/resendpwd.txt | 3 + inc/lang/ia/revisions.txt | 3 + inc/lang/ia/searchpage.txt | 5 + inc/lang/ia/showrev.txt | 2 + inc/lang/ia/stopwords.txt | 38 +++++ inc/lang/ia/subscr_digest.txt | 20 +++ inc/lang/ia/subscr_form.txt | 4 + inc/lang/ia/subscr_list.txt | 17 ++ inc/lang/ia/subscr_single.txt | 26 +++ inc/lang/ia/updateprofile.txt | 3 + inc/lang/ia/uploadmail.txt | 14 ++ inc/lang/ia/wordblock.txt | 3 + lib/plugins/acl/lang/ia/lang.php | 7 + lib/plugins/config/lang/ia/intro.txt | 7 + lib/plugins/config/lang/ia/lang.php | 7 + lib/plugins/plugin/lang/ia/lang.php | 7 + lib/plugins/popularity/lang/ia/lang.php | 7 + lib/plugins/revert/lang/ia/lang.php | 7 + lib/plugins/usermanager/lang/ia/lang.php | 7 + 43 files changed, 568 insertions(+) create mode 100644 inc/lang/ia/admin.txt create mode 100644 inc/lang/ia/adminplugins.txt create mode 100644 inc/lang/ia/backlinks.txt create mode 100644 inc/lang/ia/conflict.txt create mode 100644 inc/lang/ia/denied.txt create mode 100644 inc/lang/ia/diff.txt create mode 100644 inc/lang/ia/draft.txt create mode 100644 inc/lang/ia/edit.txt create mode 100644 inc/lang/ia/editrev.txt create mode 100644 inc/lang/ia/index.txt create mode 100644 inc/lang/ia/install.html create mode 100644 inc/lang/ia/lang.php create mode 100644 inc/lang/ia/locked.txt create mode 100644 inc/lang/ia/login.txt create mode 100644 inc/lang/ia/mailtext.txt create mode 100644 inc/lang/ia/newpage.txt create mode 100644 inc/lang/ia/norev.txt create mode 100644 inc/lang/ia/password.txt create mode 100644 inc/lang/ia/preview.txt create mode 100644 inc/lang/ia/pwconfirm.txt create mode 100644 inc/lang/ia/read.txt create mode 100644 inc/lang/ia/recent.txt create mode 100644 inc/lang/ia/register.txt create mode 100644 inc/lang/ia/registermail.txt create mode 100644 inc/lang/ia/resendpwd.txt create mode 100644 inc/lang/ia/revisions.txt create mode 100644 inc/lang/ia/searchpage.txt create mode 100644 inc/lang/ia/showrev.txt create mode 100644 inc/lang/ia/stopwords.txt create mode 100644 inc/lang/ia/subscr_digest.txt create mode 100644 inc/lang/ia/subscr_form.txt create mode 100644 inc/lang/ia/subscr_list.txt create mode 100644 inc/lang/ia/subscr_single.txt create mode 100644 inc/lang/ia/updateprofile.txt create mode 100644 inc/lang/ia/uploadmail.txt create mode 100644 inc/lang/ia/wordblock.txt create mode 100644 lib/plugins/acl/lang/ia/lang.php create mode 100644 lib/plugins/config/lang/ia/intro.txt create mode 100644 lib/plugins/config/lang/ia/lang.php create mode 100644 lib/plugins/plugin/lang/ia/lang.php create mode 100644 lib/plugins/popularity/lang/ia/lang.php create mode 100644 lib/plugins/revert/lang/ia/lang.php create mode 100644 lib/plugins/usermanager/lang/ia/lang.php diff --git a/inc/lang/ia/admin.txt b/inc/lang/ia/admin.txt new file mode 100644 index 000000000..f81ff3170 --- /dev/null +++ b/inc/lang/ia/admin.txt @@ -0,0 +1,3 @@ +====== Administration ====== + +Hic infra se trova un lista de cargas administrative disponibile in DokuWiki. diff --git a/inc/lang/ia/adminplugins.txt b/inc/lang/ia/adminplugins.txt new file mode 100644 index 000000000..ad8f794b0 --- /dev/null +++ b/inc/lang/ia/adminplugins.txt @@ -0,0 +1 @@ +===== Plug-ins additional ===== \ No newline at end of file diff --git a/inc/lang/ia/backlinks.txt b/inc/lang/ia/backlinks.txt new file mode 100644 index 000000000..de5d2ac56 --- /dev/null +++ b/inc/lang/ia/backlinks.txt @@ -0,0 +1,3 @@ +====== Retroligamines ====== + +Isto es un lista de paginas que contine ligamines de retorno al pagina actual. \ No newline at end of file diff --git a/inc/lang/ia/conflict.txt b/inc/lang/ia/conflict.txt new file mode 100644 index 000000000..576cb7e3f --- /dev/null +++ b/inc/lang/ia/conflict.txt @@ -0,0 +1,5 @@ +====== Un version plus nove existe ====== + +Existe un version plus nove del documento que tu ha modificate. Isto occurre si un altere usator cambia le documento durante que tu lo modifica. + +Examina minutiosemente le differentias monstrate hic infra, postea decide qual version debe esser conservate. Si tu selige ''salveguardar'', tu version essera salveguardate. Preme ''cancellar'' pro conservar le version actual. diff --git a/inc/lang/ia/denied.txt b/inc/lang/ia/denied.txt new file mode 100644 index 000000000..044e1532d --- /dev/null +++ b/inc/lang/ia/denied.txt @@ -0,0 +1,3 @@ +====== Permission refusate ====== + +Pardono, tu non ha le derectos requisite pro continuar. Pote esser que tu ha oblidate de aperir un session. \ No newline at end of file diff --git a/inc/lang/ia/diff.txt b/inc/lang/ia/diff.txt new file mode 100644 index 000000000..dbfa70f13 --- /dev/null +++ b/inc/lang/ia/diff.txt @@ -0,0 +1,3 @@ +====== Differentias ====== + +Isto te monstra le differentias inter duo versiones del pagina. \ No newline at end of file diff --git a/inc/lang/ia/draft.txt b/inc/lang/ia/draft.txt new file mode 100644 index 000000000..ae8de13f4 --- /dev/null +++ b/inc/lang/ia/draft.txt @@ -0,0 +1,5 @@ +====== Version provisori trovate ====== + +Tu ultime session de modification in iste pagina non ha essite concludite correctemente. DokuWiki ha automaticamente salveguardate un version provisori durante tu labor. Ora tu pote usar iste version provisori pro continuar le modification. Hic infra tu vide le datos salveguardate de tu ultime session. + +Per favor decide si tu vole //recuperar// le session de modification perdite, //deler// le version provisori o //cancellar// le processo de modification. \ No newline at end of file diff --git a/inc/lang/ia/edit.txt b/inc/lang/ia/edit.txt new file mode 100644 index 000000000..5bc58362a --- /dev/null +++ b/inc/lang/ia/edit.txt @@ -0,0 +1 @@ +Modifica le pagina e preme "Salveguardar". Vide [[wiki:syntax]] pro le syntaxe wiki. Per favor modifica le paginas solmente si tu pote **meliorar** lo. Si tu vole testar alcun cosas, apprende facer tu prime passos in le [[playground:playground|parco de jocos]]. \ No newline at end of file diff --git a/inc/lang/ia/editrev.txt b/inc/lang/ia/editrev.txt new file mode 100644 index 000000000..192381f8c --- /dev/null +++ b/inc/lang/ia/editrev.txt @@ -0,0 +1,2 @@ +**Tu ha cargate un version ancian del documento!** Si tu lo salveguarda, tu crea un nove version con iste datos. +---- \ No newline at end of file diff --git a/inc/lang/ia/index.txt b/inc/lang/ia/index.txt new file mode 100644 index 000000000..5957cc2ab --- /dev/null +++ b/inc/lang/ia/index.txt @@ -0,0 +1,3 @@ +====== Indice ====== + +Isto es un indice super tote le paginas disponibile, ordinate per [[doku>namespaces|spatio de nomines]]. diff --git a/inc/lang/ia/install.html b/inc/lang/ia/install.html new file mode 100644 index 000000000..6b343ad00 --- /dev/null +++ b/inc/lang/ia/install.html @@ -0,0 +1,13 @@ +

Iste pagina te assiste in le prime installation e configuration de +Dokuwiki. Ulterior informationes super iste installator es disponibile in le +pagina de documentaiton de illo.

+ +

DokuWiki usa files ordinari pro le immagazinage de paginas wiki e altere informationes associate con iste paginas (p.ex. imagines, indices de recerca, versiones ancian, etc). Pro poter functionar, DokuWiki +debe haber accesso de scriptura al directorios que contine iste files. Iste installator non es capabile de configurar le permissiones de directorios. Isto normalmente debe esser facite directemente con le linea de commandos, o si tu usa un albergo web, via FTP o via le pannello de controlo de tu albergo (p.ex. cPanel).

+ +

Iste installator configurara tu installation de DokuWiki pro +ACL, lo que permitte crear contos administrator, e forni accesso al menu administrative de DokuWiki pro installar plug-ins, gerer usatores, gerer accesso a paginas wiki e alterar configurationes. Isto non es necessari pro le functionamento de DokuWiki, nonobstante, illo rendera DokuWiki plus facile de administrar.

+ +

Le usatores experte o con exigentias special pro le installation deberea usar iste ligamines pro detalios concernente le +instructiones de installation +e configurationes.

diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php new file mode 100644 index 000000000..8d006bc5b --- /dev/null +++ b/inc/lang/ia/lang.php @@ -0,0 +1,262 @@ + + * @author Martijn Dekker + */ +$lang['encoding'] = 'utf-8'; +$lang['direction'] = 'ltr'; +$lang['doublequoteopening'] = '“'; +$lang['doublequoteclosing'] = '”'; +$lang['singlequoteopening'] = '‘'; +$lang['singlequoteclosing'] = '’'; +$lang['apostrophe'] = '’'; +$lang['btn_edit'] = 'Modificar iste pagina'; +$lang['btn_source'] = 'Monstrar codice-fonte'; +$lang['btn_show'] = 'Monstrar pagina'; +$lang['btn_create'] = 'Crear iste pagina'; +$lang['btn_search'] = 'Cercar'; +$lang['btn_save'] = 'Salveguardar'; +$lang['btn_preview'] = 'Previsualisar'; +$lang['btn_top'] = 'Retornar al initio'; +$lang['btn_newer'] = '<< plus recente'; +$lang['btn_older'] = 'minus recente >>'; +$lang['btn_revs'] = 'Versiones ancian'; +$lang['btn_recent'] = 'Modificationes recente'; +$lang['btn_upload'] = 'Incargar'; +$lang['btn_cancel'] = 'Cancellar'; +$lang['btn_index'] = 'Indice'; +$lang['btn_secedit'] = 'Modificar'; +$lang['btn_login'] = 'Aperir session'; +$lang['btn_logout'] = 'Clauder session'; +$lang['btn_admin'] = 'Admin'; +$lang['btn_update'] = 'Actualisar'; +$lang['btn_delete'] = 'Deler'; +$lang['btn_back'] = 'Retornar'; +$lang['btn_backlink'] = 'Retroligamines'; +$lang['btn_backtomedia'] = 'Retornar al selection de files multimedia'; +$lang['btn_subscribe'] = 'Gerer subscriptiones'; +$lang['btn_profile'] = 'Actualisar profilo'; +$lang['btn_reset'] = 'Reinitialisar'; +$lang['btn_resendpwd'] = 'Inviar nove contrasigno'; +$lang['btn_draft'] = 'Modificar version provisori'; +$lang['btn_recover'] = 'Recuperar version provisori'; +$lang['btn_draftdel'] = 'Deler version provisori'; +$lang['btn_revert'] = 'Restaurar'; +$lang['loggedinas'] = 'Session aperite como'; +$lang['user'] = 'Nomine de usator'; +$lang['pass'] = 'Contrasigno'; +$lang['newpass'] = 'Nove contrasigno'; +$lang['oldpass'] = 'Contrasigno actual'; +$lang['passchk'] = 'confirmar contrasigno'; +$lang['remember'] = 'Memorar me'; +$lang['fullname'] = 'Nomine real'; +$lang['email'] = 'E-mail'; +$lang['register'] = 'Crear conto'; +$lang['profile'] = 'Profilo de usator'; +$lang['badlogin'] = 'Le nomine de usator o le contrasigno es incorrecte.'; +$lang['minoredit'] = 'Modificationes minor'; +$lang['draftdate'] = 'Version provisori automaticamente salveguardate le'; +$lang['nosecedit'] = 'Le pagina ha essite modificate intertanto. Le informationes del section es ora obsolete, dunque le pagina complete ha essite cargate in su loco.'; +$lang['regmissing'] = 'Desolate, tu debe impler tote le campos.'; +$lang['reguexists'] = 'Pardono, un usator con iste nomine ja existe.'; +$lang['regsuccess'] = 'Le conto ha essite create e le contrasigno ha essite inviate per e-mail.'; +$lang['regsuccess2'] = 'Le conto ha essite create.'; +$lang['regmailfail'] = 'Il pare que un error occurreva durante le invio del message con le contrasigno. Per favor contacta le administrator!'; +$lang['regbadmail'] = 'Le adresse de e-mail date pare esser invalide. Si tu pensa que isto es un error, contacta le administrator.'; +$lang['regbadpass'] = 'Le duo contrasignos date non es identic. Per favor reproba.'; +$lang['regpwmail'] = 'Tu contrasigno de DokuWiki'; +$lang['reghere'] = 'Tu non ha ancora un conto? Crea un, simplemente.'; +$lang['profna'] = 'Iste wiki non supporta le modification de profilos.'; +$lang['profnochange'] = 'Nulle modification, nihil a facer.'; +$lang['profnoempty'] = 'Un nomine o adresse de e-mail vacue non es permittite.'; +$lang['profchanged'] = 'Actualisation del profilo de usator succedite.'; +$lang['pwdforget'] = 'Contrasigno oblidate? Obtene un altere'; +$lang['resendna'] = 'Iste wiki non supporta le invio de un nove contrasigno.'; +$lang['resendpwd'] = 'Inviar nove contrasigno pro'; +$lang['resendpwdmissing'] = 'Es necessari completar tote le campos.'; +$lang['resendpwdnouser'] = 'Iste usator non ha essite trovate in le base de datos.'; +$lang['resendpwdbadauth'] = 'Iste codice de authentication non es valide. Assecura te que tu ha usate le ligamine de confirmation complete.'; +$lang['resendpwdconfirm'] = 'Un ligamine de confirmation ha essite inviate per e-mail.'; +$lang['resendpwdsuccess'] = 'Tu nove contrasigno ha essite inviate per e-mail.'; +$lang['license'] = 'Excepte ubi indicate alteremente, le contento in iste wiki es disponibile sub le licentia sequente:'; +$lang['licenseok'] = 'Nota ben! Per modificar iste pagina tu accepta que tu contento essera publicate sub le conditiones del licentia sequente:'; +$lang['searchmedia'] = 'Cercar file con nomine:'; +$lang['searchmedia_in'] = 'Cercar in %s'; +$lang['txt_upload'] = 'Selige le file a incargar'; +$lang['txt_filename'] = 'Incargar como (optional)'; +$lang['txt_overwrt'] = 'Reimplaciar le file existente'; +$lang['lockedby'] = 'Actualmente serrate per'; +$lang['lockexpire'] = 'Serratura expira le'; +$lang['willexpire'] = 'Tu serratura super le modification de iste pagina expirara post un minuta.\nPro evitar conflictos, usa le button Previsualisar pro reinitialisar le timer del serratura.'; +$lang['notsavedyet'] = 'Le modificationes non salveguardate essera perdite.\nRealmente continuar?'; +$lang['rssfailed'] = 'Un error occurreva durante le obtention de iste syndication:'; +$lang['nothingfound'] = 'Nihil ha essite trovate.'; +$lang['mediaselect'] = 'Files multimedia'; +$lang['fileupload'] = 'Incargar file multimedia'; +$lang['uploadsucc'] = 'Incargamento succedite'; +$lang['uploadfail'] = 'Incargamento fallite. Pote esser que le permissiones es incorrecte.'; +$lang['uploadwrong'] = 'Incargamento refusate. Iste typo de file es prohibite!'; +$lang['uploadexist'] = 'File ja existe. Nihil facite.'; +$lang['uploadbadcontent'] = 'Le typo del contento incargate non corresponde al extension del nomine de file "%s".'; +$lang['uploadspam'] = 'Le incargamento ha essite blocate per le lista nigre anti-spam.'; +$lang['uploadxss'] = 'Le incargamento ha essite blocate a causa de contento possibilemente malitiose.'; +$lang['uploadsize'] = 'Le file incargate es troppo grande. (Max. %s)'; +$lang['deletesucc'] = 'Le file "%s" ha essite delite.'; +$lang['deletefail'] = '"%s" non poteva esser delite. Verifica le permissiones.'; +$lang['mediainuse'] = 'Le file "%s" non ha essite delite proque illo es ancora in uso.'; +$lang['namespaces'] = 'Spatios de nomines'; +$lang['mediafiles'] = 'Files disponibile in'; +$lang['js']['searchmedia'] = 'Cercar files'; +$lang['js']['keepopen'] = 'Mantener fenestra aperte post selection'; +$lang['js']['hidedetails'] = 'Celar detalios'; +$lang['js']['nosmblinks'] = 'Le ligamines a ressources de Windows functiona solmente in Microsoft Internet Explorer. +Tu pote nonobstante copiar e collar le ligamine.'; +$lang['js']['linkwiz'] = 'Assistente pro ligamines'; +$lang['js']['linkto'] = 'Ligar verso:'; +$lang['js']['del_confirm'] = 'Realmente deler le entrata(s) seligite?'; +$lang['js']['mu_btn'] = 'Incargar plure files simultaneemente'; +$lang['mediausage'] = 'Usa le syntaxe sequente pro referer a iste file:'; +$lang['mediaview'] = 'Vider file original'; +$lang['mediaroot'] = 'radice'; +$lang['mediaupload'] = 'Incarga hic un file in le spatio de nomines actual. Pro crear subspatios de nomines, antepone los al nomine de file "Incargar como", separate per signos de duo punctos (":").'; +$lang['mediaextchange'] = 'Extension del file cambiate de .%s a .%s!'; +$lang['reference'] = 'Referentias pro'; +$lang['ref_inuse'] = 'Le file non pote esser delite proque illo es ancora in uso per le sequente paginas:'; +$lang['ref_hidden'] = 'Alcun referentias es in paginas pro le quales tu non ha le permission de lectura'; +$lang['hits'] = 'Resultatos'; +$lang['quickhits'] = 'Nomines de pagina correspondente'; +$lang['toc'] = 'Tabula de contento'; +$lang['current'] = 'actual'; +$lang['yours'] = 'Tu version'; +$lang['diff'] = 'Monstrar differentias con versiones actual'; +$lang['diff2'] = 'Monstrar differentias inter le versiones seligite'; +$lang['line'] = 'Linea'; +$lang['breadcrumb'] = 'Tracia'; +$lang['youarehere'] = 'Tu es hic'; +$lang['lastmod'] = 'Ultime modification'; +$lang['by'] = 'per'; +$lang['deleted'] = 'removite'; +$lang['created'] = 'create'; +$lang['restored'] = 'ancian version restaurate'; +$lang['external_edit'] = 'modification externe'; +$lang['summary'] = 'Modificar summario'; +$lang['noflash'] = 'Le plug-in Flash de Adobe es necessari pro monstrar iste contento.'; +$lang['download'] = 'Discargar fragmento'; +$lang['mail_newpage'] = 'pagina addite:'; +$lang['mail_changed'] = 'pagina modificate:'; +$lang['mail_subscribe_list'] = 'paginas modificate in spatio de nomines:'; +$lang['mail_new_user'] = 'nove usator:'; +$lang['mail_upload'] = 'file incargate:'; +$lang['qb_bold'] = 'Texto grasse'; +$lang['qb_italic'] = 'Texto italic'; +$lang['qb_underl'] = 'Texto sublineate'; +$lang['qb_code'] = 'Texto de codice'; +$lang['qb_strike'] = 'Texto cancellate'; +$lang['qb_h1'] = 'Titulo a nivello 1'; +$lang['qb_h2'] = 'Titulo a nivello 2'; +$lang['qb_h3'] = 'Titulo a nivello 3'; +$lang['qb_h4'] = 'Titulo a nivello 4'; +$lang['qb_h5'] = 'Titulo a nivello 5'; +$lang['qb_h'] = 'Titulo'; +$lang['qb_hs'] = 'Seliger titulo'; +$lang['qb_hplus'] = 'Titulo superior'; +$lang['qb_hminus'] = 'Titulo inferior'; +$lang['qb_hequal'] = 'Titulo al mesme nivello'; +$lang['qb_link'] = 'Ligamine interne'; +$lang['qb_extlink'] = 'Ligamine externe'; +$lang['qb_hr'] = 'Linea horizontal'; +$lang['qb_ol'] = 'Elemento de lista ordinate'; +$lang['qb_ul'] = 'Elemento de lista non ordinate'; +$lang['qb_media'] = 'Adder imagines e altere files'; +$lang['qb_sig'] = 'Inserer signatura'; +$lang['qb_smileys'] = 'Emoticones'; +$lang['qb_chars'] = 'Characteres special'; +$lang['upperns'] = 'Saltar al spatio de nomines superior'; +$lang['admin_register'] = 'Adder nove usator'; +$lang['metaedit'] = 'Modificar metadatos'; +$lang['metasaveerr'] = 'Scriptura de metadatos fallite'; +$lang['metasaveok'] = 'Metadatos salveguardate'; +$lang['img_backto'] = 'Retornar a'; +$lang['img_title'] = 'Titulo'; +$lang['img_caption'] = 'Legenda'; +$lang['img_date'] = 'Data'; +$lang['img_fname'] = 'Nomine de file'; +$lang['img_fsize'] = 'Dimension'; +$lang['img_artist'] = 'Photographo'; +$lang['img_copyr'] = 'Copyright'; +$lang['img_format'] = 'Formato'; +$lang['img_camera'] = 'Camera'; +$lang['img_keywords'] = 'Parolas-clave'; +$lang['subscr_subscribe_success'] = '%s addite al lista de subscription de %s'; +$lang['subscr_subscribe_error'] = 'Error durante le addition de %s al lista de subscription de %s'; +$lang['subscr_subscribe_noaddress'] = 'Il non ha un adresse associate con tu conto. Tu non pote esser addite al lista de subscription.'; +$lang['subscr_unsubscribe_success'] = '%s removite del lista de subscription de %s'; +$lang['subscr_unsubscribe_error'] = 'Error durante le remotion de %s del lista de subscription de %s'; +$lang['subscr_already_subscribed'] = '%s es ja subscribite a %s'; +$lang['subscr_not_subscribed'] = '%s non es subscribite a %s'; +$lang['subscr_m_not_subscribed'] = 'Tu non es actualmente subscribite al pagina o spatio de nomines actual.'; +$lang['subscr_m_new_header'] = 'Adder subscription'; +$lang['subscr_m_current_header'] = 'Subscriptiones actual'; +$lang['subscr_m_unsubscribe'] = 'Cancellar subscription'; +$lang['subscr_m_subscribe'] = 'Subscriber'; +$lang['subscr_m_receive'] = 'Reciper'; +$lang['subscr_style_every'] = 'un message pro cata modification'; +$lang['subscr_style_digest'] = 'un digesto de modificationes pro cata pagina'; +$lang['subscr_style_list'] = 'lista de paginas modificate depost le ultime e-mail'; +$lang['authmodfailed'] = 'Configuration incorrecte de authentication de usator. Per favor informa le administrator de tu wiki.'; +$lang['authtempfail'] = 'Le authentication de usator temporarimente non es disponibile. Si iste situation persiste, per favor informa le administrator de tu wiki.'; +$lang['i_chooselang'] = 'Selige tu lingua'; +$lang['i_installer'] = 'Installator de DokuWiki'; +$lang['i_wikiname'] = 'Nomine del wiki'; +$lang['i_enableacl'] = 'Activar ACL (recommendate)'; +$lang['i_superuser'] = 'Superusator'; +$lang['i_problems'] = 'Le installator ha trovate alcun problemas, indicate hic infra. Tu debe resolver iste problemas pro poter continuar.'; +$lang['i_modified'] = 'Pro motivos de securitate, iste script functiona solmente con un installation de DokuWiki nove e non modificate. +Tu debe re-extraher le files del pacchetto discargate, o consultar le instructiones de installation complete pro altere optiones.'; +$lang['i_funcna'] = 'Le function PHP %s non es disponibile. Pote esser que tu albergo web lo ha disactivate pro un ration o altere.'; +$lang['i_phpver'] = 'Le version de PHP %s es plus ancian que le version requisite %s. Es necessari actualisar le installation de PHP.'; +$lang['i_permfail'] = '%s non es scriptibile per DokuWiki. Tu debe reparar le permissiones de iste directorio!'; +$lang['i_confexists'] = '%s ja existe'; +$lang['i_writeerr'] = 'Impossibile crear %s. Tu debe verificar le permissiones de directorios/files e crear iste file manualmente.'; +$lang['i_badhash'] = 'dokuwiki.php non recognoscite o modificate (hash=%s)'; +$lang['i_badval'] = '%s - valor vacue o invalide'; +$lang['i_success'] = 'Le configuration ha succedite. Tu pote ora deler le file install.php. Continua a +tu nove DokuWiki.'; +$lang['i_failure'] = 'Alcun errores occurreva durante le scriptura del files de configuration. Es possibile que tu debe remediar iste errores manualmente ante que +tu pote usar tu nove DokuWiki.'; +$lang['i_policy'] = 'Politica de ACL interne'; +$lang['i_pol0'] = 'Wiki aperte (lectura, scriptura, incargamento pro omnes)'; +$lang['i_pol1'] = 'Wiki public (lectura pro omnes, scriptura e incargamento pro usatores registrate)'; +$lang['i_pol2'] = 'Wiki claudite (lectura, scriptura e incargamento solmente pro usatores registrate)'; +$lang['i_retry'] = 'Reprobar'; +$lang['mu_intro'] = 'Hic tu pote incargar plure files insimul. Clicca super le button Navigar pro adder los al cauda. Preme Incargar quando tu ha finite.'; +$lang['mu_gridname'] = 'Nomine de file'; +$lang['mu_gridsize'] = 'Dimension'; +$lang['mu_gridstat'] = 'Stato'; +$lang['mu_namespace'] = 'Spatio de nomines'; +$lang['mu_browse'] = 'Navigar'; +$lang['mu_toobig'] = 'troppo grande'; +$lang['mu_ready'] = 'preste pro incargamento'; +$lang['mu_done'] = 'complete'; +$lang['mu_fail'] = 'fallite'; +$lang['mu_authfail'] = 'session expirate'; +$lang['mu_progress'] = '@PCT@% incargate'; +$lang['mu_filetypes'] = 'Typos de file permittite'; +$lang['mu_info'] = 'files incargate.'; +$lang['mu_lasterr'] = 'Ultime error:'; +$lang['recent_global'] = 'Tu observa actualmente le modificationes intra le spatio de nomines %s. Tu pote etiam vider le modificationes recente de tote le wiki.'; +$lang['years'] = '%d annos retro'; +$lang['months'] = '%d menses retro'; +$lang['weeks'] = '%d septimanas retro'; +$lang['days'] = '%d dies retro'; +$lang['hours'] = '%d horas retro'; +$lang['minutes'] = '%d minutas retro'; +$lang['seconds'] = '%d secundas retro'; diff --git a/inc/lang/ia/locked.txt b/inc/lang/ia/locked.txt new file mode 100644 index 000000000..726aabb34 --- /dev/null +++ b/inc/lang/ia/locked.txt @@ -0,0 +1,3 @@ +====== Pagina serrate ====== + +Iste pagina es actualmente serrate proque un altere usator lo modifica in iste momento. Tu debe attender usque iste usator fini le modification o usque al expiration del serratura. \ No newline at end of file diff --git a/inc/lang/ia/login.txt b/inc/lang/ia/login.txt new file mode 100644 index 000000000..4c428f358 --- /dev/null +++ b/inc/lang/ia/login.txt @@ -0,0 +1,3 @@ +====== Aperir session ====== + +Tu non es identificate! Entra tu credentiales de authentication pro aperir un session. Tu debe haber activate le cookies pro aperir un session. \ No newline at end of file diff --git a/inc/lang/ia/mailtext.txt b/inc/lang/ia/mailtext.txt new file mode 100644 index 000000000..14c1a3a60 --- /dev/null +++ b/inc/lang/ia/mailtext.txt @@ -0,0 +1,17 @@ +Un pagina in tu DokuWiki ha essite addite o modificate. Ecce le detalios: + +Data : @DATE@ +Navigator : @BROWSER@ +Adresse IP : @IPADDRESS@ +Nomine host : @HOSTNAME@ +Version ancian: @OLDPAGE@ +Version nove: @NEWPAGE@ +Summario: @SUMMARY@ +Usator : @USER@ + +@DIFF@ + + +-- +Iste e-mail ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/newpage.txt b/inc/lang/ia/newpage.txt new file mode 100644 index 000000000..8db7aa797 --- /dev/null +++ b/inc/lang/ia/newpage.txt @@ -0,0 +1,3 @@ +====== Iste topico non existe ancora ====== + +Tu ha sequite un ligamine verso un topico que non existe ancora. Si tu ha le permission requisite, tu pote crear lo con le button "Crear iste pagina". \ No newline at end of file diff --git a/inc/lang/ia/norev.txt b/inc/lang/ia/norev.txt new file mode 100644 index 000000000..75e44b969 --- /dev/null +++ b/inc/lang/ia/norev.txt @@ -0,0 +1,3 @@ +====== Version non existe ====== + +Le version specificate non existe. Usa le button "Versiones ancian" pro un lista de versiones ancian de iste documento. \ No newline at end of file diff --git a/inc/lang/ia/password.txt b/inc/lang/ia/password.txt new file mode 100644 index 000000000..9ad93d6ed --- /dev/null +++ b/inc/lang/ia/password.txt @@ -0,0 +1,10 @@ +Salute @FULLNAME@! + +Ecce tu datos de usator pro @TITLE@ a @DOKUWIKIURL@ + +Nomine de usator : @LOGIN@ +Contrasigno : @PASSWORD@ + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/preview.txt b/inc/lang/ia/preview.txt new file mode 100644 index 000000000..22b958baf --- /dev/null +++ b/inc/lang/ia/preview.txt @@ -0,0 +1,3 @@ +====== Previsualisation ====== + +Isto es un previsualisation de tu texto. Memora: le pagina **non** ha ancora essite salveguardate! \ No newline at end of file diff --git a/inc/lang/ia/pwconfirm.txt b/inc/lang/ia/pwconfirm.txt new file mode 100644 index 000000000..a490f7929 --- /dev/null +++ b/inc/lang/ia/pwconfirm.txt @@ -0,0 +1,14 @@ +Salute @FULLNAME@! + +Alcuno ha requestate un nove contrasigno pro tu conto de @TITLE@ +a @DOKUWIKIURL@ + +Si tu non ha requestate un nove contrasigno, alora simplemente ignora iste message. + +Pro confirmar que le requesta realmente ha essite inviate per te, per favor usa le ligamine sequente. + +@CONFIRM@ + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/read.txt b/inc/lang/ia/read.txt new file mode 100644 index 000000000..e7e80dbfc --- /dev/null +++ b/inc/lang/ia/read.txt @@ -0,0 +1 @@ +Iste pagina es pro lectura solmente. Tu pote vider le codice-fonte, ma non modificar lo. Contacta tu administrator si tu pensa que isto es errate. \ No newline at end of file diff --git a/inc/lang/ia/recent.txt b/inc/lang/ia/recent.txt new file mode 100644 index 000000000..ba39c3ff5 --- /dev/null +++ b/inc/lang/ia/recent.txt @@ -0,0 +1,3 @@ +====== Modificationes recente ====== + +Le sequente paginas ha essite modificate recentemente. \ No newline at end of file diff --git a/inc/lang/ia/register.txt b/inc/lang/ia/register.txt new file mode 100644 index 000000000..22c4e4ada --- /dev/null +++ b/inc/lang/ia/register.txt @@ -0,0 +1,3 @@ +====== Crear un nove conto de usator ====== + +Completa tote le informationes hic infra pro crear un nove conto in iste wiki. Assecura te de fornir un **adresse de e-mail valide!** Si le systema non te demanda de entrar un contrasigno hic, un nove contrasigno essera inviate a iste adresse. Le nomine de usator debe esser un [[doku>pagename|nomine de pagina]] valide. diff --git a/inc/lang/ia/registermail.txt b/inc/lang/ia/registermail.txt new file mode 100644 index 000000000..c4e9d56bc --- /dev/null +++ b/inc/lang/ia/registermail.txt @@ -0,0 +1,14 @@ +Un nove conto de usator ha essite create. Ecce le detalios: + +Nomine de usator : @NEWUSER@ +Nomine complete : @NEWNAME@ +E-mail : @NEWEMAIL@ + +Data : @DATE@ +Navigator : @BROWSER@ +Adresse IP : @IPADDRESS@ +Nomine host : @HOSTNAME@ + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/resendpwd.txt b/inc/lang/ia/resendpwd.txt new file mode 100644 index 000000000..97bcac02a --- /dev/null +++ b/inc/lang/ia/resendpwd.txt @@ -0,0 +1,3 @@ +====== Inviar nove contrasigno ====== + +Per favor entra tu nomine de usator in le formulario hic infra pro requestar un nove contrasigno pro tu conto in iste wiki. Un ligamine de confirmation essera inviate a tu adresse de e-mail registrate. \ No newline at end of file diff --git a/inc/lang/ia/revisions.txt b/inc/lang/ia/revisions.txt new file mode 100644 index 000000000..e914edb61 --- /dev/null +++ b/inc/lang/ia/revisions.txt @@ -0,0 +1,3 @@ +====== Versiones ancian ====== + +Ecce le versiones ancian del documento presente. Pro reverter lo a un version ancian, selige un version del lista in basso, clicca "Modificar iste pagina" e salveguarda lo. \ No newline at end of file diff --git a/inc/lang/ia/searchpage.txt b/inc/lang/ia/searchpage.txt new file mode 100644 index 000000000..c53683371 --- /dev/null +++ b/inc/lang/ia/searchpage.txt @@ -0,0 +1,5 @@ +====== Recerca ====== + +Le resultatos de tu recerca se trova hic infra. Si tu non ha trovate lo que tu cerca, tu pote crear o modificar le pagina nominate secundo tu consulta con le button appropriate. + +===== Resultatos ===== \ No newline at end of file diff --git a/inc/lang/ia/showrev.txt b/inc/lang/ia/showrev.txt new file mode 100644 index 000000000..60ee2a7f6 --- /dev/null +++ b/inc/lang/ia/showrev.txt @@ -0,0 +1,2 @@ +**Isto es un version ancian del documento!** +---- \ No newline at end of file diff --git a/inc/lang/ia/stopwords.txt b/inc/lang/ia/stopwords.txt new file mode 100644 index 000000000..e3e513509 --- /dev/null +++ b/inc/lang/ia/stopwords.txt @@ -0,0 +1,38 @@ +# Isto es un lista de parolas que le generator de indices ignora, un parola per linea. +# Si tu modifica iste file, assecura te de usar le fines de linea UNIX (newline singule). +# Non es necessari includer parolas plus curte que 3 characteres - istes es ignorate in omne caso. +a +ab +circa +com +como +como +con +de +e +es +essera +esserea +esseva +essite +ex +illo +in +iste +istes +le +le +les +lo +lor +o +pro +quando +que +qui +super +sur +tu +ubi +un +www diff --git a/inc/lang/ia/subscr_digest.txt b/inc/lang/ia/subscr_digest.txt new file mode 100644 index 000000000..ba7b92d8b --- /dev/null +++ b/inc/lang/ia/subscr_digest.txt @@ -0,0 +1,20 @@ +Salute! + +Le pagina @PAGE@ in le wiki @TITLE@ ha cambiate. +Ecce le modificationes: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Version ancian: @OLDPAGE@ +Version nove: @NEWPAGE@ + +Pro cancellar le notificationes de paginas, aperi un session al wiki a +@DOKUWIKIURL@ postea visita +@SUBSCRIBE@ +e cancella tu subscription al modificationes in paginas e/o spatios de nomines. + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/subscr_form.txt b/inc/lang/ia/subscr_form.txt new file mode 100644 index 000000000..f63a30d4c --- /dev/null +++ b/inc/lang/ia/subscr_form.txt @@ -0,0 +1,4 @@ +====== Gestion de subscriptiones ====== + +Iste pagina permitte gerer tu subscriptiones pro le pagina e spatio de nomines actual. + \ No newline at end of file diff --git a/inc/lang/ia/subscr_list.txt b/inc/lang/ia/subscr_list.txt new file mode 100644 index 000000000..9f93db252 --- /dev/null +++ b/inc/lang/ia/subscr_list.txt @@ -0,0 +1,17 @@ +Salute! + +Alcun paginas in le spatio de nomines @PAGE@ del wiki @TITLE@ ha cambiate. +Ecce le paginas con modiicationes: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Pro cancellar le notificationes de paginas, aperi un session al wiki a +@DOKUWIKIURL@ postea visita +@SUBSCRIBE@ +e cancella tu subscription al modificationes in paginas e/o spatios de nomines. + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/subscr_single.txt b/inc/lang/ia/subscr_single.txt new file mode 100644 index 000000000..3d6ef7103 --- /dev/null +++ b/inc/lang/ia/subscr_single.txt @@ -0,0 +1,26 @@ +Salute! + +Le pagina @PAGE@ in le wiki @TITLE@ ha cambiate. +Ecce le modificationes: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Data : @DATE@ +Usator : @USER@ +Summario: @SUMMARY@ +Version ancian: @OLDPAGE@ +Version nove: @NEWPAGE@ + +Pro cancellar le notificationes de paginas, aperi un session al wiki a +@DOKUWIKIURL@ postea visita +@NEWPAGE@ +e cancella tu subscription al modificationes in paginas e/o spatios de nomines. + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ +-- +This mail was generated by DokuWiki at +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/updateprofile.txt b/inc/lang/ia/updateprofile.txt new file mode 100644 index 000000000..3f69da161 --- /dev/null +++ b/inc/lang/ia/updateprofile.txt @@ -0,0 +1,3 @@ +====== Actualisa le profilo de tu conto ====== + +Solmente es necessari completar le campos que tu vole cambiar. tu non pote cambiar tu nomine de usator. \ No newline at end of file diff --git a/inc/lang/ia/uploadmail.txt b/inc/lang/ia/uploadmail.txt new file mode 100644 index 000000000..8f120f25b --- /dev/null +++ b/inc/lang/ia/uploadmail.txt @@ -0,0 +1,14 @@ +Un file ha essite incargate in tu DokuWiki. Ecce le detalios: + +File : @MEDIA@ +Data : @DATE@ +Navigator : @BROWSER@ +Adresse IP : @IPADDRESS@ +Nomine host: @HOSTNAME@ +Dimension : @SIZE@ +Typo MIME : @MIME@ +Usator : @USER@ + +-- +Iste message ha essite generate per DokuWiki a +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/ia/wordblock.txt b/inc/lang/ia/wordblock.txt new file mode 100644 index 000000000..8c54c04a5 --- /dev/null +++ b/inc/lang/ia/wordblock.txt @@ -0,0 +1,3 @@ +====== Spam blocate ====== + +Tu modification **non** ha essite salveguardate proque illo contine un o plus parolas blocate. Si tu ha tentate spammar iste wiki: va al diabolo! Si tu pensa que isto es un error, contacta le administrator de iste wiki. \ No newline at end of file diff --git a/lib/plugins/acl/lang/ia/lang.php b/lib/plugins/acl/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/acl/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ diff --git a/lib/plugins/config/lang/ia/intro.txt b/lib/plugins/config/lang/ia/intro.txt new file mode 100644 index 000000000..2d7960b87 --- /dev/null +++ b/lib/plugins/config/lang/ia/intro.txt @@ -0,0 +1,7 @@ +====== Administrator de Configuration ====== + +Usa iste pagina pro controlar le regulationes de tu installation de DokuWiki. Pro adjuta re singule regulationes, refere te a [[doku>config]]. Pro plus detalios re iste insertion, vide [[doku>plugin:config]]. + +Le regulationes monstrate sur un fundo rosa es protegite e non pote esser alterate con iste insertion. Le regulationes monstrate sur un fundo blau es le valores tacite e le regulationes monstrate sur un fundo blanc esseva definite localmente pro iste particular installation. Sia le regulationes blau que les blanc pote esser alterate. + +Rememora de pressar le button **SALVA** ante de lassar iste pagina, alteremente tu modificationes essera perdite. \ No newline at end of file diff --git a/lib/plugins/config/lang/ia/lang.php b/lib/plugins/config/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/config/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ diff --git a/lib/plugins/plugin/lang/ia/lang.php b/lib/plugins/plugin/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/plugin/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ diff --git a/lib/plugins/popularity/lang/ia/lang.php b/lib/plugins/popularity/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/popularity/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ diff --git a/lib/plugins/revert/lang/ia/lang.php b/lib/plugins/revert/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/revert/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ diff --git a/lib/plugins/usermanager/lang/ia/lang.php b/lib/plugins/usermanager/lang/ia/lang.php new file mode 100644 index 000000000..3f0ebb5d8 --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/lang.php @@ -0,0 +1,7 @@ + + * @author Martijn Dekker + */ -- cgit v1.2.3 From 638e1578a45e6303f7df2f00f5b1c3ce30648c08 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 10 Feb 2010 20:10:04 +0000 Subject: update ignore criteria when populating master plugin list --- inc/plugincontroller.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 4400a4187..043687270 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -120,8 +120,8 @@ class Doku_Plugin_Controller { function _populateMasterList() { if ($dh = opendir(DOKU_PLUGIN)) { while (false !== ($plugin = readdir($dh))) { - if ($plugin == '.' || $plugin == '..' || $plugin == 'tmp') continue; - if (is_file(DOKU_PLUGIN.$plugin)) continue; + if ($plugin[0] == '.') continue; // skip hidden entries + if (is_file(DOKU_PLUGIN.$plugin)) continue; // skip files, we're only interested in directories if (substr($plugin,-9) == '.disabled') { // the plugin was disabled by rc2009-01-26 -- cgit v1.2.3 From de5459f07034d89b2e370a95d13ab2cb4446cefb Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 11 Feb 2010 10:09:36 +0100 Subject: Do not delete content after list on two enters --- lib/scripts/edit.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 483fcc3cc..235a91cd6 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -169,7 +169,11 @@ function keyHandler(e){ var match2 = search.match(/^\n +[\*-]\s*$/); // Cancel list if the last item is empty (i. e. two times enter) if (match2 && field.value.substr(selection.start).match(/^($|\n)/)) { - field.value = field.value.substr(0, linestart) + "\n"; + field.value = field.value.substr(0, linestart) + "\n" + + field.value.substr(selection.start); + selection.start = linestart + 1; + selection.end = linestart + 1; + setSelection(selection); } else { insertAtCarret(field.id,match[1]); } -- cgit v1.2.3 From 2eb3414de1a76407ed3eae58fd42c3a5c342039b Mon Sep 17 00:00:00 2001 From: Traduzioni Date: Thu, 11 Feb 2010 18:37:26 +0100 Subject: Italian language update --- inc/lang/it/adminplugins.txt | 2 +- inc/lang/it/backlinks.txt | 2 +- inc/lang/it/conflict.txt | 2 +- inc/lang/it/denied.txt | 2 +- inc/lang/it/diff.txt | 2 +- inc/lang/it/draft.txt | 2 +- inc/lang/it/edit.txt | 2 +- inc/lang/it/editrev.txt | 2 +- inc/lang/it/index.txt | 2 +- inc/lang/it/install.html | 2 +- inc/lang/it/lang.php | 104 +++++++++++++++++----------- inc/lang/it/login.txt | 2 +- inc/lang/it/mailtext.txt | 2 +- inc/lang/it/password.txt | 4 +- inc/lang/it/pwconfirm.txt | 10 +-- inc/lang/it/register.txt | 2 +- inc/lang/it/registermail.txt | 4 +- inc/lang/it/revisions.txt | 2 +- inc/lang/it/stopwords.txt | 8 +-- inc/lang/it/subscr_digest.txt | 20 ++++++ inc/lang/it/subscr_form.txt | 3 + inc/lang/it/subscr_list.txt | 18 +++++ inc/lang/it/subscr_single.txt | 23 ++++++ inc/lang/it/uploadmail.txt | 2 +- inc/lang/it/wordblock.txt | 2 +- lib/plugins/acl/lang/it/help.txt | 4 +- lib/plugins/acl/lang/it/lang.php | 20 +++--- lib/plugins/config/lang/it/lang.php | 49 ++++++------- lib/plugins/plugin/lang/it/admin_plugin.txt | 3 +- lib/plugins/plugin/lang/it/lang.php | 10 +-- lib/plugins/popularity/lang/it/intro.txt | 4 +- lib/plugins/revert/lang/it/intro.txt | 2 +- lib/plugins/usermanager/lang/it/delete.txt | 2 +- lib/plugins/usermanager/lang/it/lang.php | 20 +++--- 34 files changed, 214 insertions(+), 126 deletions(-) create mode 100644 inc/lang/it/subscr_digest.txt create mode 100644 inc/lang/it/subscr_form.txt create mode 100644 inc/lang/it/subscr_list.txt create mode 100644 inc/lang/it/subscr_single.txt diff --git a/inc/lang/it/adminplugins.txt b/inc/lang/it/adminplugins.txt index 6a5a30573..4f17d6da4 100644 --- a/inc/lang/it/adminplugins.txt +++ b/inc/lang/it/adminplugins.txt @@ -1 +1 @@ -===== Plugin addizionali ===== \ No newline at end of file +===== Plugin aggiuntivi ===== \ No newline at end of file diff --git a/inc/lang/it/backlinks.txt b/inc/lang/it/backlinks.txt index 452019db5..ad5a9c23b 100644 --- a/inc/lang/it/backlinks.txt +++ b/inc/lang/it/backlinks.txt @@ -1,4 +1,4 @@ ====== Puntano qui ====== -Questa è una lista delle pagine che sembrano avere un collegamento alla pagina corrente. +Questa è una lista delle pagine che sembrano avere un collegamento alla pagina attuale. diff --git a/inc/lang/it/conflict.txt b/inc/lang/it/conflict.txt index 44789a365..bcb90d28d 100644 --- a/inc/lang/it/conflict.txt +++ b/inc/lang/it/conflict.txt @@ -2,5 +2,5 @@ Esiste una versione più recente del documento che hai modificato. Questo può accadere quando un altro utente ha già modificato il documento durante le tue modifiche. -Esamina le differenze mostrate di seguito, quindi decidi quale versione mantenere. Se scegli ''salva'', la tua versione verrà salvata. Clicca su ''annulla'' per mantenere la versione corrente. +Esamina le differenze mostrate di seguito, quindi decidi quale versione mantenere. Se scegli ''Salva'', la tua versione verrà salvata. Clicca su ''Annulla'' per mantenere la versione attuale. diff --git a/inc/lang/it/denied.txt b/inc/lang/it/denied.txt index e87eeeada..c6ba610c4 100644 --- a/inc/lang/it/denied.txt +++ b/inc/lang/it/denied.txt @@ -1,5 +1,5 @@ ====== Accesso negato ====== -Non hai i diritti per continuare. Hai forse dimenticato di effettuare il login? +Non hai i diritti per continuare. Hai forse dimenticato di effettuare l'accesso? diff --git a/inc/lang/it/diff.txt b/inc/lang/it/diff.txt index 6b48ed44e..5a41eaaec 100644 --- a/inc/lang/it/diff.txt +++ b/inc/lang/it/diff.txt @@ -1,4 +1,4 @@ ====== Differenze ====== -Queste sono le differenze tra la revisione selezionata e la versione corrente della pagina. +Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina. diff --git a/inc/lang/it/draft.txt b/inc/lang/it/draft.txt index 9932786ba..479d0fafc 100644 --- a/inc/lang/it/draft.txt +++ b/inc/lang/it/draft.txt @@ -2,5 +2,5 @@ La tua ultima sessione di modifica su questa pagina non è stata completata correttamente. DokuWiki ha salvato in automatico una bozza durante il tuo lavoro, che puoi ora utilizzare per continuare le tue modifiche. Di seguito puoi trovare i dati che sono stati salvati dalla tua ultima sessione. -Decidi se vuoi //recuperare// la sessione di modifica, //cancellare// la bozza salavata in automatico oppure //annullare// le modifiche. +Decidi se vuoi //recuperare// la sessione di modifica, //eliminare// la bozza salavata in automatico oppure //annullare// le modifiche. diff --git a/inc/lang/it/edit.txt b/inc/lang/it/edit.txt index fdfaf463e..8f2ba973a 100644 --- a/inc/lang/it/edit.txt +++ b/inc/lang/it/edit.txt @@ -1,2 +1,2 @@ -Modifica la pagina e clicca su ''Salva''. Vedi [[wiki:syntax]] per la sintassi riconosciuta da Wiki. Modifica questa pagina solo se puoi **apportare dei miglioramenti**. Se vuoi solo fare degli esperimenti ed imparare come fare i primi passi usa [[playground:playground]]. +Modifica la pagina e clicca su ''Salva''. Vedi [[wiki:syntax]] per la sintassi riconosciuta dal Wiki. Modifica questa pagina solo se puoi **apportare dei miglioramenti**. Se vuoi solo fare degli esperimenti ed imparare come fare i primi passi usa [[playground:playground]]. diff --git a/inc/lang/it/editrev.txt b/inc/lang/it/editrev.txt index 0a309fa24..502320083 100644 --- a/inc/lang/it/editrev.txt +++ b/inc/lang/it/editrev.txt @@ -1,2 +1,2 @@ -**Hai caricato una precedente revisione del documento!** Se salvi questa pagina creerai una nuova versione con questi dati. +**Hai caricato una revisione precedente del documento!** Se salvi questa pagina creerai una nuova versione con questi dati. ---- \ No newline at end of file diff --git a/inc/lang/it/index.txt b/inc/lang/it/index.txt index 8d5f00409..52c6fbc5d 100644 --- a/inc/lang/it/index.txt +++ b/inc/lang/it/index.txt @@ -1,4 +1,4 @@ ====== Indice ====== -Questo è un indice di tutte le pagine disponibili ordinate per [[doku>namespaces|categoria]]. +Questo è un indice di tutte le pagine disponibili ordinate per [[doku>namespaces|categorie]]. diff --git a/inc/lang/it/install.html b/inc/lang/it/install.html index 5bc4b0dc2..471734412 100644 --- a/inc/lang/it/install.html +++ b/inc/lang/it/install.html @@ -21,4 +21,4 @@ da amministrare.

Gli utenti esperti o con particolari esigenze di installazione dovrebbero far riferimento ai seguenti link per i dettagli riguardanti istruzioni per l'installazione -and parametri di configurazione.

+e i parametri di configurazione.

diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 827967d0f..8bdaddb7e 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -40,29 +40,27 @@ $lang['btn_login'] = 'Entra'; $lang['btn_logout'] = 'Esci'; $lang['btn_admin'] = 'Amministrazione'; $lang['btn_update'] = 'Aggiorna'; -$lang['btn_delete'] = 'Cancella'; +$lang['btn_delete'] = 'Elimina'; $lang['btn_back'] = 'Indietro'; $lang['btn_backlink'] = 'Backlinks'; $lang['btn_backtomedia'] = 'Torna alla selezione file'; $lang['btn_subscribe'] = 'Sottoscrivi modifiche'; -$lang['btn_unsubscribe'] = 'Cancella sottoscrizione'; -$lang['btn_subscribens'] = 'Sottoscrivi modifiche della categoria'; -$lang['btn_unsubscribens'] = 'Cancella sottoscrizione modifiche della categoria'; $lang['btn_profile'] = 'Aggiorna profilo'; $lang['btn_reset'] = 'Annulla'; $lang['btn_resendpwd'] = 'Invia nuova password'; $lang['btn_draft'] = 'Modifica bozza'; $lang['btn_recover'] = 'Ripristina bozza'; -$lang['btn_draftdel'] = 'Cancella bozza'; +$lang['btn_draftdel'] = 'Elimina bozza'; +$lang['btn_revert'] = 'Ripristina'; $lang['loggedinas'] = 'Collegato come'; $lang['user'] = 'Nome utente'; $lang['pass'] = 'Password'; $lang['newpass'] = 'Nuova password'; -$lang['oldpass'] = 'Conferma password corrente'; +$lang['oldpass'] = 'Conferma password attuale'; $lang['passchk'] = 'Ripeti password'; $lang['remember'] = 'Ricorda automaticamente'; $lang['fullname'] = 'Nome completo'; -$lang['email'] = 'E-Mail'; +$lang['email'] = 'Email'; $lang['register'] = 'Registrazione'; $lang['profile'] = 'Profilo utente'; $lang['badlogin'] = 'Il nome utente o la password non sono validi.'; @@ -70,11 +68,11 @@ $lang['minoredit'] = 'Modifiche minori'; $lang['draftdate'] = 'Bozza salvata in automatico il'; $lang['nosecedit'] = 'La pagina nel frattempo è cambiata, la sezione info è scaduta, caricata invece la pagina intera.'; $lang['regmissing'] = 'Devi riempire tutti i campi.'; -$lang['reguexists'] = 'Il nome utente inserito esiste già .'; -$lang['regsuccess'] = 'L\'utente è stato creato. La password è stata spedita via e-mail.'; +$lang['reguexists'] = 'Il nome utente inserito esiste già.'; +$lang['regsuccess'] = 'L\'utente è stato creato. La password è stata spedita via email.'; $lang['regsuccess2'] = 'L\'utente è stato creato.'; -$lang['regmailfail'] = 'Sembra che ci sia stato un errore nell\'invio della e-mail. Per favore contatta il tuo amministratore!'; -$lang['regbadmail'] = 'L\'indirizzo e-mail fornito sembra essere non valido - se pensi che ci sia un errore contatta il tuo amministratore'; +$lang['regmailfail'] = 'Sembra che ci sia stato un errore nell\'invio della email. Contatta il tuo amministratore!'; +$lang['regbadmail'] = 'L\'indirizzo email fornito sembra essere non valido - se pensi che ci sia un errore contatta il tuo amministratore'; $lang['regbadpass'] = 'Le due password inserite non coincidono, prova di nuovo.'; $lang['regpwmail'] = 'La tua password DokuWiki'; $lang['reghere'] = 'Non hai ancora un accesso? Registrati qui.'; @@ -87,13 +85,15 @@ $lang['resendna'] = 'Questo wiki non supporta l\'invio di nuove pas $lang['resendpwd'] = 'Invia nuova password per'; $lang['resendpwdmissing'] = 'Devi riempire tutti i campi.'; $lang['resendpwdnouser'] = 'Impossibile trovare questo utente nel database.'; -$lang['resendpwdbadauth'] = 'Spiacente, questo codice di autorizzazione non è valido. Assicurati di aver usato il link completo di conferma.'; +$lang['resendpwdbadauth'] = 'Spiacenti, questo codice di autorizzazione non è valido. Assicurati di aver usato il link completo di conferma.'; $lang['resendpwdconfirm'] = 'Un link di conferma è stato spedito via email.'; $lang['resendpwdsuccess'] = 'La nuova password è stata spedita via email.'; $lang['license'] = 'Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è sotto la seguente licenza:'; $lang['licenseok'] = 'Nota: modificando questa pagina accetti di rilasciare il contenuto sotto la seguente licenza:'; +$lang['searchmedia'] = 'Cerca nome file:'; +$lang['searchmedia_in'] = 'Cerca in &s'; $lang['txt_upload'] = 'Seleziona un file da caricare'; -$lang['txt_filename'] = 'Inserisci un "wikiname" (opzionale)'; +$lang['txt_filename'] = 'Carica come (opzionale)'; $lang['txt_overwrt'] = 'Sovrascrivi file esistente'; $lang['lockedby'] = 'Attualmente bloccato da'; $lang['lockexpire'] = 'Il blocco scade alle'; @@ -111,28 +111,32 @@ $lang['uploadbadcontent'] = 'Il contenuto caricato non corrisponde all\'est $lang['uploadspam'] = 'Il caricamento è stato bloccato dalla lista nera di spam.'; $lang['uploadxss'] = 'Il caricamento è stato bloccato perchè il contenuto potrebbe essere malizioso.'; $lang['uploadsize'] = 'Il file caricato è troppo grande. (massimo %s)'; -$lang['deletesucc'] = 'Il file "%s" è stato cancellato.'; -$lang['deletefail'] = '"%s" non può essere cancellato - verifica i permessi.'; -$lang['mediainuse'] = 'Il file "%s" non è stato cancellato - è ancora in uso.'; +$lang['deletesucc'] = 'Il file "%s" è stato eliminato.'; +$lang['deletefail'] = '"%s" non può essere eliminato - verifica i permessi.'; +$lang['mediainuse'] = 'Il file "%s" non è stato eliminato - è ancora in uso.'; $lang['namespaces'] = 'Categorie'; $lang['mediafiles'] = 'File disponibili in'; +$lang['js']['searchmedia'] = 'Cerca file'; $lang['js']['keepopen'] = 'Tieni la finestra aperta durante la selezione'; $lang['js']['hidedetails'] = 'Nascondi Dettagli'; $lang['js']['nosmblinks'] = 'I collegamenti con le risorse condivise di Windows funzionano solo con Microsoft Internet Explorer. Puoi fare un copia/incolla di questo collegamento.'; +$lang['js']['linkwiz'] = 'Collegamento guidato'; +$lang['js']['linkto'] = 'Collega a:'; +$lang['js']['del_confirm'] = 'Eliminare veramente questa voce?'; $lang['js']['mu_btn'] = 'Carica più di un file alla volta'; $lang['mediausage'] = 'Usa la seguente sintassi per riferirti a questo file:'; $lang['mediaview'] = 'Mostra file originale'; $lang['mediaroot'] = 'directory principale'; -$lang['mediaupload'] = 'Carica un file nella categoria corrente. Per creare sottocategorie, falle precedere al nome del file nella casella "Carica come", separandole da due punti (:).'; +$lang['mediaupload'] = 'Carica un file nella categoria attuale. Per creare sottocategorie, falle precedere dal nome del file nella casella "Carica come", separandole da due punti (:).'; $lang['mediaextchange'] = 'Estensione del file modificata da .%s a .%s!'; $lang['reference'] = 'Riferimenti a'; -$lang['ref_inuse'] = 'Il file non può essere cancellato in quanto è ancora utilizzato dalle seguenti pagine:'; +$lang['ref_inuse'] = 'Il file non può essere eliminato in quanto è ancora utilizzato dalle seguenti pagine:'; $lang['ref_hidden'] = 'Sono presenti alcuni riferimenti a pagine per le quali non hai i permessi di lettura'; $lang['hits'] = 'Occorrenze trovate'; $lang['quickhits'] = 'Pagine trovate'; $lang['toc'] = 'Indice'; -$lang['current'] = 'versione corrente'; +$lang['current'] = 'versione attuale'; $lang['yours'] = 'la tua versione'; $lang['diff'] = 'differenze con la versione attuale'; $lang['diff2'] = 'differenze tra le versioni selezionate'; @@ -141,7 +145,7 @@ $lang['breadcrumb'] = 'Traccia'; $lang['youarehere'] = 'Ti trovi qui'; $lang['lastmod'] = 'Ultima modifica'; $lang['by'] = 'da'; -$lang['deleted'] = 'cancellata'; +$lang['deleted'] = 'eliminata'; $lang['created'] = 'creata'; $lang['restored'] = 'versione precedente ripristinata'; $lang['external_edit'] = 'modifica esterna'; @@ -150,7 +154,8 @@ $lang['noflash'] = 'E\' necessario istruzioni per l\'installazione di Dokuwiki'; -$lang['i_funcna'] = 'La funzione PHP %s non è disponibile. Forse il tuo provider l\'ha disabilitata per qualche motivo?'; +Dovresti ri-estrarre i file dal pacchetto scaricato oppure consultare tutte le +istruzioni per l\'installazione di Dokuwiki'; +$lang['i_funcna'] = 'La funzione PHP %s non è disponibile. Forse è stata disabilitata dal tuo provider per qualche motivo?'; $lang['i_phpver'] = 'La versione di PHP %s è inferiore a quella richiesta %s. Devi aggiornare l\'installazione di PHP.'; $lang['i_permfail'] = 'DokuWiki non può scrivere %s. E\' necessario correggere i permessi per questa directory!'; $lang['i_confexists'] = '%s esiste già'; $lang['i_writeerr'] = 'Impossibile creare %s. E\' necessario verificare i permessi della directory/file e creare il file manualmente.'; $lang['i_badhash'] = 'dokuwiki.php (hash=%s) non riconosciuto o modificato'; $lang['i_badval'] = '%s - valore vuoto o non valido'; -$lang['i_success'] = 'La configurazione è stata completata correttamente. E\' ora possibile cancellare il file install.php. Continuare con - il nuovo DokuWiki.'; +$lang['i_success'] = 'La configurazione è stata completata correttamente. Ora è possibile eliminare il file install.php. Continuare con +il nuovo DokuWiki.'; $lang['i_failure'] = 'Si sono verificati errori durante la scrittura dei file di configurazione. Potrebbe essere necessario correggerli manualmente prima di poter utilizzare il nuovo DokuWiki.'; -$lang['i_policy'] = 'Policy di accesso iniziali'; +$lang['i_policy'] = 'Regole di accesso iniziali'; $lang['i_pol0'] = 'Wiki Aperto (lettura, scrittura, caricamento file per tutti)'; $lang['i_pol1'] = 'Wiki Pubblico (lettura per tutti, scrittura e caricamento file per gli utenti registrati)'; $lang['i_pol2'] = 'Wiki Chiuso (lettura, scrittura, caricamento file solamente per gli utenti registrati)'; $lang['i_retry'] = 'Riprova'; -$lang['mu_intro'] = 'Qui si possono caricare più di un file alla volta. Cliccare su "Sfoglia..." per aggiungere i file in coda. Cliccare "Carica" quando si è pronti.'; -$lang['mu_gridname'] = 'Nome del file'; +$lang['mu_intro'] = 'Qui si possono caricare più di un file alla volta. Cliccare su "Sfoglia..." per aggiungere i file in coda. Fai click su "Invia file" quando si è pronti.'; +$lang['mu_gridname'] = 'Nome file'; $lang['mu_gridsize'] = 'Dimensione'; $lang['mu_gridstat'] = 'Stato'; -$lang['mu_namespace'] = 'Namespace'; -$lang['mu_browse'] = 'Sfoglia...'; +$lang['mu_namespace'] = 'Categoria'; +$lang['mu_browse'] = 'Sfoglia'; $lang['mu_toobig'] = 'troppo grande'; -$lang['mu_ready'] = 'pronto per l\'upload'; +$lang['mu_ready'] = 'pronto per caricare'; $lang['mu_done'] = 'completo'; $lang['mu_fail'] = 'fallito'; $lang['mu_authfail'] = 'sessione scaduta'; $lang['mu_progress'] = '@PCT@% caricato'; $lang['mu_filetypes'] = 'Tipi di file permessi'; $lang['mu_info'] = 'file caricati.'; +$lang['mu_lasterr'] = 'Ultimo errore:'; $lang['recent_global'] = 'Stai attualmente vedendo le modifiche dentro l\'area %s. Puoi anche vedere le modifiche recenti dell\'intero wiki.'; +$lang['years'] = '%d anni fa'; +$lang['months'] = '%d mesi fa'; +$lang['weeks'] = '%d settimane fa'; +$lang['days'] = '%d giorni fa'; +$lang['hours'] = '%d ore fa'; +$lang['minutes'] = '%d minuti fa'; +$lang['seconds'] = '%d secondi fa'; diff --git a/inc/lang/it/login.txt b/inc/lang/it/login.txt index 6487c8537..c6fd97b6f 100644 --- a/inc/lang/it/login.txt +++ b/inc/lang/it/login.txt @@ -1,4 +1,4 @@ -====== Login ====== +====== Accesso ====== Non sei ancora collegato! Inserisci il tuo nome utente e la tua password per autenticarti. E' necessario che il tuo browser abbia i cookie abilitati. diff --git a/inc/lang/it/mailtext.txt b/inc/lang/it/mailtext.txt index ee6e958b9..a4506e951 100644 --- a/inc/lang/it/mailtext.txt +++ b/inc/lang/it/mailtext.txt @@ -12,5 +12,5 @@ Oggetto della modifica : @SUMMARY@ -- -Questa e-mail è stata generata da DokuWiki su +Questa email è stata generata dal DokuWiki di @DOKUWIKIURL@ diff --git a/inc/lang/it/password.txt b/inc/lang/it/password.txt index a14ce6078..d57c78913 100644 --- a/inc/lang/it/password.txt +++ b/inc/lang/it/password.txt @@ -1,4 +1,4 @@ -Ciao, @FULLNAME@! +Ciao @FULLNAME@! Questi sono i tuoi dati di accesso per @TITLE@ su @DOKUWIKIURL@ @@ -6,5 +6,5 @@ Nome utente : @LOGIN@ Password : @PASSWORD@ -- -Questa e-mail è stata generata da DokuWiki su +Questa email è stata generata dal DokuWiki di @DOKUWIKIURL@ diff --git a/inc/lang/it/pwconfirm.txt b/inc/lang/it/pwconfirm.txt index 5437d077c..dfcd8a346 100644 --- a/inc/lang/it/pwconfirm.txt +++ b/inc/lang/it/pwconfirm.txt @@ -1,15 +1,15 @@ Ciao @FULLNAME@! -Qualcuno ha richiesto una nuova password per il tuo @TITLE@ -login su @DOKUWIKIURL@ +Qualcuno ha richiesto una nuova password per il tuo accesso +@TITLE@ a @DOKUWIKIURL@ Se non hai richiesto tu la nuova password ignora questa email. -Per confermare che la richiesta è stata realmente inviata da te per favore usa il -seguente link. +Per confermare che la richiesta è stata realmente inviata da te usa il +seguente collegamento. @CONFIRM@ -- -Questa mail è stata generata da DokuWiki su +Questa email è stata generata dal DokuWiki di @DOKUWIKIURL@ diff --git a/inc/lang/it/register.txt b/inc/lang/it/register.txt index 973aead78..74f57094d 100644 --- a/inc/lang/it/register.txt +++ b/inc/lang/it/register.txt @@ -1,4 +1,4 @@ ====== Registrazione nuovo utente ====== -Riempi tutte le informazioni seguenti per creare un nuovo account in questo wiki. Assicurati di inserire un **indirizzo e-mail valido** - la tua nuova password ti sarà inviata con un messaggio di posta elettronica. La login dovrebbe essere un [[doku>pagename|nome di pagina]] valido. +Riempi tutte le informazioni seguenti per creare un nuovo account in questo wiki. Assicurati di inserire un **indirizzo email valido** - la tua nuova password ti sarà inviata con un messaggio di posta elettronica. L'account dovrebbe essere un [[doku>pagename|nome di pagina]] valido. diff --git a/inc/lang/it/registermail.txt b/inc/lang/it/registermail.txt index 5a9f89344..e8af0d323 100644 --- a/inc/lang/it/registermail.txt +++ b/inc/lang/it/registermail.txt @@ -2,7 +2,7 @@ Un nuovo utente è stato registrato. Ecco i dettagli: Nome utente : @NEWUSER@ Nome completo : @NEWNAME@ -E-Mail : @NEWEMAIL@ +EMail : @NEWEMAIL@ Data : @DATE@ Browser : @BROWSER@ @@ -10,5 +10,5 @@ Indirizzo IP : @IPADDRESS@ Nome macchina : @HOSTNAME@ -- -Questa mail è stata generata da DokuWiki su +Questa email è stata generata dal DokuWiki di @DOKUWIKIURL@ diff --git a/inc/lang/it/revisions.txt b/inc/lang/it/revisions.txt index 984b4a068..19c501b07 100644 --- a/inc/lang/it/revisions.txt +++ b/inc/lang/it/revisions.txt @@ -1,3 +1,3 @@ ====== Versione precedente ====== -Queste sono le precedenti versioni del documento corrente. Per ripristinare una versione precedente, seleziona la versione, modificala usando il pulsante ''Modifica questa pagina'' e salvala. +Queste sono le versioni precedenti del documento attuale. Per ripristinare una versione precedente, seleziona la versione, modificala usando il pulsante ''Modifica questa pagina'' e salvala. diff --git a/inc/lang/it/stopwords.txt b/inc/lang/it/stopwords.txt index a6aa1cfc6..e91aa3b55 100644 --- a/inc/lang/it/stopwords.txt +++ b/inc/lang/it/stopwords.txt @@ -1,7 +1,7 @@ -# This is a list of words the indexer ignores, one word per line -# When you edit this file be sure to use UNIX line endings (single newline) -# No need to include words shorter than 3 chars - these are ignored anyway -# This list is based upon the ones found at http://www.ranks.nl/stopwords/ +# Questo è un elenco di parole che l'indicizzatore ignora, una parola per riga +# Quando modifichi questo file fai attenzione ad usare la chiusura della riga in stile UNIX (nuova linea singola) +# Non è necessario includere parole più brevi di 3 caratteri - queste vengono in ogni caso ignorate +# Questo elenco è basato su quello trovato in http://www.ranks.nl/stopwords/ adesso alla allo diff --git a/inc/lang/it/subscr_digest.txt b/inc/lang/it/subscr_digest.txt new file mode 100644 index 000000000..8656f8536 --- /dev/null +++ b/inc/lang/it/subscr_digest.txt @@ -0,0 +1,20 @@ +Ciao! + +La pagina @PAGE@ nel wiki @TITLE@ è cambiata. +Queste sono le modifiche: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Vecchia revisione: @OLDPAGE@ +Nuova revisione: @NEWPAGE@ + +Per annullare la pagina delle notifiche collegati al +wiki @DOKUWIKIURL@ e poi visita @SUBSCRIBE@ +e rimuovi la sottoscrizione alle modifiche delle +pagine e/o categorie. + +-- +Questa email è stata generata dal DokuWiki di +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/it/subscr_form.txt b/inc/lang/it/subscr_form.txt new file mode 100644 index 000000000..54f66e44a --- /dev/null +++ b/inc/lang/it/subscr_form.txt @@ -0,0 +1,3 @@ +====== Gestione iscrizioni ====== + +Questa pagina permette di gestire le tue iscrizioni alla pagina e catogoria attuale. \ No newline at end of file diff --git a/inc/lang/it/subscr_list.txt b/inc/lang/it/subscr_list.txt new file mode 100644 index 000000000..e42f7d1ad --- /dev/null +++ b/inc/lang/it/subscr_list.txt @@ -0,0 +1,18 @@ +Ciao! + +Le pagine nella categoria @PAGE@ del wiki @TITLE@ sono +cambiate. +Queste sono le pagine modificate: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Per annullare la pagina delle notifiche collegati al +wiki @DOKUWIKIURL@ e poi visita @SUBSCRIBE@ +e rimuovi la sottoscrizione alle modifiche delle +pagine e/o categorie. + +-- +Questa email è stata generata dal DokuWiki di +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/it/subscr_single.txt b/inc/lang/it/subscr_single.txt new file mode 100644 index 000000000..2c4d5cbb8 --- /dev/null +++ b/inc/lang/it/subscr_single.txt @@ -0,0 +1,23 @@ +Ciao! + +La pagina @PAGE@ nel wiki @TITLE@ è cambiata. +Queste sono le modifiche: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Data : @DATE@ +Utente : @USER@ +Sommario modifica: @SUMMARY@ +Vecchia revisione: @OLDPAGE@ +Nuova revisione: @NEWPAGE@ + +Per annullare la pagina delle notifiche collegati al +wiki @DOKUWIKIURL@ e poi visita @SUBSCRIBE@ +e rimuovi la sottoscrizione alle modifiche delle +pagine e/o categorie. + +-- +Questa email è stata generata dal DokuWiki di +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/it/uploadmail.txt b/inc/lang/it/uploadmail.txt index 56cebc6b1..d8d17a378 100644 --- a/inc/lang/it/uploadmail.txt +++ b/inc/lang/it/uploadmail.txt @@ -6,7 +6,7 @@ Browser : @BROWSER@ Indirizzo IP : @IPADDRESS@ Hostname : @HOSTNAME@ Dimensione : @SIZE@ -MIME Type : @MIME@ +Tipo MIME : @MIME@ Utente : @USER@ -- diff --git a/inc/lang/it/wordblock.txt b/inc/lang/it/wordblock.txt index 510d6521d..040742d6d 100644 --- a/inc/lang/it/wordblock.txt +++ b/inc/lang/it/wordblock.txt @@ -1,4 +1,4 @@ ====== Modifica bloccata ====== -Le tue modifiche **non sono state salvate** perché contengono una o più parole vietate. Se hai cercato di spammare il Wiki -- bambino cattivo! Se pensi che sia un errore contatta l'amministratore di questo Wiki. +Le tue modifiche **non sono state salvate** perché contengono una o più parole vietate. Se hai cercato di spammare il Wiki -- sei un bambino cattivo! Se pensi che ci sia un errore contatta l'amministratore di questo Wiki. diff --git a/lib/plugins/acl/lang/it/help.txt b/lib/plugins/acl/lang/it/help.txt index 5e4b08dd6..8bf68e8e7 100644 --- a/lib/plugins/acl/lang/it/help.txt +++ b/lib/plugins/acl/lang/it/help.txt @@ -6,6 +6,6 @@ Il pannello di sinistra mostra tutte le categorie e le pagine disponibili. Il campo sopra ti permette di vedere e modificare i permessi di un utente o gruppo selezionato. -Nella tabella sotto, sono riportate tutte le regole di controllo degli accessi attualmente impostate. Puoi utilizzarla per cancellare o cambiare al volo varie regole. +Nella tabella sotto, sono riportate tutte le regole di controllo degli accessi attualmente impostate. Puoi utilizzarla per eliminare o cambiare al volo varie regole. -Leggere la [[doku>acl|official documentation on ACL]] può aiutarti a capire pienamente come funziona il controllo degli accessi in DokuWiki. +Leggere la [[doku>acl|documentazione ufficale delle ACL]] può aiutarti a capire pienamente come funziona il controllo degli accessi in DokuWiki. diff --git a/lib/plugins/acl/lang/it/lang.php b/lib/plugins/acl/lang/it/lang.php index 344987e8b..2f579afae 100644 --- a/lib/plugins/acl/lang/it/lang.php +++ b/lib/plugins/acl/lang/it/lang.php @@ -23,11 +23,11 @@ $lang['p_user_id'] = 'L\'utente %s attualment $lang['p_user_ns'] = 'L\'utente %s attualmente ha i seguenti permessi per la categoria %s: %s.'; $lang['p_group_id'] = 'I membri del gruppo%s attualmente hanno i seguenti permessi sulla pagina %s: %s.'; $lang['p_group_ns'] = 'I membri del gruppo%s attualmente hanno i seguenti permessi per la categoria %s: %s.'; -$lang['p_choose_id'] = 'Per favore inserisci un utente o gruppo nel campo sopra per modificare i permessi impostati per la pagina %s.'; -$lang['p_choose_ns'] = 'Per favore inserisci un utente o un gruppo nel campo sopra per modificare i permessi impostati per la categoria %s.'; -$lang['p_inherited'] = 'Nota: Questi permessi non sono stati esplicitamente impostati, ma sono stati ereditati da altri gruppi o da categorie superiori.'; -$lang['p_isadmin'] = 'Nota: Il gruppo o utente selezionato ha sempre tutti i permessi perché è configurato come amministratore.'; -$lang['p_include'] = 'I permessi più elevati includono i permessi inferiori. I permessi di Creazione, Upload e Cancellazione si applicano soltanto alle categorie e non alle pagine.'; +$lang['p_choose_id'] = 'Inserisci un utente o gruppo nel campo sopra per modificare i permessi impostati per la pagina %s.'; +$lang['p_choose_ns'] = 'Inserisci un utente o un gruppo nel campo sopra per modificare i permessi impostati per la categoria %s.'; +$lang['p_inherited'] = 'Nota: questi permessi non sono stati esplicitamente impostati, ma sono stati ereditati da altri gruppi o da categorie superiori.'; +$lang['p_isadmin'] = 'Nota: il gruppo o utente selezionato ha sempre tutti i permessi perché è configurato come amministratore.'; +$lang['p_include'] = 'I permessi più elevati includono i permessi inferiori. I permessi Crea, Carica ed Elimina si applicano soltanto alle categorie e non alle pagine.'; $lang['current'] = 'Regole ACL attuali'; $lang['where'] = 'Pagina/Categoria'; $lang['who'] = 'Utente/Gruppo'; @@ -35,8 +35,8 @@ $lang['perm'] = 'Permessi'; $lang['acl_perm0'] = 'Nessuno'; $lang['acl_perm1'] = 'Lettura'; $lang['acl_perm2'] = 'Modifica'; -$lang['acl_perm4'] = 'Creazione'; -$lang['acl_perm8'] = 'Upload'; -$lang['acl_perm16'] = 'Cancellazione'; -$lang['acl_new'] = 'Aggiungi nuovo record'; -$lang['acl_mod'] = 'Modifica record'; +$lang['acl_perm4'] = 'Crea'; +$lang['acl_perm8'] = 'Carica'; +$lang['acl_perm16'] = 'Elimina'; +$lang['acl_new'] = 'Aggiungi nuovo valore'; +$lang['acl_mod'] = 'Modifica valore'; diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 2a9ba42f0..9b84bb79e 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -14,18 +14,18 @@ */ $lang['menu'] = 'Configurazione Wiki'; $lang['error'] = 'Impostazioni non aggiornate a causa di un valore non corretto, controlla le modifiche apportate e salva di nuovo. -
I valori non corretti sono evidenziati da un riquadro rosso.'; +
I valori non corretti sono evidenziati da un riquadro rosso.'; $lang['updated'] = 'Aggiornamento impostazioni riuscito.'; $lang['nochoice'] = '(nessun\'altra scelta disponibile)'; $lang['locked'] = 'Il file di configurazione non può essere aggiornato, se questo non è intenzionale,
- assicurati che il nome e i permessi del file contenente la configurazione locale siano corretti.'; -$lang['danger'] = 'Attenzione: Cambiare questa opzione può rendere inaccessibile la tua wiki e il menu di configurazione.'; -$lang['warning'] = 'Avviso: Cambiare questa opzione può causare comportamenti indesiderati.'; -$lang['security'] = 'Avviso di sicurezza: Cambiare questa opzione può esporre a rischi di sicurezza.'; +assicurati che il nome e i permessi del file contenente la configurazione locale siano corretti.'; +$lang['danger'] = 'Attenzione: cambiare questa opzione può rendere inaccessibile il wiki e il menu di configurazione.'; +$lang['warning'] = 'Avviso: cambiare questa opzione può causare comportamenti indesiderati.'; +$lang['security'] = 'Avviso di sicurezza: vambiare questa opzione può esporre a rischi di sicurezza.'; $lang['_configuration_manager'] = 'Configurazione Wiki'; $lang['_header_dokuwiki'] = 'Impostazioni DokuWiki'; $lang['_header_plugin'] = 'Impostazioni Plugin'; -$lang['_header_template'] = 'Impostazioni Template'; +$lang['_header_template'] = 'Impostazioni Modello'; $lang['_header_undefined'] = 'Impostazioni non definite'; $lang['_basic'] = 'Impostazioni Base'; $lang['_display'] = 'Impostazioni Visualizzazione'; @@ -37,7 +37,7 @@ $lang['_media'] = 'Impostazioni File'; $lang['_advanced'] = 'Impostazioni Avanzate'; $lang['_network'] = 'Impostazioni Rete'; $lang['_plugin_sufix'] = 'Impostazioni Plugin'; -$lang['_template_sufix'] = 'Impostazioni Template'; +$lang['_template_sufix'] = 'Impostazioni Modello'; $lang['_msg_setting_undefined'] = 'Nessun metadato definito.'; $lang['_msg_setting_no_class'] = 'Nessuna classe definita.'; $lang['_msg_setting_no_default'] = 'Nessun valore predefinito.'; @@ -49,7 +49,7 @@ $lang['baseurl'] = 'URL di base'; $lang['savedir'] = 'Directory per il salvataggio dei dati'; $lang['start'] = 'Nome della pagina iniziale'; $lang['title'] = 'Titolo del wiki'; -$lang['template'] = 'Template'; +$lang['template'] = 'Modello'; $lang['license'] = 'Sotto quale licenza vorresti rilasciare il tuo contenuto?'; $lang['fullpath'] = 'Mostra il percorso completo delle pagine'; $lang['recent'] = 'Ultime modifiche'; @@ -58,7 +58,7 @@ $lang['youarehere'] = 'Breadcrumb gerarchici'; $lang['typography'] = 'Abilita la sostituzione tipografica'; $lang['htmlok'] = 'Consenti HTML incorporato'; $lang['phpok'] = 'Consenti PHP incorporato'; -$lang['dformat'] = 'Formato delle date (vedi la funzione data di PHP)'; +$lang['dformat'] = 'Formato delle date (vedi la funzione strftime di PHP)'; $lang['signature'] = 'Firma'; $lang['toptoclevel'] = 'Livello superiore per l\'indice'; $lang['tocminheads'] = 'Ammontare minimo di intestazioni che determinano la creazione del TOC'; @@ -72,8 +72,8 @@ $lang['refshow'] = 'Numero di riferimenti da visualizzare'; $lang['allowdebug'] = 'Abilita il debug (disabilitare se non serve!)'; $lang['usewordblock'] = 'Blocca lo spam in base alla blacklist'; $lang['indexdelay'] = 'Intervallo di tempo prima dell\'indicizzazione'; -$lang['relnofollow'] = 'Usa rel="nofollow"'; -$lang['mailguard'] = 'Oscuramento indirizzi e-mail'; +$lang['relnofollow'] = 'Usa rel="nofollow" nei collegamenti esterni'; +$lang['mailguard'] = 'Oscuramento indirizzi email'; $lang['iexssprotect'] = 'Controlla i file caricati in cerca di possibile codice JavaScript o HTML maligno.'; $lang['showuseras'] = 'Cosa visualizzare quando si mostra l\'ultimo utente che ha modificato una pagina'; $lang['useacl'] = 'Usa lista di controllo accessi (ACL)'; @@ -81,8 +81,8 @@ $lang['autopasswd'] = 'Genera password in automatico'; $lang['authtype'] = 'Sistema di autenticazione'; $lang['passcrypt'] = 'Metodo di cifratura password'; $lang['defaultgroup'] = 'Gruppo predefinito'; -$lang['superuser'] = 'Amministratore'; -$lang['manager'] = 'Gestore - un gruppo o un utente con accesso a determinate funzioni di gestione'; +$lang['superuser'] = 'Amministratore - gruppo, utente o elenco di utenti separati da virgole (user1,@group1,user2) con accesso completo a tutte le pagine e le funzioni che riguardano le impostazioni ACL'; +$lang['manager'] = 'Gestore - gruppo, utente o elenco di utenti separati da virgole (user1,@group1,user2) con accesso a determinate funzioni di gestione'; $lang['profileconfirm'] = 'Richiedi la password per modifiche al profilo'; $lang['disableactions'] = 'Disabilita azioni DokuWiki'; $lang['disableactions_check'] = 'Controlla'; @@ -90,13 +90,13 @@ $lang['disableactions_subscription'] = 'Sottoscrivi/Rimuovi sottoscrizione'; $lang['disableactions_wikicode'] = 'Mostra sorgente/Esporta Raw'; $lang['disableactions_other'] = 'Altre azioni (separate da virgola)'; $lang['sneaky_index'] = 'Normalmente, DokuWiki mostra tutte le categorie nella vista indice. Abilitando questa opzione, saranno nascoste quelle per cui l\'utente non ha il permesso in lettura. Questo potrebbe far sì che alcune sottocategorie accessibili siano nascoste. La pagina indice potrebbe quindi diventare inutilizzabile con alcune configurazioni dell\'ACL.'; -$lang['auth_security_timeout'] = 'Timeout di sicurezza per l\'autenticazione (secondi)'; +$lang['auth_security_timeout'] = 'Tempo di sicurezza per l\'autenticazione (secondi)'; $lang['securecookie'] = 'Devono i cookies impostati tramite HTTPS essere inviati al browser solo tramite HTTPS? Disattiva questa opzione solo quando l\'accesso al tuo wiki viene effettuato con il protocollo SSL ma la navigazione del wiki non risulta sicura.'; -$lang['xmlrpc'] = 'Abilita/disabilita interfaccia XML-RPC'; +$lang['xmlrpc'] = 'Abilita/disabilita interfaccia XML-RPC.'; $lang['xmlrpcuser'] = 'Limita l\'accesso XML-RPC ai gruppi o utenti indicati qui (separati da virgola). Lascia il campo vuoto per dare accesso a tutti.'; $lang['updatecheck'] = 'Controllare aggiornamenti e avvisi di sicurezza? DokuWiki deve contattare splitbrain.org per questa funzione.'; $lang['userewrite'] = 'Usa il rewrite delle URL'; -$lang['useslash'] = 'Usa lo slash come separatore nelle URL'; +$lang['useslash'] = 'Usa la barra rovescia (slash) come separatore nelle URL'; $lang['usedraft'] = 'Salva una bozza in automatico in fase di modifica'; $lang['sepchar'] = 'Separatore di parole nei nomi di pagina'; $lang['canonical'] = 'Usa URL canoniche'; @@ -113,13 +113,14 @@ $lang['gdlib'] = 'Versione GD Lib '; $lang['im_convert'] = 'Percorso per il convertitore di ImageMagick'; $lang['jpg_quality'] = 'Qualità di compressione JPG (0-100)'; $lang['subscribers'] = 'Abilita la sottoscrizione alle pagine'; +$lang['subscribe_time'] = 'Tempo dopo il quale le liste di sottoscrizione e i riassunti vengono inviati (sec); Dovrebbe essere inferiore al tempo specificato in recent_days.'; $lang['compress'] = 'Comprimi i file CSS e javascript'; $lang['hidepages'] = 'Nascondi le pagine che soddisfano la condizione (inserire un\'espressione regolare)'; $lang['send404'] = 'Invia "HTTP 404/Pagina non trovata" per le pagine inesistenti'; $lang['sitemap'] = 'Genera una sitemap Google (giorni)'; $lang['broken_iua'] = 'La funzione ignore_user_abort non funziona sul tuo sistema? Questo potrebbe far sì che l\'indice di ricerca sia inutilizzabile. È noto che nella configurazione IIS+PHP/CGI non funziona. Vedi ilBug 852 per maggiori informazioni.'; $lang['xsendfile'] = 'Usare l\'header X-Sendfile per permettere al webserver di fornire file statici? Questa funzione deve essere supportata dal tuo webserver.'; -$lang['renderer_xhtml'] = 'Renderer da usare la visualizzazione del wiki (xhtml)'; +$lang['renderer_xhtml'] = 'Renderer da usare per la visualizzazione del wiki (xhtml)'; $lang['renderer__core'] = '%s (dokuwiki)'; $lang['renderer__plugin'] = '%s (plugin)'; $lang['rememberme'] = 'Permetti i cookies di accesso permanenti (ricordami)'; @@ -129,11 +130,11 @@ $lang['rss_content'] = 'Cosa mostrare negli elementi dei feed XML?'; $lang['rss_update'] = 'Intervallo di aggiornamento dei feed XML (sec)'; $lang['recent_days'] = 'Quante modifiche recenti tenere (giorni)'; $lang['rss_show_summary'] = 'I feed XML riportano un sommario nel titolo'; -$lang['target____wiki'] = 'Finestra target per i collegamenti interni'; -$lang['target____interwiki'] = 'Finestra target per i collegamenti interwiki'; -$lang['target____extern'] = 'Finestra target per i collegamenti esterni'; -$lang['target____media'] = 'Finestra target per i collegamenti ai file'; -$lang['target____windows'] = 'Finestra target per i collegamenti alle risorse condivise'; +$lang['target____wiki'] = 'Finestra di destinazione per i collegamenti interni'; +$lang['target____interwiki'] = 'Finestra di destinazione per i collegamenti interwiki'; +$lang['target____extern'] = 'Finestra di destinazione per i collegamenti esterni'; +$lang['target____media'] = 'Finestra di destinazione per i collegamenti ai file'; +$lang['target____windows'] = 'Finestra di destinazione per i collegamenti alle risorse condivise'; $lang['proxy____host'] = 'Nome server proxy'; $lang['proxy____port'] = 'Porta proxy'; $lang['proxy____user'] = 'Nome utente proxy'; @@ -144,7 +145,7 @@ $lang['ftp____host'] = 'Server FTP per safemode hack'; $lang['ftp____port'] = 'Porta FTP per safemode hack'; $lang['ftp____user'] = 'Nome utente FTP per safemode hack'; $lang['ftp____pass'] = 'Password FTP per safemode hack'; -$lang['ftp____root'] = 'Root directory FTP per safemode hack'; +$lang['ftp____root'] = 'Directory principale FTP per safemode hack'; $lang['license_o_'] = 'Nessuna scelta'; $lang['typography_o_0'] = 'nessuno'; $lang['typography_o_1'] = 'Solo virgolette'; @@ -170,7 +171,7 @@ $lang['rss_content_o_html'] = 'Tutto il contenuto della pagina in HTML'; $lang['rss_linkto_o_diff'] = 'vista differenze'; $lang['rss_linkto_o_page'] = 'pagina revisionata'; $lang['rss_linkto_o_rev'] = 'elenco revisioni'; -$lang['rss_linkto_o_current'] = 'pagina corrente'; +$lang['rss_linkto_o_current'] = 'pagina attuale'; $lang['compression_o_0'] = 'nessuna'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; diff --git a/lib/plugins/plugin/lang/it/admin_plugin.txt b/lib/plugins/plugin/lang/it/admin_plugin.txt index 1c0d5dc7b..5591f08fe 100644 --- a/lib/plugins/plugin/lang/it/admin_plugin.txt +++ b/lib/plugins/plugin/lang/it/admin_plugin.txt @@ -1,4 +1,3 @@ ====== Gestione Plugin ====== -Su questa pagina puoi gestire tutto ciò che riguarda i [[doku>plugins|plugin]] di DokuWiki. Per poter scaricare e installare un plugin, il webserver deve avere accesso in scrittura alla cartella dei plugin. - +In questa pagina puoi gestire tutto ciò che riguarda i [[doku>plugins|plugin]] di DokuWiki. Per poter scaricare e installare un plugin, il webserver deve avere accesso in scrittura alla directory dei plugin. \ No newline at end of file diff --git a/lib/plugins/plugin/lang/it/lang.php b/lib/plugins/plugin/lang/it/lang.php index 909c5eacb..3e9d855ec 100644 --- a/lib/plugins/plugin/lang/it/lang.php +++ b/lib/plugins/plugin/lang/it/lang.php @@ -17,7 +17,7 @@ $lang['download'] = 'Scarica e installa un nuovo plugin'; $lang['manage'] = 'Plugin installati'; $lang['btn_info'] = 'info'; $lang['btn_update'] = 'aggiorna'; -$lang['btn_delete'] = 'cancella'; +$lang['btn_delete'] = 'elimina'; $lang['btn_settings'] = 'configurazione'; $lang['btn_download'] = 'Scarica'; $lang['btn_enable'] = 'Salva'; @@ -30,9 +30,9 @@ $lang['updating'] = 'Aggiornamento in corso ...'; $lang['updated'] = 'Aggiornamento plugin %s riuscito'; $lang['updates'] = 'Aggiornamento dei seguenti plugin riuscito:'; $lang['update_none'] = 'Nessun aggiornamento trovato.'; -$lang['deleting'] = 'Cancellazione in corso ...'; -$lang['deleted'] = 'Plugin %s cancellato.'; -$lang['downloading'] = 'Download in corso ...'; +$lang['deleting'] = 'Eliminazione in corso ...'; +$lang['deleted'] = 'Plugin %s eliminato.'; +$lang['downloading'] = 'Scaricamento in corso ...'; $lang['downloaded'] = 'Installazione plugin %s riuscita'; $lang['downloads'] = 'Installazione dei seguenti plugin riuscita:'; $lang['download_none'] = 'Nessun plugin trovato, oppure si è verificato un problema sconosciuto durante il download e l\'installazione.'; @@ -51,7 +51,7 @@ $lang['error_badurl'] = 'Possibile URL non corretta - impossibile deter $lang['error_dircreate'] = 'Impossibile creare la directory temporanea dove scaricare il file'; $lang['error_decompress'] = 'Impossibile decomprimere il file scaricato. Questo potrebbe essere il risultato di un download incompleto, in tal caso dovresti provare di nuovo; oppure il formato di compressione potrebbe essere sconosciuto, in questo caso è necessario scaricare e installare il plugin manualmente.'; $lang['error_copy'] = 'Si è verificato un errore nella copia di un file durante l\'installazione del plugin %s: il disco potrebbe essere pieno oppure i permessi di accesso al file potrebbero non essere corretti. Il plugin potrebbe essere stato installato solo parzialmente, questo potrebbe causare instabilità al sistema.'; -$lang['error_delete'] = 'Si è verificato un errore durante la cancellazione del plugin %s. Molto probabilmente i permessi di acesso ai file o alla directory non sono sufficienti'; +$lang['error_delete'] = 'Si è verificato un errore durante l\'eliminazione del plugin %s. Molto probabilmente i permessi di acesso ai file o alla directory non sono sufficienti'; $lang['enabled'] = 'Plugin %s abilitato.'; $lang['notenabled'] = 'Impossibile abilitare il plugin %s, verifica i permessi dei file.'; $lang['disabled'] = 'Plugin %s disabilitato.'; diff --git a/lib/plugins/popularity/lang/it/intro.txt b/lib/plugins/popularity/lang/it/intro.txt index c725110b7..62303eca7 100644 --- a/lib/plugins/popularity/lang/it/intro.txt +++ b/lib/plugins/popularity/lang/it/intro.txt @@ -1,8 +1,8 @@ ====== Raccolta dati sul wiki ====== -Questo strumento raccoglie dati anonimi sul tuo wiki e ti permette di inviarli agli sviluppatori di Dokuwiki. Questo aiuta loro a capire come Dokuwiki viene utilizzato dagli utenti e prendere decisioni future sullo sviluppo in base a quello che sono le reali statistiche di utilizzo da parte degli utenti. +Questo strumento raccoglie dati anonimi sul tuo wiki e ti permette di inviarli agli sviluppatori di Dokuwiki. Questo aiuta loro a capire come Dokuwiki viene utilizzato dagli utenti e prendere decisioni future sullo sviluppo in base a quelle che sono le reali statistiche di utilizzo da parte degli utenti. -Ti incoraggiamo a ripetere questa operazione più spesso per mantenere informati gli sviluppatori sulla crescita del tuo wiki. L'insieme dei dati raccolti saranno identificati tramite un ID anonimo. +Ti incoraggiamo a ripetere questa operazione al più spesso per mantenere informati gli sviluppatori sulla crescita del tuo wiki. L'insieme dei dati raccolti saranno identificati tramite un ID anonimo. I dati raccolti contengono informazioni come la versione di DokuWiki, il numero e le dimensioni delle pagine e dei files, i plugins installati e qualche informazione sulla versione di PHP presente nel sistema. diff --git a/lib/plugins/revert/lang/it/intro.txt b/lib/plugins/revert/lang/it/intro.txt index 1577af7ec..a5ef14680 100644 --- a/lib/plugins/revert/lang/it/intro.txt +++ b/lib/plugins/revert/lang/it/intro.txt @@ -1,3 +1,3 @@ ====== Gestore di ripristini ====== -Questa pagina aiuta il controllo automatico degli attacchi spam. Per cercare una lista delle pagine con spam, inserisci innanzitutto una stringa di ricerca (ad esempio l'URL di un sito di spam), quindi conferma che le pagine trovate contengono realmente spam e ripristinale ad una versione precedente. +Questa pagina aiuta il controllo automatico degli attacchi spam. Per cercare una lista delle pagine con spam, inserisci innanzitutto una stringa di ricerca (ad esempio l'URL di un sito di spam), quindi Verifica che le pagine trovate contengano realmente spam e ripristinale ad una versione precedente. diff --git a/lib/plugins/usermanager/lang/it/delete.txt b/lib/plugins/usermanager/lang/it/delete.txt index fc36212af..270061f0d 100644 --- a/lib/plugins/usermanager/lang/it/delete.txt +++ b/lib/plugins/usermanager/lang/it/delete.txt @@ -1 +1 @@ -===== Cancella utente ===== +===== Elimina utente ===== diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index 67b17e9ec..d592fdf89 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -15,16 +15,16 @@ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; $lang['nosupport'] = '(gestione utenti non supportata)'; $lang['badauth'] = 'sistema di autenticazione non valido'; -$lang['user_id'] = 'User ID'; +$lang['user_id'] = 'ID utente'; $lang['user_pass'] = 'Password'; $lang['user_name'] = 'Nome completo'; -$lang['user_mail'] = 'E-mail'; +$lang['user_mail'] = 'Email'; $lang['user_groups'] = 'Gruppi'; $lang['field'] = 'Campo'; $lang['value'] = 'Valore'; $lang['add'] = 'Aggiungi'; -$lang['delete'] = 'Cancella'; -$lang['delete_selected'] = 'Cancella selezionati'; +$lang['delete'] = 'Elimina'; +$lang['delete_selected'] = 'Elimina selezionati'; $lang['edit'] = 'Modifica'; $lang['edit_prompt'] = 'Modifica questo utente'; $lang['modify'] = 'Salva modifiche'; @@ -34,20 +34,20 @@ $lang['clear'] = 'Azzera filtro di ricerca'; $lang['filter'] = 'Filtro'; $lang['summary'] = 'Visualizzazione utenti %1$d-%2$d di %3$d trovati. %4$d utenti totali.'; $lang['nonefound'] = 'Nessun utente trovato. %d utenti totali.'; -$lang['delete_ok'] = '%d utenti cancellati'; -$lang['delete_fail'] = 'Cancellazione %d fallita.'; +$lang['delete_ok'] = '%d utenti eliminati'; +$lang['delete_fail'] = 'Eliminazione %d fallita.'; $lang['update_ok'] = 'Aggiornamento utente riuscito'; $lang['update_fail'] = 'Aggiornamento utente fallito'; -$lang['update_exists'] = 'Modifica nome utente fallita, il nome utente specificato (%s) esiste già (qualunque altra modifica sarà applicata).'; +$lang['update_exists'] = 'Modifica nome utente fallita, il nome utente specificato (%s) esiste già (qualunque altra modifica sarà applicata).'; $lang['start'] = 'primo'; $lang['prev'] = 'precedente'; $lang['next'] = 'successivo'; $lang['last'] = 'ultimo'; -$lang['edit_usermissing'] = 'Utente selezionato non trovato, il nome utente specificato potrebbe essere stato cancellato o modificato altrove.'; +$lang['edit_usermissing'] = 'Utente selezionato non trovato, il nome utente specificato potrebbe essere stato eliminato o modificato altrove.'; $lang['user_notify'] = 'Notifica utente'; $lang['note_notify'] = 'Le email di notifica sono inviate soltanto se all\'utente è stata assegnata una nuova password.'; -$lang['note_group'] = 'Se non si specifica alcun gruppo, i nuovi utenti saranno aggiunti al gruppo di default (%s).'; -$lang['note_pass'] = 'La password verrà generata automaticamente qualora il campo di inserimento relatvivo venisse lasciato vuoto e le notifiche all\'utente fossero abilitate.'; +$lang['note_group'] = 'Se non si specifica alcun gruppo, i nuovi utenti saranno aggiunti al gruppo predefinito (%s).'; +$lang['note_pass'] = 'La password verrà generata automaticamente qualora il campo di inserimento relativo venisse lasciato vuoto e le notifiche all\'utente fossero abilitate.'; $lang['add_ok'] = 'Utente aggiunto correttamente'; $lang['add_fail'] = 'Aggiunta utente fallita'; $lang['notify_ok'] = 'Email di notifica inviata'; -- cgit v1.2.3 From c04912f6c4e1c1c8bda182a7dc03c86bcb415d90 Mon Sep 17 00:00:00 2001 From: Victor M Castelan Date: Fri, 12 Feb 2010 12:53:49 +0100 Subject: Spanish language update --- inc/lang/es/lang.php | 26 ++++++++++++++++++-------- inc/lang/es/subscr_digest.txt | 20 ++++++++++++++++++++ inc/lang/es/subscr_form.txt | 3 +++ inc/lang/es/subscr_list.txt | 17 +++++++++++++++++ inc/lang/es/subscr_single.txt | 23 +++++++++++++++++++++++ lib/plugins/acl/lang/es/lang.php | 1 + lib/plugins/config/lang/es/lang.php | 2 ++ lib/plugins/plugin/lang/es/lang.php | 1 + lib/plugins/popularity/lang/es/lang.php | 1 + lib/plugins/revert/lang/es/lang.php | 1 + lib/plugins/usermanager/lang/es/lang.php | 1 + 11 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 inc/lang/es/subscr_digest.txt create mode 100644 inc/lang/es/subscr_form.txt create mode 100644 inc/lang/es/subscr_list.txt create mode 100644 inc/lang/es/subscr_single.txt diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 9d4995c52..2d473484d 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -22,6 +22,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -55,9 +56,6 @@ $lang['btn_back'] = 'Atrás'; $lang['btn_backlink'] = 'Enlaces anteriores'; $lang['btn_backtomedia'] = 'Volver a la selección de archivos multimedia'; $lang['btn_subscribe'] = 'Suscribirse a cambios de la página'; -$lang['btn_unsubscribe'] = 'Cancelar suscripción a cambios de la página'; -$lang['btn_subscribens'] = 'Suscribirse a cambios del espacio de nombres'; -$lang['btn_unsubscribens'] = 'Cancelar suscripción a cambios del espacio de nombres'; $lang['btn_profile'] = 'Actualizar perfil'; $lang['btn_reset'] = 'Restablecer'; $lang['btn_resendpwd'] = 'Enviar nueva contraseña'; @@ -167,6 +165,7 @@ $lang['noflash'] = 'Para mostrar este contenido es necesario el * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; $lang['acl_group'] = 'Grupo'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 739ec6bbe..9aed1f96c 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -17,6 +17,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['menu'] = 'Parámetros de configuración'; $lang['error'] = 'Los parámetros no han sido actualizados a causa de un valor inválido, por favor revise los cambios y re-envíe el formulario.
Los valores incorrectos se mostrarán con un marco rojo alrededor.'; @@ -117,6 +118,7 @@ $lang['gdlib'] = 'Versión de GD Lib'; $lang['im_convert'] = 'Ruta a la herramienta de conversión de ImageMagick'; $lang['jpg_quality'] = 'Calidad de compresión de JPG (0-100)'; $lang['subscribers'] = 'Habilitar soporte para suscripción a páginas'; +$lang['subscribe_time'] = 'Tiempo después que alguna lista de suscripción fue enviada (seg); Debe ser menor que el tiempo especificado en días recientes.'; $lang['compress'] = 'Compactar la salida de CSS y javascript'; $lang['hidepages'] = 'Ocultar páginas con coincidencias (expresiones regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Page Not Found" para páginas no existentes'; diff --git a/lib/plugins/plugin/lang/es/lang.php b/lib/plugins/plugin/lang/es/lang.php index 08ab38196..33264ddf3 100644 --- a/lib/plugins/plugin/lang/es/lang.php +++ b/lib/plugins/plugin/lang/es/lang.php @@ -17,6 +17,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['menu'] = 'Administración de Plugins'; $lang['download'] = 'Descargar e instalar un nuevo plugin'; diff --git a/lib/plugins/popularity/lang/es/lang.php b/lib/plugins/popularity/lang/es/lang.php index 8fedc329e..e349e5ea5 100644 --- a/lib/plugins/popularity/lang/es/lang.php +++ b/lib/plugins/popularity/lang/es/lang.php @@ -13,6 +13,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['name'] = 'Retroinformación (Feedback) plugin Popularity'; $lang['submit'] = 'Enviar datos'; diff --git a/lib/plugins/revert/lang/es/lang.php b/lib/plugins/revert/lang/es/lang.php index 2886528d6..fd3e2e0bf 100644 --- a/lib/plugins/revert/lang/es/lang.php +++ b/lib/plugins/revert/lang/es/lang.php @@ -15,6 +15,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['menu'] = 'Restaurador'; $lang['filter'] = 'Buscar páginas con spam'; diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index c11ebcd93..c3b345642 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -16,6 +16,7 @@ * @author Marvin Ortega * @author Daniel Castro Alvarado * @author Fernando J. Gómez + * @author Victor Castelan */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; -- cgit v1.2.3 From 8e6d6cfde65cf5e68cf762424dc2a7048e6b2959 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Fri, 12 Feb 2010 23:37:21 +0100 Subject: Interlingua Language Update --- inc/lang/ia/install.html | 2 +- inc/lang/ia/lang.php | 12 +- inc/lang/ia/updateprofile.txt | 2 +- lib/plugins/acl/lang/ia/help.txt | 11 ++ lib/plugins/acl/lang/ia/lang.php | 28 +++++ lib/plugins/config/lang/ia/intro.txt | 8 +- lib/plugins/config/lang/ia/lang.php | 173 ++++++++++++++++++++++++++++ lib/plugins/plugin/lang/ia/admin_plugin.txt | 3 + lib/plugins/plugin/lang/ia/lang.php | 44 +++++++ lib/plugins/popularity/lang/ia/intro.txt | 9 ++ lib/plugins/popularity/lang/ia/lang.php | 2 + lib/plugins/revert/lang/ia/intro.txt | 3 + lib/plugins/revert/lang/ia/lang.php | 9 ++ lib/plugins/usermanager/lang/ia/add.txt | 1 + lib/plugins/usermanager/lang/ia/delete.txt | 1 + lib/plugins/usermanager/lang/ia/edit.txt | 1 + lib/plugins/usermanager/lang/ia/intro.txt | 1 + lib/plugins/usermanager/lang/ia/lang.php | 42 +++++++ lib/plugins/usermanager/lang/ia/list.txt | 1 + 19 files changed, 341 insertions(+), 12 deletions(-) create mode 100644 lib/plugins/acl/lang/ia/help.txt create mode 100644 lib/plugins/plugin/lang/ia/admin_plugin.txt create mode 100644 lib/plugins/popularity/lang/ia/intro.txt create mode 100644 lib/plugins/revert/lang/ia/intro.txt create mode 100644 lib/plugins/usermanager/lang/ia/add.txt create mode 100644 lib/plugins/usermanager/lang/ia/delete.txt create mode 100644 lib/plugins/usermanager/lang/ia/edit.txt create mode 100644 lib/plugins/usermanager/lang/ia/intro.txt create mode 100644 lib/plugins/usermanager/lang/ia/list.txt diff --git a/inc/lang/ia/install.html b/inc/lang/ia/install.html index 6b343ad00..340d4098f 100644 --- a/inc/lang/ia/install.html +++ b/inc/lang/ia/install.html @@ -6,7 +6,7 @@ debe haber accesso de scriptura al directorios que contine iste files. Iste installator non es capabile de configurar le permissiones de directorios. Isto normalmente debe esser facite directemente con le linea de commandos, o si tu usa un albergo web, via FTP o via le pannello de controlo de tu albergo (p.ex. cPanel).

Iste installator configurara tu installation de DokuWiki pro -ACL, lo que permitte crear contos administrator, e forni accesso al menu administrative de DokuWiki pro installar plug-ins, gerer usatores, gerer accesso a paginas wiki e alterar configurationes. Isto non es necessari pro le functionamento de DokuWiki, nonobstante, illo rendera DokuWiki plus facile de administrar.

+ACL, lo que permitte crear contos administrator, e forni accesso al menu administrative de DokuWiki pro installar plug-ins, gerer usatores, gerer accesso a paginas wiki e alterar configurationes. Isto non es necessari pro le functionamento de DokuWiki, nonobstante, illo rendera DokuWiki plus facile de administrar.

Le usatores experte o con exigentias special pro le installation deberea usar iste ligamines pro detalios concernente le instructiones de installation diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index 8d006bc5b..8429fe607 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -54,8 +54,8 @@ $lang['loggedinas'] = 'Session aperite como'; $lang['user'] = 'Nomine de usator'; $lang['pass'] = 'Contrasigno'; $lang['newpass'] = 'Nove contrasigno'; -$lang['oldpass'] = 'Contrasigno actual'; -$lang['passchk'] = 'confirmar contrasigno'; +$lang['oldpass'] = 'Confirmar contrasigno actual'; +$lang['passchk'] = 'un altere vice'; $lang['remember'] = 'Memorar me'; $lang['fullname'] = 'Nomine real'; $lang['email'] = 'E-mail'; @@ -65,8 +65,8 @@ $lang['badlogin'] = 'Le nomine de usator o le contrasigno es incorr $lang['minoredit'] = 'Modificationes minor'; $lang['draftdate'] = 'Version provisori automaticamente salveguardate le'; $lang['nosecedit'] = 'Le pagina ha essite modificate intertanto. Le informationes del section es ora obsolete, dunque le pagina complete ha essite cargate in su loco.'; -$lang['regmissing'] = 'Desolate, tu debe impler tote le campos.'; -$lang['reguexists'] = 'Pardono, un usator con iste nomine ja existe.'; +$lang['regmissing'] = 'Es necessari completar tote le campos.'; +$lang['reguexists'] = 'Regrettabilemente, un usator con iste nomine ja existe.'; $lang['regsuccess'] = 'Le conto ha essite create e le contrasigno ha essite inviate per e-mail.'; $lang['regsuccess2'] = 'Le conto ha essite create.'; $lang['regmailfail'] = 'Il pare que un error occurreva durante le invio del message con le contrasigno. Per favor contacta le administrator!'; @@ -177,7 +177,7 @@ $lang['qb_ol'] = 'Elemento de lista ordinate'; $lang['qb_ul'] = 'Elemento de lista non ordinate'; $lang['qb_media'] = 'Adder imagines e altere files'; $lang['qb_sig'] = 'Inserer signatura'; -$lang['qb_smileys'] = 'Emoticones'; +$lang['qb_smileys'] = 'Emoticones '; $lang['qb_chars'] = 'Characteres special'; $lang['upperns'] = 'Saltar al spatio de nomines superior'; $lang['admin_register'] = 'Adder nove usator'; @@ -223,7 +223,7 @@ $lang['i_modified'] = 'Pro motivos de securitate, iste script functio Tu debe re-extraher le files del pacchetto discargate, o consultar le instructiones de installation complete pro altere optiones.'; $lang['i_funcna'] = 'Le function PHP %s non es disponibile. Pote esser que tu albergo web lo ha disactivate pro un ration o altere.'; $lang['i_phpver'] = 'Le version de PHP %s es plus ancian que le version requisite %s. Es necessari actualisar le installation de PHP.'; -$lang['i_permfail'] = '%s non es scriptibile per DokuWiki. Tu debe reparar le permissiones de iste directorio!'; +$lang['i_permfail'] = '%s non permitte le accesso de scriptura a DokuWiki. Tu debe reparar le permissiones de iste directorio!'; $lang['i_confexists'] = '%s ja existe'; $lang['i_writeerr'] = 'Impossibile crear %s. Tu debe verificar le permissiones de directorios/files e crear iste file manualmente.'; $lang['i_badhash'] = 'dokuwiki.php non recognoscite o modificate (hash=%s)'; diff --git a/inc/lang/ia/updateprofile.txt b/inc/lang/ia/updateprofile.txt index 3f69da161..3968d3cde 100644 --- a/inc/lang/ia/updateprofile.txt +++ b/inc/lang/ia/updateprofile.txt @@ -1,3 +1,3 @@ ====== Actualisa le profilo de tu conto ====== -Solmente es necessari completar le campos que tu vole cambiar. tu non pote cambiar tu nomine de usator. \ No newline at end of file +Solmente es necessari completar le campos que tu vole cambiar. Non es possibile cambiar tu nomine de usator. \ No newline at end of file diff --git a/lib/plugins/acl/lang/ia/help.txt b/lib/plugins/acl/lang/ia/help.txt new file mode 100644 index 000000000..59f5764eb --- /dev/null +++ b/lib/plugins/acl/lang/ia/help.txt @@ -0,0 +1,11 @@ +=== Adjuta rapide: === + +In iste pagina tu pote adder e remover permissiones pro spatios de nomines e paginas in tu wiki. + +Le columna sinistre presenta tote le spatios de nomines e paginas disponibile. + +Le formulario hic supra permitte vider e modificar le permissiones de un usator o gruppo seligite. + +In le tabella hic infra se monstra tote le regulas de controlo de accesso actualmente configurate. Tu pote usar lo pro rapidemente deler o modificar plure regulas. + +Es recommendate leger le [[doku>acl|documentation official super ACL]] pro comprender completemente como le controlo de accesso functiona in DokuWiki. diff --git a/lib/plugins/acl/lang/ia/lang.php b/lib/plugins/acl/lang/ia/lang.php index 3f0ebb5d8..f7d076539 100644 --- a/lib/plugins/acl/lang/ia/lang.php +++ b/lib/plugins/acl/lang/ia/lang.php @@ -5,3 +5,31 @@ * @author robocap * @author Martijn Dekker */ +$lang['admin_acl'] = 'Gestion de listas de controlo de accesso'; +$lang['acl_group'] = 'Gruppo'; +$lang['acl_user'] = 'Usator'; +$lang['acl_perms'] = 'Permissiones pro'; +$lang['page'] = 'Pagina'; +$lang['namespace'] = 'Spatio de nomines'; +$lang['btn_select'] = 'Seliger'; +$lang['p_user_id'] = 'Le usator %s ha actualmente le sequente permissiones in le pagina %s: %s.'; +$lang['p_user_ns'] = 'Le usator %s ha actualmente le sequente permissiones in le spatio de nomines %s: %s.'; +$lang['p_group_id'] = 'Le membros del gruppo %s a actualmente le sequente permissiones in le pagina %s: %s.'; +$lang['p_group_ns'] = 'Le membros del gruppo %s ha actualmente le sequente permissiones in le spatio de nomines %s: %s.'; +$lang['p_choose_id'] = 'Per favor entra un usator o gruppo in le formulario hic supra pro vider o modificar le permissiones configurate pro le pagina %s.'; +$lang['p_choose_ns'] = 'Per favor entra un usator o gruppo in le formulario hic supra pro vider o modificar le permissiones configurate pro le spatio de nomines %s.'; +$lang['p_inherited'] = 'Nota ben: Iste permissiones non ha essite configurate explicitemente ma ha essite hereditate de altere gruppos o de spatios de nomines superior.'; +$lang['p_isadmin'] = 'Nota ben: Le gruppo o usator seligite ha sempre permissiones integral proque es configurate como superusator.'; +$lang['p_include'] = 'Le permissiones superior include les inferior. Le permissiones de Crear, Incargar e Deler es solmente applicabile a spatios de nomines, non a paginas.'; +$lang['current'] = 'Regulas ACL actual'; +$lang['where'] = 'Pagina/Spatio de nomines'; +$lang['who'] = 'Usator/Gruppo'; +$lang['perm'] = 'Permissiones'; +$lang['acl_perm0'] = 'Nulle'; +$lang['acl_perm1'] = 'Leger'; +$lang['acl_perm2'] = 'Modificar'; +$lang['acl_perm4'] = 'Crear'; +$lang['acl_perm8'] = 'Incargar'; +$lang['acl_perm16'] = 'Deler'; +$lang['acl_new'] = 'Adder nove entrata'; +$lang['acl_mod'] = 'Modificar entrata'; diff --git a/lib/plugins/config/lang/ia/intro.txt b/lib/plugins/config/lang/ia/intro.txt index 2d7960b87..37b970c4f 100644 --- a/lib/plugins/config/lang/ia/intro.txt +++ b/lib/plugins/config/lang/ia/intro.txt @@ -1,7 +1,7 @@ -====== Administrator de Configuration ====== +====== Gestion de configurationes ====== -Usa iste pagina pro controlar le regulationes de tu installation de DokuWiki. Pro adjuta re singule regulationes, refere te a [[doku>config]]. Pro plus detalios re iste insertion, vide [[doku>plugin:config]]. +Usa iste pagina pro controlar le configurationes de tu installation de DokuWiki. Pro adjuta re configurationes individual, refere te a [[doku>config]]. -Le regulationes monstrate sur un fundo rosa es protegite e non pote esser alterate con iste insertion. Le regulationes monstrate sur un fundo blau es le valores tacite e le regulationes monstrate sur un fundo blanc esseva definite localmente pro iste particular installation. Sia le regulationes blau que les blanc pote esser alterate. +Le configurationes monstrate super un fundo rubie clar es protegite e non pote esser alterate con iste plug-in. Le configurationes monstrate super un fundo blau es le valores predefinite e le configurationes monstrate super un fundo blanc ha essite definite localmente pro iste particular installation. Le configurationes blau e blanc pote esser alterate. -Rememora de pressar le button **SALVA** ante de lassar iste pagina, alteremente tu modificationes essera perdite. \ No newline at end of file +Rememora de premer le button **SALVEGUARDAR** ante de quitar iste pagina, alteremente tu modificationes essera perdite. \ No newline at end of file diff --git a/lib/plugins/config/lang/ia/lang.php b/lib/plugins/config/lang/ia/lang.php index 3f0ebb5d8..624b79485 100644 --- a/lib/plugins/config/lang/ia/lang.php +++ b/lib/plugins/config/lang/ia/lang.php @@ -5,3 +5,176 @@ * @author robocap * @author Martijn Dekker */ +$lang['menu'] = 'Configurationes'; +$lang['error'] = 'Le configurationes non poteva esser actualisate a causa de un valor invalide; per favor revide tu cambiamentos e resubmitte los.
Le valor(es) incorrecte essera monstrate circumferite per un bordo rubie.'; +$lang['updated'] = 'Actualisation del configurationes succedite.'; +$lang['nochoice'] = '(nulle altere option disponibile)'; +$lang['locked'] = 'Le file de configuration non pote esser actualisate; si isto non es intentional,
assecura te que le nomine e permissiones del file local de configuration es correcte.'; +$lang['danger'] = 'Periculo: Cambiar iste option pote render tu wiki e le menu de configuration inaccessibile!'; +$lang['warning'] = 'Attention: Cambiar iste option pote causar functionamento indesirate.'; +$lang['security'] = 'Advertimento de securitate: Cambiar iste option pote causar un risco de securitate.'; +$lang['_configuration_manager'] = 'Gestion de configurationes'; +$lang['_header_dokuwiki'] = 'Configurationes de DokuWiki'; +$lang['_header_plugin'] = 'Configurationes de plug-ins'; +$lang['_header_template'] = 'Configurationes de patronos'; +$lang['_header_undefined'] = 'Configurationes non definite'; +$lang['_basic'] = 'Configurationes de base'; +$lang['_display'] = 'Configurationes de visualisation'; +$lang['_authentication'] = 'Configurationes de authentication'; +$lang['_anti_spam'] = 'Configurationes anti-spam'; +$lang['_editing'] = 'Configurationes de modification'; +$lang['_links'] = 'Configurationes de ligamines'; +$lang['_media'] = 'Configurationes de multimedia'; +$lang['_advanced'] = 'Configurationes avantiate'; +$lang['_network'] = 'Configurationes de rete'; +$lang['_plugin_sufix'] = 'Configurationes de plug-ins'; +$lang['_template_sufix'] = 'Configurationes de patronos'; +$lang['_msg_setting_undefined'] = 'Nulle metadatos de configuration.'; +$lang['_msg_setting_no_class'] = 'Nulle classe de configuration.'; +$lang['_msg_setting_no_default'] = 'Nulle valor predefinite.'; +$lang['fmode'] = 'Permissiones al creation de files'; +$lang['dmode'] = 'Permissiones al creation de directorios'; +$lang['lang'] = 'Lingua del interfacie'; +$lang['basedir'] = 'Cammino al servitor (p.ex.. /dokuwiki/). Lassa vacue pro autodetection.'; +$lang['baseurl'] = 'URL del servitor (p.ex. http://www.yourserver.com). Lassa vacue pro autodetection.'; +$lang['savedir'] = 'Directorio pro salveguardar datos'; +$lang['start'] = 'Nomine del pagina initial'; +$lang['title'] = 'Titulo del wiki'; +$lang['template'] = 'Patrono'; +$lang['license'] = 'Sub qual licentia debe tu contento esser publicate?'; +$lang['fullpath'] = 'Revelar le cammino complete del paginas in le pede'; +$lang['recent'] = 'Modificationes recente'; +$lang['breadcrumbs'] = 'Numero de micas de pan'; +$lang['youarehere'] = 'Micas de pan hierarchic'; +$lang['typography'] = 'Face substitutiones typographic'; +$lang['htmlok'] = 'Permitter incorporation de HTML'; +$lang['phpok'] = 'Permitter incorporation de PHP'; +$lang['dformat'] = 'Formato del datas (vide le function strftime de PHP)'; +$lang['signature'] = 'Signatura'; +$lang['toptoclevel'] = 'Nivello principal pro tabula de contento'; +$lang['tocminheads'] = 'Numero minimal de titulos requirite pro inserer tabula de contento'; +$lang['maxtoclevel'] = 'Nivello maximal pro tabula de contento'; +$lang['maxseclevel'] = 'Nivello maximal pro modification de sectiones'; +$lang['camelcase'] = 'Usar CamelCase pro ligamines'; +$lang['deaccent'] = 'Nomines nette de paginas'; +$lang['useheading'] = 'Usar le prime titulo como nomine de pagina'; +$lang['refcheck'] = 'Verification de referentias multimedia'; +$lang['refshow'] = 'Numero de referentias multimedia a monstrar'; +$lang['allowdebug'] = 'Permitter debugging disactiva si non necessari!'; +$lang['usewordblock'] = 'Blocar spam a base de lista de parolas'; +$lang['indexdelay'] = 'Retardo ante generation de indice (secundas)'; +$lang['relnofollow'] = 'Usar rel="nofollow" pro ligamines externe'; +$lang['mailguard'] = 'Offuscar adresses de e-mail'; +$lang['iexssprotect'] = 'Verificar files incargate pro codice HTML o JavaScript possibilemente malitiose'; +$lang['showuseras'] = 'Como monstrar le usator que faceva le ultime modification de un pagina'; +$lang['useacl'] = 'Usar listas de controlo de accesso'; +$lang['autopasswd'] = 'Automaticamente generar contrasignos'; +$lang['authtype'] = 'Servicio de authentication'; +$lang['passcrypt'] = 'Methodo de cryptographia de contrasignos'; +$lang['defaultgroup'] = 'Gruppo predefinite'; +$lang['superuser'] = 'Superusator: le gruppo, usator o lista separate per commas ("usator1,@gruppo1,usator2") con accesso integral a tote le paginas e functiones sin reguardo del ACL'; +$lang['manager'] = 'Administrator: le gruppo, usator o lista separate per commas ("usator1,@gruppo1,usator2") con accesso a certe functiones administrative'; +$lang['profileconfirm'] = 'Confirmar modificationes del profilo con contrasigno'; +$lang['disableactions'] = 'Disactivar actiones DokuWiki'; +$lang['disableactions_check'] = 'Verificar'; +$lang['disableactions_subscription'] = 'Subscriber/Cancellar subscription'; +$lang['disableactions_wikicode'] = 'Vider codice-fonte/Exportar texto crude'; +$lang['disableactions_other'] = 'Altere actiones (separate per commas)'; +$lang['sneaky_index'] = 'Normalmente, DokuWiki monstra tote le spatios de nomines in le vista del indice. Si iste option es active, illos ubi le usator non ha le permission de lectura essera celate. Isto pote resultar in le celamento de subspatios de nomines accessibile. Isto pote render le indice inusabile con certe configurationes de ACL.'; +$lang['auth_security_timeout'] = 'Expiration pro securitate de authentication (secundas)'; +$lang['securecookie'] = 'Debe le cookies definite via HTTPS solmente esser inviate via HTTPS per le navigator? Disactiva iste option si solmente le apertura de sessiones a tu wiki es protegite con SSL ma le navigation del wiki es facite sin securitate.'; +$lang['xmlrpc'] = 'Activar/disactivar interfacie XML-RPC.'; +$lang['xmlrpcuser'] = 'Limitar le accesso a XML-RPC al gruppos o usatores date hic, separate per commas. Lassa isto vacue pro dar accesso a omnes.'; +$lang['updatecheck'] = 'Verificar si existe actualisationes e advertimentos de securitate? DokuWiki debe contactar splitbrain.org pro exequer iste function.'; +$lang['userewrite'] = 'Usar URLs nette'; +$lang['useslash'] = 'Usar le barra oblique ("/") como separator de spatios de nomines in URLs'; +$lang['usedraft'] = 'Automaticamente salveguardar un version provisori durante le modification'; +$lang['sepchar'] = 'Separator de parolas in nomines de paginas'; +$lang['canonical'] = 'Usar URLs completemente canonic'; +$lang['autoplural'] = 'Verificar si il ha formas plural in ligamines'; +$lang['compression'] = 'Methodo de compression pro files a mansarda'; +$lang['cachetime'] = 'Etate maximal pro le cache (secundas)'; +$lang['locktime'] = 'Etate maximal pro le files de serratura (secundas)'; +$lang['fetchsize'] = 'Numero maximal de bytes per file que fetch.php pote discargar de sitos externe'; +$lang['notify'] = 'Inviar notificationes de cambios a iste adresse de e-mail'; +$lang['registernotify'] = 'Inviar informationes super usatores novemente registrate a iste adresse de e-mail'; +$lang['mailfrom'] = 'Adresse de e-mail a usar pro messages automatic'; +$lang['gzip_output'] = 'Usar Content-Encoding gzip pro xhtml'; +$lang['gdlib'] = 'Version de GD Lib'; +$lang['im_convert'] = 'Cammino al programma "convert" de ImageMagick'; +$lang['jpg_quality'] = 'Qualitate del compression JPEG (0-100)'; +$lang['subscribers'] = 'Activar le possibilitate de subscriber se al paginas'; +$lang['subscribe_time'] = 'Tempore post le qual le listas de subscription e le digestos es inviate (in secundas); isto debe esser minor que le tempore specificate in recent_days.'; +$lang['compress'] = 'Compactar le output CSS e JavaScript'; +$lang['hidepages'] = 'Celar paginas correspondente (expressiones regular)'; +$lang['send404'] = 'Inviar "HTTP 404/Pagina non trovate" pro paginas non existente'; +$lang['sitemap'] = 'Generar mappa de sito Google (dies)'; +$lang['broken_iua'] = 'Es le function ignore_user_abort defectuose in tu systema? Isto pote resultar in un indice de recerca que non functiona. Vide Bug 852 pro plus info.'; +$lang['xsendfile'] = 'Usar le capite X-Sendfile pro lassar le servitor web livrar files static? Tu navigator del web debe supportar isto.'; +$lang['renderer_xhtml'] = 'Renditor a usar pro le output wiki principal (xhtml)'; +$lang['renderer__core'] = '%s (nucleo dokuwiki)'; +$lang['renderer__plugin'] = '%s (plug-in)'; +$lang['rememberme'] = 'Permitter cookies de session permanente (memorar me)'; +$lang['rss_type'] = 'Typo de syndication XML'; +$lang['rss_linkto'] = 'Syndication XML liga verso'; +$lang['rss_content'] = 'Que monstrar in le entratas de syndication XML?'; +$lang['rss_update'] = 'Intervallo de actualisation pro syndicationes XML (secundas)'; +$lang['recent_days'] = 'Retener quante modificationes recente? (dies)'; +$lang['rss_show_summary'] = 'Monstrar summario in titulo de syndication XML'; +$lang['target____wiki'] = 'Fenestra de destination pro ligamines interne'; +$lang['target____interwiki'] = 'Fenestra de destination pro ligamines interwiki'; +$lang['target____extern'] = 'Fenestra de destination pro ligamines externe'; +$lang['target____media'] = 'Fenestra de destination pro ligamines multimedia'; +$lang['target____windows'] = 'Fenestra de destination pro ligamines a fenestras'; +$lang['proxy____host'] = 'Nomine de servitor proxy'; +$lang['proxy____port'] = 'Porto del proxy'; +$lang['proxy____user'] = 'Nomine de usator pro le proxy'; +$lang['proxy____pass'] = 'Contrasigno pro le proxy'; +$lang['proxy____ssl'] = 'Usar SSL pro connecter al proxy'; +$lang['safemodehack'] = 'Permitter truco de modo secur'; +$lang['ftp____host'] = 'Servitor FTP pro truco de modo secur'; +$lang['ftp____port'] = 'Porto FTP pro truco de modo secur'; +$lang['ftp____user'] = 'Nomine de usator FTP pro truco de modo secur'; +$lang['ftp____pass'] = 'Contrasigno FTP pro truco de modo secur'; +$lang['ftp____root'] = 'Directorio radice FTP pro truco de modo securr'; +$lang['license_o_'] = 'Nihil seligite'; +$lang['typography_o_0'] = 'nulle'; +$lang['typography_o_1'] = 'excludente '; +$lang['typography_o_2'] = 'includente virgulettas singule (pote non sempre functionar)'; +$lang['userewrite_o_0'] = 'nulle'; +$lang['userewrite_o_1'] = '.htaccess'; +$lang['userewrite_o_2'] = 'interne a DokuWIki'; +$lang['deaccent_o_0'] = 'disactivate'; +$lang['deaccent_o_1'] = 'remover accentos'; +$lang['deaccent_o_2'] = 'romanisar'; +$lang['gdlib_o_0'] = 'GD Lib non disponibile'; +$lang['gdlib_o_1'] = 'Version 1.x'; +$lang['gdlib_o_2'] = 'Autodetection'; +$lang['rss_type_o_rss'] = 'RSS 0.91'; +$lang['rss_type_o_rss1'] = 'RSS 1.0'; +$lang['rss_type_o_rss2'] = 'RSS 2.0'; +$lang['rss_type_o_atom'] = 'Atom 0.3'; +$lang['rss_type_o_atom1'] = 'Atom 1.0'; +$lang['rss_content_o_abstract'] = 'Abstracte'; +$lang['rss_content_o_diff'] = 'In formato Unified Diff'; +$lang['rss_content_o_htmldiff'] = 'Tabella de diff in formato HTML'; +$lang['rss_content_o_html'] = 'Contento complete del pagina in HTML'; +$lang['rss_linkto_o_diff'] = 'vista de differentias'; +$lang['rss_linkto_o_page'] = 'le pagina revidite'; +$lang['rss_linkto_o_rev'] = 'lista de versiones'; +$lang['rss_linkto_o_current'] = 'le pagina actual'; +$lang['compression_o_0'] = 'nulle'; +$lang['compression_o_gz'] = 'gzip'; +$lang['compression_o_bz2'] = 'bz2'; +$lang['xsendfile_o_0'] = 'non usar'; +$lang['xsendfile_o_1'] = 'Capite proprietari "lighttpd" (ante version 1.5)'; +$lang['xsendfile_o_2'] = 'Capite standard "X-Sendfile"'; +$lang['xsendfile_o_3'] = 'Capite proprietari "X-Accel-Redirect" de Nginx'; +$lang['showuseras_o_loginname'] = 'Nomine de usator'; +$lang['showuseras_o_username'] = 'Nomine real del usator'; +$lang['showuseras_o_email'] = 'Adresse de e-mail del usator (offuscate secundo le configuration de Mailguard)'; +$lang['showuseras_o_email_link'] = 'Adresse de e-mail del usator como ligamine "mailto:"'; +$lang['useheading_o_0'] = 'Nunquam'; +$lang['useheading_o_navigation'] = 'Navigation solmente'; +$lang['useheading_o_content'] = 'Contento wiki solmente'; +$lang['useheading_o_1'] = 'Sempre'; diff --git a/lib/plugins/plugin/lang/ia/admin_plugin.txt b/lib/plugins/plugin/lang/ia/admin_plugin.txt new file mode 100644 index 000000000..c7f758c16 --- /dev/null +++ b/lib/plugins/plugin/lang/ia/admin_plugin.txt @@ -0,0 +1,3 @@ +====== Gestion de plug-ins ====== + +In iste pagina tu pote gerer omne cosas con relation al [[doku>plugins|plug-ins]] de DokuWiki. Pro poter discargar e installar un plug-in, le directorio de plug-ins debe permitter le accesso de scriptura al servitor web. \ No newline at end of file diff --git a/lib/plugins/plugin/lang/ia/lang.php b/lib/plugins/plugin/lang/ia/lang.php index 3f0ebb5d8..523f8581d 100644 --- a/lib/plugins/plugin/lang/ia/lang.php +++ b/lib/plugins/plugin/lang/ia/lang.php @@ -5,3 +5,47 @@ * @author robocap * @author Martijn Dekker */ +$lang['menu'] = 'Gestion de plug-ins'; +$lang['download'] = 'Discargar e installar un nove plug-in'; +$lang['manage'] = 'Plug-ins installate'; +$lang['btn_info'] = 'info'; +$lang['btn_update'] = 'actualisar'; +$lang['btn_delete'] = 'deler'; +$lang['btn_settings'] = 'configurationes'; +$lang['btn_download'] = 'Discargar'; +$lang['btn_enable'] = 'Salveguardar'; +$lang['url'] = 'URL'; +$lang['installed'] = 'Installate:'; +$lang['lastupdate'] = 'Ultime actualisation:'; +$lang['source'] = 'Origine:'; +$lang['unknown'] = 'incognite'; +$lang['updating'] = 'Actualisation…'; +$lang['updated'] = 'Actualisation del plug-in %s succedite'; +$lang['updates'] = 'Le sequente plug-ins ha essite actualisate con successo'; +$lang['update_none'] = 'Nulle actualisation trovate.'; +$lang['deleting'] = 'Deletion…'; +$lang['deleted'] = 'Le plug-in %s ha essite delite.'; +$lang['downloading'] = 'Discargamento…'; +$lang['downloaded'] = 'Installation del plug-in %s succedite.'; +$lang['downloads'] = 'Le sequente plug-ins ha essite installate con successo:'; +$lang['download_none'] = 'Nulle plug-in trovate, o il ha occurrite un problema incognite durante le discargamento e installation.'; +$lang['plugin'] = 'Plug-in:'; +$lang['components'] = 'Componentes'; +$lang['noinfo'] = 'Iste plug-in retornava nulle information; illo pote esser invalide.'; +$lang['name'] = 'Nomine:'; +$lang['date'] = 'Data:'; +$lang['type'] = 'Typo:'; +$lang['desc'] = 'Description:'; +$lang['author'] = 'Autor:'; +$lang['www'] = 'Web:'; +$lang['error'] = 'Un error incognite ha occurrite.'; +$lang['error_download'] = 'Impossibile discargar le file del plug-in: %s'; +$lang['error_badurl'] = 'URL probabilemente invalide; impossibile determinar le nomine del file ex le URL'; +$lang['error_dircreate'] = 'Impossibile crear le dossier temporari pro reciper le discargamento'; +$lang['error_decompress'] = 'Le gestor de plug-ins non poteva decomprimer le file discargate. Isto pote esser le resultato de un discargamento defectuose, in le qual caso tu deberea probar lo de novo; o le formato de compression pote esser incognite, in le qual caso tu debe discargar e installar le plug-in manualmente.'; +$lang['error_copy'] = 'Il occurreva un error durante le tentativa de installar files pro le plugin %s: le disco pote esser plen o le permissiones de accesso a files pote esser incorrecte. Isto pote haber resultate in un plug-in partialmente installate e lassar tu installation del wiki instabile.'; +$lang['error_delete'] = 'Il occurreva un error durante le tentativa de deler le plug-in %s. Le causa le plus probabile es insufficiente permissiones de files o directorios.'; +$lang['enabled'] = 'Plug-in %s activate.'; +$lang['notenabled'] = 'Le plug-in %s non poteva esser activate; verifica le permissiones de accesso a files.'; +$lang['disabled'] = 'Plug-in %s disactivate.'; +$lang['notdisabled'] = 'Le plug-in %s non poteva esser disactivate; verifica le permissiones de accesso a files.'; diff --git a/lib/plugins/popularity/lang/ia/intro.txt b/lib/plugins/popularity/lang/ia/intro.txt new file mode 100644 index 000000000..d31c3653f --- /dev/null +++ b/lib/plugins/popularity/lang/ia/intro.txt @@ -0,0 +1,9 @@ +====== Datos de popularitate ====== + +Iste instrumento collige datos anonyme super tu wiki e te permitte inviar los retro al disveloppatores de DokuWiki. Isto les adjuta de comprender como DokuWiki es usate per su usatores e assecura que le decisiones super le disveloppamento futur si basate super statisticas de uso ex le mundo real. + +Tu es incoragiate a repeter iste procedura de tempore a tempore pro continuar a informar le disveloppatores quando tu wiki cresce. Tu collectiones repetite de datos essera identificate per un ID anonyme. + +Le datos colligite contine informationes como tu version de DokuWiki, le numero e dimension de tu paginas e files, plug-ins installate e information super tu installation de PHP. + +Le datos crude que essera inviate es monstrate hic infra. Per favor usa le button "Inviar datos" pro transferer le informationes. \ No newline at end of file diff --git a/lib/plugins/popularity/lang/ia/lang.php b/lib/plugins/popularity/lang/ia/lang.php index 3f0ebb5d8..4a45f04f3 100644 --- a/lib/plugins/popularity/lang/ia/lang.php +++ b/lib/plugins/popularity/lang/ia/lang.php @@ -5,3 +5,5 @@ * @author robocap * @author Martijn Dekker */ +$lang['name'] = 'Datos de popularitate (pote prender alcun tempore pro cargar)'; +$lang['submit'] = 'Inviar datos'; diff --git a/lib/plugins/revert/lang/ia/intro.txt b/lib/plugins/revert/lang/ia/intro.txt new file mode 100644 index 000000000..ae548e9df --- /dev/null +++ b/lib/plugins/revert/lang/ia/intro.txt @@ -0,0 +1,3 @@ +====== Gestion de reversiones ====== + +Iste pagina te adjuta con le reversion automatic de un attacco de spam. Pro cercar un lista de paginas spammose, primo entra un texto a cercar (p.ex. un URL de spam), postea confirma que le paginas trovate es realmente spam e reverte le modificationes. \ No newline at end of file diff --git a/lib/plugins/revert/lang/ia/lang.php b/lib/plugins/revert/lang/ia/lang.php index 3f0ebb5d8..bec2eca7b 100644 --- a/lib/plugins/revert/lang/ia/lang.php +++ b/lib/plugins/revert/lang/ia/lang.php @@ -5,3 +5,12 @@ * @author robocap * @author Martijn Dekker */ +$lang['menu'] = 'Gestion de reversiones'; +$lang['filter'] = 'Cercar paginas spammose'; +$lang['revert'] = 'Reverter le paginas seligite'; +$lang['reverted'] = '%s revertite al version %s'; +$lang['removed'] = '%s removite'; +$lang['revstart'] = 'Le processo de reversion ha comenciate. Isto pote durar multo. Si le script expira ante de finir, tu debe divider le reversiones in blocos minor.'; +$lang['revstop'] = 'Le processo de reversion ha succedite.'; +$lang['note1'] = 'Nota: iste recerca distingue inter majusculas e minusculas.'; +$lang['note2'] = 'Nota: le pagina essera revertite al ultime version que non contine le termino de spam specificate, %s.'; diff --git a/lib/plugins/usermanager/lang/ia/add.txt b/lib/plugins/usermanager/lang/ia/add.txt new file mode 100644 index 000000000..4695834f4 --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/add.txt @@ -0,0 +1 @@ +===== Adder usator ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ia/delete.txt b/lib/plugins/usermanager/lang/ia/delete.txt new file mode 100644 index 000000000..db1b4c077 --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/delete.txt @@ -0,0 +1 @@ +===== Deler usator ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ia/edit.txt b/lib/plugins/usermanager/lang/ia/edit.txt new file mode 100644 index 000000000..2fcf02378 --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/edit.txt @@ -0,0 +1 @@ +===== Modificar usator ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ia/intro.txt b/lib/plugins/usermanager/lang/ia/intro.txt new file mode 100644 index 000000000..f4fafcb9b --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/intro.txt @@ -0,0 +1 @@ +====== Gestion de usatores ====== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ia/lang.php b/lib/plugins/usermanager/lang/ia/lang.php index 3f0ebb5d8..a8b8f45c0 100644 --- a/lib/plugins/usermanager/lang/ia/lang.php +++ b/lib/plugins/usermanager/lang/ia/lang.php @@ -5,3 +5,45 @@ * @author robocap * @author Martijn Dekker */ +$lang['menu'] = 'Gestion de usatores'; +$lang['noauth'] = '(authentication de usatores non disponibile)'; +$lang['nosupport'] = '(gestion de usatores non supportate)'; +$lang['badauth'] = 'mechanismo de authentication invalide'; +$lang['user_id'] = 'Usator'; +$lang['user_pass'] = 'Contrasigno'; +$lang['user_name'] = 'Nomine real'; +$lang['user_mail'] = 'E-mail'; +$lang['user_groups'] = 'Gruppos'; +$lang['field'] = 'Campo'; +$lang['value'] = 'Valor'; +$lang['add'] = 'Adder'; +$lang['delete'] = 'Deler'; +$lang['delete_selected'] = 'Deler seligite'; +$lang['edit'] = 'Modificar'; +$lang['edit_prompt'] = 'Modificar iste usator'; +$lang['modify'] = 'Salveguardar cambios'; +$lang['search'] = 'Cercar'; +$lang['search_prompt'] = 'Executar recerca'; +$lang['clear'] = 'Reinitialisar filtro de recerca'; +$lang['filter'] = 'Filtro'; +$lang['summary'] = 'Presentation del usatores %1$d-%2$d de %3$d trovate. %4$d usatores in total.'; +$lang['nonefound'] = 'Nulle usator trovate. %d usatores in total.'; +$lang['delete_ok'] = '%d usatores delite'; +$lang['delete_fail'] = 'Deletion de %d usatores fallite.'; +$lang['update_ok'] = 'Actualisation del usator succedite'; +$lang['update_fail'] = 'Actualisation del usator fallite'; +$lang['update_exists'] = 'Le modification del nomine del usator ha fallite; le usator specificate (%s) ja existe. (Omne altere modificationes essera applicate.) +'; +$lang['start'] = 'initio'; +$lang['prev'] = 'precedente'; +$lang['next'] = 'sequente'; +$lang['last'] = 'fin'; +$lang['edit_usermissing'] = 'Le usator seligite non ha essite trovate. Es possibile que le nomine de usator specificate ha essite delite o cambiate alterubi.'; +$lang['user_notify'] = 'Notificar usator'; +$lang['note_notify'] = 'Le messages de notification es solmente inviate un nove contrasigno es date al usator.'; +$lang['note_group'] = 'Nove usatores essera addite al gruppo predefinite (%s) si nulle gruppo es specificate.'; +$lang['note_pass'] = 'Le contrasigno essera automaticamente generate si le campo es lassate vacue e le notification del usator es activate.'; +$lang['add_ok'] = 'Addition del usator succedite'; +$lang['add_fail'] = 'Addition del usator fallite'; +$lang['notify_ok'] = 'Message de notification inviate'; +$lang['notify_fail'] = 'Le message de notification non poteva esser inviate'; diff --git a/lib/plugins/usermanager/lang/ia/list.txt b/lib/plugins/usermanager/lang/ia/list.txt new file mode 100644 index 000000000..f545f06df --- /dev/null +++ b/lib/plugins/usermanager/lang/ia/list.txt @@ -0,0 +1 @@ +===== Lista de usatores ===== \ No newline at end of file -- cgit v1.2.3 From b04e9c2821040ceefeaf1953e47b5871f87a66a9 Mon Sep 17 00:00:00 2001 From: Leszek Stachowski Date: Sun, 14 Feb 2010 12:59:28 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 2 +- inc/lang/pl/subscr_digest.txt | 21 +++++++++++++++++++++ inc/lang/pl/subscr_form.txt | 3 +++ inc/lang/pl/subscr_list.txt | 18 ++++++++++++++++++ inc/lang/pl/subscr_single.txt | 24 ++++++++++++++++++++++++ lib/plugins/acl/lang/pl/lang.php | 1 + lib/plugins/config/lang/pl/lang.php | 1 + lib/plugins/plugin/lang/pl/lang.php | 1 + lib/plugins/popularity/lang/pl/lang.php | 1 + lib/plugins/revert/lang/pl/lang.php | 1 + lib/plugins/usermanager/lang/pl/lang.php | 1 + 11 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 inc/lang/pl/subscr_digest.txt create mode 100644 inc/lang/pl/subscr_form.txt create mode 100644 inc/lang/pl/subscr_list.txt create mode 100644 inc/lang/pl/subscr_single.txt diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 37113fded..408093a59 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -148,7 +149,6 @@ $lang['external_edit'] = 'edycja zewnętrzna'; $lang['summary'] = 'Opis zmian'; $lang['noflash'] = 'Plugin Adobe Flash Plugin jest niezbędny do obejrzenia tej zawartości.'; $lang['download'] = 'Pobierz zrzut'; -$lang['table_edit_title'] = 'Tabela'; $lang['mail_newpage'] = 'Strona dodana:'; $lang['mail_changed'] = 'Strona zmieniona:'; $lang['mail_subscribe_list'] = 'Zmienione strony w katalogu:'; diff --git a/inc/lang/pl/subscr_digest.txt b/inc/lang/pl/subscr_digest.txt new file mode 100644 index 000000000..2b1f63c1b --- /dev/null +++ b/inc/lang/pl/subscr_digest.txt @@ -0,0 +1,21 @@ +Witaj! + +Treść strony @PAGE@ na wiki @TITLE@ uległa +następującym zmianom: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Stara wersja: @OLDPAGE@ +Nowa wersja: @NEWPAGE@ + +Aby zrezygnować z powiadomień o zmianach zaloguj się do wiki na +@DOKUWIKIURL@, a następnie odwiedź +@SUBSCRIBE@ +i anuluj otrzymywanie powiadomień o zmianach na stronach i/lub +katalogach. + +-- +Ta wiadomość została wygenerowana przez DokuWiki na +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/pl/subscr_form.txt b/inc/lang/pl/subscr_form.txt new file mode 100644 index 000000000..59fdbdb89 --- /dev/null +++ b/inc/lang/pl/subscr_form.txt @@ -0,0 +1,3 @@ +====== Zarządzanie Subskrypcją ====== + +Ta strona pozwala Tobie na zarządzanie Twoimi subskrypcjami dla obecnej strony i katalogu. \ No newline at end of file diff --git a/inc/lang/pl/subscr_list.txt b/inc/lang/pl/subscr_list.txt new file mode 100644 index 000000000..9a74d757b --- /dev/null +++ b/inc/lang/pl/subscr_list.txt @@ -0,0 +1,18 @@ +Witaj! + +Strony w katalogu @PAGE@ na wiki @TITLE@ uległy +następującym zmianom: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Aby zrezygnować z powiadomień o zmianach zaloguj się do wiki na +@DOKUWIKIURL@, a następnie odwiedź +@SUBSCRIBE@ +i anuluj otrzymywanie powiadomień o zmianach na stronach i/lub +katalogach. + +-- +Ta wiadomość została wygenerowana przez DokuWiki na +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/pl/subscr_single.txt b/inc/lang/pl/subscr_single.txt new file mode 100644 index 000000000..3f4bc7314 --- /dev/null +++ b/inc/lang/pl/subscr_single.txt @@ -0,0 +1,24 @@ +Witaj! + +Treść strony @PAGE@ na wiki @TITLE@ uległa +następującym zmianom: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Data: @DATE@ +Użytkownik: @USER@ +Podsumowanie zmian: @SUMMARY@ +Stara wersja: @OLDPAGE@ +Nowa wersja: @NEWPAGE@ + +Aby zrezygnować z powiadomień o zmianach zaloguj się do wiki na +@DOKUWIKIURL@, a następnie odwiedź +@SUBSCRIBE@ +i anuluj otrzymywanie powiadomień o zmianach na stronach i/lub +katalogach. + +-- +Ta wiadomość została wygenerowana przez DokuWiki na +@DOKUWIKIURL@ \ No newline at end of file diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 4105bb448..0f88fe477 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; $lang['acl_group'] = 'Grupa'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index 7eb8a44f3..b722f7b4d 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author Sławomir Boczek * @author Piotr JANKOWSKI * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostały zapisane z powodu błędnych wartości, przejrzyj je i ponów próbę zapisu.
Niepoprawne wartości są wyróżnione kolorem czerwonym.'; diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php index 1c1fcc4e3..b5f813f03 100644 --- a/lib/plugins/plugin/lang/pl/lang.php +++ b/lib/plugins/plugin/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['menu'] = 'Menadżer wtyczek'; $lang['download'] = 'Ściągnij i zainstaluj nową wtyczkę'; diff --git a/lib/plugins/popularity/lang/pl/lang.php b/lib/plugins/popularity/lang/pl/lang.php index b64dc07da..02a1f21b6 100644 --- a/lib/plugins/popularity/lang/pl/lang.php +++ b/lib/plugins/popularity/lang/pl/lang.php @@ -7,6 +7,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['name'] = 'Informacja o popularności (ładowanie może zająć dłuższą chwilę)'; $lang['submit'] = 'Wyślij dane'; diff --git a/lib/plugins/revert/lang/pl/lang.php b/lib/plugins/revert/lang/pl/lang.php index 845a18211..437daf3d7 100644 --- a/lib/plugins/revert/lang/pl/lang.php +++ b/lib/plugins/revert/lang/pl/lang.php @@ -6,6 +6,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['menu'] = 'Menadżer przywracania'; $lang['filter'] = 'Wyszukaj uszkodzone strony'; diff --git a/lib/plugins/usermanager/lang/pl/lang.php b/lib/plugins/usermanager/lang/pl/lang.php index 6a0eca809..56add77f4 100644 --- a/lib/plugins/usermanager/lang/pl/lang.php +++ b/lib/plugins/usermanager/lang/pl/lang.php @@ -7,6 +7,7 @@ * @author Maciej Kurczewski * @author Sławomir Boczek * @author sleshek@wp.pl + * @author Leszek Stachowski */ $lang['menu'] = 'Menadżer użytkowników'; $lang['noauth'] = '(uwierzytelnienie użytkownika niemożliwe)'; -- cgit v1.2.3 From 81276e748703f47e583c7ad0d7ca0c0dcba3e12d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 14 Feb 2010 20:10:37 +0100 Subject: Fixed license URL FS#1883 --- conf/license.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/license.php b/conf/license.php index 9a753baa7..af8c77f79 100644 --- a/conf/license.php +++ b/conf/license.php @@ -23,7 +23,7 @@ $license['cc-by-nc-sa'] = array( ); $license['cc-by-nd'] = array( 'name' => 'CC Attribution-No Derivative Works 3.0 Unported', - 'url' => 'cc-by-nd', + 'url' => 'http://creativecommons.org/licenses/by-nd/3.0/', ); $license['cc-by-sa'] = array( 'name' => 'CC Attribution-Share Alike 3.0 Unported', -- cgit v1.2.3 From 01eab857bc060f72f5a8355cecd5affce6f70a31 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 14 Feb 2010 20:26:02 +0100 Subject: added new mime types and file icons FS#1888 --- conf/mime.conf | 20 ++++++++++++++++---- lib/images/fileicons/7z.png | Bin 0 -> 651 bytes lib/images/fileicons/audio.png | Bin 0 -> 727 bytes lib/images/fileicons/csv.png | Bin 0 -> 480 bytes lib/images/fileicons/docx.png | Bin 0 -> 659 bytes lib/images/fileicons/mp3.png | Bin 0 -> 885 bytes lib/images/fileicons/ogg.png | Bin 0 -> 865 bytes lib/images/fileicons/pptx.png | Bin 0 -> 762 bytes lib/images/fileicons/sql.png | Bin 0 -> 865 bytes lib/images/fileicons/wav.png | Bin 0 -> 881 bytes lib/images/fileicons/xlsx.png | Bin 0 -> 731 bytes 11 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 lib/images/fileicons/7z.png create mode 100644 lib/images/fileicons/audio.png create mode 100644 lib/images/fileicons/csv.png create mode 100644 lib/images/fileicons/docx.png create mode 100644 lib/images/fileicons/mp3.png create mode 100644 lib/images/fileicons/ogg.png create mode 100644 lib/images/fileicons/pptx.png create mode 100644 lib/images/fileicons/sql.png create mode 100644 lib/images/fileicons/wav.png create mode 100644 lib/images/fileicons/xlsx.png diff --git a/conf/mime.conf b/conf/mime.conf index 2e1ce6bb0..24529b06c 100644 --- a/conf/mime.conf +++ b/conf/mime.conf @@ -7,22 +7,34 @@ jpg image/jpeg jpeg image/jpeg gif image/gif png image/png + +swf application/x-shockwave-flash +mp3 audio/mpeg +ogg audio/ogg +wav audio/wav + tgz !application/octet-stream tar !application/x-gtar gz !application/octet-stream bz2 !application/octet-stream zip !application/zip rar !application/rar +7z !application/x-7z-compressed + pdf application/pdf ps !application/postscript + +rpm !application/octet-stream +deb !application/octet-stream + doc !application/msword xls !application/msexcel ppt !application/mspowerpoint rtf !application/msword -swf application/x-shockwave-flash -rpm !application/octet-stream -deb !application/octet-stream +docx !application/vnd.openxmlformats-officedocument.wordprocessingml.document +xlsx !application/vnd.openxmlformats-officedocument.spreadsheetml.sheet +pptx !application/vnd.openxmlformats-officedocument.presentationml.presentation sxw !application/soffice sxc !application/soffice @@ -48,5 +60,5 @@ odt !application/vnd.oasis.opendocument.text #txt text/plain #conf text/plain #xml text/xml - +#csv text/csv diff --git a/lib/images/fileicons/7z.png b/lib/images/fileicons/7z.png new file mode 100644 index 000000000..52f7d5d72 Binary files /dev/null and b/lib/images/fileicons/7z.png differ diff --git a/lib/images/fileicons/audio.png b/lib/images/fileicons/audio.png new file mode 100644 index 000000000..98883256d Binary files /dev/null and b/lib/images/fileicons/audio.png differ diff --git a/lib/images/fileicons/csv.png b/lib/images/fileicons/csv.png new file mode 100644 index 000000000..3a8835360 Binary files /dev/null and b/lib/images/fileicons/csv.png differ diff --git a/lib/images/fileicons/docx.png b/lib/images/fileicons/docx.png new file mode 100644 index 000000000..932567f8a Binary files /dev/null and b/lib/images/fileicons/docx.png differ diff --git a/lib/images/fileicons/mp3.png b/lib/images/fileicons/mp3.png new file mode 100644 index 000000000..928705d7a Binary files /dev/null and b/lib/images/fileicons/mp3.png differ diff --git a/lib/images/fileicons/ogg.png b/lib/images/fileicons/ogg.png new file mode 100644 index 000000000..62cea6aaa Binary files /dev/null and b/lib/images/fileicons/ogg.png differ diff --git a/lib/images/fileicons/pptx.png b/lib/images/fileicons/pptx.png new file mode 100644 index 000000000..adaefc602 Binary files /dev/null and b/lib/images/fileicons/pptx.png differ diff --git a/lib/images/fileicons/sql.png b/lib/images/fileicons/sql.png new file mode 100644 index 000000000..f60054a3a Binary files /dev/null and b/lib/images/fileicons/sql.png differ diff --git a/lib/images/fileicons/wav.png b/lib/images/fileicons/wav.png new file mode 100644 index 000000000..79e80760e Binary files /dev/null and b/lib/images/fileicons/wav.png differ diff --git a/lib/images/fileicons/xlsx.png b/lib/images/fileicons/xlsx.png new file mode 100644 index 000000000..e8cd58dc0 Binary files /dev/null and b/lib/images/fileicons/xlsx.png differ -- cgit v1.2.3 From 00c13053ac33ff41de9796de647da301a8abcc17 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 15 Feb 2010 11:13:05 +0100 Subject: Validate section edit data --- inc/parser/xhtml.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 3ac8ed35c..b6cc49cba 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -63,6 +63,9 @@ class Doku_Renderer_xhtml extends Doku_Renderer { */ protected function finishSectionEdit($end) { list($id, $start, $type, $title) = array_pop($this->sectionedits); + if ($end <= $start) { + return; + } $this->doc .= "'; + $this->doc .= "[$start-" . (is_null($end) ? '' : $end) . '] -->'; } function getFormat(){ @@ -92,7 +93,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { // marker. array_pop($this->sectionedits); } else { - $this->finishSectionEdit(0); + $this->finishSectionEdit(); } } -- cgit v1.2.3 From b6084253c3d06924ef5817c67d4ae983bb007f39 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 2 Mar 2010 09:27:49 +0100 Subject: Revert "Redirect to start page for the root namespace too" This reverts commit 7873e7571e67c02167e5747441a2c6be32b07267. The patch breaks at least the behaviour of the "view recent changes of the whole wiki" link. --- inc/pageutils.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/pageutils.php b/inc/pageutils.php index 33b93bd72..eb22084c1 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -60,7 +60,7 @@ function getID($param='id',$clean=true){ } // Namespace autolinking from URL - if(substr($id,-1) == ':' || ($conf['useslash'] && substr($id,-1) == '/') || $id == ''){ + if(substr($id,-1) == ':' || ($conf['useslash'] && substr($id,-1) == '/')){ if(page_exists($id.$conf['start'])){ // start page inside namespace $id = $id.$conf['start']; -- cgit v1.2.3 From 149e5f262e67264b1612d6c62a67b30341186dd8 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 18 Feb 2010 11:59:28 +0100 Subject: extended mediamanager options --- inc/lang/en/lang.php | 22 ++ lib/scripts/media.js | 572 +++++++++++++++++++++++++++++++++++++++++++++- lib/tpl/default/media.css | 93 ++++++++ 3 files changed, 682 insertions(+), 5 deletions(-) diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 98ded12ca..82e414cd3 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -129,6 +129,28 @@ $lang['mediaroot'] = 'root'; $lang['mediaupload'] = 'Upload a file to the current namespace here. To create subnamespaces, prepend them to your "Upload as" filename separated by colons.'; $lang['mediaextchange'] = 'Filextension changed from .%s to .%s!'; +$lang['js']['mediatitle'] = 'Link settings'; +$lang['js']['mediadisplay'] = 'Link type'; +$lang['js']['mediaalign'] = 'Alignment'; +$lang['js']['mediasize'] = 'Image size'; +$lang['js']['mediatarget'] = 'Link target'; +$lang['js']['mediaclose'] = 'Close'; +$lang['js']['mediainsert'] = 'Insert'; +$lang['js']['mediadisplayimg'] = 'Show the image.'; +$lang['js']['mediadisplaylnk'] = 'Show only the link.'; +$lang['js']['mediasmall'] = 'Small version'; +$lang['js']['mediamedium'] = 'Medium version'; +$lang['js']['medialarge'] = 'Large version'; +$lang['js']['mediaextralarge'] = 'Extra large version'; +$lang['js']['medialnk'] = 'Link to detail page'; +$lang['js']['mediadirect'] = 'Direct link to original'; +$lang['js']['medianolnk'] = 'No link'; +$lang['js']['medianolink'] = 'Do not link the image'; +$lang['js']['medialeft'] = 'Align the image on the left.'; +$lang['js']['mediaright'] = 'Align the image on the right.'; +$lang['js']['mediacenter'] = 'Align the image in the middle.'; +$lang['js']['medianoalign'] = 'Use no align.'; + $lang['reference'] = 'References for'; $lang['ref_inuse'] = 'The file can\'t be deleted, because it\'s still used by the following pages:'; $lang['ref_hidden'] = 'Some references are on pages you don\'t have permission to read'; diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 3e4213f19..3f0a8fb65 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -6,6 +6,13 @@ var media_manager = { keepopen: false, hide: false, + align: false, + popup: false, + id: false, + display: false, + link: false, + size: false, + ext: false, /** * Attach event handlers to all "folders" below the given element @@ -218,24 +225,466 @@ var media_manager = { }, /** - * Insert the clicked image into the opener's textarea - * - * @author Andreas Gohr + * shows the popup for a image link */ select: function(event,link){ var id = link.name.substr(2); + media_manager.id = id; if(!opener){ // if we don't run in popup display example var ex = $('ex_'+id.replace(/:/g,'_')); if(ex.style.display == ''){ ex.style.display = 'none'; - }else{ + } else { ex.style.display = ''; } return false; } - opener.insertTags('wiki__text','{{'+id+'|','}}',''); + + media_manager.ext = false; + var dot = id.lastIndexOf("."); + if (dot != -1) { + var ext = id.substr(dot,id.length); + + if (ext != '.jpg' && ext != '.jpeg' && ext != '.png' && ext != '.gif' && ext != '.swf') { + media_manager.insert(null); + return false; + } + } else { + media_manager.insert(null); + return false; + } + + media_manager.popup.style.display = 'inline'; + media_manager.popup.style.left = event.pageX + 'px'; + media_manager.popup.style.top = event.pageY + 'px'; + + // set all buttons to outset + media_manager.outSet('media__linkbtn1'); + media_manager.outSet('media__linkbtn2'); + media_manager.outSet('media__linkbtn3'); + media_manager.outSet('media__linkbtn4'); + + media_manager.outSet('media__alignbtn0'); + media_manager.outSet('media__alignbtn1'); + media_manager.outSet('media__alignbtn2'); + media_manager.outSet('media__alignbtn3'); + + media_manager.outSet('media__sizebtn1'); + media_manager.outSet('media__sizebtn2'); + media_manager.outSet('media__sizebtn3'); + media_manager.outSet('media__sizebtn4'); + + + if (ext == '.swf') { + media_manager.ext = 'swf'; + + // disable display buttons for detail and linked image + $('media__linkbtn1').style.display = 'none'; + $('media__linkbtn2').style.display = 'none'; + + // set the link button to default + if (media_manager.link != false) { + if ( media_manager.link == '2' || media_manager.link == '1') { + media_manager.inSet('media__linkbtn3'); + media_manager.link = '3'; + DokuCookie.setValue('link','3'); + } else { + media_manager.inSet('media__linkbtn'+media_manager.link); + } + } else if (DokuCookie.getValue('link')) { + if ( DokuCookie.getValue('link') == '2' || DokuCookie.getValue('link') == '1') { + // this options are not availible + media_manager.inSet('media__linkbtn3'); + media_manager.link = '3'; + DokuCookie.setValue('link','3'); + } else { + media_manager.inSet('media__linkbtn'+DokuCookie.getValue('link')); + media_manager.link = DokuCookie.getValue('link'); + } + } else { + // default case + media_manager.link = '3'; + media_manager.inSet('media__linkbtn3'); + DokuCookie.setValue('link','3'); + } + + } else { + media_manager.ext = 'img'; + + // ensure that the display buttens are there + $('media__linkbtn1').style.display = 'inline'; + $('media__linkbtn2').style.display = 'inline'; + + // set the link button to default + if (media_manager.link != false) { + media_manager.inSet('media__linkbtn'+media_manager.link); + } else if (DokuCookie.getValue('link')) { + media_manager.inSet('media__linkbtn'+DokuCookie.getValue('link')); + media_manager.link = DokuCookie.getValue('link'); + } else { + // default case + media_manager.link = '1'; + media_manager.inSet('media__linkbtn1'); + DokuCookie.setValue('link','1'); + } + } + + if (media_manager.link == '4') { + media_manager.align = false; + media_manager.size = false; + $('media__align').style.display = 'none'; + $('media__size').style.display = 'none'; + } else { + $('media__align').style.display = 'block'; + $('media__size').style.display = 'block'; + + // set the align button to default + if (media_manager.align != false) { + media_manager.inSet('media__alignbtn'+media_manager.align); + } else if (DokuCookie.getValue('align')) { + media_manager.inSet('media__alignbtn'+DokuCookie.getValue('align')); + media_manager.align = DokuCookie.getValue('align'); + } else { + // default case + media_manager.align = '0'; + media_manager.inSet('media__alignbtn0'); + DokuCookie.setValue('align','0'); + } + + // set the size button to default + if (media_manager.size != false) { + media_manager.inSet('media__sizebtn'+media_manager.size); + } else if (DokuCookie.getValue('size')) { + media_manager.inSet('media__sizebtn'+DokuCookie.getValue('size')); + media_manager.size = DokuCookie.getValue('size'); + } else { + // default case + media_manager.size = '2'; + media_manager.inSet('media__sizebtn2'); + DokuCookie.setValue('size','2'); + } + + + $('media__sendbtn').focus(); + } + + return false; + }, + + /** + * build the popup window + * + * @author Dominik Eckelmann + */ + initpopup: function() { + + media_manager.popup = document.createElement('div'); + media_manager.popup.setAttribute('id','media__popup'); + + var root = document.getElementById('media__manager'); + if (root == null) return; + root.appendChild(media_manager.popup); + + var headline = document.createElement('h1'); + var headlineimg = document.createElement('img'); + var headtext = document.createElement('span'); + headlineimg.src = '/lib/images/close.png'; + headlineimg.id = 'media__closeimg'; + addEvent(headlineimg,'click',function(event){ return media_manager.closePopup(event,this); }); + headline.appendChild(headlineimg); + headtext.textContent = LANG['mediatitle']; + headline.appendChild(headtext); + media_manager.popup.appendChild(headline); + drag.attach(media_manager.popup,headline); + + // link + + var linkp = document.createElement('p'); + var linkl = document.createElement('label'); + var linkbtn1 = document.createElement('button'); + var linkbtn2 = document.createElement('button'); + var linkbtn3 = document.createElement('button'); + var linkbtn4 = document.createElement('button'); + var linkimg1 = document.createElement('img'); + var linkimg2 = document.createElement('img'); + var linkimg3 = document.createElement('img'); + var linkimg4 = document.createElement('img'); + + linkp.id = "media__linkstyle"; + if (media_manager.display == "2") { + linkp.style.display = "none"; + } + + linkp.appendChild(linkl); + linkp.appendChild(linkbtn1); + linkp.appendChild(linkbtn2); + linkp.appendChild(linkbtn3); + linkp.appendChild(linkbtn4); + + linkl.innerHTML = LANG['mediatarget']; + + linkimg1.src = '/lib/images/image_info.png'; + linkimg2.src = '/lib/images/image_link.png'; + linkimg3.src = '/lib/images/image.png'; + linkimg4.src = '/lib/images/link.png'; + + linkbtn1.setAttribute('class','button'); + linkbtn1.appendChild(linkimg1); + linkbtn1.value = '1'; + linkbtn1.id = "media__linkbtn1"; + linkbtn1.title = LANG['medialnk']; + linkbtn1.style.borderStyle = 'outset'; + addEvent(linkbtn1,'click',function(event){ return media_manager.setlink(event,this); }); + + linkbtn2.setAttribute('class','button'); + linkbtn2.appendChild(linkimg2); + linkbtn2.value = '2'; + linkbtn2.id = "media__linkbtn2"; + linkbtn2.title = LANG['mediadirect']; + linkbtn2.style.borderStyle = 'outset'; + addEvent(linkbtn2,'click',function(event){ return media_manager.setlink(event,this); }); + + linkbtn3.setAttribute('class','button'); + linkbtn3.appendChild(linkimg3); + linkbtn3.value = '3'; + linkbtn3.id = "media__linkbtn3"; + linkbtn3.title = LANG['medianolnk']; + linkbtn3.style.borderStyle = 'outset'; + addEvent(linkbtn3,'click',function(event){ return media_manager.setlink(event,this); }); + + linkbtn4.setAttribute('class','button'); + linkbtn4.appendChild(linkimg4); + linkbtn4.value = '4'; + linkbtn4.id = "media__linkbtn4"; + linkbtn4.title = LANG['mediadisplaylnk']; + linkbtn4.style.borderStyle = 'outset'; + addEvent(linkbtn4,'click',function(event){ return media_manager.setlink(event,this); }); + + media_manager.popup.appendChild(linkp); + + // align + + var alignp = document.createElement('p'); + var alignl = document.createElement('label'); + var alignbtn0 = document.createElement('button'); + var alignbtn1 = document.createElement('button'); + var alignbtn2 = document.createElement('button'); + var alignbtn3 = document.createElement('button'); + var alignimg0 = document.createElement('img'); + var alignimg1 = document.createElement('img'); + var alignimg2 = document.createElement('img'); + var alignimg3 = document.createElement('img'); + alignp.appendChild(alignl); + alignp.id = 'media__align'; + if (media_manager.display == "2") { + alignp.style.display = "none"; + } + + alignp.appendChild(alignbtn0); + alignp.appendChild(alignbtn1); + alignp.appendChild(alignbtn2); + alignp.appendChild(alignbtn3); + + alignl.innerHTML = LANG['mediaalign']; + + alignimg0.src = '/lib/images/text_align_left.png'; + alignimg1.src = '/lib/images/text_align_left.png'; + alignimg2.src = '/lib/images/text_align_center.png'; + alignimg3.src = '/lib/images/text_align_right.png'; + + alignbtn0.id = "media__alignbtn0"; + alignbtn0.value = '0'; + alignbtn0.title = LANG['medianoalign']; + alignbtn0.setAttribute('class','button'); + alignbtn0.appendChild(alignimg0); + alignbtn0.style.borderStyle = 'outset'; + addEvent(alignbtn0,'click',function(event){ return media_manager.setalign(event,this); }); + + alignbtn1.id = "media__alignbtn1"; + alignbtn1.value = '1'; + alignbtn1.title = LANG['medialeft']; + alignbtn1.setAttribute('class','button'); + alignbtn1.appendChild(alignimg1); + alignbtn1.style.borderStyle = 'outset'; + addEvent(alignbtn1,'click',function(event){ return media_manager.setalign(event,this); }); + + alignbtn2.value = '2'; + alignbtn2.id = "media__alignbtn2"; + alignbtn2.title = LANG['mediacenter']; + alignbtn2.setAttribute('class','button'); + alignbtn2.appendChild(alignimg2); + alignbtn2.style.borderStyle = 'outset'; + addEvent(alignbtn2,'click',function(event){ return media_manager.setalign(event,this); }); + + alignbtn3.value = '3'; + alignbtn3.id = "media__alignbtn3"; + alignbtn3.title = LANG['mediaright']; + alignbtn3.setAttribute('class','button'); + alignbtn3.appendChild(alignimg3); + alignbtn3.style.borderStyle = 'outset'; + addEvent(alignbtn3,'click',function(event){ return media_manager.setalign(event,this); }); + + media_manager.popup.appendChild(alignp); + + // size + + var sizep = document.createElement('p'); + var sizel = document.createElement('label'); + var sizebtn1 = document.createElement('button'); + var sizebtn2 = document.createElement('button'); + var sizebtn3 = document.createElement('button'); + var sizebtn4 = document.createElement('button'); + var sizeimg1 = document.createElement('img'); + var sizeimg2 = document.createElement('img'); + var sizeimg3 = document.createElement('img'); + var sizeimg4 = document.createElement('img'); + sizep.id = 'media__size'; + if (media_manager.display == "2") { + sizep.style.display = "none"; + } + + sizep.appendChild(sizel); + sizep.appendChild(sizebtn1); + sizep.appendChild(sizebtn2); + sizep.appendChild(sizebtn3); + sizep.appendChild(sizebtn4); + + sizel.innerHTML = LANG['mediasize']; + + sizeimg1.src = '/lib/images/magifier_zoom_out.png'; + sizeimg2.src = '/lib/images/magnifier.png'; + sizeimg3.src = '/lib/images/magnifier_zoom_in.png'; + sizeimg4.src = '/lib/images/magnifier_zoom_in.png'; + + sizebtn1.setAttribute('class','button'); + sizebtn1.appendChild(sizeimg1); + sizebtn1.value = '1'; + sizebtn1.id = 'media__sizebtn1'; + sizebtn1.title = LANG['mediasmall']; + sizebtn1.style.borderStyle = 'outset'; + addEvent(sizebtn1,'click',function(event){ return media_manager.setsize(event,this); }); + + sizebtn2.setAttribute('class','button'); + sizebtn2.appendChild(sizeimg2); + sizebtn2.value = '2'; + sizebtn2.id = 'media__sizebtn2'; + sizebtn2.title = LANG['mediamedium']; + sizebtn2.style.borderStyle = 'outset'; + addEvent(sizebtn2,'click',function(event){ return media_manager.setsize(event,this); }); + + sizebtn3.setAttribute('class','button'); + sizebtn3.appendChild(sizeimg3); + sizebtn3.value = '3'; + sizebtn3.id = 'media__sizebtn3'; + sizebtn3.title = LANG['medialarge']; + sizebtn3.style.borderStyle = 'outset'; + addEvent(sizebtn3,'click',function(event){ return media_manager.setsize(event,this); }); + + sizebtn4.setAttribute('class','button'); + sizebtn4.appendChild(sizeimg4); + sizebtn4.value = '4'; + sizebtn4.id = 'media__sizebtn4'; + sizebtn4.title = LANG['mediaextralarge']; + sizebtn4.style.borderStyle = 'outset'; + addEvent(sizebtn4,'click',function(event){ return media_manager.setsize(event,this); }); + + media_manager.popup.appendChild(sizep); + + // send and close button + + var btnp = document.createElement('p'); + media_manager.popup.appendChild(btnp); + btnp.setAttribute('class','btnlbl'); + + var cls = document.createElement('input'); + cls.type = 'button'; + cls.setAttribute('class','button'); + cls.value = LANG['mediaclose']; + btnp.appendChild(cls); + addEvent(cls,'click',function(event){ return media_manager.closePopup(event,this); }); + + var btn = document.createElement('input'); + btn.type = 'button'; + btn.id = 'media__sendbtn'; + btn.setAttribute('class','button'); + btn.value = LANG['mediainsert']; + btnp.appendChild(btn); + addEvent(btn,'click',function(event){ return media_manager.insert(event); }); + }, + + /** + * Insert the clicked image into the opener's textarea + * + * @author Andreas Gohr + * @author Dominik Eckelmann + */ + insert: function(event){ + var id = media_manager.id; + // set syntax options + $('media__popup').style.display = 'none'; + + var opts = ''; + var optsstart = ''; + var alignleft = ''; + var alignright = ''; + + if (media_manager.ext == 'img' || media_manager.ext == 'swf') { + + if (media_manager.link == '4') { + opts = '?linkonly'; + } else { + + if (media_manager.link == "3" && media_manager.ext == 'img') { + opts = '?nolink'; + optsstart = true; + } else if (media_manager.link == "2" && media_manager.ext == 'img') { + opts = '?direct'; + optsstart = true; + } + + var s = parseInt(media_manager.size); + + if (s && s >= 1) { + opts += (optsstart)?'&':'?'; + if (s=="1") { + opts += '100'; + if (media_manager.ext == 'swf') { + opts += 'x62'; + } + } else if (s=="2") { + opts += '200'; + if (media_manager.ext == 'swf') { + opts += 'x123'; + } + } else if (s=="3"){ + opts += '300'; + if (media_manager.ext == 'swf') { + opts += 'x185'; + } + } else if (s=="4") { + opts += '400'; + if (media_manager.ext == 'swf') { + opts += 'x247'; + } + } + } + if (media_manager.align == '1') { + alignleft = ''; + alignright = ' '; + } + if (media_manager.align == '2') { + alignleft = ' '; + alignright = ' '; + } + if (media_manager.align == '3') { + alignleft = ' '; + alignright = ''; + } + } + } + opener.insertTags('wiki__text','{{'+alignleft+id+opts+alignright+'|','}}',''); if(!media_manager.keepopen) window.close(); opener.focus(); @@ -340,6 +789,116 @@ var media_manager = { oflash.style.display = ''; }; oform.appendChild(clicky); + }, + + /** + * closes the link type popup + */ + closePopup: function(event) { + $('media__popup').style.display = 'none'; + }, + + /** + * set the align + * + * @author Dominik Eckelmann + */ + setalign: function(event,cb){ + if(cb.value){ + DokuCookie.setValue('align',cb.value); + media_manager.align = cb.value; + media_manager.outSet("media__alignbtn0"); + media_manager.outSet("media__alignbtn1"); + media_manager.outSet("media__alignbtn2"); + media_manager.outSet("media__alignbtn3"); + media_manager.inSet("media__alignbtn"+cb.value); + }else{ + DokuCookie.setValue('align',''); + media_manager.align = false; + } + }, + /** + * set the link type + * + * @author Dominik Eckelmann + */ + setlink: function(event,cb){ + if(cb.value){ + DokuCookie.setValue('link',cb.value); + media_manager.link = cb.value; + media_manager.outSet("media__linkbtn1"); + media_manager.outSet("media__linkbtn2"); + media_manager.outSet("media__linkbtn3"); + media_manager.outSet("media__linkbtn4"); + media_manager.inSet("media__linkbtn"+cb.value); + var size = document.getElementById("media__size"); + var align = document.getElementById("media__align"); + if (cb.value != '4') { + size.style.display = "block"; + align.style.display = "block"; + } else { + size.style.display = "none"; + align.style.display = "none"; + } + }else{ + DokuCookie.setValue('link',''); + media_manager.link = false; + } + }, + + /** + * set the display type + * + * @author Dominik Eckelmann + */ + setdisplay: function(event,cb){ + if(cb.value){ + DokuCookie.setValue('display',cb.value); + media_manager.display = cb.value; + media_manager.outSet("media__displaybtn1"); + media_manager.outSet("media__displaybtn2"); + media_manager.inSet("media__displaybtn"+cb.value); + + }else{ + DokuCookie.setValue('display',''); + media_manager.align = false; + } + }, + + /** + * sets the border to outset + */ + outSet: function(id) { + var ele = document.getElementById(id); + if (ele == null) return; + ele.style.borderStyle = "outset"; + }, + /** + * sets the border to inset + */ + inSet: function(id) { + var ele = document.getElementById(id); + if (ele == null) return; + ele.style.borderStyle = "inset"; + }, + + /** + * set the image size + * + * @author Dominik Eckelmann + */ + setsize: function(event,cb){ + if (cb.value) { + DokuCookie.setValue('size',cb.value); + media_manager.size = cb.value; + media_manager.outSet("media__sizebtn1"); + media_manager.outSet("media__sizebtn2"); + media_manager.outSet("media__sizebtn3"); + media_manager.inSet("media__sizebtn"+cb.value); + } else { + DokuCookie.setValue('size',''); + media_manager.width = false; + } } }; @@ -348,5 +907,8 @@ addInitEvent(function(){ media_manager.selectorattach($('media__content')); media_manager.confirmattach($('media__content')); media_manager.attachoptions($('media__opts')); + media_manager.initpopup(); media_manager.initFlashUpload(); }); + +// style nach linkwiz diff --git a/lib/tpl/default/media.css b/lib/tpl/default/media.css index 2831c984f..0bd70db3c 100644 --- a/lib/tpl/default/media.css +++ b/lib/tpl/default/media.css @@ -89,6 +89,99 @@ it's dirty, so any "real" fixes are welcome */ clear: left; } +/* --- popup --- */ + +#media__popup { + background-color:__background__; + display:none; + border: 1px solid __border__; + position: absolute; + width:270px; +} + +#media__popup h1 { + text-align:center; + font-weight:normal; + background-color: __background_alt__; + height: 16px; + margin-bottom: 5px; + font-size:12px; + border-bottom: 0; +} + +#media__popup p { + display:block; + line-height:14pt; + margin:0.5em; +} + +#media_nolink { + padding:4px 0; +} + +#media__popup label { + float:left; + width:9em; +} + +#media__popup .button { + margin-left:auto; + margin-right:auto; +} + +#media__popup .btnlbl { + text-align:center; +} + +#media__popup .btnlbl input { + margin:0 1em; +} + +#media__closeimg { + float:right; +} + +/* --- display options --- */ + +#media__linkopts label, +#media__nolnk { + width: 80px; + float: left; + margin-left: 10px; +} + +#media__linkopts label{ + line-height: 20px; +} + +#media__nolnk, +#media__linkopts label.long{ + margin-bottom: 8px; + line-height: 12px; +} + +#media__linkopts label.long{ + width: 150px; + float: none; +} + +#media__linkopts br { + clear: both; +} + +#media__linkopts select { + width: 60px; + margin-left: 10px; +} + +#media__linkopts input.edit { + width:50px; + margin-left:10px; +} +#media__linkopts #media__title { + width:150px; +} + /* --- file list --- */ #media__content img.load { -- cgit v1.2.3 From a8d2e40f2711896fc4704d00fdee5d3ba3a3f592 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 18 Feb 2010 12:16:16 +0100 Subject: images for media popup --- lib/images/image.png | Bin 0 -> 516 bytes lib/images/image_info.png | Bin 0 -> 651 bytes lib/images/image_link.png | Bin 0 -> 773 bytes lib/images/link.png | Bin 0 -> 343 bytes lib/images/link_break.png | Bin 0 -> 657 bytes lib/images/link_go.png | Bin 0 -> 655 bytes lib/images/magifier_zoom_out.png | Bin 0 -> 657 bytes lib/images/magnifier_zoom_in.png | Bin 0 -> 680 bytes lib/images/text_align_center.png | Bin 0 -> 234 bytes lib/images/text_align_left.png | Bin 0 -> 209 bytes lib/images/text_align_right.png | Bin 0 -> 209 bytes 11 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/images/image.png create mode 100644 lib/images/image_info.png create mode 100644 lib/images/image_link.png create mode 100644 lib/images/link.png create mode 100644 lib/images/link_break.png create mode 100644 lib/images/link_go.png create mode 100644 lib/images/magifier_zoom_out.png create mode 100644 lib/images/magnifier_zoom_in.png create mode 100644 lib/images/text_align_center.png create mode 100644 lib/images/text_align_left.png create mode 100644 lib/images/text_align_right.png diff --git a/lib/images/image.png b/lib/images/image.png new file mode 100644 index 000000000..fc3c393ca Binary files /dev/null and b/lib/images/image.png differ diff --git a/lib/images/image_info.png b/lib/images/image_info.png new file mode 100644 index 000000000..1209164ca Binary files /dev/null and b/lib/images/image_info.png differ diff --git a/lib/images/image_link.png b/lib/images/image_link.png new file mode 100644 index 000000000..4bdb3541e Binary files /dev/null and b/lib/images/image_link.png differ diff --git a/lib/images/link.png b/lib/images/link.png new file mode 100644 index 000000000..25eacb7c2 Binary files /dev/null and b/lib/images/link.png differ diff --git a/lib/images/link_break.png b/lib/images/link_break.png new file mode 100644 index 000000000..523575306 Binary files /dev/null and b/lib/images/link_break.png differ diff --git a/lib/images/link_go.png b/lib/images/link_go.png new file mode 100644 index 000000000..ae8cae806 Binary files /dev/null and b/lib/images/link_go.png differ diff --git a/lib/images/magifier_zoom_out.png b/lib/images/magifier_zoom_out.png new file mode 100644 index 000000000..81f28199a Binary files /dev/null and b/lib/images/magifier_zoom_out.png differ diff --git a/lib/images/magnifier_zoom_in.png b/lib/images/magnifier_zoom_in.png new file mode 100644 index 000000000..af4fe0747 Binary files /dev/null and b/lib/images/magnifier_zoom_in.png differ diff --git a/lib/images/text_align_center.png b/lib/images/text_align_center.png new file mode 100644 index 000000000..57beb3813 Binary files /dev/null and b/lib/images/text_align_center.png differ diff --git a/lib/images/text_align_left.png b/lib/images/text_align_left.png new file mode 100644 index 000000000..6c8fcc116 Binary files /dev/null and b/lib/images/text_align_left.png differ diff --git a/lib/images/text_align_right.png b/lib/images/text_align_right.png new file mode 100644 index 000000000..a1502571c Binary files /dev/null and b/lib/images/text_align_right.png differ -- cgit v1.2.3 From 7b63547fc03ef0df23ae8c4bb61e3da41500149b Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 19 Feb 2010 14:58:22 +0100 Subject: =?UTF-8?q?Rewrite=20mediamanager=20options=E2=80=99=20JavaScript,?= =?UTF-8?q?=20new=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/images/image.png | Bin 516 -> 0 bytes lib/images/image_info.png | Bin 651 -> 0 bytes lib/images/image_link.png | Bin 773 -> 0 bytes lib/images/link.png | Bin 343 -> 0 bytes lib/images/link_break.png | Bin 657 -> 0 bytes lib/images/link_go.png | Bin 655 -> 0 bytes lib/images/magifier_zoom_out.png | Bin 657 -> 0 bytes lib/images/magnifier_zoom_in.png | Bin 680 -> 0 bytes lib/images/media_align_center.png | Bin 0 -> 294 bytes lib/images/media_align_left.png | Bin 0 -> 312 bytes lib/images/media_align_noalign.png | Bin 0 -> 269 bytes lib/images/media_align_right.png | Bin 0 -> 312 bytes lib/images/media_link_direct.png | Bin 0 -> 773 bytes lib/images/media_link_displaylnk.png | Bin 0 -> 343 bytes lib/images/media_link_lnk.png | Bin 0 -> 651 bytes lib/images/media_link_nolnk.png | Bin 0 -> 516 bytes lib/images/media_size_large.png | Bin 0 -> 153 bytes lib/images/media_size_medium.png | Bin 0 -> 296 bytes lib/images/media_size_original.png | Bin 0 -> 312 bytes lib/images/media_size_small.png | Bin 0 -> 305 bytes lib/images/text_align_center.png | Bin 234 -> 0 bytes lib/images/text_align_left.png | Bin 209 -> 0 bytes lib/images/text_align_right.png | Bin 209 -> 0 bytes lib/scripts/media.js | 227 ++++++++++------------------------- lib/tpl/default/_mediaoptions.css | 92 ++++++++++++++ lib/tpl/default/media.css | 93 -------------- lib/tpl/default/style.ini | 1 + 27 files changed, 155 insertions(+), 258 deletions(-) delete mode 100644 lib/images/image.png delete mode 100644 lib/images/image_info.png delete mode 100644 lib/images/image_link.png delete mode 100644 lib/images/link.png delete mode 100644 lib/images/link_break.png delete mode 100644 lib/images/link_go.png delete mode 100644 lib/images/magifier_zoom_out.png delete mode 100644 lib/images/magnifier_zoom_in.png create mode 100644 lib/images/media_align_center.png create mode 100644 lib/images/media_align_left.png create mode 100644 lib/images/media_align_noalign.png create mode 100644 lib/images/media_align_right.png create mode 100644 lib/images/media_link_direct.png create mode 100644 lib/images/media_link_displaylnk.png create mode 100644 lib/images/media_link_lnk.png create mode 100644 lib/images/media_link_nolnk.png create mode 100644 lib/images/media_size_large.png create mode 100644 lib/images/media_size_medium.png create mode 100644 lib/images/media_size_original.png create mode 100644 lib/images/media_size_small.png delete mode 100644 lib/images/text_align_center.png delete mode 100644 lib/images/text_align_left.png delete mode 100644 lib/images/text_align_right.png create mode 100644 lib/tpl/default/_mediaoptions.css diff --git a/lib/images/image.png b/lib/images/image.png deleted file mode 100644 index fc3c393ca..000000000 Binary files a/lib/images/image.png and /dev/null differ diff --git a/lib/images/image_info.png b/lib/images/image_info.png deleted file mode 100644 index 1209164ca..000000000 Binary files a/lib/images/image_info.png and /dev/null differ diff --git a/lib/images/image_link.png b/lib/images/image_link.png deleted file mode 100644 index 4bdb3541e..000000000 Binary files a/lib/images/image_link.png and /dev/null differ diff --git a/lib/images/link.png b/lib/images/link.png deleted file mode 100644 index 25eacb7c2..000000000 Binary files a/lib/images/link.png and /dev/null differ diff --git a/lib/images/link_break.png b/lib/images/link_break.png deleted file mode 100644 index 523575306..000000000 Binary files a/lib/images/link_break.png and /dev/null differ diff --git a/lib/images/link_go.png b/lib/images/link_go.png deleted file mode 100644 index ae8cae806..000000000 Binary files a/lib/images/link_go.png and /dev/null differ diff --git a/lib/images/magifier_zoom_out.png b/lib/images/magifier_zoom_out.png deleted file mode 100644 index 81f28199a..000000000 Binary files a/lib/images/magifier_zoom_out.png and /dev/null differ diff --git a/lib/images/magnifier_zoom_in.png b/lib/images/magnifier_zoom_in.png deleted file mode 100644 index af4fe0747..000000000 Binary files a/lib/images/magnifier_zoom_in.png and /dev/null differ diff --git a/lib/images/media_align_center.png b/lib/images/media_align_center.png new file mode 100644 index 000000000..3db90fc17 Binary files /dev/null and b/lib/images/media_align_center.png differ diff --git a/lib/images/media_align_left.png b/lib/images/media_align_left.png new file mode 100644 index 000000000..cebbb1a9a Binary files /dev/null and b/lib/images/media_align_left.png differ diff --git a/lib/images/media_align_noalign.png b/lib/images/media_align_noalign.png new file mode 100644 index 000000000..74f34e5f1 Binary files /dev/null and b/lib/images/media_align_noalign.png differ diff --git a/lib/images/media_align_right.png b/lib/images/media_align_right.png new file mode 100644 index 000000000..5f54a4a49 Binary files /dev/null and b/lib/images/media_align_right.png differ diff --git a/lib/images/media_link_direct.png b/lib/images/media_link_direct.png new file mode 100644 index 000000000..4bdb3541e Binary files /dev/null and b/lib/images/media_link_direct.png differ diff --git a/lib/images/media_link_displaylnk.png b/lib/images/media_link_displaylnk.png new file mode 100644 index 000000000..25eacb7c2 Binary files /dev/null and b/lib/images/media_link_displaylnk.png differ diff --git a/lib/images/media_link_lnk.png b/lib/images/media_link_lnk.png new file mode 100644 index 000000000..1209164ca Binary files /dev/null and b/lib/images/media_link_lnk.png differ diff --git a/lib/images/media_link_nolnk.png b/lib/images/media_link_nolnk.png new file mode 100644 index 000000000..fc3c393ca Binary files /dev/null and b/lib/images/media_link_nolnk.png differ diff --git a/lib/images/media_size_large.png b/lib/images/media_size_large.png new file mode 100644 index 000000000..e2fb548d9 Binary files /dev/null and b/lib/images/media_size_large.png differ diff --git a/lib/images/media_size_medium.png b/lib/images/media_size_medium.png new file mode 100644 index 000000000..b33157256 Binary files /dev/null and b/lib/images/media_size_medium.png differ diff --git a/lib/images/media_size_original.png b/lib/images/media_size_original.png new file mode 100644 index 000000000..d179aa2db Binary files /dev/null and b/lib/images/media_size_original.png differ diff --git a/lib/images/media_size_small.png b/lib/images/media_size_small.png new file mode 100644 index 000000000..04efe7080 Binary files /dev/null and b/lib/images/media_size_small.png differ diff --git a/lib/images/text_align_center.png b/lib/images/text_align_center.png deleted file mode 100644 index 57beb3813..000000000 Binary files a/lib/images/text_align_center.png and /dev/null differ diff --git a/lib/images/text_align_left.png b/lib/images/text_align_left.png deleted file mode 100644 index 6c8fcc116..000000000 Binary files a/lib/images/text_align_left.png and /dev/null differ diff --git a/lib/images/text_align_right.png b/lib/images/text_align_right.png deleted file mode 100644 index a1502571c..000000000 Binary files a/lib/images/text_align_right.png and /dev/null differ diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 3f0a8fb65..599dbbdfa 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -259,7 +259,7 @@ var media_manager = { media_manager.popup.style.display = 'inline'; media_manager.popup.style.left = event.pageX + 'px'; media_manager.popup.style.top = event.pageY + 'px'; - + // set all buttons to outset media_manager.outSet('media__linkbtn1'); media_manager.outSet('media__linkbtn2'); @@ -270,7 +270,7 @@ var media_manager = { media_manager.outSet('media__alignbtn1'); media_manager.outSet('media__alignbtn2'); media_manager.outSet('media__alignbtn3'); - + media_manager.outSet('media__sizebtn1'); media_manager.outSet('media__sizebtn2'); media_manager.outSet('media__sizebtn3'); @@ -388,79 +388,44 @@ var media_manager = { root.appendChild(media_manager.popup); var headline = document.createElement('h1'); + headline.innerHTML = LANG.mediatitle; var headlineimg = document.createElement('img'); - var headtext = document.createElement('span'); - headlineimg.src = '/lib/images/close.png'; + headlineimg.src = DOKU_BASE + 'lib/images/close.png'; headlineimg.id = 'media__closeimg'; addEvent(headlineimg,'click',function(event){ return media_manager.closePopup(event,this); }); - headline.appendChild(headlineimg); - headtext.textContent = LANG['mediatitle']; - headline.appendChild(headtext); + headline.insertBefore(headlineimg, headline.firstChild); media_manager.popup.appendChild(headline); drag.attach(media_manager.popup,headline); // link - var linkp = document.createElement('p'); - var linkl = document.createElement('label'); - var linkbtn1 = document.createElement('button'); - var linkbtn2 = document.createElement('button'); - var linkbtn3 = document.createElement('button'); - var linkbtn4 = document.createElement('button'); - var linkimg1 = document.createElement('img'); - var linkimg2 = document.createElement('img'); - var linkimg3 = document.createElement('img'); - var linkimg4 = document.createElement('img'); + var linkp = document.createElement('p'); linkp.id = "media__linkstyle"; if (media_manager.display == "2") { linkp.style.display = "none"; } + var linkl = document.createElement('label'); + linkl.innerHTML = LANG.mediatarget; linkp.appendChild(linkl); - linkp.appendChild(linkbtn1); - linkp.appendChild(linkbtn2); - linkp.appendChild(linkbtn3); - linkp.appendChild(linkbtn4); - - linkl.innerHTML = LANG['mediatarget']; - - linkimg1.src = '/lib/images/image_info.png'; - linkimg2.src = '/lib/images/image_link.png'; - linkimg3.src = '/lib/images/image.png'; - linkimg4.src = '/lib/images/link.png'; - - linkbtn1.setAttribute('class','button'); - linkbtn1.appendChild(linkimg1); - linkbtn1.value = '1'; - linkbtn1.id = "media__linkbtn1"; - linkbtn1.title = LANG['medialnk']; - linkbtn1.style.borderStyle = 'outset'; - addEvent(linkbtn1,'click',function(event){ return media_manager.setlink(event,this); }); - - linkbtn2.setAttribute('class','button'); - linkbtn2.appendChild(linkimg2); - linkbtn2.value = '2'; - linkbtn2.id = "media__linkbtn2"; - linkbtn2.title = LANG['mediadirect']; - linkbtn2.style.borderStyle = 'outset'; - addEvent(linkbtn2,'click',function(event){ return media_manager.setlink(event,this); }); - - linkbtn3.setAttribute('class','button'); - linkbtn3.appendChild(linkimg3); - linkbtn3.value = '3'; - linkbtn3.id = "media__linkbtn3"; - linkbtn3.title = LANG['medianolnk']; - linkbtn3.style.borderStyle = 'outset'; - addEvent(linkbtn3,'click',function(event){ return media_manager.setlink(event,this); }); - - linkbtn4.setAttribute('class','button'); - linkbtn4.appendChild(linkimg4); - linkbtn4.value = '4'; - linkbtn4.id = "media__linkbtn4"; - linkbtn4.title = LANG['mediadisplaylnk']; - linkbtn4.style.borderStyle = 'outset'; - addEvent(linkbtn4,'click',function(event){ return media_manager.setlink(event,this); }); + + var linkbtns = ['lnk', 'direct', 'nolnk', 'displaylnk']; + for (var i = 0 ; i < linkbtns.length ; ++i) { + var linkbtn = document.createElement('button'); + linkbtn.className = 'button'; + linkbtn.value = i + 1; + linkbtn.id = "media__linkbtn" + (i + 1); + linkbtn.title = LANG['media' + linkbtns[i]]; + linkbtn.style.borderStyle = 'outset'; + addEvent(linkbtn,'click',function(event){ return media_manager.setlink(event,this); }); + + var linkimg = document.createElement('img'); + linkimg.src = DOKU_BASE + 'lib/images/media_link_' + linkbtns[i] + '.png'; + + linkbtn.appendChild(linkimg); + linkp.appendChild(linkbtn); + } media_manager.popup.appendChild(linkp); @@ -468,63 +433,30 @@ var media_manager = { var alignp = document.createElement('p'); var alignl = document.createElement('label'); - var alignbtn0 = document.createElement('button'); - var alignbtn1 = document.createElement('button'); - var alignbtn2 = document.createElement('button'); - var alignbtn3 = document.createElement('button'); - var alignimg0 = document.createElement('img'); - var alignimg1 = document.createElement('img'); - var alignimg2 = document.createElement('img'); - var alignimg3 = document.createElement('img'); + alignp.appendChild(alignl); alignp.id = 'media__align'; if (media_manager.display == "2") { alignp.style.display = "none"; } - - alignp.appendChild(alignbtn0); - alignp.appendChild(alignbtn1); - alignp.appendChild(alignbtn2); - alignp.appendChild(alignbtn3); - alignl.innerHTML = LANG['mediaalign']; - alignimg0.src = '/lib/images/text_align_left.png'; - alignimg1.src = '/lib/images/text_align_left.png'; - alignimg2.src = '/lib/images/text_align_center.png'; - alignimg3.src = '/lib/images/text_align_right.png'; - - alignbtn0.id = "media__alignbtn0"; - alignbtn0.value = '0'; - alignbtn0.title = LANG['medianoalign']; - alignbtn0.setAttribute('class','button'); - alignbtn0.appendChild(alignimg0); - alignbtn0.style.borderStyle = 'outset'; - addEvent(alignbtn0,'click',function(event){ return media_manager.setalign(event,this); }); - - alignbtn1.id = "media__alignbtn1"; - alignbtn1.value = '1'; - alignbtn1.title = LANG['medialeft']; - alignbtn1.setAttribute('class','button'); - alignbtn1.appendChild(alignimg1); - alignbtn1.style.borderStyle = 'outset'; - addEvent(alignbtn1,'click',function(event){ return media_manager.setalign(event,this); }); - - alignbtn2.value = '2'; - alignbtn2.id = "media__alignbtn2"; - alignbtn2.title = LANG['mediacenter']; - alignbtn2.setAttribute('class','button'); - alignbtn2.appendChild(alignimg2); - alignbtn2.style.borderStyle = 'outset'; - addEvent(alignbtn2,'click',function(event){ return media_manager.setalign(event,this); }); - - alignbtn3.value = '3'; - alignbtn3.id = "media__alignbtn3"; - alignbtn3.title = LANG['mediaright']; - alignbtn3.setAttribute('class','button'); - alignbtn3.appendChild(alignimg3); - alignbtn3.style.borderStyle = 'outset'; - addEvent(alignbtn3,'click',function(event){ return media_manager.setalign(event,this); }); + var alignbtns = ['noalign', 'left', 'center', 'right']; + for (var n = 0 ; n < alignbtns.length ; ++n) { + var alignbtn = document.createElement('button'); + var alignimg = document.createElement('img'); + alignimg.src = DOKU_BASE + 'lib/images/media_align_' + alignbtns[n] + '.png'; + + alignbtn.id = "media__alignbtn" + n; + alignbtn.value = n; + alignbtn.title = LANG['media' + alignbtns[n]]; + alignbtn.className = 'button'; + alignbtn.appendChild(alignimg); + alignbtn.style.borderStyle = 'outset'; + addEvent(alignbtn,'click',function(event){ return media_manager.setalign(event,this); }); + + alignp.appendChild(alignbtn); + } media_manager.popup.appendChild(alignp); @@ -532,63 +464,30 @@ var media_manager = { var sizep = document.createElement('p'); var sizel = document.createElement('label'); - var sizebtn1 = document.createElement('button'); - var sizebtn2 = document.createElement('button'); - var sizebtn3 = document.createElement('button'); - var sizebtn4 = document.createElement('button'); - var sizeimg1 = document.createElement('img'); - var sizeimg2 = document.createElement('img'); - var sizeimg3 = document.createElement('img'); - var sizeimg4 = document.createElement('img'); + sizep.id = 'media__size'; if (media_manager.display == "2") { sizep.style.display = "none"; } - sizep.appendChild(sizel); - sizep.appendChild(sizebtn1); - sizep.appendChild(sizebtn2); - sizep.appendChild(sizebtn3); - sizep.appendChild(sizebtn4); - sizel.innerHTML = LANG['mediasize']; - sizeimg1.src = '/lib/images/magifier_zoom_out.png'; - sizeimg2.src = '/lib/images/magnifier.png'; - sizeimg3.src = '/lib/images/magnifier_zoom_in.png'; - sizeimg4.src = '/lib/images/magnifier_zoom_in.png'; - - sizebtn1.setAttribute('class','button'); - sizebtn1.appendChild(sizeimg1); - sizebtn1.value = '1'; - sizebtn1.id = 'media__sizebtn1'; - sizebtn1.title = LANG['mediasmall']; - sizebtn1.style.borderStyle = 'outset'; - addEvent(sizebtn1,'click',function(event){ return media_manager.setsize(event,this); }); - - sizebtn2.setAttribute('class','button'); - sizebtn2.appendChild(sizeimg2); - sizebtn2.value = '2'; - sizebtn2.id = 'media__sizebtn2'; - sizebtn2.title = LANG['mediamedium']; - sizebtn2.style.borderStyle = 'outset'; - addEvent(sizebtn2,'click',function(event){ return media_manager.setsize(event,this); }); - - sizebtn3.setAttribute('class','button'); - sizebtn3.appendChild(sizeimg3); - sizebtn3.value = '3'; - sizebtn3.id = 'media__sizebtn3'; - sizebtn3.title = LANG['medialarge']; - sizebtn3.style.borderStyle = 'outset'; - addEvent(sizebtn3,'click',function(event){ return media_manager.setsize(event,this); }); - - sizebtn4.setAttribute('class','button'); - sizebtn4.appendChild(sizeimg4); - sizebtn4.value = '4'; - sizebtn4.id = 'media__sizebtn4'; - sizebtn4.title = LANG['mediaextralarge']; - sizebtn4.style.borderStyle = 'outset'; - addEvent(sizebtn4,'click',function(event){ return media_manager.setsize(event,this); }); + var sizebtns = ['small', 'medium', 'large', 'original']; + for (var size = 0 ; size < sizebtns.length ; ++size) { + var sizebtn = document.createElement('button'); + var sizeimg = document.createElement('img'); + + sizep.appendChild(sizebtn); + sizeimg.src = DOKU_BASE + 'lib/images/media_size_' + sizebtns[size] + '.png'; + + sizebtn.className = 'button'; + sizebtn.appendChild(sizeimg); + sizebtn.value = size + 1; + sizebtn.id = 'media__sizebtn' + (size + 1); + sizebtn.title = LANG['media' + sizebtns[size]]; + sizebtn.style.borderStyle = 'outset'; + addEvent(sizebtn,'click',function(event){ return media_manager.setsize(event,this); }); + } media_manager.popup.appendChild(sizep); @@ -891,9 +790,9 @@ var media_manager = { if (cb.value) { DokuCookie.setValue('size',cb.value); media_manager.size = cb.value; - media_manager.outSet("media__sizebtn1"); - media_manager.outSet("media__sizebtn2"); - media_manager.outSet("media__sizebtn3"); + for (var i = 1 ; i <= 4 ; ++i) { + media_manager.outSet("media__sizebtn" + i); + } media_manager.inSet("media__sizebtn"+cb.value); } else { DokuCookie.setValue('size',''); @@ -910,5 +809,3 @@ addInitEvent(function(){ media_manager.initpopup(); media_manager.initFlashUpload(); }); - -// style nach linkwiz diff --git a/lib/tpl/default/_mediaoptions.css b/lib/tpl/default/_mediaoptions.css new file mode 100644 index 000000000..7ac489929 --- /dev/null +++ b/lib/tpl/default/_mediaoptions.css @@ -0,0 +1,92 @@ +/* --- popup --- */ + +#media__popup { + background-color:__background__; + display:none; + border: 1px solid __border__; + position: absolute; + width:270px; +} + +#media__popup h1 { + text-align:center; + font-weight:normal; + background-color: __background_alt__; + height: 16px; + margin-bottom: 5px; + font-size:12px; + border-bottom: 0; +} + +#media__popup p { + display:block; + line-height:14pt; + margin:0.5em; +} + +#media_nolink { + padding:4px 0; +} + +#media__popup label { + float:left; + width:9em; +} + +#media__popup .button { + margin-left:auto; + margin-right:auto; +} + +#media__popup .btnlbl { + text-align:center; +} + +#media__popup .btnlbl input { + margin:0 1em; +} + +#media__closeimg { + float:right; +} + +/* --- display options --- */ + +#media__linkopts label, +#media__nolnk { + width: 80px; + float: left; + margin-left: 10px; +} + +#media__linkopts label{ + line-height: 20px; +} + +#media__nolnk, +#media__linkopts label.long{ + margin-bottom: 8px; + line-height: 12px; +} + +#media__linkopts label.long{ + width: 150px; + float: none; +} + +#media__linkopts br { + clear: both; +} + +#media__linkopts select { + width: 60px; + margin-left: 10px; +} + +#media__linkopts input.edit { + width:50px; + margin-left:10px; +} +#media__linkopts #media__title { + width:150px; +} diff --git a/lib/tpl/default/media.css b/lib/tpl/default/media.css index 0bd70db3c..2831c984f 100644 --- a/lib/tpl/default/media.css +++ b/lib/tpl/default/media.css @@ -89,99 +89,6 @@ it's dirty, so any "real" fixes are welcome */ clear: left; } -/* --- popup --- */ - -#media__popup { - background-color:__background__; - display:none; - border: 1px solid __border__; - position: absolute; - width:270px; -} - -#media__popup h1 { - text-align:center; - font-weight:normal; - background-color: __background_alt__; - height: 16px; - margin-bottom: 5px; - font-size:12px; - border-bottom: 0; -} - -#media__popup p { - display:block; - line-height:14pt; - margin:0.5em; -} - -#media_nolink { - padding:4px 0; -} - -#media__popup label { - float:left; - width:9em; -} - -#media__popup .button { - margin-left:auto; - margin-right:auto; -} - -#media__popup .btnlbl { - text-align:center; -} - -#media__popup .btnlbl input { - margin:0 1em; -} - -#media__closeimg { - float:right; -} - -/* --- display options --- */ - -#media__linkopts label, -#media__nolnk { - width: 80px; - float: left; - margin-left: 10px; -} - -#media__linkopts label{ - line-height: 20px; -} - -#media__nolnk, -#media__linkopts label.long{ - margin-bottom: 8px; - line-height: 12px; -} - -#media__linkopts label.long{ - width: 150px; - float: none; -} - -#media__linkopts br { - clear: both; -} - -#media__linkopts select { - width: 60px; - margin-left: 10px; -} - -#media__linkopts input.edit { - width:50px; - margin-left:10px; -} -#media__linkopts #media__title { - width:150px; -} - /* --- file list --- */ #media__content img.load { diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini index 84d04e743..c5b2c31a5 100644 --- a/lib/tpl/default/style.ini +++ b/lib/tpl/default/style.ini @@ -11,6 +11,7 @@ design.css = screen style.css = screen media.css = screen +_mediaoptions.css = screen _admin.css = screen _linkwiz.css = screen _subscription.css = screen -- cgit v1.2.3 From 1410ed4b6ef86f5fcd267682eae03c9aece3346f Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 2 Mar 2010 10:32:27 +0100 Subject: =?UTF-8?q?Provide=20=E2=80=BAoriginal=20size=E2=80=B9=20media=20i?= =?UTF-8?q?nsertion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/lang/en/lang.php | 2 +- lib/scripts/media.js | 32 +++++++++++++------------------- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 82e414cd3..7cbf10029 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -141,7 +141,7 @@ $lang['js']['mediadisplaylnk'] = 'Show only the link.'; $lang['js']['mediasmall'] = 'Small version'; $lang['js']['mediamedium'] = 'Medium version'; $lang['js']['medialarge'] = 'Large version'; -$lang['js']['mediaextralarge'] = 'Extra large version'; +$lang['js']['mediaoriginal'] = 'Original version'; $lang['js']['medialnk'] = 'Link to detail page'; $lang['js']['mediadirect'] = 'Direct link to original'; $lang['js']['medianolnk'] = 'No link'; diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 599dbbdfa..f14db63d7 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -310,25 +310,27 @@ var media_manager = { DokuCookie.setValue('link','3'); } + // disable button for original size + $('media__sizebtn4').style.display = 'none'; + } else { media_manager.ext = 'img'; - // ensure that the display buttens are there + // ensure that the display buttons are there $('media__linkbtn1').style.display = 'inline'; $('media__linkbtn2').style.display = 'inline'; + $('media__sizebtn4').style.display = 'inline'; // set the link button to default - if (media_manager.link != false) { - media_manager.inSet('media__linkbtn'+media_manager.link); - } else if (DokuCookie.getValue('link')) { - media_manager.inSet('media__linkbtn'+DokuCookie.getValue('link')); + if (DokuCookie.getValue('link')) { media_manager.link = DokuCookie.getValue('link'); - } else { + } + if (media_manager.link == false) { // default case media_manager.link = '1'; - media_manager.inSet('media__linkbtn1'); DokuCookie.setValue('link','1'); } + media_manager.inSet('media__linkbtn'+media_manager.link); } if (media_manager.link == '4') { @@ -354,18 +356,15 @@ var media_manager = { } // set the size button to default - if (media_manager.size != false) { - media_manager.inSet('media__sizebtn'+media_manager.size); - } else if (DokuCookie.getValue('size')) { - media_manager.inSet('media__sizebtn'+DokuCookie.getValue('size')); + if (DokuCookie.getValue('size')) { media_manager.size = DokuCookie.getValue('size'); - } else { + } + if (media_manager.size == false || (media_manager.size === '4' && ext === '.swf')) { // default case media_manager.size = '2'; - media_manager.inSet('media__sizebtn2'); DokuCookie.setValue('size','2'); } - + media_manager.inSet('media__sizebtn'+media_manager.size); $('media__sendbtn').focus(); } @@ -562,11 +561,6 @@ var media_manager = { if (media_manager.ext == 'swf') { opts += 'x185'; } - } else if (s=="4") { - opts += '400'; - if (media_manager.ext == 'swf') { - opts += 'x247'; - } } } if (media_manager.align == '1') { -- cgit v1.2.3 From 63de0a583d1ce8c88c5362eecd0fc5ecd8c411a4 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 2 Mar 2010 14:30:37 +0100 Subject: =?UTF-8?q?Fix=20pageX=20and=20pageY=20in=20IE=E2=80=99s=20JS=20ev?= =?UTF-8?q?ents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/scripts/drag.js | 22 ++++------------------ lib/scripts/events.js | 4 ++++ 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/lib/scripts/drag.js b/lib/scripts/drag.js index fa249a996..254eab4a6 100644 --- a/lib/scripts/drag.js +++ b/lib/scripts/drag.js @@ -50,8 +50,8 @@ var drag = { this.oX = parseInt(this.obj.style.left); this.oY = parseInt(this.obj.style.top); - this.eX = drag.evX(e); - this.eY = drag.evY(e); + this.eX = e.pageX; + this.eY = e.pageY; var _this = this; this.mousehandlers = [function (e) {return _this.drag(e);}, function (e) {return _this.stop(e);}]; @@ -80,23 +80,9 @@ var drag = { */ drag: function(e) { if(this.obj) { - this.obj.style.top = (this.evY(e)+this.oY-this.eY+'px'); - this.obj.style.left = (this.evX(e)+this.oX-this.eX+'px'); + this.obj.style.top = (e.pageY+this.oY-this.eY+'px'); + this.obj.style.left = (e.pageX+this.oX-this.eX+'px'); } }, - /** - * Returns the X position of the given event. - */ - evX: function(e){ - return (e.pageX) ? e.pageX : e.clientX + document.body.scrollTop; //fixme shouldn't this be scrollLeft? - }, - - /** - * Returns the Y position of the given event. - */ - evY: function(e){ - return (e.pageY) ? e.pageY : e.clientY + document.body.scrollTop; - } - }; diff --git a/lib/scripts/events.js b/lib/scripts/events.js index e7526ced7..2ea619085 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -55,6 +55,10 @@ function fixEvent(event) { event.stopPropagation = fixEvent.stopPropagation; // fix target event.target = event.srcElement; + // fix coords + event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + document.body.scrollTop; + event.pageY = (typeof event.pageY !== 'undefined') ? event.pageY : event.clientY + document.body.scrollTop; + return event; }; fixEvent.preventDefault = function() { -- cgit v1.2.3 From 7caaf84c91ff684b186dec09e921d319b64ec0e1 Mon Sep 17 00:00:00 2001 From: Leonard Elezi Date: Tue, 2 Mar 2010 20:02:00 +0100 Subject: Albanian translation added --- inc/lang/sq/admin.txt | 3 + inc/lang/sq/adminplugins.txt | 1 + inc/lang/sq/backlinks.txt | 3 + inc/lang/sq/conflict.txt | 5 + inc/lang/sq/denied.txt | 3 + inc/lang/sq/diff.txt | 3 + inc/lang/sq/draft.txt | 5 + inc/lang/sq/edit.txt | 1 + inc/lang/sq/editrev.txt | 2 + inc/lang/sq/index.txt | 3 + inc/lang/sq/install.html | 8 + inc/lang/sq/lang.php | 258 ++++++++++++++++++++++++++++ inc/lang/sq/locked.txt | 3 + inc/lang/sq/login.txt | 3 + inc/lang/sq/mailtext.txt | 16 ++ inc/lang/sq/newpage.txt | 3 + inc/lang/sq/norev.txt | 3 + inc/lang/sq/password.txt | 10 ++ inc/lang/sq/preview.txt | 3 + inc/lang/sq/pwconfirm.txt | 13 ++ inc/lang/sq/read.txt | 1 + inc/lang/sq/recent.txt | 3 + inc/lang/sq/register.txt | 3 + inc/lang/sq/registermail.txt | 14 ++ inc/lang/sq/resendpwd.txt | 3 + inc/lang/sq/revisions.txt | 3 + inc/lang/sq/searchpage.txt | 5 + inc/lang/sq/showrev.txt | 2 + inc/lang/sq/stopwords.txt | 39 +++++ inc/lang/sq/subscr_digest.txt | 20 +++ inc/lang/sq/subscr_form.txt | 3 + inc/lang/sq/subscr_list.txt | 13 ++ inc/lang/sq/subscr_single.txt | 23 +++ inc/lang/sq/updateprofile.txt | 3 + inc/lang/sq/uploadmail.txt | 14 ++ inc/lang/sq/wordblock.txt | 3 + lib/plugins/acl/lang/sq/help.txt | 11 ++ lib/plugins/acl/lang/sq/lang.php | 34 ++++ lib/plugins/config/lang/sq/intro.txt | 7 + lib/plugins/config/lang/sq/lang.php | 180 +++++++++++++++++++ lib/plugins/plugin/lang/sq/admin_plugin.txt | 3 + lib/plugins/plugin/lang/sq/lang.php | 50 ++++++ lib/plugins/popularity/lang/sq/intro.txt | 9 + lib/plugins/popularity/lang/sq/lang.php | 8 + lib/plugins/revert/lang/sq/intro.txt | 3 + lib/plugins/revert/lang/sq/lang.php | 15 ++ lib/plugins/usermanager/lang/sq/add.txt | 1 + lib/plugins/usermanager/lang/sq/delete.txt | 1 + lib/plugins/usermanager/lang/sq/edit.txt | 1 + lib/plugins/usermanager/lang/sq/intro.txt | 1 + lib/plugins/usermanager/lang/sq/lang.php | 48 ++++++ lib/plugins/usermanager/lang/sq/list.txt | 1 + 52 files changed, 874 insertions(+) create mode 100644 inc/lang/sq/admin.txt create mode 100644 inc/lang/sq/adminplugins.txt create mode 100644 inc/lang/sq/backlinks.txt create mode 100644 inc/lang/sq/conflict.txt create mode 100644 inc/lang/sq/denied.txt create mode 100644 inc/lang/sq/diff.txt create mode 100644 inc/lang/sq/draft.txt create mode 100644 inc/lang/sq/edit.txt create mode 100644 inc/lang/sq/editrev.txt create mode 100644 inc/lang/sq/index.txt create mode 100644 inc/lang/sq/install.html create mode 100644 inc/lang/sq/lang.php create mode 100644 inc/lang/sq/locked.txt create mode 100644 inc/lang/sq/login.txt create mode 100644 inc/lang/sq/mailtext.txt create mode 100644 inc/lang/sq/newpage.txt create mode 100644 inc/lang/sq/norev.txt create mode 100644 inc/lang/sq/password.txt create mode 100644 inc/lang/sq/preview.txt create mode 100644 inc/lang/sq/pwconfirm.txt create mode 100644 inc/lang/sq/read.txt create mode 100644 inc/lang/sq/recent.txt create mode 100644 inc/lang/sq/register.txt create mode 100644 inc/lang/sq/registermail.txt create mode 100644 inc/lang/sq/resendpwd.txt create mode 100644 inc/lang/sq/revisions.txt create mode 100644 inc/lang/sq/searchpage.txt create mode 100644 inc/lang/sq/showrev.txt create mode 100644 inc/lang/sq/stopwords.txt create mode 100644 inc/lang/sq/subscr_digest.txt create mode 100644 inc/lang/sq/subscr_form.txt create mode 100644 inc/lang/sq/subscr_list.txt create mode 100644 inc/lang/sq/subscr_single.txt create mode 100644 inc/lang/sq/updateprofile.txt create mode 100644 inc/lang/sq/uploadmail.txt create mode 100644 inc/lang/sq/wordblock.txt create mode 100644 lib/plugins/acl/lang/sq/help.txt create mode 100644 lib/plugins/acl/lang/sq/lang.php create mode 100644 lib/plugins/config/lang/sq/intro.txt create mode 100644 lib/plugins/config/lang/sq/lang.php create mode 100644 lib/plugins/plugin/lang/sq/admin_plugin.txt create mode 100644 lib/plugins/plugin/lang/sq/lang.php create mode 100644 lib/plugins/popularity/lang/sq/intro.txt create mode 100644 lib/plugins/popularity/lang/sq/lang.php create mode 100644 lib/plugins/revert/lang/sq/intro.txt create mode 100644 lib/plugins/revert/lang/sq/lang.php create mode 100644 lib/plugins/usermanager/lang/sq/add.txt create mode 100644 lib/plugins/usermanager/lang/sq/delete.txt create mode 100644 lib/plugins/usermanager/lang/sq/edit.txt create mode 100644 lib/plugins/usermanager/lang/sq/intro.txt create mode 100644 lib/plugins/usermanager/lang/sq/lang.php create mode 100644 lib/plugins/usermanager/lang/sq/list.txt diff --git a/inc/lang/sq/admin.txt b/inc/lang/sq/admin.txt new file mode 100644 index 000000000..6edbf8a19 --- /dev/null +++ b/inc/lang/sq/admin.txt @@ -0,0 +1,3 @@ +====== Administrimi ====== + +Poshtë është një listë e punëve administrative të disponueshme në DokuWiki. \ No newline at end of file diff --git a/inc/lang/sq/adminplugins.txt b/inc/lang/sq/adminplugins.txt new file mode 100644 index 000000000..f87626c8e --- /dev/null +++ b/inc/lang/sq/adminplugins.txt @@ -0,0 +1 @@ +===== Plugin-e Shtesë ===== \ No newline at end of file diff --git a/inc/lang/sq/backlinks.txt b/inc/lang/sq/backlinks.txt new file mode 100644 index 000000000..b25df00be --- /dev/null +++ b/inc/lang/sq/backlinks.txt @@ -0,0 +1,3 @@ +====== Linke të kthyeshëm ====== + +Kjo është një listë e faqeve që duket se lidhen mbrapsht te kjo faqe aktuale. \ No newline at end of file diff --git a/inc/lang/sq/conflict.txt b/inc/lang/sq/conflict.txt new file mode 100644 index 000000000..9c6cc940d --- /dev/null +++ b/inc/lang/sq/conflict.txt @@ -0,0 +1,5 @@ +====== Ekziston një version më i ri ====== + +Ekziston një version më i ri i dokumentit që ju redaktuat. Kjo ndodh kur një përdorues tjetër e ndryshoi dokumentin ndërkohë që ju po e redaktonit atë. + +Gjeni ndryshimet e treguara më poshtë dhe pastaj vendosni se kë version doni të mbani. Nëse zgjidhni "ruaj", versioni juaj do të ruhet. Klikon "fshi" për të mbajtur versioni aktual. \ No newline at end of file diff --git a/inc/lang/sq/denied.txt b/inc/lang/sq/denied.txt new file mode 100644 index 000000000..03e10527f --- /dev/null +++ b/inc/lang/sq/denied.txt @@ -0,0 +1,3 @@ +====== Leja Refuzohet ====== + +Na vjen keq, ju nuk keni të drejta të mjaftueshme për të vazhduar. Mbase harruat të hyni? \ No newline at end of file diff --git a/inc/lang/sq/diff.txt b/inc/lang/sq/diff.txt new file mode 100644 index 000000000..ab03a283f --- /dev/null +++ b/inc/lang/sq/diff.txt @@ -0,0 +1,3 @@ +====== Ndryshimet ====== + +Kjo tregon ndryshimet midis dy versioneve të faqes. \ No newline at end of file diff --git a/inc/lang/sq/draft.txt b/inc/lang/sq/draft.txt new file mode 100644 index 000000000..80634a780 --- /dev/null +++ b/inc/lang/sq/draft.txt @@ -0,0 +1,5 @@ +====== Skedari skicë u gjend ====== + +Sesioni juaj i fundit i redaktimit në këtë faqe nuk përfundoi me sukses. DokuWiki ruajti automatikisht një skicë gjatë punës tuaj të cilën mund ta përdorni tani për të vazhduar redaktimin tuaj. Më poshtë mund të shihni të dhënat që janë ruajtur nga sesioni juaj i fundit. + +Ju lutem vendosni nëse doni të //rekuperoni// sesionin tuaj të humbur të redaktimit, //fshini// skicën e ruajtur automatikisht ose //dilni// nga proçesi i redaktimit. \ No newline at end of file diff --git a/inc/lang/sq/edit.txt b/inc/lang/sq/edit.txt new file mode 100644 index 000000000..1f038ead7 --- /dev/null +++ b/inc/lang/sq/edit.txt @@ -0,0 +1 @@ +Redaktoni faqen dhe shtypni "Ruaj". Shikoni [[wiki:syntax]] për sintaksën e Wiki-t. Nëse doni të provoni disa gjëra, mësoni të hidhni hapat e parë në [[playground:playground|playground]]. \ No newline at end of file diff --git a/inc/lang/sq/editrev.txt b/inc/lang/sq/editrev.txt new file mode 100644 index 000000000..08792eafb --- /dev/null +++ b/inc/lang/sq/editrev.txt @@ -0,0 +1,2 @@ +**Keni ngarkuar një rishikim të vjetër të dokumentit!** Nëse e ruani, do të krijoni një version të ri me këto të dhëna. +---- \ No newline at end of file diff --git a/inc/lang/sq/index.txt b/inc/lang/sq/index.txt new file mode 100644 index 000000000..6daef1c30 --- /dev/null +++ b/inc/lang/sq/index.txt @@ -0,0 +1,3 @@ +====== Index ====== + +Ky është një index mbi të gjitha faqet e disponueshme të renditura sipas [[doku>namespaces|namespaces]]. \ No newline at end of file diff --git a/inc/lang/sq/install.html b/inc/lang/sq/install.html new file mode 100644 index 000000000..f9f69f473 --- /dev/null +++ b/inc/lang/sq/install.html @@ -0,0 +1,8 @@ +

Kjo faqe ndihmon në instalimin dhe konfigurimin për herë të parë të Dokuwiki-t. Më shumë informacion mbi këtë installer gjendet në faqen e tij të dokumentimit.

+ +

Dokuwiki përdor skedarë të zakonshëm për ruajtjen e faqeve wiki dhe informacioneve të tjera të lidhura me ato faqe (psh imazhe, indekse kërkimi, rishikime të vjetra etj). Në mënyrë që të funksionojë me sukses DokuWiki duhet të ketë akses shkrimi mbi direktoritë që mbajnë këto skedarë. Ky installer nuk është në gjendje të vendosë leje mbi direktoritë. Kjo normalisht duhet bërë drejtpërdrejt nga një command shell ose nëse jeni duke përdorur hostimin, nëpërmjet FTP ose panelit të kontrollit të hostit (psh cPanel).

+ +

Ky installer do të instalojë konfigurimin e DokuWiki-t tuaj +për ACL, që në këmbim lejon hyrje si administrator dhe akses të menusë së administrimit të DokuWiki-t për të instaluar plugin-e, menaxhuar përdoruesit, menaxhuar akses në faqet wiki dhe ndryshim të konfigurimeve. Nuk është e domosdoshme për DokuWiki-n të funksionojë, megjithatë do ta bëjë DokuWiki-n më të lehtë për tu administruar.

+ +

Përduruesit me përvojë ose përdoruesit me kërkesa speciale për instalim duhet të përdorin këto linke për detaje mbi instruksionet e instalimit dhe konfigurimeve.

\ No newline at end of file diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php new file mode 100644 index 000000000..a41a6bd6e --- /dev/null +++ b/inc/lang/sq/lang.php @@ -0,0 +1,258 @@ +Adobe Flash Plugin për të paraqitur këtë përmbajtje.'; +$lang['download'] = 'Shkarko Copën'; +$lang['mail_newpage'] = 'faqje u shtua:'; +$lang['mail_changed'] = 'faqja u ndryshua:'; +$lang['mail_subscribe_list'] = 'faqet u ndryshuan në hapësirën e emrave:'; +$lang['mail_new_user'] = 'përdorues i ri:'; +$lang['mail_upload'] = 'skedari u ngarkua:'; +$lang['qb_bold'] = 'Tekst i Theksuar'; +$lang['qb_italic'] = 'Tekst i Pjerrët'; +$lang['qb_underl'] = 'Tekst i Nënvijëzuar'; +$lang['qb_code'] = 'Tekst Kodi'; +$lang['qb_strike'] = 'Tekst me Vijë Mespërmes'; +$lang['qb_h1'] = 'Titull me Nivel 1'; +$lang['qb_h2'] = 'Titull me Nivel 2'; +$lang['qb_h3'] = 'Titull me Nivel 3'; +$lang['qb_h4'] = 'Titull me Nivel 4'; +$lang['qb_h5'] = 'Titull me Nivel 5'; +$lang['qb_h'] = 'Titull'; +$lang['qb_hs'] = 'Përzgjidh Titull'; +$lang['qb_hplus'] = 'Titull Më i Lartë'; +$lang['qb_hminus'] = 'Titull Më i Ulët'; +$lang['qb_hequal'] = 'Titull i të Njëjtit Nivel'; +$lang['qb_link'] = 'Lidhje e Brendshme'; +$lang['qb_extlink'] = 'Lidhje e Jashtme '; +$lang['qb_hr'] = 'Vijë Horizontale'; +$lang['qb_ol'] = 'Listë Objektesh të Renditur'; +$lang['qb_ul'] = 'Listë Objektesh të Parenditura'; +$lang['qb_media'] = 'Shto imazhe dhe skedarë të tjerë'; +$lang['qb_sig'] = 'Fut Firmën'; +$lang['qb_smileys'] = 'Smileys'; +$lang['qb_chars'] = 'Karaktere Speciale'; +$lang['upperns'] = 'kërce tek hapësira e emrit prind'; +$lang['admin_register'] = 'Shto Përdorues të Ri'; +$lang['metaedit'] = 'Redakto Metadata'; +$lang['metasaveerr'] = 'Shkrimi i metadata-ve dështoi'; +$lang['metasaveok'] = 'Metadata u ruajt'; +$lang['img_backto'] = 'Mbrapa te'; +$lang['img_title'] = 'Titulli '; +$lang['img_caption'] = 'Titra'; +$lang['img_date'] = 'Data'; +$lang['img_fname'] = 'Emri Skedarit'; +$lang['img_fsize'] = 'Madhësia'; +$lang['img_artist'] = 'Autor'; +$lang['img_copyr'] = 'Mbajtësi i të drejtave të autorit'; +$lang['img_format'] = 'Formati'; +$lang['img_camera'] = 'Kamera'; +$lang['img_keywords'] = 'Fjalë Kyçe'; +$lang['subscr_subscribe_success'] = 'Iu shtua %s listës së abonimeve për %s'; +$lang['subscr_subscribe_error'] = 'Gabim gjatë shtimit të %s listës së abonimeve për %s'; +$lang['subscr_subscribe_noaddress'] = 'Nuk ekziston asnjë adresë e lidhur me regjistrimin tuaj, ju nuk mund t\'i shtoheni listës së abonimeve.'; +$lang['subscr_unsubscribe_success'] = 'U hoq %s nga lista e abonimeve për %s'; +$lang['subscr_unsubscribe_error'] = 'Gabim në heqjen e %s nga lista e abonimeve për %s'; +$lang['subscr_already_subscribed'] = '%s është abonuar njëherë te %s'; +$lang['subscr_not_subscribed'] = '%s nuk është abonuar te %s'; +$lang['subscr_m_not_subscribed'] = 'Momentalisht ju nuk jeni i abonuar në faqen aktuale apo hapësirën e emrit aktual.'; +$lang['subscr_m_new_header'] = 'Shto abonim'; +$lang['subscr_m_current_header'] = 'Abonimet aktuale'; +$lang['subscr_m_unsubscribe'] = 'Fshi Abonimin'; +$lang['subscr_m_subscribe'] = 'Abonohu'; +$lang['subscr_m_receive'] = 'Mer'; +$lang['subscr_style_every'] = 'email mbi çdo ndryshim'; +$lang['subscr_style_digest'] = 'pasqyro email-e ndryshimi pér çdo faqe'; +$lang['subscr_style_list'] = 'listë e faqeve të ndryshuara që nga emaili i fundit'; +$lang['authmodfailed'] = 'Konfigurim i gabuar i autentikimit të përdoruesit. Ju lutem informoni Administratorin tuaj të Wiki-it.'; +$lang['authtempfail'] = 'Autentikimi i përdoruesve është përkohësisht i padisponueshëm. Nëse kjo gjendje vazhdon, ju lutemi të informoni Administratorin tuaj të Wiki-it.'; +$lang['i_chooselang'] = 'Zgjidhni gjuhën tuaj'; +$lang['i_installer'] = 'Installer-i DokuWiki'; +$lang['i_wikiname'] = 'Emri Wiki-it'; +$lang['i_enableacl'] = 'Aktivizo ACL (rekomanduar)'; +$lang['i_superuser'] = 'Superpërdorues'; +$lang['i_problems'] = 'Installer-i gjeti disa probleme, të shfaqura më poshtë. Nuk mund të vazhdoni derisa t\'i keni rregulluar.'; +$lang['i_modified'] = 'Për arsye sigurie ky skript do të punojë vetëm me një instalim të ri dhe të pamodifikuar DokuWiki. +Ose duhet të ekstraktoni skedarët nga e para nga pakoja e shkarkimit ose konsultohuni me Dokuwiki installation instructions'; +$lang['i_funcna'] = 'Funksioni PHP %s nuk është i disponueshëm. Mbase siguruesi juaj i host-it e ka çaktivizuar për ndonjë arsye?'; +$lang['i_phpver'] = 'Versioni juaj i PHP %s është më i vogël se ai i duhuri %s. Duhet të përditësoni instalimin tuaj të PHP-së.'; +$lang['i_permfail'] = '%s nuk është e shkruajtshme nga DokuWiki. Duhet të rregulloni lejet e përdorimit për këtë direktori.'; +$lang['i_confexists'] = '%s ekziston njëherë'; +$lang['i_writeerr'] = '%s nuk mundi të krijohej. Duhet të kontrolloni lejet e dirkektorisë/skedarit dhe ta krijoni skedarin manualisht.'; +$lang['i_badhash'] = 'dokuwiki.php e panjohur ose e ndryshuar (hash=code>%s)'; +$lang['i_badval'] = '%s - vlerë e palejuar ose boshe'; +$lang['i_success'] = 'Konfigurimi u mbarua me sukses. Tani mund ta fshini skedarin install.php. Vazhdoni tek DokuWiki juaj i ri..'; +$lang['i_failure'] = 'Ndodhën disa gabime gjatë shkrimit të skedarit të konfigurimit. Do t\'ju duhet t\'i rregulloni manualisht para se të përdorni DokuWiki-in tuaj të ri..'; +$lang['i_policy'] = 'Veprimi fillestar ACL'; +$lang['i_pol0'] = 'Wiki i Hapur (lexim, shkrim, ngarkim për këdo)'; +$lang['i_pol1'] = 'Wiki Publike (lexim për këdo, shkrim dhe ngarkim për përdoruesit e regjistruar)'; +$lang['i_pol2'] = 'Wiki e Mbyllur (lexim, shkrim, ngarkim vetëm për përdoruesit e regjistruar)'; +$lang['i_retry'] = 'Provo Përsëri'; +$lang['mu_intro'] = 'Këtu mund të ngarkoni disa skedarë njëkohësisht. Klikoni butonin e shfletuesit për t\'i shtuar ata në radhë. Klikoni Ngarko kur të keni mbaruar.'; +$lang['mu_gridname'] = 'Emri Skedari'; +$lang['mu_gridsize'] = 'Madhësia'; +$lang['mu_gridstat'] = 'Statusi'; +$lang['mu_namespace'] = 'Hapësira Emrit'; +$lang['mu_browse'] = 'Shfleto'; +$lang['mu_toobig'] = 'shumë i/e madhe'; +$lang['mu_ready'] = 'gati për ngarkim'; +$lang['mu_done'] = 'përfundoi'; +$lang['mu_fail'] = 'dështoi'; +$lang['mu_authfail'] = 'sesioni skadoi'; +$lang['mu_progress'] = '@PCT@% u ngarkua'; +$lang['mu_filetypes'] = 'Tipet e Skedarëve të Lejuar'; +$lang['mu_info'] = 'skedarët e ngarkuar'; +$lang['mu_lasterr'] = 'Gabimi i fundit:'; +$lang['recent_global'] = 'Momentalisht jeni duke parë ndryshimet brenda hapësirës së emrit %s. Gjithashtu mund të shihni ndryshimet më të fundit në të gjithë wiki-n.'; +$lang['years'] = '%d vite më parë'; +$lang['months'] = '%d muaj më parë'; +$lang['weeks'] = '%d javë më parë'; +$lang['days'] = '%d ditë më parë'; +$lang['hours'] = '%d orë më parë'; +$lang['minutes'] = '%d minuta më parë'; +$lang['seconds'] = '%d sekonda më parë'; diff --git a/inc/lang/sq/locked.txt b/inc/lang/sq/locked.txt new file mode 100644 index 000000000..8c86c8be0 --- /dev/null +++ b/inc/lang/sq/locked.txt @@ -0,0 +1,3 @@ +====== Faqe e kyçur ====== + +Kjo faqe është përkohësisht e kyçur për redaktim nga një përdorues tjetër. Duhet të prisni derisa ky përdorues të mbarojë redaktimin ose çelësi të skadojë. \ No newline at end of file diff --git a/inc/lang/sq/login.txt b/inc/lang/sq/login.txt new file mode 100644 index 000000000..843e47652 --- /dev/null +++ b/inc/lang/sq/login.txt @@ -0,0 +1,3 @@ +====== Hyrje ====== + +Momentalisht nuk jeni të futur në Wiki! Futni informacionet tuaja të autentikimit më poshtë për të hyrë. Duhet t'i keni cookies të aktivizuara për të hyrë. \ No newline at end of file diff --git a/inc/lang/sq/mailtext.txt b/inc/lang/sq/mailtext.txt new file mode 100644 index 000000000..0746ca42c --- /dev/null +++ b/inc/lang/sq/mailtext.txt @@ -0,0 +1,16 @@ +Një faqe në DokuWiki-n tuaj u shtua ose u ndryshua. Këto janë detajet: + +Data: @DATE@ +Shfletuesi: @BROWSER@ +Adresa IP: @IPADDRESS@ +Emri Hostit: @HOSTNAME@ +Rishikimi i vjetër: @OLDPAGE@ +Rishikimi i ri: @NEWPAGE@ +Përmbledhja redaktimit: @SUMMARY@ +Përdoruesi: @USER@ + +@DIFF@ + +--- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/newpage.txt b/inc/lang/sq/newpage.txt new file mode 100644 index 000000000..1db750d00 --- /dev/null +++ b/inc/lang/sq/newpage.txt @@ -0,0 +1,3 @@ +====== Kjo temë nuk ekziston ende ====== + +Keni ndjekur një link për në një temë që nuk ekziston ende. Nëse ua lejojnë të drejtat, mund ta krijoni duke klikuar butonin "Krijo këtë faqe". \ No newline at end of file diff --git a/inc/lang/sq/norev.txt b/inc/lang/sq/norev.txt new file mode 100644 index 000000000..0e73223a9 --- /dev/null +++ b/inc/lang/sq/norev.txt @@ -0,0 +1,3 @@ +====== Nuk ekzistion një rishikim i tillë ====== + +Rishikimi i specifikuar nuk ekziston. Përdor buttonin "Rishikime të vjetra" për një listë të rishikimeve të vjetra të këtij dokumenti. \ No newline at end of file diff --git a/inc/lang/sq/password.txt b/inc/lang/sq/password.txt new file mode 100644 index 000000000..1c8a8694a --- /dev/null +++ b/inc/lang/sq/password.txt @@ -0,0 +1,10 @@ +Përshëndetje @FULLNAME@! + +Këtu janë të dhënat e përdoruesit për @TITLE@ në @DOKUWIKIURL@ + +Hyrje: @LOGIN@ +Fjalëkalimi: @PASSWORD@ + +--- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/preview.txt b/inc/lang/sq/preview.txt new file mode 100644 index 000000000..07148b842 --- /dev/null +++ b/inc/lang/sq/preview.txt @@ -0,0 +1,3 @@ +====== Shikim Paraprak ====== + +Ky është një shikim paraprak i tekstit tuaj. Kujtohuni: **Nuk** është ruajtur ende! \ No newline at end of file diff --git a/inc/lang/sq/pwconfirm.txt b/inc/lang/sq/pwconfirm.txt new file mode 100644 index 000000000..44d6c2dfe --- /dev/null +++ b/inc/lang/sq/pwconfirm.txt @@ -0,0 +1,13 @@ +Përshëndetje @FULLNAME@! + +Dikush kërkoi një fjalëkalim të ri për hyrjen tuaj @TITLE@ në @DOKUWIKIURL@ + +Nëse nuk kërkuat një fjalëkalim të ri atëherë thjesht injorojeni këtë email. + +Për të konfirmuar që kërkesa u dërgua me të vërtetë nga ju, ju lutemi përdorni link-un e mëposhtëm. + +@CONFIRM@ + +-- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/read.txt b/inc/lang/sq/read.txt new file mode 100644 index 000000000..cbb028048 --- /dev/null +++ b/inc/lang/sq/read.txt @@ -0,0 +1 @@ +Kjo faqe është vetëm për lexim. Mund të shihni kodin burim, por nuk mund ta ndryshoni atë. Kontaktoni administratorin nëse mendoni se kjo është e gabuar. \ No newline at end of file diff --git a/inc/lang/sq/recent.txt b/inc/lang/sq/recent.txt new file mode 100644 index 000000000..4b3bdf48d --- /dev/null +++ b/inc/lang/sq/recent.txt @@ -0,0 +1,3 @@ +====== Ndryshimet e kohëve të fundit ====== + +Faqet e mëposhtme janë ndryshuar së fundmi. \ No newline at end of file diff --git a/inc/lang/sq/register.txt b/inc/lang/sq/register.txt new file mode 100644 index 000000000..d4a3ca36b --- /dev/null +++ b/inc/lang/sq/register.txt @@ -0,0 +1,3 @@ +====== Regjistrohuni si një përdorues i ri ====== + +Plotësoni të gjitha informacionet e mëposhtme për të krijuar një llogari në këtë wiki. Sigorohuni që të jepni një **adresë email-i të vlefshme**. Nëse nuk ju kërkohet të futni një fjalëkalim këtu, një fjalëkalim i ri do t'ju dërgohet në adresën e email-it që specifikuat. Emri i hyrjes duhet të një [[doku>pagename|pagename]] e vlefshme. \ No newline at end of file diff --git a/inc/lang/sq/registermail.txt b/inc/lang/sq/registermail.txt new file mode 100644 index 000000000..ef90e455e --- /dev/null +++ b/inc/lang/sq/registermail.txt @@ -0,0 +1,14 @@ +Një përdorues i ri u regjistrua. Këto janë detajet: + +Emri përdoruesit: @NEWUSER@ +Emri i plotë i përdoruesit: @NEWNAME@ +E-mail: @NEWEMAIL@ + +Data: @DATE@ +Shfletuesi: @BROWSER@ +Adresa IP: @IPADDRESS@ +Emri Hostit: @HOSTNAME@ + +-- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/resendpwd.txt b/inc/lang/sq/resendpwd.txt new file mode 100644 index 000000000..79d0b3e8e --- /dev/null +++ b/inc/lang/sq/resendpwd.txt @@ -0,0 +1,3 @@ +====== Dërgo fjalëkalim të ri ====== + +Ju lutemi futni emrin tuaj të përdorimit në formën e mëposhtme për të kërkuar një fjalëkalim të ri për llogarinë tuaj në këtë wiki. Një link konfirmimi do të dërgohet në adresën tuaj të eMail-it. \ No newline at end of file diff --git a/inc/lang/sq/revisions.txt b/inc/lang/sq/revisions.txt new file mode 100644 index 000000000..349631ffb --- /dev/null +++ b/inc/lang/sq/revisions.txt @@ -0,0 +1,3 @@ +====== Rishikime të vjetra ====== + +Këto janë rishikimet e vjetra të dokumentit aktual. Për t'u kthyer në një rishikim të vjetër, zgjidhni nga këtu poshtë, klikoni "Redaktoni këtë faqe" dhe ruajeni atë. diff --git a/inc/lang/sq/searchpage.txt b/inc/lang/sq/searchpage.txt new file mode 100644 index 000000000..2f34cabb9 --- /dev/null +++ b/inc/lang/sq/searchpage.txt @@ -0,0 +1,5 @@ +====== Kërko ====== + +Mund të gjeni rezultatet e kërkimit tuaj më poshtë. Nëse nuk e gjetët atë që po kërkonit, mund të krijoni ose redaktoni një faqe pas pyetjes suaj me butonin përkatës. + +===== Rezultate ===== \ No newline at end of file diff --git a/inc/lang/sq/showrev.txt b/inc/lang/sq/showrev.txt new file mode 100644 index 000000000..9c1f761dc --- /dev/null +++ b/inc/lang/sq/showrev.txt @@ -0,0 +1,2 @@ +**Ky është një rishikim i vjetër i dokumentit!** +---- \ No newline at end of file diff --git a/inc/lang/sq/stopwords.txt b/inc/lang/sq/stopwords.txt new file mode 100644 index 000000000..e35669410 --- /dev/null +++ b/inc/lang/sq/stopwords.txt @@ -0,0 +1,39 @@ +# Kjo është një listë e fjalëve që indexer-i injoron, një fjalë për rresht +# Kur të redaktoni këtë faqe sigurohuni që të përdorni fund-rreshtash UNIX (rresht i ri i vetëm) +# Nuk është nevoja të përfshini fjalë më të shkurtra se tre karaktere - këtë injorohen gjithsesi +# Kjo listë bazohet mbi ato që gjenden në http://www.ranks.nl/stopwords/ +about +are +as +an +and +you +your +them +their +com +for +from +into +if +in +is +it +how +of +on +or +that +the +this +to +was +what +when +where +who +will +with +und +the +www \ No newline at end of file diff --git a/inc/lang/sq/subscr_digest.txt b/inc/lang/sq/subscr_digest.txt new file mode 100644 index 000000000..41404cff9 --- /dev/null +++ b/inc/lang/sq/subscr_digest.txt @@ -0,0 +1,20 @@ +Përshëndetje! + +Faqja @PAGE@ në wiki-n @TITLE@ ndryshoi. +Këtu janë ndryshimet: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Rishikimi i vjetër: @OLDPAGE@ +Rishikimi i ri: @NEWPAGE@ + +Për të fshirë lajmërimet e faqes, mund të hyni tek wiki në +@DOKUWIKIURL@ pastaj vizitoni +@SUBSCRIBE@ +dhe ç'regjistro faqen dhe/ose ndryshimet e hapësirës së emrit. + +-- +Ky eMail është gjeneruar nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/subscr_form.txt b/inc/lang/sq/subscr_form.txt new file mode 100644 index 000000000..7c71a4c73 --- /dev/null +++ b/inc/lang/sq/subscr_form.txt @@ -0,0 +1,3 @@ +====== Menaxhimi i Abonimeve ====== + +Kjo faqe lejon menaxhimin e abonimeve tuaja për faqen dhe hapësirën e emrit aktual. \ No newline at end of file diff --git a/inc/lang/sq/subscr_list.txt b/inc/lang/sq/subscr_list.txt new file mode 100644 index 000000000..cb10d4223 --- /dev/null +++ b/inc/lang/sq/subscr_list.txt @@ -0,0 +1,13 @@ +Përshëndetje! + +Faqet në hapësirën e emrit @PAGE@ të wiki-t @TITLE@ ndryshuan. Këto janë faqet e ndryshuara: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Për të fshirë lajmërimet e faqes, hyni në wiki-n tek @DOKUWIKIURL@ dhe pastaj vizitoni @SUBSCRIBE@ dhe fshini ndryshimet e faqes dhe/ose të hapësirës së emrit. + +-- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/subscr_single.txt b/inc/lang/sq/subscr_single.txt new file mode 100644 index 000000000..90520be4f --- /dev/null +++ b/inc/lang/sq/subscr_single.txt @@ -0,0 +1,23 @@ +Përshëndetje! + +Faqja @PAGE@ në wiki-n @TITLE@ ndryshoi. +Këto janë ndryshimet: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Data : @DATE@ +Përdoruesi : @USER@ +Përmbledhja redaktimit: @SUMMARY@ +Rishikimi i vjetër: @OLDPAGE@ +Rishikimi i ri: @NEWPAGE@ + +Për të fshirë lajmërimet e faqes, hyni në wiki tek +@DOKUWIKIURL@ dhe pastaj vizitoni +@NEWPAGE@ +dhe fshini ndryshimet e faqes dhe/ose hapësirës së emrit. + +-- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/updateprofile.txt b/inc/lang/sq/updateprofile.txt new file mode 100644 index 000000000..ba76beb1f --- /dev/null +++ b/inc/lang/sq/updateprofile.txt @@ -0,0 +1,3 @@ +====== Përditësoni profilin e llogarisë tuaj ====== + +Duhet vetëm të plotësoni ato fusha që doni të ndryshoni. Mund të mos e ndryshoni emrin tuaj të përdoruesit. \ No newline at end of file diff --git a/inc/lang/sq/uploadmail.txt b/inc/lang/sq/uploadmail.txt new file mode 100644 index 000000000..e7c62df15 --- /dev/null +++ b/inc/lang/sq/uploadmail.txt @@ -0,0 +1,14 @@ +Një skedar u ngarkua në DokuWiki-n tënd. Detajet janë: + +Skedar: @MEDIA@ +Data: @DATE@ +Shfletuesi: @BROWSER@ +Adresa IP: @IPADDRESS@ +Emri Hostit: @HOSTNAME@ +Madhësia: @SIZE@ +Tipi MIME: @MIME@ +Përdoruesi: @USER@ + +--- +Ky email u gjenerua nga DokuWiki në +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sq/wordblock.txt b/inc/lang/sq/wordblock.txt new file mode 100644 index 000000000..6f1085561 --- /dev/null +++ b/inc/lang/sq/wordblock.txt @@ -0,0 +1,3 @@ +====== U bllokua SPAM ====== + +Ndryshimet tuaja **nuk** u ruajtën sepse ato përmbanin një ose më shumë fjalë të bllokuara. Nëse u përpoqët të bënit spam në këtë Wiki -- Djalë i Keq! Nëse mendoni se ky është një gabim, kontaktoni administratorin e këtij Wiki. \ No newline at end of file diff --git a/lib/plugins/acl/lang/sq/help.txt b/lib/plugins/acl/lang/sq/help.txt new file mode 100644 index 000000000..84a567f8b --- /dev/null +++ b/lib/plugins/acl/lang/sq/help.txt @@ -0,0 +1,11 @@ +=== Ndihmë e Shpejtë: === + +Në këtë faqe mund të shtoni ose hiqni të drejta për hapësira emri dhe faqe në wiki-n tuaj. + +Paneli i majtë tregon të gjitha faqet dhe hapësirat e emrit të disponueshme. + +Forma më sipër ju lejon të shihni dhe ndryshoni lejet për një grup ose përdorues të përzgjedhur. + +Në tabelën më poshtë tregohen të gjitha rregullat e vendosjes së aksesit. Mund ta përdorni për të fshirë shpejt ose ndryshuar shumë rregulla njëkohësisht. + +Leximi i [[doku>acl|dokumentimit zyrtar mbi ACL]] mund t'ju ndihmojë për të kuptuar plotësisht sesi funksionin Kontrolli i Aksesit në DokuWiki. diff --git a/lib/plugins/acl/lang/sq/lang.php b/lib/plugins/acl/lang/sq/lang.php new file mode 100644 index 000000000..30fc99bb0 --- /dev/null +++ b/lib/plugins/acl/lang/sq/lang.php @@ -0,0 +1,34 @@ +%s momentalisht ka të drejtat e mëposhtme mbi faqen %s: %s.'; +$lang['p_user_ns'] = 'Përdoruesi %s momentalisht ka të drejtat e mëposhtme mbi hapësirën e emrit %s: %s.'; +$lang['p_group_id'] = 'Anëtarët e grupit %s momentalisht kanë të drejtat e mëposhtme mbi faqen %s: %s.'; +$lang['p_group_ns'] = 'Anëtarët e grupit %s momentalisht kanë të drejtat e mëposhtme mbi hapësirën e emrit %s: %s.'; +$lang['p_choose_id'] = 'Ju lutemi futni një përdorues ose grup në formën e mësipërme për të parë ose ndryshuar bashkësinë e të drejtave për faqen %s.'; +$lang['p_choose_ns'] = 'Ju lutemi futni një përdorues ose grup në formën e mësipërme për të parë ose ndryshuar bashkësinë e të drejtave për hapësirën e emrit %s.'; +$lang['p_inherited'] = 'Shënim: Ato të drejta nuk janë vendosur specifikisht por janë të trashëguara nga grupe të tjera ose hapësira emri më të larta.'; +$lang['p_isadmin'] = 'Shënim: Grupi ose përdoruesi i përzgjedhur ka gjithmonë të drejta të plota sepse është konfiguruar si superpërdorues.'; +$lang['p_include'] = 'Të drejtat më të larta i përfshijnë edhe ato më të ultat. Të drejtat Krijo, Ngarko dhe Fshi u aplikohen vetëm hapësirave të emrit, jo faqeve.'; +$lang['current'] = 'Rregullat aktuale ACL'; +$lang['where'] = 'Faqe/Hapësirë Emri'; +$lang['who'] = 'Përdorues/Grup'; +$lang['perm'] = 'Të Drejta'; +$lang['acl_perm0'] = 'Asgjë'; +$lang['acl_perm1'] = 'Lexim'; +$lang['acl_perm2'] = 'Redaktim'; +$lang['acl_perm4'] = 'Krijim'; +$lang['acl_perm8'] = 'Ngarkim'; +$lang['acl_perm16'] = 'Fshi'; +$lang['acl_new'] = 'Shto Hyrje të re'; +$lang['acl_mod'] = 'Ndrysho Hyrje'; diff --git a/lib/plugins/config/lang/sq/intro.txt b/lib/plugins/config/lang/sq/intro.txt new file mode 100644 index 000000000..687b497c9 --- /dev/null +++ b/lib/plugins/config/lang/sq/intro.txt @@ -0,0 +1,7 @@ +====== Menaxheri Konfigurimit ====== + +Përdoreni këtë faqe për të kontrolluar kuadrot e instalimit të DokuWiki-t tuaj. Për ndihmë mbi kuadro individuale referojuni [[doku>config]]. Për më tepër detaje rreth këtij plugin-i shih [[doku>plugin:config]]. + +Kuadrot e treguara me një backgroudn me një ngjyrë të kuqe të lehtë janë të mbrojtura dhe nuk mund të ndryshohen me këtë plugin. Kuadrot e treguara me një background blu janë vlerat default dhe kuadrot e treguara me një background të bardhë janë vendosur lokalisht për këtë instalim të caktuar. Si kuadrot blu, ashtu edhe ato të bardhë mund të ndryshohen. + +Kujtohuni të shtypni butonin **Ruaj** para se të dilni nga kjo faqe ose ndryshimet tuaja do të humbasin. \ No newline at end of file diff --git a/lib/plugins/config/lang/sq/lang.php b/lib/plugins/config/lang/sq/lang.php new file mode 100644 index 000000000..6cf8fd5af --- /dev/null +++ b/lib/plugins/config/lang/sq/lang.php @@ -0,0 +1,180 @@ +Vlerat e pasakta tregohen të rrethuara nga një kornizë e kuqe.'; +$lang['updated'] = 'Kuadrot u përditësuan me sukses.'; +$lang['nochoice'] = '(asnjë zgjedhje tjetër e disponueshme)'; +$lang['locked'] = 'Skedari i kuadrove nuk mund të përditësohet, nëse kjo është e paqëllimshme,
sigurohuni që emri i skedarit të kuadrove lokale dhe të drejtat të jenë të sakta.'; +$lang['danger'] = 'Rrezik: Ndrishimi i kësaj alternative mund ta bëjë wiki-n dhe menunë tuaj të konfigurimit të pa aksesueshme.'; +$lang['warning'] = 'Paralajmërim: Ndryshimi i kësaj alternative mund të shkaktojë sjellje të padëshiruara.'; +$lang['security'] = 'Paralajmërim Sigurie: Ndryshimi i kësaj alternative mund të paraqesë një rrezik në siguri.'; +$lang['_configuration_manager'] = 'Menaxhuesi i Kuadrove'; +$lang['_header_dokuwiki'] = 'Kuadrot e DokuWiki-t'; +$lang['_header_plugin'] = 'Kuadrot e Plugin-eve'; +$lang['_header_template'] = 'Kuadrot e Template-eve'; +$lang['_header_undefined'] = 'Kuadro të Papërcaktuara'; +$lang['_basic'] = 'Kuadro Elementare'; +$lang['_display'] = 'Kuadrot e Shfaqjes'; +$lang['_authentication'] = 'Kuadrot e Autentikimit'; +$lang['_anti_spam'] = 'Kuadrot Anti-Spam'; +$lang['_editing'] = 'Kuadrot e Redaktimit'; +$lang['_links'] = 'Kuadrot e Link-eve'; +$lang['_media'] = 'Kuadrot e Medias'; +$lang['_advanced'] = 'Kuadro të Avancuara'; +$lang['_network'] = 'Kuadrot e Rrjetit'; +$lang['_plugin_sufix'] = 'Kuadrot e Plugin-eve'; +$lang['_template_sufix'] = 'Kuadrot e Template-eve'; +$lang['_msg_setting_undefined'] = 'Metadata pa kuadro.'; +$lang['_msg_setting_no_class'] = 'Klasë pa kuadro.'; +$lang['_msg_setting_no_default'] = 'Asnjë vlerë default.'; +$lang['fmode'] = 'Mënyra krijim skedari'; +$lang['dmode'] = 'Mënyra krijim dosjeje.'; +$lang['lang'] = 'Gjuha e ndërfaqes'; +$lang['basedir'] = 'Path-i i Serverit (psh /dokuwiki/). Lëre bosh për ta gjetur automatikisht.'; +$lang['baseurl'] = 'URL-ja serverit (psh http://www.serveriyt.com). Lëre bosh për ta gjetur automatikisht.'; +$lang['savedir'] = 'Direktoria për të ruajtur të dhënat'; +$lang['start'] = 'Emri i faqes së fillimit'; +$lang['title'] = 'Titulli i Wiki-t'; +$lang['template'] = 'Template'; +$lang['license'] = 'Nën cilën liçensë duhet të vihet përmbajtja juar?'; +$lang['fullpath'] = 'Trego adresën e plotë të faqeve në footer.'; +$lang['recent'] = 'Ndryshimet më të fundit'; +$lang['breadcrumbs'] = 'Numri i gjurmëve'; +$lang['youarehere'] = 'Gjurmë hierarkike'; +$lang['typography'] = 'Bëj zëvendësime tipografike'; +$lang['htmlok'] = 'Lejo HTML të ngulitura'; +$lang['phpok'] = 'Lejo PHP të ngulitura'; +$lang['dformat'] = 'Formati i Datës (shiko funksionin strftime e PHP-së)'; +$lang['signature'] = 'Firma'; +$lang['toptoclevel'] = 'Niveli i Kreut për tabelën e përmbajtjes'; +$lang['tocminheads'] = 'Sasia minimum e titrave që përcaktojnë nëse TOC ndërtohet ose jo'; +$lang['maxtoclevel'] = 'Niveli maksimum për tabelën e përmbajtjes'; +$lang['maxseclevel'] = 'Niveli maksimum për redaktim të seksionit'; +$lang['camelcase'] = 'Përdor CamelCase (shkronja e parë e çdo fjale është kapitale) për linke-t'; +$lang['deaccent'] = 'Emra faqesh të pastër'; +$lang['useheading'] = 'Përdor titra të nivelit të parë për faqet e emrave'; +$lang['refcheck'] = 'Kontroll për referim mediash'; +$lang['refshow'] = 'Numri i referimeve të medias që duhet të tregohet'; +$lang['allowdebug'] = 'Lejo debug çaktivizoje nëse nuk nevojitet!'; +$lang['usewordblock'] = 'Blloko spam-in duke u bazuar mbi listë fjalësh'; +$lang['indexdelay'] = 'Vonesa në kohë para index-imit (sekonda)'; +$lang['relnofollow'] = 'Përdor rel="nofollow" në linke të jashtëm'; +$lang['mailguard'] = 'Errëso adresat e email-it'; +$lang['iexssprotect'] = 'Kontrollo skedarët e ngarkuar për kod të mundshëm dashakeqës JavaScript ose HTML'; +$lang['showuseras'] = 'Cfarë të shfaqësh kur t\'i tregosh përdoruesit faqen e fundit të redaktuar'; +$lang['useacl'] = 'Përdor lista kontrolli të aksesit'; +$lang['autopasswd'] = 'Autogjenero fjalëkalime'; +$lang['authtype'] = 'Backend autentikimi'; +$lang['passcrypt'] = 'Metoda e enkriptimit të fjalëkalimit'; +$lang['defaultgroup'] = 'Grupi default'; +$lang['superuser'] = 'Superpërdorues - grup, përdorues ose listë e ndarë me presje user1, @group1,user2 me akses të plotë në të gjitha faqet dhe funksionet pavarësisht kuadrove të ACL'; +$lang['manager'] = 'Menaxher - grup, përdorues ose listë e ndarë me presje user1,@group1,user2 me akses në disa funksione të caktuara menaxhimi'; +$lang['profileconfirm'] = 'Konfirmo ndryshimet ne profil me fjalëkalim'; +$lang['disableactions'] = 'Caktivizo veprimet e DokuWiki-it'; +$lang['disableactions_check'] = 'Kontrollo'; +$lang['disableactions_subscription'] = 'Abonohu/Fshi Abonim'; +$lang['disableactions_wikicode'] = 'Shiku kodin burim/ Eksportoje të Papërpunuar'; +$lang['disableactions_other'] = 'Veprime të tjera (të ndarë me presje)'; +$lang['sneaky_index'] = 'Vetiu DokuWiki tregon të gjithë hapësirat e emrit në shikimin e index-it. Aktivizimi i kësaj alternative do të fshehë ato ku përdoruesi nuk ka të drejta leximi. Kjo mund të përfundojë në fshehje të nënhapësirave të emrit të aksesueshme. Kjo mund ta bëjë index-in të papërdorshëm me disa konfigurime të caktuara të ACL-së.'; +$lang['auth_security_timeout'] = 'Koha e Përfundimit për Autentikim (sekonda)'; +$lang['securecookie'] = 'A duhet që cookies të vendosura nëpërmjet HTTPS të dërgohen vetëm nëpërmjet HTTPS nga shfletuesit? Caktivizojeni këtë alternativë kur vetëm hyrja në wiki-n tuaj sigurohet me SSL por shfletimi i wiki-t bëhet në mënyrë të pasigurtë.'; +$lang['xmlrpc'] = 'Aktivizo/Caktivizo ndërfaqen XML-RPC'; +$lang['xmlrpcuser'] = 'Kufizo aksesin XML-RPC vetëm tek grupet ose përdoruesit e ndarë me presje të dhënë këtu. Lëre bosh për t\'i dhënë akses të gjithëve.'; +$lang['updatecheck'] = 'Kontrollo për përditësime dhe paralajmërime sigurie? DokuWiki duhet të kontaktojë me splitbrain.org për këtë veti.'; +$lang['userewrite'] = 'Përdor URL të këndshme.'; +$lang['useslash'] = 'Përdor / si ndarës të hapësirave të emrit në URL'; +$lang['usedraft'] = 'Ruaj automatikisht një skicë gjatë redaktimit'; +$lang['sepchar'] = 'Fjala ndarëse për emrin e faqes'; +$lang['canonical'] = 'Përdor URL kanonike të plota'; +$lang['autoplural'] = 'Kontrollo për forma shumës në link-e'; +$lang['compression'] = 'Metoda kompresimit për skedarët atikë'; +$lang['cachetime'] = 'Mosha maksimale për cache (sekonda)'; +$lang['locktime'] = 'Mosha maksimale për kyçjen e skedarëve (sekonda)'; +$lang['fetchsize'] = 'Madhësia maksimale (bytes) që fetch.php mund të shkarkojë nga jashtë'; +$lang['notify'] = 'Dërgo lajmërim për ndryshime te kjo adresë email-i'; +$lang['registernotify'] = 'Dërgo info për përdoruesit e sapo regjistruar te kjo adresë email-i'; +$lang['mailfrom'] = 'Adresa e email-it që do të përdoret për dërgimin e email-eve automatikë'; +$lang['gzip_output'] = 'Përdor gzip Content-Encoding për xhtml'; +$lang['gdlib'] = 'Versioni i GD Lib'; +$lang['im_convert'] = 'Path-i për tek mjeti i konvertimit ImageMagick'; +$lang['jpg_quality'] = 'Cilësia e kompresimit JPG (0-100)'; +$lang['subscribers'] = 'Aktivizo suportin për abonim faqesh'; +$lang['subscribe_time'] = 'Koha pas së cilës listat e abonimeve dhe konsumimet dërgohen (sekonda); Kjo duhet të jetë më e vogël se koha e specifikuar në ditët më të fundit'; +$lang['compress'] = 'Kompaktëso daljet CSS dhe JavaScript '; +$lang['hidepages'] = 'Fshi faqet që përkojnë (shprehjet e rregullta)'; +$lang['send404'] = 'Dërgo "HTTP 404/Page Not Found" për faqe që nuk ekzistojnë'; +$lang['sitemap'] = 'Gjenero Google sitemap (ditë)'; +$lang['broken_iua'] = 'Funksioni ignore_user_abort është i prishur në sistemin tuaj? Kjo mund të shkaktojë një indeks kërkimi jo funksional. IIS+PHP/CGI njihen si të prishura. Shiko Bug 852 për më shumë info.'; +$lang['xsendfile'] = 'Përdor kokën X-Sendfile për të lejuar webserver-in të dërgojë skedarë statikë? Kjo duhet të suportohet nga webserver-i juaj.'; +$lang['renderer_xhtml'] = 'Riprodhuesi i përdorur për daljen wiki kryesore (xhtml)'; +$lang['renderer__core'] = '%s (dokuwiki core)'; +$lang['renderer__plugin'] = '%s (plugin)'; +$lang['rememberme'] = 'Lejo cookies hyrjeje të përhershme (më kujto mua)'; +$lang['rss_type'] = 'Tipi feed XML'; +$lang['rss_linkto'] = 'XML feed lidhet me'; +$lang['rss_content'] = 'Cfarë të shfaqësh në objektet XML feed?'; +$lang['rss_update'] = 'Intervali i përditësimit XML feed (sekonda)'; +$lang['recent_days'] = 'Sa ndryshime të fundit duhen mbajtur (ditë)'; +$lang['rss_show_summary'] = 'XML feed trego përmbledhjen në titull'; +$lang['target____wiki'] = 'Dritarja target për link-e të brendshëm'; +$lang['target____interwiki'] = 'Dritarja target për link-e interwiki'; +$lang['target____extern'] = 'Dritarja target për link-e të jashtme'; +$lang['target____media'] = 'Dritarja target për link-e mediash'; +$lang['target____windows'] = 'Dritarja target për link-e windows-i'; +$lang['proxy____host'] = 'Emri i serverit të proxy-t'; +$lang['proxy____port'] = 'Porta e proxy-t'; +$lang['proxy____user'] = 'Emri i përdoruesit për proxy-n'; +$lang['proxy____pass'] = 'Fjalëkalimi proxy-t'; +$lang['proxy____ssl'] = 'Përdor SSL për tu lidhur me proxy-n'; +$lang['safemodehack'] = 'Aktivizo hack në safemode'; +$lang['ftp____host'] = 'Server FTP për safemode hack'; +$lang['ftp____port'] = 'Porta FTP për safemode hack'; +$lang['ftp____user'] = 'Emri përdoruesit për safemode hack'; +$lang['ftp____pass'] = 'Fjalëkalimi FTP për safemode hack'; +$lang['ftp____root'] = 'Direktoria rrënjë për safemode hack'; +$lang['license_o_'] = 'Nuk u zgjodh asgjë'; +$lang['typography_o_0'] = 'Asgjë'; +$lang['typography_o_1'] = 'përjashtim i thonjëzave teke'; +$lang['typography_o_2'] = 'përfshirje e thonjëzave teke (nuk punon gjithmonë) '; +$lang['userewrite_o_0'] = 'asgjë'; +$lang['userewrite_o_1'] = '.htaccess'; +$lang['userewrite_o_2'] = 'Brendësia DokuWiki'; +$lang['deaccent_o_0'] = 'fikur'; +$lang['deaccent_o_1'] = 'hiq theksin'; +$lang['deaccent_o_2'] = 'romanizo'; +$lang['gdlib_o_0'] = 'GD Lib nuk është e disponueshme'; +$lang['gdlib_o_1'] = 'Versioni 1.x'; +$lang['gdlib_o_2'] = 'Dallim automatik'; +$lang['rss_type_o_rss'] = 'RSS 0.91'; +$lang['rss_type_o_rss1'] = 'RSS 1.0'; +$lang['rss_type_o_rss2'] = 'RSS 2.0'; +$lang['rss_type_o_atom'] = 'Atom 0.3'; +$lang['rss_type_o_atom1'] = 'Atom 1.0'; +$lang['rss_content_o_abstract'] = 'Abstrakte'; +$lang['rss_content_o_diff'] = 'Ndryshime të njësuara'; +$lang['rss_content_o_htmldiff'] = 'Tabelë ndryshimesh e formatuar në HTML'; +$lang['rss_content_o_html'] = 'Përmbajtje e plotë faqeje HTML'; +$lang['rss_linkto_o_diff'] = 'shikimi ndryshimit'; +$lang['rss_linkto_o_page'] = 'faqja e rishikuar'; +$lang['rss_linkto_o_rev'] = 'lista e rishikimeve'; +$lang['rss_linkto_o_current'] = 'faqja aktuale'; +$lang['compression_o_0'] = 'asgjë'; +$lang['compression_o_gz'] = 'gzip'; +$lang['compression_o_bz2'] = 'bz2'; +$lang['xsendfile_o_0'] = 'mos e përdor'; +$lang['xsendfile_o_1'] = 'Proprietary lighttpd header (para lëshimit 1.5)'; +$lang['xsendfile_o_2'] = 'X-Sendfile header standard'; +$lang['xsendfile_o_3'] = 'Proprietary Nginx X-Accel-Redirect header'; +$lang['showuseras_o_loginname'] = 'Emri hyrjes'; +$lang['showuseras_o_username'] = 'Emri i plotë i përdoruesit'; +$lang['showuseras_o_email'] = 'Adresa e email-it e përdoruesit (errësuar sipas kuadros mailguard)'; +$lang['showuseras_o_email_link'] = 'Adresa email e përdoruesit si një mailto: link'; +$lang['useheading_o_0'] = 'Kurrë'; +$lang['useheading_o_navigation'] = 'Vetëm për Navigim'; +$lang['useheading_o_content'] = 'Vetëm për Përmbajtje Wiki'; +$lang['useheading_o_1'] = 'Gjithmonë'; diff --git a/lib/plugins/plugin/lang/sq/admin_plugin.txt b/lib/plugins/plugin/lang/sq/admin_plugin.txt new file mode 100644 index 000000000..2e1f19234 --- /dev/null +++ b/lib/plugins/plugin/lang/sq/admin_plugin.txt @@ -0,0 +1,3 @@ +====== Menaxhimi i Plugin-eve ====== + +Në këtë faqe mund të menaxhoni çdo gjë që ka të bëjë me [[doku>plugins|plugin-et]] Dokuwiki. Që të jetë në gjendje për të shkarkuar dhe instaluar një plugin, dosja e plugin-it duhet të jetë e shkrueshme nga webserver-i. \ No newline at end of file diff --git a/lib/plugins/plugin/lang/sq/lang.php b/lib/plugins/plugin/lang/sq/lang.php new file mode 100644 index 000000000..9ddcf527f --- /dev/null +++ b/lib/plugins/plugin/lang/sq/lang.php @@ -0,0 +1,50 @@ +%s: disku mund të jetë plotë ose të drejtat për aksesim skedari mund të jenë të gabuara. Kjo mund të ketë shkaktuar një instalim të pjesshëm të plugin-it dhe ta lërë instalimin e wiki-t tënd të paqëndrueshëm.'; +$lang['error_delete'] = 'Ndodhi një gabim gjatë përpjekjes për të fshirë plugin-in %s. Shkaku më i mundshëm është të drejta të pamjaftueshme për aksesim skedari ose dosjeje.'; +$lang['enabled'] = 'Plugini %s u aktivizua.'; +$lang['notenabled'] = 'Plugini %s nuk mundi të aktivizohej, kontrollo të drejtat e aksesit për skedarin.'; +$lang['disabled'] = 'Plugin %s është i paaktivizuar.'; +$lang['notdisabled'] = 'Plugini %s nuk mundi të çaktivizohej, kontrollo të drejtat e aksesit për skedarin.'; diff --git a/lib/plugins/popularity/lang/sq/intro.txt b/lib/plugins/popularity/lang/sq/intro.txt new file mode 100644 index 000000000..eb37e5f36 --- /dev/null +++ b/lib/plugins/popularity/lang/sq/intro.txt @@ -0,0 +1,9 @@ +====== Informacioni mbi Popullaritetin ====== + +Ky mjet mbledh të dhëna anonime rreth wiki-t tuaj dhe ju lejon t'ia dërgoni ato zhvilluesve të DokuWiki-t. Kjo i ndihmon ata të kuptojnë sesi DokuWiki përdoret nga përdoruesit e tij dhe siguron që vendimet për zhvillime të ardhshme të jenë të mbështetura mbi statistika të nxjera nga bota e vërtetë. + +Ju jeni të inkurajuar ta përsërisni këtë hap shpesh herë për t'i mbajtur zhvilluesit të informuar kur wiki juaj rritet. Bashkësia e të dhënave tuaja të përsëritura do të identifikohen nga një ID anonime. + +Të dhënat e mbledhura përmbajnë informacione si versioni i DokuWiki-t tuaj, numri dhe madhësia e faqeve dhe skedarëve, plugin-et e instaluar dhe informacione rreth instalimit të PHP-së. + +Të dhënat e papërpunuara që do të dërgohen janë treguar më poshtë. Ju lutem përdorni buttonin "Dërgo Të Dhëna" për të transferuar informacionin. \ No newline at end of file diff --git a/lib/plugins/popularity/lang/sq/lang.php b/lib/plugins/popularity/lang/sq/lang.php new file mode 100644 index 000000000..1954ce04c --- /dev/null +++ b/lib/plugins/popularity/lang/sq/lang.php @@ -0,0 +1,8 @@ +%s.'; diff --git a/lib/plugins/usermanager/lang/sq/add.txt b/lib/plugins/usermanager/lang/sq/add.txt new file mode 100644 index 000000000..4c66aaf3e --- /dev/null +++ b/lib/plugins/usermanager/lang/sq/add.txt @@ -0,0 +1 @@ +===== Shto Përdorues ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/sq/delete.txt b/lib/plugins/usermanager/lang/sq/delete.txt new file mode 100644 index 000000000..34cb49173 --- /dev/null +++ b/lib/plugins/usermanager/lang/sq/delete.txt @@ -0,0 +1 @@ +===== Fshi përdorues ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/sq/edit.txt b/lib/plugins/usermanager/lang/sq/edit.txt new file mode 100644 index 000000000..63131038f --- /dev/null +++ b/lib/plugins/usermanager/lang/sq/edit.txt @@ -0,0 +1 @@ +===== Redakto Përdorues ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/sq/intro.txt b/lib/plugins/usermanager/lang/sq/intro.txt new file mode 100644 index 000000000..e1ebea60c --- /dev/null +++ b/lib/plugins/usermanager/lang/sq/intro.txt @@ -0,0 +1 @@ +===== Menaxhuesi i Përdoruesit ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/sq/lang.php b/lib/plugins/usermanager/lang/sq/lang.php new file mode 100644 index 000000000..bddf54d5b --- /dev/null +++ b/lib/plugins/usermanager/lang/sq/lang.php @@ -0,0 +1,48 @@ + Date: Tue, 2 Mar 2010 19:00:37 +0100 Subject: Fixed testcase and getID - FS#1908 FS#1831 FS#1838 $_SERVER['PATH_INFO'] is used now to determine the page id when using internal rewriting, in all testcases I've seen so far this variable was set correctly. There are also a couple of fallbacks if the variable doesn't exist, $_SERVER['SCRIPT_NAME'] is now preferred instead of custom path extraction which fails when doku.php is outside the document root. --- _test/cases/inc/pageutils_getid.test.php | 2 +- inc/pageutils.php | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/_test/cases/inc/pageutils_getid.test.php b/_test/cases/inc/pageutils_getid.test.php index 14a21cae2..790c869d1 100644 --- a/_test/cases/inc/pageutils_getid.test.php +++ b/_test/cases/inc/pageutils_getid.test.php @@ -76,7 +76,7 @@ class init_getID_test extends UnitTestCase { $_SERVER['SCRIPT_FILENAME'] = '/var/www/vhosts/example.com/htdocs/doku.php'; $_SERVER['SCRIPT_NAME'] = '/doku.php'; $_SERVER['REQUEST_URI'] = '/doku.php/wiki/dokuwiki'; - $_SERVER['PATH_INFO'] = '/test/dokuwiki'; + $_SERVER['PATH_INFO'] = '/wiki/dokuwiki'; $_SERVER['PATH_TRANSLATED'] = '/var/www/vhosts/example.com/htdocs/doku.php'; $_SERVER['PHP_SELF'] = '/doku.php/wiki/dokuwiki'; diff --git a/inc/pageutils.php b/inc/pageutils.php index eb22084c1..ef09dc7b6 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -23,10 +23,11 @@ function getID($param='id',$clean=true){ $id = isset($_REQUEST[$param]) ? $_REQUEST[$param] : null; - $request = $_SERVER['REQUEST_URI']; - //construct page id from request URI if(empty($id) && $conf['userewrite'] == 2){ + $request = $_SERVER['REQUEST_URI']; + $script = ''; + //get the script URL if($conf['basedir']){ $relpath = ''; @@ -35,15 +36,14 @@ function getID($param='id',$clean=true){ } $script = $conf['basedir'].$relpath.basename($_SERVER['SCRIPT_FILENAME']); - }elseif($_SERVER['DOCUMENT_ROOT'] && $_SERVER['PATH_TRANSLATED']){ - $request = preg_replace ('/^'.preg_quote($_SERVER['DOCUMENT_ROOT'],'/').'/','', - $_SERVER['PATH_TRANSLATED']); + }elseif($_SERVER['PATH_INFO']){ + $request = $_SERVER['PATH_INFO']; + }elseif($_SERVER['SCRIPT_NAME']){ + $script = $_SERVER['SCRIPT_NAME']; }elseif($_SERVER['DOCUMENT_ROOT'] && $_SERVER['SCRIPT_FILENAME']){ $script = preg_replace ('/^'.preg_quote($_SERVER['DOCUMENT_ROOT'],'/').'/','', $_SERVER['SCRIPT_FILENAME']); $script = '/'.$script; - }else{ - $script = $_SERVER['SCRIPT_NAME']; } //clean script and request (fixes a windows problem) -- cgit v1.2.3 From 83e9d7a593638d1e91db108f2c285bb38207c437 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Tue, 2 Mar 2010 19:17:24 +0100 Subject: New testcase for getID() with data from FS#1838 --- _test/cases/inc/pageutils_getid.test.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/_test/cases/inc/pageutils_getid.test.php b/_test/cases/inc/pageutils_getid.test.php index 790c869d1..e3932a579 100644 --- a/_test/cases/inc/pageutils_getid.test.php +++ b/_test/cases/inc/pageutils_getid.test.php @@ -83,5 +83,24 @@ class init_getID_test extends UnitTestCase { $this->assertEqual(getID(), 'wiki:dokuwiki'); } + /** + * getID with given id / in url and userewrite=2, no basedir set, Apache and CGI. + */ + function test5() { + global $conf; + $conf['basedir'] = ''; + $conf['userewrite'] = '2'; + $conf['baseurl'] = ''; + $_SERVER['DOCUMENT_ROOT'] = '/var/www/'; + $_SERVER['SCRIPT_FILENAME'] = '/var/www/dokuwiki/doku.php'; + $_SERVER['SCRIPT_NAME'] = '/dokuwiki/doku.php'; + $_SERVER['REQUEST_URI'] = '/dokuwiki/doku.php/?do=debug'; + $_SERVER['PATH_INFO'] = '/'; + $_SERVER['PATH_TRANSLATED'] = '/var/www/index.html'; + $_SERVER['PHP_SELF'] = '/dokuwiki/doku.php/'; + + $this->assertEqual(getID(), 'start'); + } + } //Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From d6c824bc110a9f2c475d125acfcbcbcf399539fe Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 2 Mar 2010 21:07:57 +0100 Subject: removed cursor:hand CSS property FS#1911 --- lib/scripts/script.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index ef4ae95a2..bf6f41ce5 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -215,10 +215,7 @@ function addTocToggle() { prependChild(header,obj); obj.parentNode.onclick = toggleToc; - try { - obj.parentNode.style.cursor = 'pointer'; - obj.parentNode.style.cursor = 'hand'; - }catch(e){} + obj.parentNode.style.cursor = 'pointer'; } /** -- cgit v1.2.3 From ec0fe1a56541bb02a6a8cf665014161702c22e14 Mon Sep 17 00:00:00 2001 From: Aivars Miska Date: Wed, 3 Mar 2010 20:37:32 +0100 Subject: Latvian language update --- inc/lang/lv/lang.php | 46 ++++++++++++++++++++++++++++++------- inc/lang/lv/subscr_digest.txt | 19 +++++++++++++++ inc/lang/lv/subscr_form.txt | 3 +++ inc/lang/lv/subscr_list.txt | 16 +++++++++++++ inc/lang/lv/subscr_single.txt | 23 +++++++++++++++++++ lib/plugins/config/lang/lv/lang.php | 1 + 6 files changed, 100 insertions(+), 8 deletions(-) create mode 100644 inc/lang/lv/subscr_digest.txt create mode 100644 inc/lang/lv/subscr_form.txt create mode 100644 inc/lang/lv/subscr_list.txt create mode 100644 inc/lang/lv/subscr_single.txt diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 5de7a0cc6..9e31cc54e 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -37,9 +37,6 @@ $lang['btn_back'] = 'Atpakaļ'; $lang['btn_backlink'] = 'Norādes uz lapu'; $lang['btn_backtomedia'] = 'Atpakaļ uz mēdiju failu izvēli'; $lang['btn_subscribe'] = 'Abonēt izmaiņu paziņojumus'; -$lang['btn_unsubscribe'] = 'Atteikties no izmaiņu paziņojumiem'; -$lang['btn_subscribens'] = 'Abonēt nodaļas izmaiņu paziņojumus'; -$lang['btn_unsubscribens'] = 'Atteikties no nodaļas izmaiņu paziņojumiem'; $lang['btn_profile'] = 'Labot savu profilu'; $lang['btn_reset'] = 'Atsaukt izmaiņas'; $lang['btn_resendpwd'] = 'Nosūtīt jaunu paroli'; @@ -114,6 +111,27 @@ $lang['mediafiles'] = 'Pieejamie faili'; $lang['js']['searchmedia'] = 'Meklēt failus'; $lang['js']['keepopen'] = 'Pēc faila izvēles logu paturēt atvērtu'; $lang['js']['hidedetails'] = 'Slēpt detaļas'; +$lang['js']['mediatitle'] = 'Saites īpašības'; +$lang['js']['mediadisplay'] = 'Saites tips'; +$lang['js']['mediaalign'] = 'Slēgums'; +$lang['js']['mediasize'] = 'Attēla izmērs'; +$lang['js']['mediatarget'] = 'Saite ved uz '; +$lang['js']['mediaclose'] = 'Aizvērt'; +$lang['js']['mediainsert'] = 'Ievietot'; +$lang['js']['mediadisplayimg'] = 'Rādīt attēlu'; +$lang['js']['mediadisplaylnk'] = 'Rādīt tikai saiti'; +$lang['js']['mediasmall'] = 'Mazs'; +$lang['js']['mediamedium'] = 'Vidējs'; +$lang['js']['medialarge'] = 'Liels'; +$lang['js']['mediaoriginal'] = 'Oriģināls'; +$lang['js']['medialnk'] = 'Saite uz detaļām'; +$lang['js']['mediadirect'] = 'Tieša saite uz oriģinālu'; +$lang['js']['medianolnk'] = 'Bez saites'; +$lang['js']['medianolink'] = 'Bez saites uz attēlu'; +$lang['js']['medialeft'] = 'kreisais'; +$lang['js']['mediaright'] = 'labais'; +$lang['js']['mediacenter'] = 'centra'; +$lang['js']['medianoalign'] = 'neizlīdzināt'; $lang['js']['nosmblinks'] = 'Saites uz Windows resursiem darbojas tikai Microsoft Internet Explorer. Protams, ka vari saiti kopēt un iespraust citā programmā.'; $lang['js']['linkwiz'] = 'Saišu vednis'; @@ -148,6 +166,7 @@ $lang['summary'] = 'Anotācija'; $lang['noflash'] = 'Lai attēlotu lapas saturu, vajag Adobe Flash Plugin.'; $lang['mail_newpage'] = 'lapa pievienota:'; $lang['mail_changed'] = 'lapa mainīta:'; +$lang['mail_subscribe_list'] = 'Nodaļā mainītās lapas:'; $lang['mail_new_user'] = 'Jauns lietotājs:'; $lang['mail_upload'] = 'augšupielādētais fails:'; $lang['qb_bold'] = 'Trekninājums'; @@ -190,11 +209,22 @@ $lang['img_copyr'] = 'Autortiesības'; $lang['img_format'] = 'Formāts'; $lang['img_camera'] = 'Fotoaparāts'; $lang['img_keywords'] = 'Atslēgvārdi'; -$lang['subscribe_success'] = '%s pievienots %s abonentu sarakstam'; -$lang['subscribe_error'] = 'Kļūme pievienojot %s %s abonentu sarakstam'; -$lang['subscribe_noaddress'] = 'Nav zināma adrese, ko pievienot abonentu sarakstam'; -$lang['unsubscribe_success'] = ' %s svītrots no %s abonentu saraksta'; -$lang['unsubscribe_error'] = 'Kļūme svītrojot %s no %s abonentu saraksta'; +$lang['subscr_subscribe_success'] = '%s pievienots %s abonēšanas sarakstam'; +$lang['subscr_subscribe_error'] = 'Kļūme pievienojot %s %s abonēšanas sarakstam.'; +$lang['subscr_subscribe_noaddress'] = 'Nav zināma jūsu e-pasta adrese, tāpēc nevarat abonēt.'; +$lang['subscr_unsubscribe_success'] = '%s abonements uz %s atsaukts'; +$lang['subscr_unsubscribe_error'] = 'Kļūme svītrojot %s no %s abonēšanas saraksta'; +$lang['subscr_already_subscribed'] = '%s jau abonē %s'; +$lang['subscr_not_subscribed'] = '%s neabonē %s'; +$lang['subscr_m_not_subscribed'] = 'Šī lapa vai nodaļa nav abonēta'; +$lang['subscr_m_new_header'] = 'Pievienot abonementu'; +$lang['subscr_m_current_header'] = 'Patlaban ir abonēts'; +$lang['subscr_m_unsubscribe'] = 'Atteikties no abonēšanas'; +$lang['subscr_m_subscribe'] = 'Abonēt'; +$lang['subscr_m_receive'] = 'Saņemt'; +$lang['subscr_style_every'] = 'vēstuli par katru izmaiņu'; +$lang['subscr_style_digest'] = 'kopsavilkumu par katru lapu'; +$lang['subscr_style_list'] = 'kopš pēdējās vēstules notikušo labojumu sarakstu'; $lang['authmodfailed'] = 'Aplami konfigurēta lietotāju autentifikācija. Lūdzo ziņo Wiki administratoram.'; $lang['authtempfail'] = 'Lietotāju autentifikācija pašlaik nedarbojas. Ja tas turpinās ilgstoši, lūduz ziņo Wiki administratoram.'; $lang['i_chooselang'] = 'Izvēlies valodu'; diff --git a/inc/lang/lv/subscr_digest.txt b/inc/lang/lv/subscr_digest.txt new file mode 100644 index 000000000..98784050c --- /dev/null +++ b/inc/lang/lv/subscr_digest.txt @@ -0,0 +1,19 @@ +Labdien! + +@TITLE@ viki nodaļā @PAGE@ ir mainījušās šadas lapas: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Vecā versija: @OLDPAGE@ +Jaunā versija: @NEWPAGE@ + +Lai atceltu izmaiņu paziņošanu, ielogojieties +@DOKUWIKIURL@, apmeklējiet +@SUBSCRIBE@ +un atsakieties no lapas vai nodaļas izmaiņu paziņojumiem . + +-- +Šo vēstuli izveidoja DokuWiki no +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/lv/subscr_form.txt b/inc/lang/lv/subscr_form.txt new file mode 100644 index 000000000..9e3145f8e --- /dev/null +++ b/inc/lang/lv/subscr_form.txt @@ -0,0 +1,3 @@ +====== Abonementu pārvaldnieks ====== + +Te varat mainīt savu lapas vai nodaļas abonementu. \ No newline at end of file diff --git a/inc/lang/lv/subscr_list.txt b/inc/lang/lv/subscr_list.txt new file mode 100644 index 000000000..986b3786a --- /dev/null +++ b/inc/lang/lv/subscr_list.txt @@ -0,0 +1,16 @@ +Labdien! + +@TITLE@ viki nodaļā @PAGE@ ir mainījušās šadas lapas: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Lai atceltu izmaiņu paziņošanu, ielogojieties +@DOKUWIKIURL@, apmeklējiet +@SUBSCRIBE@ +un atsakieties no lapas vai nodaļas izmaiņu paziņojumiem . + +-- +Šo vēstuli izveidoja DokuWiki no +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/lv/subscr_single.txt b/inc/lang/lv/subscr_single.txt new file mode 100644 index 000000000..ca6177809 --- /dev/null +++ b/inc/lang/lv/subscr_single.txt @@ -0,0 +1,23 @@ +Labdien! + +@TITLE@ viki nodaļā @PAGE@ ir mainījušās šadas lapas: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Datums : @DATE@ +Lietotājs : @USER@ +Izmaiņu anotācija: @SUMMARY@ +Vecā versija: @OLDPAGE@ +Jaunā versija: @NEWPAGE@ + + +Lai atceltu izmaiņu paziņošanu, ielogojieties +@DOKUWIKIURL@, apmeklējiet +@SUBSCRIBE@ +un atsakieties no lapas vai nodaļas izmaiņu paziņojumiem . + +-- +Šo vēstuli izveidoja DokuWiki no +@DOKUWIKIURL@ \ No newline at end of file diff --git a/lib/plugins/config/lang/lv/lang.php b/lib/plugins/config/lang/lv/lang.php index 51cb6d89b..533ccbcfb 100644 --- a/lib/plugins/config/lang/lv/lang.php +++ b/lib/plugins/config/lang/lv/lang.php @@ -105,6 +105,7 @@ $lang['gdlib'] = 'GD Lib versija'; $lang['im_convert'] = 'Ceļš uz ImageMagick convert rīku'; $lang['jpg_quality'] = 'JPG saspiešanas kvalitāte'; $lang['subscribers'] = 'Atļaut abonēt izmaiņas'; +$lang['subscribe_time'] = 'Pēc cik ilga laika izsūtīt abonētos sarakstus un kopsavilkumus (sekundes); jābūt mazākam par laiku, kas norādīts "recent_days".'; $lang['compress'] = 'Saspiest CSS un javascript failus'; $lang['hidepages'] = 'Slēpt lapas (regulāras izteiksmes)'; $lang['send404'] = 'Par neesošām lapām atbildēt "HTTP 404/Page Not Found" '; -- cgit v1.2.3 From 620404a5dcfbccb29cd939932ecaead95b6e24cd Mon Sep 17 00:00:00 2001 From: Marek Sacha Date: Wed, 3 Mar 2010 22:25:51 +0100 Subject: Czech language update --- inc/lang/cs/lang.php | 49 ++++++++++++++++++++++++++------ inc/lang/cs/mailtext.txt | 2 +- inc/lang/cs/password.txt | 2 +- inc/lang/cs/pwconfirm.txt | 4 +-- inc/lang/cs/registermail.txt | 2 +- inc/lang/cs/subscr_digest.txt | 22 ++++++++++++++ inc/lang/cs/subscr_form.txt | 3 ++ inc/lang/cs/subscr_list.txt | 19 +++++++++++++ inc/lang/cs/subscr_single.txt | 25 ++++++++++++++++ inc/lang/cs/uploadmail.txt | 4 +-- lib/plugins/acl/lang/cs/lang.php | 1 + lib/plugins/config/lang/cs/lang.php | 2 ++ lib/plugins/plugin/lang/cs/lang.php | 1 + lib/plugins/popularity/lang/cs/lang.php | 1 + lib/plugins/revert/lang/cs/lang.php | 1 + lib/plugins/usermanager/lang/cs/lang.php | 1 + 16 files changed, 123 insertions(+), 16 deletions(-) create mode 100644 inc/lang/cs/subscr_digest.txt create mode 100644 inc/lang/cs/subscr_form.txt create mode 100644 inc/lang/cs/subscr_list.txt create mode 100644 inc/lang/cs/subscr_single.txt diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index ffc2a05d7..32c61692d 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -7,6 +7,7 @@ * @author Tomas Valenta * @author Zbynek Krivka * @author tomas@valenta.cz + * @author Marek Sacha */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -39,10 +40,7 @@ $lang['btn_delete'] = 'Vymazat'; $lang['btn_back'] = 'Zpět'; $lang['btn_backlink'] = 'Zpětné odkazy'; $lang['btn_backtomedia'] = 'Zpět do Výběru dokumentu'; -$lang['btn_subscribe'] = 'Odebírat mailem změny stránky'; -$lang['btn_unsubscribe'] = 'Neodebírat mailem změny stránky'; -$lang['btn_subscribens'] = 'Odebírat mailem změny ve jmenném prostoru'; -$lang['btn_unsubscribens'] = 'Neodebírat mailem změny ve jmenném prostoru'; +$lang['btn_subscribe'] = 'Odebírat emailem změny stránky'; $lang['btn_profile'] = 'Upravit profil'; $lang['btn_reset'] = 'Reset'; $lang['btn_resendpwd'] = 'Zaslat nové heslo'; @@ -117,6 +115,27 @@ $lang['mediafiles'] = 'Dostupné soubory'; $lang['js']['searchmedia'] = 'Hledat soubory'; $lang['js']['keepopen'] = 'Po vybrání souboru nechat okno otevřené'; $lang['js']['hidedetails'] = 'Skrýt detaily'; +$lang['js']['mediatitle'] = 'Nastavení odkazu'; +$lang['js']['mediadisplay'] = 'Typ odkazu'; +$lang['js']['mediaalign'] = 'Zarovnání'; +$lang['js']['mediasize'] = 'Velikost obrázku'; +$lang['js']['mediatarget'] = 'Cíl odkazu'; +$lang['js']['mediaclose'] = 'Zavřít'; +$lang['js']['mediainsert'] = 'Vložit'; +$lang['js']['mediadisplayimg'] = 'Ukázat obrázek'; +$lang['js']['mediadisplaylnk'] = 'Ukázat pouze odkaz'; +$lang['js']['mediasmall'] = 'Malá verze'; +$lang['js']['mediamedium'] = 'Střední verze'; +$lang['js']['medialarge'] = 'Velká verze'; +$lang['js']['mediaoriginal'] = 'Původní verze'; +$lang['js']['medialnk'] = 'Odkaz na stránku s detailem'; +$lang['js']['mediadirect'] = 'Přímý odkaz na originál'; +$lang['js']['medianolnk'] = 'Žádný odkaz'; +$lang['js']['medianolink'] = 'Neodkazovat na obrázek'; +$lang['js']['medialeft'] = 'Zarovnat obrázek doleva.'; +$lang['js']['mediaright'] = 'Zarovnat obrázek doprava.'; +$lang['js']['mediacenter'] = 'Zarovnat obrázek na střed.'; +$lang['js']['medianoalign'] = 'Nepoužívat zarovnání.'; $lang['js']['nosmblinks'] = 'Odkazování na sdílené prostředky Windows funguje jen v Internet Exploreru. Přesto tento odkaz můžete zkopírovat a vložit jinde.'; $lang['js']['linkwiz'] = 'Průvodce odkazy'; @@ -152,6 +171,7 @@ $lang['noflash'] = 'Pro přehrání obsahu potřebujete * @author Bohumir Zamecnik * @author tomas@valenta.cz + * @author Marek Sacha */ $lang['menu'] = 'Správa pluginů'; $lang['download'] = 'Stáhnout a instalovat plugin'; diff --git a/lib/plugins/popularity/lang/cs/lang.php b/lib/plugins/popularity/lang/cs/lang.php index f190e29b3..146bf54b6 100644 --- a/lib/plugins/popularity/lang/cs/lang.php +++ b/lib/plugins/popularity/lang/cs/lang.php @@ -4,6 +4,7 @@ * * @author Bohumir Zamecnik * @author tomas@valenta.cz + * @author Marek Sacha */ $lang['name'] = 'Průzkum používání (může chviličku trvat, než se natáhne)'; $lang['submit'] = 'Odeslat data'; diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php index cdfe0e96c..5bb5334ae 100644 --- a/lib/plugins/revert/lang/cs/lang.php +++ b/lib/plugins/revert/lang/cs/lang.php @@ -7,6 +7,7 @@ * @author Bohumir Zamecnik * @author Zbynek Krivka * @author tomas@valenta.cz + * @author Marek Sacha */ $lang['menu'] = 'Obnova zaspamovaných stránek'; $lang['filter'] = 'Hledat zaspamované stránky'; diff --git a/lib/plugins/usermanager/lang/cs/lang.php b/lib/plugins/usermanager/lang/cs/lang.php index 6f368bd0f..64686fb2d 100644 --- a/lib/plugins/usermanager/lang/cs/lang.php +++ b/lib/plugins/usermanager/lang/cs/lang.php @@ -6,6 +6,7 @@ * @author Zbynek Krivka * @author Bohumir Zamecnik * @author tomas@valenta.cz + * @author Marek Sacha */ $lang['menu'] = 'Správa uživatelů'; $lang['noauth'] = '(autentizace uživatelů není k dispozici)'; -- cgit v1.2.3 From 8e4da260f71ec0ef3b8559d38fc3f8f22208ec0f Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 4 Mar 2010 11:05:20 +0100 Subject: Output common parts of edit forms before the event --- inc/html.php | 133 +++++++++++++++++++++++++++++++---------------------------- 1 file changed, 69 insertions(+), 64 deletions(-) diff --git a/inc/html.php b/inc/html.php index f6f73142c..99fa4a9ce 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1195,19 +1195,6 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? } if(!$DATE) $DATE = $INFO['lastmod']; - $data = compact('wr', 'text', 'mod', 'check'); - trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); -} - -/** - * Display the default edit form - * - * Is the default action for HTML_EDIT_FORMSELECTION. - * - * @triggers HTML_EDITFORM_OUTPUT - */ -function html_edit_form($param) { - extract($param); global $conf; global $license; global $lang; @@ -1218,59 +1205,77 @@ function html_edit_form($param) { global $INFO; global $SUM; global $ID; - ?> - - - -
- -
-
-
- -
- 'dw__editform')); - $form->addHidden('id', $ID); - $form->addHidden('rev', $REV); - $form->addHidden('date', $DATE); - $form->addHidden('prefix', $PRE); - $form->addHidden('suffix', $SUF); - $form->addHidden('changecheck', $check); - $attr = array('tabindex'=>'1'); - if (!$wr) $attr['readonly'] = 'readonly'; - $form->addElement(form_makeWikiText($text, $attr)); - $form->addElement(form_makeOpenTag('div', array('id'=>'wiki__editbar'))); - $form->addElement(form_makeOpenTag('div', array('id'=>'size__ctl'))); + + $form = new Doku_Form(array('id' => 'dw__editform')); + $form->addHidden('id', $ID); + $form->addHidden('rev', $REV); + $form->addHidden('date', $DATE); + $form->addHidden('prefix', $PRE); + $form->addHidden('suffix', $SUF); + $form->addHidden('changecheck', $check); + + $data = compact('wr', 'text', 'form'); + $data['media_manager'] = true; + trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); + + $form->addElement(form_makeOpenTag('div', array('id'=>'wiki__editbar'))); + $form->addElement(form_makeOpenTag('div', array('id'=>'size__ctl'))); + $form->addElement(form_makeCloseTag('div')); + if ($wr) { + $form->addElement(form_makeOpenTag('div', array('class'=>'editButtons'))); + $form->addElement(form_makeButton('submit', 'save', $lang['btn_save'], array('id'=>'edbtn__save', 'accesskey'=>'s', 'tabindex'=>'4'))); + $form->addElement(form_makeButton('submit', 'preview', $lang['btn_preview'], array('id'=>'edbtn__preview', 'accesskey'=>'p', 'tabindex'=>'5'))); + $form->addElement(form_makeButton('submit', 'draftdel', $lang['btn_cancel'], array('tabindex'=>'6'))); $form->addElement(form_makeCloseTag('div')); - if ($wr) { - $form->addElement(form_makeOpenTag('div', array('class'=>'editButtons'))); - $form->addElement(form_makeButton('submit', 'save', $lang['btn_save'], array('id'=>'edbtn__save', 'accesskey'=>'s', 'tabindex'=>'4'))); - $form->addElement(form_makeButton('submit', 'preview', $lang['btn_preview'], array('id'=>'edbtn__preview', 'accesskey'=>'p', 'tabindex'=>'5'))); - $form->addElement(form_makeButton('submit', 'draftdel', $lang['btn_cancel'], array('tabindex'=>'6'))); - $form->addElement(form_makeCloseTag('div')); - $form->addElement(form_makeOpenTag('div', array('class'=>'summary'))); - $form->addElement(form_makeTextField('summary', $SUM, $lang['summary'], 'edit__summary', 'nowrap', array('size'=>'50', 'tabindex'=>'2'))); - $elem = html_minoredit(); - if ($elem) $form->addElement($elem); - $form->addElement(form_makeCloseTag('div')); - } + $form->addElement(form_makeOpenTag('div', array('class'=>'summary'))); + $form->addElement(form_makeTextField('summary', $SUM, $lang['summary'], 'edit__summary', 'nowrap', array('size'=>'50', 'tabindex'=>'2'))); + $elem = html_minoredit(); + if ($elem) $form->addElement($elem); $form->addElement(form_makeCloseTag('div')); - if($wr && $conf['license']){ - $form->addElement(form_makeOpenTag('div', array('class'=>'license'))); - $out = $lang['licenseok']; - $out .= ''; - $form->addElement($out); - $form->addElement(form_makeCloseTag('div')); - } - html_form('edit', $form); - print '
'.NL; + } + $form->addElement(form_makeCloseTag('div')); + if($wr && $conf['license']){ + $form->addElement(form_makeOpenTag('div', array('class'=>'license'))); + $out = $lang['licenseok']; + $out .= ''; + $form->addElement($out); + $form->addElement(form_makeCloseTag('div')); + } + + if ($wr) { + // sets changed to true when previewed + echo ''; + } ?> +
+ +
+
+
+ +
+ '.NL; +} + +/** + * Display the default edit form + * + * Is the default action for HTML_EDIT_FORMSELECTION. + * + * @triggers HTML_EDITFORM_OUTPUT + */ +function html_edit_form($param) { + extract($param); + $attr = array('tabindex'=>'1'); + if (!$wr) $attr['readonly'] = 'readonly'; + $form->addElement(form_makeWikiText($text, $attr)); } /** -- cgit v1.2.3 From 3f9e3215e07f71f721ddd919b9b06ad5d7cc6742 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 4 Mar 2010 11:01:52 +0100 Subject: Really allow plugins to use section editing --- inc/html.php | 2 +- inc/parser/xhtml.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/html.php b/inc/html.php index 99fa4a9ce..88fa0b4ff 100644 --- a/inc/html.php +++ b/inc/html.php @@ -89,7 +89,7 @@ function html_login(){ function html_secedit($text,$show=true){ global $INFO; - $regexp = '##'; + $regexp = '##'; if(!$INFO['writable'] || !$show || $INFO['rev']){ return preg_replace($regexp,'',$text); diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 552a8332d..176411c75 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -49,7 +49,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * @return string A marker class for the starting HTML element * @author Adrian Lang */ - protected function startSectionEdit($start, $type, $title = null) { + public function startSectionEdit($start, $type, $title = null) { static $lastsecid = 0; $this->sectionedits[] = array(++$lastsecid, $start, $type, $title); return 'sectionedit' . $lastsecid; @@ -62,7 +62,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { the page * @author Adrian Lang */ - protected function finishSectionEdit($end = null) { + public function finishSectionEdit($end = null) { list($id, $start, $type, $title) = array_pop($this->sectionedits); if (!is_null($end) && $end <= $start) { return; -- cgit v1.2.3 From c1fe9e9f75eb20bf30cde6e67fe7ef9f664f4cdd Mon Sep 17 00:00:00 2001 From: Florian Gaub Date: Mon, 8 Mar 2010 18:30:08 +0100 Subject: French language update --- inc/lang/fr/conflict.txt | 4 +- inc/lang/fr/draft.txt | 4 +- inc/lang/fr/edit.txt | 2 +- inc/lang/fr/editrev.txt | 2 +- inc/lang/fr/install.html | 16 +-- inc/lang/fr/lang.php | 167 ++++++++++++++++------------ inc/lang/fr/locked.txt | 2 +- inc/lang/fr/mailtext.txt | 5 +- inc/lang/fr/newpage.txt | 2 +- inc/lang/fr/norev.txt | 2 +- inc/lang/fr/password.txt | 2 +- inc/lang/fr/pwconfirm.txt | 4 +- inc/lang/fr/registermail.txt | 2 +- inc/lang/fr/resendpwd.txt | 2 +- inc/lang/fr/revisions.txt | 2 +- inc/lang/fr/searchpage.txt | 2 +- inc/lang/fr/subscr_digest.txt | 19 ++++ inc/lang/fr/subscr_form.txt | 3 + inc/lang/fr/subscr_list.txt | 16 +++ inc/lang/fr/subscr_single.txt | 22 ++++ inc/lang/fr/uploadmail.txt | 2 +- inc/lang/fr/wordblock.txt | 4 +- lib/plugins/acl/lang/fr/help.txt | 8 +- lib/plugins/acl/lang/fr/lang.php | 17 +-- lib/plugins/config/lang/fr/intro.txt | 4 +- lib/plugins/config/lang/fr/lang.php | 108 +++++++++--------- lib/plugins/plugin/lang/fr/admin_plugin.txt | 4 +- lib/plugins/plugin/lang/fr/lang.php | 49 ++++---- lib/plugins/popularity/lang/fr/intro.txt | 4 +- lib/plugins/popularity/lang/fr/lang.php | 1 + lib/plugins/revert/lang/fr/intro.txt | 4 +- lib/plugins/revert/lang/fr/lang.php | 7 +- lib/plugins/usermanager/lang/fr/lang.php | 11 +- 33 files changed, 293 insertions(+), 210 deletions(-) create mode 100644 inc/lang/fr/subscr_digest.txt create mode 100644 inc/lang/fr/subscr_form.txt create mode 100644 inc/lang/fr/subscr_list.txt create mode 100644 inc/lang/fr/subscr_single.txt diff --git a/inc/lang/fr/conflict.txt b/inc/lang/fr/conflict.txt index 0cb0a67fb..8f527ee21 100644 --- a/inc/lang/fr/conflict.txt +++ b/inc/lang/fr/conflict.txt @@ -1,6 +1,6 @@ ====== Une version plus récente existe déjà ====== -Une version plus récente du document que vous avez édité existe déjà. Cela se produit lorsqu'un autre utilisateur enregistre le document pendant que vous l'éditez. +Une version plus récente du document que vous avez modifié existe déjà. Cela se produit lorsqu'un autre utilisateur enregistre le document pendant que vous le modifiez. -Examinez attentivement les différences ci-dessous, et décidez quelle version conserver. Si vous choisissez ''Enregistrer'', votre version sera enregistrée. Cliquez sur ''Annuler'' pour conserver la version actuelle. +Examinez attentivement les différences ci-dessous et décidez quelle version conserver. Si vous choisissez « Enregistrer », votre version sera enregistrée. Cliquez sur « Annuler » pour conserver la version actuelle. diff --git a/inc/lang/fr/draft.txt b/inc/lang/fr/draft.txt index fbc1609a8..a48554298 100644 --- a/inc/lang/fr/draft.txt +++ b/inc/lang/fr/draft.txt @@ -1,6 +1,6 @@ ====== Un fichier brouillon a été trouvé ====== -La dernière édition de cette page ne s'est pas terminée proprement. Dokuwiki a enregistré automatiquement un brouillon de votre travail que vous pouvez utiliser pour votre édition. Ci-dessous figurent les données enregistrées lors de votre dernière session. +La dernière modification de cette page ne s'est pas terminée proprement. Dokuwiki a enregistré automatiquement un brouillon de votre travail que vous pouvez utiliser pour votre modification. Ci-dessous figurent les données enregistrées lors de votre dernière session. -À vous de décider si vous souhaitez //récupérer// votre session d'édition passée, //supprimer// le brouillon enregistré automatiquement ou //annuler// le processus d'édition. +À vous de décider si vous souhaitez //récupérer// votre session de modification passée, //supprimer// le brouillon enregistré automatiquement ou //annuler// le processus d'édition. diff --git a/inc/lang/fr/edit.txt b/inc/lang/fr/edit.txt index 71b0a7c1b..e30f1b78b 100644 --- a/inc/lang/fr/edit.txt +++ b/inc/lang/fr/edit.txt @@ -1,2 +1,2 @@ -Modifiez cette page et cliquez sur ''Enregistrer''. Voyez le [[wiki:syntax|Guide de la mise en page]] pour une aide à propos du format. Veuillez ne modifier cette page que si vous pouvez l'**améliorer**. Si vous souhaitez faire des tests, faites vos premiers pas dans le [[playground:playground|bac à sable]]. +Modifiez cette page et cliquez sur « Enregistrer ». Voyez le [[:wiki:syntax|guide de la mise en page]] pour une aide à propos du formatage. Veuillez ne modifier cette page que si vous pouvez l'**améliorer**. Si vous souhaitez faire des tests, faites vos premiers pas dans le [[:playground:playground|bac à sable]]. diff --git a/inc/lang/fr/editrev.txt b/inc/lang/fr/editrev.txt index 1a7e0f434..d3fa36682 100644 --- a/inc/lang/fr/editrev.txt +++ b/inc/lang/fr/editrev.txt @@ -1,2 +1,2 @@ -**Vous affichez une ancienne révision du document !** Si vous l'enregistrez vous créerez une nouvelle version avec ce contenu. +**Vous affichez une ancienne révision du document !** Si vous l'enregistrez, vous créerez une nouvelle version avec ce contenu. ---- diff --git a/inc/lang/fr/install.html b/inc/lang/fr/install.html index a2c29d022..b057becfe 100644 --- a/inc/lang/fr/install.html +++ b/inc/lang/fr/install.html @@ -1,19 +1,13 @@

Cette page vous assiste dans la première installation et la configuration de DokuWiki. -Pour plus d'information sur cet installeur reportez vous à sa +Pour plus d'information sur cet installeur, reportez-vous à sa page de documentation.

-

DokuWiki utilise des fichiers ordinaires pour stocker les pages du +

DokuWiki utilise des fichiers textes ordinaires pour stocker les pages du wiki et les autres informations associées à ces pages -(tel que images, index de recherche, anciennes révisions, etc). Pour fonctionner correctement DokuWiki doit avoir accès en écriture aux différents répertoires qui contiennent ces fichiers. L'installeur n'est pas capable de modifier les permissions sur les répertoires. Ceci doit être effectué directement sur la ligne de commande de votre shell, ou, si vous êtes hébergé, via FTP ou votre panneau de contrôle (tel que cPanel).

+(tel que images, index de recherche, anciennes révisions, etc.). Pour fonctionner correctement, DokuWiki doit avoir accès en écriture aux différents répertoires qui contiennent ces fichiers. L'installeur n'est pas capable de modifier les permissions sur les répertoires. Ceci doit être effectué directement sur la ligne de commande de votre shell, ou, si vous êtes hébergé, via FTP ou votre panneau de contrôle (tel que cPanel).

-

Cet installeur va paramétrer votre configuration de DokuWiki pour des ACL, qui permettront l'accès à un login administrateur et l'accès au menu d'administration de DokuWiki pour l'ajout de modules externes, la gestion d'utilisateurs, la gestion de l'accès aux pages du wiki et les changements de paramètres de configuration. Il n'est pas nécessaire au fonctionnement de DokuWiki, néanmoins il facilite l'administration de DokuWiki.

+

Cet installeur va paramétrer votre configuration de DokuWiki pour des ACL, qui permettront l'accès à un identifiant administrateur et l'accès au menu d'administration de DokuWiki pour l'ajout de modules externes (greffons), la gestion d'utilisateurs, la gestion de l'accès aux pages du wiki et les modifications des paramètres de configuration. Il n'est pas nécessaire au fonctionnement de DokuWiki, néanmoins il facilite l'administration de DokuWiki.

-

Les utilisateurs expérimentés ou ceux -nécessitant des paramétrages particuliers devraient se -reporter aux liens suivants pour les détails concernant les instructions -d'installation et les paramètres de -configuration.

+

Les utilisateurs expérimentés ou ceux nécessitant des paramétrages particuliers devraient se reporter aux liens suivants pour les détails concernant les instructions d'installation et les paramètres de configuration.

diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 7e2173f42..be55388bf 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -19,6 +19,7 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -26,8 +27,8 @@ $lang['doublequoteopening'] = '“'; $lang['doublequoteclosing'] = '”'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; -$lang['apostrophe'] = '\''; -$lang['btn_edit'] = 'Éditer cette page'; +$lang['apostrophe'] = '’'; +$lang['btn_edit'] = 'Modifier cette page'; $lang['btn_source'] = 'Afficher le texte source'; $lang['btn_show'] = 'Afficher la page'; $lang['btn_create'] = 'Créer cette page'; @@ -35,18 +36,18 @@ $lang['btn_search'] = 'Rechercher'; $lang['btn_save'] = 'Enregistrer'; $lang['btn_preview'] = 'Aperçu'; $lang['btn_top'] = 'Haut de page'; -$lang['btn_newer'] = '<< plus récent'; -$lang['btn_older'] = 'moins récent >>'; +$lang['btn_newer'] = '<< Plus récent'; +$lang['btn_older'] = 'Moins récent >>'; $lang['btn_revs'] = 'Anciennes révisions'; $lang['btn_recent'] = 'Derniers changements'; $lang['btn_upload'] = 'Envoyer'; $lang['btn_cancel'] = 'Annuler'; $lang['btn_index'] = 'Index'; -$lang['btn_secedit'] = 'Éditer'; +$lang['btn_secedit'] = 'Modifier'; $lang['btn_login'] = 'Connexion'; $lang['btn_logout'] = 'Déconnexion'; -$lang['btn_admin'] = 'Admin'; -$lang['btn_update'] = 'Rafraîchir'; +$lang['btn_admin'] = 'Administrer'; +$lang['btn_update'] = 'Mettre à jour'; $lang['btn_delete'] = 'Effacer'; $lang['btn_back'] = 'Retour'; $lang['btn_backlink'] = 'Liens vers cette page'; @@ -55,9 +56,9 @@ $lang['btn_subscribe'] = 'S\'abonner à la page'; $lang['btn_profile'] = 'Mettre à jour le profil'; $lang['btn_reset'] = 'Réinitialiser'; $lang['btn_resendpwd'] = 'Envoyer le mot de passe'; -$lang['btn_draft'] = 'Éditer brouillon'; -$lang['btn_recover'] = 'Récupérer brouillon'; -$lang['btn_draftdel'] = 'Effacer brouillon'; +$lang['btn_draft'] = 'Modifier le brouillon'; +$lang['btn_recover'] = 'Récupérer le brouillon'; +$lang['btn_draftdel'] = 'Effacer le brouillon'; $lang['btn_revert'] = 'Restaurer'; $lang['loggedinas'] = 'Connecté en tant que '; $lang['user'] = 'Utilisateur'; @@ -71,16 +72,16 @@ $lang['email'] = 'Adresse de courriel'; $lang['register'] = 'S\'enregistrer'; $lang['profile'] = 'Profil utilisateur'; $lang['badlogin'] = 'L\'utilisateur ou le mot de passe est incorrect.'; -$lang['minoredit'] = 'Mineur'; +$lang['minoredit'] = 'Modification mineure'; $lang['draftdate'] = 'Brouillon auto-enregistré le'; $lang['nosecedit'] = 'La page a changé entre temps, les informations de la section sont obsolètes ; la page complète a été chargée à la place.'; $lang['regmissing'] = 'Désolé, vous devez remplir tous les champs.'; -$lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris'; +$lang['reguexists'] = 'Désolé, ce nom d\'utilisateur est déjà pris.'; $lang['regsuccess'] = 'L\'utilisateur a été créé. Le mot de passe a été expédié par courriel.'; $lang['regsuccess2'] = 'L\'utilisateur a été créé.'; $lang['regmailfail'] = 'Il semble y avoir un problème à l\'envoi du courriel. Contactez l\'administrateur.'; -$lang['regbadmail'] = 'L\'adresse de courriel semble incorrecte - si vous pensez que c\'est une erreur, contactez l\'administrateur.'; -$lang['regbadpass'] = 'Les deux mots de passe fournis sont différents, recommencez SVP.'; +$lang['regbadmail'] = 'L\'adresse de courriel semble incorrecte. Si vous pensez que c\'est une erreur, contactez l\'administrateur.'; +$lang['regbadpass'] = 'Les deux mots de passe fournis sont différents, veuillez recommencez.'; $lang['regpwmail'] = 'Votre mot de passe DokuWiki'; $lang['reghere'] = 'Vous n\'avez pas encore de compte ? Enregistrez-vous ici '; $lang['profna'] = 'Ce wiki ne permet pas de modifier les profils'; @@ -92,58 +93,79 @@ $lang['resendna'] = 'Ce wiki ne permet pas le renvoi de mot de pass $lang['resendpwd'] = 'Renvoyer le mot de passe de'; $lang['resendpwdmissing'] = 'Désolé, vous devez remplir tous les champs.'; $lang['resendpwdnouser'] = 'Désolé, cet utilisateur est introuvable dans notre base.'; -$lang['resendpwdbadauth'] = 'Désolé, ce code d\'authentification est invalide. Assurez vous d\'avoir utilisé le lien de confirmation.'; +$lang['resendpwdbadauth'] = 'Désolé, ce code d\'authentification est invalide. Assurez-vous d\'avoir utilisé le lien de confirmation.'; $lang['resendpwdconfirm'] = 'Un lien de confirmation vous a été envoyé par courriel.'; $lang['resendpwdsuccess'] = 'Votre nouveau mot de passe vous a été expédié par courriel.'; -$lang['license'] = 'Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:'; -$lang['licenseok'] = 'Note : En éditant cette page vous acceptez que le contenu soit placé sous les termes de la licence suivante :'; -$lang['searchmedia'] = 'Chercher le nom de fichier :'; +$lang['license'] = 'Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante :'; +$lang['licenseok'] = 'Note : En modifiant cette page, vous acceptez que le contenu soit placé sous les termes de la licence suivante :'; +$lang['searchmedia'] = 'Chercher le nom de fichier :'; $lang['searchmedia_in'] = 'Chercher dans %s'; $lang['txt_upload'] = 'Sélectionnez un fichier à envoyer '; -$lang['txt_filename'] = 'Donnez un "wikiname" (optionnel) '; +$lang['txt_filename'] = 'Donnez un « wikiname » (optionnel) '; $lang['txt_overwrt'] = 'Écraser le fichier cible'; $lang['lockedby'] = 'Actuellement bloqué par'; $lang['lockexpire'] = 'Le blocage expire à'; -$lang['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton Aperçu pour réinitialiser le minuteur.'; -$lang['notsavedyet'] = 'Les changements non enregistrés seront perdus.\nVoulez-vous vraiment continuer ?'; +$lang['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.'; +$lang['notsavedyet'] = 'Les modifications non enregistrées seront perdues.\nVoulez-vous vraiment continuer ?'; $lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : '; $lang['nothingfound'] = 'Pas de réponse.'; $lang['mediaselect'] = 'Sélection de fichier'; $lang['fileupload'] = 'Envoi de fichier'; -$lang['uploadsucc'] = 'Envoi réussi'; -$lang['uploadfail'] = 'L\'envoi n\'a pas réussi. Les permissions sont-elles correctes ?'; -$lang['uploadwrong'] = 'Envoi refusé. Cette extension de fichier est interdite !'; -$lang['uploadexist'] = 'Le fichier existe. Envoi avorté.'; +$lang['uploadsucc'] = 'Téléversement réussi'; +$lang['uploadfail'] = 'Le téléversement n\'a pas réussi. Les permissions sont-elles correctes ?'; +$lang['uploadwrong'] = 'Téléversement refusé. Cette extension de fichier est interdite !'; +$lang['uploadexist'] = 'Le fichier existe. Téléversement avorté.'; $lang['uploadbadcontent'] = 'Le contenu envoyé ne correspond pas à l\'extension du fichier %s.'; -$lang['uploadspam'] = 'L\'envoi a été bloqué par la liste noire antispam.'; -$lang['uploadxss'] = 'L\'envoi a été bloqué car son contenu est peut-être malveillant.'; -$lang['uploadsize'] = 'Le fichier envoyé était trop gros. (max. %s)'; -$lang['deletesucc'] = 'Le fichier "%s" a été effacé.'; -$lang['deletefail'] = 'Le fichier "%s" n\'a pu être effacé - vérifier les permissions.'; -$lang['mediainuse'] = 'Le fichier "%s" n\'a pas été effacé - il est en cours d\'utilisation.'; +$lang['uploadspam'] = 'Le téléversement a été bloqué par la liste noire antispam.'; +$lang['uploadxss'] = 'Le téléversement a été bloqué car son contenu est peut-être malveillant.'; +$lang['uploadsize'] = 'Le fichier téléversé était trop gros. (max. %s)'; +$lang['deletesucc'] = 'Le fichier « %s » a été effacé.'; +$lang['deletefail'] = 'Le fichier « %s » n\'a pu être effacé, vérifier les permissions.'; +$lang['mediainuse'] = 'Le fichier « %s » n\'a pas été effacé, il est en cours d\'utilisation.'; $lang['namespaces'] = 'Catégories'; $lang['mediafiles'] = 'Fichiers disponibles dans'; $lang['js']['searchmedia'] = 'Chercher des fichiers'; $lang['js']['keepopen'] = 'Gardez la fenêtre ouverte pendant la sélection'; $lang['js']['hidedetails'] = 'Masquer détails'; +$lang['js']['mediatitle'] = 'Paramètres de lien'; +$lang['js']['mediadisplay'] = 'Type de lien'; +$lang['js']['mediaalign'] = 'Alignement'; +$lang['js']['mediasize'] = 'Taille d\'image'; +$lang['js']['mediatarget'] = 'Cible du lien'; +$lang['js']['mediaclose'] = 'Fermer'; +$lang['js']['mediainsert'] = 'Insérer'; +$lang['js']['mediadisplayimg'] = 'Afficher l\'image.'; +$lang['js']['mediadisplaylnk'] = 'N\'afficher que le lien.'; +$lang['js']['mediasmall'] = 'Petite version'; +$lang['js']['mediamedium'] = 'Version moyenne'; +$lang['js']['medialarge'] = 'Grande version'; +$lang['js']['mediaoriginal'] = 'Version originale'; +$lang['js']['medialnk'] = 'Lien vers la page de détail'; +$lang['js']['mediadirect'] = 'Lien direct vers l\'original'; +$lang['js']['medianolnk'] = 'Aucun lien'; +$lang['js']['medianolink'] = 'Ne pas lier l\'image'; +$lang['js']['medialeft'] = 'Aligner l\'image sur la gauche.'; +$lang['js']['mediaright'] = 'Aligner l\'image sur la droite.'; +$lang['js']['mediacenter'] = 'Centrer l\'image'; +$lang['js']['medianoalign'] = 'Ne pas aligner.'; $lang['js']['nosmblinks'] = 'Les liens vers les partages Windows ne fonctionnent qu\'avec Microsoft Internet Explorer. -Vous pouvez toujours faire un copier/coller du lien.'; +Vous pouvez toujours copier puis coller le lien.'; $lang['js']['linkwiz'] = 'Assistant Lien'; -$lang['js']['linkto'] = 'Lien vers:'; +$lang['js']['linkto'] = 'Lien vers :'; $lang['js']['del_confirm'] = 'Effacer cette entrée ?'; $lang['js']['mu_btn'] = 'Envoyer plusieurs fichiers en même temps'; $lang['mediausage'] = 'Utilisez la syntaxe suivante pour faire référence à ce fichier :'; -$lang['mediaview'] = 'Voir fichier original'; -$lang['mediaroot'] = 'root'; -$lang['mediaupload'] = 'Envoyer un fichier dans la catégorie courante ici. Pour créer des sous-catégories, préfixez le nom du fichier par le nom de la sous-catégorie séparée par un double point.'; +$lang['mediaview'] = 'Afficher le fichier original'; +$lang['mediaroot'] = 'racine'; +$lang['mediaupload'] = 'Téléverser un fichier dans la catégorie actuelle. Pour créer des sous-catégories, préfixez le nom du fichier par le nom de la sous-catégorie séparée par un double-point.'; $lang['mediaextchange'] = 'Extension du fichier changée de .%s en .%s !'; $lang['reference'] = 'Références pour'; $lang['ref_inuse'] = 'Le fichier ne peut être effacé car il est utilisé par les pages suivantes :'; $lang['ref_hidden'] = 'Des références existent dans des pages que vous n\'avez pas la permission de lire'; -$lang['hits'] = 'occurrences trouvées'; +$lang['hits'] = 'Occurrences trouvées'; $lang['quickhits'] = 'Pages trouvées '; $lang['toc'] = 'Table des matières'; -$lang['current'] = 'version actuelle'; +$lang['current'] = 'Version actuelle'; $lang['yours'] = 'Votre version'; $lang['diff'] = 'Différences avec la version actuelle'; $lang['diff2'] = 'Différences entre les versions sélectionnées'; @@ -155,44 +177,43 @@ $lang['by'] = 'par'; $lang['deleted'] = 'effacée'; $lang['created'] = 'créée'; $lang['restored'] = 'ancienne révision restaurée'; -$lang['external_edit'] = 'édition externe'; +$lang['external_edit'] = 'modification externe'; $lang['summary'] = 'Résumé'; -$lang['noflash'] = 'L"extension Adobe Flash Plugin est nécessaire pour afficher ce contenu.'; +$lang['noflash'] = 'Le greffon Adobe Flash est nécessaire pour afficher ce contenu.'; $lang['download'] = 'Télécharger un extrait'; -$lang['table_edit_title'] = 'Tableau'; -$lang['mail_newpage'] = 'page ajoutée :'; -$lang['mail_changed'] = 'page changée :'; -$lang['mail_subscribe_list'] = 'pages modifiées dans l\'espace de nommage:'; -$lang['mail_new_user'] = 'nouvel utilisateur :'; -$lang['mail_upload'] = 'fichier envoyé :'; -$lang['qb_bold'] = 'Gras'; -$lang['qb_italic'] = 'Italique'; +$lang['mail_newpage'] = 'page ajoutée :'; +$lang['mail_changed'] = 'page modifiée :'; +$lang['mail_subscribe_list'] = 'pages modifiées dans la catégorie :'; +$lang['mail_new_user'] = 'nouvel utilisateur :'; +$lang['mail_upload'] = 'fichier envoyé :'; +$lang['qb_bold'] = 'Emphase forte (gras)'; +$lang['qb_italic'] = 'Emphase (italique)'; $lang['qb_underl'] = 'Souligné'; -$lang['qb_code'] = 'Code'; +$lang['qb_code'] = 'Code « machine à écrire »'; $lang['qb_strike'] = 'Texte barré'; -$lang['qb_h1'] = 'En-tête 1'; -$lang['qb_h2'] = 'En-tête 2'; -$lang['qb_h3'] = 'En-tête 3'; -$lang['qb_h4'] = 'En-tête 4'; -$lang['qb_h5'] = 'En-tête 5'; +$lang['qb_h1'] = 'Titre de niveau 1'; +$lang['qb_h2'] = 'Titre de niveau 2'; +$lang['qb_h3'] = 'Titre de niveau 3'; +$lang['qb_h4'] = 'Titre de niveau 4'; +$lang['qb_h5'] = 'Titre de niveau 5'; $lang['qb_h'] = 'Titre'; $lang['qb_hs'] = 'Sélectionner la ligne de titre'; -$lang['qb_hplus'] = 'Titre supérieur'; -$lang['qb_hminus'] = 'Titre inférieur'; +$lang['qb_hplus'] = 'Titre de niveau supérieur'; +$lang['qb_hminus'] = 'Titre de niveau inférieur'; $lang['qb_hequal'] = 'Titre de même niveau'; $lang['qb_link'] = 'Lien interne'; $lang['qb_extlink'] = 'Lien externe'; $lang['qb_hr'] = 'Ligne horizontale'; $lang['qb_ol'] = 'Liste numérotée'; $lang['qb_ul'] = 'Liste à puce'; -$lang['qb_media'] = 'Ajouter des images et autres fichiers'; +$lang['qb_media'] = 'Ajouter des images ou d\'autres fichiers'; $lang['qb_sig'] = 'Insérer une signature'; -$lang['qb_smileys'] = 'Émoticons'; +$lang['qb_smileys'] = 'Émoticones'; $lang['qb_chars'] = 'Caractères spéciaux'; $lang['upperns'] = 'Aller à la catégorie parente'; $lang['admin_register'] = 'Ajouter un nouvel utilisateur'; -$lang['metaedit'] = 'Éditer les métadonnées'; -$lang['metasaveerr'] = 'Erreur à l\'écriture des métadonnées'; +$lang['metaedit'] = 'Modifier les métadonnées'; +$lang['metasaveerr'] = 'Erreur lors de l\'écriture des métadonnées'; $lang['metasaveok'] = 'Métadonnées enregistrées'; $lang['img_backto'] = 'Retour à'; $lang['img_title'] = 'Titre'; @@ -204,40 +225,40 @@ $lang['img_artist'] = 'Auteur'; $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Appareil photo'; -$lang['img_keywords'] = 'Mots clef'; -$lang['subscr_subscribe_success'] = 'Ajouté %s à la liste de souscription de %s'; +$lang['img_keywords'] = 'Mots-clés'; +$lang['subscr_subscribe_success'] = '%s a été ajouté à la liste de souscription de %s'; $lang['subscr_subscribe_error'] = 'Erreur en ajoutant %s à la liste de souscription de %s'; -$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre login, vous ne pouvez pas être ajouté à la liste de souscription'; -$lang['subscr_unsubscribe_success'] = 'Retiré %s de la liste de souscription de %s'; +$lang['subscr_subscribe_noaddress'] = 'Il n\'y a pas d\'adresse associée à votre identifiant, vous ne pouvez pas être ajouté à la liste de souscription'; +$lang['subscr_unsubscribe_success'] = '%s a été retiré de la liste de souscription de %s'; $lang['subscr_unsubscribe_error'] = 'Erreur en retirant %s de la liste de souscription de %s'; $lang['subscr_already_subscribed'] = '%s est déjà souscrit à %s'; $lang['subscr_not_subscribed'] = '%s n\'est pas souscrit à %s'; -$lang['subscr_m_not_subscribed'] = 'Vous n\'avez pas souscrit pour l\'instant à la page courante ou l\'espace de nommage'; +$lang['subscr_m_not_subscribed'] = 'Vous n\'avez pas souscrit pour l\'instant à la page actuelle ou la catégorie'; $lang['subscr_m_new_header'] = 'Ajouter une souscription'; $lang['subscr_m_current_header'] = 'Souscriptions actives'; $lang['subscr_m_unsubscribe'] = 'Annuler la souscription'; $lang['subscr_m_subscribe'] = 'Souscrire'; $lang['subscr_m_receive'] = 'Recevoir'; -$lang['subscr_style_every'] = 'Envoyer un email à chaque changement'; -$lang['subscr_style_digest'] = 'Email résumé des changements de chaque page'; -$lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier email'; +$lang['subscr_style_every'] = 'Envoyer un courriel à chaque modification'; +$lang['subscr_style_digest'] = 'Courriel résumant les modifications de chaque page'; +$lang['subscr_style_list'] = 'Liste des pages modifiées depuis le dernier courriel'; $lang['authmodfailed'] = 'Mauvais paramétrage de l\'authentification. Merci d\'informer l\'administrateur du Wiki.'; $lang['authtempfail'] = 'L\'authentification est temporairement indisponible. Si cela perdure, merci d\'informer l\'administrateur du Wiki.'; $lang['i_chooselang'] = 'Choisissez votre langue'; $lang['i_installer'] = 'Installeur DokuWiki'; -$lang['i_wikiname'] = 'Nom du Wiki'; +$lang['i_wikiname'] = 'Nom du wiki'; $lang['i_enableacl'] = 'Activer les ACL (recommandé)'; $lang['i_superuser'] = 'Super-utilisateur'; $lang['i_problems'] = 'L\'installeur a détecté les problèmes indiqués ci-dessous. Vous ne pouvez poursuivre tant qu\'ils n\'auront pas été corrigés.'; $lang['i_modified'] = 'Pour des raisons de sécurité ce script ne fonctionne qu\'avec une installation neuve et non modifiée de DokuWiki. Vous devriez ré-extraire les fichiers depuis le paquet téléchargé ou consulter les instructions d\'installation de DokuWiki'; $lang['i_funcna'] = 'La fonction PHP %s n\'est pas disponible. Peut-être que votre hébergeur l\'a désactivée ?'; -$lang['i_phpver'] = 'Votre version de PHP (%s) est antérieure à la version requise (%s. Vous devez mettre à jour votre installation de PHP.'; +$lang['i_phpver'] = 'Votre version de PHP (%s) est antérieure à la version requise (%s). Vous devez mettre à jour votre installation de PHP.'; $lang['i_permfail'] = '%s n\'est pas accessible en écriture pour DokuWiki. Vous devez corriger les permissions de ce répertoire !'; $lang['i_confexists'] = '%s existe déjà'; $lang['i_writeerr'] = 'Impossible de créer %s. Vous devez vérifier les permissions des répertoires/fichiers et créer le fichier manuellement.'; $lang['i_badhash'] = 'dokuwiki.php non reconnu ou modifié (hash=%s)'; -$lang['i_badval'] = '%s - valeur illégale ou vide'; -$lang['i_success'] = 'L\'installation s\'est terminée avec succès. Vous pouvez maintenant supprimer le fichier install.php. Continuer avec votre nouveau DokuWiki.'; +$lang['i_badval'] = '%s - valeur interdite ou vide'; +$lang['i_success'] = 'L\'installation s\'est terminée avec succès. Vous pouvez maintenant supprimer le fichier « install.php ». Continuer avec votre nouveau DokuWiki.'; $lang['i_failure'] = 'Des erreurs sont survenues lors de l\'écriture des fichiers de configuration. Il vous faudra les corriger manuellement avant de pouvoir utiliser votre nouveau DokuWiki.'; $lang['i_policy'] = 'Politique d\'ACL initiale'; $lang['i_pol0'] = 'Wiki ouvert (lecture, écriture, envoi de fichiers pour tout le monde)'; @@ -259,7 +280,7 @@ $lang['mu_progress'] = '@PCT@% envoyé'; $lang['mu_filetypes'] = 'Types de fichiers acceptés'; $lang['mu_info'] = 'fichiers envoyés.'; $lang['mu_lasterr'] = 'Dernière erreur : '; -$lang['recent_global'] = 'Vous êtes actuellement en train de regarder les modifications au sein du namespace %s. Vous pouvez aussi voir les récentes modifications sur tout le wiki.'; +$lang['recent_global'] = 'Vous êtes actuellement en train de regarder les modifications au sein de la catégorie %s. Vous pouvez aussi voir les récentes modifications sur tout le wiki.'; $lang['years'] = 'il y a %d ans'; $lang['months'] = 'il y a %d mois'; $lang['weeks'] = 'il y a %d semaines'; diff --git a/inc/lang/fr/locked.txt b/inc/lang/fr/locked.txt index ac8eb4c4b..82cdd7373 100644 --- a/inc/lang/fr/locked.txt +++ b/inc/lang/fr/locked.txt @@ -1,3 +1,3 @@ ====== Page bloquée ====== -Cette page est actuellement bloquée pour édition par un autre utilisateur. Vous devez attendre que l'autre utilisateur ait terminé ou que le blocage de la page expire. +Cette page est actuellement bloquée pour modification par un autre utilisateur. Vous devez attendre que l'autre utilisateur ait terminé ou que le blocage de la page expire. diff --git a/inc/lang/fr/mailtext.txt b/inc/lang/fr/mailtext.txt index 0b87616b1..add3b2779 100644 --- a/inc/lang/fr/mailtext.txt +++ b/inc/lang/fr/mailtext.txt @@ -1,4 +1,4 @@ -Une page dans votre Wiki a été ajoutée ou modifiée. Voici les +Une page dans votre wiki a été ajoutée ou modifiée. Voici les détails : Date : @DATE@ @@ -7,6 +7,7 @@ Adresse IP : @IPADDRESS@ Nom d'hôte : @HOSTNAME@ Ancienne révision : @OLDPAGE@ Nouvelle révision : @NEWPAGE@ +Différences : @OLDPAGE@&do=diff Résumé : @SUMMARY@ Utilisateur : @USER@ @@ -14,5 +15,5 @@ Utilisateur : @USER@ -- -Ce message a été généré par DokuWiki +Ce courriel a été généré par DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/fr/newpage.txt b/inc/lang/fr/newpage.txt index 3d834ffd0..0ed2b25af 100644 --- a/inc/lang/fr/newpage.txt +++ b/inc/lang/fr/newpage.txt @@ -1,4 +1,4 @@ ====== Cette page n'existe pas encore ====== -Vous avez suivi un lien vers une page qui n'existe pas encore. Si vos droits sont suffisants, vous pouvez utiliser le bouton ''Créer cette page''. +Vous avez suivi un lien vers une page qui n'existe pas encore. Si vos droits sont suffisants, vous pouvez utiliser le bouton ou le lien « Créer cette page ». diff --git a/inc/lang/fr/norev.txt b/inc/lang/fr/norev.txt index 65984ef9c..3f96b6aff 100644 --- a/inc/lang/fr/norev.txt +++ b/inc/lang/fr/norev.txt @@ -1,4 +1,4 @@ ====== Révision non trouvée ====== -La révision demandée n'existe pas. Utilisez le bouton 'Anciennes révisions' pour une liste des révisions de ce document. +La révision demandée n'existe pas. Utilisez le bouton ou le lien « Anciennes révisions » pour une liste des révisions de ce document. diff --git a/inc/lang/fr/password.txt b/inc/lang/fr/password.txt index 6c4f5309f..f4500fc85 100644 --- a/inc/lang/fr/password.txt +++ b/inc/lang/fr/password.txt @@ -6,5 +6,5 @@ Utilisateur : @LOGIN@ Mot de passe : @PASSWORD@ -- -Ce mail a été envoyé par DokuWiki de +Ce courriel a été envoyé par DokuWiki de @DOKUWIKIURL@ diff --git a/inc/lang/fr/pwconfirm.txt b/inc/lang/fr/pwconfirm.txt index 432b5f102..af84833df 100644 --- a/inc/lang/fr/pwconfirm.txt +++ b/inc/lang/fr/pwconfirm.txt @@ -1,6 +1,6 @@ Bonjour @FULLNAME@ ! -Quelqu'un a demandé un nouveau mot de passe pour votre login +Quelqu'un a demandé un nouveau mot de passe pour votre identifiant @TITLE@ sur @DOKUWIKIURL@ Si vous n'êtes pas à l'origine de cette requête d'un nouveau mot de @@ -11,5 +11,5 @@ Pour confirmer que cette requête émane bien de vous, merci de suivre le lien c @CONFIRM@ -- -Ce message a été généré par DokuWiki +Ce courriel a été généré par DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/fr/registermail.txt b/inc/lang/fr/registermail.txt index 960aedf2d..1beae8522 100644 --- a/inc/lang/fr/registermail.txt +++ b/inc/lang/fr/registermail.txt @@ -10,5 +10,5 @@ Adresse IP : @IPADDRESS@ Nom d'hôte : @HOSTNAME@ -- -Ce message a été généré par DokuWiki +Ce courriel a été généré par DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/fr/resendpwd.txt b/inc/lang/fr/resendpwd.txt index 2cfbed617..44fbeef03 100644 --- a/inc/lang/fr/resendpwd.txt +++ b/inc/lang/fr/resendpwd.txt @@ -1,4 +1,4 @@ ====== Envoyer un nouveau mot de passe ====== -Veuillez compléter les champs ci dessous pour obtenir un nouveau mot de passe pour votre compte dans ce wiki. Un lien de confirmation vous sera envoyé à l'adresse de courriel utilisée lors de votre enregistrement. +Veuillez compléter les champs ci-dessous pour obtenir un nouveau mot de passe pour votre compte dans ce wiki. Un lien de confirmation vous sera envoyé à l'adresse de courriel utilisée lors de votre enregistrement. diff --git a/inc/lang/fr/revisions.txt b/inc/lang/fr/revisions.txt index c9149ef9b..29c17137f 100644 --- a/inc/lang/fr/revisions.txt +++ b/inc/lang/fr/revisions.txt @@ -1,4 +1,4 @@ ====== Anciennes révisions ====== -Voici les anciennes révisions de la page en cours. Pour revenir à une ancienne révision, sélectionnez-la ci-dessous, cliquez sur le bouton ''Éditer cette page'' et enregistrez-la. +Voici les anciennes révisions de la page en cours. Pour revenir à une ancienne révision, sélectionnez-la ci-dessous, cliquez sur le bouton « Modifier cette page » et enregistrez-la. diff --git a/inc/lang/fr/searchpage.txt b/inc/lang/fr/searchpage.txt index 8355a2f9d..a9bd91608 100644 --- a/inc/lang/fr/searchpage.txt +++ b/inc/lang/fr/searchpage.txt @@ -1,5 +1,5 @@ ====== Recherche ====== -Voici les résultats de votre recherche. Si vous n'avez pas trouvé ce que vous cherchiez, vous pouvez créer ou éditer la page correspondante à votre requête en cliquant sur le bouton approprié. +Voici les résultats de votre recherche. Si vous n'avez pas trouvé ce que vous cherchiez, vous pouvez créer ou modifier la page correspondante à votre requête en cliquant sur le bouton approprié. ===== Résultats ===== diff --git a/inc/lang/fr/subscr_digest.txt b/inc/lang/fr/subscr_digest.txt new file mode 100644 index 000000000..1803407fa --- /dev/null +++ b/inc/lang/fr/subscr_digest.txt @@ -0,0 +1,19 @@ +Bonjour, + +La page « @PAGE@ » dans le wiki « @TITLE@ » a été modifiée. Voici ces modifications : + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Révision précédente : @OLDPAGE@ +Nouvelle révision : @NEWPAGE@ + +Pour annuler les notifications de page, connectez-vous au wiki à l'adresse +@DOKUWIKIURL@ puis visitez +@SUBSCRIBE@ +et désabonnez-vous de la page ou de la catégorie. + +-- +Ce courriel a été généré par Dokuwiki : +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/fr/subscr_form.txt b/inc/lang/fr/subscr_form.txt new file mode 100644 index 000000000..528f77475 --- /dev/null +++ b/inc/lang/fr/subscr_form.txt @@ -0,0 +1,3 @@ +====== Gestion de l'abonnement ====== + +Cette page vous permet de gérer vos abonnements à la page ou à la catégorie courantes \ No newline at end of file diff --git a/inc/lang/fr/subscr_list.txt b/inc/lang/fr/subscr_list.txt new file mode 100644 index 000000000..3387b11ee --- /dev/null +++ b/inc/lang/fr/subscr_list.txt @@ -0,0 +1,16 @@ +Bonjour, + +Des pages dans la catégorie « @PAGE@ » du wiki « @TITLE@ » ont été modifiées. Voici ces modifications : + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Pour annuler les notifications de page, connectez-vous au wiki à l'adresse +@DOKUWIKIURL@ puis visitez +@SUBSCRIBE@ +et désabonnez-vous de la page ou de la catégorie. + +-- +Ce courriel a été généré par Dokuwiki : +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/fr/subscr_single.txt b/inc/lang/fr/subscr_single.txt new file mode 100644 index 000000000..1b9d5e1b5 --- /dev/null +++ b/inc/lang/fr/subscr_single.txt @@ -0,0 +1,22 @@ +Bonjour, + +La page « @PAGE@ » dans le wiki « @TITLE@ » a été modifiée. Voici ces modifications : + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Date : @DATE@ +Utilisateur : @USER@ +Résumé : @SUMMARY@ +Révision précédente : @OLDPAGE@ +Nouvelle révision : @NEWPAGE@ + +Pour annuler les notifications de page, connectez-vous au wiki à l'adresse +@DOKUWIKIURL@ puis visitez +@SUBSCRIBE@ +et désabonnez-vous de la page ou de la catégorie. + +-- +Ce courriel a été généré par Dokuwiki : +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/fr/uploadmail.txt b/inc/lang/fr/uploadmail.txt index 3a186b554..05b3205d7 100644 --- a/inc/lang/fr/uploadmail.txt +++ b/inc/lang/fr/uploadmail.txt @@ -1,4 +1,4 @@ -Un fichier a été envoyé dans votre DokuWiki. En voici les détails : +Un fichier a été téléversé dans votre wiki. En voici les détails : Fichier : @MEDIA@ Date : @DATE@ diff --git a/inc/lang/fr/wordblock.txt b/inc/lang/fr/wordblock.txt index ae5962a80..608ad00d7 100644 --- a/inc/lang/fr/wordblock.txt +++ b/inc/lang/fr/wordblock.txt @@ -1,4 +1,4 @@ -====== Changement bloqué ====== +====== Modification bloquée ====== -Vos changements n'ont **pas été enregistrés** car ils contiennent un ou plusieurs mots bloqués. Si vous avez essayé de spammer le Wiki -- mauvaise idée ! Si vous pensez que c'est une erreur, contactez l'administrateur de ce Wiki. +Vos modifications n'ont **pas été enregistrées** car elles contiennent un ou plusieurs mots bloqués. Si vous avez essayé de spammer le Wiki, c'est une mauvaise idée ! Si vous pensez que c'est une erreur, contactez l'administrateur de ce Wiki. diff --git a/lib/plugins/acl/lang/fr/help.txt b/lib/plugins/acl/lang/fr/help.txt index 69661bb9b..f748f6b23 100644 --- a/lib/plugins/acl/lang/fr/help.txt +++ b/lib/plugins/acl/lang/fr/help.txt @@ -1,9 +1,9 @@ -=== Aide rapide : === +=== Aide rapide === Cette page vous permet d'ajouter ou de supprimer des permissions pour les catégories et les pages de votre wiki. Le panneau de gauche liste toutes les catégories et les pages disponibles. -Le formulaire au dessus permet d'afficher et de modifier les permissions d'un utilisateur ou d'un groupe sélectionné. +Le formulaire au-dessus permet d'afficher et de modifier les permissions d'un utilisateur ou d'un groupe sélectionné. -Dans la table ci-dessous toutes les listes de contrôle d'accès actuelles sont affichées. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs ACLs. +Dans le tableau ci-dessous, toutes les listes de contrôle d'accès actuelles sont affichées. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs ACL. -La lecture de [[doku>acl|la documentation officielle des ACLs]] pourra vous permettre de comprendre complètement le fonctionnement du contrôle d'accès dans DokuWiki. +La lecture de [[doku>acl|la documentation officielle des ACL]] pourra vous permettre de bien comprendre le fonctionnement du contrôle d'accès dans DokuWiki. diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index 7973ab559..64d918360 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -18,6 +18,7 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; $lang['acl_group'] = 'Groupe'; @@ -26,15 +27,15 @@ $lang['acl_perms'] = 'Permission pour'; $lang['page'] = 'Page'; $lang['namespace'] = 'Catégorie'; $lang['btn_select'] = 'Sélectionner'; -$lang['p_user_id'] = 'Permissions actuelles de l\'utilisateur %s sur la page %s: %s.'; -$lang['p_user_ns'] = 'Permissions actuelles de l\'utilisateur %s sur la catégorie %s: %s.'; -$lang['p_group_id'] = 'Permissions actuelles des membres du groupe %s sur la page %s: %s.'; -$lang['p_group_ns'] = 'Permissions actuelles des membres du groupe %s sur la catégorie %s: %s.'; -$lang['p_choose_id'] = 'Saisissez un nom d\'utilisateur ou de groupe dans le formulaire ci-dessus pour afficher ou éditer les permissions relatives à la page %s.'; -$lang['p_choose_ns'] = 'Saisissez un nom d\'utilisateur ou de groupe dans le formulaire ci-dessous pour afficher ou éditer les permissions relatives à la catégorie %s.'; +$lang['p_user_id'] = 'Permissions actuelles de l\'utilisateur %s sur la page %s: %s.'; +$lang['p_user_ns'] = 'Permissions actuelles de l\'utilisateur %s sur la catégorie %s: %s.'; +$lang['p_group_id'] = 'Permissions actuelles des membres du groupe %s sur la page %s: %s.'; +$lang['p_group_ns'] = 'Permissions actuelles des membres du groupe %s sur la catégorie %s: %s.'; +$lang['p_choose_id'] = 'Saisissez un nom d\'utilisateur ou de groupe dans le formulaire ci-dessus pour afficher ou éditer les permissions relatives à la page %s.'; +$lang['p_choose_ns'] = 'Saisissez un nom d\'utilisateur ou de groupe dans le formulaire ci-dessous pour afficher ou éditer les permissions relatives à la catégorie %s.'; $lang['p_inherited'] = 'Note : Ces permissions n\'ont pas été explicitement fixées mais sont héritées d\'autres groupes ou catégories supérieures.'; $lang['p_isadmin'] = 'Note : Le groupe ou l\'utilisateur sélectionné dispose de toutes les permissions car il est paramétré en tant que superutilisateur.'; -$lang['p_include'] = 'Les permissions les plus élevées induisent les plus faibles. Création, Télécharger, et Effacer, ne s\'appliquent qu\'aux catégories ; pas aux pages.'; +$lang['p_include'] = 'Les permissions les plus élevées induisent les plus faibles. Création, Télécharger et Effacer ne s\'appliquent qu\'aux catégories, pas aux pages.'; $lang['current'] = 'ACL actuelles'; $lang['where'] = 'Page/Catégorie'; $lang['who'] = 'Utilisateur/Groupe'; @@ -43,7 +44,7 @@ $lang['acl_perm0'] = 'Aucune'; $lang['acl_perm1'] = 'Lecture'; $lang['acl_perm2'] = 'Écriture'; $lang['acl_perm4'] = 'Création'; -$lang['acl_perm8'] = 'Téléverser (Upload)'; +$lang['acl_perm8'] = 'Téléverser'; $lang['acl_perm16'] = 'Effacer'; $lang['acl_new'] = 'Ajouter une nouvelle entrée'; $lang['acl_mod'] = 'Modifier l\'entrée'; diff --git a/lib/plugins/config/lang/fr/intro.txt b/lib/plugins/config/lang/fr/intro.txt index 79e4a42da..de8a965d8 100644 --- a/lib/plugins/config/lang/fr/intro.txt +++ b/lib/plugins/config/lang/fr/intro.txt @@ -1,8 +1,8 @@ ====== Gestionnaire de configuration ====== -Utilisez cette page pour contrôler les paramètres de votre installation de DokuWiki. Pour de l'aide sur chaque paramètre, reportez vous à [[doku>config]]. Pour d'autres détails concernant ce plugin, reportez vous à [[doku>plugin:config]]. +Utilisez cette page pour contrôler les paramètres de votre installation de DokuWiki. Pour de l'aide sur chaque paramètre, reportez vous à [[doku>config]]. Pour d'autres détails concernant ce module, reportez vous à [[doku>plugin:config]]. -Les paramètres affichés sur un fond rouge sont protégés et ne peuvent être modifiés avec ce plugin. Les paramètres affichés sur un fond bleu sont les valeurs par défaut et les valeurs affectées à votre installation sont affichées sur un fond blanc. Les paramètres bleus et blancs peuvent être modifiés. +Les paramètres affichés sur un fond rouge sont protégés et ne peuvent être modifiés avec ce module. Les paramètres affichés sur un fond bleu sont les valeurs par défaut et les valeurs affectées à votre installation sont affichées sur un fond blanc. Les paramètres bleus et blancs peuvent être modifiés. N'oubliez pas d'utiliser le bouton **Enregistrer** avant de quitter cette page, sinon vos modifications seront perdues. diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index e06a44c10..09e625eb1 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -13,9 +13,10 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['menu'] = 'Paramètres de configuration'; -$lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez.
La valeur(s) erronée(s) est entourée d\'une bordure rouge.'; +$lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez.
Les valeurs erronées sont entourées d\'une bordure rouge.'; $lang['updated'] = 'Paramètres mis à jour avec succès.'; $lang['nochoice'] = '(aucun autre choix possible)'; $lang['locked'] = 'Le fichier des paramètres ne peut être modifié, si ceci n\'est pas intentionnel,
vérifiez que le nom et les droits du fichier sont corrects.'; @@ -23,9 +24,9 @@ $lang['danger'] = 'Danger : Modifier cette option pourrait rendre $lang['warning'] = 'Attention : Modifier cette option pourrait engendrer un comportement indésirable.'; $lang['security'] = 'Avertissement de sécurité : Modifier cette option pourrait induire un risque de sécurité.'; $lang['_configuration_manager'] = 'Gestionnaire de configuration'; -$lang['_header_dokuwiki'] = 'Paramètres DokuWiki'; -$lang['_header_plugin'] = 'Paramètres plugin'; -$lang['_header_template'] = 'Paramètres template'; +$lang['_header_dokuwiki'] = 'Paramètres de DokuWiki'; +$lang['_header_plugin'] = 'Paramètres des modules externes'; +$lang['_header_template'] = 'Paramètres des modèles'; $lang['_header_undefined'] = 'Paramètres indéfinis'; $lang['_basic'] = 'Paramètres de base'; $lang['_display'] = 'Paramètres d\'affichage'; @@ -36,7 +37,7 @@ $lang['_links'] = 'Paramètres des liens'; $lang['_media'] = 'Paramètres média'; $lang['_advanced'] = 'Paramètres avancés'; $lang['_network'] = 'Paramètres réseaux'; -$lang['_plugin_sufix'] = 'Paramètres plugin'; +$lang['_plugin_sufix'] = 'Paramètres de module'; $lang['_template_sufix'] = 'Paramètres de modèle'; $lang['_msg_setting_undefined'] = 'Pas de métadonnée de paramètres.'; $lang['_msg_setting_no_class'] = 'Pas de classe de paramètres.'; @@ -44,50 +45,50 @@ $lang['_msg_setting_no_default'] = 'Pas de valeur par défaut.'; $lang['fmode'] = 'Mode de création des fichiers'; $lang['dmode'] = 'Mode de création des répertoires'; $lang['lang'] = 'Langue'; -$lang['basedir'] = 'Répertoire de base'; -$lang['baseurl'] = 'URL de base'; +$lang['basedir'] = 'Répertoire de base (ex. : /dokuwiki/). Laisser vide pour une détection automatique.'; +$lang['baseurl'] = 'URL de base. Laisser vide pour une détection automatique.'; $lang['savedir'] = 'Répertoire de stockage'; $lang['start'] = 'Nom de la page d\'accueil'; $lang['title'] = 'Titre du wiki'; $lang['template'] = 'Modèle'; -$lang['license'] = 'Sous quelle licence doit être placée votre contribution ?'; +$lang['license'] = 'Sous quelle licence doit être placé le contenu ?'; $lang['fullpath'] = 'Utiliser le chemin complet dans le pied de page'; $lang['recent'] = 'Nombre de derniers changements à afficher'; $lang['breadcrumbs'] = 'Nombre de traces à afficher'; $lang['youarehere'] = 'Traces hiérarchiques'; $lang['typography'] = 'Effectuer des améliorations typographiques'; -$lang['htmlok'] = 'Permettre html dans les pages'; -$lang['phpok'] = 'Permettre php dans les pages'; +$lang['htmlok'] = 'Permettre HTML dans les pages'; +$lang['phpok'] = 'Permettre PHP dans les pages'; $lang['dformat'] = 'Format de date (cf. fonction strftime de PHP)'; $lang['signature'] = 'Signature'; -$lang['toptoclevel'] = 'Niveau supérieur pour figurer dans la table des matières'; +$lang['toptoclevel'] = 'Niveau le plus haut à afficher dans la table des matières'; $lang['tocminheads'] = 'Nombre minimum de titres pour qu\'une table des matières soit construite'; $lang['maxtoclevel'] = 'Niveau maximum pour figurer dans la table des matières'; -$lang['maxseclevel'] = 'Niveau maximum pour éditer des sections'; +$lang['maxseclevel'] = 'Niveau maximum pour modifier des sections'; $lang['camelcase'] = 'Utiliser CamelCase pour les liens'; $lang['deaccent'] = 'Retirer les accents dans les noms de pages'; $lang['useheading'] = 'Utiliser le titre de premier niveau'; -$lang['refcheck'] = 'Vérifier les références de media'; -$lang['refshow'] = 'Nombre de références de media à montrer'; -$lang['allowdebug'] = 'Debug (Ne l\'activez que si vous en avez besoin !)'; +$lang['refcheck'] = 'Vérifier les références de média'; +$lang['refshow'] = 'Nombre de références de média à montrer'; +$lang['allowdebug'] = 'Debug (Ne l\'activez que si vous en avez besoin !)'; $lang['usewordblock'] = 'Bloquer le spam selon les mots utilisés'; -$lang['indexdelay'] = 'Délai avant l\'indexation (sec)'; +$lang['indexdelay'] = 'Délai avant l\'indexation (en secondes)'; $lang['relnofollow'] = 'Utiliser rel="nofollow" sur les liens extérieurs'; $lang['mailguard'] = 'Brouiller les adresses de courriel'; $lang['iexssprotect'] = 'Vérifier la présence de code JavaScript ou HTML malveillant dans les fichiers envoyés'; -$lang['showuseras'] = 'Qu\'afficher en montrant les utilisateurs qui ont récemment édité la page'; +$lang['showuseras'] = 'Qu\'afficher en montrant les utilisateurs qui ont récemment modifié la page'; $lang['useacl'] = 'Utiliser les listes de contrôle d\'accès (ACL)'; $lang['autopasswd'] = 'Auto-générer les mots de passe'; $lang['authtype'] = 'Mécanisme d\'authentification'; -$lang['passcrypt'] = 'Méthode de cryptage des mots de passe'; +$lang['passcrypt'] = 'Méthode de chiffrement des mots de passe'; $lang['defaultgroup'] = 'Groupe par défaut'; -$lang['superuser'] = 'Superuser - groupe, utilisateur ou liste séparée par des virgules user1,@group1,user2 ayant un accès complet à toutes les pages quelquesoit le paramétrage des ACL'; +$lang['superuser'] = 'Superuser - groupe, utilisateur ou liste séparée par des virgules user1,@group1,user2 ayant un accès complet à toutes les pages quelque soit le paramétrage des ACL'; $lang['manager'] = 'Manager - groupe, utilisateur ou liste séparée par des virgules user1,@group1,user2 ayant accès à certaines fonctions de gestion'; $lang['profileconfirm'] = 'Confirmer par mot de passe les modifications de profil'; $lang['disableactions'] = 'Actions à désactiver dans DokuWiki'; $lang['disableactions_check'] = 'Vérifier'; $lang['disableactions_subscription'] = 'Abonnement aux pages'; -$lang['disableactions_wikicode'] = 'Afficher source'; +$lang['disableactions_wikicode'] = 'Afficher le texte source'; $lang['disableactions_other'] = 'Autres actions (séparées par des virgules)'; $lang['sneaky_index'] = 'Par défaut, DokuWiki affichera toutes les catégories dans la vue par index. Activer cette option permet de cacher celles pour lesquelles l\'utilisateur n\'a pas la permission de lecture. Il peut en résulter le masquage de sous-catégories accessibles. Ceci peut rendre l\'index inutilisable avec certaines ACL.'; $lang['auth_security_timeout'] = 'Délai d\'expiration de sécurité (secondes)'; @@ -95,64 +96,65 @@ $lang['securecookie'] = 'Les cookies mis via HTTPS doivent-ils n\'être $lang['xmlrpc'] = 'Activer l\'interface XML-RPC.'; $lang['xmlrpcuser'] = 'Restreindre l\'accès à XML-RPC aux groupes et utilisateurs indiqués ici. Laisser vide afin que tout le monde y ait accès.'; $lang['updatecheck'] = 'Vérifier les mises à jour ? DokuWiki doit pouvoir contacter splitbrain.org.'; -$lang['userewrite'] = 'URLs esthétiques'; -$lang['useslash'] = 'Utiliser slash comme séparateur de catégorie dans les URLs'; +$lang['userewrite'] = 'URL esthétiques'; +$lang['useslash'] = 'Utiliser « / » comme séparateur de catégorie dans les URL'; $lang['usedraft'] = 'Enregistrer automatiquement un brouillon pendant l\'édition'; -$lang['sepchar'] = 'Séparateur de nom de page'; -$lang['canonical'] = 'Utiliser des URLs canoniques'; +$lang['sepchar'] = 'Séparateur de mots dans les noms de page'; +$lang['canonical'] = 'Utiliser des URL canoniques'; $lang['autoplural'] = 'Rechercher les formes plurielles dans les liens'; $lang['compression'] = 'Méthode de compression pour les fichiers dans attic'; -$lang['cachetime'] = 'Âge maximum d\'un fichier en cache (sec)'; -$lang['locktime'] = 'Âge maximum des fichiers verrous (sec)'; +$lang['cachetime'] = 'Âge maximum d\'un fichier en cache (en secondes)'; +$lang['locktime'] = 'Âge maximum des fichiers verrous (en secondes)'; $lang['fetchsize'] = 'Taille maximale (en octets) du fichier que fetch.php peut télécharger'; $lang['notify'] = 'Notifier les modifications à cette adresse de courriel'; $lang['registernotify'] = 'Envoyer un courriel annonçant les nouveaux utilisateurs enregistrés à cette adresse'; $lang['mailfrom'] = 'Expéditeur des notifications par courriel du wiki'; -$lang['gzip_output'] = 'Utiliser Content-Encoding gzip pour xhtml'; +$lang['gzip_output'] = 'Utiliser Content-Encoding gzip pour XHTML'; $lang['gdlib'] = 'Version de GD Lib'; $lang['im_convert'] = 'Chemin vers l\'outil de conversion d\'ImageMagick'; -$lang['jpg_quality'] = 'Qualité de la compression JPG (0-100)'; +$lang['jpg_quality'] = 'Qualité de la compression JPEG (0-100)'; $lang['subscribers'] = 'Activer l\'abonnement aux pages'; -$lang['compress'] = 'Compresser CSS & JavaScript'; +$lang['subscribe_time'] = 'Délai après lequel les listes d\'abonnement et résumés sont envoyés (en secondes). Devrait être plus petit que le délai précisé dans recent_days.'; +$lang['compress'] = 'Compresser CSS et JavaScript'; $lang['hidepages'] = 'Cacher les pages correspondant à (expression régulière)'; $lang['send404'] = 'Renvoyer "HTTP 404/Page Non Trouvée" pour les pages introuvables'; -$lang['sitemap'] = 'Générer une carte G|oogle du site tous les (jours)'; +$lang['sitemap'] = 'Fréquence de génération une carte Google du site (en jours)'; $lang['broken_iua'] = 'La fonction ignore_user_abort est-elle opérationnelle sur votre système ? Ceci peut empêcher le fonctionnement de l\'index de recherche. IIS+PHP/ CGI dysfonctionne. Voir le bug 852 pour plus d\'info.'; $lang['xsendfile'] = 'Utiliser l\'en-tête X-Sendfile pour permettre au serveur Web de délivrer des fichiers statiques ? Votre serveur Web doit supporter cette fonctionnalité.'; -$lang['renderer_xhtml'] = 'Moteur de rendu du format de sortie principal (xhtml)'; -$lang['renderer__core'] = '%s (dokuwiki core)'; -$lang['renderer__plugin'] = '%s (plugin)'; +$lang['renderer_xhtml'] = 'Moteur de rendu du format de sortie principal (XHTML)'; +$lang['renderer__core'] = '%s (cœur de dokuwiki)'; +$lang['renderer__plugin'] = '%s (module externe)'; $lang['rememberme'] = 'Permettre de conserver de manière permanente les cookies de connexion (mémoriser)'; $lang['rss_type'] = 'Type de flux RSS'; $lang['rss_linkto'] = 'Lien du flux RSS vers'; $lang['rss_content'] = 'Quel contenu afficher dans le flux RSS ?'; -$lang['rss_update'] = 'Fréquence de mise à jour du flux RSS (sec)'; -$lang['recent_days'] = 'Signaler les pages modifiées depuis (jours)'; +$lang['rss_update'] = 'Fréquence de mise à jour du flux RSS (en secondes)'; +$lang['recent_days'] = 'Signaler les pages modifiées depuis (en jours)'; $lang['rss_show_summary'] = 'Le flux XML affiche le résumé dans le titre'; $lang['target____wiki'] = 'Cible pour liens internes'; $lang['target____interwiki'] = 'Cible pour liens interwiki'; $lang['target____extern'] = 'Cible pour liens externes'; -$lang['target____media'] = 'Cible pour liens media'; -$lang['target____windows'] = 'Cible pour liens windows'; -$lang['proxy____host'] = 'Proxy - hôte'; -$lang['proxy____port'] = 'Proxy - port'; -$lang['proxy____user'] = 'Proxy - identifiant'; -$lang['proxy____pass'] = 'Proxy - mot de passe'; -$lang['proxy____ssl'] = 'Proxy - utilisation de ssl'; +$lang['target____media'] = 'Cible pour liens média'; +$lang['target____windows'] = 'Cible pour liens vers partages Windows'; +$lang['proxy____host'] = 'Proxy - Serveur hôte'; +$lang['proxy____port'] = 'Proxy - Numéro de port'; +$lang['proxy____user'] = 'Proxy - Identifiant'; +$lang['proxy____pass'] = 'Proxy - Mot de passe'; +$lang['proxy____ssl'] = 'Proxy - Utilisation de SSL'; $lang['safemodehack'] = 'Activer l\'option Mode sans échec'; -$lang['ftp____host'] = 'FTP - hôte pour Mode sans échec'; -$lang['ftp____port'] = 'FTP - port pour Mode sans échec'; -$lang['ftp____user'] = 'FTP - identifiant pour Mode sans échec'; -$lang['ftp____pass'] = 'FTP - mot de passe pour Mode sans échec'; -$lang['ftp____root'] = 'FTP - répertoire racine pour Mode sans échec'; +$lang['ftp____host'] = 'FTP - Serveur hôte pour Mode sans échec'; +$lang['ftp____port'] = 'FTP - Numéro de port pour Mode sans échec'; +$lang['ftp____user'] = 'FTP - Identifiant pour Mode sans échec'; +$lang['ftp____pass'] = 'FTP - Mot de passe pour Mode sans échec'; +$lang['ftp____root'] = 'FTP - Répertoire racine pour Mode sans échec'; $lang['license_o_'] = 'Aucune choisie'; $lang['typography_o_0'] = 'aucun'; $lang['typography_o_1'] = 'guillemets uniquement'; $lang['typography_o_2'] = 'tout signe typographique (peut ne pas fonctionner)'; $lang['userewrite_o_0'] = 'aucun'; -$lang['userewrite_o_1'] = '.htaccess'; -$lang['userewrite_o_2'] = 'DokuWiki'; +$lang['userewrite_o_1'] = 'Fichier .htaccess'; +$lang['userewrite_o_2'] = 'Interne à DokuWiki'; $lang['deaccent_o_0'] = 'off'; $lang['deaccent_o_1'] = 'supprimer les accents'; $lang['deaccent_o_2'] = 'convertir en roman'; @@ -165,8 +167,8 @@ $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; $lang['rss_content_o_abstract'] = 'Résumé'; -$lang['rss_content_o_diff'] = 'Diff Unifié'; -$lang['rss_content_o_htmldiff'] = 'Diff formaté en table HTML'; +$lang['rss_content_o_diff'] = 'Diff. unifié'; +$lang['rss_content_o_htmldiff'] = 'Diff. formaté en table HTML'; $lang['rss_content_o_html'] = 'page complète au format HTML'; $lang['rss_linkto_o_diff'] = 'liste des différences'; $lang['rss_linkto_o_page'] = 'page révisée'; @@ -179,9 +181,9 @@ $lang['xsendfile_o_0'] = 'ne pas utiliser'; $lang['xsendfile_o_1'] = 'Entête propriétaire lighttpd (avant la version 1.5)'; $lang['xsendfile_o_2'] = 'Entête standard X-Sendfile'; $lang['xsendfile_o_3'] = 'En-tête propriétaire Nginx X-Accel-Redirect'; -$lang['showuseras_o_loginname'] = 'Nom d\'utilisateur'; +$lang['showuseras_o_loginname'] = 'Identifiant de l\'utilisateur'; $lang['showuseras_o_username'] = 'Nom de l\'utilisateur'; -$lang['showuseras_o_email'] = 'Le courriel de l\'utilisateur (obfusqué suivant les paramètres de brouillage sélectionnés)'; +$lang['showuseras_o_email'] = 'Courriel de l\'utilisateur (brouillé suivant les paramètres de brouillage sélectionnés)'; $lang['showuseras_o_email_link'] = 'Courriel de l\'utilisateur en tant que lien mailto:'; $lang['useheading_o_0'] = 'Jamais'; $lang['useheading_o_navigation'] = 'Navigation seulement'; diff --git a/lib/plugins/plugin/lang/fr/admin_plugin.txt b/lib/plugins/plugin/lang/fr/admin_plugin.txt index 28696ebb4..c43e44684 100644 --- a/lib/plugins/plugin/lang/fr/admin_plugin.txt +++ b/lib/plugins/plugin/lang/fr/admin_plugin.txt @@ -1,4 +1,4 @@ -====== Gestion des plugins ====== +====== Gestion des modules externes ====== -Cette page vous permet de gérer tout ce qui a trait aux [[doku>plugins|plugins]] de DokuWiki. Pour télécharger et installer un plugin, le répertoire plugin doit être accessible en écriture pour le serveur Web. +Cette page vous permet de gérer tout ce qui a trait aux [[doku>plugins|modules externes]] de DokuWiki. Pour télécharger et installer un module, le répertoire « ''plugin'' » doit être accessible en écriture pour le serveur Web. diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php index eec17cdbb..4e4bca214 100644 --- a/lib/plugins/plugin/lang/fr/lang.php +++ b/lib/plugins/plugin/lang/fr/lang.php @@ -13,14 +13,15 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ -$lang['menu'] = 'Gestion des module externes'; +$lang['menu'] = 'Gestion des modules externes'; $lang['download'] = 'Télécharger et installer un nouveau module'; -$lang['manage'] = 'Plugins installés'; -$lang['btn_info'] = 'info'; -$lang['btn_update'] = 'rafraîchir'; -$lang['btn_delete'] = 'effacer'; -$lang['btn_settings'] = 'paramètres'; +$lang['manage'] = 'Modules installés'; +$lang['btn_info'] = 'Info'; +$lang['btn_update'] = 'Mettre à jour'; +$lang['btn_delete'] = 'Supprimer'; +$lang['btn_settings'] = 'Paramètres'; $lang['btn_download'] = 'Télécharger'; $lang['btn_enable'] = 'Enregistrer'; $lang['url'] = 'URL'; @@ -28,33 +29,33 @@ $lang['installed'] = 'Installé :'; $lang['lastupdate'] = 'Dernière mise à jour :'; $lang['source'] = 'Source :'; $lang['unknown'] = 'inconnu'; -$lang['updating'] = 'Mise à jour...'; -$lang['updated'] = 'Plugin %s mis à jour avec succès'; +$lang['updating'] = 'Mise à jour…'; +$lang['updated'] = 'Modules %s mis à jour avec succès'; $lang['updates'] = 'Les modules suivants ont été mis à jour avec succès'; $lang['update_none'] = 'Aucune mise à jour n\'a été trouvée.'; -$lang['deleting'] = 'Suppression...'; -$lang['deleted'] = 'Plugin %s supprimé.'; -$lang['downloading'] = 'Téléchargement...'; -$lang['downloaded'] = 'Plugin %s installé avec succès'; +$lang['deleting'] = 'Suppression…'; +$lang['deleted'] = 'Module %s supprimé.'; +$lang['downloading'] = 'Téléchargement…'; +$lang['downloaded'] = 'Module %s installé avec succès'; $lang['downloads'] = 'Les modules suivants ont été installés avec succès :'; $lang['download_none'] = 'Aucun module n\'était trouvé, ou un problème inconnu est survenu durant le téléchargement et l\'installation.'; -$lang['plugin'] = 'Plugin :'; +$lang['plugin'] = 'Module :'; $lang['components'] = 'Composants'; $lang['noinfo'] = 'Ce module externe n\'a transmis aucune information, il pourrait être invalide.'; $lang['name'] = 'Nom :'; $lang['date'] = 'Date :'; $lang['type'] = 'Type :'; -$lang['desc'] = 'Description :'; +$lang['desc'] = 'Description :'; $lang['author'] = 'Auteur :'; -$lang['www'] = 'Web :'; +$lang['www'] = 'Site web :'; $lang['error'] = 'Une erreur inconnue est survenue.'; -$lang['error_download'] = 'Impossible de télécharger le fichier du plugin: %s'; -$lang['error_badurl'] = 'URL suspecte - impossible de déterminer le nom du fichier à partir de l\'URL'; +$lang['error_download'] = 'Impossible de télécharger le fichier du module : %s'; +$lang['error_badurl'] = 'URL suspecte. Impossible de déterminer le nom du fichier à partir de l\'URL'; $lang['error_dircreate'] = 'Impossible de créer le répertoire temporaire pour réceptionner le téléchargement'; -$lang['error_decompress'] = 'Le gestionnaire de plugin a été incapable de décompresser le fichier téléchargé. Ceci peut être le résultat d\'un mauvais téléchargement, auquel cas vous devriez réessayer ; ou bien le format de compression est inconnu, auquel cas vous devez télécharger et installer le plugin manuellement.'; -$lang['error_copy'] = 'Une erreur de copie est survenue lors de l\'installation des fichiers du plugin %s: votre disque est peut-être plein ou les droits d\'accès au fichier sont incorrects. Il a pu en résulter une installation partielle du plugin rendant votre installation du wiki instable.'; -$lang['error_delete'] = 'Une erreur est survenue à la suppression du plugin %s. La raison la plus probable est l\'insuffisance des droits sur les fichiers ou le répertoire.'; -$lang['enabled'] = 'Plugin %s activé.'; -$lang['notenabled'] = 'Le plugin %s n\'a pas pu être activé, vérifiez le fichier des permissions.'; -$lang['disabled'] = 'Plugin %s désactivé.'; -$lang['notdisabled'] = 'Le plugin %s n\'a pas pu être désactivé, vérifiez le fichier des permissions.'; +$lang['error_decompress'] = 'Le gestionnaire de modules externes a été incapable de décompresser le fichier téléchargé. Ceci peut être le résultat d\'un mauvais téléchargement, auquel cas vous devriez réessayer ; ou bien le format de compression est inconnu, auquel cas vous devez télécharger et installer le module manuellement.'; +$lang['error_copy'] = 'Une erreur de copie est survenue lors de l\'installation des fichiers du module %s : votre disque est peut-être plein ou les droits d\'accès au fichier sont incorrects. Il a pu en résulter une installation partielle du module rendant votre installation du wiki instable.'; +$lang['error_delete'] = 'Une erreur est survenue à la suppression du module %s. La raison la plus probable est l\'insuffisance des droits sur les fichiers ou le répertoire.'; +$lang['enabled'] = 'Module %s activé.'; +$lang['notenabled'] = 'Le module %s n\'a pas pu être activé, vérifiez le fichier des permissions.'; +$lang['disabled'] = 'Module %s désactivé.'; +$lang['notdisabled'] = 'Le module %s n\'a pas pu être désactivé, vérifiez le fichier des permissions.'; diff --git a/lib/plugins/popularity/lang/fr/intro.txt b/lib/plugins/popularity/lang/fr/intro.txt index 8e8adbb3c..58be61d03 100644 --- a/lib/plugins/popularity/lang/fr/intro.txt +++ b/lib/plugins/popularity/lang/fr/intro.txt @@ -4,7 +4,7 @@ Cet outil collecte des données anonymes concernant votre wiki et vous permet de Vous êtes encouragé à répéter l'opération de collecte et d'envoi des données anonymes de temps en temps afin d'informer les développeurs de la croissance de votre wiki. -Les données collectées contiennent des informations telle que votre version de DokuWiki, le nombre et la taille de vos pages et fichiers, les plugins installés ainsi que des informations sur la version de PHP installée. +Les données collectées contiennent des informations telle que votre version de DokuWiki, le nombre et la taille de vos pages et fichiers, les modules installés ainsi que des informations sur la version de PHP installée. -Les données brutes qui sont envoyées sont affichées ci dessous. Merci d'utiliser le bouton "Envoyer les données" pour expédier l'information. +Les données brutes qui sont envoyées sont affichées ci dessous. Merci d'utiliser le bouton « Envoyer les données » pour expédier l'information. diff --git a/lib/plugins/popularity/lang/fr/lang.php b/lib/plugins/popularity/lang/fr/lang.php index 48ecbd305..45cc7b593 100644 --- a/lib/plugins/popularity/lang/fr/lang.php +++ b/lib/plugins/popularity/lang/fr/lang.php @@ -10,6 +10,7 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['name'] = 'Enquête de popularité (peut nécessiter un certain temps pour être chargé)'; $lang['submit'] = 'Envoyer les données'; diff --git a/lib/plugins/revert/lang/fr/intro.txt b/lib/plugins/revert/lang/fr/intro.txt index db61ac9cf..6dcbe74b9 100644 --- a/lib/plugins/revert/lang/fr/intro.txt +++ b/lib/plugins/revert/lang/fr/intro.txt @@ -1,3 +1,3 @@ -====== Gestion des réversions ====== +====== Gestionnaire de réversions ====== -Cette page peut vous aider à restaurer des pages après une attaque de spam. Pour trouver la liste des pages victimes des spammeurs, entrez un motif de recherche (tel qu'une URL de spam), puis confirmez que les pages trouvées contiennent du spam et annulez leurs éditions. +Cette page peut vous aider à restaurer des pages après une attaque de spam. Pour trouver la liste des pages vandalisées, entrez un motif de recherche (p. ex. une URL de spam), puis confirmez que les pages trouvées contiennent du spam et annulez leurs éditions. diff --git a/lib/plugins/revert/lang/fr/lang.php b/lib/plugins/revert/lang/fr/lang.php index 0f58fad6e..982b44f5a 100644 --- a/lib/plugins/revert/lang/fr/lang.php +++ b/lib/plugins/revert/lang/fr/lang.php @@ -11,13 +11,14 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['menu'] = 'Gestionnaire de réversions'; $lang['filter'] = 'Trouver les pages spammées '; -$lang['revert'] = 'Annuler les éditions sélectionnées'; +$lang['revert'] = 'Annuler les modifications sélectionnées'; $lang['reverted'] = '%s restauré à la révision %s'; $lang['removed'] = '%s supprimé'; $lang['revstart'] = 'Processus de réversion démarré. Ceci peut prendre longtemps. Si le script dépasse le délai avant de terminer, vous devrez restaurer de plus petits groupes de pages.'; $lang['revstop'] = 'Processus de réversion terminé avec succès.'; -$lang['note1'] = 'Note : cette recherche est insensible à la casse'; -$lang['note2'] = 'Note: cette page sera révisée à la version précédente ne contenant pas le terme spammeur %s.'; +$lang['note1'] = 'Note : cette recherche est insensible à la casse'; +$lang['note2'] = 'Note : cette page sera révisée à la version précédente ne contenant pas le terme spammeur %s.'; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index d0fa09074..6ae537618 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -12,6 +12,7 @@ * @author olivier duperray * @author Vincent Feltz * @author Philippe Bajoit + * @author Florian Gaub */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification utilisateur non disponible)'; @@ -27,8 +28,8 @@ $lang['value'] = 'Valeur'; $lang['add'] = 'Ajouter'; $lang['delete'] = 'Supprimer'; $lang['delete_selected'] = 'Supprimer la sélection'; -$lang['edit'] = 'Éditer'; -$lang['edit_prompt'] = 'Éditer cet utilisateur'; +$lang['edit'] = 'Modifier'; +$lang['edit_prompt'] = 'Modifier cet utilisateur'; $lang['modify'] = 'Enregistrer les modifications'; $lang['search'] = 'Rechercher'; $lang['search_prompt'] = 'Effectuer la recherche'; @@ -38,9 +39,9 @@ $lang['summary'] = 'Affichage des utilisateurs %1$d-%2$d parmi %3$ $lang['nonefound'] = 'Aucun utilisateur trouvé. %d utilisateur(s) au total.'; $lang['delete_ok'] = '%d utilisateurs effacés'; $lang['delete_fail'] = '%d effacement échoué.'; -$lang['update_ok'] = 'utilisateur mis à jour avec succès'; -$lang['update_fail'] = 'échec de la mise à jour utilisateur'; -$lang['update_exists'] = 'échec du changement de nom d\'utilisateur, le nom spécifié (%s) existe déjà (toutes les autres modifications seront effectuées).'; +$lang['update_ok'] = 'Utilisateur mis à jour avec succès'; +$lang['update_fail'] = 'Échec de la mise à jour utilisateur'; +$lang['update_exists'] = 'Échec du changement de nom d\'utilisateur, le nom spécifié (%s) existe déjà (toutes les autres modifications seront effectuées).'; $lang['start'] = 'Démarrage'; $lang['prev'] = 'Précédent'; $lang['next'] = 'Suivant'; -- cgit v1.2.3 From f956446c400fe0ad6988d0df16adac73c42b1ba3 Mon Sep 17 00:00:00 2001 From: Matteo Carnevali Date: Mon, 8 Mar 2010 18:31:44 +0100 Subject: Italian language update --- inc/lang/it/lang.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 8bdaddb7e..1184083d1 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -12,6 +12,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Matteo Carnevali */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -119,6 +120,27 @@ $lang['mediafiles'] = 'File disponibili in'; $lang['js']['searchmedia'] = 'Cerca file'; $lang['js']['keepopen'] = 'Tieni la finestra aperta durante la selezione'; $lang['js']['hidedetails'] = 'Nascondi Dettagli'; +$lang['js']['mediatitle'] = 'Impostazioni link'; +$lang['js']['mediadisplay'] = 'Tipo link'; +$lang['js']['mediaalign'] = 'Allineamento'; +$lang['js']['mediasize'] = 'Dimensioni immagine'; +$lang['js']['mediatarget'] = 'Target del link'; +$lang['js']['mediaclose'] = 'Chiudi'; +$lang['js']['mediainsert'] = 'Inserisci'; +$lang['js']['mediadisplayimg'] = 'Mostra l\'immagine.'; +$lang['js']['mediadisplaylnk'] = 'Mostra solo il link.'; +$lang['js']['mediasmall'] = 'Versione piccola'; +$lang['js']['mediamedium'] = 'Versione media'; +$lang['js']['medialarge'] = 'Versione grande'; +$lang['js']['mediaoriginal'] = 'Versione originale'; +$lang['js']['medialnk'] = 'Link alla pagina dei dettagli'; +$lang['js']['mediadirect'] = 'Link all\'originale'; +$lang['js']['medianolnk'] = 'No link'; +$lang['js']['medianolink'] = 'Non linkare l\'immagine.'; +$lang['js']['medialeft'] = 'Allinea l\'immagine a sinistra.'; +$lang['js']['mediaright'] = 'Allinea l\'immagine a destra.'; +$lang['js']['mediacenter'] = 'Allinea l\'immagine al centro.'; +$lang['js']['medianoalign'] = 'Non allineare.'; $lang['js']['nosmblinks'] = 'I collegamenti con le risorse condivise di Windows funzionano solo con Microsoft Internet Explorer. Puoi fare un copia/incolla di questo collegamento.'; $lang['js']['linkwiz'] = 'Collegamento guidato'; -- cgit v1.2.3 From 90a0f2e151531db5b76c3d1c340f70da35922456 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Med=C3=BAlio?= Date: Mon, 8 Mar 2010 18:32:50 +0100 Subject: Galician language update --- inc/lang/gl/admin.txt | 2 +- inc/lang/gl/adminplugins.txt | 2 +- inc/lang/gl/backlinks.txt | 2 +- inc/lang/gl/conflict.txt | 4 +- inc/lang/gl/denied.txt | 4 +- inc/lang/gl/diff.txt | 2 +- inc/lang/gl/draft.txt | 6 +- inc/lang/gl/edit.txt | 2 +- inc/lang/gl/editrev.txt | 2 +- inc/lang/gl/install.html | 34 +- inc/lang/gl/lang.php | 308 ++++++------ inc/lang/gl/locked.txt | 2 +- inc/lang/gl/login.txt | 4 +- inc/lang/gl/mailtext.txt | 12 +- inc/lang/gl/newpage.txt | 2 +- inc/lang/gl/norev.txt | 4 +- inc/lang/gl/password.txt | 8 +- inc/lang/gl/preview.txt | 2 +- inc/lang/gl/pwconfirm.txt | 12 +- inc/lang/gl/read.txt | 2 +- inc/lang/gl/recent.txt | 4 +- inc/lang/gl/register.txt | 4 +- inc/lang/gl/registermail.txt | 18 +- inc/lang/gl/resendpwd.txt | 4 +- inc/lang/gl/revisions.txt | 4 +- inc/lang/gl/searchpage.txt | 4 +- inc/lang/gl/stopwords.txt | 752 ++++++++++++++++++++++------ inc/lang/gl/updateprofile.txt | 4 +- inc/lang/gl/uploadmail.txt | 22 +- inc/lang/gl/wordblock.txt | 4 +- lib/plugins/acl/lang/gl/help.txt | 12 +- lib/plugins/acl/lang/gl/lang.php | 40 +- lib/plugins/config/lang/gl/intro.txt | 8 +- lib/plugins/config/lang/gl/lang.php | 236 +++++---- lib/plugins/plugin/lang/gl/admin_plugin.txt | 4 +- lib/plugins/plugin/lang/gl/lang.php | 48 +- lib/plugins/popularity/lang/gl/intro.txt | 10 +- lib/plugins/popularity/lang/gl/lang.php | 8 +- lib/plugins/revert/lang/gl/intro.txt | 4 +- lib/plugins/revert/lang/gl/lang.php | 22 +- lib/plugins/usermanager/lang/gl/add.txt | 2 +- lib/plugins/usermanager/lang/gl/delete.txt | 2 +- lib/plugins/usermanager/lang/gl/edit.txt | 2 +- lib/plugins/usermanager/lang/gl/intro.txt | 2 +- lib/plugins/usermanager/lang/gl/lang.php | 62 ++- lib/plugins/usermanager/lang/gl/list.txt | 2 +- 46 files changed, 1062 insertions(+), 638 deletions(-) diff --git a/inc/lang/gl/admin.txt b/inc/lang/gl/admin.txt index a5bb1753d..eeaed992a 100644 --- a/inc/lang/gl/admin.txt +++ b/inc/lang/gl/admin.txt @@ -1,4 +1,4 @@ ====== Administración ====== -A continuación pode encontrar unha lista de tarefas administrativas dispoñíbeis no DokuWiki. +De seguido podes atopar unha lista de tarefas administrativas dispoñíbeis no DokuWiki. diff --git a/inc/lang/gl/adminplugins.txt b/inc/lang/gl/adminplugins.txt index e791265e6..e52172ebc 100644 --- a/inc/lang/gl/adminplugins.txt +++ b/inc/lang/gl/adminplugins.txt @@ -1 +1 @@ -===== Plugins adicionais ===== \ No newline at end of file +===== Extensións adicionais ===== \ No newline at end of file diff --git a/inc/lang/gl/backlinks.txt b/inc/lang/gl/backlinks.txt index 90066d032..f77b74bbd 100644 --- a/inc/lang/gl/backlinks.txt +++ b/inc/lang/gl/backlinks.txt @@ -1,4 +1,4 @@ ====== Ligazóns entrantes ====== -Isto é unha listaxe de páxinas que parecen estar vinculadas á páxina actual. +Isto é unha listaxe de páxinas que semellan ligar coa páxina actual. diff --git a/inc/lang/gl/conflict.txt b/inc/lang/gl/conflict.txt index e63e5b216..dcd87c7a5 100644 --- a/inc/lang/gl/conflict.txt +++ b/inc/lang/gl/conflict.txt @@ -1,6 +1,6 @@ ====== Hai unha versión máis nova ====== -Hai unha versión máis nova do documento que editou. Isto sucede cando outra persoa usuaria alterou o documento mentres vostede o estaba a editar. +Hai unha versión máis nova do documento que editaches. Isto sucede cando outro usuario mudou o documento mentres ti estabas a editalo. -Examine as diferenzas que se mostran abaixo detalladamente e despois decida a versión que quere manter. Se selecciona ''Gardar'', gardarase a súa versión. Prema en ''Cancelar'' para manter a versión actual. +Examina as diferenzas amosadas embaixo polo miúdo, e logo decide que versión queres manter. Se escolleres ''Gardar'', gardarase a túa versión. Preme en ''Cancelar'' para manteres a versión actual. diff --git a/inc/lang/gl/denied.txt b/inc/lang/gl/denied.txt index 8d388a8bb..69408a4f3 100644 --- a/inc/lang/gl/denied.txt +++ b/inc/lang/gl/denied.txt @@ -1,4 +1,4 @@ -====== Permiso denegado ====== +====== Permiso Denegado ====== -Sentímolo, mais non ten os permisos suficientes para continuar. É posíbel que esquecese iniciar unha sesión. +Sentímolo, mais non tes permisos de abondo para continuares. Pode que esqueceses iniciar a sesión? diff --git a/inc/lang/gl/diff.txt b/inc/lang/gl/diff.txt index 5660e4025..df87707f0 100644 --- a/inc/lang/gl/diff.txt +++ b/inc/lang/gl/diff.txt @@ -1,4 +1,4 @@ ====== Diferenzas ====== -Isto mostra as diferenzas entre a revisión seleccionada e a versión actual da páxina. +Isto amosa as diferenzas entre a revisión seleccionada e a versión actual da páxina. diff --git a/inc/lang/gl/draft.txt b/inc/lang/gl/draft.txt index 8e2aa19f2..ac36dc01a 100644 --- a/inc/lang/gl/draft.txt +++ b/inc/lang/gl/draft.txt @@ -1,6 +1,6 @@ -====== Encontrouse un ficheiro de borrador ====== +====== Arquivo de rascuño atopado ====== -A súa última sesión de edición desta páxina non terminou de modo correcto. O DokuWiki gardou automaticamente un borrador durante o seu traballo que agora pode usar para continuar coa edición. A continuación pode ver os datos que foron gardados durante a súa última sesión. +A túa última sesión de edición desta páxina non foi completada de xeito correcto. O DokuWiki gravou automaticamente un rascuño durante o teu traballo que agora podes usar para continuares coa edición. De seguido podes ver os datos que foron gardados da túa última sesión. -Por favor, escolla entre se se quere //Recuperar// a súa sesión de edición perdida, //Eliminar// o borrador gardado automaticamente ou //Cancelar// o proceso de edición. +Por favor, escolle se queres //Recuperar// a túa sesión de edición perdida, //Eliminar// o borrador autogardado ou //Cancelar// o proceso de edición. diff --git a/inc/lang/gl/edit.txt b/inc/lang/gl/edit.txt index 9e2061b51..1cc124300 100644 --- a/inc/lang/gl/edit.txt +++ b/inc/lang/gl/edit.txt @@ -1,2 +1,2 @@ -Edite a páxina e prema en ''Gardar''. Vexa a páxina [[wiki:syntax|sintaxe]] para aprender a sintaxe da Wiki. Edite a páxina só se pode **mellorala**. Se quere facer probas, aprenda como efectuar os seus primeiros pasos no [[playground:playground|campo de xogo]]. +Edita a páxina e preme en ''Gardar''. Bótalle un ollo á [[wiki:syntax|sintaxe]] para veres a sintaxe do Wiki. Por favor, edita a páxina só se podes **mellorala**. Se quixeres facer probas, aprende como levar a cabo os teus primeiros pasos na [[playground:playground|eira]]. diff --git a/inc/lang/gl/editrev.txt b/inc/lang/gl/editrev.txt index c582fc3d0..d6a0490a3 100644 --- a/inc/lang/gl/editrev.txt +++ b/inc/lang/gl/editrev.txt @@ -1,2 +1,2 @@ -**Cargou unha revisión antiga do documento!** Se o garda, creará unha versión nova con eses datos. +**Cargaches unha revisión antiga do documento!** Se o gardares, crearás unha nova versión con estes datos. ---- diff --git a/inc/lang/gl/install.html b/inc/lang/gl/install.html index 017abad8f..ca26f7961 100644 --- a/inc/lang/gl/install.html +++ b/inc/lang/gl/install.html @@ -1,25 +1,25 @@ -

Esta páxina é unha axuda para a primeira instalación e configuración do -Dokuwiki. Se quere máis información -sobre este instalador, está dispoñíbel na súa propia +

Esta páxina é unha axuda na primeira vez que se instala e configura o +Dokuwiki. Se queres máis información +verbo deste instalador está dispoñible na súa propia páxina de documentación.

-

O DokuWiki usa ficheiros normais para o almacenamento das páxinas do wiki -e outra información asociada ás mesmas (por ex. imaxes, índices de procura, -revisións antigas etc.). Por iso, para poder operar correctamente, o DokuWiki -precisa ter acceso de escritura nos directorios que conteñen -eses ficheiros. Este instalador non é quen de configurar os permisos dos directorios. -Isto debe facerse normalmente de xeito directo na liña de comandos ou, se está a -usar unha hospedaxe, a través do FTP ou do panel de control da súa hospedaxe (por ex. +

O DokuWiki emprega arquivos normais para a almacenaxe das páxinas do wiki +e outra información asociada coas mesmas (p.e. imaxes, índices de procura, +revisións antigas, etc). Por iso, para poder operar correctamente, o DokuWiki +precisa ter acceso de escritura aos directorios que conteñen +eses arquivos. Este instalador non é quen de configurar os permisos dos directorios. +Isto debe facerse normalmente de xeito directo na liña de comandos ou, se estás a +usar unha hospedaxe, a través do FTP ou do panel de control da túa hospedaxe (p.e. o cPanel).

-

Este instalador configurará o seu DokuWiki para o uso da -ACL, o cal lle permitirá á persoa administradora -iniciar unha sesión e acceder ao menú de administración do DokuWiki para instalar plugins, -xestionar as persoas usuarias e os accesos ás páxinas do wiki; ademais de modificar a configuración. -Non é imprescindíbel para o funcionamento do DokuWiki, mais fai moito máis doada a +

Este instalador configurará o teu DokuWiki para o uso da +ACL, o cal permitirá ao administrador +iniciar sesión e acceder ao menú de administración do DokuWiki para instalar extensións, +xestionar usuarios e accesos ás páxinas do wiki, ademais de modificar a configuración. +Non é imprescindíbel para o funcionamento do DokuWiki, porén, fai moito máis doada a administración do mesmo.

-

As persoas usuarias expertas ou con requisitos especiais de configuración poden visitar -as seguintes ligazóns para obter os pormenores relativos ás +

Os usuarios expertos ou con requisitos especiais de configuración poden visitar +as seguintes ligazóns para obter pormenores relativos ás instruccións de instalación e á configuración.

diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index 2f34a02a0..c6ac4071e 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -3,9 +3,7 @@ * galician language file * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -15,8 +13,8 @@ $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '’'; $lang['btn_edit'] = 'Editar esta páxina'; -$lang['btn_source'] = 'Mostrar o código da páxina'; -$lang['btn_show'] = 'Mostrar a páxina'; +$lang['btn_source'] = 'Amosar a fonte da páxina'; +$lang['btn_show'] = 'Amosar páxina'; $lang['btn_create'] = 'Crear esta páxina'; $lang['btn_search'] = 'Procurar'; $lang['btn_save'] = 'Gardar'; @@ -25,215 +23,207 @@ $lang['btn_top'] = 'Comezo da páxina'; $lang['btn_newer'] = '<< máis recente'; $lang['btn_older'] = 'menos recente >>'; $lang['btn_revs'] = 'Revisións antigas'; -$lang['btn_recent'] = 'Cambios recentes'; +$lang['btn_recent'] = 'Trocos recentes'; $lang['btn_upload'] = 'Subir'; $lang['btn_cancel'] = 'Cancelar'; $lang['btn_index'] = 'Índice'; $lang['btn_secedit'] = 'Editar'; -$lang['btn_login'] = 'Iniciar unha sesión'; -$lang['btn_logout'] = 'Terminar a sesión'; +$lang['btn_login'] = 'Iniciar sesión'; +$lang['btn_logout'] = 'Rematar sesión'; $lang['btn_admin'] = 'Administración'; $lang['btn_update'] = 'Actualizar'; $lang['btn_delete'] = 'Borrar'; $lang['btn_back'] = 'Atrás'; -$lang['btn_backlink'] = 'Ligazón entrante'; -$lang['btn_backtomedia'] = 'Volver á Selección de Ficheiros multimedia'; -$lang['btn_subscribe'] = 'Avisar dos cambios na páxina'; -$lang['btn_unsubscribe'] = 'Non avisar dos cambios na páxina'; -$lang['btn_subscribens'] = 'Avísar dos cambios nos Nomes de espazo'; -$lang['btn_unsubscribens'] = 'Non avisar dos cambios nos Nomes de espazo'; -$lang['btn_profile'] = 'Actualizar o perfil'; +$lang['btn_backlink'] = 'Ligazóns con isto'; +$lang['btn_backtomedia'] = 'Volver á Selección de Arquivos-Media'; +$lang['btn_subscribe'] = 'Avísame dos trocos na páxina'; +$lang['btn_profile'] = 'Actualizar Perfil'; $lang['btn_reset'] = 'Reiniciar'; -$lang['btn_resendpwd'] = 'Enviar un contrasinal novo'; -$lang['btn_draft'] = 'Editar o borrador'; -$lang['btn_recover'] = 'Recuperar o borrador'; -$lang['btn_draftdel'] = 'Eliminar o borrador'; +$lang['btn_resendpwd'] = 'Envíame un novo contrasinal'; +$lang['btn_draft'] = 'Editar borrador'; +$lang['btn_recover'] = 'Recuperar borrador'; +$lang['btn_draftdel'] = 'Eliminar borrador'; $lang['btn_revert'] = 'Restaurar'; -$lang['loggedinas'] = 'Iniciou unha sesión como'; -$lang['user'] = 'Nome de persoa usuaria'; +$lang['loggedinas'] = 'Iniciaches sesión como'; +$lang['user'] = 'Nome de Usuario'; $lang['pass'] = 'Contrasinal'; -$lang['newpass'] = 'Contrasinal novo'; -$lang['oldpass'] = 'Confirmar o contrasinal actual'; +$lang['newpass'] = 'Novo Contrasinal'; +$lang['oldpass'] = 'Confirmar contrasinal actual'; $lang['passchk'] = 'de novo'; $lang['remember'] = 'Lémbrame'; -$lang['fullname'] = 'Nome completo'; -$lang['email'] = 'Correo'; +$lang['fullname'] = 'Nome Completo'; +$lang['email'] = 'Correo-e'; $lang['register'] = 'Rexístrate'; -$lang['profile'] = 'Perfil de persoa usuaria'; -$lang['badlogin'] = 'Sentímolo, mais o nome de persoa usuaria ou o contrasinal non son correctos.'; -$lang['minoredit'] = 'Cambios menores'; -$lang['draftdate'] = 'O borrador gardouse automaticamente en'; -$lang['nosecedit'] = 'A páxina cambiou, no entanto, a información da sección estaba desactualizada, polo que se cargou a páxina completa en seu lugar.'; -$lang['regmissing'] = 'Sentímolo, mais ten que encher todos os campos.'; -$lang['reguexists'] = 'Sentímolo, mais xa existe unha persoa usuaria con ese nome.'; -$lang['regsuccess'] = 'A persoa usuaria foi creada e o contrasinal enviado por correo electrónico.'; -$lang['regsuccess2'] = 'A persoa usuaria foi creada.'; -$lang['regmailfail'] = 'Semella que houbo un erro ao tentar enviar o correo co contrasinal. Contacte coa persoa administradora!'; -$lang['regbadmail'] = 'O enderezo de correo proporcionado semella incorrecto - se considera que isto é un erro, contacte coa persoa administradora'; -$lang['regbadpass'] = 'Os dous contrasinais introducidos non coinciden: Ténteo de novo.'; -$lang['regpwmail'] = 'O seu contrasinal do DokuWiki'; -$lang['reghere'] = 'Aínda non ten unha conta? Cree unha'; -$lang['profna'] = 'Esta wiki non permite modificacións dos perfís'; -$lang['profnochange'] = 'Non hai cambios, non hai nada para facer.'; -$lang['profnoempty'] = 'Non se permite un nome ou un enderezo de correo baleiros.'; -$lang['profchanged'] = 'O perfil de persoa usuaria foi actualizado correctamente.'; -$lang['pwdforget'] = 'Esqueceu o seu contrasinal? Obteña un novo'; -$lang['resendna'] = 'Esta wiki non permite o reenvío de contrasinais.'; -$lang['resendpwd'] = 'Enviar un contrasinal novo a'; -$lang['resendpwdmissing'] = 'Sentímolo, ten que encher todos os campos.'; -$lang['resendpwdnouser'] = 'Sentímolo, non encontramos esta persoa usuaria na nosa base de datos.'; -$lang['resendpwdbadauth'] = 'Sentímolo, mais este código de autorización non é válido. Asegúrese de que usou a ligazón completa de confirmación.'; -$lang['resendpwdconfirm'] = 'Enviouse unha ligazón de confirmación por correo.'; -$lang['resendpwdsuccess'] = 'O seu novo contrasinal foi enviado por correo.'; -$lang['license'] = 'O contido deste wiki, agás onde se indique o contrario, ofrécese baixo a seguinte licenza:'; -$lang['licenseok'] = 'Nota: Ao editar esta páxina estás a aceptar o licenciamento do contido baixo a seguinte licenza:'; -$lang['searchmedia'] = 'Buscar nome de ficheiro:'; -$lang['searchmedia_in'] = 'Buscar en %s'; -$lang['txt_upload'] = 'Selecciona o arquivo para subir'; +$lang['profile'] = 'Perfil de Usuario'; +$lang['badlogin'] = 'Sentímolo, mais o nome de usuario ou o contrasinal non son correctos.'; +$lang['minoredit'] = 'Trocos Menores'; +$lang['draftdate'] = 'Borrador gardado automaticamente en'; +$lang['nosecedit'] = 'A páxina mudou entrementres, a información da sección estaba desfasada polo que se cargou a páxina completa no seu lugar.'; +$lang['regmissing'] = 'Sentímolo, mais tes que cubrir todos os campos.'; +$lang['reguexists'] = 'Sentímolo, mais xa existe un usuario con ese nome.'; +$lang['regsuccess'] = 'O usuario foi creado e o contrasinal enviado por correo-e.'; +$lang['regsuccess2'] = 'O usuario foi creado.'; +$lang['regmailfail'] = 'Semella que houbo un erro ao tentar enviar o correo-e co contrasinal. Por favor, contacta co administrador!'; +$lang['regbadmail'] = 'O enderezo de correo-e proporcionado semella incorrecto - se consideras que isto é un erro, contacta co administrador'; +$lang['regbadpass'] = 'Os dous contrasinais inseridos non coinciden, por favor téntao de novo.'; +$lang['regpwmail'] = 'O teu contrasinal do DokuWiki'; +$lang['reghere'] = 'Aínda non tes unha conta? Crea a túa'; +$lang['profna'] = 'Este wiki non permite modificacións dos perfís'; +$lang['profnochange'] = 'Non hai trocos, nada que facer.'; +$lang['profnoempty'] = 'Non se permite un nome ou un enderezo de correo-e baleiros.'; +$lang['profchanged'] = 'Perfil de usuario actualizado correctamente.'; +$lang['pwdforget'] = 'Esqueceches o teu contrasinal? Consegue un novo'; +$lang['resendna'] = 'Este wiki non permite o reenvío de contrasinais.'; +$lang['resendpwd'] = 'Enviar novo contrasinal para'; +$lang['resendpwdmissing'] = 'Sentímolo, tes que cubrir todos os campos.'; +$lang['resendpwdnouser'] = 'Sentímolo, non atopamos este usuario no noso banco de datos.'; +$lang['resendpwdbadauth'] = 'Sentímolo, mais este código de autorización non é válido. Asegúrate de que usaches a ligazón completa de confirmación.'; +$lang['resendpwdconfirm'] = 'Enviouse unha ligazón de confirmación por correo-e.'; +$lang['resendpwdsuccess'] = 'O teu novo contrasinal foi enviado por correo-e.'; +$lang['license'] = 'O contido deste wiki, agás onde se indique o contrario, ofrécese baixo da seguinte licenza:'; +$lang['licenseok'] = 'Nota: Ao editares esta páxina estás a aceptar o licenciamento do contido baixo da seguinte licenza:'; +$lang['searchmedia'] = 'Procurar nome de arquivo:'; +$lang['searchmedia_in'] = 'Procurar en %s'; +$lang['txt_upload'] = 'Escolle o arquivo para subir'; $lang['txt_filename'] = 'Subir como (opcional)'; -$lang['txt_overwrt'] = 'Sobrescribir o arquivo existente'; +$lang['txt_overwrt'] = 'Sobrescribir arquivo existente'; $lang['lockedby'] = 'Bloqueado actualmente por'; -$lang['lockexpire'] = 'O bloqueo termina o'; -$lang['willexpire'] = 'O seu bloqueo para editar esta páxina vai caducar nun minuto.\nPara de evitar conflitos, use o botón de previsualización para reiniciar o contador do tempo de bloqueo.'; -$lang['notsavedyet'] = 'Perderanse os cambios non gardados.\nEstá segura/o de que quere continuar?'; -$lang['rssfailed'] = 'Houbo un erro ao tentar obter este fío RSS: '; -$lang['nothingfound'] = 'Non se encontrou nada.'; -$lang['mediaselect'] = 'Ficheiros multimedia'; -$lang['fileupload'] = 'Subir ficheiros multimedia'; -$lang['uploadsucc'] = 'Subiuse correctamente'; -$lang['uploadfail'] = 'Fallou ao subir. É posíbel que sexa un problema de permisos?'; -$lang['uploadwrong'] = 'Subida denegada. Esta extensión de ficheiro non está permitida!'; -$lang['uploadexist'] = 'Xa existe o ficheiro. Non se fixo nada.'; -$lang['uploadbadcontent'] = 'O contido subido non concorda coa extensión de ficheiro %s.'; -$lang['uploadspam'] = 'A subida foi bloqueada pola lista negra de correo lixo.'; +$lang['lockexpire'] = 'O bloqueo remata o'; +$lang['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; +$lang['notsavedyet'] = 'Perderanse os trocos non gardados.\nEstá certo de quereres continuar?'; +$lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; +$lang['nothingfound'] = 'Non se atopou nada.'; +$lang['mediaselect'] = 'Arquivos-Media'; +$lang['fileupload'] = 'Subida de Arquivos-Media'; +$lang['uploadsucc'] = 'Subida correcta'; +$lang['uploadfail'] = 'Erra na subida. Pode que sexa un problema de permisos?'; +$lang['uploadwrong'] = 'Subida denegada. Esta extensión de arquivo non está permitida!'; +$lang['uploadexist'] = 'Xa existe o arquivo. Non se fixo nada.'; +$lang['uploadbadcontent'] = 'O contido subido non concorda coa extensión do arquivo %s.'; +$lang['uploadspam'] = 'A subida foi bloqueada pola lista negra de correo-lixo.'; $lang['uploadxss'] = 'A subida foi bloqueada por un posíbel contido malicioso.'; -$lang['uploadsize'] = 'O ficheiro subido é grande de máis. (máx. %s)'; -$lang['deletesucc'] = 'O ficheiro "%s" foi eliminado.'; -$lang['deletefail'] = '"%s" non puido ser eliminado - comprobe os permisos.'; -$lang['mediainuse'] = 'O ficheiro "%s" non foi eliminado - aínda está en uso.'; +$lang['uploadsize'] = 'O arquivo subido é grande de máis. (máx. %s)'; +$lang['deletesucc'] = 'O arquivo "%s" foi eliminado.'; +$lang['deletefail'] = '"%s" non puido ser eliminado - comproba os permisos.'; +$lang['mediainuse'] = 'O arquivo "%s" non foi eliminado - aínda está en uso.'; $lang['namespaces'] = 'Nomes de espazos'; -$lang['mediafiles'] = 'Ficheiro dispoñíbeis en'; -$lang['js']['searchmedia'] = 'Buscar ficheiros'; -$lang['js']['keepopen'] = 'Manter a xanela aberta na selección'; -$lang['js']['hidedetails'] = 'Ocultar os detalles'; -$lang['js']['nosmblinks'] = 'A ligazón aos compartidos do Windows só funciona co Microsoft Internet Explorer. +$lang['mediafiles'] = 'Arquivos dispoñíbeis en'; +$lang['js']['searchmedia'] = 'Procurar ficheiros'; +$lang['js']['keepopen'] = 'Manter a fiestra aberta na selección'; +$lang['js']['hidedetails'] = 'Agochar Pormenores'; +$lang['js']['nosmblinks'] = 'A ligazón aos compartidos do Windows só funciona no Microsoft Internet Explorer. Sempre podes copiar e colar a ligazón.'; $lang['js']['linkwiz'] = 'Asistente de ligazóns'; -$lang['js']['linkto'] = 'Ligazón a:'; -$lang['js']['del_confirm'] = 'Quere eliminar os elementos seleccionados?'; -$lang['js']['mu_btn'] = 'Subir varios ficheiros dunha vez'; -$lang['mediausage'] = 'Utilice a seguinte sintaxe para referenciar este ficheiro:'; -$lang['mediaview'] = 'Ver o ficheiro orixinal'; -$lang['mediaroot'] = 'raíz'; -$lang['mediaupload'] = 'Suba aquí un ficheiro ao nome de espazo actual. Para crear subnomes de espazos deberá engadilos ao principio do seu nome de ficheiro en "Subir como", separados por dous puntos.'; -$lang['mediaextchange'] = 'A extensión de ficheiro foi alterada de .%s a .%s!'; +$lang['js']['linkto'] = 'Ligazón para:'; +$lang['js']['del_confirm'] = 'Estás certo de quereres eliminar os elementos seleccionados?'; +$lang['js']['mu_btn'] = 'Subir varios arquivos de vez'; +$lang['mediausage'] = 'Emprega a seguinte sintaxe para inserires unha referencia a este arquivo:'; +$lang['mediaview'] = 'Ver arquivo orixinal'; +$lang['mediaroot'] = 'raigaña'; +$lang['mediaupload'] = 'Sube aquí un arquivo ao nome de espazo actual. Para creares sub-nomes de espazos deberás antepoñelos ao nome indicado en "Subir como" separados por dous puntos.'; +$lang['mediaextchange'] = 'Extensión de arquivo mudada de .%s a .%s!'; $lang['reference'] = 'Referencias para'; -$lang['ref_inuse'] = 'O ficheiro non pode ser eliminado, xa que aínda está a ser usado polas seguintes páxinas:'; -$lang['ref_hidden'] = 'Algunhas referencias están en páxinas para as cales non ten permisos de lectura'; -$lang['hits'] = 'Visualizacións'; +$lang['ref_inuse'] = 'O arquivo non pode ser eliminado, xa que aínda está a ser usado polas seguintes páxinas:'; +$lang['ref_hidden'] = 'Algunhas referencias están en páxinas para as cales non tes permisos de lectura'; +$lang['hits'] = 'Vistas'; $lang['quickhits'] = 'Nomes de páxinas coincidentes'; -$lang['toc'] = 'Táboa de contidos'; +$lang['toc'] = 'Táboa de Contidos'; $lang['current'] = 'actual'; -$lang['yours'] = 'A súa versión'; -$lang['diff'] = 'Mostrar as diferenzas coa versión actual'; -$lang['diff2'] = 'Mostrar as diferenzas entre as revisións seleccionadas'; +$lang['yours'] = 'A túa Versión'; +$lang['diff'] = 'Amosar diferenzas coa versión actual'; +$lang['diff2'] = 'Amosar diferenzas entre as revisións seleccionadas'; $lang['line'] = 'Liña'; $lang['breadcrumb'] = 'Trazado'; -$lang['youarehere'] = 'Vostede está aquí'; +$lang['youarehere'] = 'Estás aquí'; $lang['lastmod'] = 'Última modificación'; $lang['by'] = 'por'; $lang['deleted'] = 'eliminado'; $lang['created'] = 'creado'; -$lang['restored'] = 'a revisión antiga foi restaurada'; +$lang['restored'] = 'revisión antiga restaurada'; $lang['external_edit'] = 'edición externa'; $lang['summary'] = 'Resumo da edición'; -$lang['noflash'] = 'Precísase o Plugin Adobe Flash para mostrar este contido.'; +$lang['noflash'] = 'Precísase o Extensión Adobe Flash para amosar este contido.'; $lang['mail_newpage'] = 'páxina engadida:'; -$lang['mail_changed'] = 'páxina alterada:'; -$lang['mail_new_user'] = 'Persoa usuaria nova:'; -$lang['mail_upload'] = 'ficheiro subido:'; -$lang['qb_bold'] = 'Texto en negra'; -$lang['qb_italic'] = 'Texto en cursiva'; -$lang['qb_underl'] = 'Texto subliñado'; -$lang['qb_code'] = 'Texto de código'; -$lang['qb_strike'] = 'Texto riscado'; -$lang['qb_h1'] = 'Título de nivel 1'; -$lang['qb_h2'] = 'Título de nivel 2'; -$lang['qb_h3'] = 'Título de nivel 3'; -$lang['qb_h4'] = 'Título de nivel 4'; -$lang['qb_h5'] = 'Título de nivel 5'; -$lang['qb_link'] = 'Ligazón interna'; -$lang['qb_extlink'] = 'Ligazón externa'; -$lang['qb_hr'] = 'Liña horizontal'; -$lang['qb_ol'] = 'Elemento de lista ordenada'; -$lang['qb_ul'] = 'Elemento de lista desordenada'; -$lang['qb_media'] = 'Engadir imaxes e outros ficheiros'; -$lang['qb_sig'] = 'Inserir unha sinatura'; -$lang['qb_smileys'] = 'Emoticonas'; -$lang['qb_chars'] = 'Caracteres especiais'; -$lang['admin_register'] = 'Engadir unha persoa usuaria nova'; -$lang['metaedit'] = 'Editar os metadatos'; +$lang['mail_changed'] = 'páxina mudada:'; +$lang['mail_new_user'] = 'Novo usuario:'; +$lang['mail_upload'] = 'arquivo subido:'; +$lang['qb_bold'] = 'Texto Resaltado'; +$lang['qb_italic'] = 'Texto en Cursiva'; +$lang['qb_underl'] = 'Texto Subliñado'; +$lang['qb_code'] = 'Texto de Código'; +$lang['qb_strike'] = 'Texto Riscado'; +$lang['qb_h1'] = 'Liña de Cabeceira de Nivel 1'; +$lang['qb_h2'] = 'Liña de Cabeceira de Nivel 2'; +$lang['qb_h3'] = 'Liña de Cabeceira de Nivel 3'; +$lang['qb_h4'] = 'Liña de Cabeceira de Nivel 4'; +$lang['qb_h5'] = 'Liña de Cabeceira de Nivel 5'; +$lang['qb_link'] = 'Ligazón Interna'; +$lang['qb_extlink'] = 'Ligazón Externa'; +$lang['qb_hr'] = 'Liña Horizontal'; +$lang['qb_ol'] = 'Elemento de Lista Ordenada'; +$lang['qb_ul'] = 'Elemento de Lista Desordenada'; +$lang['qb_media'] = 'Engadir Imaxes e Outros Arquivos'; +$lang['qb_sig'] = 'Inserir Sinatura'; +$lang['qb_smileys'] = 'Risoños'; +$lang['qb_chars'] = 'Caracteres Especiais'; +$lang['admin_register'] = 'Engadir novo usuario'; +$lang['metaedit'] = 'Editar Metadatos'; $lang['metasaveerr'] = 'Non se puideron escribir os metadatos'; -$lang['metasaveok'] = 'Os metadatos foron gardados'; +$lang['metasaveok'] = 'Metadatos gardados'; $lang['img_backto'] = 'Volver a'; $lang['img_title'] = 'Título'; $lang['img_caption'] = 'Lenda'; $lang['img_date'] = 'Data'; -$lang['img_fname'] = 'Nome do ficheiro'; +$lang['img_fname'] = 'Nome de arquivo'; $lang['img_fsize'] = 'Tamaño'; -$lang['img_artist'] = 'Fotógrafa/o'; +$lang['img_artist'] = 'Fotógrafo'; $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Formato'; $lang['img_camera'] = 'Cámara'; -$lang['img_keywords'] = 'Palabras chave'; -$lang['subscribe_success'] = '%s foi engadido á lista de subscrición de cambios de %s'; -$lang['subscribe_error'] = 'Erro ao tentar engadir %s á lista de subscrición de cambios de %s'; -$lang['subscribe_noaddress'] = 'Non hai ningún enderezo asociado ao seu nome de persoa usuaria: non pode ser engadida/o á lista de subscrición'; -$lang['unsubscribe_success'] = 'Eliminouse %s da lista de subscrición de cambios de %s'; -$lang['unsubscribe_error'] = 'Erro ao tentar eliminar %s da lista de subscrición de cambios de %s'; -$lang['authmodfailed'] = 'A configuración de autenticación de persoa usuaria é incorrecta. Informe á persoa administradora do seu Wiki.'; -$lang['authtempfail'] = 'A autenticación de persoa usuaria non está dispoñíbel de modo temporal. Se esta situación persiste informe á persoa administradora do seu Wiki.'; -$lang['i_chooselang'] = 'Seleccione o seu idioma'; +$lang['img_keywords'] = 'Verbas chave'; +$lang['authmodfailed'] = 'Configuración de autenticación de usuario incorrecta. Por favor, informa ao Administrador do teu Wiki.'; +$lang['authtempfail'] = 'A autenticación de usuario non está dispoñible de xeito temporal. De persistir esta situación, por favor, informa ao Administrador do teu Wiki.'; +$lang['i_chooselang'] = 'Escolle o teu idioma'; $lang['i_installer'] = 'Instalador do DokuWiki'; $lang['i_wikiname'] = 'Nome do Wiki'; -$lang['i_enableacl'] = 'Activar o lista de control de acceso (ACL) (recomendado)'; -$lang['i_superuser'] = 'Superusuaria/o'; -$lang['i_problems'] = 'O instalador encontrou algúns problemas que se mostran a continuación. Non poderá continuar até que os solucione.'; +$lang['i_enableacl'] = 'Activar ACL (recomendado)'; +$lang['i_superuser'] = 'Super-usuario'; +$lang['i_problems'] = 'O instalador atopou algúns problemas, que se amosan de seguido. Non poderás continuar até que os soluciones.'; $lang['i_modified'] = 'Por razóns de seguridade este script só funcionará cunha instalación nova e sen modificar do Dokuwiki. - Pode ou ben extraer de novo os ficheiros desde o paquete descargado ou consultar as + Podes ou ben extraer de novo os arquivos dende o paquete descargado ou consultar as instruccións completas de instalación do Dokuwiki'; -$lang['i_funcna'] = 'A función %s de PHP non está dispoñíbel. Pode que o seu provedor de hospedaxe a desactivase por algún motivo.'; -$lang['i_phpver'] = 'A súa versión %s de PHP é inferior á %s precisa. Debe actualizar a súa instalación de PHP.'; -$lang['i_permfail'] = '%s non é escribíbel polo DokuWiki. Debe corrixir a configuración de permisos deste directorio!'; +$lang['i_funcna'] = 'A función %s do PHP non está dispoñíbel. Pode que o teu provedor de hospedaxe a desactivase por algún motivo?'; +$lang['i_phpver'] = 'A túa versión %s do PHP é inferior á %s precisa. Debes actualizar a túa instalación do PHP.'; +$lang['i_permfail'] = '%s non é escribíbel polo DokuWiki. Debes corrixir a configuración de permisos deste directorio!'; $lang['i_confexists'] = '%s xa existe'; -$lang['i_writeerr'] = 'Non se puido crear %s. Terá que comprobar os permisos do directorio/ficheiro e crear o ficheiro de modo manual.'; -$lang['i_badhash'] = 'dokuwiki.php é irrecoñecíbel ou foi modificado (hash=%s)'; +$lang['i_writeerr'] = 'Non se puido crear %s. Terás de comprobar os permisos do directorio/arquivo e crear o ficheiro de xeito manual.'; +$lang['i_badhash'] = 'dokuwiki.php irrecoñecíbel ou modificado (hash=%s)'; $lang['i_badval'] = '%s - ilegal ou valor baleiro'; -$lang['i_success'] = 'A configuración terminou correctamente. Agora pode borrar o ficheiro install.php. Continúe até o - seu novo DokuWiki.'; -$lang['i_failure'] = 'Houbo algúns erros ao tentar escribir os ficheiros de configuración. Pode que precise solucionalos de mod manual antes - de que poder usar o seu novo DokuWiki.'; +$lang['i_success'] = 'A configuración rematou correctamente. Agora podes eliminar o arquivo install.php. Continúa deica o + teu novo DokuWiki.'; +$lang['i_failure'] = 'Houbo algúns erros ao tentar escribir os arquivos de configuración. Pode que precises solucionalos de xeito manual antes + de poderes empregar o teu novo DokuWiki.'; $lang['i_policy'] = 'Regras iniciais da ACL'; -$lang['i_pol0'] = 'Wiki aberto (lectura, escritura, subida de arquivos para todas as persoas)'; -$lang['i_pol1'] = 'Wiki público (lectura para todas as persoas, escritura e subida de ficheiros para as persoas usuarias rexistradas)'; -$lang['i_pol2'] = 'Wiki pechado (lectura, escritura, subida de arquivos só para as persoas usuarias rexistradas)'; +$lang['i_pol0'] = 'Wiki Aberto (lectura, escritura, subida de arquivos para todas as persoas)'; +$lang['i_pol1'] = 'Wiki Público (lectura para todas as persoas, escritura e subida de arquivos para usuarios rexistrados)'; +$lang['i_pol2'] = 'Wiki Fechado (lectura, escritura, subida de arquivos só para usuarios rexistrados)'; $lang['i_retry'] = 'Tentar de novo'; -$lang['mu_intro'] = 'Aquí podes subir varios ficheiros dunha vez. Preme o botón Examinar para engadilos á fila. Preme en Subir cando remates.'; -$lang['mu_gridname'] = 'Nome do ficheiro'; +$lang['mu_intro'] = 'Aquí podes subir varios arquivos de vez. Preme o botón Navegar para engadilos á cola. Preme en Subir cando remates.'; +$lang['mu_gridname'] = 'Nome de Arquivo'; $lang['mu_gridsize'] = 'Tamaño'; $lang['mu_gridstat'] = 'Estado'; -$lang['mu_namespace'] = 'Nome de espazo'; -$lang['mu_browse'] = 'Examinar'; -$lang['mu_toobig'] = 'demasiado grande'; -$lang['mu_ready'] = 'listo para subir'; +$lang['mu_namespace'] = 'Nome de Espazo'; +$lang['mu_browse'] = 'Navegar'; +$lang['mu_toobig'] = 'grande de máis'; +$lang['mu_ready'] = 'disposto para subir'; $lang['mu_done'] = 'feito'; $lang['mu_fail'] = 'fallou'; -$lang['mu_authfail'] = 'a sesión caducou'; +$lang['mu_authfail'] = 'sesión expirada'; $lang['mu_progress'] = '@PCT@% subido'; -$lang['mu_filetypes'] = 'Tipos de ficheiro permitidos'; -$lang['mu_info'] = 'ficheiros subidos.'; +$lang['mu_filetypes'] = 'Tipos de arquivo Permitidos'; +$lang['mu_info'] = 'arquivos subidos.'; $lang['mu_lasterr'] = 'Último erro:'; -$lang['recent_global'] = 'Agora mesmo está a ver os cambios no nome de espazo %s. Tamén pode ver os cambios recentes en todo o Wiki.'; +$lang['recent_global'] = 'Agora mesmo estás a ver os trocos no nome de espazo %s. Tamén podes ver os trocos recentes no Wiki enteiro.'; $lang['years'] = 'hai %d anos'; $lang['months'] = 'hai %d meses'; $lang['weeks'] = 'hai %d semanas'; diff --git a/inc/lang/gl/locked.txt b/inc/lang/gl/locked.txt index 14240335e..90f9ab082 100644 --- a/inc/lang/gl/locked.txt +++ b/inc/lang/gl/locked.txt @@ -1,3 +1,3 @@ ====== Páxina bloqueada ====== -Esta páxina está actualmente bloqueada para a edición por outra persoa usuaria. Terá que agardar até que esa persoa usuaria termine de editar a páxina ou a que expire o bloqueo. +Esta páxina está actualmente bloqueada para a edición por outro usuario. Terás que agardar até que este usuario remate coa edición ou a que expire o bloqueo. diff --git a/inc/lang/gl/login.txt b/inc/lang/gl/login.txt index 11719de50..506b30c6a 100644 --- a/inc/lang/gl/login.txt +++ b/inc/lang/gl/login.txt @@ -1,4 +1,4 @@ -====== Inicio de sesión ====== +====== Inicio de Sesión ====== -Actualmente non ten unha sesión iniciada! Insira as súas credenciais de autenticación para iniciar a sesión. Debe ter as cookies activadas para poder iniciar unha sesión. +Actualmente non iniciaches sesión ningunha! Insire as túas credenciais de identificación para iniciares a sesión. Debes ter as cookies activadas para poderes iniciar unha sesión. diff --git a/inc/lang/gl/mailtext.txt b/inc/lang/gl/mailtext.txt index f7c06bc83..a6799d697 100644 --- a/inc/lang/gl/mailtext.txt +++ b/inc/lang/gl/mailtext.txt @@ -1,13 +1,13 @@ -Engadiuse ou modificouse unha páxina do seu DokuWiki. Aquí van os detalles: +Engadiuse ou mudouse unha páxina no teu DokuWiki. Aquí van os pormenores: Data : @DATE@ Navegador : @BROWSER@ Enderezo IP : @IPADDRESS@ -Nome do host : @HOSTNAME@ -Revisión antiga : @OLDPAGE@ -Revision nova : @NEWPAGE@ -Resumo da edición : @SUMMARY@ -Usuaria/o : @USER@ +Nome do Host : @HOSTNAME@ +Revisión Antiga : @OLDPAGE@ +Revision Nova : @NEWPAGE@ +Resumo da Edición : @SUMMARY@ +Usuario : @USER@ @DIFF@ diff --git a/inc/lang/gl/newpage.txt b/inc/lang/gl/newpage.txt index c79ef6a41..c073f1194 100644 --- a/inc/lang/gl/newpage.txt +++ b/inc/lang/gl/newpage.txt @@ -1,4 +1,4 @@ ====== Este tema aínda non existe ====== -Seguiu unha ligazón até un tema que aínda non existe. Se ten os permisos adecuados, pode creala vostede premendo no botón ''Crear esta páxina''. +Seguiches unha ligazón deica un tema que aínda non existe. Se tes permisos axeitados, podes crealo ti premendo no botón ''Crear esta páxina''. diff --git a/inc/lang/gl/norev.txt b/inc/lang/gl/norev.txt index dd6027165..af7383da8 100644 --- a/inc/lang/gl/norev.txt +++ b/inc/lang/gl/norev.txt @@ -1,4 +1,4 @@ -====== Non existe esa revisión ====== +======Non hai tal revisión====== -A revisión especificada non existe. Utilice o botón ''Revisións antigas'' para obter un listado das revisións antigas deste documento. +A revisión especificada non existe. Utiliza o botón de ''Revisións Antigas'' para obteres unha listaxe das revisións antigas deste documento. diff --git a/inc/lang/gl/password.txt b/inc/lang/gl/password.txt index 3e69b6cca..652a55828 100644 --- a/inc/lang/gl/password.txt +++ b/inc/lang/gl/password.txt @@ -1,9 +1,9 @@ -Benvida/o @FULLNAME@! +Ola @FULLNAME@! -Aquí ten os seus datos de persoa usuaria para @TITLE@ en @DOKUWIKIURL@ +Aquí tes os teus datos de usuario para @TITLE@ en @DOKUWIKIURL@ -Nome de usuaria/o: @LOGIN@ -Contrasinal: @PASSWORD@ +Usuario : @LOGIN@ +Contrasinal : @PASSWORD@ -- Este correo foi xerado polo DokuWiki en diff --git a/inc/lang/gl/preview.txt b/inc/lang/gl/preview.txt index 01cc41dcc..e0f749ff0 100644 --- a/inc/lang/gl/preview.txt +++ b/inc/lang/gl/preview.txt @@ -1,4 +1,4 @@ ====== Previsualización ====== -Isto é unha previsualización de como aparecerá o seu texto. Lembre: **Aínda non está gardado!** +Isto é unha previsualización de como aparecerá o teu texto. Lembra: **Non está gardado** aínda! diff --git a/inc/lang/gl/pwconfirm.txt b/inc/lang/gl/pwconfirm.txt index e020790d3..ef20212ff 100644 --- a/inc/lang/gl/pwconfirm.txt +++ b/inc/lang/gl/pwconfirm.txt @@ -1,15 +1,15 @@ Ola @FULLNAME@! -Alguén solicitou un contrasinal novo para o seu inicio de sesión no +Alguén solicitou un novo contrasinal para o teu inicio de sesión @TITLE@ en @DOKUWIKIURL@ -Se non foi vostede quen o solicitou pode ignorar este correo. +Se non fuches ti quen o fixo podes ignorar este correo-e. -Para confirmar que esta solicitude foi realmente enviada por vostede -por favor, visite a seguinte ligazón. +Para confirmares que esta solicitude foi realmente enviada por ti, +por favor, visita a seguinte ligazón. @CONFIRM@ --- -Este correo foi xerador polo DokuWiki de +-- +Este correo-e foi xerado polo DokuWiki de @DOKUWIKIURL@ diff --git a/inc/lang/gl/read.txt b/inc/lang/gl/read.txt index 912864c31..28f3e1a95 100644 --- a/inc/lang/gl/read.txt +++ b/inc/lang/gl/read.txt @@ -1,2 +1,2 @@ -Esta páxina é só de lectura. Podes ver o código fonte, mais non pode alterala. Coméntello á persoa administradora se considera que é un erro. +Esta páxina é só de lectura. Podes ver o código fonte, mais non podes mudala. Coméntallo ao teu administrador se consideras que é un erro. diff --git a/inc/lang/gl/recent.txt b/inc/lang/gl/recent.txt index 93f8632dd..622e4d938 100644 --- a/inc/lang/gl/recent.txt +++ b/inc/lang/gl/recent.txt @@ -1,5 +1,5 @@ -====== Cambios recentes ====== +====== Trocos Recentes ====== -As seguintes páxinas foron cambiadas recentemente. +As seguintes páxinas foron mudadas recentemente. diff --git a/inc/lang/gl/register.txt b/inc/lang/gl/register.txt index 17d9e0ff4..4f51f3878 100644 --- a/inc/lang/gl/register.txt +++ b/inc/lang/gl/register.txt @@ -1,4 +1,4 @@ -====== Rexistro como persoa usuaria nova ====== +====== Rexistro como novo usuario ====== -Encha toda a información requirida a continuación para crear unha conta nova neste wiki. Asegúrese de proporcionar un **enderezo de correo electrónico válido** - se non se lle solicita aquí que insira un contrasinal, recibirá un contrasinal novo nese enderezo. O nome de persoa usuaria deberá ser un [[doku>pagename|nome de páxina]] válido. +Cubre toda a información requirida a continuación para creares unha nova conta neste wiki. Asegúrate de forneceres un **enderezo de correo-e válido** - se non se che pide aquí que insiras un contrasinal, recibirás un novo nese enderezo. O nome de usuario deberá ser un [[doku>pagename|nome de páxina]] válido. diff --git a/inc/lang/gl/registermail.txt b/inc/lang/gl/registermail.txt index e02fe1a1c..7d4017481 100644 --- a/inc/lang/gl/registermail.txt +++ b/inc/lang/gl/registermail.txt @@ -1,14 +1,14 @@ -Rexistrouse unha persoa usuaria nova. Estes son os detalles: +Rexistrouse un novo usuario. Aquí van os pormenores: -Nome de usuaria/o : @NEWUSER@ -Nome completo : @NEWNAME@ -Correo : @NEWEMAIL@ +Nome de usuario : @NEWUSER@ +Nome completo : @NEWNAME@ +Correo-e : @NEWEMAIL@ -Data : @DATE@ -Navegador : @BROWSER@ -Enderezo IP : @IPADDRESS@ -Nome do host : @HOSTNAME@ +Data : @DATE@ +Navegador : @BROWSER@ +Enderezo IP : @IPADDRESS@ +Nome do Host : @HOSTNAME@ -- -Este correo foi xerado polo DokuWiki de +Este correo-e foi xerado polo DokuWiki de @DOKUWIKIURL@ diff --git a/inc/lang/gl/resendpwd.txt b/inc/lang/gl/resendpwd.txt index eb8cf4835..0ee2d6cb4 100644 --- a/inc/lang/gl/resendpwd.txt +++ b/inc/lang/gl/resendpwd.txt @@ -1,3 +1,3 @@ -====== Enviar un contrasinal novo ====== +====== Enviar novo contrasinal ====== -Insira o seu nome de persoa usuaria no seguinte formulario para obter un contrasinal novo para a súa conta neste wiki. Enviarase unha ligazón de confirmación ao seu enderezo de correo rexistrado. +Insire o teu nome de usuario no seguinte formulario para obteres un novo contrasinal da túa conta neste wiki. Enviarase unha ligazón de confirmación ao teu enderezo rexistrado de correo-e. diff --git a/inc/lang/gl/revisions.txt b/inc/lang/gl/revisions.txt index a08b54685..3d5cccd7f 100644 --- a/inc/lang/gl/revisions.txt +++ b/inc/lang/gl/revisions.txt @@ -1,4 +1,4 @@ -====== Revisións antigas ====== +======Revisións Antigas====== -Estas son as revisións antigas do documento actual. Para retomar unha revisión antiga: selecciónea na seguinte lista, prema en ''Editar esta páxina'' e gárdea. +Estas son as revisións antigas do documento actual. Para retomar unha revisión antiga selecciónaa na seguinte lista, preme en ''Editar esta páxina'' e gárdaa. diff --git a/inc/lang/gl/searchpage.txt b/inc/lang/gl/searchpage.txt index 7157cdcbf..227ca5dbc 100644 --- a/inc/lang/gl/searchpage.txt +++ b/inc/lang/gl/searchpage.txt @@ -1,5 +1,5 @@ -====== Procurar ====== +====== Procura ====== -Podes encontrar os resultados da súa procura a continuación. Se non encontrou o que estaba a procurar, pode crear ou editar a páxina co nome relacionado coa súa procura co botón axeitado. +Podes atopar os resultados da túa procura a continuación. Se non atopaches o que estabas a procurar, podes crear ou editar a páxina co nome relacionado coa túa procura empregando o botón axeitado. ===== Resultados ===== diff --git a/inc/lang/gl/stopwords.txt b/inc/lang/gl/stopwords.txt index c262147f8..5520cd275 100644 --- a/inc/lang/gl/stopwords.txt +++ b/inc/lang/gl/stopwords.txt @@ -1,246 +1,692 @@ -# Isto é unha listaxe das palabras que o indexador ignora (stopwords); unha por liña -# Cando edite este ficheiro asegúrese de usar os fins de liña UNIX (nova liña única) -# Non precisa incluír palabras de menos de 3 caracteres - estas son ignoradas de todas as formas -# Esta listaxe está baseada nas encontradas en http://www.ranks.nl/stopwords/ (aínda en proceso) -# Actualizouse a listaxe a partir as stopwords dispoñibilizadas por Paulo Malvar en: -# http://d108.dinaserver.com/hosting/paulomalvar.com/Paulo_Malvar_personal_webpage/Resources_files/Galician_single_and_multiword_stopwords_Verbal_Periphrases_and_Abbreviations.tgz -# e tamén as listaxes de palabras gramaticais na Galipedia: http://gl.wikipedia.org/wiki/Categoría_gramatical -abaixo -acerca +# Isto é unha lista das verbas que o indexador ignora, unha por liña +# Cando edites este arquivo asegúrate de usar remates de liña UNIX (nova liña única) +# Non precisas incluír verbas de menos de 3 caracteres - estas son ignoradas de todas formas +# Esta lista está baseada nas atopadas en http://www.ranks.nl/stopwords/ (en proceso aínda) +aberto +abonda +abrir +acabo +acceder +acceso +acordo +actitude +actividade +actividades +actual +actualización +actualizar +actualmente ademais +ademáis +adiante +agardar +agora agás +ainda aínda -alén -algún +aiquí +algo +alguen +algun algunha algunhas +alguén +algún algúns -amais +alta +amigos +ando +anima +anos ante +anterior +anteriores antes -após -aquel -aquela -aquelas -aqueles -aquén -aquilo -arredor -bardante -beira -canda +aparece +aparecen +apartado +aperta +apertas +apoio +aqui +aquí +arquivo +arquivos +artigo +artigos +asunto +atención +atopar +atopei +axuda +axudar +baixo +banda +base +bastante +benvido +boas +botar +buscador +buscar +cabo +cada +cadra +caixa +cales +calidade +calquer +calquera +cambio +camiño +campanha +campaña +campañas +campo cando +cantidade canto -carón -causa -cerca +cantos +cara +carallo +cartos +casa +case +caso +casos +catro +centro +certo +chea +chega +chegar +chisco +cidade +civil +claro +coas +coido +colaboración +colaborar +coma +comentar +comentario +comentarios +comezar como +comunicación +comunidade +común +concreto +condicións conforme -consonte +conseguir +conta +contactar +contacto +contas +contido +contidos contra +contrario +control +copia +correcto +correio +correo +correoe +correos +correspondente +cousa +cousas +coñecemento +coñezo +crear +creo +cuestión +cuestións +cunha +curioso +dabondo +dacordo +dados +darlle +data +datos +debate +debe +debemos +deben +deberiamos +debería +decidir +decisión +defecto +defensa deica -dela -delas +deixa +deixar +deixo deles +demais +demasiado +demáis dende -derredor -derriba +dentro +dereitos desde +dese +deseño despois +desta +deste +destes +diante +dias +dicir +diferentes +difícil +digo +dirección +directamente +directorio +discusión +discutir +distintas +distintos +distribución +dixen +dixo +doado +dous +duas +dunha durante -elas +días +dúas +dúbida +efectivamente +eiqui +eiquí eles +eliminar +email +empregar +emprego +empresa +empresas +enderezo +enderezos +engadir +enlace +enquisa +enriba +entendo +entidades +entrada +entrar entre -erades -eramos +entón +enviar +envio eran -eras +erro +erros esas +escribir eses +especial +especialmente +espero esta -está estaba -estabades -estabamos -estaban estades +estado estamos -están +estan +estar +estaría estas este estea -esteades -esteamos -estean -esteas estes -estivemos +estilo estiven -estiver -estivera -estiveramos -estiveran -estiverdes -estiveren -estivermos -estivese -estivesemos -estivesen -estivo +esto estou -excepto -fomos +está +están +estás +evidentemente +evitar +exactamente +exemplo +existe +facelo +facemos +facendo +facer +faga +fagan +fago +fala +falamos +falando +falar +falla +falo +falta +favor +fazer +feita +feito +ferreira +final +finalmente +fios +fixen +fixo +fondo fora -foramos -foran -fordes -foren -formos +forma +formas +foro +foron +foros fose -fosedes -fosemos -fosen -habemos +fotos +funciona +funcionamento +futuro +fóra +gracias +gran +grande +grandes +grazas +grupo +grupos +gusta +haber haberá -haberán -haberedes -haberei -haberemos habería -haberíades -haberíamos +había haxa -haxades -haxamos -haxan -haxas -houbemos -houben -houber -houbera -houberades -houberamos -houberan -houberemos -houberen -houberían -houbermos +historia +home +hora +horas houbese -houbesedes -houbesemos -houbesen houbo +hoxe +idea +ideas +ideia +igual +imos +importancia +importante +importantes +inda +info +información +informar +informe +inicial +iniciativa +inicio +intención +interesa +interesante +interese +iste isto +lado +lembro +letras +leva +levamos +levar +libre +libro +lista +listas +liña +liñas lles +local logo +longo +lugar +lugo +maior +maiores +maioría mais -máis -malia +mandar +maneira +manter +marcha +material +mañá +media mediante +medida +medio +mellor +membros menos +mensaxe +mensaxes +mentres +menú +mesa +meses +mesma mesmo +mesmos +meter meus +milhor +millor +minha +mirar miña -miñas +modificar +moita +moitas moito +moitos +momento +mudar +mundo +máis +mínimo +nada +nbsp +necesario +necesidade +nese +nesta +neste +nestes +ningunha +ninguén +ningún +noite +nome +normal nosa nosas noso nosos +nota +nova +novas +novo +novos +nunca nunha -onda +número +ofrece +ofrecer +ollo +onde +onte +oops +opción +opcións +opinión +orixinal outra +outras outro +outros +paga +palabras para -perante +parabens +parece +pareceme +parte +partes +participación +participar +partido +paréceme +pasa +pasado +pasar +paso +pedir +pena +pendente +pendentes +pensades +pensando +pensar +penso +pequena +pequeno +perfectamente +perfecto +permite pero +persoa +persoal +persoas +pode +podedes +podemos +poden +poder +poderiamos +podería +poderíamos +podes +podo +poida +poidan pois pola polas polo polos por -porén porque +porén +posibel +posibilidade +posibilidades +posible +posta +posto +pouco +poucos +poñer +precisamente +preciso +pregos +pregunta +presente +primeira +primeiro +principal +principio +proba +probar +probas +problema +problemas +proceso prol +propia +propio +proposta +propostas +propoño +propoñovos +proxecto +proxectos +publicar +punto +pódese +queda +quedar +quedou +queira quen -redor -rente +quere +queredes +queremos +queren +queres +quero +quizáis +quot +razón +real +realidade +realmente +recibir +referencia +relación +rematar +remate respecto -sacado -sacando -salvante -salvo +resposta +respostar +respostas +resto +resulta +resultado +revisar +revisión +riba +sabe +sabedes +saber +sacar +saúdo +saúdos +segue +seguinte +seguintes +seguir +segunda +segundo +seguramente +seguro +seica +semana +semanas +semella +semellante +sempre +sendo +senon +sentido senón +seria +serie será serán -serás -seredes -serei -seremos sería -seríamos -serían seus sexa -sexades -sexamos sexan -sexas +similar +simplemente +sitio +sitios +situación +soamente sobre -sodes +solución somos +suas +superior +suponho +suposto +supoño +sábado súas +tamen +tampouco tamén +tanto +tarde tedes temos +tempo +tempos +tendo +tenho +tentar +tería teña -teñades teñamos teñan -teñas +teñen teño -terá -terán -terás -teredes -terei -teremos -tería -teriades -teriamos -terían -terías -teus -tiña -tiñades -tiñamos -tiñan -tiñas -tiveches -tivemos +timos +tipo tiven -tiver -tivera -tiverades -tiveramos -tiveran -tiveras -tiverdes -tiveren -tivermos -tivese -tivesedes -tivesemos -tivesen -tiveses -tivestes -tivo +tiña +toda +todas todo +todos +tomar +total +totalmente +trabalho +traballando +traballar +traballo +traballos tras +trata través -túas +tres +troco +trocos +troques +tódalas +tódolos +última +último +últimos unha unhas -vostede -vostedes +única +únicamente +únicousar +usuario +usuarios +utilizar +vaia +vale +vamos +varias +varios +veces +verdade +vexo +veño +vida +vindeiro +visitantes +visitas +vista +visto +volta +vosa +wink +xeito +xeitos +xente +xerais +xeral +xunto +zona diff --git a/inc/lang/gl/updateprofile.txt b/inc/lang/gl/updateprofile.txt index bfd598117..8620dea12 100644 --- a/inc/lang/gl/updateprofile.txt +++ b/inc/lang/gl/updateprofile.txt @@ -1,5 +1,5 @@ -====== Actualizar o perfil da súa conta ====== +====== Actualizar o perfil da túa conta ====== -Só precisa cubrir os campos que desexe cambiar. Non pode cambiar o seu nome de persoa usuaria. +Só precisas cubrir os campos que desexes mudar. Non podes mudar o teu nome de usuario. diff --git a/inc/lang/gl/uploadmail.txt b/inc/lang/gl/uploadmail.txt index 914c3644c..2a7c24762 100644 --- a/inc/lang/gl/uploadmail.txt +++ b/inc/lang/gl/uploadmail.txt @@ -1,14 +1,14 @@ -Subiuse un ficheiro ao seu DokuWiki. Aquí van os detalles: +Subiuse un arquivo ao teu DokuWiki. Aquí van os pormenores: -Ficheiro : @MEDIA@ -Data : @DATE@ -Navegador : @BROWSER@ -Enderezo IP : @IPADDRESS@ -Nome do host : @HOSTNAME@ -Tamaño : @SIZE@ -Tipo MIME : @MIME@ -Usuaria/o : @USER@ +Arquivo : @MEDIA@ +Data : @DATE@ +Navegador : @BROWSER@ +Enderezo IP : @IPADDRESS@ +Nome do Host : @HOSTNAME@ +Tamaño : @SIZE@ +Tipo MIME : @MIME@ +Usuario : @USER@ --- +-- Este correo foi xerado polo DokuWiki en -@DOKUWIKIURL@ +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/gl/wordblock.txt b/inc/lang/gl/wordblock.txt index f219f8436..ec8d67aff 100644 --- a/inc/lang/gl/wordblock.txt +++ b/inc/lang/gl/wordblock.txt @@ -1,4 +1,4 @@ -====== Bloqueo por SPAM ====== +====== Bloqueo por Correo-lixo ====== -Os seus cambios **non** foron gardados porque conteñen unha ou varias palabras bloqueadas. Se tentou introducir spam no wiki -- Nen@ mal@! Se considera que é un erro, contacte coa persoa administradora deste Wiki. +Os teus trocos **non** foron gardados porque conteñen unha ou varias verbas bloqueadas. Se tentaches deixar correo-lixo no wiki -- Estívoche ben! Se consideras que é un erro, contacta co administrador deste Wiki. diff --git a/lib/plugins/acl/lang/gl/help.txt b/lib/plugins/acl/lang/gl/help.txt index c427b182f..593dcef07 100644 --- a/lib/plugins/acl/lang/gl/help.txt +++ b/lib/plugins/acl/lang/gl/help.txt @@ -1,11 +1,11 @@ -=== Axuda rápida: === +=== Axuda Rápida: === -Nesta páxina pode engadir e eliminar os permisos para os nomes de espazo e as páxinas do seu wiki. +Nesta páxina podes engadir e eliminar permisos para os nomes de espazo e as páxinas do teu wiki. -O panel da esquerda mostra todos os nomes de espazo e páxinas dispoñíbeis. +O panel da esquerda amosa todos os nomes de espazo e páxinas dispoñíbeis. -O formulario de arriba permítelle ver e modificar os permisos da persoa usuaria ou grupo seleccionada. +O formulario de enriba permíteche ver e modificares os permisos do usuario ou grupo seleccionado. -Na táboa de abaixo móstranse todas as regras de control de accesos estabelecidas. Pode empregala para cambiar ou eliminar varias regras dun xeito rápido. +Na táboa de embaixo amósanse todas as regras de control de accesos estabelecidas. Podes empregala para mudares ou eliminares varias regras dun xeito rápido. -A lectura da [[doku>acl|documentación oficial da ACL]] pode servirlle de axuda para comprender como funciona o control de accesos no Dokuwiki. +A lectura da [[doku>acl|documentación oficial da ACL]] pode servirche de axuda para comprenderes como funciona o control de accesos no Dokuwiki. diff --git a/lib/plugins/acl/lang/gl/lang.php b/lib/plugins/acl/lang/gl/lang.php index 184cf7e1d..774bf207a 100644 --- a/lib/plugins/acl/lang/gl/lang.php +++ b/lib/plugins/acl/lang/gl/lang.php @@ -2,35 +2,33 @@ /** * Galicianlanguage file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['admin_acl'] = 'Xestión da Lista de control de acceso (ACL)'; +$lang['admin_acl'] = 'Xestión da Lista de Control de Acceso (ACL)'; $lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuaria/o'; +$lang['acl_user'] = 'Usuario'; $lang['acl_perms'] = 'Permisos para'; $lang['page'] = 'Páxina'; $lang['namespace'] = 'Nome de espazo'; -$lang['btn_select'] = 'Selecciona'; -$lang['p_user_id'] = 'A persoa usuaria %s dispón actualmente dos seguintes permisos na páxina %s: %s.'; -$lang['p_user_ns'] = 'A persoa usuaria %s dispón actualmente dos seguintes permisos no nome de espazo %s: %s.'; -$lang['p_group_id'] = 'As e os integrantes do grupo %s dispoñen actualmente dos seguintes permisos na páxina %s: %s.'; -$lang['p_group_ns'] = 'As e os integrantes do grupo %s dispoñen actualmente dos seguintes permisos no nome de espazo %s: %s.'; -$lang['p_choose_id'] = 'Insira un nome de usuaria/o ou grupo no formulario de arriba para ver ou editar os permisos estabelecidos para a páxina %s.'; -$lang['p_choose_ns'] = 'Insira un nome de usuaria/o ou grupo no formulario de arriba para ver ou editar os permisos estabelecidos no nome de espazo %s.'; -$lang['p_inherited'] = 'Nota: Estes permisos non foron estabelecidos explicitamente senón que foron herdados doutros grupos ou nomes de espazo maiores.'; -$lang['p_isadmin'] = 'Nota: O grupo ou a persoa usuaria seleccionado terá sempre permisos completos por estar configurado como superusuaria/o.'; -$lang['p_include'] = 'Os permisos máis grandes inclúen os menores. Os permisos de Creación, Subida e Eliminación só se aplican aos nomes de espazo, non ás páxinas.'; -$lang['current'] = 'Regras ACL actuais'; -$lang['where'] = 'Páxina/Nome de espazo'; -$lang['who'] = 'Usuaria/o/Grupo'; +$lang['btn_select'] = 'Escolle'; +$lang['p_user_id'] = 'O usuario %s dispón actualmente dos seguintes permisos na páxina %s: %s.'; +$lang['p_user_ns'] = 'O usuario %s dispón actualmente dos seguintes permisos no nome de espazo %s: %s.'; +$lang['p_group_id'] = 'Os membros do grupo %s dispoñen actualmente dos seguintes permisos na páxina %s: %s.'; +$lang['p_group_ns'] = 'Os membros do grupo %s cdispoñen actualmente dos seguintes permisos no nome de espazo %s: %s.'; +$lang['p_choose_id'] = 'Por favor, insire un usuario ou grupo no formulario de enriba para ver ou editar os permisos establecidos para a páxina %s.'; +$lang['p_choose_ns'] = 'Por favor insire un usuario ou grupo no formulario de enriba para ver ou editar os permisos establecidos no nome de espazo %s.'; +$lang['p_inherited'] = 'Nota: Estes permisos non foron establecidos explicitamente senón que foron herdadas de outros grupos ou nomes de espazo meirandes.'; +$lang['p_isadmin'] = 'Nota: O grupo ou usuario seleccionado terá sempre permisos completos por estar configurado como super-usuario.'; +$lang['p_include'] = 'Os permisos meirandes inclúen os menores. Os permisos de Creación, Subida e Eliminado só se aplican aos nomes de espazo, non ás páxinas.'; +$lang['current'] = 'Regras ACL Actuais'; +$lang['where'] = 'Páxina/Nome de Espazo'; +$lang['who'] = 'Usuario/Grupo'; $lang['perm'] = 'Permisos'; $lang['acl_perm0'] = 'Ningún'; $lang['acl_perm1'] = 'Ler'; $lang['acl_perm2'] = 'Editar'; $lang['acl_perm4'] = 'Crear'; -$lang['acl_perm8'] = 'Subir ficheiros'; +$lang['acl_perm8'] = 'Subir arquivos'; $lang['acl_perm16'] = 'Eliminar'; -$lang['acl_new'] = 'Engadir una entrada'; -$lang['acl_mod'] = 'Modificar unha entrada'; +$lang['acl_new'] = 'Engadir nova Entrada'; +$lang['acl_mod'] = 'Modificar Entrada'; diff --git a/lib/plugins/config/lang/gl/intro.txt b/lib/plugins/config/lang/gl/intro.txt index 27feedfed..cafe28e13 100644 --- a/lib/plugins/config/lang/gl/intro.txt +++ b/lib/plugins/config/lang/gl/intro.txt @@ -1,7 +1,7 @@ -====== Xestor de configuración ====== +====== Xestor de Configuración ====== -Use esta páxina para controlar a configuración da súa instalación do Dokuwiki. Para encontrar axuda sobre cada unha das opcións da configuración vaia a [[doku>config]]. Para obter máis información sobre este plugin vexa o documento [[doku>plugin:config]]. +Usa esta páxina para controlares a configuración da túa instalación do Dokuwiki. Para atopares axuda verbo de cada opción da configuración vai a [[doku>config]]. Para obteres pormenores desta extensión bota un ollo a [[doku>plugin:config]]. -As opcións que se mostran cun fondo de cor vermello claro, están protexidas e non poden ser alteradas con este plugin. As opcións que se mostran cun fondo de cor azul, son valores predeterminados. As opcións que teñen un fondo branco foron configuradas de modo local para esta instalación en concreto. Ambas as dúas, as opcións azuis e brancas, poden ser alteradas. +As opcións que amosan un fondo de cor vermella clara están protexidas e non poden ser alteradas con esta extensión. As opcións que amosan un fondo de cor azul son valores predeterminados e as opcións que teñen fondo branco foron configuradas de xeito local para esta instalación en concreto. Ámbalas dúas, as opcións azuis e brancas, poden ser alteradas. -Lembre premer no botón **GARDAR** antes de saír desta páxina ou, en caso contrario, as súas modificacións perderanse. +Lembra premer no boton **GARDAR** denantes de saíres desta páxina ou, en caso contrario, os teus trocos perderanse. diff --git a/lib/plugins/config/lang/gl/lang.php b/lib/plugins/config/lang/gl/lang.php index eb7559e2f..2129beec0 100644 --- a/lib/plugins/config/lang/gl/lang.php +++ b/lib/plugins/config/lang/gl/lang.php @@ -2,40 +2,38 @@ /** * Galicianlanguage file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['menu'] = 'Opcións de configuración'; -$lang['error'] = 'A configuración non foi actualizada debido a un valor non válido; verifique as modificacións feitas e envíeas de novo. -
Os valores incorrectos móstranse cun bordo de cor vermella.'; -$lang['updated'] = 'A configuración foi actualizada correctamente.'; -$lang['nochoice'] = '(non hai outras opcións dispoñíbeis)'; -$lang['locked'] = 'Non se puido actualizar o ficheiro de configuración; se isto non debería ser así,
-asegúrese de que o nome do ficheiro de configuración local e os permisos son correctos.'; -$lang['danger'] = 'Perigo: Se modifica esta opción podería facer que tanto o seu Wiki como o menú de configuración fiquen inaccesíbeis.'; -$lang['warning'] = 'Aviso: Se modifica esta opción podería causar un comportamento inesperado.'; -$lang['security'] = 'Aviso de seguranza: Cambiar esta opción podería supoñer un perigo de seguranza.'; -$lang['_configuration_manager'] = 'Xestor de configuración'; +$lang['menu'] = 'Opcións de Configuración'; +$lang['error'] = 'Configuración non actualizada debido a un valor inválido, por favor revisa os teus trocos e volta envialos de novo. +
O(s) valor(es) incorrecto(s) amosanse cinguidos por un borde vermello.'; +$lang['updated'] = 'Configuración actualizada correctamente.'; +$lang['nochoice'] = '(non hai outras escollas dispoñibles)'; +$lang['locked'] = 'Non se puido actualizar o arquivo de configuración, se non ocorre como debería ser,
+asegúrate de que o nome do arquivo de configuración local e os permisos son correctos.'; +$lang['danger'] = 'Perigo: mudando esta opción podes facer inaccesíbeis o teu wiki e máis o menú de configuración.'; +$lang['warning'] = 'Ollo: mudando esta opción poden aparecer comportamentos do aplicativo non agardados.'; +$lang['security'] = 'Aviso de seguranza: mudando esta opción poden aparecer riscos de seguranza.'; +$lang['_configuration_manager'] = 'Xestor de Configuración'; $lang['_header_dokuwiki'] = 'Configuración do DokuWiki'; -$lang['_header_plugin'] = 'Configuración de plugins'; -$lang['_header_template'] = 'Configuración do modelo'; -$lang['_header_undefined'] = 'Configuración indefinida'; -$lang['_basic'] = 'Configuración básica'; -$lang['_display'] = 'Configuración da visualización'; -$lang['_authentication'] = 'Configuración da autenticación'; -$lang['_anti_spam'] = 'Configuración do Anti-Spam'; -$lang['_editing'] = 'Configuración da edición'; -$lang['_links'] = 'Configuración das ligazóns'; -$lang['_media'] = 'Configuración dos ficheiros multimedia'; -$lang['_advanced'] = 'Configuración avanzada'; -$lang['_network'] = 'Configuración de rede'; -$lang['_plugin_sufix'] = 'Configuración de plugins'; -$lang['_template_sufix'] = 'Configuración do modelo'; -$lang['_msg_setting_undefined'] = 'Non hai configuracións de metadatos.'; -$lang['_msg_setting_no_class'] = 'Non hai configuracións de clase.'; -$lang['_msg_setting_no_default'] = 'Non hai un valor predeterminado.'; -$lang['fmode'] = 'Modo de creación de ficheiros'; +$lang['_header_plugin'] = 'Configuración de Extensións'; +$lang['_header_template'] = 'Configuración de Sobreplanta'; +$lang['_header_undefined'] = 'Configuración Indefinida'; +$lang['_basic'] = 'Configuración Básica'; +$lang['_display'] = 'Configuración de Visualización'; +$lang['_authentication'] = 'Configuración de Autenticación'; +$lang['_anti_spam'] = 'Configuración de Anti-Correo-lixo'; +$lang['_editing'] = 'Configuración de Edición'; +$lang['_links'] = 'Configuración de Ligazóns'; +$lang['_media'] = 'Configuración de Media'; +$lang['_advanced'] = 'Configuración Avanzada'; +$lang['_network'] = 'Configuración de Rede'; +$lang['_plugin_sufix'] = 'Configuración de Extensións'; +$lang['_template_sufix'] = 'Configuración de Sobreplanta'; +$lang['_msg_setting_undefined'] = 'Non hai configuración de metadatos.'; +$lang['_msg_setting_no_class'] = 'Non hai configuración de clase.'; +$lang['_msg_setting_no_default'] = 'Non hai valor predeterminado.'; +$lang['fmode'] = 'Modo de creación de arquivos'; $lang['dmode'] = 'Modo de creación de directorios'; $lang['lang'] = 'Idioma'; $lang['basedir'] = 'Directorio base'; @@ -43,103 +41,103 @@ $lang['baseurl'] = 'URL base'; $lang['savedir'] = 'Directorio no que se gardarán os datos'; $lang['start'] = 'Nome da páxina inicial'; $lang['title'] = 'Título do Wiki'; -$lang['template'] = 'Modelo'; -$lang['license'] = 'Baixo que licenza será liberado os seus contidos?'; -$lang['fullpath'] = 'Mostrar o camiño completo das páxinas no pé das mesmas'; -$lang['recent'] = 'Cambios recentes'; +$lang['template'] = 'Sobreplanta'; +$lang['license'] = 'Baixo de que licenza será ceibado o teu contido?'; +$lang['fullpath'] = 'Amosar a ruta completa das páxinas no pé das mesmas'; +$lang['recent'] = 'Trocos recentes'; $lang['breadcrumbs'] = 'Número de niveis da estrutura de navegación'; $lang['youarehere'] = 'Niveis xerárquicos da estrutura de navegación'; $lang['typography'] = 'Facer substitucións tipográficas'; $lang['htmlok'] = 'Permitir a inserción de HTML'; $lang['phpok'] = 'Permitir a inserción de PHP'; -$lang['dformat'] = 'Formato de data (vexa a función strftime do PHP)'; +$lang['dformat'] = 'Formato de Data (bótalle un ollo á función strftime do PHP)'; $lang['signature'] = 'Sinatura'; $lang['toptoclevel'] = 'Nivel superior para a táboa de contidos'; -$lang['tocminheads'] = 'Cantidade mínima de liñas de cabeceira que determinará se se xerará a TDC'; +$lang['tocminheads'] = 'Cantidade mínima de liñas de cabeceira que determinará se a TDC vai ser xerada'; $lang['maxtoclevel'] = 'Nivel máximo para a táboa de contidos'; $lang['maxseclevel'] = 'Nivel máximo de edición da sección'; $lang['camelcase'] = 'Utilizar CamelCase para as ligazóns'; -$lang['deaccent'] = 'Limpar os nomes de páxina'; +$lang['deaccent'] = 'Limpar nomes de páxina'; $lang['useheading'] = 'Utilizar a primeira cabeceira para os nomes de páxina'; -$lang['refcheck'] = 'Comprobar a referencia de multimedia'; -$lang['refshow'] = 'Número de referencias multimedia para mostrar'; -$lang['allowdebug'] = 'Permitir a depuración desactíveo se non o precisa!'; -$lang['usewordblock'] = 'Bloquear o spam segundo unha listaxe de palabras'; -$lang['indexdelay'] = 'Atraso antes de indexar (en seg.)'; +$lang['refcheck'] = 'Comprobar a referencia media'; +$lang['refshow'] = 'Número de referencias media a amosar'; +$lang['allowdebug'] = 'Permitir o depurado desactívao se non o precisas!'; +$lang['usewordblock'] = 'Bloquear correo-lixo segundo unha lista de verbas'; +$lang['indexdelay'] = 'Retardo denantes de indexar (seg)'; $lang['relnofollow'] = 'Utilizar rel="nofollow" nas ligazóns externas'; -$lang['mailguard'] = 'Escurecer os enderezos de correo'; -$lang['iexssprotect'] = 'Comprobar os ficheiros que se suban na procura dun posíbel código JavaScript ou HTML maliciosos'; -$lang['showuseras'] = 'Que se mostrará ao informar da persoa usuaria que fixo a última modificación dunha páxina?'; -$lang['useacl'] = 'Utilizar a lista de control de acceso (ACL)'; -$lang['autopasswd'] = 'Xerar os contrasinais automaticamente'; +$lang['mailguard'] = 'Ofuscar enderezos de correo-e'; +$lang['iexssprotect'] = 'Comprobar arquivos subidos na procura de posíbel código JavaScript ou HTML malicioso'; +$lang['showuseras'] = 'Que amosar cando se informe do usuario que fixo a última modificación dunha páxina'; +$lang['useacl'] = 'Utilizar lista de control de acceso'; +$lang['autopasswd'] = 'Xerar contrasinais automaticamente'; $lang['authtype'] = 'Backend de autenticación'; -$lang['passcrypt'] = 'Método de codificación do contrasinal'; -$lang['defaultgroup'] = 'Grupo predeterminado'; -$lang['superuser'] = 'Superusuaria/o - un grupo ou usuaria/o con acceso completo a todas as páxinas e funcións, independentemente da configuración da ACL'; -$lang['manager'] = 'Xestor - un grupo ou usuaria/o con acceso a certas funcións de xestión'; -$lang['profileconfirm'] = 'Confirmar as modificacións de perfil mediante un contrasinal'; +$lang['passcrypt'] = 'Método de encriptado do contrasinal'; +$lang['defaultgroup'] = 'Grupo por defecto'; +$lang['superuser'] = 'Super-usuario - un grupo ou usuario con acceso completo a todas as páxinas e funcións independentemente da configuración da ACL'; +$lang['manager'] = 'Xestor - un grupo ou usuario con acceso a certas funcións de xestión'; +$lang['profileconfirm'] = 'Confirmar trocos de perfil mediante contrasinal'; $lang['disableactions'] = 'Desactivar accións do DokuWiki'; $lang['disableactions_check'] = 'Comprobar'; $lang['disableactions_subscription'] = 'Subscribir/Desubscribir'; -$lang['disableactions_wikicode'] = 'Ver o código/Exportar datos raw'; -$lang['disableactions_other'] = 'Outras accións (separadas por vírgulas)'; -$lang['sneaky_index'] = 'O DokuWiki mostrará por defecto todos os nomes de espazo na vista de índice. Se activa isto serán ocultados aqueles onde o usuario non teña permisos de lectura.'; -$lang['auth_security_timeout'] = 'Tempo límite de seguranza de autenticación (en segundos)'; -$lang['securecookie'] = 'Débense enviar só mediante HTTPS as cookies configuradas para HTTPS enviadas polo navegador? Desactive esta opción só cando o inicio de sesión do seu wiki estea asegurado con SSL, mais a navegación no mesmo se faga de modo inseguro.'; -$lang['xmlrpc'] = 'Activar/Desactivar a interface XML-RPC'; -$lang['xmlrpcuser'] = 'Restrinxir o acceso mediante XML-RPC á lista separada por comas dos grupos e/ou usuarios proporcionados aquí. Deixe baleiro para darlle acceso a todo o mundo.'; -$lang['updatecheck'] = 'Débese comprobar se hai actualizacións e avisos de seguranza? O DokuWiki precisa contactar con splitbrain.org para executar esta funcionalidade.'; -$lang['userewrite'] = 'Utilizar URL amigábeis'; -$lang['useslash'] = 'Utilizar a barra oblícua (/) como separador de nome de espazo nos URL'; -$lang['usedraft'] = 'Gardar un borrador automaticamente ao editar'; -$lang['sepchar'] = 'Palabra de separación do nome de páxina'; -$lang['canonical'] = 'Utilizar URL completamente canónicos'; -$lang['autoplural'] = 'Comprobar as formas plurais nas ligazóns'; -$lang['compression'] = 'Método de compresión para os ficheiros attic'; -$lang['cachetime'] = 'Tempo máximo para a caché (en seg.)'; -$lang['locktime'] = 'Tempo máximo para o bloqueo de ficheiros (en seg.)'; -$lang['fetchsize'] = 'Tamaño máximo (en bytes) que o fetch.php pode descargar de fontes externas'; -$lang['notify'] = 'Enviar as notificacións de cambios a este enderezo de correo'; -$lang['registernotify'] = 'Enviar a información de novas persoas usuarias rexistradas a este enderezo de correo'; -$lang['mailfrom'] = 'Enderezo de correo-e para usar nas mensaxes automáticas'; -$lang['gzip_output'] = 'Utilizar o Contido-Codificación do Gzip para o XHTML'; -$lang['gdlib'] = 'Versión da biblioteca GD'; -$lang['im_convert'] = 'Camiño para a ferramenta de conversión ImageMagick'; +$lang['disableactions_wikicode'] = 'Ver fonte/Exportar Datos Raw'; +$lang['disableactions_other'] = 'Outras accións (separadas por comas)'; +$lang['sneaky_index'] = 'O DokuWiki amosará por defecto todos os nomes de espazo na vista de índice. Se activas isto agocharanse aqueles onde o usuario non teña permisos de lectura.'; +$lang['auth_security_timeout'] = 'Tempo Límite de Seguridade de Autenticación (segundos)'; +$lang['securecookie'] = 'Deben enviarse só vía HTTPS polo navegador as cookies configuradas vía HTTPS? Desactiva esta opción cando só o inicio de sesión do teu wiki estea asegurado con SSL pero a navegación do mesmo se faga de xeito inseguro.'; +$lang['xmlrpc'] = 'Activar/Desactivar interface XML-RPC'; +$lang['xmlrpcuser'] = 'Restrinxir o acceso mediante XML-RPC á lista separada por comas dos grupos e/ou usuarios proporcionados aquí. Déixao baleiro para darlle acceso a todas as persoas.'; +$lang['updatecheck'] = 'Comprobar se hai actualizacións e avisos de seguridade? O DokuWiki precisa contactar con splitbrain.org para executar esta característica.'; +$lang['userewrite'] = 'Utilizar URLs amigábeis'; +$lang['useslash'] = 'Utilizar a barra inclinada (/) como separador de nome de espazo nos URLs'; +$lang['usedraft'] = 'Gardar un borrador automaticamente no tempo da edición'; +$lang['sepchar'] = 'Verba separadora do nome de páxina'; +$lang['canonical'] = 'Utilizar URLs completamente canónicos'; +$lang['autoplural'] = 'Comprobar formas plurais nas ligazóns'; +$lang['compression'] = 'Método de compresión para arquivos attic'; +$lang['cachetime'] = 'Tempo máximo para a caché (seg.)'; +$lang['locktime'] = 'Tempo máximo para o bloqueo de arquivos (seg.)'; +$lang['fetchsize'] = 'Tamaño máximo (en bytes) que pode descargar fetch.php dende fontes externas'; +$lang['notify'] = 'Enviar notificacións de trocos a este enderezo de correo-e'; +$lang['registernotify'] = 'Enviar información de novos usuarios rexistrados a este enderezo de correo-e'; +$lang['mailfrom'] = 'Enderezo de correo-e a usar para as mensaxes automáticas'; +$lang['gzip_output'] = 'Utilizar Contido-Codificación gzip para o xhtml'; +$lang['gdlib'] = 'Versión da Libraría GD'; +$lang['im_convert'] = 'Ruta deica a ferramenta de conversión ImageMagick'; $lang['jpg_quality'] = 'Calidade de compresión dos JPG (0-100)'; -$lang['subscribers'] = 'Activar a posibilidade de subscrición á páxina'; +$lang['subscribers'] = 'Activar posibilidade de subscrición á páxina'; $lang['compress'] = 'Saída compacta de CSS e Javascript'; -$lang['hidepages'] = 'Ocultar as páxinas que coincidan (expresións regulares)'; -$lang['send404'] = 'Enviar "HTTP 404/Páxina non encontrada" para as páxinas inexistentes'; -$lang['sitemap'] = 'Xerar o mapa do sitio do Google (en días)'; -$lang['broken_iua'] = 'Está danada a función ignore_user_abort no seu sistema? Isto podería causar que o índice de procura non funcione. Sábese que o IIS+PHP/CGI a dana. Vexa Bug 852 para obter máis información.'; -$lang['xsendfile'] = 'Débese empregar a cabeceira X-Sendfile para que o servidor web envíe ficheiros estáticos? O seu servidor web debe soportar isto.'; -$lang['renderer_xhtml'] = 'Intérprete para empregar na saída principal (XHTML) do Wiki'; +$lang['hidepages'] = 'Agochar páxinas que coincidan (expresións regulares)'; +$lang['send404'] = 'Enviar "HTTP 404/Páxina non atopada" para as páxinas inexistentes'; +$lang['sitemap'] = 'Xerar mapa do sitio co Google (días)'; +$lang['broken_iua'] = 'Rachou a función ignore_user_abort no teu sistema? Isto podería causar que o índice de procura non funcione. Coñécese que o IIS+PHP/CGI ráchaa. Bótalle un ollo ao Bug 852 para obter máis información.'; +$lang['xsendfile'] = 'Empregar a cabeceira X-Sendfile para que o servidor web envie arquivos estáticos? O teu servidor web precisa soportar isto.'; +$lang['renderer_xhtml'] = 'Intérprete a empregar para a saída principal (XHTML) do Wiki'; $lang['renderer__core'] = '%s (núcleo do Dokuwiki)'; -$lang['renderer__plugin'] = '%s (plugin)'; -$lang['rememberme'] = 'Permitir as cookies permanentes de inicio de sesión (lembrar)'; -$lang['rss_type'] = 'Tipo de fío RSS XML'; -$lang['rss_linkto'] = 'O fío XML vincúlase a'; -$lang['rss_content'] = 'Que quere mostrar nos elementos do fío XML?'; -$lang['rss_update'] = 'Intervalo de actualización do fío XML (en seg.)'; -$lang['recent_days'] = 'Número de modificacións recentes para manter (en días)'; -$lang['rss_show_summary'] = 'Mostrar o sumario no título do fío XML'; -$lang['target____wiki'] = 'Xanela de destino para as ligazóns internas'; -$lang['target____interwiki'] = 'Xanela de destino para as ligazóns interwiki'; -$lang['target____extern'] = 'Xanela de destino para as ligazóns externas'; -$lang['target____media'] = 'Xanela de destino para as ligazóns multimedia'; -$lang['target____windows'] = 'Xanela de destino para as ligazóns de xanelas'; -$lang['proxy____host'] = 'Nome do servidor proxy'; -$lang['proxy____port'] = 'Porto do proxy'; -$lang['proxy____user'] = 'Nome de usuaria/o do proxy'; -$lang['proxy____pass'] = 'Contrasinal do proxy'; -$lang['proxy____ssl'] = 'Utilizar SSL para conectar co proxy'; -$lang['safemodehack'] = 'Activar o hack de modo seguro (safemode)'; +$lang['renderer__plugin'] = '%s (extensión)'; +$lang['rememberme'] = 'Permitir cookies permanentes de inicio de sesión (lembrarme)'; +$lang['rss_type'] = 'Tipo de corrente RSS XML'; +$lang['rss_linkto'] = 'A corrente XML liga para'; +$lang['rss_content'] = 'Que queres amosar nos elementos da corrente XML?'; +$lang['rss_update'] = 'Intervalo de actualización da corrente XML (seg.)'; +$lang['recent_days'] = 'Número de trocos recentes a manter (días)'; +$lang['rss_show_summary'] = 'Amosar sumario no título da corrente XML'; +$lang['target____wiki'] = 'Fiestra de destino para as ligazóns internas'; +$lang['target____interwiki'] = 'Fiestra de destino para as ligazóns interwiki'; +$lang['target____extern'] = 'Fiestra de destino para as ligazóns externas'; +$lang['target____media'] = 'Fiestra de destino para as ligazóns de media'; +$lang['target____windows'] = 'Fiestra de destino para as ligazóns de fiestras'; +$lang['proxy____host'] = 'Nome do servidor Proxy'; +$lang['proxy____port'] = 'Porto do Proxy'; +$lang['proxy____user'] = 'Nome de usuario do Proxy'; +$lang['proxy____pass'] = 'Contrasinal do Proxy'; +$lang['proxy____ssl'] = 'Utilizar ssl para conectar ao Proxy'; +$lang['safemodehack'] = 'Activar hack de modo seguro (safemode)'; $lang['ftp____host'] = 'Servidor FTP para o hack de modo seguro (safemode)'; $lang['ftp____port'] = 'Porto FTP para o hack de modo seguro(safemode)'; -$lang['ftp____user'] = 'Nome de usuaria/o FTP para o hack de modo seguro(safemode)'; +$lang['ftp____user'] = 'Nome de usuario FTP para o hack de modo seguro(safemode)'; $lang['ftp____pass'] = 'Contrasinal FTP para o hack de modo seguro(safemode)'; -$lang['ftp____root'] = 'Directorio raíz do FTP para o hack de modo seguro(safemode)'; -$lang['license_o_'] = 'Non se seleccionou nada'; +$lang['ftp____root'] = 'Directorio raigaña do FTP para o hack de modo seguro(safemode)'; +$lang['license_o_'] = 'Non se escolleu nada'; $lang['typography_o_0'] = 'ningunha'; $lang['typography_o_1'] = 'Só dobres aspas'; $lang['typography_o_2'] = 'Todas as aspas (pode que non funcione sempre)'; @@ -147,9 +145,9 @@ $lang['userewrite_o_0'] = 'ningún'; $lang['userewrite_o_1'] = '.htaccess'; $lang['userewrite_o_2'] = 'Interno do DokuWiki'; $lang['deaccent_o_0'] = 'desconectado'; -$lang['deaccent_o_1'] = 'Eliminar os acentos'; +$lang['deaccent_o_1'] = 'Eliminar acentos'; $lang['deaccent_o_2'] = 'romanizar'; -$lang['gdlib_o_0'] = 'A biblioteca GD non está dispoñíbel'; +$lang['gdlib_o_0'] = 'Libraría GD non dispoñíbel'; $lang['gdlib_o_1'] = 'Versión 1.x'; $lang['gdlib_o_2'] = 'Detección automática'; $lang['rss_type_o_rss'] = 'RSS 0.91'; @@ -157,26 +155,26 @@ $lang['rss_type_o_rss1'] = 'RSS 1.0'; $lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'Atom 0.3'; $lang['rss_type_o_atom1'] = 'Atom 1.0'; -$lang['rss_content_o_abstract'] = 'Resumo'; +$lang['rss_content_o_abstract'] = 'Sumario'; $lang['rss_content_o_diff'] = 'Formato Unified Diff'; $lang['rss_content_o_htmldiff'] = 'Táboa diff formatada en HTML'; $lang['rss_content_o_html'] = 'Contido HTML completo da páxina'; -$lang['rss_linkto_o_diff'] = 'visualización de diferenzas'; +$lang['rss_linkto_o_diff'] = 'vista de diferenzas'; $lang['rss_linkto_o_page'] = 'a páxina revisada'; $lang['rss_linkto_o_rev'] = 'listaxe de revisións'; $lang['rss_linkto_o_current'] = 'a páxina actual'; $lang['compression_o_0'] = 'ningunha'; $lang['compression_o_gz'] = 'gzip'; $lang['compression_o_bz2'] = 'bz2'; -$lang['xsendfile_o_0'] = 'non usar'; -$lang['xsendfile_o_1'] = 'Cabeceira lighttpd propietaria (anterior á versión 1.5)'; +$lang['xsendfile_o_0'] = 'non o empregues'; +$lang['xsendfile_o_1'] = 'Cabeceira lighttpd propietaria (denantes da versión 1.5)'; $lang['xsendfile_o_2'] = 'Cabeceira X-Sendfile estándar'; $lang['xsendfile_o_3'] = 'Cabeceira X-Accel-Redirect propia de Nginx'; $lang['showuseras_o_loginname'] = 'Nome de inicio de sesión'; -$lang['showuseras_o_username'] = 'Nome completo da persoa usuaria'; -$lang['showuseras_o_email'] = 'Enderezo de correo da persoa usuaria (escurecido conforme a configuración mailguard)'; -$lang['showuseras_o_email_link'] = 'Enderezo de correo da persoa usuaria como unha ligazón mailto:'; -$lang['useheading_o_0'] = 'Nunca'; -$lang['useheading_o_navigation'] = 'Só a navegación'; -$lang['useheading_o_content'] = 'Só o contido do Wiki'; +$lang['showuseras_o_username'] = 'Nome completo do usuario'; +$lang['showuseras_o_email'] = 'Enderezo de correo-e do usuario (ofuscado segundo a configuración mailguard)'; +$lang['showuseras_o_email_link'] = 'Enderezo de correo-e do usuario como ligazón mailto:'; +$lang['useheading_o_0'] = 'Endexamais'; +$lang['useheading_o_navigation'] = 'Só Navegación'; +$lang['useheading_o_content'] = 'Só Contido do Wiki'; $lang['useheading_o_1'] = 'Sempre'; diff --git a/lib/plugins/plugin/lang/gl/admin_plugin.txt b/lib/plugins/plugin/lang/gl/admin_plugin.txt index 481cb49a6..216285a8d 100644 --- a/lib/plugins/plugin/lang/gl/admin_plugin.txt +++ b/lib/plugins/plugin/lang/gl/admin_plugin.txt @@ -1,3 +1,3 @@ -====== Xestión de plugins ====== +====== Xestión de Extensións ====== -Nesta páxina pode xestionar todas as accións posíbeis cos [[doku>plugins|plugins]] do DokuWiki. Para poder descargar e instalar un plugin, o seu cartafol de plugins debe ser escribíbel polo servidor web. +Nesta páxina podes xestionar todas as accións posíbeis cos [[doku>plugins|extensións]] do DokuWiki. Para poder descargar e instalar unha extensión, o teu cartafol de extensións debe ser escribíbel polo servidor web. diff --git a/lib/plugins/plugin/lang/gl/lang.php b/lib/plugins/plugin/lang/gl/lang.php index a4fd98594..157911a62 100644 --- a/lib/plugins/plugin/lang/gl/lang.php +++ b/lib/plugins/plugin/lang/gl/lang.php @@ -2,14 +2,12 @@ /** * Galicianlanguage file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['menu'] = 'Xestionar os plugins'; -$lang['download'] = 'Descargar e instalar un plugin novo'; -$lang['manage'] = 'Plugins instalados'; -$lang['btn_info'] = 'información'; +$lang['menu'] = 'Xestionar Extensións'; +$lang['download'] = 'Descargar e instalar unha nova extensión'; +$lang['manage'] = 'Extensións Instalados'; +$lang['btn_info'] = 'info'; $lang['btn_update'] = 'actualización'; $lang['btn_delete'] = 'eliminar'; $lang['btn_settings'] = 'configuración'; @@ -21,18 +19,18 @@ $lang['lastupdate'] = 'Última actualización:'; $lang['source'] = 'Fonte:'; $lang['unknown'] = 'descoñecido'; $lang['updating'] = 'Actualizando...'; -$lang['updated'] = 'Actualizouse correctamente o plugin %s'; -$lang['updates'] = 'Actualizáronse correctamente os seguintes plugins'; -$lang['update_none'] = 'Non se encontraron actualizacións.'; +$lang['updated'] = 'Actualizouse correctamente a extensión %s'; +$lang['updates'] = 'Actualizáronse correctamente as seguintes extensións'; +$lang['update_none'] = 'Non se atoparon actualizacións.'; $lang['deleting'] = 'Eliminando...'; -$lang['deleted'] = 'Eliminado o plugin %s.'; +$lang['deleted'] = 'Eliminado a extensión %s.'; $lang['downloading'] = 'Descargando...'; -$lang['downloaded'] = 'Instalouse correctamente o plugin %s'; -$lang['downloads'] = 'Instaláronse correctamente os seguintes plugins:'; -$lang['download_none'] = 'Non se encontraron plugins ou aconteceu un problema descoñecido durante a descarga e instalación.'; -$lang['plugin'] = 'Plugin:'; +$lang['downloaded'] = 'Instalouse correctamente a extensión %s'; +$lang['downloads'] = 'Instaláronse correctamente as seguintes extensións:'; +$lang['download_none'] = 'Non se atoparon extensións, ou aconteceu un problema descoñecido durante a descarga e instalación.'; +$lang['plugin'] = 'Extensión:'; $lang['components'] = 'Compoñentes'; -$lang['noinfo'] = 'Este plugin non devolveu información ningunha; pode que non sexa válido.'; +$lang['noinfo'] = 'Esta extensión non devolveu información ningunha. Pode que non sexa válida.'; $lang['name'] = 'Nome:'; $lang['date'] = 'Data:'; $lang['type'] = 'Tipo:'; @@ -40,13 +38,13 @@ $lang['desc'] = 'Descrición:'; $lang['author'] = 'Autor:'; $lang['www'] = 'Web:'; $lang['error'] = 'Houbo un erro descoñecido.'; -$lang['error_download'] = 'Non se puido descargar o ficheiro de plugin: %s'; -$lang['error_badurl'] = 'O URL é posibelmente incorrecto - non se puido determinar o nome do ficheiro mediante o URL'; +$lang['error_download'] = 'Non se puido descargar o arquivo de extensión: %s'; +$lang['error_badurl'] = 'URL posiblemente incorrecto - non se puido determinar o nome do arquivo mediante o URL'; $lang['error_dircreate'] = 'Non se puido crear un cartafol temporal para recibir a descarga'; -$lang['error_decompress'] = 'O xestor de plugins non foi quen de descomprimir o ficheiro descargado. Isto podería estar causado por unha descarga danada e en tal caso poderíalo tentar de novo; pode tamén que o formato de compresión sexa descoñecido, co que precisará descargar e instalar o plugin de modo manual.'; -$lang['error_copy'] = 'Houbo un erro de copia do ficheiro ao tentar instalar o plugin %s: pode que o disco estea cheo ou que os permisos de acceso sexan incorrectos. Isto podería dar lugar a unha instalación parcial do plugin e facer que a súa instalación do wiki se volva inestábel.'; -$lang['error_delete'] = 'Houbo un erro ao tentar eliminar o plugin %s. O máis probábel é que sexa causado por permisos de acceso insuficientes ao ficheiro ou directorio.'; -$lang['enabled'] = 'O plugin %s foi activado.'; -$lang['notenabled'] = 'O plugin %s non puido ser activado; verifique os permisos do ficheiro.'; -$lang['disabled'] = 'O plugin %s foi desactivado.'; -$lang['notdisabled'] = 'O plugin %s non puido ser desactivado; verifique os permisos do ficheiro.'; +$lang['error_decompress'] = 'O xestor de extensións non foi quen de descomprimir o arquivo descargado. Isto podería ser causado por unha descarga corrupta, polo que, en tal caso, podes tentalo de novo; ou pode que o formato de compresión sexa descoñecido, co que precisarás descargar e instalar a extensión de xeito manual.'; +$lang['error_copy'] = 'Houbo un erro de copia de arquivo ao tentar instalar a extensión %s: pode que o disco estea cheo ou que os permisos de acceso sexan incorrectos. Isto podería dar lugar a unha instalación parcial da extensión e facer que a túa instalación do wiki se volva inestable.'; +$lang['error_delete'] = 'Houbo un erro ao tentar eliminar a extensión %s. O máis probable é que sexa causado por permisos de acceso ao arquivo ou directorio insuficientes.'; +$lang['enabled'] = 'Extensión %s activado.'; +$lang['notenabled'] = 'A extensión %s non puido ser activada, comproba os permisos de arquivo.'; +$lang['disabled'] = 'Extensión %s desactivada.'; +$lang['notdisabled'] = 'A extensión %s non puido ser desactivada, comproba os permisos de arquivo.'; diff --git a/lib/plugins/popularity/lang/gl/intro.txt b/lib/plugins/popularity/lang/gl/intro.txt index d81903797..72f03e012 100644 --- a/lib/plugins/popularity/lang/gl/intro.txt +++ b/lib/plugins/popularity/lang/gl/intro.txt @@ -1,10 +1,10 @@ -====== Resposta de popularidade ====== +====== Resposta de Popularidade ====== -Esta ferramenta recolle datos anónimos sobre o seu wiki e permítelle envialos ás persoas desenvolvedoras do DokuWiki. Isto axudaralles a ter unha idea do modo en que se emprega o DokuWiki por parte das súas persoas usuarias e garante que as decisións de desenvolvemento futuro coincidan coas estadísticas de uso no mundo real. +Esta ferramenta recolle datos anónimos verbo do teu wiki e permíteche enviarllos aos desenvolvedores do DokuWiki. Isto axudaralles a ter unha idea do xeito en que se emprega o DokuWiki por parte dos seus usuarios, e asegura que as decisións de desenvolvemento futuro coincidan coas estatísticas de uso no mundo real. -Animámolo a executar este proceso de cando en vez, para manter informadas ás persoas desenvolvedoras a medida que o seu wiki vaia medrando. Os seus conxuntos de datos repetidos seran identificados por un ID anónimo. +Animámoste a levar a cabo este proceso de cando en vez para manteres informados aos desenvolvedores a medida que o teu wiki vaia medrando. Os teus xogos de datos repetidos seran identificados por un ID anónimo. -Os datos recompilados conteñen informacións do tipo: versión do Dokuwiki, número e tamaño das páxinas e ficheiros, plugins instalados e informacións sobre a súa instalación do PHP. +Os datos recompilados conteñen información como a versión do teu Dokuwiki, o número e tamaño das túas páxinas e arquivos, as extensións instaladas e información verbo da túa instalación do PHP. -Os datos en bruto que serán enviados móstranse abaixo. Empregue o botón "Enviar os datos" para transferir a información. +Os datos en bruto que serán enviados amósanse embaixo. Por favor, emprega o botón "Enviar Datos" para transferires a información. diff --git a/lib/plugins/popularity/lang/gl/lang.php b/lib/plugins/popularity/lang/gl/lang.php index 116a73256..3e7d9275b 100644 --- a/lib/plugins/popularity/lang/gl/lang.php +++ b/lib/plugins/popularity/lang/gl/lang.php @@ -2,9 +2,7 @@ /** * Galician language file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['name'] = 'Resposta de popularidade (pode demorar un tempo a cargar)'; -$lang['submit'] = 'Enviar os datos'; +$lang['name'] = 'Resposta de Popularidade (pode demorar un tempo a cargar)'; +$lang['submit'] = 'Enviar Datos'; diff --git a/lib/plugins/revert/lang/gl/intro.txt b/lib/plugins/revert/lang/gl/intro.txt index 81e98f1d5..6327249fc 100644 --- a/lib/plugins/revert/lang/gl/intro.txt +++ b/lib/plugins/revert/lang/gl/intro.txt @@ -1,3 +1,3 @@ -====== Xestor de recuperación ====== +====== Xestor de Reversión ====== -Esta páxina axudarao a se recuperar automaticamente dun ataque de spam. Para encontrar unha listaxe de páxinas que conteñan spam, primeiro debe inserir unha cadea de procura (por ex. un URL de spam) e despois confirmar que as páxinas encontradas conteñen realmente spam, antes de reverter as edicións. +Esta páxina axudarache a revertir automaticamente un ataque de correo-lixo. Para atopares unha listaxe de páxinas que conteñan correo-lixo, primeiro debes inserir unha cadea de procura (p.e. un URL do correo-lixo), e logo confirmares que as páxinas atopadas conteñen realmente o tal correo-lixo e reverter as edicións. \ No newline at end of file diff --git a/lib/plugins/revert/lang/gl/lang.php b/lib/plugins/revert/lang/gl/lang.php index 33472090d..87bce32ba 100644 --- a/lib/plugins/revert/lang/gl/lang.php +++ b/lib/plugins/revert/lang/gl/lang.php @@ -2,16 +2,14 @@ /** * Galicianlanguage file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['menu'] = 'Xestor de recuperación'; -$lang['filter'] = 'Procurar páxinas con spam'; -$lang['revert'] = 'Recuperar as páxinas seleccionadas'; -$lang['reverted'] = '%s foi revertida á revisión %s'; -$lang['removed'] = '%s foi eliminada'; -$lang['revstart'] = 'O proceso de recuperación foi iniciado. Isto podería demorar un certo tempo. Se o script falla por ter superado o seu límite de tempo antes de rematar, terá que efectuar a recuperación sobre fragmentos máis pequenos.'; -$lang['revstop'] = 'O proceso de recuperación rematou correctamente.'; -$lang['note1'] = 'Nota: Esta procura distingue entre maiúsculas e minúsculas'; -$lang['note2'] = 'Nota: A páxina será revertida á última versión que non conteña o termo de spam %s indicado.'; +$lang['menu'] = 'Xestor de Reversión'; +$lang['filter'] = 'Procurar páxinas con correo-lixo'; +$lang['revert'] = 'Revertir as páxinas seleccionadas'; +$lang['reverted'] = '%s revertido á revisión %s'; +$lang['removed'] = '%s eliminado'; +$lang['revstart'] = 'Proceso de reversión iniciado. Isto podería demorar un anaco longo. Se o script fallar por superar o seu límite de tempo denantes de rematar, terás que facer a reversión en anacos máis pequenos.'; +$lang['revstop'] = 'O proceso de reversión rematou correctamente.'; +$lang['note1'] = 'Nota: esta procura distingue entre maiúsculas e minúsculas'; +$lang['note2'] = 'Nota: a páxina revertirase á última versión que non conteña o termo de correo-lixo %s indicado.'; diff --git a/lib/plugins/usermanager/lang/gl/add.txt b/lib/plugins/usermanager/lang/gl/add.txt index cd1c487ff..7602c36ec 100644 --- a/lib/plugins/usermanager/lang/gl/add.txt +++ b/lib/plugins/usermanager/lang/gl/add.txt @@ -1 +1 @@ -===== Engadir unha persoa usuaria ===== +===== Engadir usuario ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/gl/delete.txt b/lib/plugins/usermanager/lang/gl/delete.txt index f13133d6f..4262a0c05 100644 --- a/lib/plugins/usermanager/lang/gl/delete.txt +++ b/lib/plugins/usermanager/lang/gl/delete.txt @@ -1 +1 @@ -===== Eliminar unha persoa usuaria ===== +===== Eliminar usuario ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/gl/edit.txt b/lib/plugins/usermanager/lang/gl/edit.txt index d33f9c335..11ef62cce 100644 --- a/lib/plugins/usermanager/lang/gl/edit.txt +++ b/lib/plugins/usermanager/lang/gl/edit.txt @@ -1 +1 @@ -===== Editar unha persoa usuaria ===== +===== Editar usuario ===== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/gl/intro.txt b/lib/plugins/usermanager/lang/gl/intro.txt index 9b05a0c5e..77675e9d6 100644 --- a/lib/plugins/usermanager/lang/gl/intro.txt +++ b/lib/plugins/usermanager/lang/gl/intro.txt @@ -1 +1 @@ -====== Xestor de persoas usuarias ====== +====== Xestor de Usuarios ====== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/gl/lang.php b/lib/plugins/usermanager/lang/gl/lang.php index b6909c100..0a01ef750 100644 --- a/lib/plugins/usermanager/lang/gl/lang.php +++ b/lib/plugins/usermanager/lang/gl/lang.php @@ -2,48 +2,46 @@ /** * Galicianlanguage file * - * @author CiberIrmandade da Fala - * @author Tagen Ata - * @author Leandro Regueiro + * @author Medúlio */ -$lang['menu'] = 'Xestor de persoas usuarias'; -$lang['noauth'] = '(a autenticación de persoas usuarias non está dispoñíbel)'; -$lang['nosupport'] = '(a xestión de persoas usuarias non está soportada)'; -$lang['badauth'] = 'o mecanismo de autenticación non é válido'; -$lang['user_id'] = 'Usuaria/o'; +$lang['menu'] = 'Xestor de Usuarios'; +$lang['noauth'] = '(autenticación de usuarios non dispoñible)'; +$lang['nosupport'] = '(xestión de usuarios non soportada)'; +$lang['badauth'] = 'mecanismo de autenticación non válido'; +$lang['user_id'] = 'Usuario'; $lang['user_pass'] = 'Contrasinal'; -$lang['user_name'] = 'Nome real'; -$lang['user_mail'] = 'Correo'; +$lang['user_name'] = 'Nome Real'; +$lang['user_mail'] = 'Correo-e'; $lang['user_groups'] = 'Grupos'; $lang['field'] = 'Campo'; $lang['value'] = 'Valor'; $lang['add'] = 'Engadir'; $lang['delete'] = 'Eliminar'; -$lang['delete_selected'] = 'Eliminar as seleccionadas'; +$lang['delete_selected'] = 'Eliminar Seleccionados'; $lang['edit'] = 'Editar'; -$lang['edit_prompt'] = 'Editar esta persoa usuaria'; -$lang['modify'] = 'Gardar os cambios'; +$lang['edit_prompt'] = 'Editar este usuario'; +$lang['modify'] = 'Gardar Trocos'; $lang['search'] = 'Procurar'; -$lang['search_prompt'] = 'Facer unha procura'; -$lang['clear'] = 'Reiniciar o filtro de procura'; +$lang['search_prompt'] = 'Facer procura'; +$lang['clear'] = 'Reiniciar Filtro de Procura'; $lang['filter'] = 'Filtro'; -$lang['summary'] = 'A mostrar as persoas usuarias %1$d-%2$d de %3$d encontradas. %4$d persoas usuarias en total.'; -$lang['nonefound'] = 'Non se encontraron persoas usuarias. %d persoas usuarias en total.'; -$lang['delete_ok'] = '%d persoas usuarias foron eliminadas'; -$lang['delete_fail'] = '%d non puideron ser eliminadas.'; -$lang['update_ok'] = 'A persoa usuaria foi actualizada correctamente'; -$lang['update_fail'] = 'Non se puido actualizar a persoa usuaria'; -$lang['update_exists'] = 'Non se puido mudar o nome da persoa usuaria; o nome especificado (%s) xa existe (o resto de cambios aplicaranse sen problemas).'; +$lang['summary'] = 'Amosando usuarios %1$d-%2$d de %3$d atopados. %4$d usuarios en total.'; +$lang['nonefound'] = 'Non se atoparon usuarios. %d usuarios en total.'; +$lang['delete_ok'] = '%d usuarios eliminados'; +$lang['delete_fail'] = '%d non puideron ser eliminados.'; +$lang['update_ok'] = 'Usuario actualizado correctamente'; +$lang['update_fail'] = 'Non se puido actualizar o usuario'; +$lang['update_exists'] = 'Non se puido mudar o nome do usuario, xa que o nome especificado (%s) xa existe (o resto de trocos aplicaranse sen problemas).'; $lang['start'] = 'comezo'; $lang['prev'] = 'anterior'; $lang['next'] = 'seguinte'; -$lang['last'] = 'última'; -$lang['edit_usermissing'] = 'Non se encontrou a persoa usuaria seleccionada; pode que o nome de usuaria/o teña sido eliminado ou alterado nalgún momento.'; -$lang['user_notify'] = 'Notificar á/ao usuaria/o'; -$lang['note_notify'] = 'Os correos de notificación envíanse só se a persoa usuaria obtén un contrasinal novo.'; -$lang['note_group'] = 'As persoas usuarias novas serán engadidas ao grupo predeterminado (%s) se non se especifica outro.'; -$lang['note_pass'] = 'Se deixa o campo baleiro e a notificación á/ao usuaria/o está activada, xerarase automaticamente o contrasinal.'; -$lang['add_ok'] = 'A persoa usuaria foi engadida correctamente'; -$lang['add_fail'] = 'Non se puido engadir a/o usuaria/o'; -$lang['notify_ok'] = 'O correo de notificación foi enviado'; -$lang['notify_fail'] = 'Non se puido enviar o correo de notificación'; +$lang['last'] = 'derradeiro'; +$lang['edit_usermissing'] = 'Non se atopou o usuario seleccionado, pode que o nome de usuario fose eliminado ou mudado nalgún intre.'; +$lang['user_notify'] = 'Notificar ao usuario'; +$lang['note_notify'] = 'Os correos-e de notificación envíanse só se o usuario obtén un novo contrasinal.'; +$lang['note_group'] = 'Os novos usuarios serán engadidos ao grupo por defecto (%s) se non se especifica outro.'; +$lang['note_pass'] = 'Se deixas o campo baleiro e a notificación ao usuario está activada xerarase automaticamente o contrasinal.'; +$lang['add_ok'] = 'Usuario engadido correctamente'; +$lang['add_fail'] = 'Non se puido engadir o usuario'; +$lang['notify_ok'] = 'Correo-e de notificación enviado'; +$lang['notify_fail'] = 'Non se puido enviar o correo-e de notificación'; diff --git a/lib/plugins/usermanager/lang/gl/list.txt b/lib/plugins/usermanager/lang/gl/list.txt index 792afd7d1..013b2d7d8 100644 --- a/lib/plugins/usermanager/lang/gl/list.txt +++ b/lib/plugins/usermanager/lang/gl/list.txt @@ -1 +1 @@ -===== Listaxe de persoas usuarias ===== +===== Lista de Usuarios ===== \ No newline at end of file -- cgit v1.2.3 From c4ba149a58e742fab4739e2432ee00e41f1f7184 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 8 Mar 2010 13:04:31 +0100 Subject: Allow filtering of block buttons in initToolbar --- inc/toolbar.php | 26 ++++++++++++++++++++++---- lib/scripts/toolbar.js | 12 ++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/inc/toolbar.php b/inc/toolbar.php index 9140970d1..21819d138 100644 --- a/inc/toolbar.php +++ b/inc/toolbar.php @@ -36,6 +36,7 @@ function toolbar_JSdefines($varname){ 'key' => 'b', 'open' => '**', 'close' => '**', + 'block' => false ), array( 'type' => 'format', @@ -44,6 +45,7 @@ function toolbar_JSdefines($varname){ 'key' => 'i', 'open' => '//', 'close' => '//', + 'block' => false ), array( 'type' => 'format', @@ -52,6 +54,7 @@ function toolbar_JSdefines($varname){ 'key' => 'u', 'open' => '__', 'close' => '__', + 'block' => false ), array( 'type' => 'format', @@ -60,6 +63,7 @@ function toolbar_JSdefines($varname){ 'key' => 'c', 'open' => "''", 'close' => "''", + 'block' => false ), array( 'type' => 'format', @@ -68,6 +72,7 @@ function toolbar_JSdefines($varname){ 'key' => 'd', 'open' => '', 'close' => '', + 'block' => false ), array( @@ -76,7 +81,8 @@ function toolbar_JSdefines($varname){ 'icon' => 'hequal.png', 'key' => '8', 'text' => $lang['qb_h'], - 'mod' => 0 + 'mod' => 0, + 'block' => true ), array( 'type' => 'autohead', @@ -84,7 +90,8 @@ function toolbar_JSdefines($varname){ 'icon' => 'hminus.png', 'key' => '9', 'text' => $lang['qb_h'], - 'mod' => 1 + 'mod' => 1, + 'block' => true ), array( 'type' => 'autohead', @@ -92,7 +99,8 @@ function toolbar_JSdefines($varname){ 'icon' => 'hplus.png', 'key' => '0', 'text' => $lang['qb_h'], - 'mod' => -1 + 'mod' => -1, + 'block' => true ), array( @@ -141,7 +149,8 @@ function toolbar_JSdefines($varname){ 'open' => '== ', 'close' => ' ==\n', ), - ) + ), + 'block' => true ), array( @@ -151,6 +160,7 @@ function toolbar_JSdefines($varname){ 'key' => 'l', 'open' => '[[', 'close' => ']]', + 'block' => false ), array( 'type' => 'format', @@ -159,6 +169,7 @@ function toolbar_JSdefines($varname){ 'open' => '[[', 'close' => ']]', 'sample' => 'http://example.com|'.$lang['qb_extlink'], + 'block' => false ), array( 'type' => 'formatln', @@ -167,6 +178,7 @@ function toolbar_JSdefines($varname){ 'open' => ' - ', 'close' => '', 'key' => '-', + 'block' => true ), array( 'type' => 'formatln', @@ -175,12 +187,14 @@ function toolbar_JSdefines($varname){ 'open' => ' * ', 'close' => '', 'key' => '.', + 'block' => true ), array( 'type' => 'insert', 'title' => $lang['qb_hr'], 'icon' => 'hr.png', 'insert' => '\n----\n', + 'block' => true ), array( 'type' => 'mediapopup', @@ -189,6 +203,7 @@ function toolbar_JSdefines($varname){ 'url' => 'lib/exe/mediamanager.php?ns=', 'name' => 'mediaselect', 'options'=> 'width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes', + 'block' => false ), array( 'type' => 'picker', @@ -196,18 +211,21 @@ function toolbar_JSdefines($varname){ 'icon' => 'smiley.png', 'list' => getSmileys(), 'icobase'=> 'smileys', + 'block' => false ), array( 'type' => 'picker', 'title' => $lang['qb_chars'], 'icon' => 'chars.png', 'list' => explode(' ','À à Á á  â à ã Ä ä Ǎ ǎ Ă ă Å å Ā ā Ą ą Æ æ Ć ć Ç ç Č č Ĉ ĉ Ċ ċ Ð đ ð Ď ď È è É é Ê ê Ë ë Ě ě Ē ē Ė ė Ę ę Ģ ģ Ĝ ĝ Ğ ğ Ġ ġ Ĥ ĥ Ì ì Í í Î î Ï ï Ǐ ǐ Ī ī İ ı Į į Ĵ ĵ Ķ ķ Ĺ ĺ Ļ ļ Ľ ľ Ł ł Ŀ ŀ Ń ń Ñ ñ Ņ ņ Ň ň Ò ò Ó ó Ô ô Õ õ Ö ö Ǒ ǒ Ō ō Ő ő Œ œ Ø ø Ŕ ŕ Ŗ ŗ Ř ř Ś ś Ş ş Š š Ŝ ŝ Ţ ţ Ť ť Ù ù Ú ú Û û Ü ü Ǔ ǔ Ŭ ŭ Ū ū Ů ů ǖ ǘ ǚ ǜ Ų ų Ű ű Ŵ ŵ Ý ý Ÿ ÿ Ŷ ŷ Ź ź Ž ž Ż ż Þ þ ß Ħ ħ ¿ ¡ ¢ £ ¤ ¥ € ¦ § ª ¬ ¯ ° ± ÷ ‰ ¼ ½ ¾ ¹ ² ³ µ ¶ † ‡ · • º ∀ ∂ ∃ Ə ə ∅ ∇ ∈ ∉ ∋ ∏ ∑ ‾ − ∗ √ ∝ ∞ ∠ ∧ ∨ ∩ ∪ ∫ ∴ ∼ ≅ ≈ ≠ ≡ ≤ ≥ ⊂ ⊃ ⊄ ⊆ ⊇ ⊕ ⊗ ⊥ ⋅ ◊ ℘ ℑ ℜ ℵ ♠ ♣ ♥ ♦ α β Γ γ Δ δ ε ζ η Θ θ ι κ Λ λ μ Ξ ξ Π π ρ Σ σ Τ τ υ Φ φ χ Ψ ψ Ω ω ★ ☆ ☎ ☚ ☛ ☜ ☝ ☞ ☟ ☹ ☺ ✔ ✘ × „ “ ” ‚ ‘ ’ « » ‹ › — – … ← ↑ → ↓ ↔ ⇐ ⇑ ⇒ ⇓ ⇔ © ™ ® ′ ″ [ ] { } ~ ( ) % § $ # | @'), + 'block' => false ), array( 'type' => 'signature', 'title' => $lang['qb_sig'], 'icon' => 'sig.png', 'key' => 'y', + 'block' => false ), )); } // end event TOOLBAR_DEFINE default action diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js index 99ad1bb9c..37987c21a 100644 --- a/lib/scripts/toolbar.js +++ b/lib/scripts/toolbar.js @@ -5,12 +5,13 @@ var pickercounter=0; /** * Create a toolbar * - * @param string tbid ID of the element where to insert the toolbar - * @param string edid ID of the editor textarea - * @param array tb Associative array defining the buttons + * @param string tbid ID of the element where to insert the toolbar + * @param string edid ID of the editor textarea + * @param array tb Associative array defining the buttons + * @param bool allowblock Allow buttons creating multiline content * @author Andreas Gohr */ -function initToolbar(tbid,edid,tb){ +function initToolbar(tbid,edid,tb, allowblock){ var toolbar = $(tbid); if(!toolbar) return; var edit = $(edid); @@ -22,6 +23,9 @@ function initToolbar(tbid,edid,tb){ var cnt = tb.length; for(var i=0; i Date: Mon, 8 Mar 2010 13:04:59 +0100 Subject: Append linkwizard directly to the edit form --- lib/scripts/linkwiz.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/linkwiz.js b/lib/scripts/linkwiz.js index 4528d9591..225868592 100644 --- a/lib/scripts/linkwiz.js +++ b/lib/scripts/linkwiz.js @@ -38,7 +38,7 @@ var linkwiz = { LANG['linkwiz']+'
'+ '
'+LANG['linkto']+'
'+ ''; - textArea.form.parentNode.appendChild(linkwiz.wiz); + $('dw__editform').parentNode.appendChild(linkwiz.wiz); linkwiz.textArea = textArea; linkwiz.result = $('link__wiz_result'); linkwiz.entry = $('link__wiz_entry'); -- cgit v1.2.3 From 7e783d07e8533b7e27cec02dd2227ddc83d26d47 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Mar 2010 10:07:09 +0100 Subject: Introduce toolbar buttons for headers and stuff --- lib/scripts/toolbar.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/scripts/toolbar.js b/lib/scripts/toolbar.js index 37987c21a..3f967448c 100644 --- a/lib/scripts/toolbar.js +++ b/lib/scripts/toolbar.js @@ -18,6 +18,10 @@ function initToolbar(tbid,edid,tb, allowblock){ if(!edit) return; if(edit.readOnly) return; + if (typeof allowblock === 'undefined') { + allowblock = true; + } + //empty the toolbar area: toolbar.innerHTML=''; -- cgit v1.2.3 From bce53b1fc1455d813331e735c7102be19fc1fc48 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Mar 2010 11:54:37 +0100 Subject: Add missing global declaration --- inc/common.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/common.php b/inc/common.php index c5ad92dc5..0d5efbee9 100644 --- a/inc/common.php +++ b/inc/common.php @@ -840,6 +840,7 @@ function pageTemplate($data){ */ function parsePageTemplate($tpl, $id) { global $USERINFO; + global $conf; // replace placeholders $file = noNS($id); -- cgit v1.2.3 From ffde0ac9c67ac7dea5886a325e05300c3a88c163 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Mar 2010 10:37:35 +0100 Subject: Allow plugins to manage edit intro text --- inc/html.php | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/inc/html.php b/inc/html.php index 88fa0b4ff..d9766e543 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1183,28 +1183,18 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? $wr = $INFO['writable'] && !$INFO['locked']; if($wr){ - if ($REV) print p_locale_xhtml('editrev'); - print p_locale_xhtml($include); + if ($REV) $include = 'editrev'; }else{ // check pseudo action 'source' if(!actionOK('source')){ msg('Command disabled: source',-1); return; } - print p_locale_xhtml('read'); + $include = 'read'; } if(!$DATE) $DATE = $INFO['lastmod']; - global $conf; global $license; - global $lang; - global $REV; - global $DATE; - global $PRE; - global $SUF; - global $INFO; - global $SUM; - global $ID; $form = new Doku_Form(array('id' => 'dw__editform')); $form->addHidden('id', $ID); @@ -1216,7 +1206,11 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? $data = compact('wr', 'text', 'form'); $data['media_manager'] = true; + $data['intro_locale'] = $include; trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); + if (isset($data['intro_locale'])) { + echo p_locale_xhtml($data['intro_locale']); + } $form->addElement(form_makeOpenTag('div', array('id'=>'wiki__editbar'))); $form->addElement(form_makeOpenTag('div', array('id'=>'size__ctl'))); -- cgit v1.2.3 From 45a9933524f9a31e0a104cccfd082217501017ba Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Mar 2010 11:42:34 +0100 Subject: Move data preprocessing out of html_edit --- doku.php | 4 +++- inc/actions.php | 37 +++++++++++++++++++++++++++++++++++-- inc/html.php | 54 +++++++++++++----------------------------------------- inc/template.php | 16 ++++++---------- 4 files changed, 57 insertions(+), 54 deletions(-) diff --git a/doku.php b/doku.php index 5f2d2c582..95d5c3101 100644 --- a/doku.php +++ b/doku.php @@ -39,7 +39,9 @@ $RANGE = $_REQUEST['range']; $HIGH = $_REQUEST['s']; if(empty($HIGH)) $HIGH = getGoogleQuery(); -$TEXT = cleanText($_POST['wikitext']); +if (isset($_POST['wikitext'])) { + $TEXT = cleanText($_POST['wikitext']); +} $PRE = cleanText($_POST['prefix']); $SUF = cleanText($_POST['suffix']); $SUM = $_REQUEST['summary']; diff --git a/inc/actions.php b/inc/actions.php index b7567bc20..5802bd6f5 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -111,7 +111,7 @@ function act_dispatch(){ $ACT = act_draftsave($ACT); //edit - if(($ACT == 'edit' || $ACT == 'preview') && $INFO['editable']){ + if(($ACT == 'edit' || $ACT == 'preview' || $ACT == 'recover') && $INFO['editable']){ $ACT = act_edit($ACT); }else{ unlock($ID); //try to unlock @@ -442,7 +442,7 @@ function act_auth($act){ } /** - * Handle 'edit', 'preview' + * Handle 'edit', 'preview', 'recover' * * @author Andreas Gohr */ @@ -450,6 +450,39 @@ function act_edit($act){ global $ID; global $INFO; + global $TEXT; + global $RANGE; + global $PRE; + global $SUF; + global $REV; + global $SUM; + global $lang; + global $DATE; + + if (!isset($TEXT)) { + if ($INFO['exists']) { + if ($RANGE) { + list($PRE,$TEXT,$SUF) = rawWikiSlices($RANGE,$ID,$REV); + } else { + $TEXT = rawWiki($ID,$REV); + } + } else { + $data = array($ID); + $TEXT = trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); + } + } + + //set summary default + if(!$SUM){ + if($REV){ + $SUM = $lang['restored']; + }elseif(!$INFO['exists']){ + $SUM = $lang['created']; + } + } + + if(!$DATE) $DATE = $INFO['lastmod']; + //check if locked by anyone - if not lock for my self $lockedby = checklock($ID); if($lockedby) return 'locked'; diff --git a/inc/html.php b/inc/html.php index d9766e543..ccab83a24 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1134,54 +1134,26 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? global $ID; global $REV; global $DATE; - global $RANGE; global $PRE; global $SUF; global $INFO; global $SUM; global $lang; global $conf; + global $TEXT; - //set summary default - if(!$SUM){ - if($REV){ - $SUM = $lang['restored']; - }elseif(!$INFO['exists']){ - $SUM = $lang['created']; - } - } - - //no text? Load it! - if(!isset($text)){ - $pr = false; //no preview mode - if($INFO['exists']){ - if($RANGE){ - list($PRE,$text,$SUF) = rawWikiSlices($RANGE,$ID,$REV); - }else{ - $text = rawWiki($ID,$REV); - } - $check = md5($text); - $mod = false; - }else{ - //try to load a pagetemplate - $data = array($ID); - $text = trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); - $check = md5(''); - $mod = $text!==''; - } - }else{ - $pr = true; //preview mode - if (isset($_REQUEST['changecheck'])) { - $check = $_REQUEST['changecheck']; - $mod = md5($text)!==$check; - } else { - // Why? Assume default text is unmodified. - $check = md5($text); - $mod = false; - } + if (isset($_REQUEST['changecheck'])) { + $check = $_REQUEST['changecheck']; + } elseif(!$INFO['exists']){ + // $TEXT has been loaded from page template + $check = md5(''); + } else { + $check = md5($TEXT); } + $mod = md5($TEXT) !== $check; $wr = $INFO['writable'] && !$INFO['locked']; + $include = 'edit'; if($wr){ if ($REV) $include = 'editrev'; }else{ @@ -1192,7 +1164,6 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? } $include = 'read'; } - if(!$DATE) $DATE = $INFO['lastmod']; global $license; @@ -1204,7 +1175,7 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? $form->addHidden('suffix', $SUF); $form->addHidden('changecheck', $check); - $data = compact('wr', 'text', 'form'); + $data = compact('wr', 'form'); $data['media_manager'] = true; $data['intro_locale'] = $include; trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); @@ -1266,10 +1237,11 @@ function html_edit($text=null,$include='edit'){ //FIXME: include needed? * @triggers HTML_EDITFORM_OUTPUT */ function html_edit_form($param) { + global $TEXT; extract($param); $attr = array('tabindex'=>'1'); if (!$wr) $attr['readonly'] = 'readonly'; - $form->addElement(form_makeWikiText($text, $attr)); + $form->addElement(form_makeWikiText($TEXT, $attr)); } /** diff --git a/inc/template.php b/inc/template.php index f15b51694..371ef2a7b 100644 --- a/inc/template.php +++ b/inc/template.php @@ -60,15 +60,15 @@ function tpl_content_core(){ case 'show': html_show(); break; - case 'preview': - html_edit($TEXT); - html_show($TEXT); - break; + case 'locked': + html_locked(); + case 'edit': case 'recover': - html_edit($TEXT); + html_edit(); break; - case 'edit': + case 'preview': html_edit(); + html_show($TEXT); break; case 'draft': html_draft(); @@ -104,10 +104,6 @@ function tpl_content_core(){ html_conflict(con($PRE,$TEXT,$SUF),$SUM); html_diff(con($PRE,$TEXT,$SUF),false); break; - case 'locked': - html_locked(); - html_edit(); - break; case 'login': html_login(); break; -- cgit v1.2.3 From 5a932e77b3c806514203323540cb30e5ab9c28cf Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 9 Mar 2010 11:42:56 +0100 Subject: Remove wordblock action, issue a msg instead --- inc/actions.php | 16 +++++++++++----- inc/html.php | 2 +- inc/lang/bg/wordblock.txt | 3 --- inc/lang/ca-valencia/wordblock.txt | 4 ---- inc/lang/ca/wordblock.txt | 4 ---- inc/lang/cs/wordblock.txt | 3 --- inc/lang/da/wordblock.txt | 3 --- inc/lang/de-informal/wordblock.txt | 4 ---- inc/lang/de/lang.php | 3 +++ inc/lang/de/wordblock.txt | 4 ---- inc/lang/el/wordblock.txt | 4 ---- inc/lang/en/lang.php | 3 +++ inc/lang/en/wordblock.txt | 4 ---- inc/lang/eo/wordblock.txt | 3 --- inc/lang/es/wordblock.txt | 4 ---- inc/lang/et/wordblock.txt | 4 ---- inc/lang/eu/wordblock.txt | 3 --- inc/lang/fa/wordblock.txt | 3 --- inc/lang/fi/wordblock.txt | 3 --- inc/lang/fo/wordblock.txt | 3 --- inc/lang/fr/wordblock.txt | 4 ---- inc/lang/gl/wordblock.txt | 4 ---- inc/lang/he/wordblock.txt | 4 ---- inc/lang/hr/wordblock.txt | 3 --- inc/lang/hu/wordblock.txt | 6 ------ inc/lang/ia/wordblock.txt | 3 --- inc/lang/id/wordblock.txt | 4 ---- inc/lang/it/wordblock.txt | 4 ---- inc/lang/ja/wordblock.txt | 4 ---- inc/lang/ko/wordblock.txt | 4 ---- inc/lang/ku/wordblock.txt | 4 ---- inc/lang/lb/wordblock.txt | 3 --- inc/lang/lt/wordblock.txt | 4 ---- inc/lang/lv/wordblock.txt | 4 ---- inc/lang/mg/wordblock.txt | 5 ----- inc/lang/mr/wordblock.txt | 3 --- inc/lang/nl/wordblock.txt | 4 ---- inc/lang/no/wordblock.txt | 4 ---- inc/lang/pl/wordblock.txt | 4 ---- inc/lang/pt-br/wordblock.txt | 4 ---- inc/lang/pt/wordblock.txt | 7 ------- inc/lang/ro/wordblock.txt | 4 ---- inc/lang/ru/wordblock.txt | 3 --- inc/lang/sk/wordblock.txt | 3 --- inc/lang/sl/wordblock.txt | 4 ---- inc/lang/sq/wordblock.txt | 3 --- inc/lang/sr/wordblock.txt | 4 ---- inc/lang/sv/wordblock.txt | 4 ---- inc/lang/th/wordblock.txt | 3 --- inc/lang/tr/wordblock.txt | 4 ---- inc/lang/uk/wordblock.txt | 4 ---- inc/lang/vi/wordblock.txt | 3 --- inc/lang/zh-tw/wordblock.txt | 4 ---- inc/lang/zh/wordblock.txt | 3 --- inc/template.php | 3 --- 55 files changed, 18 insertions(+), 197 deletions(-) delete mode 100644 inc/lang/bg/wordblock.txt delete mode 100644 inc/lang/ca-valencia/wordblock.txt delete mode 100644 inc/lang/ca/wordblock.txt delete mode 100644 inc/lang/cs/wordblock.txt delete mode 100644 inc/lang/da/wordblock.txt delete mode 100644 inc/lang/de-informal/wordblock.txt delete mode 100644 inc/lang/de/wordblock.txt delete mode 100644 inc/lang/el/wordblock.txt delete mode 100644 inc/lang/en/wordblock.txt delete mode 100644 inc/lang/eo/wordblock.txt delete mode 100644 inc/lang/es/wordblock.txt delete mode 100644 inc/lang/et/wordblock.txt delete mode 100644 inc/lang/eu/wordblock.txt delete mode 100644 inc/lang/fa/wordblock.txt delete mode 100644 inc/lang/fi/wordblock.txt delete mode 100644 inc/lang/fo/wordblock.txt delete mode 100644 inc/lang/fr/wordblock.txt delete mode 100644 inc/lang/gl/wordblock.txt delete mode 100644 inc/lang/he/wordblock.txt delete mode 100644 inc/lang/hr/wordblock.txt delete mode 100644 inc/lang/hu/wordblock.txt delete mode 100644 inc/lang/ia/wordblock.txt delete mode 100644 inc/lang/id/wordblock.txt delete mode 100644 inc/lang/it/wordblock.txt delete mode 100644 inc/lang/ja/wordblock.txt delete mode 100644 inc/lang/ko/wordblock.txt delete mode 100644 inc/lang/ku/wordblock.txt delete mode 100644 inc/lang/lb/wordblock.txt delete mode 100644 inc/lang/lt/wordblock.txt delete mode 100644 inc/lang/lv/wordblock.txt delete mode 100644 inc/lang/mg/wordblock.txt delete mode 100644 inc/lang/mr/wordblock.txt delete mode 100644 inc/lang/nl/wordblock.txt delete mode 100644 inc/lang/no/wordblock.txt delete mode 100644 inc/lang/pl/wordblock.txt delete mode 100644 inc/lang/pt-br/wordblock.txt delete mode 100644 inc/lang/pt/wordblock.txt delete mode 100644 inc/lang/ro/wordblock.txt delete mode 100644 inc/lang/ru/wordblock.txt delete mode 100644 inc/lang/sk/wordblock.txt delete mode 100644 inc/lang/sl/wordblock.txt delete mode 100644 inc/lang/sq/wordblock.txt delete mode 100644 inc/lang/sr/wordblock.txt delete mode 100644 inc/lang/sv/wordblock.txt delete mode 100644 inc/lang/th/wordblock.txt delete mode 100644 inc/lang/tr/wordblock.txt delete mode 100644 inc/lang/uk/wordblock.txt delete mode 100644 inc/lang/vi/wordblock.txt delete mode 100644 inc/lang/zh-tw/wordblock.txt delete mode 100644 inc/lang/zh/wordblock.txt diff --git a/inc/actions.php b/inc/actions.php index 5802bd6f5..2be5259fd 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -204,7 +204,7 @@ function act_clean($act){ if(!in_array($act,array('login','logout','register','save','cancel','edit','draft', 'preview','search','show','check','index','revisions', 'diff','recent','backlink','admin','subscribe','revert', - 'unsubscribe','profile','resendpwd','recover','wordblock', + 'unsubscribe','profile','resendpwd','recover', 'draftdel','subscribens','unsubscribens',)) && substr($act,0,7) != 'export_' ) { msg('Command unknown: '.htmlspecialchars($act),-1); return 'show'; @@ -311,10 +311,13 @@ function act_save($act){ global $TEXT; global $SUF; global $SUM; + global $lang; //spam check - if(checkwordblock()) - return 'wordblock'; + if(checkwordblock()) { + msg($lang['wordblock'], -1); + return 'edit'; + } //conflict check //FIXME use INFO if($DATE != 0 && @filemtime(wikiFN($ID)) > $DATE ) return 'conflict'; @@ -353,8 +356,11 @@ function act_revert($act){ } // spam check - if(checkwordblock($Text)) - return 'wordblock'; + + if (checkwordblock($text)) { + msg($lang['wordblock'], -1); + return 'edit'; + } saveWikiText($ID,$text,$sum,false); msg($sum,1); diff --git a/inc/html.php b/inc/html.php index ccab83a24..ae3e56e0a 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1130,7 +1130,7 @@ function html_updateprofile(){ * @triggers HTML_PAGE_FROMTEMPLATE * @author Andreas Gohr */ -function html_edit($text=null,$include='edit'){ //FIXME: include needed? +function html_edit(){ global $ID; global $REV; global $DATE; diff --git a/inc/lang/bg/wordblock.txt b/inc/lang/bg/wordblock.txt deleted file mode 100644 index 1afbae21d..000000000 --- a/inc/lang/bg/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Блокиран СПАМ ====== - -Промените ви **не** бяха запазени, защото съдържат една или повече забранени думи. Ако сте се опитали да пуснете спам в уикито и таз хубава! Ако смятате, че това е грешка, свържете се с администратора на това Wiki. diff --git a/inc/lang/ca-valencia/wordblock.txt b/inc/lang/ca-valencia/wordblock.txt deleted file mode 100644 index 718bfe883..000000000 --- a/inc/lang/ca-valencia/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Bloqueig de SPAM ====== - -Els seus canvis *no* s'han guardat perque contenen una o més paraules prohibides. Si ha intentat posar spam en el wiki.. ¡malament! Si pensa que açò és un erro, contacte en l'administrador d'este wiki. - diff --git a/inc/lang/ca/wordblock.txt b/inc/lang/ca/wordblock.txt deleted file mode 100644 index 1b5f5fb36..000000000 --- a/inc/lang/ca/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Brossa blocada ====== - -Els canvis **no** s'han desat perquè contenen una o més paraules blocades. Volíeu inundar el wiki amb brossa? Molt mal fet! Si penseu que això és un error, contacteu amb l'administrador d'aquest Wiki. - diff --git a/inc/lang/cs/wordblock.txt b/inc/lang/cs/wordblock.txt deleted file mode 100644 index 75fe58e0c..000000000 --- a/inc/lang/cs/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM nebyl povolen ====== - -Vaše změny **nebyly uloženy**, protože obsahují jedno nebo více nepovolených slov. Wiki si nepotrpí na spam! Pokud se domníváte, že jde o omyl, kontaktujte správce. diff --git a/inc/lang/da/wordblock.txt b/inc/lang/da/wordblock.txt deleted file mode 100644 index 5a1c0d754..000000000 --- a/inc/lang/da/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM blokeret ====== - -Dine ændringer blev **ikke** gemt da de indeholder et eller flere uønskede ord. Kontakt venligst admin, hvis du mener dette er en fejl. diff --git a/inc/lang/de-informal/wordblock.txt b/inc/lang/de-informal/wordblock.txt deleted file mode 100644 index cb3e4c06a..000000000 --- a/inc/lang/de-informal/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blockiert ====== - -Deine Änderungen wurden nicht gespeichert, da sie ein oder mehrere nicht erlaubte Wörter enthielten. Falls du versucht haben solltest, das Wiki zu Spammen -- Schande über ich! Wenn du glaubst, dass der Eintrag zu Unrecht blockiert wurde, kontaktiere bitte den Administrator des Wikis. - diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 9f426c2dc..e61a95bce 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -273,3 +273,6 @@ $lang['days'] = 'vor %d Tagen'; $lang['hours'] = 'vor %d Stunden'; $lang['minutes'] = 'vor %d Minuten'; $lang['seconds'] = 'vor %d Sekunden'; + +$lang['wordblock'] = 'Deine Bearbeitung wurde nicht gespeichert, da sie gesperrten Text enthielt (Spam).'; + diff --git a/inc/lang/de/wordblock.txt b/inc/lang/de/wordblock.txt deleted file mode 100644 index 14622ebc2..000000000 --- a/inc/lang/de/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blockiert ====== - -Ihre Änderungen wurden nicht gespeichert, da sie ein oder mehrere nicht erlaubte Wörter enthielten. Falls Sie versucht haben sollten, das Wiki zu Spammen -- Schande über Sie! Wenn Sie glauben, dass der Eintrag zu Unrecht blockiert wurde, kontaktieren Sie bitte den Administrator des Wikis. - diff --git a/inc/lang/el/wordblock.txt b/inc/lang/el/wordblock.txt deleted file mode 100644 index b54e8ef77..000000000 --- a/inc/lang/el/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Εντοπίστηκε SPAM ====== - -Οι αλλαγές σας **δεν** αποθηκεύτηκαν επειδή βρέθηκε τουλάχιστον μία μη αποδεκτή λέξη. Εάν προσπαθήσατε να προσθέσετε spam σε αυτό το wiki -- κακώς! Εάν πιστεύετε ότι αυτό δεν είναι σωστό, απευθυνθείτε στον διαχειριστή της εφαρμογής. - diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 7cbf10029..d85ceb3db 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -310,4 +310,7 @@ $lang['hours'] = '%d hours ago'; $lang['minutes'] = '%d minutes ago'; $lang['seconds'] = '%d seconds ago'; +$lang['wordblock'] = 'Your change was not saved because it contains blocked text (spam).'; + + //Setup VIM: ex: et ts=2 enc=utf-8 : diff --git a/inc/lang/en/wordblock.txt b/inc/lang/en/wordblock.txt deleted file mode 100644 index f0f7d759d..000000000 --- a/inc/lang/en/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blocked ====== - -Your changes were **not** saved because it contains one or more blocked words. If you tried to spam the Wiki -- Bad dog! If you think this is an error, contact the administrator of this Wiki. - diff --git a/inc/lang/eo/wordblock.txt b/inc/lang/eo/wordblock.txt deleted file mode 100644 index 64bb19e5c..000000000 --- a/inc/lang/eo/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAMO estis blokita ====== - -Viaj redaktoj ne estas konservitaj, ĉar en la teksto estis trovitaj unu aŭ kelkaj malpermesindaj vortoj, ŝajnante spamo. Se vi pensas, ke tio estas eraro, bonvolu kontakti la administranton de la vikio. \ No newline at end of file diff --git a/inc/lang/es/wordblock.txt b/inc/lang/es/wordblock.txt deleted file mode 100644 index 739a1b76b..000000000 --- a/inc/lang/es/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM bloqueado ====== - -Tus cambios **no** se han guardado porque contienen una o más palabras prohibidas. Si has intentado spamear el Wiki: ¡Perro malo! Si crees que es un error contacta con el administrador de este Wiki. - diff --git a/inc/lang/et/wordblock.txt b/inc/lang/et/wordblock.txt deleted file mode 100644 index 65d0d6ac3..000000000 --- a/inc/lang/et/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPÄMM blokeeritud ====== - -Sinu muutusi kahjuks **ei** salvestatud kuna tekst sisaldab ühte või rohkem blokeeritud sõna. Kas Sa üritad Wikile spämmi saata -- oh sa põrsas! Kui aga arvad, et tegemist on eksitusega, siis suhtle Wiki administraatoriga. - diff --git a/inc/lang/eu/wordblock.txt b/inc/lang/eu/wordblock.txt deleted file mode 100644 index 0af3fb26c..000000000 --- a/inc/lang/eu/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAMaren aurkako babesa ====== - -Zure aldaketak **ez** dira gorde aurrez debekatutako hitzak erabili dituzulako. Wiki-a spammeatzen saitu bazara... -- Aiss osobuko! (VS). Hau akats bat dela uste baduzu jarri arremanetan Wiki-aren administratzailearekin. diff --git a/inc/lang/fa/wordblock.txt b/inc/lang/fa/wordblock.txt deleted file mode 100644 index a78c86f06..000000000 --- a/inc/lang/fa/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== اسپم مسدود شد ====== - -این تغییرات ذخیره **نمی‌شود**، چون چند کلمه از کلمه‌های مسدود شده در آن یافت شده است. اگر فکر می‌کنید که نباید این اتفاق می‌افتاد با مدیر سیستم تماس بگیرید. \ No newline at end of file diff --git a/inc/lang/fi/wordblock.txt b/inc/lang/fi/wordblock.txt deleted file mode 100644 index 4e416c68c..000000000 --- a/inc/lang/fi/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Roskaposti torjuttu ====== - -Muutoksiasi **ei** talletettu, koska ne pitivät sisällään yhden tai useampia epäkelpoja sanoja. Jos yritit spämmätä Wikiä, häpeä! Jos pidät tätä virheenä ota yhteyttä wikin ylläpitäjään. diff --git a/inc/lang/fo/wordblock.txt b/inc/lang/fo/wordblock.txt deleted file mode 100644 index f3a9b9dcd..000000000 --- a/inc/lang/fo/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM banning ====== - -Tínar broytingar vóru **ikki** goymdar av tí at tær innihalda eitt ella fleiri óynskt orð. Fá vinarliga samband við admin, um tú heldur at hetta er eitt brek. diff --git a/inc/lang/fr/wordblock.txt b/inc/lang/fr/wordblock.txt deleted file mode 100644 index 608ad00d7..000000000 --- a/inc/lang/fr/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Modification bloquée ====== - -Vos modifications n'ont **pas été enregistrées** car elles contiennent un ou plusieurs mots bloqués. Si vous avez essayé de spammer le Wiki, c'est une mauvaise idée ! Si vous pensez que c'est une erreur, contactez l'administrateur de ce Wiki. - diff --git a/inc/lang/gl/wordblock.txt b/inc/lang/gl/wordblock.txt deleted file mode 100644 index ec8d67aff..000000000 --- a/inc/lang/gl/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Bloqueo por Correo-lixo ====== - -Os teus trocos **non** foron gardados porque conteñen unha ou varias verbas bloqueadas. Se tentaches deixar correo-lixo no wiki -- Estívoche ben! Se consideras que é un erro, contacta co administrador deste Wiki. - diff --git a/inc/lang/he/wordblock.txt b/inc/lang/he/wordblock.txt deleted file mode 100644 index b7c3f0a7c..000000000 --- a/inc/lang/he/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== הצפה נחסמה ====== - -השנויים שלך **לא** נשמרו מפני שהם מכילים מילה חסומה או יותר. אם באמת ניסית להציף את הויקי -- כלב רע! אם נראה לך כי זו טעות,ניתן ליצור קשר עם מנהל הויקי (מפני שאנחנו לא רוצים לקרוא לאנשים כלבים לחינם, זה פוגע בכלבים). - diff --git a/inc/lang/hr/wordblock.txt b/inc/lang/hr/wordblock.txt deleted file mode 100644 index 7faf03c19..000000000 --- a/inc/lang/hr/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM blokiranje ====== - -Vaše izmjene **nisu** snimljene jer sadrže jednu ili više blokiranih/zabranjenih riječi. Ukoliko mislite da je to greška - molimo Vas da kontaktirate administratora. diff --git a/inc/lang/hu/wordblock.txt b/inc/lang/hu/wordblock.txt deleted file mode 100644 index 2fe2efa9b..000000000 --- a/inc/lang/hu/wordblock.txt +++ /dev/null @@ -1,6 +0,0 @@ -====== SPAM szűrés ====== - -A változtatásaid **nem** mentettük, mert egy vagy több tiltott szót tartalmaz. Ha kéretlen reklám anyagot ("SPAM") próbáltál erre a Wikire rakni, akkor szégyelld magad. - -Ha azt gondolod, hogy valami hibáról, vagy félreértésről van szó, akkor lépj kapcsolatba a Wiki-gazdával. - diff --git a/inc/lang/ia/wordblock.txt b/inc/lang/ia/wordblock.txt deleted file mode 100644 index 8c54c04a5..000000000 --- a/inc/lang/ia/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== Spam blocate ====== - -Tu modification **non** ha essite salveguardate proque illo contine un o plus parolas blocate. Si tu ha tentate spammar iste wiki: va al diabolo! Si tu pensa que isto es un error, contacta le administrator de iste wiki. \ No newline at end of file diff --git a/inc/lang/id/wordblock.txt b/inc/lang/id/wordblock.txt deleted file mode 100644 index 1e40ce381..000000000 --- a/inc/lang/id/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blocked ====== - -Maaf, tulisan Anda **tidak disimpan** karena terdapat satu atau lebih kata-kata yang **tabu**. Jika Anda mencoba melakukan SPAM wiki ini -- Bangsat lu! Tetapi, jika Anda pikir ini adalah kesalahan sistem, harap hubungi administrator wiki ini. - diff --git a/inc/lang/it/wordblock.txt b/inc/lang/it/wordblock.txt deleted file mode 100644 index 040742d6d..000000000 --- a/inc/lang/it/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Modifica bloccata ====== - -Le tue modifiche **non sono state salvate** perché contengono una o più parole vietate. Se hai cercato di spammare il Wiki -- sei un bambino cattivo! Se pensi che ci sia un errore contatta l'amministratore di questo Wiki. - diff --git a/inc/lang/ja/wordblock.txt b/inc/lang/ja/wordblock.txt deleted file mode 100644 index d7edd8765..000000000 --- a/inc/lang/ja/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== スパム ブロック ====== - -除外する単語が含まれているため、変更は**保存されませんでした**。 もし意図したスパム行為でないのであれば、管理者に連絡してください。 - diff --git a/inc/lang/ko/wordblock.txt b/inc/lang/ko/wordblock.txt deleted file mode 100644 index 35e251187..000000000 --- a/inc/lang/ko/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== 스팸 차단 ====== - -하나 혹은 그 이상의 차단된 단어가 포함되어 있으므로 변경 내용이 저장되지 **않았습니다.** 나쁜 로봇 같으니! 스팸이나 추가하려 하고! 만일 로봇이 아니라 사람이고, 오류라고 생각하신다면, 관리자에게 문의하십시오. - diff --git a/inc/lang/ku/wordblock.txt b/inc/lang/ku/wordblock.txt deleted file mode 100644 index f0f7d759d..000000000 --- a/inc/lang/ku/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blocked ====== - -Your changes were **not** saved because it contains one or more blocked words. If you tried to spam the Wiki -- Bad dog! If you think this is an error, contact the administrator of this Wiki. - diff --git a/inc/lang/lb/wordblock.txt b/inc/lang/lb/wordblock.txt deleted file mode 100644 index 846c8cfe7..000000000 --- a/inc/lang/lb/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM geblockt ====== - -Deng Ännerunge si **net** gespäichert ginn well se een oder méi blockéiert Wieder enthalen. Wanns de mengs dat wier e Feeler, da kontaktéier den Administrator vun dësem Wiki. diff --git a/inc/lang/lt/wordblock.txt b/inc/lang/lt/wordblock.txt deleted file mode 100644 index 43ac79bbf..000000000 --- a/inc/lang/lt/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== NESPAM'INK! ====== - -Jūsų pakeitimai **nebuvo išsaugoti**, nes juose rasta vienas ar daugiau užblokuotų žodžių. Jeigu manote, kad tai klaida, susisiekite su administracija. Jeigu sugalvojote čia spam'inti - pyzdink nachui iš čia, byby bled! - diff --git a/inc/lang/lv/wordblock.txt b/inc/lang/lv/wordblock.txt deleted file mode 100644 index aa7051c8d..000000000 --- a/inc/lang/lv/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAMs bloķēts ====== - -Tavas izmaiņas **nav** saglabātas, jo satur vienu vai vairākus aizliegtos vārdus. Ja uzskati, ka tā ir kļūda, sazinies ar administratoru. - diff --git a/inc/lang/mg/wordblock.txt b/inc/lang/mg/wordblock.txt deleted file mode 100644 index 581d67d16..000000000 --- a/inc/lang/mg/wordblock.txt +++ /dev/null @@ -1,5 +0,0 @@ -====== SPAM Voasakana ====== - -Tsy voarakitra ny fanovana nataonao satria misy teny voarara ao. Raha nanandrana nandefa spam ny wiki ianao dia -- Alika maty! Raha heverinao fa error dia ilazao ny Admin. - - diff --git a/inc/lang/mr/wordblock.txt b/inc/lang/mr/wordblock.txt deleted file mode 100644 index e885cbed9..000000000 --- a/inc/lang/mr/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== भंकस रोखली ====== - -तुमचे बदल सुरक्षित केलेले ** नाहीत ** कारण त्यामधे एक किंवा अधिक निषिद्ध शब्द आहेत. जर तुम्ही मुद्दामच विकिवर भंकस करण्याचा प्रयत्न केला असेल तर असले चाळे बंद करा ! आणि समजा तुम्हाला असा वाटत असेल की हा मजकूर निषिद्ध समजण्याचे काही कारण नाही तर तुमच्या विकी व्यवस्थापकाशी संपर्क साधा. \ No newline at end of file diff --git a/inc/lang/nl/wordblock.txt b/inc/lang/nl/wordblock.txt deleted file mode 100644 index d887d7318..000000000 --- a/inc/lang/nl/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM geblokkeerd ====== - -Je wijzigingen zijn **niet** opgeslagen omdat ze een of meer geblokkeerde woorden bevatten. Als je probeerde de Wiki te spammen -- Foei stouterd! Als je denkt dat dit een fout is neem dan contact op met de beheerder van deze Wiki. - diff --git a/inc/lang/no/wordblock.txt b/inc/lang/no/wordblock.txt deleted file mode 100644 index 30c4c31ce..000000000 --- a/inc/lang/no/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Ordsperre ====== - -Dine endringer har **ikke** blitt lagret på grunn av at de inneholder ett eller flere ord som er sperret. Hvis du har forsøkt å lagre søppel, eller såkalt ''spam'' -- Fy deg! Hvis du anser denne beskjeden som feilaktig kan du kontakte administratoren til denne wikien. - diff --git a/inc/lang/pl/wordblock.txt b/inc/lang/pl/wordblock.txt deleted file mode 100644 index 09edb25dd..000000000 --- a/inc/lang/pl/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Blokowanie niedozwolonych treści i spamu ====== - -Twoje zmiany **nie** zostały zapisane, ponieważ zawierają niedozwolone słowa. Jeśli próbowałeś(aś) umieścić niedozwolone treści to wstydź się! - diff --git a/inc/lang/pt-br/wordblock.txt b/inc/lang/pt-br/wordblock.txt deleted file mode 100644 index c2c9cbdb0..000000000 --- a/inc/lang/pt-br/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Bloqueio de SPAM ====== - -Suas modificações **não** foram salvas porque elas contém uma ou mais palavras bloqueadas. Se você tentou enviar //spam// para o //wiki//, isso é feio, muito feio! Agora, se você acha que esse bloqueio foi indevido, por favor entre em contato com o administrador desse wiki. - diff --git a/inc/lang/pt/wordblock.txt b/inc/lang/pt/wordblock.txt deleted file mode 100644 index a88063c9b..000000000 --- a/inc/lang/pt/wordblock.txt +++ /dev/null @@ -1,7 +0,0 @@ -====== Bloquear SPAM ====== - -As suas alterações foram **bloqueadas**, porque contêm uma ou mais palavras consideradas abusivas (SPAM). - -Se pensa que isto não está correcto, por favor contacte o administrador deste site Wiki. - ----- diff --git a/inc/lang/ro/wordblock.txt b/inc/lang/ro/wordblock.txt deleted file mode 100644 index 1fa7bd6cd..000000000 --- a/inc/lang/ro/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM blocat ====== - -Modificările **nu** au fost salvate deoarece conţin unul sau mai multe cuvinte nepermise. Daca ai încercat să spamezi Wiki-ul -- Eşti un om rău! Dacă crezi că asta e o eroare, contactează administratorul acestui Wiki. - diff --git a/inc/lang/ru/wordblock.txt b/inc/lang/ru/wordblock.txt deleted file mode 100644 index 09c663fb3..000000000 --- a/inc/lang/ru/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== СПАМ заблокирован ====== - -Ваши изменения **не были** сохранены, так как они содержат одно или более запрещенных слов. Если Вы пытались добавить спам в Вики -- ай-яй-яй! Если Вы считаете, что это какая-то ошибка, обратитесь к администратору вики. diff --git a/inc/lang/sk/wordblock.txt b/inc/lang/sk/wordblock.txt deleted file mode 100644 index 4901b2aab..000000000 --- a/inc/lang/sk/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM nebol povolený ====== - -Vaše zmeny **neboli uložené**, pretože obsahujú jedno alebo viacej nepovolených slov. Wiki si nepotrpí na spam! Pokiaľ sa domnievate, že ide o omyl, kontaktujte správcu. diff --git a/inc/lang/sl/wordblock.txt b/inc/lang/sl/wordblock.txt deleted file mode 100644 index c9d9c1ca0..000000000 --- a/inc/lang/sl/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Blokiran SPAM ====== - -Vaše spremembe **niso** bile shranjene, ker so vsebovale eno ali več prepovedanih besed. Če ste poskusili nasmetiti Wiki -- Fuj Fido! Če mislite da je to napaka, stopite v stik z administratorjem. - diff --git a/inc/lang/sq/wordblock.txt b/inc/lang/sq/wordblock.txt deleted file mode 100644 index 6f1085561..000000000 --- a/inc/lang/sq/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== U bllokua SPAM ====== - -Ndryshimet tuaja **nuk** u ruajtën sepse ato përmbanin një ose më shumë fjalë të bllokuara. Nëse u përpoqët të bënit spam në këtë Wiki -- Djalë i Keq! Nëse mendoni se ky është një gabim, kontaktoni administratorin e këtij Wiki. \ No newline at end of file diff --git a/inc/lang/sr/wordblock.txt b/inc/lang/sr/wordblock.txt deleted file mode 100644 index 56ecde3fd..000000000 --- a/inc/lang/sr/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== СПАМ је блокиран ====== - -Ваше измене **нису** сачуване јер садрже једну или више блокираних речи. Ако сте покушали да спамујете вики -- надрљаћете! Ако мислите да је ово грешка, контактирајте администратора овог викија. - diff --git a/inc/lang/sv/wordblock.txt b/inc/lang/sv/wordblock.txt deleted file mode 100644 index e1b632ce4..000000000 --- a/inc/lang/sv/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Stoppade SPAM ====== - -Dina ändringar har **inte** sparats på grund av att de innehåller ett eller flera ord som spärrats. Om du har försökt att spara skräp, s k ''spam'' -- Fyyy på dig! Om du anser att det här beror på ett fel, kontakta wikins administratör. - diff --git a/inc/lang/th/wordblock.txt b/inc/lang/th/wordblock.txt deleted file mode 100644 index 653e341e7..000000000 --- a/inc/lang/th/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== สแปมถูกกีดกัน ====== - -การเปลี่ยนแปลงของคุณ **ไม่**ได้รับการบันทึกเพราะมันมีหนึ่งข้อความต้องห้ามหรือมากกว่า ถ้าคุณพยายามสแปมวิกินี้ --คุณไม่น่ารักเลยนะ เด็กโง่! แต่ถ้าคุณคิดว่านี่เป็นข้อผิดพลาดแล้วละก็ ช่วยติดต่อผู้ดูแลวิกินี้ให้ด้วย \ No newline at end of file diff --git a/inc/lang/tr/wordblock.txt b/inc/lang/tr/wordblock.txt deleted file mode 100644 index 506cbc793..000000000 --- a/inc/lang/tr/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== SPAM bloke edildi ====== - -Değişiklikleriniz **kaydedilmedi**, çünkü değişikliklerinizde bir veya daha fazla engellenen kelime var. Eğer Wikiyi spamlamaya çalışıyorsan -- Oh olsun! Eğer bunun bir hata olduğunu düşünüyorsanız, bu Wiki yöneticisiyle iletişime geçin. - diff --git a/inc/lang/uk/wordblock.txt b/inc/lang/uk/wordblock.txt deleted file mode 100644 index 869f93a87..000000000 --- a/inc/lang/uk/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== Заблокований СПАМ ====== - -Ваші зміни **не були** збережені тому що вони містять одне чи декілька заблокованих слів. Якщо ви намагались додати спам до вікі, то нехай вам буде соромно. Якщо ви вважаєте, що це помилка, зверніться до адміністратора цієї Вікі. - diff --git a/inc/lang/vi/wordblock.txt b/inc/lang/vi/wordblock.txt deleted file mode 100644 index b219ca141..000000000 --- a/inc/lang/vi/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== SPAM bị chận ====== - -Các thay đổi **không** được bảo lưu vì có một hoặc nhiều từ bị ngăn chận. Nếu muốn spam Wiki này -- ngưng liền! Nếu đây là một sai lầm, liên lạc với người quản lý của Wiki. diff --git a/inc/lang/zh-tw/wordblock.txt b/inc/lang/zh-tw/wordblock.txt deleted file mode 100644 index 671e88b87..000000000 --- a/inc/lang/zh-tw/wordblock.txt +++ /dev/null @@ -1,4 +0,0 @@ -====== 拒絕垃圾資料(SPAM blocked) ====== - -您的變更並**不會**被存起來,因為它包含了一些被限制的字眼。若您還試著要丟垃圾資料到 Wiki 的話, -- Bad dog! 不過,若您認為這是誤判,那麼請與這個 Wiki 的管理員(Admin)談。 - diff --git a/inc/lang/zh/wordblock.txt b/inc/lang/zh/wordblock.txt deleted file mode 100644 index 72c473a59..000000000 --- a/inc/lang/zh/wordblock.txt +++ /dev/null @@ -1,3 +0,0 @@ -====== 拒绝垃圾资料 ====== - -您的更改 **并没有** 保存,因为它包含了一个或多个被限制的字眼。如果您尝试为本维基添加垃圾信息 -- 你是一个大坏蛋!如果您认为这是一个系统错误,请联系本维基的管理员。 diff --git a/inc/template.php b/inc/template.php index 371ef2a7b..334175d26 100644 --- a/inc/template.php +++ b/inc/template.php @@ -73,9 +73,6 @@ function tpl_content_core(){ case 'draft': html_draft(); break; - case 'wordblock': - html_edit($TEXT,'wordblock'); - break; case 'search': html_search(); break; -- cgit v1.2.3 From 8d67c48ac883f874037848be833920f4a6426995 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 10 Mar 2010 10:07:57 +0100 Subject: Correct edit conflict detection Edit conflicts occur when a page has been edited since starting the current edit. In order to detect them, the date of the newest revision is saved. --- inc/actions.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 2be5259fd..01d1d29d4 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -312,14 +312,15 @@ function act_save($act){ global $SUF; global $SUM; global $lang; + global $INFO; //spam check if(checkwordblock()) { msg($lang['wordblock'], -1); return 'edit'; } - //conflict check //FIXME use INFO - if($DATE != 0 && @filemtime(wikiFN($ID)) > $DATE ) + //conflict check + if($DATE != 0 && $INFO['meta']['date']['modified'] > $DATE ) return 'conflict'; //save it @@ -487,7 +488,9 @@ function act_edit($act){ } } - if(!$DATE) $DATE = $INFO['lastmod']; + // Use the date of the newest revision, not of the revision we edit + // This is used for conflict detection + if(!$DATE) $DATE = $INFO['meta']['date']['modified']; //check if locked by anyone - if not lock for my self $lockedby = checklock($ID); -- cgit v1.2.3 From fe17917e7668864526ec0f0ae65dd0787831d8a4 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 10 Mar 2010 10:41:32 +0100 Subject: Move & rename HTML_PAGE_FROMTEMPLATE to common.php The new COMMON_PAGE_FROMTEMPLATE is triggered by pageTemplate AFTER the template has been read but before performing the template replacements. --- inc/actions.php | 3 +-- inc/common.php | 17 ++++++++++++----- inc/html.php | 1 - lib/exe/xmlrpc.php | 3 +-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 01d1d29d4..6ce67eb9a 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -474,8 +474,7 @@ function act_edit($act){ $TEXT = rawWiki($ID,$REV); } } else { - $data = array($ID); - $TEXT = trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); + $TEXT = pageTemplate($ID); } } diff --git a/inc/common.php b/inc/common.php index 0d5efbee9..6601ae478 100644 --- a/inc/common.php +++ b/inc/common.php @@ -809,14 +809,16 @@ function rawWiki($id,$rev=''){ /** * Returns the pagetemplate contents for the ID's namespace * + * @triggers COMMON_PAGE_FROMTEMPLATE * @author Andreas Gohr */ -function pageTemplate($data){ - $id = $data[0]; +function pageTemplate($id){ global $conf; - $path = dirname(wikiFN($id)); + if (is_array($id)) $id = $id[0]; + $path = dirname(wikiFN($id)); + $tpl = ''; if(@file_exists($path.'/_template.txt')){ $tpl = io_readFile($path.'/_template.txt'); }else{ @@ -830,15 +832,20 @@ function pageTemplate($data){ $path = substr($path, 0, strrpos($path, '/')); } } - return isset($tpl) ? parsePageTemplate($tpl, $id) : ''; + $data = compact('tpl', 'id'); + trigger_event('COMMON_PAGE_FROMTEMPLATE', $data, 'parsePageTemplate', true); + return $data['tpl']; } /** * Performs common page template replacements + * This is the default action for COMMON_PAGE_FROMTEMPLATE * * @author Andreas Gohr */ -function parsePageTemplate($tpl, $id) { +function parsePageTemplate($data) { + extract($data); + global $USERINFO; global $conf; diff --git a/inc/html.php b/inc/html.php index ae3e56e0a..cfa4dbe3d 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1127,7 +1127,6 @@ function html_updateprofile(){ /** * Preprocess edit form data * - * @triggers HTML_PAGE_FROMTEMPLATE * @author Andreas Gohr */ function html_edit(){ diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index a29a40612..155812d22 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -290,8 +290,7 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { } $text = rawWiki($id,$rev); if(!$text) { - $data = array($id); - return trigger_event('HTML_PAGE_FROMTEMPLATE',$data,'pageTemplate',true); + return pageTemplate($id); } else { return $text; } -- cgit v1.2.3 From b77df6012df39de023b5ebb0b60f2427a465c25f Mon Sep 17 00:00:00 2001 From: Andrey Mikhaylov Date: Fri, 12 Mar 2010 12:02:43 +0100 Subject: Russian language update --- inc/lang/ru/lang.php | 21 +++++++++++++++++++++ inc/lang/ru/wordblock.txt | 3 +++ 2 files changed, 24 insertions(+) create mode 100644 inc/lang/ru/wordblock.txt diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index e3851dca0..3b722aea6 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -123,6 +123,27 @@ $lang['mediafiles'] = 'Доступные файлы'; $lang['js']['searchmedia'] = 'Поиск файлов'; $lang['js']['keepopen'] = 'Не закрывать окно после выбора'; $lang['js']['hidedetails'] = 'Скрыть детали'; +$lang['js']['mediatitle'] = 'Настройки ссылок'; +$lang['js']['mediadisplay'] = 'Тип ссылки'; +$lang['js']['mediaalign'] = 'Выравнивание'; +$lang['js']['mediasize'] = 'Размер изображения'; +$lang['js']['mediatarget'] = 'Цель ссылки'; +$lang['js']['mediaclose'] = 'Закрыть'; +$lang['js']['mediainsert'] = 'Вставить'; +$lang['js']['mediadisplayimg'] = 'Показывать изображение.'; +$lang['js']['mediadisplaylnk'] = 'Показывать только ссылку.'; +$lang['js']['mediasmall'] = 'Малая версия'; +$lang['js']['mediamedium'] = 'Средняя версия'; +$lang['js']['medialarge'] = 'Крупная версия'; +$lang['js']['mediaoriginal'] = 'Исходная версия'; +$lang['js']['medialnk'] = 'Ссылка на подробности'; +$lang['js']['mediadirect'] = 'Прямая ссылка на оригинал'; +$lang['js']['medianolnk'] = 'Без ссылки'; +$lang['js']['medianolink'] = 'Не давать ссылку на изображение'; +$lang['js']['medialeft'] = 'Выровнять изображение по левому краю.'; +$lang['js']['mediaright'] = 'Выровнять изображение по правому краю.'; +$lang['js']['mediacenter'] = 'Выровнять изображение по центру.'; +$lang['js']['medianoalign'] = 'Не выравнивать.'; $lang['js']['nosmblinks'] = 'Ссылка на сетевые каталоги Windows работает только из Интернет Эксплорера Но Вы можете скопировать ссылку.'; $lang['js']['linkwiz'] = 'Мастер ссылок'; diff --git a/inc/lang/ru/wordblock.txt b/inc/lang/ru/wordblock.txt new file mode 100644 index 000000000..09c663fb3 --- /dev/null +++ b/inc/lang/ru/wordblock.txt @@ -0,0 +1,3 @@ +====== СПАМ заблокирован ====== + +Ваши изменения **не были** сохранены, так как они содержат одно или более запрещенных слов. Если Вы пытались добавить спам в Вики -- ай-яй-яй! Если Вы считаете, что это какая-то ошибка, обратитесь к администратору вики. -- cgit v1.2.3 From 84645d8c01570c5ea4cda556e70beccdec25ee22 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 12 Mar 2010 12:24:04 +0100 Subject: fixed target handling for license link FS#1917 --- inc/html.php | 2 +- inc/template.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/html.php b/inc/html.php index cfa4dbe3d..3ebba65c8 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1202,7 +1202,7 @@ function html_edit(){ $form->addElement(form_makeOpenTag('div', array('class'=>'license'))); $out = $lang['licenseok']; $out .= ''; $form->addElement($out); $form->addElement(form_makeCloseTag('div')); diff --git a/inc/template.php b/inc/template.php index 334175d26..7fe440b18 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1307,14 +1307,14 @@ function tpl_license($img='badge',$imgonly=false,$return=false){ $src = license_img($img); if($src){ $out .= ' '; } } if(!$imgonly) { $out .= $lang['license']; $out .= ''; } $out .= ''; -- cgit v1.2.3 From 05ed2c25ea0dc45eef2af0f9f4176c939af41100 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 12 Mar 2010 14:09:57 +0100 Subject: some more load fixes --- feed.php | 7 ------- inc/load.php | 10 ++++------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/feed.php b/feed.php index 0ad1c2c30..73227e055 100644 --- a/feed.php +++ b/feed.php @@ -8,13 +8,6 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/'); require_once(DOKU_INC.'inc/init.php'); -require_once(DOKU_INC.'inc/common.php'); -require_once(DOKU_INC.'inc/events.php'); -require_once(DOKU_INC.'inc/parserutils.php'); -require_once(DOKU_INC.'inc/feedcreator.class.php'); -require_once(DOKU_INC.'inc/auth.php'); -require_once(DOKU_INC.'inc/pageutils.php'); -require_once(DOKU_INC.'inc/httputils.php'); //close session session_write_close(); diff --git a/inc/load.php b/inc/load.php index e06a2c63d..dad03875a 100644 --- a/inc/load.php +++ b/inc/load.php @@ -9,12 +9,8 @@ spl_autoload_register('load_autoload'); // require all the common libraries -// for a e few of these order does matter -require_once(DOKU_INC.'inc/IXR_Library.php'); -require_once(DOKU_INC.'inc/adLDAP.php'); +// for a few of these order does matter require_once(DOKU_INC.'inc/blowfish.php'); -require_once(DOKU_INC.'inc/feedcreator.class.php'); -require_once(DOKU_INC.'inc/geshi.php'); require_once(DOKU_INC.'inc/actions.php'); require_once(DOKU_INC.'inc/changelog.php'); require_once(DOKU_INC.'inc/common.php'); @@ -49,7 +45,7 @@ require_once(DOKU_INC.'inc/auth.php'); * require()s their associated php files when an object is instantiated. * * @author Andreas Gohr - * @todo add generic loading of plugins here + * @todo add generic loading of plugins and other generically named classes */ function load_autoload($name){ static $classes = null; @@ -76,6 +72,8 @@ function load_autoload($name){ 'GeSHi' => DOKU_INC.'inc/geshi.php', 'TarLib' => DOKU_INC.'inc/TarLib.class.php', 'ZibLib' => DOKU_INC.'inc/ZipLib.class.php', + 'DokuWikiFeedCreator' => DOKU_INC.'inc/feedcreator.class.php', + 'Doku_Parser_Mode' => DOKU_INC.'inc/parser/parser.php', 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', -- cgit v1.2.3 From a958c48cfeaefd8e8c1aeebcd04e9c862f014a6d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 12 Mar 2010 14:35:43 +0100 Subject: removed dead leftover code from media search --- lib/exe/ajax.php | 11 ----------- lib/scripts/media.js | 27 --------------------------- 2 files changed, 38 deletions(-) diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 4c74709b8..a402c236f 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -201,17 +201,6 @@ function ajax_medialist(){ tpl_mediaContent(true); } -/** - * Return list of search result for the Mediamanager - * - * @author Tobias Sarnowski - */ -function ajax_mediasearchlist(){ - global $conf; - - media_searchlist($_POST['ns']); -} - /** * Return sub index for index view * diff --git a/lib/scripts/media.js b/lib/scripts/media.js index f14db63d7..95b1ab69e 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -147,33 +147,6 @@ var media_manager = { media_manager.updatehide(); }, - /** - * Opens the searchfield - * - * @author Tobias Sarnowski - */ - showsearchfield: function(event,link){ - // prepare an AJAX call to fetch the search - var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); - ajax.AjaxFailedAlert = ''; - ajax.encodeURIString = false; - if(ajax.failed) return true; - - cleanMsgArea(); - - var content = $('media__content'); - content.innerHTML = '...'; - - ajax.elementObj = content; - ajax.afterCompletion = function(){ - media_manager.selectorattach(content); - media_manager.confirmattach(content); - media_manager.updatehide(); - }; - ajax.runAJAX(link.search.substr(1)+'&call=mediasearchlist'); - return false; - }, - /** * Toggles the keep open state * -- cgit v1.2.3 From c7cb395c4ee1339709918b7675e91d3d3b10050d Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 15 Mar 2010 12:16:23 +0100 Subject: Load libraries after init --- inc/init.php | 10 ++++++---- inc/load.php | 2 -- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/inc/init.php b/inc/init.php index 7f4792cfa..ae44ad1a9 100644 --- a/inc/init.php +++ b/inc/init.php @@ -40,9 +40,6 @@ if (!defined('DOKU_E_LEVEL')) { error_reporting(DOKU_E_LEVEL); } -// load libraries -require_once(DOKU_INC.'inc/load.php'); - // init memory caches global $cache_revinfo; $cache_revinfo = array(); @@ -249,8 +246,13 @@ init_files(); scriptify(DOKU_CONF.'users.auth'); scriptify(DOKU_CONF.'acl.auth'); +// load libraries +require_once(DOKU_INC.'inc/load.php'); + // setup authentication system -auth_setup(); +if (!defined('NOSESSION')) { + auth_setup(); +} /** * Checks paths from config file diff --git a/inc/load.php b/inc/load.php index dad03875a..796ccec77 100644 --- a/inc/load.php +++ b/inc/load.php @@ -24,9 +24,7 @@ require_once(DOKU_INC.'inc/html.php'); require_once(DOKU_INC.'inc/httputils.php'); require_once(DOKU_INC.'inc/indexer.php'); require_once(DOKU_INC.'inc/infoutils.php'); -require_once(DOKU_INC.'inc/init.php'); require_once(DOKU_INC.'inc/io.php'); -require_once(DOKU_INC.'inc/load.php'); require_once(DOKU_INC.'inc/mail.php'); require_once(DOKU_INC.'inc/media.php'); require_once(DOKU_INC.'inc/pageutils.php'); -- cgit v1.2.3 From fda42deb082e4bdb560818a9c23b96f9312176d5 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 15 Mar 2010 16:57:38 +0100 Subject: Various JavaScript fixes * Syntax error fixed * lock refresh event is now attached to the whole edit form since it bubbles up and we cannot be sure that the wikitext input exists on all edit forms * Updated findPos(X|Y) * Easier and less error-prone way of getting the section edit button in the highlight mouseover event handler --- lib/scripts/drag.js | 3 +-- lib/scripts/edit.js | 3 +-- lib/scripts/script.js | 16 +++++++--------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/scripts/drag.js b/lib/scripts/drag.js index 254eab4a6..169be5219 100644 --- a/lib/scripts/drag.js +++ b/lib/scripts/drag.js @@ -83,6 +83,5 @@ var drag = { this.obj.style.top = (e.pageY+this.oY-this.eY+'px'); this.obj.style.left = (e.pageX+this.oX-this.eX+'px'); } - }, - + } }; diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 58433f25c..b756e9488 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -386,8 +386,7 @@ var locktimer = new locktimer_class(); locktimer.sack.onCompletion = locktimer.refreshed; // register refresh event - addEvent($('dw__editform').elements.wikitext,'keypress',function(){locktimer.refresh();}); - + addEvent($('dw__editform'),'keypress',function(){locktimer.refresh();}); // start timer locktimer.reset(); }; diff --git a/lib/scripts/script.js b/lib/scripts/script.js index bf6f41ce5..27d088584 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -78,16 +78,15 @@ function getElementsByClass(searchClass,node,tag) { /** * Get the X offset of the top left corner of the given object * - * @link http://www.quirksmode.org/index.html?/js/findpos.html + * @link http://www.quirksmode.org/js/findpos.html */ function findPosX(object){ var curleft = 0; var obj = $(object); if (obj.offsetParent){ - while (obj.offsetParent){ + do { curleft += obj.offsetLeft; - obj = obj.offsetParent; - } + } while (obj = obj.offsetParent); } else if (obj.x){ curleft += obj.x; @@ -98,16 +97,15 @@ function findPosX(object){ /** * Get the Y offset of the top left corner of the given object * - * @link http://www.quirksmode.org/index.html?/js/findpos.html + * @link http://www.quirksmode.org/js/findpos.html */ function findPosY(object){ var curtop = 0; var obj = $(object); if (obj.offsetParent){ - while (obj.offsetParent){ + do { curtop += obj.offsetTop; - obj = obj.offsetParent; - } + } while (obj = obj.offsetParent); } else if (obj.y){ curtop += obj.y; @@ -535,7 +533,7 @@ addInitEvent(function(){ var btns = getElementsByClass('btn_secedit',document,'form'); for(var i=0; i Date: Tue, 16 Mar 2010 10:52:51 +0100 Subject: Fix special link displaying in abstract --- inc/parser/metadata.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index fc60e5774..f635ea1d5 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -334,8 +334,7 @@ class Doku_Renderer_metadata extends Doku_Renderer { $this->_firstimage($name['src']); if ($this->capture){ - if ($name) $this->doc .= $name; - else $this->doc .= '<'.$url.'>'; + $this->doc .= $this->_getLinkTitle($name, '<' . $url . '>'); } } @@ -345,7 +344,7 @@ class Doku_Renderer_metadata extends Doku_Renderer { if ($this->capture){ list($wikiUri, $hash) = explode('#', $wikiUri, 2); - $name = $this->_getLinkTitle($name, $wikiName.'>'.$wikiUri); + $name = $this->_getLinkTitle($name, $wikiUri); $this->doc .= $name; } } -- cgit v1.2.3 From 94d621b02d20870ce6ddac900faf60ae784f8747 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 16 Mar 2010 12:07:44 +0100 Subject: Typo in ZipLib autoloader --- inc/load.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/load.php b/inc/load.php index 796ccec77..f0945c5bc 100644 --- a/inc/load.php +++ b/inc/load.php @@ -69,7 +69,7 @@ function load_autoload($name){ 'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php', 'GeSHi' => DOKU_INC.'inc/geshi.php', 'TarLib' => DOKU_INC.'inc/TarLib.class.php', - 'ZibLib' => DOKU_INC.'inc/ZipLib.class.php', + 'ZipLib' => DOKU_INC.'inc/ZipLib.class.php', 'DokuWikiFeedCreator' => DOKU_INC.'inc/feedcreator.class.php', 'Doku_Parser_Mode' => DOKU_INC.'inc/parser/parser.php', -- cgit v1.2.3 From e0415e22d2d7d48385734c5c4a8e1770c36426c9 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 16 Mar 2010 11:20:53 +0000 Subject: Make constants in TarLib.class.php class constants The constants are required by the class constructor, which effectively means before the autoloader is triggered. This change fixes that issue. --- inc/TarLib.class.php | 110 ++++++++++++----------- lib/plugins/plugin/classes/ap_download.class.php | 8 +- 2 files changed, 64 insertions(+), 54 deletions(-) diff --git a/inc/TarLib.class.php b/inc/TarLib.class.php index a88ca63bc..3e9e81234 100644 --- a/inc/TarLib.class.php +++ b/inc/TarLib.class.php @@ -49,15 +49,15 @@ * FULL_ARCHIVE is a -1 constant that means "the complete archive" when * extracting. This is explained in Extract() */ -define('COMPRESS_GZIP',1); -define('COMPRESS_BZIP',2); -define('COMPRESS_AUTO',3); -define('COMPRESS_NONE',0); -define('TARLIB_VERSION','1.2'); -define('FULL_ARCHIVE',-1); -define('ARCHIVE_DYNAMIC',0); -define('ARCHIVE_RENAMECOMP',5); -define('COMPRESS_DETECT',-1); +#define('COMPRESS_GZIP',1); +#define('COMPRESS_BZIP',2); +#define('COMPRESS_AUTO',3); +#define('COMPRESS_NONE',0); +#define('TARLIB_VERSION','1.2'); +#define('FULL_ARCHIVE',-1); +#define('ARCHIVE_DYNAMIC',0); +#define('ARCHIVE_RENAMECOMP',5); +#define('COMPRESS_DETECT',-1); class TarLib { var $_comptype; @@ -68,6 +68,16 @@ class TarLib { var $_result; var $_initerror; + const COMPRESS_GZIP = 1; + const COMPRESS_BZIP = 2; + const COMPRESS_AUTO = 3; + const COMPRESS_NONE = 0; + const TARLIB_VERSION = '1.2'; + const FULL_ARCHIVE = -1; + const ARCHIVE_DYNAMIC = 0; + const ARCHIVE_RENAMECOMP = 5; + const COMPRESS_DETECT = -1; + /** * constructor, initialize the class * @@ -98,49 +108,49 @@ class TarLib { * represent the GZIP or BZIP compression level. 1 produce fast compression, * and 9 produce smaller files. See the RFC 1952 for more infos. */ - function tarlib($p_filen = ARCHIVE_DYNAMIC , $p_comptype = COMPRESS_AUTO, $p_complevel = 9) { + function tarlib($p_filen = TarLib::ARCHIVE_DYNAMIC , $p_comptype = TarLib::COMPRESS_AUTO, $p_complevel = 9) { $this->_initerror = 0; $this->_nomf = $p_filen; $flag=0; if($p_comptype && $p_comptype % 5 == 0){ - $p_comptype /= ARCHIVE_RENAMECOMP; + $p_comptype /= TarLib::ARCHIVE_RENAMECOMP; $flag=1; } if($p_complevel > 0 && $p_complevel <= 9) $this->_compzlevel = $p_complevel; else $p_complevel = 9; - if($p_comptype == COMPRESS_DETECT) { - if(strtolower(substr($p_filen,-3)) == '.gz') $p_comptype = COMPRESS_GZIP; - elseif(strtolower(substr($p_filen,-4)) == '.bz2') $p_comptype = COMPRESS_BZIP; - else $p_comptype = COMPRESS_NONE; + if($p_comptype == TarLib::COMPRESS_DETECT) { + if(strtolower(substr($p_filen,-3)) == '.gz') $p_comptype = TarLib::COMPRESS_GZIP; + elseif(strtolower(substr($p_filen,-4)) == '.bz2') $p_comptype = TarLib::COMPRESS_BZIP; + else $p_comptype = TarLib::COMPRESS_NONE; } switch($p_comptype) { - case COMPRESS_GZIP: + case TarLib::COMPRESS_GZIP: if(!extension_loaded('zlib')) $this->_initerror = -1; - $this->_comptype = COMPRESS_GZIP; + $this->_comptype = TarLib::COMPRESS_GZIP; break; - case COMPRESS_BZIP: + case TarLib::COMPRESS_BZIP: if(!extension_loaded('bz2')) $this->_initerror = -2; - $this->_comptype = COMPRESS_BZIP; + $this->_comptype = TarLib::COMPRESS_BZIP; break; - case COMPRESS_AUTO: + case TarLib::COMPRESS_AUTO: if(extension_loaded('zlib')) - $this->_comptype = COMPRESS_GZIP; + $this->_comptype = TarLib::COMPRESS_GZIP; elseif(extension_loaded('bz2')) - $this->_comptype = COMPRESS_BZIP; + $this->_comptype = TarLib::COMPRESS_BZIP; else - $this->_comptype = COMPRESS_NONE; + $this->_comptype = TarLib::COMPRESS_NONE; break; default: - $this->_comptype = COMPRESS_NONE; + $this->_comptype = TarLib::COMPRESS_NONE; } - if($this->_initerror < 0) $this->_comptype = COMPRESS_NONE; + if($this->_initerror < 0) $this->_comptype = TarLib::COMPRESS_NONE; if($flag) $this->_nomf.= '.'.$this->getCompression(1); $this->_result = true; @@ -152,7 +162,7 @@ class TarLib { * This function does exactly the same as TarLib (constructor), except it * returns a status code. */ - function setArchive($p_name='', $p_comp = COMPRESS_AUTO, $p_level=9) { + function setArchive($p_name='', $p_comp = TarLib::COMPRESS_AUTO, $p_level=9) { $this->_CompTar(); $this->TarLib($p_name, $p_comp, $p_level); return $this->_result; @@ -188,7 +198,7 @@ class TarLib { * the archive. See the MaxgTar Constants to see which constants you can use. * It may look strange, but it returns the GZIP compression level. */ - function setCompression($p_comp = COMPRESS_AUTO) { + function setCompression($p_comp = TarLib::COMPRESS_AUTO) { $this->setArchive($this->_nomf, $p_comp, $this->_compzlevel); return $this->_compzlevel; } @@ -301,7 +311,7 @@ class TarLib { * permission in octal mode (prefixed with a 0) that will be given on each * extracted file. */ - function Extract($p_what = FULL_ARCHIVE, $p_to = '.', $p_remdir='', $p_mode = 0755) { + function Extract($p_what = TarLib::FULL_ARCHIVE, $p_to = '.', $p_remdir='', $p_mode = 0755) { if(!$this->_OpenRead()) return -4; // if(!@is_dir($p_to)) if(!@mkdir($p_to, 0777)) return -8; --CS if(!@is_dir($p_to)) if(!$this->_dirApp($p_to)) return -8; //--CS (route through correct dir fn) @@ -375,8 +385,8 @@ class TarLib { * it to get the human-readable description of the error. */ function Add($p_filelist, $p_add = '', $p_rem = '') { - if (($this->_nomf != ARCHIVE_DYNAMIC && @is_file($this->_nomf)) || - ($this->_nomf == ARCHIVE_DYNAMIC && !$this->_memdat)){ + if (($this->_nomf != TarLib::ARCHIVE_DYNAMIC && @is_file($this->_nomf)) || + ($this->_nomf == TarLib::ARCHIVE_DYNAMIC && !$this->_memdat)){ return $this->Create($p_filelist, $p_add, $p_rem); } @@ -524,20 +534,20 @@ class TarLib { } function _seek($p_flen, $tell=0) { - if($this->_nomf === ARCHIVE_DYNAMIC) + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) $this->_memdat=substr($this->_memdat,0,($tell ? strlen($this->_memdat) : 0) + $p_flen); - elseif($this->_comptype == COMPRESS_GZIP) + elseif($this->_comptype == TarLib::COMPRESS_GZIP) @gzseek($this->_fp, ($tell ? @gztell($this->_fp) : 0)+$p_flen); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen); else @fseek($this->_fp, ($tell ? @ftell($this->_fp) : 0)+$p_flen); } function _OpenRead() { - if($this->_comptype == COMPRESS_GZIP) + if($this->_comptype == TarLib::COMPRESS_GZIP) $this->_fp = @gzopen($this->_nomf, 'rb'); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) $this->_fp = @bzopen($this->_nomf, 'rb'); else $this->_fp = @fopen($this->_nomf, 'rb'); @@ -546,11 +556,11 @@ class TarLib { } function _OpenWrite($add = 'w') { - if($this->_nomf === ARCHIVE_DYNAMIC) return true; + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) return true; - if($this->_comptype == COMPRESS_GZIP) + if($this->_comptype == TarLib::COMPRESS_GZIP) $this->_fp = @gzopen($this->_nomf, $add.'b'.$this->_compzlevel); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) $this->_fp = @bzopen($this->_nomf, $add.'b'); else $this->_fp = @fopen($this->_nomf, $add.'b'); @@ -559,28 +569,28 @@ class TarLib { } function _CompTar() { - if($this->_nomf === ARCHIVE_DYNAMIC || !$this->_fp) return; + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC || !$this->_fp) return; - if($this->_comptype == COMPRESS_GZIP) @gzclose($this->_fp); - elseif($this->_comptype == COMPRESS_BZIP) @bzclose($this->_fp); + if($this->_comptype == TarLib::COMPRESS_GZIP) @gzclose($this->_fp); + elseif($this->_comptype == TarLib::COMPRESS_BZIP) @bzclose($this->_fp); else @fclose($this->_fp); } function _read($p_len) { - if($this->_comptype == COMPRESS_GZIP) + if($this->_comptype == TarLib::COMPRESS_GZIP) return @gzread($this->_fp,$p_len); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) return @bzread($this->_fp,$p_len); else return @fread($this->_fp,$p_len); } function _write($p_data) { - if($this->_nomf === ARCHIVE_DYNAMIC) $this->_memdat .= $p_data; - elseif($this->_comptype == COMPRESS_GZIP) + if($this->_nomf === TarLib::ARCHIVE_DYNAMIC) $this->_memdat .= $p_data; + elseif($this->_comptype == TarLib::COMPRESS_GZIP) return @gzwrite($this->_fp,$p_data); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) return @bzwrite($this->_fp,$p_data); else @@ -588,9 +598,9 @@ class TarLib { } function _encode($p_dat) { - if($this->_comptype == COMPRESS_GZIP) + if($this->_comptype == TarLib::COMPRESS_GZIP) return gzencode($p_dat, $this->_compzlevel); - elseif($this->_comptype == COMPRESS_BZIP) + elseif($this->_comptype == TarLib::COMPRESS_BZIP) return bzcompress($p_dat, $this->_compzlevel); else return $p_dat; } @@ -637,7 +647,7 @@ class TarLib { function _addFileList($p_fl, $p_addir, $p_remdir) { foreach($p_fl as $file) { - if(($file == $this->_nomf && $this->_nomf != ARCHIVE_DYNAMIC) || !$file || (!file_exists($file) && !is_array($file))) + if(($file == $this->_nomf && $this->_nomf != TarLib::ARCHIVE_DYNAMIC) || !$file || (!file_exists($file) && !is_array($file))) continue; if (!$this->_addFile($file, $p_addir, $p_remdir)) @@ -747,7 +757,7 @@ class TarLib { function _append($p_filelist, $p_addir="", $p_remdir="") { if(!$this->_fp) if(!$this->_OpenWrite('a')) return -6; - if($this->_nomf == ARCHIVE_DYNAMIC) { + if($this->_nomf == TarLib::ARCHIVE_DYNAMIC) { $s = strlen($this->_memdat); $this->_memdat = substr($this->_memdat,0,-512); } else { diff --git a/lib/plugins/plugin/classes/ap_download.class.php b/lib/plugins/plugin/classes/ap_download.class.php index 6ad048d72..beba0ab07 100644 --- a/lib/plugins/plugin/classes/ap_download.class.php +++ b/lib/plugins/plugin/classes/ap_download.class.php @@ -199,13 +199,13 @@ class ap_download extends ap_manage { if (in_array($ext, array('tar','bz','gz'))) { switch($ext){ case 'bz': - $compress_type = COMPRESS_BZIP; + $compress_type = TarLib::COMPRESS_BZIP; break; case 'gz': - $compress_type = COMPRESS_GZIP; + $compress_type = TarLib::COMPRESS_GZIP; break; default: - $compress_type = COMPRESS_NONE; + $compress_type = TarLib::COMPRESS_NONE; } $tar = new TarLib($file, $compress_type); @@ -215,7 +215,7 @@ class ap_download extends ap_manage { } return false; } - $ok = $tar->Extract(FULL_ARCHIVE, $target, '', 0777); + $ok = $tar->Extract(TarLib::FULL_ARCHIVE, $target, '', 0777); if($ok<1){ if($conf['allowdebug']){ -- cgit v1.2.3 From 5ce4ea1542521e553f96e379988478345646bcb6 Mon Sep 17 00:00:00 2001 From: Michael Klier Date: Tue, 16 Mar 2010 14:50:15 +0100 Subject: added missing IXR_IntrospectionServer to autoload classes --- inc/load.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/load.php b/inc/load.php index f0945c5bc..faf4e9570 100644 --- a/inc/load.php +++ b/inc/load.php @@ -66,6 +66,7 @@ function load_autoload($name){ 'FeedParser' => DOKU_INC.'inc/FeedParser.php', 'IXR_Server' => DOKU_INC.'inc/IXR_Library.php', 'IXR_Client' => DOKU_INC.'inc/IXR_Library.php', + 'IXR_IntrospectionServer' => DOKU_INC.'inc/IXR_Library.php', 'Doku_Plugin_Controller'=> DOKU_INC.'inc/plugincontroller.class.php', 'GeSHi' => DOKU_INC.'inc/geshi.php', 'TarLib' => DOKU_INC.'inc/TarLib.class.php', -- cgit v1.2.3 From c77fa67b50d49455e3b518eeb2bcbd0531d07165 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Tue, 16 Mar 2010 15:33:58 +0100 Subject: Use md5sum of id and client ip as temporary filename in XML-RPC Before this patch the temporary filename was the uncleaned id. This allowed everyone with upload-privileges (on the whole wiki) and XML-RPC privileges on a XML-RPC-enabled DokuWiki to (over)write any file PHP is allowed to write with any content he wants. If you have XML-RPC enabled and users with XML-RPC and upload privileges you don't trust in a way you would allow them to write any file PHP may write, consider this as an important security fix. By default XML-RPC is disabled, so if you don't know what I'm talking about you are probably not affected by the problem. --- lib/exe/xmlrpc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index 670ab5d7e..b6b9f0e52 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -578,7 +578,7 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { return new IXR_ERROR(1, 'Filename not given.'); } - $ftmp = $conf['tmpdir'] . '/' . $id; + $ftmp = $conf['tmpdir'] . '/' . md5($id.clientIP()); // save temporary file @unlink($ftmp); -- cgit v1.2.3 From b080c3ddd9671fcd5a67865fe970ae0f8b5bdeed Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Wed, 17 Mar 2010 20:10:22 +0100 Subject: Interlingua language update --- inc/lang/ia/install.html | 2 +- inc/lang/ia/lang.php | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/inc/lang/ia/install.html b/inc/lang/ia/install.html index 340d4098f..01b6f43b5 100644 --- a/inc/lang/ia/install.html +++ b/inc/lang/ia/install.html @@ -1,6 +1,6 @@

Iste pagina te assiste in le prime installation e configuration de Dokuwiki. Ulterior informationes super iste installator es disponibile in le -pagina de documentaiton de illo.

+pagina de documentation de illo.

DokuWiki usa files ordinari pro le immagazinage de paginas wiki e altere informationes associate con iste paginas (p.ex. imagines, indices de recerca, versiones ancian, etc). Pro poter functionar, DokuWiki debe haber accesso de scriptura al directorios que contine iste files. Iste installator non es capabile de configurar le permissiones de directorios. Isto normalmente debe esser facite directemente con le linea de commandos, o si tu usa un albergo web, via FTP o via le pannello de controlo de tu albergo (p.ex. cPanel).

diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index 8429fe607..8fb4b424d 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -117,6 +117,27 @@ $lang['mediafiles'] = 'Files disponibile in'; $lang['js']['searchmedia'] = 'Cercar files'; $lang['js']['keepopen'] = 'Mantener fenestra aperte post selection'; $lang['js']['hidedetails'] = 'Celar detalios'; +$lang['js']['mediatitle'] = 'Configuration del ligamine'; +$lang['js']['mediadisplay'] = 'Typo de ligamine'; +$lang['js']['mediaalign'] = 'Alineamento'; +$lang['js']['mediasize'] = 'Dimension del imagine'; +$lang['js']['mediatarget'] = 'Destination del ligamine'; +$lang['js']['mediaclose'] = 'Clauder'; +$lang['js']['mediainsert'] = 'Inserer'; +$lang['js']['mediadisplayimg'] = 'Monstrar le imagine.'; +$lang['js']['mediadisplaylnk'] = 'Monstrar solmente le imagine.'; +$lang['js']['mediasmall'] = 'Version parve'; +$lang['js']['mediamedium'] = 'Version medie'; +$lang['js']['medialarge'] = 'Version grande'; +$lang['js']['mediaoriginal'] = 'Version original'; +$lang['js']['medialnk'] = 'Ligamine al pagina de detalios'; +$lang['js']['mediadirect'] = 'Ligamine directe verso le original'; +$lang['js']['medianolnk'] = 'Nulle ligamine'; +$lang['js']['medianolink'] = 'Non ligar verso le imagine'; +$lang['js']['medialeft'] = 'Alinear le imagine verso le sinistra.'; +$lang['js']['mediaright'] = 'Alinear le imagine verso le dextra.'; +$lang['js']['mediacenter'] = 'Alinear le imagine in le medio.'; +$lang['js']['medianoalign'] = 'Non alinear.'; $lang['js']['nosmblinks'] = 'Le ligamines a ressources de Windows functiona solmente in Microsoft Internet Explorer. Tu pote nonobstante copiar e collar le ligamine.'; $lang['js']['linkwiz'] = 'Assistente pro ligamines'; -- cgit v1.2.3 From 1c5d577c52ccb55efa0aa1569c9deac5cb4f060d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ant=C3=B3nio=20Cidre=20Bardel=C3=A1s?= Date: Wed, 17 Mar 2010 20:12:13 +0100 Subject: Galician language update --- inc/lang/gl/lang.php | 47 ++++++++++++++++++++++++++++++++++++- inc/lang/gl/subscr_digest.txt | 20 ++++++++++++++++ inc/lang/gl/subscr_form.txt | 3 +++ inc/lang/gl/subscr_list.txt | 17 ++++++++++++++ inc/lang/gl/subscr_single.txt | 23 ++++++++++++++++++ inc/lang/gl/wordblock.txt | 4 ++++ lib/plugins/config/lang/gl/lang.php | 1 + 7 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 inc/lang/gl/subscr_digest.txt create mode 100644 inc/lang/gl/subscr_form.txt create mode 100644 inc/lang/gl/subscr_list.txt create mode 100644 inc/lang/gl/subscr_single.txt create mode 100644 inc/lang/gl/wordblock.txt diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index c6ac4071e..e82eb473a 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -3,7 +3,7 @@ * galician language file * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) - * @author Medúlio + * @author Medúlio */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -111,6 +111,27 @@ $lang['mediafiles'] = 'Arquivos dispoñíbeis en'; $lang['js']['searchmedia'] = 'Procurar ficheiros'; $lang['js']['keepopen'] = 'Manter a fiestra aberta na selección'; $lang['js']['hidedetails'] = 'Agochar Pormenores'; +$lang['js']['mediatitle'] = 'Configuración de ligazón'; +$lang['js']['mediadisplay'] = 'Tipo de ligazón'; +$lang['js']['mediaalign'] = 'Aliñamento'; +$lang['js']['mediasize'] = 'Tamaño de imaxe'; +$lang['js']['mediatarget'] = 'Albo da ligazón'; +$lang['js']['mediaclose'] = 'Fechar'; +$lang['js']['mediainsert'] = 'Inserir'; +$lang['js']['mediadisplayimg'] = 'Amosar a imaxe'; +$lang['js']['mediadisplaylnk'] = 'Amosar só a ligazón'; +$lang['js']['mediasmall'] = 'Versión reducida'; +$lang['js']['mediamedium'] = 'Versión media'; +$lang['js']['medialarge'] = 'Versión grande'; +$lang['js']['mediaoriginal'] = 'Versión orixinal'; +$lang['js']['medialnk'] = 'Ligazón para a páxina de pormenores'; +$lang['js']['mediadirect'] = 'Ligazón directa para o orixinal'; +$lang['js']['medianolnk'] = 'Sen ligazón'; +$lang['js']['medianolink'] = 'Non ligar a imaxe'; +$lang['js']['medialeft'] = 'Aliñar a imaxe á esquerda'; +$lang['js']['mediaright'] = 'Aliñar a imaxe á dereita'; +$lang['js']['mediacenter'] = 'Aliñar a iamxe ao medio'; +$lang['js']['medianoalign'] = 'Non empregar aliñamento'; $lang['js']['nosmblinks'] = 'A ligazón aos compartidos do Windows só funciona no Microsoft Internet Explorer. Sempre podes copiar e colar a ligazón.'; $lang['js']['linkwiz'] = 'Asistente de ligazóns'; @@ -143,8 +164,10 @@ $lang['restored'] = 'revisión antiga restaurada'; $lang['external_edit'] = 'edición externa'; $lang['summary'] = 'Resumo da edición'; $lang['noflash'] = 'Precísase o Extensión Adobe Flash para amosar este contido.'; +$lang['download'] = 'Descargar Retallo (Snippet)'; $lang['mail_newpage'] = 'páxina engadida:'; $lang['mail_changed'] = 'páxina mudada:'; +$lang['mail_subscribe_list'] = 'páxinas mudadas en nome de espazo:'; $lang['mail_new_user'] = 'Novo usuario:'; $lang['mail_upload'] = 'arquivo subido:'; $lang['qb_bold'] = 'Texto Resaltado'; @@ -157,6 +180,11 @@ $lang['qb_h2'] = 'Liña de Cabeceira de Nivel 2'; $lang['qb_h3'] = 'Liña de Cabeceira de Nivel 3'; $lang['qb_h4'] = 'Liña de Cabeceira de Nivel 4'; $lang['qb_h5'] = 'Liña de Cabeceira de Nivel 5'; +$lang['qb_h'] = 'Liña de Cabeceira'; +$lang['qb_hs'] = 'Escoller Liña de Cabeceira'; +$lang['qb_hplus'] = 'Liña de Cabeceira Máis Alta'; +$lang['qb_hminus'] = 'Liña de Cabeceira Máis Baixa'; +$lang['qb_hequal'] = 'Liña de Cabeceira ao Mesmo Nivel'; $lang['qb_link'] = 'Ligazón Interna'; $lang['qb_extlink'] = 'Ligazón Externa'; $lang['qb_hr'] = 'Liña Horizontal'; @@ -166,6 +194,7 @@ $lang['qb_media'] = 'Engadir Imaxes e Outros Arquivos'; $lang['qb_sig'] = 'Inserir Sinatura'; $lang['qb_smileys'] = 'Risoños'; $lang['qb_chars'] = 'Caracteres Especiais'; +$lang['upperns'] = 'choutar ao nome de espazo pai'; $lang['admin_register'] = 'Engadir novo usuario'; $lang['metaedit'] = 'Editar Metadatos'; $lang['metasaveerr'] = 'Non se puideron escribir os metadatos'; @@ -181,6 +210,22 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Formato'; $lang['img_camera'] = 'Cámara'; $lang['img_keywords'] = 'Verbas chave'; +$lang['subscr_subscribe_success'] = 'Engadido %s á lista de subscrición para %s'; +$lang['subscr_subscribe_error'] = 'Erro ao tentar engadir %s á lista de subscrición para %s'; +$lang['subscr_subscribe_noaddress'] = 'Non hai enderezos asociados co teu inicio de sesión, non é posíbel engadirte á lista de subscrición'; +$lang['subscr_unsubscribe_success'] = 'Eliminado %s da lista de subscrición para %s'; +$lang['subscr_unsubscribe_error'] = 'Erro ao tentar eliminar %s da lista de subscrición para %s'; +$lang['subscr_already_subscribed'] = '%s xa está subscrito a %s'; +$lang['subscr_not_subscribed'] = '%s non está subscrito a %s'; +$lang['subscr_m_not_subscribed'] = 'Agora mesmo non estás subscrito á páxina ou nome de espazo actual'; +$lang['subscr_m_new_header'] = 'Engadir subscrición'; +$lang['subscr_m_current_header'] = 'Subscricións actuais'; +$lang['subscr_m_unsubscribe'] = 'Desubscribir'; +$lang['subscr_m_subscribe'] = 'Subscribir'; +$lang['subscr_m_receive'] = 'Recibir'; +$lang['subscr_style_every'] = 'correo-e en cada troco'; +$lang['subscr_style_digest'] = 'correo-e con resumo de trocos para cada páxina'; +$lang['subscr_style_list'] = 'lista de páxinas mudadas dende o último correo-e'; $lang['authmodfailed'] = 'Configuración de autenticación de usuario incorrecta. Por favor, informa ao Administrador do teu Wiki.'; $lang['authtempfail'] = 'A autenticación de usuario non está dispoñible de xeito temporal. De persistir esta situación, por favor, informa ao Administrador do teu Wiki.'; $lang['i_chooselang'] = 'Escolle o teu idioma'; diff --git a/inc/lang/gl/subscr_digest.txt b/inc/lang/gl/subscr_digest.txt new file mode 100644 index 000000000..4ebd14dd9 --- /dev/null +++ b/inc/lang/gl/subscr_digest.txt @@ -0,0 +1,20 @@ +Ola. + +Houbo mudanzas na páxina @PAGE@ do wiki @TITLE@. +Estes son os trocos: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Revisión Antiga: @OLDPAGE@ +Revisión Nova: @NEWPAGE@ + +Para cancelares as notificacións da páxina inicia sesión no wiki en +@DOKUWIKIURL@ e logo visita +@SUBSCRIBE@ +e desubscríbete do seguimento dos trocos da páxina e/ou nome de espazo. + +-- +Este correo-e foi xerado polo DokuWiki de +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/gl/subscr_form.txt b/inc/lang/gl/subscr_form.txt new file mode 100644 index 000000000..e8a6fe6cf --- /dev/null +++ b/inc/lang/gl/subscr_form.txt @@ -0,0 +1,3 @@ +====== Xestión de Subscrición ====== + +Esta páxina permíteche xestionar as túas subscricións para a páxina e nome de espazo actuais. \ No newline at end of file diff --git a/inc/lang/gl/subscr_list.txt b/inc/lang/gl/subscr_list.txt new file mode 100644 index 000000000..b62aae35d --- /dev/null +++ b/inc/lang/gl/subscr_list.txt @@ -0,0 +1,17 @@ +Ola. + +Houbo trocos en páxinas do nome de espazo @PAGE@ do wiki @TITLE@. +Estas son as páxinas que mudaron: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Para cancelares as notificacións da páxina inicia sesión no wiki en +@DOKUWIKIURL@ e logo visita +@SUBSCRIBE@ +e desubscríbete do seguimento dos trocos da páxina e/ou nome de espazo. + +-- +Este correo-e foi xerado polo DokuWiki de +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/gl/subscr_single.txt b/inc/lang/gl/subscr_single.txt new file mode 100644 index 000000000..77102d470 --- /dev/null +++ b/inc/lang/gl/subscr_single.txt @@ -0,0 +1,23 @@ +Ola. + +Houbo trocos na páxina @PAGE@ do wiki @TITLE@. +Estes son os trocos: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Data : @DATE@ +Usuario : @USER@ +Resumo do Edición: @SUMMARY@ +Revisión Antiga: @OLDPAGE@ +Revisión Nova: @NEWPAGE@ + +Para cancelares as notificacións da páxina inicia sesión no wiki en +@DOKUWIKIURL@ e logo visita +@SUBSCRIBE@ +e desubscríbete do seguimento dos trocos da páxina e/ou nome de espazo. + +-- +Este correo-e foi xerado polo DokuWiki de +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/gl/wordblock.txt b/inc/lang/gl/wordblock.txt new file mode 100644 index 000000000..ec8d67aff --- /dev/null +++ b/inc/lang/gl/wordblock.txt @@ -0,0 +1,4 @@ +====== Bloqueo por Correo-lixo ====== + +Os teus trocos **non** foron gardados porque conteñen unha ou varias verbas bloqueadas. Se tentaches deixar correo-lixo no wiki -- Estívoche ben! Se consideras que é un erro, contacta co administrador deste Wiki. + diff --git a/lib/plugins/config/lang/gl/lang.php b/lib/plugins/config/lang/gl/lang.php index 2129beec0..ac91098cb 100644 --- a/lib/plugins/config/lang/gl/lang.php +++ b/lib/plugins/config/lang/gl/lang.php @@ -105,6 +105,7 @@ $lang['gdlib'] = 'Versión da Libraría GD'; $lang['im_convert'] = 'Ruta deica a ferramenta de conversión ImageMagick'; $lang['jpg_quality'] = 'Calidade de compresión dos JPG (0-100)'; $lang['subscribers'] = 'Activar posibilidade de subscrición á páxina'; +$lang['subscribe_time'] = 'Tempo despois do cal se enviarán os resumos e listas de subscrición (seg.): isto debe ser inferior ao tempo especificado en recent_days.'; $lang['compress'] = 'Saída compacta de CSS e Javascript'; $lang['hidepages'] = 'Agochar páxinas que coincidan (expresións regulares)'; $lang['send404'] = 'Enviar "HTTP 404/Páxina non atopada" para as páxinas inexistentes'; -- cgit v1.2.3 From 8d557116a19d366c0f00592e4fa6250017295105 Mon Sep 17 00:00:00 2001 From: maros Date: Wed, 17 Mar 2010 20:13:22 +0100 Subject: Polish language update --- inc/lang/pl/lang.php | 23 +++++++++++++++++++++++ lib/plugins/acl/lang/pl/lang.php | 1 + lib/plugins/config/lang/pl/lang.php | 1 + lib/plugins/plugin/lang/pl/lang.php | 1 + lib/plugins/popularity/lang/pl/lang.php | 1 + lib/plugins/revert/lang/pl/lang.php | 1 + lib/plugins/usermanager/lang/pl/lang.php | 1 + 7 files changed, 29 insertions(+) diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 408093a59..89cdd695d 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -116,6 +117,27 @@ $lang['mediafiles'] = 'Dostępne pliki'; $lang['js']['searchmedia'] = 'Szukaj plików'; $lang['js']['keepopen'] = 'Nie zamykaj okna po wyborze'; $lang['js']['hidedetails'] = 'Ukryj szczegóły'; +$lang['js']['mediatitle'] = 'Ustawienia odnośników'; +$lang['js']['mediadisplay'] = 'Typ odnośnika'; +$lang['js']['mediaalign'] = 'Położenie'; +$lang['js']['mediasize'] = 'Rozmiar grafiki'; +$lang['js']['mediatarget'] = 'Cel odnośnika'; +$lang['js']['mediaclose'] = 'Zamknij'; +$lang['js']['mediainsert'] = 'Wstaw'; +$lang['js']['mediadisplayimg'] = 'Pokaż grafikę'; +$lang['js']['mediadisplaylnk'] = 'Pokaż tylko odnośnik.'; +$lang['js']['mediasmall'] = 'Mały rozmiar'; +$lang['js']['mediamedium'] = 'Średni rozmiar'; +$lang['js']['medialarge'] = 'Duży rozmiar'; +$lang['js']['mediaoriginal'] = 'Wersja oryginalna'; +$lang['js']['medialnk'] = 'Odnośnik do strony ze szczegółami'; +$lang['js']['mediadirect'] = 'Bezpośredni odnośnik do oryginału'; +$lang['js']['medianolnk'] = 'Bez odnośnika'; +$lang['js']['medianolink'] = 'Nie ustawiaj odnośnika do grafiki'; +$lang['js']['medialeft'] = 'Ustaw położenie po lewej stronie.'; +$lang['js']['mediaright'] = 'Ustaw położenie po prawej stronie.'; +$lang['js']['mediacenter'] = 'Ustaw położenie po środku.'; +$lang['js']['medianoalign'] = 'Nie ustawiaj położenia.'; $lang['js']['nosmblinks'] = 'Odnośniki do zasobów sieci Windows działają tylko w przeglądarce Internet Explorer. Możesz skopiować odnośnik.'; $lang['js']['linkwiz'] = 'Tworzenie odnośników'; @@ -257,3 +279,4 @@ $lang['days'] = '%d dni temu'; $lang['hours'] = '%d godzin temu'; $lang['minutes'] = '%d minut temu'; $lang['seconds'] = '%d sekund temu'; +$lang['wordblock'] = 'Twoje ustawienia nie zostały zapisane ponieważ zawierają niedozwoloną treść (spam).'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 0f88fe477..300f0ad1c 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; $lang['acl_group'] = 'Grupa'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index b722f7b4d..662a80c3b 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -10,6 +10,7 @@ * @author Piotr JANKOWSKI * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostały zapisane z powodu błędnych wartości, przejrzyj je i ponów próbę zapisu.
Niepoprawne wartości są wyróżnione kolorem czerwonym.'; diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php index b5f813f03..d97dafc0b 100644 --- a/lib/plugins/plugin/lang/pl/lang.php +++ b/lib/plugins/plugin/lang/pl/lang.php @@ -10,6 +10,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['menu'] = 'Menadżer wtyczek'; $lang['download'] = 'Ściągnij i zainstaluj nową wtyczkę'; diff --git a/lib/plugins/popularity/lang/pl/lang.php b/lib/plugins/popularity/lang/pl/lang.php index 02a1f21b6..dd208fe47 100644 --- a/lib/plugins/popularity/lang/pl/lang.php +++ b/lib/plugins/popularity/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['name'] = 'Informacja o popularności (ładowanie może zająć dłuższą chwilę)'; $lang['submit'] = 'Wyślij dane'; diff --git a/lib/plugins/revert/lang/pl/lang.php b/lib/plugins/revert/lang/pl/lang.php index 437daf3d7..613b96e6f 100644 --- a/lib/plugins/revert/lang/pl/lang.php +++ b/lib/plugins/revert/lang/pl/lang.php @@ -7,6 +7,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['menu'] = 'Menadżer przywracania'; $lang['filter'] = 'Wyszukaj uszkodzone strony'; diff --git a/lib/plugins/usermanager/lang/pl/lang.php b/lib/plugins/usermanager/lang/pl/lang.php index 56add77f4..6d57455fb 100644 --- a/lib/plugins/usermanager/lang/pl/lang.php +++ b/lib/plugins/usermanager/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author Sławomir Boczek * @author sleshek@wp.pl * @author Leszek Stachowski + * @author maros */ $lang['menu'] = 'Menadżer użytkowników'; $lang['noauth'] = '(uwierzytelnienie użytkownika niemożliwe)'; -- cgit v1.2.3 From 50e988b1b678d028d2decdac630f1b01588c53af Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 18 Mar 2010 05:15:30 +0100 Subject: typo fixed --- inc/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/common.php b/inc/common.php index d1a722f45..5904dc69b 100644 --- a/inc/common.php +++ b/inc/common.php @@ -158,7 +158,7 @@ function pageinfo(){ }else{ $info['writable'] = ($info['perm'] >= AUTH_CREATE); } - $info['editable'] = ($info['writable'] && empty($info['lock'])); + $info['editable'] = ($info['writable'] && empty($info['locked'])); $info['lastmod'] = @filemtime($info['filepath']); //load page meta data -- cgit v1.2.3 From 71a1b3ab64b4601b9132e877e3b53c9b85d03429 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 22 Mar 2010 17:00:02 +0100 Subject: Really remove edit highlighting on mouseout --- lib/scripts/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 27d088584..25b10205c 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -552,7 +552,7 @@ addInitEvent(function(){ addEvent(btns[i],'mouseout',function(e){ var secs = getElementsByClass('section_highlight'); for(var j=0; j Date: Mon, 22 Mar 2010 16:42:58 +0100 Subject: Do not trigger HTML_FORM_SELECTION in some cases When the page is not editable or the section info is out of date, a custom editor should not be used. --- inc/html.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/inc/html.php b/inc/html.php index 23eadebc4..86cda46f0 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1121,6 +1121,8 @@ function html_updateprofile(){ * Preprocess edit form data * * @author Andreas Gohr + * + * @triggers HTML_EDITFORM_OUTPUT */ function html_edit(){ global $ID; @@ -1167,10 +1169,16 @@ function html_edit(){ $form->addHidden('suffix', $SUF); $form->addHidden('changecheck', $check); - $data = compact('wr', 'form'); - $data['media_manager'] = true; - $data['intro_locale'] = $include; - trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); + $data = array('form' => $form, + 'wr' => $wr, + 'media_manager' => true, + 'intro_locale' => $include); + if ($wr && $RANGE !== '') { + // Only emit event if page is writable and section edit data is valid. + trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); + } else { + html_edit_form($data); + } if (isset($data['intro_locale'])) { echo p_locale_xhtml($data['intro_locale']); } @@ -1225,8 +1233,6 @@ function html_edit(){ * Display the default edit form * * Is the default action for HTML_EDIT_FORMSELECTION. - * - * @triggers HTML_EDITFORM_OUTPUT */ function html_edit_form($param) { global $TEXT; -- cgit v1.2.3 From d141c8dc0567c892690e1f6ccf66298042034456 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 22 Mar 2010 18:06:17 +0100 Subject: Add missing global declaration --- inc/html.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/html.php b/inc/html.php index 86cda46f0..e2128f2bc 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1135,6 +1135,7 @@ function html_edit(){ global $lang; global $conf; global $TEXT; + global $RANGE; if (isset($_REQUEST['changecheck'])) { $check = $_REQUEST['changecheck']; -- cgit v1.2.3 From cfb026ae9d84c228fdc708c076136a627085300b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerry=20Wei=C3=9Fbach?= Date: Mon, 22 Mar 2010 20:30:44 +0100 Subject: fixed Safari browser detection --- lib/scripts/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 25b10205c..205d3f706 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -9,7 +9,7 @@ var clientPC = navigator.userAgent.toLowerCase(); // Get client info var is_macos = navigator.appVersion.indexOf('Mac') != -1; var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('khtml') == -1) && (clientPC.indexOf('netscape/7.0')==-1)); -var is_safari = ((clientPC.indexOf('AppleWebKit')!=-1) && (clientPC.indexOf('spoofer')==-1)); +var is_safari = ((clientPC.indexOf('applewebkit')!=-1) && (clientPC.indexOf('spoofer')==-1)); var is_khtml = (navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled )); if (clientPC.indexOf('opera')!=-1) { var is_opera = true; -- cgit v1.2.3 From 982a59410f29e19671bd53b32181a612601d3794 Mon Sep 17 00:00:00 2001 From: Robert Bogenschneider Date: Mon, 22 Mar 2010 20:58:09 +0100 Subject: Esperanto language update --- inc/lang/eo/lang.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index c03618a0e..012fea5fe 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -120,6 +120,27 @@ $lang['mediafiles'] = 'Disponeblaj dosieroj'; $lang['js']['searchmedia'] = 'Serĉi dosierojn'; $lang['js']['keepopen'] = 'Tenu la fenestron malfermata dum elekto'; $lang['js']['hidedetails'] = 'Kaŝi detalojn'; +$lang['js']['mediatitle'] = 'Ligilaj agordoj'; +$lang['js']['mediadisplay'] = 'Ligila tipo'; +$lang['js']['mediaalign'] = 'Poziciigo'; +$lang['js']['mediasize'] = 'Bildgrandeco'; +$lang['js']['mediatarget'] = 'Ligila celo'; +$lang['js']['mediaclose'] = 'Fermi'; +$lang['js']['mediainsert'] = 'Enmeti'; +$lang['js']['mediadisplayimg'] = 'Montri la bildon.'; +$lang['js']['mediadisplaylnk'] = 'Montri nur la ligilon.'; +$lang['js']['mediasmall'] = 'Malgranda versio'; +$lang['js']['mediamedium'] = 'Meza versio'; +$lang['js']['medialarge'] = 'Granda versio'; +$lang['js']['mediaoriginal'] = 'Origina versio'; +$lang['js']['medialnk'] = 'Ligilo al detala paĝo'; +$lang['js']['mediadirect'] = 'Rekta ligilo al la origino'; +$lang['js']['medianolnk'] = 'Neniu ligilo'; +$lang['js']['medianolink'] = 'Ne ligi la bildon'; +$lang['js']['medialeft'] = 'Meti la bildon maldekstren.'; +$lang['js']['mediaright'] = 'Meti la bildon dekstren.'; +$lang['js']['mediacenter'] = 'Meti la bildon mezen.'; +$lang['js']['medianoalign'] = 'Ne uzi poziciigon.'; $lang['js']['nosmblinks'] = 'Tio ĉi nur funkcias en la Vindozaĉa "Microsoft Internet Explorer". Vi ankoraŭ povas kopii kaj almeti la ligilon.'; $lang['js']['linkwiz'] = 'Ligil-Asistanto'; @@ -261,3 +282,4 @@ $lang['days'] = 'antaŭ %d tagoj'; $lang['hours'] = 'antaŭ %d horoj'; $lang['minutes'] = 'antaŭ %d minutoj'; $lang['seconds'] = 'antaŭ %d sekundoj'; +$lang['wordblock'] = 'Via ŝanĝo ne estis savita, ĉar ĝi enhavas blokitan tekston (spamon).'; -- cgit v1.2.3 From 9d706dd2a380574a0f89b771c7b3fd9a77de9dc7 Mon Sep 17 00:00:00 2001 From: Robert Bogenschneider Date: Mon, 22 Mar 2010 20:58:43 +0100 Subject: German language update --- inc/lang/de/lang.php | 82 ++++++++++++++++++-------------- lib/plugins/acl/lang/de/lang.php | 1 + lib/plugins/config/lang/de/lang.php | 1 + lib/plugins/plugin/lang/de/lang.php | 1 + lib/plugins/popularity/lang/de/lang.php | 1 + lib/plugins/revert/lang/de/lang.php | 1 + lib/plugins/usermanager/lang/de/lang.php | 1 + 7 files changed, 52 insertions(+), 36 deletions(-) diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index e61a95bce..e44845a90 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -16,6 +16,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -49,9 +50,6 @@ $lang['btn_back'] = 'Zurück'; $lang['btn_backlink'] = 'Links hierher'; $lang['btn_backtomedia'] = 'Zurück zur Dateiauswahl'; $lang['btn_subscribe'] = 'Änderungen abonnieren'; -$lang['btn_unsubscribe'] = 'Änderungen abbestellen'; -$lang['btn_subscribens'] = 'Namensraumänderungen abonnieren'; -$lang['btn_unsubscribens'] = 'Namensraumänderungen abbestellen'; $lang['btn_profile'] = 'Benutzerprofil'; $lang['btn_reset'] = 'Zurücksetzen'; $lang['btn_resendpwd'] = 'Sende neues Passwort'; @@ -126,6 +124,27 @@ $lang['mediafiles'] = 'Vorhandene Dateien in'; $lang['js']['searchmedia'] = 'Suche Dateien'; $lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen'; $lang['js']['hidedetails'] = 'Details ausblenden'; +$lang['js']['mediatitle'] = 'Linkeinstellungen'; +$lang['js']['mediadisplay'] = 'Linktyp'; +$lang['js']['mediaalign'] = 'Anordnung'; +$lang['js']['mediasize'] = 'Bildgrösse'; +$lang['js']['mediatarget'] = 'Linkziel'; +$lang['js']['mediaclose'] = 'Schliessen'; +$lang['js']['mediainsert'] = 'Einfügen'; +$lang['js']['mediadisplayimg'] = 'Bild anzeigen.'; +$lang['js']['mediadisplaylnk'] = 'Nur den Link anzeigen.'; +$lang['js']['mediasmall'] = 'Kleine Version'; +$lang['js']['mediamedium'] = 'Mittlere Version'; +$lang['js']['medialarge'] = 'Grosse Version'; +$lang['js']['mediaoriginal'] = 'Originalversion'; +$lang['js']['medialnk'] = 'Link zur Detailseite'; +$lang['js']['mediadirect'] = 'Direktlink zum Original'; +$lang['js']['medianolnk'] = 'Kein Link'; +$lang['js']['medianolink'] = 'Bild nicht verlinken'; +$lang['js']['medialeft'] = 'Das Bild links anordnen.'; +$lang['js']['mediaright'] = 'Das Bild in der Mitte anordnen.'; +$lang['js']['mediacenter'] = 'Das Bild rechts anordnen.'; +$lang['js']['medianoalign'] = 'Keine Anordnung benutzen.'; $lang['js']['nosmblinks'] = 'Das Verlinken von Windows-Freigaben funktioniert nur im Microsoft Internet Explorer. Der Link kann jedoch durch Kopieren und Einfügen verwendet werden.'; $lang['js']['linkwiz'] = 'Link-Assistent'; @@ -159,13 +178,11 @@ $lang['external_edit'] = 'Externe Bearbeitung'; $lang['summary'] = 'Zusammenfassung'; $lang['noflash'] = 'Das Adobe Flash Plugin wird benötigt, um diesen Ihnalt anzuzeigen.'; $lang['download'] = 'Schnipsel herunterladen'; - $lang['mail_newpage'] = 'Neue Seite:'; $lang['mail_changed'] = 'Seite geaendert:'; +$lang['mail_subscribe_list'] = 'Geänderte Seiten im Namensraum:'; $lang['mail_new_user'] = 'Neuer Benutzer:'; $lang['mail_upload'] = 'Datei hochgeladen:'; -$lang['mail_subscribe_list'] = 'Geänderte Seiten im Namensraum:'; - $lang['qb_bold'] = 'Fetter Text'; $lang['qb_italic'] = 'Kursiver Text'; $lang['qb_underl'] = 'Unterstrichener Text'; @@ -206,26 +223,22 @@ $lang['img_copyr'] = 'Copyright'; $lang['img_format'] = 'Format'; $lang['img_camera'] = 'Kamera'; $lang['img_keywords'] = 'Schlagwörter'; - -$lang['subscr_subscribe_success'] = '%s hat nun Änderungen der Seite %s abonniert'; -$lang['subscr_subscribe_error'] = '%s kann die Änderungen der Seite %s nicht abonnieren'; -$lang['subscr_subscribe_noaddress']= 'Weil Ihre E-Mail-Adresse fehlt, können Sie das Thema nicht abonnieren'; -$lang['subscr_unsubscribe_success']= 'Das Abonnement von %s für die Seite %s wurde aufgelöst'; -$lang['subscr_unsubscribe_error'] = 'Das Abonnement von %s für die Seite %s konnte nicht aufgelöst werden'; +$lang['subscr_subscribe_success'] = '%s hat nun Änderungen der Seite %s abonniert'; +$lang['subscr_subscribe_error'] = '%s kann die Änderungen der Seite %s nicht abonnieren'; +$lang['subscr_subscribe_noaddress'] = 'Weil Ihre E-Mail-Adresse fehlt, können Sie das Thema nicht abonnieren'; +$lang['subscr_unsubscribe_success'] = 'Das Abonnement von %s für die Seite %s wurde aufgelöst'; +$lang['subscr_unsubscribe_error'] = 'Das Abonnement von %s für die Seite %s konnte nicht aufgelöst werden'; $lang['subscr_already_subscribed'] = '%s hat %s bereits abonniert'; -$lang['subscr_not_subscribed'] = '%s hat %s nicht abonniert'; -// Manage page for subscriptions -$lang['subscr_m_not_subscribed'] = 'Sie haben die aktuelle Seite und ihre Namensräume nicht abonniert.'; -$lang['subscr_m_new_header'] = 'Abonnement hinzufügen'; -$lang['subscr_m_current_header'] = 'Aktuelle Abonnements'; -$lang['subscr_m_unsubscribe'] = 'Löschen'; -$lang['subscr_m_subscribe'] = 'Abonnieren'; -$lang['subscr_m_receive'] = 'Benachrichtigung'; - -$lang['subscr_style_every'] = 'Email bei jeder Bearbeitung'; -$lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite'; -$lang['subscr_style_list'] = 'Liste der geänderten Seiten'; - +$lang['subscr_not_subscribed'] = '%s hat %s nicht abonniert'; +$lang['subscr_m_not_subscribed'] = 'Sie haben die aktuelle Seite und ihre Namensräume nicht abonniert.'; +$lang['subscr_m_new_header'] = 'Abonnement hinzufügen'; +$lang['subscr_m_current_header'] = 'Aktuelle Abonnements'; +$lang['subscr_m_unsubscribe'] = 'Löschen'; +$lang['subscr_m_subscribe'] = 'Abonnieren'; +$lang['subscr_m_receive'] = 'Benachrichtigung'; +$lang['subscr_style_every'] = 'Email bei jeder Bearbeitung'; +$lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite'; +$lang['subscr_style_list'] = 'Liste der geänderten Seiten'; $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; @@ -265,14 +278,11 @@ $lang['mu_filetypes'] = 'Erlaubte Dateitypen'; $lang['mu_info'] = 'Dateien hochgeladen!'; $lang['mu_lasterr'] = 'Letzter Fehler:'; $lang['recent_global'] = 'Im Moment sehen Sie die Änderungen im Namensraum %s. Sie können auch die Änderungen im gesamten Wiki sehen.'; - -$lang['years'] = 'vor %d Jahren'; -$lang['months'] = 'vor %d Monaten'; -$lang['weeks'] = 'vor %d Wochen'; -$lang['days'] = 'vor %d Tagen'; -$lang['hours'] = 'vor %d Stunden'; -$lang['minutes'] = 'vor %d Minuten'; -$lang['seconds'] = 'vor %d Sekunden'; - -$lang['wordblock'] = 'Deine Bearbeitung wurde nicht gespeichert, da sie gesperrten Text enthielt (Spam).'; - +$lang['years'] = 'vor %d Jahren'; +$lang['months'] = 'vor %d Monaten'; +$lang['weeks'] = 'vor %d Wochen'; +$lang['days'] = 'vor %d Tagen'; +$lang['hours'] = 'vor %d Stunden'; +$lang['minutes'] = 'vor %d Minuten'; +$lang['seconds'] = 'vor %d Sekunden'; +$lang['wordblock'] = 'Deine Bearbeitung wurde nicht gespeichert, da sie gesperrten Text enthielt (Spam).'; diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php index 022ea6683..5bac3ac1c 100644 --- a/lib/plugins/acl/lang/de/lang.php +++ b/lib/plugins/acl/lang/de/lang.php @@ -16,6 +16,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['admin_acl'] = 'Zugangsverwaltung'; $lang['acl_group'] = 'Gruppe'; diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index 2075322d2..f5f68fab1 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -12,6 +12,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['menu'] = 'Konfiguration'; $lang['error'] = 'Die Einstellungen wurden wegen einer fehlerhaften Eingabe nicht gespeichert. diff --git a/lib/plugins/plugin/lang/de/lang.php b/lib/plugins/plugin/lang/de/lang.php index ff59cedce..e981f4a60 100644 --- a/lib/plugins/plugin/lang/de/lang.php +++ b/lib/plugins/plugin/lang/de/lang.php @@ -13,6 +13,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['menu'] = 'Plugins verwalten'; $lang['download'] = 'Neues Plugin herunterladen und installieren'; diff --git a/lib/plugins/popularity/lang/de/lang.php b/lib/plugins/popularity/lang/de/lang.php index d523be38f..1372e9d8a 100644 --- a/lib/plugins/popularity/lang/de/lang.php +++ b/lib/plugins/popularity/lang/de/lang.php @@ -10,6 +10,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['name'] = 'Popularitäts-Feedback (Eventuell längere Ladezeit)'; $lang['submit'] = 'Daten senden'; diff --git a/lib/plugins/revert/lang/de/lang.php b/lib/plugins/revert/lang/de/lang.php index d26413ac1..5dee8007b 100644 --- a/lib/plugins/revert/lang/de/lang.php +++ b/lib/plugins/revert/lang/de/lang.php @@ -11,6 +11,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['menu'] = 'Seiten wieder herstellen'; $lang['filter'] = 'Nach betroffenen Seiten suchen'; diff --git a/lib/plugins/usermanager/lang/de/lang.php b/lib/plugins/usermanager/lang/de/lang.php index 913537f06..db5158a4c 100644 --- a/lib/plugins/usermanager/lang/de/lang.php +++ b/lib/plugins/usermanager/lang/de/lang.php @@ -12,6 +12,7 @@ * @author Dirk Einecke * @author Blitzi94@gmx.de * @author Robert Bogenschneider + * @author Robert Bogenschneider */ $lang['menu'] = 'Benutzerverwaltung'; $lang['noauth'] = '(Authentifizierungssystem nicht verfügbar)'; -- cgit v1.2.3 From dfd343c40d85231f23176cfc6683eaccc0580a6d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 22 Mar 2010 21:51:00 +0100 Subject: fixed hashing in mediaSearch() The hash option did not hash the correct content for the found media files. This causes troubles in the sync plugin http://github.com/splitbrain/dokuwiki-plugin-sync/issues#issue/1 --- inc/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/search.php b/inc/search.php index 9e0964404..322c53e25 100644 --- a/inc/search.php +++ b/inc/search.php @@ -199,7 +199,7 @@ function search_media(&$data,$base,$file,$type,$lvl,$opts){ $info['isimg'] = false; } if($opts['hash']){ - $info['hash'] = md5(io_readFile(wikiFN($info['id']),false)); + $info['hash'] = md5(io_readFile(mediaFN($info['id']),false)); } $data[] = $info; -- cgit v1.2.3 From cf5b435169f81ea7da106ced2c6401bf83ac199f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 22 Mar 2010 23:37:31 +0100 Subject: Replace vertical tabs befor parsing XML in XMLRPC It seems that the 0x0B Vertical Tab character breaks the PHP XML parser. This workaround replaces the char with a space before parsing. Not ideal but good enough for now. --- inc/IXR_Library.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index afa496aed..4f8eb31c1 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -150,6 +150,7 @@ class IXR_Message { $this->message = str_replace('&', '&', $this->message); $this->message = str_replace(''', ''', $this->message); $this->message = str_replace('"', '"', $this->message); + $this->message = str_replace("\x0b", ' ', $this->message); //vertical tab if (trim($this->message) == '') { return false; } -- cgit v1.2.3 From 80fcb26867ee7f89b0c1e7db9c9e59dc4c9aeb58 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 23 Mar 2010 11:00:20 +0100 Subject: Rewrite wikitext slicing for section edits This commit adresses two issues: * rawWikiSlices used to drop the first byte of the suffix (usually a newline, but custom section edits may not be bound to newlines) * con used to insert way too much newlines: the newline that got dropped by the bug in rawWikiSlices and one additional newline in prefix and text each if they are not terminated by a newline. Now con only inserts newlines if there are absolutely no newlines between prefix and text and text and suffix. --- inc/common.php | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/inc/common.php b/inc/common.php index 5904dc69b..2877bc00e 100644 --- a/inc/common.php +++ b/inc/common.php @@ -894,22 +894,24 @@ function parsePageTemplate($data) { * @author Andreas Gohr */ function rawWikiSlices($range,$id,$rev=''){ - list($from,$to) = explode('-',$range,2); $text = io_readWikiPage(wikiFN($id, $rev), $id, $rev); - if(!$from) $from = 0; - if(!$to) $to = strlen($text)+1; - $slices[0] = substr($text,0,$from-1); - $slices[1] = substr($text,$from-1,$to-$from); - $slices[2] = substr($text,$to); + // Parse range + list($from,$to) = explode('-',$range,2); + // Make range zero-based, use defaults if marker is missing + $from = !$from ? 0 : ($from - 1); + $to = !$to ? strlen($text) : ($to - 1); + $slices[0] = substr($text, 0, $from); + $slices[1] = substr($text, $from, $to-$from); + $slices[2] = substr($text, $to); return $slices; } /** * Joins wiki text slices * - * function to join the text slices with correct lineendings again. + * function to join the text slices. * When the pretty parameter is set to true it adds additional empty * lines between sections if needed (used on saving). * @@ -917,13 +919,16 @@ function rawWikiSlices($range,$id,$rev=''){ */ function con($pre,$text,$suf,$pretty=false){ if($pretty){ - if($pre && substr($pre,-1) != "\n") $pre .= "\n"; - if($suf && substr($text,-1) != "\n") $text .= "\n"; + if ($pre !== '' && substr($pre, -1) !== "\n" && + substr($text, 0, 1) !== "\n") { + $pre .= "\n"; + } + if ($suf !== '' && substr($text, -1) !== "\n" && + substr($suf, 0, 1) !== "\n") { + $text .= "\n"; + } } - // Avoid double newline above section when saving section edit - //if($pre) $pre .= "\n"; - if($suf) $text .= "\n"; return $pre.$text.$suf; } -- cgit v1.2.3 From 12c96ace70f7a177cc40000f905fa3cab633c04a Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 23 Mar 2010 12:06:41 +0100 Subject: Send edit target in HTML_EDITFORM_SELECTION --- inc/html.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/inc/html.php b/inc/html.php index e2128f2bc..088f8d3c5 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1173,9 +1173,13 @@ function html_edit(){ $data = array('form' => $form, 'wr' => $wr, 'media_manager' => true, + 'target' => (isset($_REQUEST['target']) && $wr && + $RANGE !== '') ? $_REQUEST['target'] : 'section', 'intro_locale' => $include); - if ($wr && $RANGE !== '') { - // Only emit event if page is writable and section edit data is valid. + + if ($data['target'] !== 'section') { + // Only emit event if page is writable, section edit data is valid and + // edit target is not section. trigger_event('HTML_EDIT_FORMSELECTION', $data, 'html_edit_form', true); } else { html_edit_form($data); @@ -1237,10 +1241,15 @@ function html_edit(){ */ function html_edit_form($param) { global $TEXT; - extract($param); + + if ($param['target'] !== 'section') { + msg('No editor for edit target ' . $param['target'] . ' found.', -1); + } + $attr = array('tabindex'=>'1'); - if (!$wr) $attr['readonly'] = 'readonly'; - $form->addElement(form_makeWikiText($TEXT, $attr)); + if (!$param['wr']) $attr['readonly'] = 'readonly'; + + $param['form']->addElement(form_makeWikiText($TEXT, $attr)); } /** -- cgit v1.2.3 From ebf65d37ec50cce097ad8cddfb43acc5ea5aea21 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 17 Mar 2010 16:40:36 +0100 Subject: Rewrite p_get_metadata to not issue a E_Notice --- inc/parserutils.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/inc/parserutils.php b/inc/parserutils.php index 4102ee711..cb8bc079d 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -222,7 +222,7 @@ function p_get_instructions($text){ * * @author Esther Brunner */ -function p_get_metadata($id, $key=false, $render=false){ +function p_get_metadata($id, $key='', $render=false){ global $ID, $INFO, $cache_metadata; // cache the current page @@ -241,19 +241,17 @@ function p_get_metadata($id, $key=false, $render=false){ if (!empty($INFO) && ($id == $INFO['id'])) { $INFO['meta'] = $meta['current']; } } - // filter by $key - if ($key){ - list($key, $subkey) = explode(' ', $key, 2); - $subkey = trim($subkey); + $val = $meta['current']; - if ($subkey) { - return isset($meta['current'][$key][$subkey]) ? $meta['current'][$key][$subkey] : null; + // filter by $key + foreach(explode(' ', trim($key), 2) as $cur_key) { + $cur_key = trim($cur_key); + if (!isset($val[$cur_key])) { + return null; } - - return isset($meta['current'][$key]) ? $meta['current'][$key] : null; + $val = $val[$cur_key]; } - - return $meta['current']; + return $val; } /** -- cgit v1.2.3 From 689cba4d4ba37bdcb57ea6c6bbf55e7546d428c3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 23 Mar 2010 15:23:35 +0100 Subject: No warning for an undefined variable --- inc/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/auth.php b/inc/auth.php index 33626cf80..6804c2696 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -931,7 +931,7 @@ function auth_cryptPassword($clear,$method='',$salt=null){ $magic = '1'; case 'apr1': //from http://de.php.net/manual/en/function.crypt.php#73619 comment by - if(!$magic) $magic = 'apr1'; + if(!defined($magic)) $magic = 'apr1'; $salt = substr($salt,0,8); $len = strlen($clear); $text = $clear.'$'.$magic.'$'.$salt; -- cgit v1.2.3 From b0ffdb5e96bb2bdbf27087b2f1335f7949ab8598 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 23 Mar 2010 15:22:21 +0100 Subject: Make tests PHP 5.3 compatible --- _test/cases/inc/html_hilight.test.php | 4 +--- _test/cases/inc/parser/xhtml_htmlphp.test.php | 4 +--- _test/cases/lib/exe/js_js_compress.test.php | 4 ++-- _test/lib/testmanager.php | 3 +-- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/_test/cases/inc/html_hilight.test.php b/_test/cases/inc/html_hilight.test.php index 85f224b6e..cc5579c71 100644 --- a/_test/cases/inc/html_hilight.test.php +++ b/_test/cases/inc/html_hilight.test.php @@ -2,9 +2,7 @@ require_once DOKU_INC.'inc/html.php'; -if ( !extension_loaded('runkit') && - !@dl('runkit.dll') && - !@dl('runkit.so' ) ){ +if (!extension_loaded('runkit')) { SimpleTestOptions::ignore('html_hilight_test'); trigger_error('Skipping html_hilight_test - http://www.php.net/runkit required'); } diff --git a/_test/cases/inc/parser/xhtml_htmlphp.test.php b/_test/cases/inc/parser/xhtml_htmlphp.test.php index 3493bab4d..65d64e579 100644 --- a/_test/cases/inc/parser/xhtml_htmlphp.test.php +++ b/_test/cases/inc/parser/xhtml_htmlphp.test.php @@ -5,9 +5,7 @@ require_once 'parser.inc.php'; require_once DOKU_INC.'inc/parser/xhtml.php'; require_once DOKU_INC.'inc/geshi.php'; -if ( !extension_loaded('runkit') && - !@dl('runkit.dll') && - !@dl('runkit.so' ) ){ +if (!extension_loaded('runkit')) { SimpleTestOptions::ignore('xhtml_htmlphp_test'); trigger_error('Skipping xhtml_htmlphp_test - http://www.php.net/runkit required'); } diff --git a/_test/cases/lib/exe/js_js_compress.test.php b/_test/cases/lib/exe/js_js_compress.test.php index b7de9257d..9051dfb01 100644 --- a/_test/cases/lib/exe/js_js_compress.test.php +++ b/_test/cases/lib/exe/js_js_compress.test.php @@ -71,7 +71,7 @@ class js_js_compress_test extends UnitTestCase { function test_dquotrunaway(){ $text = 'var foo="Now where does it end'; - $this->assertEqual(js_compress($text), "$text"); + $this->assertEqual(js_compress($text), $text); } function test_squot1(){ @@ -81,7 +81,7 @@ class js_js_compress_test extends UnitTestCase { function test_squotrunaway(){ $text = "var foo='Now where does it end"; - $this->assertEqual(js_compress($text), "$text"); + $this->assertEqual(js_compress($text), $text); } function test_nl1(){ diff --git a/_test/lib/testmanager.php b/_test/lib/testmanager.php index def86ca27..14cc20bf3 100644 --- a/_test/lib/testmanager.php +++ b/_test/lib/testmanager.php @@ -7,7 +7,7 @@ define('TEST_GROUPS',realpath(dirname(__FILE__).'/../cases')); define('TEST_CASES',realpath(dirname(__FILE__).'/../cases')); // try to load runkit extension -if (!extension_loaded('runkit')) { +if (!extension_loaded('runkit') && function_exists('dl')) { if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) { @dl('php_runkit.dll'); } else { @@ -15,7 +15,6 @@ if (!extension_loaded('runkit')) { } } - class TestManager { var $_testcase_extension = '.test.php'; var $_grouptest_extension = '.group.php'; -- cgit v1.2.3 From b7eccc60d91f1a719b3204da92d4becb2928210e Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 24 Mar 2010 11:26:16 +0100 Subject: Keep edit target information for preview --- inc/html.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/html.php b/inc/html.php index 088f8d3c5..a8761ad4a 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1188,6 +1188,7 @@ function html_edit(){ echo p_locale_xhtml($data['intro_locale']); } + $form->addHidden('target', $data['target']); $form->addElement(form_makeOpenTag('div', array('id'=>'wiki__editbar'))); $form->addElement(form_makeOpenTag('div', array('id'=>'size__ctl'))); $form->addElement(form_makeCloseTag('div')); -- cgit v1.2.3 From 3371a8b471eea344a99f015cdf0ef9089b1f20ef Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 24 Mar 2010 11:25:30 +0100 Subject: Fixed selffail. --- inc/auth.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/auth.php b/inc/auth.php index 6804c2696..ace379214 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -931,7 +931,7 @@ function auth_cryptPassword($clear,$method='',$salt=null){ $magic = '1'; case 'apr1': //from http://de.php.net/manual/en/function.crypt.php#73619 comment by - if(!defined($magic)) $magic = 'apr1'; + if(!isset($magic)) $magic = 'apr1'; $salt = substr($salt,0,8); $len = strlen($clear); $text = $clear.'$'.$magic.'$'.$salt; -- cgit v1.2.3 From 229529655f061863ec76db9ea557fef8b1a5161b Mon Sep 17 00:00:00 2001 From: YoBoY Date: Tue, 23 Mar 2010 22:50:41 +0100 Subject: Limiting use of readdir in the idx_indexLengths function (v2). Each searches on the wiki use this function. Scanning the index directory eachtime is time consuming with a constant series of disk access. Switching a normal search to use file_exists 1 or more times, and not readdir all the directory. Switching a wildcard search to use a lengths.idx file containing all the word lengths used in the wiki, file generated if a new configuration parameter $conf[readdircache] is not 0 and fixed to a time in second. Creation of a new function idx_listIndexLengths to do this part. --- _test/cases/inc/indexer_idx_indexlengths.test.php | 121 ++++++++++++++++++++++ conf/dokuwiki.php | 1 + inc/indexer.php | 85 +++++++++++---- lib/plugins/config/lang/en/lang.php | 1 + lib/plugins/config/settings/config.metadata.php | 1 + 5 files changed, 189 insertions(+), 20 deletions(-) create mode 100644 _test/cases/inc/indexer_idx_indexlengths.test.php diff --git a/_test/cases/inc/indexer_idx_indexlengths.test.php b/_test/cases/inc/indexer_idx_indexlengths.test.php new file mode 100644 index 000000000..d1339a111 --- /dev/null +++ b/_test/cases/inc/indexer_idx_indexlengths.test.php @@ -0,0 +1,121 @@ +assertIdentical($result, $ref); + } + + /** + * Test the function with an array of values + */ + function test_moreWords() { + global $conf; + $filter = array( 4 => array('test'), 8 => array('dokuwiki'), 7 => array('powered')); + // more words should return the indexes + $ref = array(4, 7, 8); + sort($ref); + $result = idx_indexLengths(&$filter); + sort($result); + $this->assertIdentical($result, $ref); + } + + /** + * Test a minimal value in case of wildcard search + */ + function test_minValue() { + global $conf; + $filter = 5; + // construction of the list of the index to compare + $dir = @opendir($conf['indexdir']); + $ref = array(); + while (($f = readdir($dir)) !== false) { + if (substr($f,0,1) == 'i' && substr($f,-4) == '.idx'){ + $i = substr($f,1,-4); + if (is_numeric($i) && $i >= $filter) + $ref[] = (int)$i; + } + } + closedir($dir); + sort($ref); + $result = idx_indexLengths(&$filter); + sort($result); + $this->assertIdentical($result, $ref); + } +} + +class indexer_idx_indexlengths_time extends UnitTestCase { + + /** + * Test the time improvments of the new function + * Time reference for 10000 call oneWords: 4,6s + * It's 90% faster + */ + function test_oneWord(){ + global $conf; + $filter[8] = array('dokuwiki'); + $start = microtime(true); + for ($i = 0; $i < 10000; $i++) { + $result = idx_indexLengths(&$filter); + } + $end = microtime(true); + $time = $end - $start; + $timeref = 4.6*0.10; // actual execution time of 4,6s for 10000 calls + echo "1) 10% ref : $timeref -> $time \n"; + $this->assertTrue($time < $timeref); + } + + /** + * Test the time improvments of the new function + * Time reference for 10000 call moreWords: 4,6s + * It's 90% faster + */ + function test_moreWords() { + global $conf; + $filter = array( 4 => array('test'), 8 => array('dokuwiki'), 7 => array('powered')); + // more words should return the indexes + $start = microtime(true); + for ($i = 0; $i < 10000; $i++) { + $result = idx_indexLengths(&$filter); + } + $end = microtime(true); + $time = $end - $start; + $timeref = 4.6*0.10; // actual execution time of 4,6s for 10000 calls + echo "2) 10% ref : $timeref -> $time \n"; + $this->assertTrue($time < $timeref); + } + + /** + * Test the time improvments of the new function + * Time reference for 10000 call on minValue: 4,9s + * Sould be at least 65% faster + * Test fail with no cache + */ + function test_minValue() { + global $conf; + $filter = 5; + $start = microtime(true); + for ($i = 0; $i < 10000; $i++) { + $result = idx_indexLengths(&$filter); + } + $end = microtime(true); + $time = $end - $start; + $timeref = 4.9 * 0.35; // actual execution time of 4,9s for 10000 calls + echo "3) 35% ref : $timeref -> $time \n"; + $this->assertTrue($time < $timeref); + } +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index 19397861c..d3823eb94 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -156,3 +156,4 @@ $conf['ftp']['user'] = 'user'; $conf['ftp']['pass'] = 'password'; $conf['ftp']['root'] = '/home/user/htdocs'; +$conf['readdircache'] = 0; //time cache in second for the readdir opération, 0 to deactivate. diff --git a/inc/indexer.php b/inc/indexer.php index 07b67c014..54277a88c 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -410,41 +410,86 @@ function idx_updateIndexLine($line,$pid,$count){ return join(':',$updated)."\n"; } +/** + * Get the list of lenghts indexed in the wiki + * + * Read the index directory or a cache file and returns + * a sorted array of lengths of the words used in the wiki. + * + * @author YoBoY + */ +function idx_listIndexLengths() { + global $conf; + // testing what we have to do, create a cache file or not. + if ($conf['readdircache'] == 0) { + $docache = false; + } else { + clearstatcache(); + if (@file_exists($conf['indexdir'].'/lengths.idx') and (time() < @filemtime($conf['indexdir'].'/lengths.idx') + $conf['readdircache'])) { + if (($lengths = @file($conf['indexdir'].'/lengths.idx', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) ) !== false) { + $idx = array(); + foreach ( $lengths as $length) { + $idx[] = (int)$length; + } + return $idx; + } + } + $docache = true; + } + + if ($conf['readdircache'] == 0 or $docache ) { + $dir = @opendir($conf['indexdir']); + if($dir===false) + return array(); + $idx[] = array(); + while (($f = readdir($dir)) !== false) { + if (substr($f,0,1) == 'i' && substr($f,-4) == '.idx'){ + $i = substr($f,1,-4); + if (is_numeric($i)) + $idx[] = (int)$i; + } + } + closedir($dir); + sort($idx); + // we save this in a file. + if ($docache === true) { + $handle = @fopen($conf['indexdir'].'/lengths.idx','w'); + @fwrite($handle, implode("\n",$idx)); + @fclose($handle); + } + return $idx; + } + + return array(); +} + /** * Get the word lengths that have been indexed. * * Reads the index directory and returns an array of lengths * that there are indices for. * - * @author Tom N Harris + * @author YoBoY */ function idx_indexLengths(&$filter){ global $conf; - $dir = @opendir($conf['indexdir']); - if($dir===false) - return array(); $idx = array(); - if(is_array($filter)){ - while (($f = readdir($dir)) !== false) { - if (substr($f,0,1) == 'i' && substr($f,-4) == '.idx'){ - $i = substr($f,1,-4); - if (is_numeric($i) && isset($filter[(int)$i])) - $idx[] = (int)$i; + if (is_array($filter)){ + // testing if index files exists only + foreach ($filter as $key => $value) { + if (@file_exists($conf['indexdir']."/i$key.idx")) { + $idx[] = $key; } } - }else{ - // Exact match first. - if(@file_exists($conf['indexdir']."/i$filter.idx")) - $idx[] = $filter; - while (($f = readdir($dir)) !== false) { - if (substr($f,0,1) == 'i' && substr($f,-4) == '.idx'){ - $i = substr($f,1,-4); - if (is_numeric($i) && $i > $filter) - $idx[] = (int)$i; + } else { + $lengths = idx_listIndexLengths(); + foreach ( $lengths as $key => $length) { + // we keep all the values equal or superior + if ((int)$length >= (int)$filter) { + $idx[] = $length; } } } - closedir($dir); return $idx; } diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 7198ca36d..2bcd17c12 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -234,3 +234,4 @@ $lang['useheading_o_navigation'] = 'Navigation Only'; $lang['useheading_o_content'] = 'Wiki Content Only'; $lang['useheading_o_1'] = 'Always'; +$lang['readdircache'] = 'Maximum age for readdir cache (sec)'; diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index 2f91b0ad8..cea191f56 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -188,6 +188,7 @@ $meta['rss_show_summary'] = array('onoff'); $meta['broken_iua'] = array('onoff'); $meta['xsendfile'] = array('multichoice','_choices' => array(0,1,2,3)); $meta['renderer_xhtml'] = array('renderer','_format' => 'xhtml','_choices' => array('xhtml')); +$meta['readdircache'] = array('numeric'); $meta['_network'] = array('fieldset'); $meta['proxy____host'] = array('string','_pattern' => '#^(|[a-z0-9\-\.+]+)$#i'); -- cgit v1.2.3 From f1986589078b5e2e3aecc37d8f28b03caa3b8c17 Mon Sep 17 00:00:00 2001 From: Michael Klier Date: Fri, 26 Mar 2010 11:43:35 +0100 Subject: moved plugincontroller and event handler creation to init.php --- inc/events.php | 4 ---- inc/init.php | 12 ++++++++++++ inc/pluginutils.php | 8 -------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/inc/events.php b/inc/events.php index 1c82af003..621cb64c1 100644 --- a/inc/events.php +++ b/inc/events.php @@ -195,7 +195,3 @@ function trigger_event($name, &$data, $action=null, $canPreventDefault=true) { $evt = new Doku_Event($name, $data); return $evt->trigger($action, $canPreventDefault); } - -// create the event handler -global $EVENT_HANDLER; -$EVENT_HANDLER = new Doku_Event_Handler(); diff --git a/inc/init.php b/inc/init.php index ae44ad1a9..3a9988fcf 100644 --- a/inc/init.php +++ b/inc/init.php @@ -246,9 +246,21 @@ init_files(); scriptify(DOKU_CONF.'users.auth'); scriptify(DOKU_CONF.'acl.auth'); +// setup plugin controller class (can be overwritten in preload.php) +$plugin_types = array('admin','syntax','action','renderer', 'helper'); +global $plugin_controller_class, $plugin_controller; +if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller'; + // load libraries require_once(DOKU_INC.'inc/load.php'); +// initialize plugin controller +$plugin_controller = new $plugin_controller_class(); + +// initialize the event handler +global $EVENT_HANDLER; +$EVENT_HANDLER = new Doku_Event_Handler(); + // setup authentication system if (!defined('NOSESSION')) { auth_setup(); diff --git a/inc/pluginutils.php b/inc/pluginutils.php index a8656a96a..da0704bec 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -9,13 +9,6 @@ // plugin related constants if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/'); -$plugin_types = array('admin','syntax','action','renderer', 'helper'); - -global $plugin_controller_class, $plugin_controller; -if (empty($plugin_controller_class)) $plugin_controller_class = 'Doku_Plugin_Controller'; - -$plugin_controller = new $plugin_controller_class(); - /** * Original plugin functions, remain for backwards compatibility */ @@ -43,4 +36,3 @@ function plugin_directory($plugin) { global $plugin_controller; return $plugin_controller->get_directory($plugin); } - -- cgit v1.2.3 From 7733c314de594b92b59e2202490ff24f039d632b Mon Sep 17 00:00:00 2001 From: Michael Klier Date: Fri, 26 Mar 2010 11:56:29 +0100 Subject: replaced readdir() with glob() in metaFiles() --- inc/pageutils.php | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/inc/pageutils.php b/inc/pageutils.php index ef09dc7b6..cd3cf1fce 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -318,15 +318,7 @@ function metaFiles($id){ $ns = getNS($id); $dir = ($ns) ? metaFN($ns,'').'/' : metaFN($ns,''); $files = array(); - - $dh = @opendir($dir); - if(!$dh) return $files; - while(($file = readdir($dh)) !== false){ - if(strpos($file,$name.'.') === 0 && !is_dir($dir.$file)) - $files[] = $dir.$file; - } - closedir($dh); - + $files = glob($dir.$name.'.*'); return $files; } -- cgit v1.2.3 From 2e61e4df6fa5a971de75b3cefdb0912c9fac7c79 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 25 Mar 2010 11:45:01 +0100 Subject: Fix JavaScript for change detection after preview --- inc/html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/html.php b/inc/html.php index a8761ad4a..4a4cf2739 100644 --- a/inc/html.php +++ b/inc/html.php @@ -1217,9 +1217,9 @@ function html_edit(){ if ($wr) { // sets changed to true when previewed - echo ''; + echo '//-->' . NL; } ?>
-- cgit v1.2.3 From 26ee1edf9c1750df399baebcb70afb49778b4a92 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 25 Mar 2010 15:01:25 +0100 Subject: Rewrite JavaScript change check --- inc/lang/ar/lang.php | 2 +- inc/lang/bg/lang.php | 2 +- inc/lang/ca-valencia/lang.php | 2 +- inc/lang/ca/lang.php | 2 +- inc/lang/cs/lang.php | 2 +- inc/lang/da/lang.php | 2 +- inc/lang/de-informal/lang.php | 2 +- inc/lang/de/lang.php | 2 +- inc/lang/el/lang.php | 2 +- inc/lang/en/lang.php | 2 +- inc/lang/eo/lang.php | 2 +- inc/lang/es/lang.php | 2 +- inc/lang/et/lang.php | 2 +- inc/lang/eu/lang.php | 2 +- inc/lang/fa/lang.php | 2 +- inc/lang/fi/lang.php | 2 +- inc/lang/fo/lang.php | 2 +- inc/lang/fr/lang.php | 2 +- inc/lang/gl/lang.php | 2 +- inc/lang/he/lang.php | 2 +- inc/lang/hr/lang.php | 2 +- inc/lang/hu/lang.php | 2 +- inc/lang/ia/lang.php | 2 +- inc/lang/id-ni/lang.php | 2 +- inc/lang/id/lang.php | 2 +- inc/lang/it/lang.php | 2 +- inc/lang/ja/lang.php | 2 +- inc/lang/km/lang.php | 2 +- inc/lang/ko/lang.php | 2 +- inc/lang/ku/lang.php | 2 +- inc/lang/lb/lang.php | 2 +- inc/lang/lt/lang.php | 2 +- inc/lang/lv/lang.php | 2 +- inc/lang/mg/lang.php | 2 +- inc/lang/mk/lang.php | 2 +- inc/lang/mr/lang.php | 2 +- inc/lang/ne/lang.php | 2 +- inc/lang/nl/lang.php | 2 +- inc/lang/no/lang.php | 2 +- inc/lang/pl/lang.php | 2 +- inc/lang/pt-br/lang.php | 2 +- inc/lang/pt/lang.php | 2 +- inc/lang/ro/lang.php | 2 +- inc/lang/ru/lang.php | 2 +- inc/lang/sk/lang.php | 2 +- inc/lang/sl/lang.php | 2 +- inc/lang/sq/lang.php | 2 +- inc/lang/sr/lang.php | 2 +- inc/lang/sv/lang.php | 2 +- inc/lang/th/lang.php | 2 +- inc/lang/tr/lang.php | 2 +- inc/lang/uk/lang.php | 2 +- inc/lang/vi/lang.php | 2 +- inc/lang/zh-tw/lang.php | 2 +- inc/lang/zh/lang.php | 2 +- lib/exe/js.php | 1 - lib/scripts/edit.js | 59 +++++++++++++++++++------------------------ 57 files changed, 81 insertions(+), 89 deletions(-) diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 2ba1f7e9f..fca67ce9d 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -88,7 +88,7 @@ $lang['txt_overwrt'] = 'الكتابة على ملف موجود بنف $lang['lockedby'] = 'حالياً مقفول بواسطة'; $lang['lockexpire'] = 'سينتهي القفل في'; $lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة. لتجنب التعارض استخدم زر استعراض لبدأ القفل من جديد'; -$lang['notsavedyet'] = 'التعديلات التي لم تحفظ ستفقد. أموافق ؟'; +$lang['js']['notsavedyet'] = "التعديلات التي لم تحفظ ستفقد. أموافق ؟"; $lang['rssfailed'] = 'خطأ ما حدث أثناء جلب ملف التغذية:'; $lang['nothingfound'] = 'لا يوجد شيء'; $lang['mediaselect'] = 'ملفات الوسائط المتعددة'; diff --git a/inc/lang/bg/lang.php b/inc/lang/bg/lang.php index 2c306095d..053a7f1ba 100644 --- a/inc/lang/bg/lang.php +++ b/inc/lang/bg/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = 'Запис върху съществуващ $lang['lockedby'] = 'В момента е заключено от'; $lang['lockexpire'] = 'Затварянето изтича в'; $lang['willexpire'] = 'Затварянето на страницата за редактиране изтича след минута.\nЗа да избегнете противоречия, използвайте бутона, за да рестартирате броячът за затваряне.'; -$lang['notsavedyet'] = 'Незапазените промени ще бъдат загубени.\nИскате ли да продължите?'; +$lang['js']['notsavedyet'] = "Незапазените промени ще бъдат загубени.\nИскате ли да продължите?"; $lang['rssfailed'] = 'Възникна грешка при вземането на този feed: '; $lang['nothingfound'] = 'Нищо не бе намерено.'; $lang['mediaselect'] = 'Медийни файлове'; diff --git a/inc/lang/ca-valencia/lang.php b/inc/lang/ca-valencia/lang.php index d85cc1c06..d49c900fa 100644 --- a/inc/lang/ca-valencia/lang.php +++ b/inc/lang/ca-valencia/lang.php @@ -95,7 +95,7 @@ $lang['txt_overwrt'] = 'Sobreescriure archius existents'; $lang['lockedby'] = 'Actualment bloquejat per'; $lang['lockexpire'] = 'El bloqueig venç a les'; $lang['willexpire'] = 'El seu bloqueig per a editar esta pàgina vencerà en un minut.\nPer a evitar conflictes utilise el botó de vista prèvia i reiniciarà el contador.'; -$lang['notsavedyet'] = 'Els canvis no guardats es perdran.\n¿Segur que vol continuar?'; +$lang['js']['notsavedyet'] = "Els canvis no guardats es perdran.\n¿Segur que vol continuar?"; $lang['rssfailed'] = 'Ha ocorregut un erro al solicitar este canal: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; $lang['mediaselect'] = 'Archius de mijos'; diff --git a/inc/lang/ca/lang.php b/inc/lang/ca/lang.php index 778123445..19fb7c556 100644 --- a/inc/lang/ca/lang.php +++ b/inc/lang/ca/lang.php @@ -96,7 +96,7 @@ $lang['txt_overwrt'] = 'Sobreescriu el fitxer actual'; $lang['lockedby'] = 'Actualment blocat per:'; $lang['lockexpire'] = 'Venciment del blocatge:'; $lang['willexpire'] = 'El blocatge per a editar aquesta pàgina venç d\'aquí a un minut.\nUtilitzeu la visualització prèvia per reiniciar el rellotge i evitar conflictes.'; -$lang['notsavedyet'] = 'Heu fet canvis que es perdran si no els deseu.\nVoleu continuar?'; +$lang['js']['notsavedyet'] = "Heu fet canvis que es perdran si no els deseu.\nVoleu continuar?"; $lang['rssfailed'] = 'S\'ha produït un error en recollir aquesta alimentació: '; $lang['nothingfound'] = 'No s\'ha trobat res.'; $lang['mediaselect'] = 'Selecció de fitxers'; diff --git a/inc/lang/cs/lang.php b/inc/lang/cs/lang.php index 32c61692d..0b5530f0f 100644 --- a/inc/lang/cs/lang.php +++ b/inc/lang/cs/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = 'Přepsat existující soubor'; $lang['lockedby'] = 'Právě zamknuto:'; $lang['lockexpire'] = 'Zámek vyprší:'; $lang['willexpire'] = 'Váš zámek pro editaci za chvíli vyprší.\nAbyste předešli konfliktům, stiskněte tlačítko Náhled a zámek se prodlouží.'; -$lang['notsavedyet'] = 'Jsou tu neuložené změny, které budou ztraceny.\nChcete opravdu pokračovat?'; +$lang['js']['notsavedyet'] = "Jsou tu neuložené změny, které budou ztraceny.\nChcete opravdu pokračovat?"; $lang['rssfailed'] = 'Nastala chyba při vytváření tohoto RSS: '; $lang['nothingfound'] = 'Nic nenalezeno.'; $lang['mediaselect'] = 'Výběr dokumentu'; diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 56239718b..7014a41fa 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -100,7 +100,7 @@ $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; $lang['lockedby'] = 'Midlertidig låst af'; $lang['lockexpire'] = 'Lås udløber kl.'; $lang['willexpire'] = 'Din lås på dette dokument udløber om et minut.\nTryk på Forhåndsvisning-knappen for at undgå konflikter.'; -$lang['notsavedyet'] = 'Der er lavet ændringer i dokumentet. Hvis du fortsætter vil ændringerne gå tabt.\nØnsker du at fortsætte?'; +$lang['js']['notsavedyet'] = "Der er lavet ændringer i dokumentet. Hvis du fortsætter vil ændringerne gå tabt.\nØnsker du at fortsætte?"; $lang['rssfailed'] = 'Der opstod en fejl ved indhentning af: '; $lang['nothingfound'] = 'Søgningen gav intet resultat.'; $lang['mediaselect'] = 'Vælg mediefil'; diff --git a/inc/lang/de-informal/lang.php b/inc/lang/de-informal/lang.php index de9eea1eb..2060e1769 100644 --- a/inc/lang/de-informal/lang.php +++ b/inc/lang/de-informal/lang.php @@ -105,7 +105,7 @@ $lang['txt_overwrt'] = 'Bestehende Datei überschreiben'; $lang['lockedby'] = 'Momentan gesperrt von'; $lang['lockexpire'] = 'Sperre läuft ab am'; $lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, solltest du sie durch einen Klick auf den Vorschau-Knopf verlängern.'; -$lang['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?'; +$lang['js']['notsavedyet'] = "Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?"; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; $lang['mediaselect'] = 'Dateiauswahl'; diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index e44845a90..2ffe8af99 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -103,7 +103,7 @@ $lang['txt_overwrt'] = 'Bestehende Datei überschreiben'; $lang['lockedby'] = 'Momentan gesperrt von'; $lang['lockexpire'] = 'Sperre läuft ab am'; $lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.'; -$lang['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?'; +$lang['js']['notsavedyet'] = "Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?"; $lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; $lang['nothingfound'] = 'Nichts gefunden.'; $lang['mediaselect'] = 'Dateiauswahl'; diff --git a/inc/lang/el/lang.php b/inc/lang/el/lang.php index 7aee3161d..1661ea829 100644 --- a/inc/lang/el/lang.php +++ b/inc/lang/el/lang.php @@ -95,7 +95,7 @@ $lang['txt_overwrt'] = 'Αντικατάσταση υπάρχοντο $lang['lockedby'] = 'Προσωρινά κλειδωμένο από'; $lang['lockexpire'] = 'Το κλείδωμα λήγει στις'; $lang['willexpire'] = 'Το κλείδωμά σας για την επεξεργασία αυτής της σελίδας θα λήξει σε ένα λεπτό.\n Για να το ανανεώσετε χρησιμοποιήστε την επιλογή Προεπισκόπηση.'; -$lang['notsavedyet'] = 'Οι μη αποθηκευμένες αλλαγές θα χαθούν.\nΘέλετε να συνεχίσετε?'; +$lang['js']['notsavedyet'] = "Οι μη αποθηκευμένες αλλαγές θα χαθούν.\nΘέλετε να συνεχίσετε?"; $lang['rssfailed'] = 'Εμφανίστηκε κάποιο σφάλμα κατά την ανάγνωση αυτού του feed: '; $lang['nothingfound'] = 'Δεν βρέθηκαν σχετικά αποτελέσματα.'; $lang['mediaselect'] = 'Επιλογή Αρχείων'; diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index d85ceb3db..2dfed59dc 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -100,7 +100,7 @@ $lang['lockedby'] = 'Currently locked by'; $lang['lockexpire'] = 'Lock expires at'; $lang['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; -$lang['notsavedyet'] = 'Unsaved changes will be lost.\nReally continue?'; +$lang['js']['notsavedyet'] = "Unsaved changes will be lost.\nReally continue?"; $lang['rssfailed'] = 'An error occurred while fetching this feed: '; $lang['nothingfound']= 'Nothing was found.'; diff --git a/inc/lang/eo/lang.php b/inc/lang/eo/lang.php index 012fea5fe..1d60fee62 100644 --- a/inc/lang/eo/lang.php +++ b/inc/lang/eo/lang.php @@ -99,7 +99,7 @@ $lang['txt_overwrt'] = 'Anstataŭigi ekzistantan dosieron'; $lang['lockedby'] = 'Nune ŝlosita de'; $lang['lockexpire'] = 'Ŝlosado ĉesos en'; $lang['willexpire'] = 'Vi povos redakti ĉi tiun paĝon post unu minuto.\nSe vi volas nuligi tempkontrolon de la ŝlosado, do premu butonon "Antaŭrigardi".'; -$lang['notsavedyet'] = 'Ne konservitaj modifoj perdiĝos.\nĈu vi certe volas daŭrigi la procezon?'; +$lang['js']['notsavedyet'] = "Ne konservitaj modifoj perdiĝos.\nĈu vi certe volas daŭrigi la procezon?"; $lang['rssfailed'] = 'Okazis eraro dum ricevado de la novaĵ-fluo: '; $lang['nothingfound'] = 'Ankoraŭ nenio troviĝas tie ĉi.'; $lang['mediaselect'] = 'Elekto de aŭdvidaĵa dosiero'; diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index 2d473484d..d519ebc80 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -109,7 +109,7 @@ $lang['txt_overwrt'] = 'Sobreescribir archivo existente'; $lang['lockedby'] = 'Actualmente bloqueado por'; $lang['lockexpire'] = 'El bloqueo expira en'; $lang['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; -$lang['notsavedyet'] = 'Los cambios que no se han guardado se perderán.\n¿Realmente quieres continuar?'; +$lang['js']['notsavedyet'] = "Los cambios que no se han guardado se perderán.\n¿Realmente quieres continuar?"; $lang['rssfailed'] = 'Se ha producido un error mientras se leían los datos de este feed: '; $lang['nothingfound'] = 'No se ha encontrado nada.'; $lang['mediaselect'] = 'Archivos Multimedia'; diff --git a/inc/lang/et/lang.php b/inc/lang/et/lang.php index 4d3f10bdc..ef540bb3d 100644 --- a/inc/lang/et/lang.php +++ b/inc/lang/et/lang.php @@ -150,7 +150,7 @@ $lang['lockedby'] = 'Praegu on selle lukustanud'; $lang['lockexpire'] = 'Lukustus aegub'; $lang['willexpire'] = 'Teie lukustus selle lehe toimetamisele aegub umbes minuti pärast.\nIgasugu probleemide vältimiseks kasuta eelvaate nuppu, et lukustusarvesti taas tööle panna.'; -$lang['notsavedyet'] = 'Sul on seal salvestamata muudatusi, mis kohe kõige kaduva teed lähevad.\nKas Sa ikka tahad edasi liikuda?'; +$lang['js']['notsavedyet'] = "Sul on seal salvestamata muudatusi, mis kohe kõige kaduva teed lähevad.\nKas Sa ikka tahad edasi liikuda?"; $lang['rssfailed'] = 'Sinu soovitud info ammutamisel tekkis viga: '; $lang['nothingfound']= 'Oops, aga mitte muhvigi ei leitud.'; diff --git a/inc/lang/eu/lang.php b/inc/lang/eu/lang.php index 8324e2587..a5f786654 100644 --- a/inc/lang/eu/lang.php +++ b/inc/lang/eu/lang.php @@ -91,7 +91,7 @@ $lang['txt_overwrt'] = 'Oraingo fitxategiaren gainean idatzi'; $lang['lockedby'] = 'Momentu honetan blokeatzen:'; $lang['lockexpire'] = 'Blokeaketa iraungitzen da:'; $lang['willexpire'] = 'Zure blokeaketa orri hau aldatzeko minutu batean iraungitzen da.\nGatazkak saihesteko, aurreikusi botoia erabili blokeaketa denboragailua berrabiarazteko.'; -$lang['notsavedyet'] = 'Gorde gabeko aldaketak galdu egingo dira.\nBenetan jarraitu nahi duzu?'; +$lang['js']['notsavedyet'] = "Gorde gabeko aldaketak galdu egingo dira.\nBenetan jarraitu nahi duzu?"; $lang['rssfailed'] = 'Errorea gertatu da feed hau irakurtzean:'; $lang['nothingfound'] = 'Ez da ezer aurkitu.'; $lang['mediaselect'] = 'Aukeratu Multimedia fitxategia'; diff --git a/inc/lang/fa/lang.php b/inc/lang/fa/lang.php index 42ba69ea3..0a1f8fadd 100644 --- a/inc/lang/fa/lang.php +++ b/inc/lang/fa/lang.php @@ -99,7 +99,7 @@ $lang['txt_overwrt'] = 'بر روی فایل موجود بنویس'; $lang['lockedby'] = 'در حال حاضر قفل شده است'; $lang['lockexpire'] = 'قفل منقضی شده است'; $lang['willexpire'] = 'حالت قفل شما مدتی است منقضی شده است \n برای جلوگیری از تداخل دکمه‌ی پیش‌نمایش را برای صفر شدن ساعت قفل بزنید.'; -$lang['notsavedyet'] = 'تغییرات ذخیره شده از بین خواهد رفت. \n می‌خواهید ادامه دهید؟'; +$lang['js']['notsavedyet'] = "تغییرات ذخیره شده از بین خواهد رفت. \n می‌خواهید ادامه دهید؟"; $lang['rssfailed'] = 'بروز خطا در هنگام واکشی'; $lang['nothingfound'] = 'چیزی پیدا نشد'; $lang['mediaselect'] = 'فایل‌ها'; diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 5af172fb3..a139a9f19 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva'; $lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut'; $lang['lockexpire'] = 'Lukitus päättyy'; $lang['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.'; -$lang['notsavedyet'] = 'Dokumentissa on tallentamattomia muutoksia, jotka häviävät.\n Haluatko varmasti jatkaa?'; +$lang['js']['notsavedyet'] = "Dokumentissa on tallentamattomia muutoksia, jotka häviävät.\n Haluatko varmasti jatkaa?"; $lang['rssfailed'] = 'Virhe tapahtui noudettaessa tätä syötettä: '; $lang['nothingfound'] = 'Mitään ei löytynyt.'; $lang['mediaselect'] = 'Mediatiedoston valinta'; diff --git a/inc/lang/fo/lang.php b/inc/lang/fo/lang.php index a8c241fc1..74d7fff58 100644 --- a/inc/lang/fo/lang.php +++ b/inc/lang/fo/lang.php @@ -81,7 +81,7 @@ $lang['lockedby'] = 'Fyribils læst av'; $lang['lockexpire'] = 'Lásið ferð úr gildi kl.'; $lang['willexpire'] = 'Títt lás á hetta skjalið ferð úr gildi um ein minnutt.\nTrýst á '.$lang['btn_preview'].'-knappin fyri at sleppa undan trupulleikum.'; -$lang['notsavedyet'] = 'Tað eru gjørdar broytingar í skjalinum, um tú haldur fram vilja broytingar fara fyri skeytið.\nYnskir tú at halda fram?'; +$lang['js']['notsavedyet'] = "Tað eru gjørdar broytingar í skjalinum, um tú haldur fram vilja broytingar fara fyri skeytið.\nYnskir tú at halda fram?"; $lang['rssfailed'] = 'Eitt brek koma fyri tá roynt var at fáa: '; $lang['nothingfound']= 'Leiting gav onki úrslit.'; diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index be55388bf..6afc59756 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -106,7 +106,7 @@ $lang['txt_overwrt'] = 'Écraser le fichier cible'; $lang['lockedby'] = 'Actuellement bloqué par'; $lang['lockexpire'] = 'Le blocage expire à'; $lang['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.'; -$lang['notsavedyet'] = 'Les modifications non enregistrées seront perdues.\nVoulez-vous vraiment continuer ?'; +$lang['js']['notsavedyet'] = "Les modifications non enregistrées seront perdues.\nVoulez-vous vraiment continuer ?"; $lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : '; $lang['nothingfound'] = 'Pas de réponse.'; $lang['mediaselect'] = 'Sélection de fichier'; diff --git a/inc/lang/gl/lang.php b/inc/lang/gl/lang.php index e82eb473a..9f1b48173 100644 --- a/inc/lang/gl/lang.php +++ b/inc/lang/gl/lang.php @@ -90,7 +90,7 @@ $lang['txt_overwrt'] = 'Sobrescribir arquivo existente'; $lang['lockedby'] = 'Bloqueado actualmente por'; $lang['lockexpire'] = 'O bloqueo remata o'; $lang['willexpire'] = 'O teu bloqueo para editares esta páxina vai caducar nun minuto.\nPara de evitar conflitos, emprega o botón de previsualización para reiniciares o contador do tempo de bloqueo.'; -$lang['notsavedyet'] = 'Perderanse os trocos non gardados.\nEstá certo de quereres continuar?'; +$lang['js']['notsavedyet'] = "Perderanse os trocos non gardados.\nEstá certo de quereres continuar?"; $lang['rssfailed'] = 'Houbo un erro ao tentar obter esta corrente RSS: '; $lang['nothingfound'] = 'Non se atopou nada.'; $lang['mediaselect'] = 'Arquivos-Media'; diff --git a/inc/lang/he/lang.php b/inc/lang/he/lang.php index 1f7d366ab..a411764d2 100644 --- a/inc/lang/he/lang.php +++ b/inc/lang/he/lang.php @@ -98,7 +98,7 @@ $lang['txt_overwrt'] = 'לכתוב במקום קובץ קיים'; $lang['lockedby'] = 'נעול על ידי'; $lang['lockexpire'] = 'נעילה פגה'; $lang['willexpire'] = 'נעילה תחלוף עוד זמן קצר. \nלמניעת התנגשויות יש להשתמש בכפתור הרענון מטה כדי לאתחל את הנעילה שנית'; -$lang['notsavedyet'] = 'קיימים שינויים שטרם נשמרו ואשר יאבדו \n האם להמשיך?'; +$lang['js']['notsavedyet'] = "קיימים שינויים שטרם נשמרו ואשר יאבדו \n האם להמשיך?"; $lang['rssfailed'] = 'כשל ב-RSS'; $lang['nothingfound'] = 'לא נמצאו תוצאות'; $lang['mediaselect'] = 'בחירת קובץ מדיה'; diff --git a/inc/lang/hr/lang.php b/inc/lang/hr/lang.php index 05a20c25e..545498dee 100644 --- a/inc/lang/hr/lang.php +++ b/inc/lang/hr/lang.php @@ -92,7 +92,7 @@ $lang['txt_overwrt'] = 'Prepiši postojeću datoteku'; $lang['lockedby'] = 'Zaključao'; $lang['lockexpire'] = 'Zaključano do'; $lang['willexpire'] = 'Dokument kojeg mijenjate će biti zaključan još 1 minutu.\n Ukoliko želite i dalje raditi izmjene na dokumentu - kliknite na "Pregled".'; -$lang['notsavedyet'] = 'Vaše izmjene će se izgubiti.\nŽelite li nastaviti?'; +$lang['js']['notsavedyet'] = "Vaše izmjene će se izgubiti.\nŽelite li nastaviti?"; $lang['rssfailed'] = 'Došlo je do greške prilikom preuzimanja feed-a: '; $lang['nothingfound'] = 'Traženi dokumetni nisu pronađeni.'; $lang['mediaselect'] = 'Mediafile datoteke'; diff --git a/inc/lang/hu/lang.php b/inc/lang/hu/lang.php index b9218f897..4aa19c193 100644 --- a/inc/lang/hu/lang.php +++ b/inc/lang/hu/lang.php @@ -97,7 +97,7 @@ $lang['txt_overwrt'] = 'Létező fájl felülírása'; $lang['lockedby'] = 'Jelenleg zárolta:'; $lang['lockexpire'] = 'A zárolás lejár:'; $lang['willexpire'] = 'Az oldalszerkesztési zárolásod körülbelül egy percen belül lejár.\nAz ütközések elkerülése végett használd az előnézet gombot a zárolási időzítés frissítéséhez.'; -$lang['notsavedyet'] = 'Elmentetlen változások vannak, amelyek el fognak veszni.\nTényleg ezt akarod?'; +$lang['js']['notsavedyet'] = "Elmentetlen változások vannak, amelyek el fognak veszni.\nTényleg ezt akarod?"; $lang['rssfailed'] = 'Hiba történt ennek a betöltésekor: '; $lang['nothingfound'] = 'Semmit sem találtam.'; $lang['mediaselect'] = 'Médiafájl kiválasztása'; diff --git a/inc/lang/ia/lang.php b/inc/lang/ia/lang.php index 8fb4b424d..f68467543 100644 --- a/inc/lang/ia/lang.php +++ b/inc/lang/ia/lang.php @@ -96,7 +96,7 @@ $lang['txt_overwrt'] = 'Reimplaciar le file existente'; $lang['lockedby'] = 'Actualmente serrate per'; $lang['lockexpire'] = 'Serratura expira le'; $lang['willexpire'] = 'Tu serratura super le modification de iste pagina expirara post un minuta.\nPro evitar conflictos, usa le button Previsualisar pro reinitialisar le timer del serratura.'; -$lang['notsavedyet'] = 'Le modificationes non salveguardate essera perdite.\nRealmente continuar?'; +$lang['js']['notsavedyet'] = "Le modificationes non salveguardate essera perdite.\nRealmente continuar?"; $lang['rssfailed'] = 'Un error occurreva durante le obtention de iste syndication:'; $lang['nothingfound'] = 'Nihil ha essite trovate.'; $lang['mediaselect'] = 'Files multimedia'; diff --git a/inc/lang/id-ni/lang.php b/inc/lang/id-ni/lang.php index 2fc631373..4e26677e0 100644 --- a/inc/lang/id-ni/lang.php +++ b/inc/lang/id-ni/lang.php @@ -75,5 +75,5 @@ $lang['resendpwdnouser'] = 'Bologö dödöu, lö masöndra zangoguna da\'a $lang['resendpwdconfirm'] = 'No tefaohe\'ö link famaduhu\'ö ba imele.'; $lang['resendpwdsuccess'] = 'No tefa\'ohe\'ö kode sibohou ba imele.'; $lang['txt_upload'] = 'Fili file ni fa\'ohe\'ö'; -$lang['notsavedyet'] = 'Famawu\'a si lö mu\'irö\'ö taya. \nSinduhu ötohugö?'; +$lang['js']['notsavedyet'] = "Famawu\'a si lö mu\'irö\'ö taya. \nSinduhu ötohugö?"; $lang['mediaselect'] = 'Media file'; diff --git a/inc/lang/id/lang.php b/inc/lang/id/lang.php index 447abaf1a..3ea1b394a 100644 --- a/inc/lang/id/lang.php +++ b/inc/lang/id/lang.php @@ -86,7 +86,7 @@ $lang['txt_overwrt'] = 'File yang telah ada akan ditindih'; $lang['lockedby'] = 'Sedang dikunci oleh'; $lang['lockexpire'] = 'Penguncian artikel sampai dengan'; $lang['willexpire'] = 'Halaman yang sedang Anda kunci akan berakhir dalam waktu kurang lebih satu menit.\nUntuk menghindari konflik, gunakan tombol Preview untuk me-reset timer pengunci.'; -$lang['notsavedyet'] = 'Perubahan yang belum disimpan akan hilang.\nYakin akan dilanjutkan?'; +$lang['js']['notsavedyet'] = "Perubahan yang belum disimpan akan hilang.\nYakin akan dilanjutkan?"; $lang['rssfailed'] = 'Error terjadi saat mengambil feed: '; $lang['nothingfound'] = 'Tidak menemukan samasekali.'; $lang['mediaselect'] = 'Pilihan Mediafile'; diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index 1184083d1..8e476816e 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -99,7 +99,7 @@ $lang['txt_overwrt'] = 'Sovrascrivi file esistente'; $lang['lockedby'] = 'Attualmente bloccato da'; $lang['lockexpire'] = 'Il blocco scade alle'; $lang['willexpire'] = 'Il tuo blocco su questa pagina scadrà tra circa un minuto.\nPer evitare incongruenze usa il pulsante di anteprima per prolungare il periodo di blocco.'; -$lang['notsavedyet'] = 'Le modifiche non salvate andranno perse.\nContinuare?'; +$lang['js']['notsavedyet'] = "Le modifiche non salvate andranno perse.\nContinuare?"; $lang['rssfailed'] = 'Si è verificato un errore cercando questo feed: '; $lang['nothingfound'] = 'Nessun risultato trovato.'; $lang['mediaselect'] = 'Selezione dei file'; diff --git a/inc/lang/ja/lang.php b/inc/lang/ja/lang.php index 1f6681af1..ad76e5bf0 100644 --- a/inc/lang/ja/lang.php +++ b/inc/lang/ja/lang.php @@ -96,7 +96,7 @@ $lang['txt_overwrt'] = '既存のファイルを上書き'; $lang['lockedby'] = 'この文書は次のユーザによってロックされています'; $lang['lockexpire'] = 'ロック期限:'; $lang['willexpire'] = '編集中の文書はロック期限を過ぎようとしています。このままロックする場合は、一度文書の確認を行って期限をリセットしてください。'; -$lang['notsavedyet'] = '変更は保存されません。このまま処理を続けてよろしいですか?'; +$lang['js']['notsavedyet'] = "変更は保存されません。このまま処理を続けてよろしいですか?"; $lang['rssfailed'] = 'RSSの取り出しに失敗しました:'; $lang['nothingfound'] = '該当文書はありませんでした。'; $lang['mediaselect'] = 'メディアファイルを選択'; diff --git a/inc/lang/km/lang.php b/inc/lang/km/lang.php index a8257255f..19847674d 100644 --- a/inc/lang/km/lang.php +++ b/inc/lang/km/lang.php @@ -93,7 +93,7 @@ $lang['lockedby'] = 'ឥឡូវនេះចកជាប់​'; $lang['lockexpire'] = 'សោជាប់ផុត​កំណត់ម៉ោង'; $lang['willexpire'] = 'សោអ្នកចំពោះកែតម្រូវទំព័រនេះ ហួសពែលក្នុងមួយនាទី។\nកុំឲ្យមានជម្លោះ ប្រើ «បង្ហាញ»​ ទៅកំណត់​ឡើង​វិញ។'; -$lang['notsavedyet'] = 'កម្រែមិនទានរុក្សាទកត្រូវបោះបង់។\nបន្តទៅទាឬទេ?'; +$lang['js']['notsavedyet'] = "កម្រែមិនទានរុក្សាទកត្រូវបោះបង់។\nបន្តទៅទាឬទេ?"; $lang['rssfailed'] = 'មានកំហុសពេលទៅ​ប្រមូល​យកមតិ​ព័ត៌មាន៖ '; $lang['nothingfound']= 'រកមិនឃើញអ្វីទេ។'; diff --git a/inc/lang/ko/lang.php b/inc/lang/ko/lang.php index f11ec95fd..83014c151 100644 --- a/inc/lang/ko/lang.php +++ b/inc/lang/ko/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = '새로운 파일로 이전 파일을 교체합 $lang['lockedby'] = '현재 잠금 사용자'; $lang['lockexpire'] = '잠금 해제 시간'; $lang['willexpire'] = '잠시 후 편집 잠금이 해제됩니다.\n편집 충돌을 피하려면 미리보기를 눌러 잠금 시간을 다시 설정하기 바랍니다.'; -$lang['notsavedyet'] = '저장하지 않은 변경은 지워집니다.\n계속하시겠습니까?'; +$lang['js']['notsavedyet'] = "저장하지 않은 변경은 지워집니다.\n계속하시겠습니까?"; $lang['rssfailed'] = 'feed 가져오기 실패: '; $lang['nothingfound'] = '아무 것도 없습니다.'; $lang['mediaselect'] = '미디어 파일 선택'; diff --git a/inc/lang/ku/lang.php b/inc/lang/ku/lang.php index 946954b98..cb8dd0865 100644 --- a/inc/lang/ku/lang.php +++ b/inc/lang/ku/lang.php @@ -62,7 +62,7 @@ $lang['lockedby'] = 'Currently locked by'; $lang['lockexpire'] = 'Lock expires at'; $lang['willexpire'] = 'Your lock for editing this page is about to expire in a minute.\nTo avoid conflicts use the preview button to reset the locktimer.'; -$lang['notsavedyet'] = 'Unsaved changes will be lost.\nReally continue?'; +$lang['js']['notsavedyet'] = "Unsaved changes will be lost.\nReally continue?"; $lang['rssfailed'] = 'An error occured while fetching this feed: '; $lang['nothingfound']= 'Tiştek nehat dîtin.'; diff --git a/inc/lang/lb/lang.php b/inc/lang/lb/lang.php index b3d3989ca..7152b65b1 100644 --- a/inc/lang/lb/lang.php +++ b/inc/lang/lb/lang.php @@ -85,7 +85,7 @@ $lang['txt_overwrt'] = 'Bestehend Datei iwwerschreiwen'; $lang['lockedby'] = 'Am Moment gespaart vun'; $lang['lockexpire'] = 'D\'Spär leeft of ëm'; $lang['willexpire'] = 'Deng Spär fir d\'Säit ze änneren leeft an enger Minutt of.\nFir Konflikter ze verhënneren, dréck op Kucken ouni ofzespäicheren.'; -$lang['notsavedyet'] = 'Net gespäicher Ännerunge gi verluer.\nWierklech weiderfueren?'; +$lang['js']['notsavedyet'] = "Net gespäicher Ännerunge gi verluer.\nWierklech weiderfueren?"; $lang['rssfailed'] = 'Et ass e Feeler virkomm beim erofluede vun dësem Feed: '; $lang['nothingfound'] = 'Näischt fond.'; $lang['mediaselect'] = 'Mediadateien'; diff --git a/inc/lang/lt/lang.php b/inc/lang/lt/lang.php index 151964e03..639ad4749 100644 --- a/inc/lang/lt/lang.php +++ b/inc/lang/lt/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = 'Perrašyti egzistuojančią bylą'; $lang['lockedby'] = 'Užrakintas vartotojo'; $lang['lockexpire'] = 'Užraktas bus nuimtas'; $lang['willexpire'] = 'Šio puslapio redagavimo užrakto galiojimo laikas baigsis po minutės.\nNorėdami išvengti nesklandumų naudokite peržiūros mygtuką ir užraktas atsinaujins.'; -$lang['notsavedyet'] = 'Pakeitimai nebus išsaugoti.\nTikrai tęsti?'; +$lang['js']['notsavedyet'] = "Pakeitimai nebus išsaugoti.\nTikrai tęsti?"; $lang['rssfailed'] = 'Siunčiant šį feed\'ą įvyko klaida: '; $lang['nothingfound'] = 'Paieškos rezultatų nėra.'; $lang['mediaselect'] = 'Mediabylos išsirinkimas'; diff --git a/inc/lang/lv/lang.php b/inc/lang/lv/lang.php index 9e31cc54e..1ebd86edf 100644 --- a/inc/lang/lv/lang.php +++ b/inc/lang/lv/lang.php @@ -90,7 +90,7 @@ $lang['txt_overwrt'] = 'Aizstāt esošo failu'; $lang['lockedby'] = 'Patlaban bloķējis '; $lang['lockexpire'] = 'Bloķējums beigsies '; $lang['willexpire'] = 'Tavs bloķējums uz šo lapu pēc minūtes beigsies.\nLai izvairītos no konflikta, nospied Iepriekšapskata pogu\n un bloķējuma laiku sāks skaitīt no jauna.'; -$lang['notsavedyet'] = 'Veiktas bet nav saglabātas izmaiņas.\nVai tiešām tās nevajag?'; +$lang['js']['notsavedyet'] = "Veiktas bet nav saglabātas izmaiņas.\nVai tiešām tās nevajag?"; $lang['rssfailed'] = 'Kļūda saņemot saturu no '; $lang['nothingfound'] = 'Nekas nav atrasts.'; $lang['mediaselect'] = 'Mēdiju faila izvēle'; diff --git a/inc/lang/mg/lang.php b/inc/lang/mg/lang.php index bae292363..2ecbcdcff 100644 --- a/inc/lang/mg/lang.php +++ b/inc/lang/mg/lang.php @@ -56,7 +56,7 @@ $lang['lockedby'] = 'Mbola voahidin\'i'; $lang['lockexpire'] = 'Afaka ny hidy amin\'ny'; $lang['willexpire'] = 'Efa ho lany fotoana afaka iray minitra ny hidy ahafahanao manova ny pejy.\nMba hialana amin\'ny conflit dia ampiasao ny bokotra topi-maso hamerenana ny timer-n\'ny hidy.'; -$lang['notsavedyet'] = 'Misy fiovana tsy voarakitra, ho very izany ireo.\nAzo antoka fa hotohizana?'; +$lang['js']['notsavedyet'] = "Misy fiovana tsy voarakitra, ho very izany ireo.\nAzo antoka fa hotohizana?"; $lang['rssfailed'] = 'An error occured while fetching this feed: '; $lang['nothingfound']= 'Tsy nahitana n\'inon\'inona.'; diff --git a/inc/lang/mk/lang.php b/inc/lang/mk/lang.php index b33bea1a3..ddd734e22 100644 --- a/inc/lang/mk/lang.php +++ b/inc/lang/mk/lang.php @@ -93,7 +93,7 @@ $lang['txt_overwrt'] = 'Пребриши ја веќе постоеч $lang['lockedby'] = 'Моментално заклучена од'; $lang['lockexpire'] = 'Клучот истекува на'; $lang['willexpire'] = 'Вашиот клуч за уредување на оваа страница ќе истече за една минута.\nЗа да избегнете конфликти и да го ресетирате бројачот за време, искористете го копчето за преглед.'; -$lang['notsavedyet'] = 'Незачуваните промени ќе бидат изгубени.\nСакате да продолжите?'; +$lang['js']['notsavedyet'] = "Незачуваните промени ќе бидат изгубени.\nСакате да продолжите?"; $lang['rssfailed'] = 'Се појави грешка при повлекувањето на овој канал:'; $lang['nothingfound'] = 'Ништо не е пронајдено.'; $lang['mediaselect'] = 'Медиа датотеки'; diff --git a/inc/lang/mr/lang.php b/inc/lang/mr/lang.php index 715d51119..99561f064 100644 --- a/inc/lang/mr/lang.php +++ b/inc/lang/mr/lang.php @@ -98,7 +98,7 @@ $lang['txt_overwrt'] = 'अस्तित्वात असलेल $lang['lockedby'] = 'सध्या लॉक करणारा :'; $lang['lockexpire'] = 'सध्या लॉक करणारा :'; $lang['willexpire'] = 'हे पृष्ठ संपादित करण्यासाठी मिळालेले लॉक एखाद्या मिनिटात संपणार आहे.\n चुका होऊ नयेत म्हणुन कृपया प्रीव्यू बटन दाबुन लॉक ची वेळ पुन्हा चालू करा.'; -$lang['notsavedyet'] = 'सुरक्षित न केलेले बदल नष्ट होतील. नक्की करू का ?'; +$lang['js']['notsavedyet'] = "सुरक्षित न केलेले बदल नष्ट होतील. नक्की करू का ?"; $lang['rssfailed'] = 'ही पुरवणी आणण्यात काही चूक झाली:'; $lang['nothingfound'] = 'काही सापडला नाही.'; $lang['mediaselect'] = 'दृकश्राव्य फाइल'; diff --git a/inc/lang/ne/lang.php b/inc/lang/ne/lang.php index ce9310ee5..6c00610ea 100644 --- a/inc/lang/ne/lang.php +++ b/inc/lang/ne/lang.php @@ -91,7 +91,7 @@ $lang['txt_overwrt'] = 'रहेको उहि नामको फ $lang['lockedby'] = 'अहिले ताल्चा लगाइएको'; $lang['lockexpire'] = 'ताल्चा अवधि सकिने :'; $lang['willexpire'] = 'तपाईलले यो पृष्ठ सम्पादन गर्न लगाउनु भएको ताल्चाको अवधि एक मिनेट भित्र सकिदै छ। \n द्वन्द हुन नदिन पूर्वरुप वा ताल्चा समय परिवर्तन गर्नुहोस् ।'; -$lang['notsavedyet'] = 'तपाईले वचन गर्नु नभएको परिवर्रन हराउने छ। \n साच्चै जारी गर्नुहुन्छ ।'; +$lang['js']['notsavedyet'] = "तपाईले वचन गर्नु नभएको परिवर्रन हराउने छ। \n साच्चै जारी गर्नुहुन्छ ।"; $lang['rssfailed'] = 'यो फिड लिइ आउदा गल्ति भयो ।'; $lang['nothingfound'] = 'केहि पनि भेटिएन ।'; $lang['mediaselect'] = 'मिडिया फाइलहरू '; diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 782a76758..75d4aaa35 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -102,7 +102,7 @@ $lang['txt_overwrt'] = 'Overschrijf bestaand bestand'; $lang['lockedby'] = 'Momenteel in gebruik door'; $lang['lockexpire'] = 'Exclusief gebruiksrecht vervalt op'; $lang['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.'; -$lang['notsavedyet'] = 'Nog niet bewaarde wijzigingen zullen verloren gaan.\nWeet je zeker dat je wilt doorgaan?'; +$lang['js']['notsavedyet'] = "Nog niet bewaarde wijzigingen zullen verloren gaan.\nWeet je zeker dat je wilt doorgaan?"; $lang['rssfailed'] = 'Er is een fout opgetreden bij het ophalen van de feed: '; $lang['nothingfound'] = 'Er werd niets gevonden.'; $lang['mediaselect'] = 'Bestandsselectie'; diff --git a/inc/lang/no/lang.php b/inc/lang/no/lang.php index 2dc2c8339..ca63c0094 100644 --- a/inc/lang/no/lang.php +++ b/inc/lang/no/lang.php @@ -105,7 +105,7 @@ $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; $lang['lockedby'] = 'Stengt av'; $lang['lockexpire'] = 'Avstengningen opphører'; $lang['willexpire'] = 'Din redigeringslås for dette dokumentet kommer snart til å opphøre.\nFor å unngå versjonskonflikter bør du forhåndsvise dokumentet ditt for å forlenge redigeringslåsen.'; -$lang['notsavedyet'] = 'Ulagrede endringer vil gå tapt.\nVil du fortsette?'; +$lang['js']['notsavedyet'] = "Ulagrede endringer vil gå tapt.\nVil du fortsette?"; $lang['rssfailed'] = 'En feil oppstod da denne kilden skulle hentes:'; $lang['nothingfound'] = 'Ingen data funnet.'; $lang['mediaselect'] = 'Valg av mediafil'; diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 89cdd695d..0f8e8bb9a 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -96,7 +96,7 @@ $lang['txt_overwrt'] = 'Nadpisać istniejący plik?'; $lang['lockedby'] = 'Aktualnie zablokowane przez'; $lang['lockexpire'] = 'Blokada wygasa'; $lang['willexpire'] = 'Za minutę Twoja blokada tej strony wygaśnie.\nW celu uniknięcia konfliktów wyświetl podgląd aby odnowić blokadę.'; -$lang['notsavedyet'] = 'Nie zapisane zmiany zostaną utracone.\nCzy na pewno kontynuować?'; +$lang['js']['notsavedyet'] = "Nie zapisane zmiany zostaną utracone.\nCzy na pewno kontynuować?"; $lang['rssfailed'] = 'Wystąpił błąd przy pobieraniu tych danych: '; $lang['nothingfound'] = 'Nic nie znaleziono.'; $lang['mediaselect'] = 'Wysyłanie pliku'; diff --git a/inc/lang/pt-br/lang.php b/inc/lang/pt-br/lang.php index 8b7493cc6..1d1366e7a 100644 --- a/inc/lang/pt-br/lang.php +++ b/inc/lang/pt-br/lang.php @@ -103,7 +103,7 @@ $lang['txt_overwrt'] = 'Substituir o arquivo existente'; $lang['lockedby'] = 'Atualmente bloqueada por'; $lang['lockexpire'] = 'O bloqueio expira em'; $lang['willexpire'] = 'O seu bloqueio de edição deste página irá expirar em um minuto.\nPara evitar conflitos de edição, clique no botão de visualização para reiniciar o temporizador de bloqueio.'; -$lang['notsavedyet'] = 'As alterações não salvas serão perdidas.\nDeseja realmente continuar?'; +$lang['js']['notsavedyet'] = "As alterações não salvas serão perdidas.\nDeseja realmente continuar?"; $lang['rssfailed'] = 'Ocorreu um erro durante a atualização dessa fonte: '; $lang['nothingfound'] = 'Não foi encontrado nada.'; $lang['mediaselect'] = 'Arquivos de mídia'; diff --git a/inc/lang/pt/lang.php b/inc/lang/pt/lang.php index ef4c70785..d0861f3ef 100644 --- a/inc/lang/pt/lang.php +++ b/inc/lang/pt/lang.php @@ -94,7 +94,7 @@ $lang['txt_overwrt'] = 'Escrever por cima do ficheiro já existente'; $lang['lockedby'] = 'Bloqueado por'; $lang['lockexpire'] = 'Expira em'; $lang['willexpire'] = 'O bloqueio de edição para este documento irá expirar num minuto.\nPara evitar conflitos de edição, clique no botão para re-iniciar o temporizador de bloqueio.'; -$lang['notsavedyet'] = 'Existem alterações não gravadas, que serão perdidas se continuar.\nDeseja realmente continuar?'; +$lang['js']['notsavedyet'] = "Existem alterações não gravadas, que serão perdidas se continuar.\nDeseja realmente continuar?"; $lang['rssfailed'] = 'Ocorreu um erro neste canal RSS: '; $lang['nothingfound'] = 'Nada foi encontrado.'; $lang['mediaselect'] = 'Selecção de ficheiros'; diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index 87ee6ae0f..f71d5f531 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -99,7 +99,7 @@ $lang['txt_overwrt'] = 'Suprascrie fişierul existent'; $lang['lockedby'] = 'Momentan blocat de'; $lang['lockexpire'] = 'Blocarea expiră la'; $lang['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseşte butonul de previzualizare pentru resetarea blocării.'; -$lang['notsavedyet'] = 'Există modificări nesalvate, care se vor pierde.\nDoreşti să continui?'; +$lang['js']['notsavedyet'] = "Există modificări nesalvate, care se vor pierde.\nDoreşti să continui?"; $lang['rssfailed'] = 'A apărut o eroare in timpul descărcării acestui cîmp: '; $lang['nothingfound'] = 'Nu am găsit nimic.'; $lang['mediaselect'] = 'Selectare fişiere media'; diff --git a/inc/lang/ru/lang.php b/inc/lang/ru/lang.php index 3b722aea6..814406f8e 100644 --- a/inc/lang/ru/lang.php +++ b/inc/lang/ru/lang.php @@ -102,7 +102,7 @@ $lang['txt_overwrt'] = 'Перезаписать существующ $lang['lockedby'] = 'В данный момент заблокирован'; $lang['lockexpire'] = 'Блокировка истекает в'; $lang['willexpire'] = 'Ваша блокировка редактирования этой страницы истекает в течение минуты.\nЧтобы избежать конфликтов и сбросить таймер блокировки, нажмите кнопку просмотра.'; -$lang['notsavedyet'] = 'Несохранённые изменения будут потеряны.\nВы действительно хотите продолжить?'; +$lang['js']['notsavedyet'] = "Несохранённые изменения будут потеряны.\nВы действительно хотите продолжить?"; $lang['rssfailed'] = 'Произошла ошибка при получении следующей новостной ленты: '; $lang['nothingfound'] = 'Ничего не найдено.'; $lang['mediaselect'] = 'Выбор медиа-файла'; diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 2d9c8efea..8eb119df5 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -93,7 +93,7 @@ $lang['txt_overwrt'] = 'Prepísať existujúci súbor'; $lang['lockedby'] = 'Práve zamknuté:'; $lang['lockexpire'] = 'Zámok vyprší:'; $lang['willexpire'] = 'Váš zámok pre editáciu za chvílu vyprší.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; -$lang['notsavedyet'] = 'Neuložené zmeny budú stratené.\nChcete naozaj pokračovať?'; +$lang['js']['notsavedyet'] = "Neuložené zmeny budú stratené.\nChcete naozaj pokračovať?"; $lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: '; $lang['nothingfound'] = 'Nič nenájdené.'; $lang['mediaselect'] = 'Výber dokumentu'; diff --git a/inc/lang/sl/lang.php b/inc/lang/sl/lang.php index bbffcfbb1..9d94bab49 100644 --- a/inc/lang/sl/lang.php +++ b/inc/lang/sl/lang.php @@ -78,7 +78,7 @@ $lang['txt_overwrt'] = 'Prepiši obstoječo datoteko'; $lang['lockedby'] = 'Trenutno zaklenjeno od'; $lang['lockexpire'] = 'Zaklep preteče'; $lang['willexpire'] = 'Vaš zaklep za urejevanje bo pretekel čez eno minuto.\nDa se izognete konfliktom, uporabite predogled, da se merilnik časa za zaklep ponastavi.'; -$lang['notsavedyet'] = 'Obstajajo neshranjene spremembe, ki bodo izgubljene.\nRes želite nadaljevati?'; +$lang['js']['notsavedyet'] = "Obstajajo neshranjene spremembe, ki bodo izgubljene.\nRes želite nadaljevati?"; $lang['rssfailed'] = 'Prišlo je do napake pri prenašanju tega dovoda: '; $lang['nothingfound'] = 'Nič ni bilo najdeno.'; $lang['mediaselect'] = 'Mediafile Izbira'; diff --git a/inc/lang/sq/lang.php b/inc/lang/sq/lang.php index a41a6bd6e..0213ba28b 100644 --- a/inc/lang/sq/lang.php +++ b/inc/lang/sq/lang.php @@ -95,7 +95,7 @@ $lang['txt_overwrt'] = 'Zëvendëso skedarin ekzistues'; $lang['lockedby'] = 'Kyçur momentalisht nga'; $lang['lockexpire'] = 'Kyçi skadon në'; $lang['willexpire'] = 'Kyçi juaj për redaktimin e kësaj faqeje është duke skaduar.\nPër të shmangur konflikte përdorni butonin Shiko Paraprakisht për të rivendosur kohën e kyçjes.'; -$lang['notsavedyet'] = 'Ndryshimet e paruajtura do të humbasin.\nVazhdo me të vërtetë?'; +$lang['js']['notsavedyet'] = "Ndryshimet e paruajtura do të humbasin.\nVazhdo me të vërtetë?"; $lang['rssfailed'] = 'Ndoshi një gabim gjatë kapjes së këtij lajmi:'; $lang['nothingfound'] = 'Nuk u gjet asgjë.'; $lang['mediaselect'] = 'Skedarët e Medias'; diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 94829d314..7774e304e 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -92,7 +92,7 @@ $lang['txt_overwrt'] = 'Препишите тренутни фајл'; $lang['lockedby'] = 'Тренутно закључано од стране'; $lang['lockexpire'] = 'Закључавање истиче'; $lang['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.'; -$lang['notsavedyet'] = 'Несачуване измене ће бити изгубљене.\nДа ли стварно желите да наставите?'; +$lang['js']['notsavedyet'] = "Несачуване измене ће бити изгубљене.\nДа ли стварно желите да наставите?"; $lang['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: '; $lang['nothingfound'] = 'Ништа није нађено.'; $lang['mediaselect'] = 'Избор медијске датотеке'; diff --git a/inc/lang/sv/lang.php b/inc/lang/sv/lang.php index 062e83a31..09dec8edd 100644 --- a/inc/lang/sv/lang.php +++ b/inc/lang/sv/lang.php @@ -106,7 +106,7 @@ $lang['txt_overwrt'] = 'Skriv över befintlig fil'; $lang['lockedby'] = 'Låst av'; $lang['lockexpire'] = 'Lås upphör att gälla'; $lang['willexpire'] = 'Ditt redigeringslås för detta dokument kommer snart att upphöra.\nFör att undvika versionskonflikter bör du förhandsgranska ditt dokument för att förlänga redigeringslåset.'; -$lang['notsavedyet'] = 'Det finns ändringar som inte är sparade.\nÄr du säker på att du vill fortsätta?'; +$lang['js']['notsavedyet'] = "Det finns ändringar som inte är sparade.\nÄr du säker på att du vill fortsätta?"; $lang['rssfailed'] = 'Ett fel uppstod när detta RSS-flöde skulle hämtas: '; $lang['nothingfound'] = 'Inga filer hittades.'; $lang['mediaselect'] = 'Mediafiler'; diff --git a/inc/lang/th/lang.php b/inc/lang/th/lang.php index e7937ecbc..ea27793b8 100644 --- a/inc/lang/th/lang.php +++ b/inc/lang/th/lang.php @@ -102,7 +102,7 @@ $lang['txt_overwrt'] = 'เขียนทับไฟล์ที่ $lang['lockedby'] = 'ตอนนี้ถูกล๊อคโดย'; $lang['lockexpire'] = 'การล๊อคจะหมดอายุเมื่อ'; $lang['willexpire'] = 'การล๊อคเพื่อแก้ไขหน้านี้กำลังจะหมดเวลาในอีก \n นาที เพื่อที่จะหลีกเลี่ยงข้อขัดแย้งให้ใช้ปุ่ม "Preview" เพื่อรีเซ็ทเวลาใหม่'; -$lang['notsavedyet'] = 'การแก้ไขที่ไม่ได้บันทึกจะสูญหาย \n ต้องการทำต่อจริงๆหรือ?'; +$lang['js']['notsavedyet'] = "การแก้ไขที่ไม่ได้บันทึกจะสูญหาย \n ต้องการทำต่อจริงๆหรือ?"; $lang['rssfailed'] = 'มีข้อผิดพลาดขณะดูดฟีดนี้'; $lang['nothingfound'] = 'ไม่พบสิ่งใด'; $lang['mediaselect'] = 'ไฟล์สื่อ'; diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index dd045a6c7..0de4442a5 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -95,7 +95,7 @@ $lang['txt_overwrt'] = 'Mevcut dosyanın üstüne yaz'; $lang['lockedby'] = 'Şu an şunun tarafından kilitli:'; $lang['lockexpire'] = 'Kilitin açılma tarihi:'; $lang['willexpire'] = 'Bu sayfayı değiştirme kilidinin süresi yaklaşık bir dakika içinde geçecek.\nÇakışmaları önlemek için önizleme tuşunu kullanarak kilit sayacını sıfırla.'; -$lang['notsavedyet'] = 'Kaydedilmemiş değişiklikler kaybolacak.\nDevam etmek istiyor musunuz?'; +$lang['js']['notsavedyet'] = "Kaydedilmemiş değişiklikler kaybolacak.\nDevam etmek istiyor musunuz?"; $lang['rssfailed'] = 'Bu beslemeyi çekerken hata oluştu: '; $lang['nothingfound'] = 'Hiçbir şey yok.'; $lang['mediaselect'] = 'Çokluortam dosyası seçimi'; diff --git a/inc/lang/uk/lang.php b/inc/lang/uk/lang.php index 5f94d9b47..08a566b7e 100644 --- a/inc/lang/uk/lang.php +++ b/inc/lang/uk/lang.php @@ -97,7 +97,7 @@ $lang['txt_overwrt'] = 'Перезаписати існуючий фа $lang['lockedby'] = 'Заблоковано'; $lang['lockexpire'] = 'Блокування завершується в'; $lang['willexpire'] = 'Блокування редагування цієї сторінки закінчується через хвилину.\n Щоб уникнути конфліктів використовуйте кнопку перегляду для продовження блокування.'; -$lang['notsavedyet'] = 'Незбережені зміни будуть втрачені.\n Дійсно продовжити?'; +$lang['js']['notsavedyet'] = "Незбережені зміни будуть втрачені.\n Дійсно продовжити?"; $lang['rssfailed'] = 'Виникла помилка під час отримання RSS-стрічки: '; $lang['nothingfound'] = 'Нічого не знайдено.'; $lang['mediaselect'] = 'Вибір медіа-файлу'; diff --git a/inc/lang/vi/lang.php b/inc/lang/vi/lang.php index 23f42d69a..168fe3595 100644 --- a/inc/lang/vi/lang.php +++ b/inc/lang/vi/lang.php @@ -51,7 +51,7 @@ $lang['lockedby'] = 'Đang khoá bởi'; $lang['lockexpire'] = 'Khoá sẽ hết hạn vào lúc'; $lang['willexpire'] = 'Khoá của bạn để biên soạn trang này sẽ hết hạn trong vòng 1 phút.\nĐể tránh xung đột, bạn nên bấm nút xem trước để lập lại thời gian khoá'; -$lang['notsavedyet'] = 'Hiện có những thay đổi chưa được bảo lưu, và sẽ mất.\nBạn thật sự muốn tiếp tục?'; +$lang['js']['notsavedyet'] = "Hiện có những thay đổi chưa được bảo lưu, và sẽ mất.\nBạn thật sự muốn tiếp tục?"; $lang['rssfailed'] = 'Rút nguồn này gặp phải lỗi'; $lang['nothingfound']= 'Không tìm được gì'; diff --git a/inc/lang/zh-tw/lang.php b/inc/lang/zh-tw/lang.php index f936123f4..eca7de4c8 100644 --- a/inc/lang/zh-tw/lang.php +++ b/inc/lang/zh-tw/lang.php @@ -98,7 +98,7 @@ $lang['txt_overwrt'] = '是否要覆蓋原有檔案'; $lang['lockedby'] = '目前已被下列人員鎖定'; $lang['lockexpire'] = '預計解除鎖定於'; $lang['willexpire'] = '您目前編輯這頁的鎖定將會在一分鐘內解除。\若要避免發生意外,請按「預覽」鍵來重新設定鎖定狀態'; -$lang['notsavedyet'] = '有尚未儲存的變更將會遺失。\n真的要繼續嗎?'; +$lang['js']['notsavedyet'] = "有尚未儲存的變更將會遺失。\n真的要繼續嗎?"; $lang['rssfailed'] = '當抓取餵送過來的 RSS 資料時發生錯誤: '; $lang['nothingfound'] = '沒找到任何結果。'; $lang['mediaselect'] = '選擇圖檔'; diff --git a/inc/lang/zh/lang.php b/inc/lang/zh/lang.php index 45e4f8e34..2de962ce9 100644 --- a/inc/lang/zh/lang.php +++ b/inc/lang/zh/lang.php @@ -98,7 +98,7 @@ $lang['txt_overwrt'] = '覆盖已存在的同名文件'; $lang['lockedby'] = '目前已被下列人员锁定'; $lang['lockexpire'] = '预计锁定解除于'; $lang['willexpire'] = '您对本页的独有编辑权将于一分钟之后解除。\n为了防止与其他人的编辑冲突,请使用预览按钮重设计时器。'; -$lang['notsavedyet'] = '未保存的更改将丢失。\n真的要继续?'; +$lang['js']['notsavedyet'] = "未保存的更改将丢失。\n真的要继续?"; $lang['rssfailed'] = '获取该 RSS 信息时产生错误:'; $lang['nothingfound'] = '什么都没有找到。'; $lang['mediaselect'] = '媒体文件'; diff --git a/lib/exe/js.php b/lib/exe/js.php index 0eb43b246..05965ba02 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -107,7 +107,6 @@ function js_out(){ js_runonstart('addTocToggle()'); js_runonstart("initSizeCtl('size__ctl','wiki__text')"); js_runonstart("initToolbar('tool__bar','wiki__text',toolbar)"); - js_runonstart("initChangeCheck('".js_escape($lang['notsavedyet'])."')"); if($conf['locktime'] != 0){ js_runonstart("locktimer.init(".($conf['locktime'] - 60).",'".js_escape($lang['willexpire'])."',".$conf['usedraft'].")"); } diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index b756e9488..eeca27353 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -260,9 +260,9 @@ var textChanged = false; /** * Check for changes before leaving the page */ -function changeCheck(msg){ +function changeCheck(){ if(textChanged){ - var ok = confirm(msg); + var ok = confirm(LANG.notsavedyet); if(ok){ // remove a possibly saved draft using ajax var dwform = $('dw__editform'); @@ -289,57 +289,50 @@ function changeCheck(msg){ * JSnocheck class), add handlers to monitor changes * * Sets focus to the editbox as well - * - * @fixme this is old and crappy code. needs to be redone */ -function initChangeCheck(msg){ - var edit_text = document.getElementById('wiki__text'); - if(!edit_text) return; - if(edit_text.readOnly) return; - if(!$('dw__editform')) return; +addInitEvent(function (){ + var editform = $('dw__editform'); + if (!editform) return; + + var edit_text = $('wiki__text'); + if(edit_text) { + if(edit_text.readOnly) return; + + // set focus + edit_text.focus(); + } + + var checkfunc = function(){ + textChanged = true; //global var + summaryCheck(); + }; + addEvent(editform, 'change', checkfunc); + addEvent(editform, 'keydown', checkfunc); // add change check for links var links = document.getElementsByTagName('a'); for(var i=0; i < links.length; i++){ if(links[i].className.indexOf('JSnocheck') == -1){ - links[i].onclick = function(){ - var rc = changeCheck(msg); - if(window.event) window.event.returnValue = rc; - return rc; - }; + addEvent(links[i], 'click', changeCheck); } } // add change check for forms var forms = document.forms; for(i=0; i < forms.length; i++){ if(forms[i].className.indexOf('JSnocheck') == -1){ - forms[i].onsubmit = function(){ - var rc = changeCheck(msg); - if(window.event) window.event.returnValue = rc; - return rc; - }; + addEvent(forms[i], 'submit', changeCheck); } } // reset change memory var on submit - var btn_save = document.getElementById('edbtn__save'); - btn_save.onclick = function(){ textChanged = false; }; - var btn_prev = document.getElementById('edbtn__preview'); - btn_prev.onclick = function(){ textChanged = false; }; + addEvent($('edbtn__save'), 'click', function(){ textChanged = false; }); + addEvent($('edbtn__preview'), 'click', function(){ textChanged = false; }); - // add change memory setter - edit_text.onchange = function(){ - textChanged = true; //global var - summaryCheck(); - }; - var summary = document.getElementById('edit__summary'); + var summary = $('edit__summary'); addEvent(summary, 'change', summaryCheck); addEvent(summary, 'keyup', summaryCheck); if (textChanged) summaryCheck(); - - // set focus - edit_text.focus(); -} +}); /** * Checks if a summary was entered - if not the style is changed -- cgit v1.2.3 From 7d54a99ffcfd517bfc9bc5e18eb3f87922617077 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 25 Mar 2010 15:45:54 +0100 Subject: Do not try to save a draft in alternative editors --- lib/scripts/edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index eeca27353..9437aa14e 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -420,7 +420,7 @@ var locktimer = new locktimer_class(); // refresh every minute only if(now.getTime() - locktimer.lasttime.getTime() > 30*1000){ //FIXME decide on time var params = 'call=lock&id='+encodeURIComponent(locktimer.pageid); - if(locktimer.draft){ + if(locktimer.draft && dwform.elements.wikitext){ var dwform = $('dw__editform'); params += '&prefix='+encodeURIComponent(dwform.elements.prefix.value); params += '&wikitext='+encodeURIComponent(dwform.elements.wikitext.value); -- cgit v1.2.3 From 0139312b0d39e61bdff7318a0c092eb20b208a78 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 26 Mar 2010 13:16:46 +0100 Subject: Better code syntax parsing, less E_NOTICE --- inc/parser/handler.php | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/inc/parser/handler.php b/inc/parser/handler.php index b5d2baaab..8639c5ad8 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -344,21 +344,16 @@ class Doku_Handler { function code($match, $state, $pos, $type='code') { if ( $state == DOKU_LEXER_UNMATCHED ) { $matches = explode('>',$match,2); - $matches[0] = trim($matches[0]); - - list($language,$filename) = explode(' ',$matches[0],2); - $language = trim($language); - $filename = trim($filename); - if ( $language == '' ) $language = null; - if ( $language == '-' ) $language = null; - if ( $filename == '' ) $filename = null; - # We shortcut html here. - if($language == 'html') $language = 'html4strict'; - $this->_addCall( - $type, - array($matches[1],$language,$filename), - $pos - ); + + $param = preg_split('/\s+/', $matches[0], 2, PREG_SPLIT_NO_EMPTY); + while(count($param) < 2) array_push($param, null); + + // We shortcut html here. + if ($param[0] == 'html') $param[0] = 'html4strict'; + if ($param[0] == '-') $param[0] = null; + array_unshift($param, $matches[1]); + + $this->_addCall($type, $param, $pos); } return true; } -- cgit v1.2.3 From 569a001959f65aea2c0e7cd3dd5b541cac0e9e58 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 26 Mar 2010 14:10:46 +0100 Subject: Fix and simplify p_get_metadata key looping explode converts $string (false) to string ("") and returns it if $delimiter is not found, therefor looking for the key "" in metadata array. --- inc/parserutils.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/inc/parserutils.php b/inc/parserutils.php index cb8bc079d..4bec3ab1d 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -244,8 +244,7 @@ function p_get_metadata($id, $key='', $render=false){ $val = $meta['current']; // filter by $key - foreach(explode(' ', trim($key), 2) as $cur_key) { - $cur_key = trim($cur_key); + foreach(preg_split('/\s+/', $key, 2, PREG_SPLIT_NO_EMPTY) as $cur_key) { if (!isset($val[$cur_key])) { return null; } -- cgit v1.2.3 From cd12dcad1a482ea805f8dcc58b364e9c6cddc667 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 2 Feb 2010 16:20:17 +0100 Subject: JavaScript syntax fixes --- lib/scripts/events.js | 8 ++++---- lib/scripts/helpers.js | 4 ++-- lib/scripts/textselection.js | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/scripts/events.js b/lib/scripts/events.js index 2ea619085..df46cc1cf 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -107,8 +107,8 @@ window.fireoninit = function() { } // for Internet Explorer (using conditional comments) - /*@cc_on @*/ - /*@if (@_win32) + /*@cc_on + @if (@_win32) document.write("<\/script>"); var script = document.getElementById("__ie_init"); script.onreadystatechange = function() { @@ -116,7 +116,7 @@ window.fireoninit = function() { window.fireoninit(); // call the onload handler } }; - /*@end @*/ + @end @*/ // for Safari if (/WebKit/i.test(navigator.userAgent)) { // sniff @@ -176,5 +176,5 @@ function bind (fnc) { var args = Array.prototype.slice.call(arguments, 1); return function() { return fnc.apply(this, args); - } + }; } diff --git a/lib/scripts/helpers.js b/lib/scripts/helpers.js index 8d4f3ea78..129964d29 100644 --- a/lib/scripts/helpers.js +++ b/lib/scripts/helpers.js @@ -109,7 +109,7 @@ function isEmpty (prop /* :Object */) /* :Boolean */ { if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) return true; if (isString(prop) || isNumber(prop)) return !prop; if (Boolean(prop)&&false != prop) { - for (var i in prop) if(prop.hasOwnProperty(i)) return false + for (var i in prop) if(prop.hasOwnProperty(i)) return false; } return true; } @@ -124,7 +124,7 @@ function isEmpty (prop /* :Object */) /* :Boolean */ { if ('undefined' == typeof Object.hasOwnProperty) { Object.prototype.hasOwnProperty = function (prop) { return !('undefined' == typeof this[prop] || this.constructor && this.constructor.prototype[prop] && this[prop] === this.constructor.prototype[prop]); - } + }; } /** diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js index 76cc6bcbb..5e4602f85 100644 --- a/lib/scripts/textselection.js +++ b/lib/scripts/textselection.js @@ -24,7 +24,7 @@ function selection_class(){ this.getText = function(){ if(!this.obj) return ''; return this.obj.value.substring(this.start,this.end); - } + }; } /** -- cgit v1.2.3 From c9d5430b981aac42d64435908fe6016de907de0c Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 29 Mar 2010 10:18:22 +0200 Subject: Call act_edit for locked pages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 50e988b accidentally stopped act_dispatch from calling act_edit for locked pages, thus showing a generic »page not writable« message instead of a page lock message. --- inc/actions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/actions.php b/inc/actions.php index 66068cd36..a426f0276 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -109,7 +109,7 @@ function act_dispatch(){ $ACT = act_draftsave($ACT); //edit - if(($ACT == 'edit' || $ACT == 'preview' || $ACT == 'recover') && $INFO['editable']){ + if(in_array($ACT, array('edit', 'preview', 'recover'))) { $ACT = act_edit($ACT); }else{ unlock($ID); //try to unlock -- cgit v1.2.3 From ea6dfbca91f6afe89ff631ac28eae023bcc52853 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 26 Mar 2010 15:17:26 +0100 Subject: Rewrite footnote popup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Popup now shows up relative to the link, not the mouse position * Easier handling of mouseout’s bubbling * Factor out popup creation to allow plugins to use it --- lib/scripts/script.js | 82 +++++++++++++++++++-------------------------------- 1 file changed, 31 insertions(+), 51 deletions(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 205d3f706..99dade692 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -234,57 +234,51 @@ function toggleToc() { } /** - * Display an insitu footnote popup - * - * @author Andreas Gohr - * @author Chris Smith + * Create JavaScript mouseover popup */ -function footnote(e){ - var obj = e.target; - var id = obj.id.substr(5); +function insitu_popup(target, popup_id) { - // get or create the footnote popup div - var fndiv = $('insitu__fn'); + // get or create the popup div + var fndiv = $(popup_id); if(!fndiv){ fndiv = document.createElement('div'); - fndiv.id = 'insitu__fn'; + fndiv.id = popup_id; fndiv.className = 'insitu-footnote JSpopup dokuwiki'; // autoclose on mouseout - ignoring bubbled up events addEvent(fndiv,'mouseout',function(e){ - if(e.target != fndiv){ - e.stopPropagation(); - return; + var p = e.relatedTarget || e.toElement; + while (p && p !== this) { + p = p.parentNode; } - // check if the element was really left - if(e.pageX){ // Mozilla - var bx1 = findPosX(fndiv); - var bx2 = bx1 + fndiv.offsetWidth; - var by1 = findPosY(fndiv); - var by2 = by1 + fndiv.offsetHeight; - var x = e.pageX; - var y = e.pageY; - if(x > bx1 && x < bx2 && y > by1 && y < by2){ - // we're still inside boundaries - e.stopPropagation(); - return; - } - }else{ // IE - if(e.offsetX > 0 && e.offsetX < fndiv.offsetWidth-1 && - e.offsetY > 0 && e.offsetY < fndiv.offsetHeight-1){ - // we're still inside boundaries - e.stopPropagation(); - return; - } + if (p === this) { + return; } // okay, hide it - fndiv.style.display='none'; + this.style.display='none'; }); - document.body.appendChild(fndiv); + getElementsByClass('dokuwiki', document.body, 'div')[0].appendChild(fndiv); } + // position the div and make it visible + fndiv.style.position = 'absolute'; + fndiv.style.left = findPosX(target)+'px'; + fndiv.style.top = (findPosY(target)+target.scrollHeight * 1.5) + 'px'; + fndiv.style.display = ''; + return fndiv; +} + +/** + * Display an insitu footnote popup + * + * @author Andreas Gohr + * @author Chris Smith + */ +function footnote(e){ + var fndiv = insitu_popup(e.target, 'insitu__fn'); + // locate the footnote anchor element - var a = $( "fn__"+id ); + var a = $("fn__" + e.target.id.substr(5)); if (!a){ return; } // anchor parent is the footnote container, get its innerHTML @@ -295,24 +289,10 @@ function footnote(e){ content = content.replace(/^\s+(,\s+)+/,''); // prefix ids on any elements with "insitu__" to ensure they remain unique - content = content.replace(/\bid=\"(.*?)\"/gi,'id="insitu__$1'); + content = content.replace(/\bid=(['"])([^"']+)\1/gi,'id="insitu__$2'); // now put the content into the wrapper fndiv.innerHTML = content; - - // position the div and make it visible - var x; var y; - if(e.pageX){ // Mozilla - x = e.pageX; - y = e.pageY; - }else{ // IE - x = e.offsetX; - y = e.offsetY; - } - fndiv.style.position = 'absolute'; - fndiv.style.left = (x+2)+'px'; - fndiv.style.top = (y+2)+'px'; - fndiv.style.display = ''; } /** -- cgit v1.2.3 From f6ec8df813b28547ca3b04bb39f0ce670a6bb990 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 29 Mar 2010 12:00:30 +0200 Subject: Allow plugins to specify that they have to be instantiated Plugins may return false in isSingleton to let plugin_load return a new instance every time it is called. Renderer plugins are not loaded with $new set to true, but instead specify themself that they are not singletons. This behaviour allows the odt renderer to keep working (see #1598). --- inc/parser/renderer.php | 9 +++++++++ inc/parserutils.php | 2 +- inc/plugin.php | 6 +++--- inc/plugincontroller.class.php | 2 +- lib/plugins/syntax.php | 8 -------- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/inc/parser/renderer.php b/inc/parser/renderer.php index 393099003..4dac75d21 100644 --- a/inc/parser/renderer.php +++ b/inc/parser/renderer.php @@ -49,6 +49,15 @@ class Doku_Renderer extends DokuWiki_Plugin { trigger_error('getFormat() not implemented in '.get_class($this), E_USER_WARNING); } + /** + * Allow the plugin to prevent DokuWiki from reusing an instance + * + * @return bool false if the plugin has to be instantiated + */ + function isSingleton() { + return false; + } + //handle plugin rendering function plugin($name,$data){ diff --git a/inc/parserutils.php b/inc/parserutils.php index 4bec3ab1d..35ccdc1d6 100644 --- a/inc/parserutils.php +++ b/inc/parserutils.php @@ -585,7 +585,7 @@ function & p_get_renderer($mode) { // Maybe a plugin/component is available? list($plugin, $component) = $plugin_controller->_splitName($rname); if (!$plugin_controller->isdisabled($plugin)){ - $Renderer =& $plugin_controller->load('renderer',$rname, true); + $Renderer =& $plugin_controller->load('renderer',$rname); } if(is_null($Renderer)){ diff --git a/inc/plugin.php b/inc/plugin.php index 364534739..aff07c1e5 100644 --- a/inc/plugin.php +++ b/inc/plugin.php @@ -231,12 +231,12 @@ class DokuWiki_Plugin { } /** - * Allow the plugin to prevent DokuWiki creating a second instance of itself + * Allow the plugin to prevent DokuWiki from reusing an instance * - * @return bool true if the plugin can not be instantiated more than once + * @return bool false if the plugin has to be instantiated */ function isSingleton() { - return false; + return true; } // deprecated functions diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 043687270..61f460414 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -66,7 +66,7 @@ class Doku_Plugin_Controller { //plugin already loaded? if(!empty($DOKU_PLUGINS[$type][$name])){ - if ($new && !$DOKU_PLUGINS[$type][$name]->isSingleton()) { + if ($new || !$DOKU_PLUGINS[$type][$name]->isSingleton()) { $class = $type.'_plugin_'.$name; return class_exists($class) ? new $class : null; } else { diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 601b5591e..f7b64d8c0 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -266,13 +266,5 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { return $conf; } - /** - * Allow the plugin to prevent DokuWiki creating a second instance of itself - * - * @return bool true if the plugin can not be instantiated more than once - */ - function isSingleton() { - return false; - } } //Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From 187b5536f58354e627f88aead1dbfe0e8d6e7076 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 29 Mar 2010 12:44:02 +0200 Subject: Update syntax plugin base class (DOOM DO-OOM) --- lib/plugins/syntax.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index f7b64d8c0..127b92ce5 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -266,5 +266,14 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode { return $conf; } + /** + * Allow the plugin to prevent DokuWiki from reusing an instance + * + * @return bool false if the plugin has to be instantiated + */ + function isSingleton() { + return true; + } + } //Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From 2a98590b375e0acfd24fb0da343eb09a3ff76ff3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 29 Mar 2010 16:58:14 +0200 Subject: Better footnote popup positioning --- lib/scripts/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 99dade692..d8205b876 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -263,7 +263,7 @@ function insitu_popup(target, popup_id) { // position the div and make it visible fndiv.style.position = 'absolute'; fndiv.style.left = findPosX(target)+'px'; - fndiv.style.top = (findPosY(target)+target.scrollHeight * 1.5) + 'px'; + fndiv.style.top = (findPosY(target)+target.offsetHeight * 1.5) + 'px'; fndiv.style.display = ''; return fndiv; } -- cgit v1.2.3 From 08d7babffe1bded4620d0a3624bdd80522283138 Mon Sep 17 00:00:00 2001 From: Michael Klier Date: Tue, 30 Mar 2010 11:15:08 +0200 Subject: added support for plugin unittests This patch adds support to include plugin tests in the DokuWiki testsuite. Plugin tests are located in a dedicated directory _test/within a plugin directory. The naming convention of the test files follows the one used in DokuWikis testsuite. /_test/*.test.php -> single test /_test/*.group.php -> group test The plugin tests are accessible via the web interface of the test suite and via the cli interface. It is recommend to bundle plugin test in a plugin group test. The webinterface also allows to run all plugin tests at once. Test files must include: /_test/lib/unittest.php Example Test: require_once(DOKU_INC.'_test/lib/unittest.php'); class plugin_test extends Doku_UnitTestCase { function test() { $this->assertEqual(1,1); } } Example Group Test: require_once(DOKU_INC.'_test/lib/unittest.php'); class plugin_group_test extends Doku_GroupTest { function group_test() { $dir = dirname(__FILE__).'/'; $this->GroupTest('plugin_grouptest'); $this->addTestFile($dir . 'plugin.test1.php'); $this->addTestFile($dir . 'plugin.test2.php'); $this->addTestFile($dir . 'plugin.test3.php'); } } At the moment unittest.php contains only two meta classes so plugins tests don't have to inherit from the simpletest classes. This patch should be treated as intermediate step to allow for plugin tests. The testsuite wasn't designed to include plugin tests. It should probably be refactored at a later point. --- _test/index.php | 46 ++++++++++++++++++++++++ _test/lib/testmanager.php | 91 ++++++++++++++++++++++++++++++++++++++++++++--- _test/lib/unittest.php | 5 +++ _test/runtests.php | 56 +++++++++++++++++++++++++++-- 4 files changed, 190 insertions(+), 8 deletions(-) create mode 100644 _test/lib/unittest.php diff --git a/_test/index.php b/_test/index.php index 87cc10a35..f59c44cf4 100644 --- a/_test/index.php +++ b/_test/index.php @@ -130,6 +130,30 @@ function DW_TESTS_PaintGroupTestList() { } } +function DW_TESTS_PaintPluginTestCaseList() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + echo XMLTestManager::getPluginTestCaseList(TEST_PLUGINS); + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo HTMLTestManager::getPluginTestCaseList(TEST_PLUGINS); + break; + } +} + +function DW_TESTS_PaintPluginGroupTestList() { + switch ( DW_TESTS_OUTPUT ) { + case DW_TESTS_OUTPUT_XML: + echo XMLTestManager::getPluginGroupTestList(TEST_PLUGINS); + break; + case DW_TESTS_OUTPUT_HTML: + default: + echo HTMLTestManager::getPluginGroupTestList(TEST_PLUGINS); + break; + } +} + function DW_TESTS_PaintFooter() { switch ( DW_TESTS_OUTPUT ) { case DW_TESTS_OUTPUT_XML: @@ -160,6 +184,19 @@ if (isset($_GET['group'])) { exit(); } +// If it's a plugin group test +if (isset($_GET['plugin_group'])) { + if ('all' == $_GET['plugin_group']) { + TestManager::runAllPluginTests(DW_TESTS_GetReporter()); + } else { + TestManager::runGroupTest(ucfirst($_GET['plugin_group']), + TEST_PLUGINS, + DW_TESTS_GetReporter()); + } + DW_TESTS_PaintRunMore(); + exit(); +} + // If it's a single test case if (isset($_GET['case'])) { TestManager::runTestCase($_GET['case'], TEST_CASES, DW_TESTS_GetReporter()); @@ -167,6 +204,13 @@ if (isset($_GET['case'])) { exit(); } +// If it's a single plugin test case +if (isset($_GET['plugin_case'])) { + TestManager::runTestCase($_GET['plugin_case'], TEST_PLUGINS, DW_TESTS_GetReporter()); + DW_TESTS_PaintRunMore(); + exit(); +} + // Else it's the main page DW_TESTS_PaintHeader(); @@ -174,9 +218,11 @@ DW_TESTS_PaintSuiteHeader(); if (isset($_GET['show']) && $_GET['show'] == 'cases') { DW_TESTS_PaintCaseList(); + DW_TESTS_PaintPluginTestCaseList(); } else { /* no group specified, so list them all */ DW_TESTS_PaintGroupTestList(); + DW_TESTS_PaintPluginGroupTestList(); } DW_TESTS_PaintFooter(); diff --git a/_test/lib/testmanager.php b/_test/lib/testmanager.php index 14cc20bf3..96c9a57a2 100644 --- a/_test/lib/testmanager.php +++ b/_test/lib/testmanager.php @@ -5,6 +5,7 @@ define('TEST_GROUPS',realpath(dirname(__FILE__).'/../cases')); define('TEST_CASES',realpath(dirname(__FILE__).'/../cases')); +define('TEST_PLUGINS',realpath(dirname(__FILE__).'/../../lib/plugins')); // try to load runkit extension if (!extension_loaded('runkit') && function_exists('dl')) { @@ -59,6 +60,17 @@ class TestManager { $test->run($reporter); } + function runAllPluginTests(&$reporter) { + $manager =& new TestManager(); + $test_cases =& $manager->_getTestFileList(TEST_PLUGINS); + $test =& new GroupTest('All Plugin Tests'); + foreach ($test_cases as $test_case) { + $test->addTestFile($test_case); + } + $test->run($reporter); + } + + function runTestCase($testcase_name, $test_case_directory, &$reporter) { $manager =& new TestManager(); @@ -125,12 +137,12 @@ class TestManager { } function &_getTestCaseList($directory = '.') { - $base = TEST_GROUPS . DIRECTORY_SEPARATOR; $file_list =& $this->_getTestFileList($directory); $testcases = array(); foreach ($file_list as $testcase_file) { $case = str_replace($this->_testcase_extension, '',$testcase_file); - $case = str_replace($base, '', $case); + $case = str_replace(TEST_GROUPS . DIRECTORY_SEPARATOR, '', $case); + $case = str_replace(TEST_PLUGINS . DIRECTORY_SEPARATOR, '', $case); $case = str_replace(DIRECTORY_SEPARATOR, ':', $case); $testcases[$testcase_file] = $case; } @@ -142,6 +154,16 @@ class TestManager { array(&$this, '_isTestCaseFile')); } + function &getPluginTestCaseList($directory = '.') { + $manager =& new TestManager(); + return $manager->_getTestCaseList($directory); + } + + function &getPluginGroupTestList($directory = '.') { + $manager =& new TestManager(); + return $manager->_getTestGroupList($directory); + } + function &getGroupTestList($directory = '.') { $manager =& new TestManager(); return $manager->_getTestGroupList($directory); @@ -153,12 +175,12 @@ class TestManager { } function &_getTestGroupList($directory = '.') { - $base = TEST_GROUPS . DIRECTORY_SEPARATOR; $file_list =& $this->_getTestGroupFileList($directory); $grouptests = array(); foreach ($file_list as $grouptest_file) { $group = str_replace($this->_grouptest_extension, '',$grouptest_file); - $group = str_replace($base, '', $group); + $group = str_replace(TEST_GROUPS . DIRECTORY_SEPARATOR, '', $group); + $group = str_replace(TEST_PLUGINS . DIRECTORY_SEPARATOR, '', $group); $group = str_replace(DIRECTORY_SEPARATOR, ':', $group); $grouptests[$grouptest_file] = $group; } @@ -168,7 +190,7 @@ class TestManager { function &_getGroupTestClassNames($grouptest_file) { $file = implode("\n", file($grouptest_file)); - preg_match("~lass\s+?(.*)\s+?extends GroupTest~", $file, $matches); + preg_match("~lass\s+?(.*)\s+?extends .*?GroupTest~", $file, $matches); if (! empty($matches)) { unset($matches[0]); return $matches; @@ -242,6 +264,29 @@ class CLITestManager extends TestManager { } return $buffer . "\n"; } + + function &getPluginTestCaseList($directory = '.') { + $manager =& new CLITestManager(); + $test_cases =& $manager->_getTestCaseList($directory); + + $buffer = "Available test cases:\n"; + foreach ($test_cases as $test_case) { + $buffer .= " " . $test_case . "\n"; + } + return $buffer . "\n"; + } + + function &getPluginGroupTestList($directory = '.') { + $manager =& new CLITestManager(); + $test_cases =& $manager->_getTestGroupList($directory); + + $buffer = "Available test cases:\n"; + foreach ($test_cases as $test_case) { + $buffer .= " " . $test_case . "\n"; + } + return $buffer . "\n"; + } + } class HTMLTestManager extends TestManager { @@ -289,6 +334,42 @@ class HTMLTestManager extends TestManager { $buffer .= "\n"; return $buffer; } + + function &getPluginTestCaseList($directory = '.') { + $manager =& new HTMLTestManager(); + $testcases =& $manager->_getTestCaseList($directory); + + if (1 > count($testcases)) { + return "

No plugin test cases set up!

"; + } + $buffer = "

Available plugin test cases:

\n
    "; + foreach ($testcases as $testcase) { + $buffer .= "
  • " . + $testcase . "
  • \n"; + } + + $buffer .= "
\n"; + return $buffer; + } + + function &getPluginGroupTestList($directory = '.') { + $manager =& new HTMLTestManager(); + $group_tests =& $manager->_getTestGroupList($directory); + if (1 > count($group_tests)) { + return "

No plugin test groups set up!

"; + } + $buffer = "

Available plugin groups:

\n\n"; + return $buffer; + } + } /** diff --git a/_test/lib/unittest.php b/_test/lib/unittest.php new file mode 100644 index 000000000..220aa6c1b --- /dev/null +++ b/_test/lib/unittest.php @@ -0,0 +1,5 @@ +'; $opt_caselist = FALSE; $opt_grouplist = FALSE; +$opt_plugincaselist = FALSE; +$opt_plugingrouplist = FALSE; $opt_caseid = FALSE; +$top_plugincaseid = FALSE; $opt_casefile = FALSE; $opt_groupfile = FALSE; +$opt_plugingroupfile = FALSE; include_once(DOKU_INC.'inc/cliopts.php'); $short_opts = "c:f:g:hils:p:"; -$long_opts = array("case=","caselist","help", "file=", "group=", "grouplist", "separator=", "path="); +$long_opts = array("case=","pcase=","caselist","help", "file=", "group=", "pgroup=", "grouplist", "plugincaselist", "plugingrouplist", "separator=", "path="); $OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts); if ( $OPTS->isError() ) { fwrite( STDERR, $OPTS->getMessage() . "\n"); @@ -61,6 +71,9 @@ foreach ($OPTS->options as $key => $val) { case 'case': $opt_caseid = $val; break; + case 'pcase': + $opt_plugincaseid = $val; + break; case 'h': case 'help': usage(); @@ -73,6 +86,9 @@ foreach ($OPTS->options as $key => $val) { case 'group': $opt_groupfile = $val; break; + case 'pgroup': + $opt_plugingroupfile = $val; + break; case 'i': case 'caselist': $opt_caselist = TRUE; @@ -81,6 +97,12 @@ foreach ($OPTS->options as $key => $val) { case 'grouplist': $opt_grouplist = TRUE; break; + case 'plugincaselist': + $opt_plugincaselist = TRUE; + break; + case 'plugingrouplist': + $opt_plugingrouplist = TRUE; + break; case 's': case 'separator': $opt_separator = $val; @@ -110,8 +132,18 @@ if ($opt_caselist) { echo CLITestManager::getTestCaseList(TEST_CASES); } +/* list plugin test cases */ +if ($opt_plugincaselist) { + echo CLITestManager::getPluginTestCaseList(TEST_PLUGINS); +} + +/* list plugin group tests */ +if($opt_plugingrouplist) { + echo CLITestManager::getPluginGroupTestList(TEST_PLUGINS); +} + /* exit if we've displayed a list */ -if ( $opt_grouplist || $opt_caselist ) { +if ( $opt_grouplist || $opt_caselist || $opt_plugincaselist || $opt_plugingrouplist ) { exit(0); } @@ -120,17 +152,35 @@ if ($opt_casefile) { TestManager::runTestFile($opt_casefile, new CLIReporter($opt_separator)); exit(0); } -/* run a test case by id*/ + +/* run a test case by id */ if ($opt_caseid) { TestManager::runTestCase($opt_caseid, TEST_CASES, new CLIReporter($opt_separator)); exit(0); } + +/* run a plugin test by case id */ +if ($opt_plugincaseid) { + TestManager::runTestCase($opt_plugincaseid, TEST_PLUGINS, new CLIReporter($opt_separator)); + exit(0); +} + /* run a grouptest */ if ($opt_groupfile) { TestManager::runGroupTest($opt_groupfile, TEST_GROUPS, new CLIReporter($opt_separator)); exit(0); } + +/* run a plugin grouptest */ +if ($opt_plugingroupfile) { + TestManager::runGroupTest($opt_plugingroupfile, TEST_PLUGINS, + new CLIReporter($opt_separator)); + exit(0); +} + +/* run a plugin group test */ +//FIXME /* run all tests */ TestManager::runAllTests(new CLIReporter($opt_separator)); exit(0); -- cgit v1.2.3 From d535a2e92c29b7a9cff84c344c6e474f654aaa9e Mon Sep 17 00:00:00 2001 From: stretchyboy Date: Wed, 31 Mar 2010 11:45:50 +0100 Subject: Fixes variable replacement during _template.txt parsing --- inc/common.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/common.php b/inc/common.php index 2877bc00e..4e5a2e197 100644 --- a/inc/common.php +++ b/inc/common.php @@ -836,7 +836,7 @@ function pageTemplate($id){ * * @author Andreas Gohr */ -function parsePageTemplate($data) { +function parsePageTemplate(&$data) { extract($data); global $USERINFO; @@ -879,7 +879,7 @@ function parsePageTemplate($data) { // we need the callback to work around strftime's char limit $tpl = preg_replace_callback('/%./',create_function('$m','return strftime($m[0]);'),$tpl); - + $data['tpl'] = $tpl; return $tpl; } -- cgit v1.2.3 From d059ba9bb09b872361eee77c46cbd4aba0042e83 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 2 Apr 2010 11:34:38 +0200 Subject: Fix gzip compression in combination with buffer flushing FS#1927 This introduces a new function called tpl_flush() which should be used by template authors in favor of the PHP flush() method. --- inc/template.php | 13 +++++++++++++ lib/tpl/default/main.php | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/inc/template.php b/inc/template.php index 7b0ef466b..3eda2f4af 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1407,5 +1407,18 @@ function tpl_subscribe() { echo '
'; } +/** + * Tries to send already created content right to the browser + * + * Wraps around ob_flush() and flush() + * + * @author Andreas Gohr + */ +function tpl_flush(){ + ob_flush(); + flush(); +} + + //Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/lib/tpl/default/main.php b/lib/tpl/default/main.php index b5717c009..d9231678b 100644 --- a/lib/tpl/default/main.php +++ b/lib/tpl/default/main.php @@ -82,7 +82,7 @@ if (!defined('DOKU_INC')) die(); - + @@ -94,7 +94,7 @@ if (!defined('DOKU_INC')) die();
 
- +
-- cgit v1.2.3 From c0c4ef9875d90979ed9d31ea1b6f2866aecaf565 Mon Sep 17 00:00:00 2001 From: Rasmus Kinnerup Date: Fri, 2 Apr 2010 11:22:46 +0200 Subject: Danish language update --- inc/lang/da/lang.php | 55 +++++++++++++++----------------- inc/lang/da/subscr_form.txt | 3 ++ lib/plugins/acl/lang/da/lang.php | 3 +- lib/plugins/config/lang/da/lang.php | 2 ++ lib/plugins/plugin/lang/da/lang.php | 1 + lib/plugins/popularity/lang/da/lang.php | 1 + lib/plugins/revert/lang/da/lang.php | 1 + lib/plugins/usermanager/lang/da/lang.php | 1 + 8 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 inc/lang/da/subscr_form.txt diff --git a/inc/lang/da/lang.php b/inc/lang/da/lang.php index 7014a41fa..9fc92b2e8 100644 --- a/inc/lang/da/lang.php +++ b/inc/lang/da/lang.php @@ -11,18 +11,19 @@ * @author Harith * @author Daniel Ejsing-Duun * @author Erik Bjørn Pedersen + * @author rasmus@kinnerup.com */ -$lang['encoding'] = 'utf-8'; +$lang['encoding'] = 'ISO 8859-1 '; $lang['direction'] = 'ltr'; $lang['doublequoteopening'] = '„'; $lang['doublequoteclosing'] = '“'; $lang['singlequoteopening'] = '‚'; $lang['singlequoteclosing'] = '‘'; $lang['apostrophe'] = '’'; -$lang['btn_edit'] = 'Rediger dette dokument'; +$lang['btn_edit'] = 'Rediger denne side'; $lang['btn_source'] = 'Vis kildekode'; -$lang['btn_show'] = 'Vis dokument'; -$lang['btn_create'] = 'Opret dette dokument'; +$lang['btn_show'] = 'Vis side'; +$lang['btn_create'] = 'Opret denne side'; $lang['btn_search'] = 'Søg'; $lang['btn_save'] = 'Gem'; $lang['btn_preview'] = 'Forhåndsvisning'; @@ -31,39 +32,36 @@ $lang['btn_newer'] = '<< forrige side'; $lang['btn_older'] = 'næste side >>'; $lang['btn_revs'] = 'Gamle udgaver'; $lang['btn_recent'] = 'Nye ændringer'; -$lang['btn_upload'] = 'Overføre'; +$lang['btn_upload'] = 'Overfør'; $lang['btn_cancel'] = 'Fortryd'; $lang['btn_index'] = 'Indeks'; -$lang['btn_secedit'] = 'Rediger'; +$lang['btn_secedit'] = 'Redigér'; $lang['btn_login'] = 'Log ind'; $lang['btn_logout'] = 'Log ud'; $lang['btn_admin'] = 'Admin'; -$lang['btn_update'] = 'Opdater'; +$lang['btn_update'] = 'Opdatér'; $lang['btn_delete'] = 'Slet'; $lang['btn_back'] = 'Tilbage'; $lang['btn_backlink'] = 'Henvisninger bagud'; $lang['btn_backtomedia'] = 'Tilbage til valg af mediefil'; -$lang['btn_subscribe'] = 'Abonner på ændringer'; -$lang['btn_unsubscribe'] = 'Fjern abonnement på ændringer'; -$lang['btn_subscribens'] = 'Abonner på namespace ændringer'; -$lang['btn_unsubscribens'] = 'Fjern abonnement på namespace ændringer'; -$lang['btn_profile'] = 'Opdater profil'; +$lang['btn_subscribe'] = 'Abonnér på ændringer'; +$lang['btn_profile'] = 'Opdatér profil'; $lang['btn_reset'] = 'Nulstil'; -$lang['btn_resendpwd'] = 'Send nyt adgangskode'; -$lang['btn_draft'] = 'Rediger kladde'; +$lang['btn_resendpwd'] = 'Send ny adgangskode'; +$lang['btn_draft'] = 'Redigér kladde'; $lang['btn_recover'] = 'Gendan kladde'; $lang['btn_draftdel'] = 'Slet kladde'; -$lang['btn_revert'] = 'Reetablere'; -$lang['loggedinas'] = 'Logget på som'; +$lang['btn_revert'] = 'Reetablér'; +$lang['loggedinas'] = 'Logget ind som'; $lang['user'] = 'Brugernavn'; $lang['pass'] = 'Adgangskode'; -$lang['newpass'] = 'Nyt adgangskode'; -$lang['oldpass'] = 'Bekræft gammelt adgangskode'; -$lang['passchk'] = 'Gentag nyt adgangskode'; -$lang['remember'] = 'Log automatisk på'; -$lang['fullname'] = 'Navn'; +$lang['newpass'] = 'Ny adgangskode'; +$lang['oldpass'] = 'Bekræft gammel adgangskode'; +$lang['passchk'] = 'Gentag ny adgangskode'; +$lang['remember'] = 'Automatisk log ind'; +$lang['fullname'] = 'Fulde navn'; $lang['email'] = 'E-mail'; -$lang['register'] = 'Tilmeld'; +$lang['register'] = 'Registrér'; $lang['profile'] = 'Brugerprofil'; $lang['badlogin'] = 'Brugernavn eller adgangskode var forkert.'; $lang['minoredit'] = 'Mindre ændringer'; @@ -100,7 +98,7 @@ $lang['txt_overwrt'] = 'Overskriv eksisterende fil'; $lang['lockedby'] = 'Midlertidig låst af'; $lang['lockexpire'] = 'Lås udløber kl.'; $lang['willexpire'] = 'Din lås på dette dokument udløber om et minut.\nTryk på Forhåndsvisning-knappen for at undgå konflikter.'; -$lang['js']['notsavedyet'] = "Der er lavet ændringer i dokumentet. Hvis du fortsætter vil ændringerne gå tabt.\nØnsker du at fortsætte?"; +$lang['notsavedyet'] = 'Der er lavet ændringer i dokumentet. Hvis du fortsætter vil ændringerne gå tabt.\nØnsker du at fortsætte?'; $lang['rssfailed'] = 'Der opstod en fejl ved indhentning af: '; $lang['nothingfound'] = 'Søgningen gav intet resultat.'; $lang['mediaselect'] = 'Vælg mediefil'; @@ -118,7 +116,7 @@ $lang['deletefail'] = '"%s" kunne ikke slettes - check rettighederne. $lang['mediainuse'] = 'Filen "%s" er ikke slettet - den er stadig i brug.'; $lang['namespaces'] = 'Navnerum'; $lang['mediafiles'] = 'Tilgængelige filer i'; -$lang['js']['searchmedia'] = 'Søg for filer'; +$lang['js']['searchmedia'] = 'Søg efter filer'; $lang['js']['keepopen'] = 'Hold vindue åbent ved valg'; $lang['js']['hidedetails'] = 'Skjul detaljer'; $lang['js']['nosmblinks'] = 'Henvisninger til Windows shares virker kun i Microsoft Internet Explorer. @@ -135,7 +133,7 @@ $lang['mediaextchange'] = 'Filudvidelse ændret fra .%s til .%s!'; $lang['reference'] = 'Henvisning til'; $lang['ref_inuse'] = 'Filen kan ikke slettes, da den stadig er i brug på følgende sider:'; $lang['ref_hidden'] = 'Nogle henvisninger er i dokumenter du ikke har læserettigheder til'; -$lang['hits'] = 'Hits'; +$lang['hits'] = 'Besøg'; $lang['quickhits'] = 'Tilsvarende dokumentnavne'; $lang['toc'] = 'Indholdsfortegnelse'; $lang['current'] = 'nuværende'; @@ -156,6 +154,7 @@ $lang['noflash'] = 'Den * @author Daniel Ejsing-Duun * @author Erik Bjørn Pedersen + * @author rasmus@kinnerup.com */ $lang['menu'] = 'Håndter udvidelser'; $lang['download'] = 'Hent og tilføj ny udvidelse'; diff --git a/lib/plugins/popularity/lang/da/lang.php b/lib/plugins/popularity/lang/da/lang.php index 7a0b1e1b8..af591b88c 100644 --- a/lib/plugins/popularity/lang/da/lang.php +++ b/lib/plugins/popularity/lang/da/lang.php @@ -7,6 +7,7 @@ * @author Harith * @author Daniel Ejsing-Duun * @author Erik Bjørn Pedersen + * @author rasmus@kinnerup.com */ $lang['name'] = 'Tilbagemelding om popularitet (vil måske tage en del tid at indlæse)'; $lang['submit'] = 'Send data'; diff --git a/lib/plugins/revert/lang/da/lang.php b/lib/plugins/revert/lang/da/lang.php index 97e15f361..4e3b8ddeb 100644 --- a/lib/plugins/revert/lang/da/lang.php +++ b/lib/plugins/revert/lang/da/lang.php @@ -7,6 +7,7 @@ * @author Harith * @author Daniel Ejsing-Duun * @author Erik Bjørn Pedersen + * @author rasmus@kinnerup.com */ $lang['menu'] = 'Gendannelsesstyring'; $lang['filter'] = 'Søg efter uønskede sider'; diff --git a/lib/plugins/usermanager/lang/da/lang.php b/lib/plugins/usermanager/lang/da/lang.php index 42bdcb7c3..81217c225 100644 --- a/lib/plugins/usermanager/lang/da/lang.php +++ b/lib/plugins/usermanager/lang/da/lang.php @@ -8,6 +8,7 @@ * @author Harith * @author Daniel Ejsing-Duun * @author Erik Bjørn Pedersen + * @author rasmus@kinnerup.com */ $lang['menu'] = 'Brugerstyring'; $lang['noauth'] = '(Brugervalidering er ikke tilgængelig)'; -- cgit v1.2.3 From 6e00e8beb4aa97f22cafa8757c3e136232a62d7d Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sat, 3 Apr 2010 13:47:37 +0200 Subject: Corrected German translation in the acl plugin --- lib/plugins/acl/lang/de-informal/lang.php | 8 ++++---- lib/plugins/acl/lang/de/lang.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php index 6cabe3f35..ac4bb30c0 100644 --- a/lib/plugins/acl/lang/de-informal/lang.php +++ b/lib/plugins/acl/lang/de-informal/lang.php @@ -14,12 +14,12 @@ $lang['page'] = 'Seite'; $lang['namespace'] = 'Namensraum'; $lang['btn_select'] = 'Auswählen'; $lang['p_user_id'] = 'Benutzer %s hat im Moment folgende Rechte auf der Seite %s: %s'; -$lang['p_user_ns'] = 'Benutzer %s hat momentan die folgenden Rechte im Namensraum%s: %s.'; +$lang['p_user_ns'] = 'Benutzer %s hat momentan die folgenden Rechte im Namensraum %s: %s.'; $lang['p_group_id'] = 'Die Gruppenmitglieder %s haben momentan die folgenden Rechte auf der Seite %s: %s.'; $lang['p_group_ns'] = 'Die Mitglieder der Gruppe %s haben gerade Zugriff in folgenden Namensräumen %s: %s.'; -$lang['p_choose_id'] = 'Bitte gib einen Nutzer oder eine Gruppe in das Formular ein, um die Berechtigungen der Seite%s anzusehen oder zu bearbeiten.'; -$lang['p_choose_ns'] = 'Bitte gib einen Nutzer oder eine Gruppe in das Formular ein, um die Berechtigungen des Namenraumes%s anzusehen oder zu bearbeiten.'; -$lang['p_inherited'] = 'Hinweis: Diese Rechte wuredn nicht explizit gesetzt sondern geerbt von anderen Grupen oder übergeordneten Namensräumen.'; +$lang['p_choose_id'] = 'Bitte gib einen Nutzer oder eine Gruppe in das Formular ein, um die Berechtigungen der Seite %s anzusehen oder zu bearbeiten.'; +$lang['p_choose_ns'] = 'Bitte gib einen Nutzer oder eine Gruppe in das Formular ein, um die Berechtigungen des Namenraumes %s anzusehen oder zu bearbeiten.'; +$lang['p_inherited'] = 'Hinweis: Diese Rechte wurden nicht explizit gesetzt, sondern von anderen Gruppen oder übergeordneten Namensräumen geerbt.'; $lang['p_isadmin'] = 'Hinweis: Die gewählte Gruppe oder der Benutzer haben immer die vollen Rechte, weil sie als Superuser konfiguriert sind.'; $lang['p_include'] = 'Höhere Rechte schließen kleinere mit ein. Hochlade- und Löschrechte sind nur für Namensräume, nicht für Seiten.'; $lang['current'] = 'Momentane Zugriffsregeln'; diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php index 5bac3ac1c..0d30fe7a1 100644 --- a/lib/plugins/acl/lang/de/lang.php +++ b/lib/plugins/acl/lang/de/lang.php @@ -31,7 +31,7 @@ $lang['p_group_id'] = 'Mitglieder der Gruppe %s%s haben momentan folgende Berechtigungen für den Namensraum %s: %s.'; $lang['p_choose_id'] = 'Bitte geben Sie in obigem Formular eine einen Nutzer oder eine Gruppe an, um die Berechtigungen für die Seite %s zu sehen oder zu ändern.'; $lang['p_choose_ns'] = 'Bitte geben Sie in obigem Formular eine einen Nutzer oder eine Gruppe an, um die Berechtigungen für den Namensraum %s zu sehen oder zu ändern.'; -$lang['p_inherited'] = 'Hinweis: Diese Berechtigungen wurden nicht explizit gesetzt sondern von anderen Gruppen oder höher liegenden Namensräumen geerbt.'; +$lang['p_inherited'] = 'Hinweis: Diese Berechtigungen wurden nicht explizit gesetzt, sondern von anderen Gruppen oder höher liegenden Namensräumen geerbt.'; $lang['p_isadmin'] = 'Hinweis: Die ausgewählte Gruppe oder Nutzer haben immer alle Berechtigungen das sie als Superuser konfiguriert wurden.'; $lang['p_include'] = 'Höhere Berechtigungen schließen niedrigere mit ein. Anlegen, Hochladen und Entfernen gilt nur für Namensräume, nicht für einzelne Seiten'; $lang['current'] = 'Momentane Zugriffsregeln'; -- cgit v1.2.3 From d74913c6df41b27eb1ea8388a47d94e66f97c652 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sat, 3 Apr 2010 14:40:32 +0200 Subject: Fixed sorting in the acl manager treeview Previously the content of expanded namespaces was displayed below all other pages, now it is placed below it's parent namespace. The new comparison function is quite complex. Please have a look at it if it can done easier or if there are cases I haven't considered where the function produces incorrect results. --- lib/plugins/acl/admin.php | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index b38d2ac6e..dcd72b611 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -267,8 +267,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { usort($data,array($this,'_tree_sort')); $count = count($data); if($count>0) for($i=1; $i<$count; $i++){ - if($data[$i]['type'] == 'f') break; // namespaces come first, we're done - if($data[$i-1]['id'] == $data[$i]['id']) unset($data[$i]); + if($data[$i-1]['id'] == $data[$i]['id'] && $data[$i-1]['type'] == $data[$i]['type']) unset($data[$i]); } return $data; } @@ -279,13 +278,39 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { * Sorts the combined trees of media and page files */ function _tree_sort($a,$b){ - if($a['type'] == 'd' && $b['type'] == 'f'){ + // handle the trivial cases first + if ($a['id'] == '') return -1; + if ($b['id'] == '') return 1; + // split up the id into parts + $a_ids = explode(':', $a['id']); + $b_ids = explode(':', $b['id']); + // now loop through the parts + while (count($a_ids) && count($b_ids)) { + // compare each level from upper to lower + // until a non-equal component is found + $cur_result = strcmp(array_shift($a_ids), array_shift($b_ids)); + if ($cur_result) { + // if one of the components is the last component and is a file + // and the other one is either of a deeper level or a directory, + // the file has to come after the deeper level or directory + if (empty($a_ids) && $a['type'] == 'f' && (count($b_ids) || $b['type'] == 'd')) return 1; + if (empty($b_ids) && $b['type'] == 'f' && (count($a_ids) || $a['type'] == 'd')) return -1; + return $cur_result; + } + } + // The two ids seem to be equal. One of them might however refer + // to a page, one to a namespace, the namespace needs to be first. + if (empty($a_ids) && empty($b_ids)) { + if ($a['type'] == $b['type']) return 0; + if ($a['type'] == 'f') return 1; return -1; - }elseif($a['type'] == 'f' && $b['type'] == 'd'){ - return 1; - }else{ - return strcmp($a['id'],$b['id']); } + // Now the empty part is either a page in the parent namespace + // that obviously needs to be after the namespace + // Or it is the namespace that contains the other part and should be + // before that other part. + if (empty($a_ids)) return ($a['type'] == 'd') ? -1 : 1; + if (empty($b_ids)) return ($b['type'] == 'd') ? 1 : -1; } /** -- cgit v1.2.3 From 40307ce67e9cb6cc8f00ddcddf1677f41b42fb83 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sat, 3 Apr 2010 16:57:58 +0200 Subject: Preserve selected item in the acl manager during ajax requests There are two new parameters submitted that contain the currently selected namespace and page id so it can be selected again indenpendently from the opened namespace. --- lib/plugins/acl/admin.php | 25 ++++++++++++++++++++++--- lib/plugins/acl/script.js | 6 +++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index dcd72b611..1f666660c 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -17,6 +17,15 @@ if(!defined('DOKU_INC')) die(); class admin_plugin_acl extends DokuWiki_Admin_Plugin { var $acl = null; var $ns = null; + /** + * The currently selected item, associative array with id and type. + * Populated from (in this order): + * $_REQUEST['current_ns'] + * $_REQUEST['current_id'] + * $ns + * $ID + */ + var $current_item = null; var $who = ''; var $usersgroups = array(); var $specials = array(); @@ -72,6 +81,16 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { $this->ns = cleanID($_REQUEST['ns']); } + if ($_REQUEST['current_ns']) { + $this->current_item = array('id' => cleanID($_REQUEST['current_ns']), 'type' => 'd'); + } elseif ($_REQUEST['current_id']) { + $this->current_item = array('id' => cleanID($_REQUEST['current_id']), 'type' => 'f'); + } elseif ($this->ns) { + $this->current_item = array('id' => $this->ns, 'type' => 'd'); + } else { + $this->current_item = array('id' => $ID, 'type' => 'f'); + } + // user or group choosen? $who = trim($_REQUEST['acl_w']); if($_REQUEST['acl_t'] == '__g__' && $who){ @@ -167,7 +186,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { echo '
'.NL; echo '
'.NL; - $this->_html_explorer($_REQUEST['ns']); + $this->_html_explorer(); echo '
'.NL; echo '
'.NL; @@ -498,8 +517,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } // highlight? - if( ($item['type']=='d' && $item['id'] == $this->ns) || - ($item['type']!='d' && $item['id'] == $ID)) $cl = ' cur'; + if( ($item['type']== $this->current_item['type'] && $item['id'] == $this->current_item['id'])) + $cl = ' cur'; // namespace or page? if($item['type']=='d'){ diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js index 449a3c16a..d5d0371a9 100644 --- a/lib/plugins/acl/script.js +++ b/lib/plugins/acl/script.js @@ -118,7 +118,11 @@ acl = { var ul = document.createElement('ul'); listitem.appendChild(ul); ajax.elementObj = ul; - ajax.runAJAX(link.search.substr(1)+'&ajax=tree'); + ajax.setVar('ajax', 'tree'); + var frm = $('acl__detail').getElementsByTagName('form')[0]; + ajax.setVar('current_ns', encodeURIComponent(frm.elements['ns'].value)); + ajax.setVar('current_id', encodeURIComponent(frm.elements['id'].value)); + ajax.runAJAX(link.search.substr(1)); clicky.src = DOKU_BASE+'lib/images/minus.gif'; return false; }, -- cgit v1.2.3 From 29586873b45660b9fa2dc5836ff0818664bebe05 Mon Sep 17 00:00:00 2001 From: Michael Hamann Date: Sun, 4 Apr 2010 15:11:53 +0200 Subject: Fixed Arabic password reset The replacements (@...@) were partially translated and had spaces in between. Please don't translate the text between @...@. --- inc/lang/ar/pwconfirm.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/lang/ar/pwconfirm.txt b/inc/lang/ar/pwconfirm.txt index 6b735e291..401053ea0 100644 --- a/inc/lang/ar/pwconfirm.txt +++ b/inc/lang/ar/pwconfirm.txt @@ -1,8 +1,8 @@ -مرحبا @ الاسم الكامل @ +مرحبا @FULLNAME@ -شخص ما طلب كلمة سر جديدة لـحسابك @ المعرف @ في @ DOKUWIURL @ +شخص ما طلب كلمة سر جديدة لـحسابك @TITLE@ في @DOKUWIKIURL@ إذا لم تكن قد طلبت كلمة سر جديدة رجاء قم بتجاهل هذه الرسالة . لتأكيد أنك أنت قمت بطلب كلمة السر الجديدة . نرجو منك الضغط على الرابط في الأسفل . -@ التأكيد @ +@CONFIRM@ -- -لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @ DOKUWIKIURL @ \ No newline at end of file +لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @DOKUWIKIURL@ -- cgit v1.2.3 From 70e083cec45ef4a738ae0b3f20af8e4f288a7dfa Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Sun, 4 Apr 2010 20:24:01 +0200 Subject: class for safely encoding filenames This class tries to satisfy the following requirements: * all ASCII alphanumeric chars in the input should stay the same ASCII alphanumeric chars in the output * the resulting string should be as short as possible * the operation needs to be reversable without any data loss * the resulting ASCII string should be case insensitive * there should be no restriction on the input length * the whole UTF-8 range should be allowed using it creates a way to store UTF-8 in filenames even if the underlying filesystem does not support UTF-8. It is also pretty robust when files are moved between various filesystems and it creates shorter filenames than the currently used urlencoding. --- inc/SafeFN.class.php | 210 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 inc/SafeFN.class.php diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php new file mode 100644 index 000000000..4ce5c94a2 --- /dev/null +++ b/inc/SafeFN.class.php @@ -0,0 +1,210 @@ + ord($adjustment[count($adjustment)-1])) { + $adjusted = $codepoint - count($adjustment); + } else if ($codepoint > ord($adjustment[0])) { + for ($i=1; $i < count($adjustment); $i++) { + if ($codepoint < ord($adjustment[$i])) { + break; + } + } + $adjusted = $codepoint - $i; + } else { + $adjusted = $codepoint; + } + + // substract number of non-printable characters and return + return $adjusted - ord(' '); + } + + private function reverseForPlain($adjusted) { + $adjustment = self::getAdjustments(); + + // reverse adjustment for non-printable characters + $adjusted += ord(' '); + + if ($adjusted + count($adjustment) > ord($adjustment[count($adjustment)-1])) { + $adjusted += count($adjustment); + } else if ($adjusted > ord($adjustment[0])) { + for ($i=1; $i < count($adjustment); $i++) { + if ($adjusted + $i < ord($adjustment[$i])) { + break; + } + } + $adjusted += $i; + } + + return $adjusted; + } + + private function getAdjustments() { + if (empty(self::$adjustments)) { + self::$adjustments = str_split(self::$plain.self::$pre_indicator.self::$post_indicator); + sort(self::$adjustments); + } + + return self::$adjustments; + } +} -- cgit v1.2.3 From f03fd957525a714da1cde7e2957939046bd51bd5 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 4 Apr 2010 20:28:39 +0200 Subject: new fnencode option FS#1649 This patch adds an option to choose how filenames are encoded when saved to the file system. You can choose between urlencoding (url), the new SafeFn method (safe) and storing real UTF-8 (utf-8). --- conf/dokuwiki.php | 1 + inc/load.php | 1 + inc/pageutils.php | 50 +++++++++++++++++++++++++ inc/utf8.php | 39 ------------------- lib/plugins/config/lang/en/lang.php | 1 + lib/plugins/config/settings/config.class.php | 2 +- lib/plugins/config/settings/config.metadata.php | 1 + 7 files changed, 55 insertions(+), 40 deletions(-) diff --git a/conf/dokuwiki.php b/conf/dokuwiki.php index d3823eb94..f2a843f96 100644 --- a/conf/dokuwiki.php +++ b/conf/dokuwiki.php @@ -89,6 +89,7 @@ $conf['usedraft'] = 1; //automatically save a draft while edit $conf['sepchar'] = '_'; //word separator character in page names; may be a // letter, a digit, '_', '-', or '.'. $conf['canonical'] = 0; //Should all URLs use full canonical http://... style? +$conf['fnencode'] = 'url'; //encode filenames (url|safe|utf-8) $conf['autoplural'] = 0; //try (non)plural form of nonexisting files? $conf['compression'] = 'gz'; //compress old revisions: (0: off) ('gz': gnuzip) ('bz2': bzip) // bz2 generates smaller files, but needs more cpu-power diff --git a/inc/load.php b/inc/load.php index faf4e9570..2f5be6d63 100644 --- a/inc/load.php +++ b/inc/load.php @@ -73,6 +73,7 @@ function load_autoload($name){ 'ZipLib' => DOKU_INC.'inc/ZipLib.class.php', 'DokuWikiFeedCreator' => DOKU_INC.'inc/feedcreator.class.php', 'Doku_Parser_Mode' => DOKU_INC.'inc/parser/parser.php', + 'SafeFN' => DOKU_INC.'inc/SafeFN.class.php', 'DokuWiki_Action_Plugin' => DOKU_PLUGIN.'action.php', 'DokuWiki_Admin_Plugin' => DOKU_PLUGIN.'admin.php', diff --git a/inc/pageutils.php b/inc/pageutils.php index cd3cf1fce..43c84038f 100644 --- a/inc/pageutils.php +++ b/inc/pageutils.php @@ -543,3 +543,53 @@ function prettyprint_id($id) { } return hsc($id); } + +/** + * Encode a UTF-8 filename to use on any filesystem + * + * Uses the 'fnencode' option to determine encoding + * + * When the second parameter is true the string will + * be encoded only if non ASCII characters are detected - + * This makes it safe to run it multiple times on the + * same string (default is true) + * + * @author Andreas Gohr + * @see urlencode + */ +function utf8_encodeFN($file,$safe=true){ + global $conf; + if($conf['fnencode'] == 'utf-8') return $file; + + if($safe && preg_match('#^[a-zA-Z0-9/_\-\.%]+$#',$file)){ + return $file; + } + + if($conf['fnencode'] == 'safe'){ + return SafeFN::encode($file); + } + + $file = urlencode($file); + $file = str_replace('%2F','/',$file); + return $file; +} + +/** + * Decode a filename back to UTF-8 + * + * Uses the 'fnencode' option to determine encoding + * + * @author Andreas Gohr + * @see urldecode + */ +function utf8_decodeFN($file){ + global $conf; + if($conf['fnencode'] == 'utf-8') return $file; + + if($conf['fnencode'] == 'safe'){ + return SafeFN::decode($file); + } + + return urldecode($file); +} + diff --git a/inc/utf8.php b/inc/utf8.php index b078540d2..c10e33ffa 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -19,45 +19,6 @@ if(!defined('UTF8_MBSTRING')){ if(UTF8_MBSTRING){ mb_internal_encoding('UTF-8'); } -if(!function_exists('utf8_encodeFN')){ - /** - * URL-Encode a filename to allow unicodecharacters - * - * Slashes are not encoded - * - * When the second parameter is true the string will - * be encoded only if non ASCII characters are detected - - * This makes it safe to run it multiple times on the - * same string (default is true) - * - * @author Andreas Gohr - * @see urlencode - */ - function utf8_encodeFN($file,$safe=true){ - if($safe && preg_match('#^[a-zA-Z0-9/_\-.%]+$#',$file)){ - return $file; - } - $file = urlencode($file); - $file = str_replace('%2F','/',$file); - return $file; - } -} - -if(!function_exists('utf8_decodeFN')){ - /** - * URL-Decode a filename - * - * This is just a wrapper around urldecode - * - * @author Andreas Gohr - * @see urldecode - */ - function utf8_decodeFN($file){ - $file = urldecode($file); - return $file; - } -} - if(!function_exists('utf8_isASCII')){ /** * Checks if a string contains 7bit ASCII only diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 2bcd17c12..dd13464fe 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -116,6 +116,7 @@ $lang['useslash'] = 'Use slash as namespace separator in URLs'; $lang['usedraft'] = 'Automatically save a draft while editing'; $lang['sepchar'] = 'Page name word separator'; $lang['canonical'] = 'Use fully canonical URLs'; +$lang['fnencode'] = 'Method for encoding non-ASCII filenames.'; $lang['autoplural'] = 'Check for plural forms in links'; $lang['compression'] = 'Compression method for attic files'; $lang['cachetime'] = 'Maximum age for cache (sec)'; diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index b7428bf6c..2a1d3a28f 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -343,7 +343,7 @@ if (!class_exists('setting')) { var $_cautionList = array( 'basedir' => 'danger', 'baseurl' => 'danger', 'savedir' => 'danger', 'useacl' => 'danger', 'authtype' => 'danger', 'superuser' => 'danger', 'userewrite' => 'danger', 'start' => 'warning', 'camelcase' => 'warning', 'deaccent' => 'warning', 'sepchar' => 'warning', 'compression' => 'warning', 'xsendfile' => 'warning', 'renderer_xhtml' => 'warning', - 'allowdebug' => 'security', 'htmlok' => 'security', 'phpok' => 'security', 'iexssprotect' => 'security', 'xmlrpc' => 'security' + 'allowdebug' => 'security', 'htmlok' => 'security', 'phpok' => 'security', 'iexssprotect' => 'security', 'xmlrpc' => 'security', 'fnencode' => 'warning' ); function setting($key, $params=NULL) { diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index cea191f56..316b4d1c5 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -171,6 +171,7 @@ $meta['userewrite'] = array('multichoice','_choices' => array(0,1,2)); $meta['useslash'] = array('onoff'); $meta['sepchar'] = array('sepchar'); $meta['canonical'] = array('onoff'); +$meta['fnencode'] = array('multichoice','_choices' => array('url','safe','utf-8')); $meta['autoplural'] = array('onoff'); $meta['mailfrom'] = array('richemail'); $meta['compress'] = array('onoff'); -- cgit v1.2.3 From dcee16d694a9c39beaca3c59d970652f528a999c Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Sun, 4 Apr 2010 21:31:42 +0100 Subject: Update SafeFN class, simplify and improve performance --- inc/SafeFN.class.php | 216 +++++++++++++++++++-------------------------------- 1 file changed, 81 insertions(+), 135 deletions(-) diff --git a/inc/SafeFN.class.php b/inc/SafeFN.class.php index 4ce5c94a2..b6e477fab 100644 --- a/inc/SafeFN.class.php +++ b/inc/SafeFN.class.php @@ -15,196 +15,142 @@ */ class SafeFN { - private static $plain = '/_-0123456789abcdefghijklmnopqrstuvwxyz'; // these characters aren't converted + // 'safe' characters are a superset of $plain, $pre_indicator and $post_indicator + private static $plain = '-/_0123456789abcdefghijklmnopqrstuvwxyz'; // these characters aren't converted private static $pre_indicator = '%'; - private static $post_indicator = '.'; // this character can be included in "plain" set - private static $adjustments = array(); // must be initialized, use getAdjustments() + private static $post_indicator = '.'; /** * Convert an UTF-8 string to a safe ASCII String * * conversion process - * - if codepoint is a plain character, - * - if previous character was "converted", append post_indicator - * to output - * - append ascii byte for character to output (continue to - * next character) + * - if codepoint is a plain or post_indicator character, + * - if previous character was "converted", append post_indicator to output, clear "converted" flag + * - append ascii byte for character to output + * (continue to next character) * - * - reduce codepoint value to fill the holes left by "plain" - * - choose marker character for conversion by taking modulus - * (number of possible pre_indicators) of modified codepoint - * - calculate value for conversion to base36 by integer division - * (number of possible pre_indicators) of modified codepoint - * - convert above value to a base36 string - * - append marker characater followed by base36 string to - * output (continue to next character) + * - if codepoint is a pre_indicator character, + * - append ascii byte for character to output, set "converted" flag + * (continue to next character) + * + * (all remaining characters) + * - reduce codepoint value for non-printable ASCII characters (0x00 - 0x1f). Space becomes our zero. + * - convert reduced value to base36 (0-9a-z) + * - append $pre_indicator characater followed by base36 string to output, set converted flag + * continue to next character) + * + * @param string $filename a utf8 string, should only include printable characters - not 0x00-0x1f + * @return string an encoded representation of $filename using only 'safe' ASCII characters + * + * @author Christopher Smith */ - public function encode($utf8) { - return self::unicode_safe(self::utf8_unicode($utf8)); + public function encode($filename) { + return self::unicode_to_safe(utf8_to_unicode($filename)); } /** * decoding process - * - split the string into substrings at marker characters, - * discarding post_indicator character but keeping - * pre_indicator characters (along with their following - * base36 string) + * - split the string into substrings at any occurrence of pre or post indicator characters * - check the first character of the substring - * - if its not a pre_indicator character, convert each - * character in the substring into its codepoint value - * and append to output (continue to next substring) - * - if it is a pre_indicator character, get its position in the - * pre_indicator string (order is important) - * - convert the remainder of the string from base36 to base10 - * and then to an (int). - * - multiply the converted int by the number of pre_indicator - * characters and add the pre_indicator position - * - reverse the conversion adjustment for codepoint holes left by - * "plain" characters - * - append resulting codepoint value to output (continue to next - * substring) + * - if its not a pre_indicator character + * - if previous character was converted, skip over post_indicator character + * - copy codepoint values of remaining characters to the output array + * - clear any converted flag + * (continue to next substring) + * + * _ else (its a pre_indicator character) + * - if string length is 1, copy the post_indicator character to the output array + * (continue to next substring) + * + * - else (string length > 1) + * - skip the pre-indicator character and convert remaining string from base36 to base10 + * - increase codepoint value for non-printable ASCII characters (add 0x20) + * - append codepoint to output array + * (continue to next substring) + * + * @param string $filename a 'safe' encoded ASCII string, + * @return string decoded utf8 representation of $filename + * + * @author Christopher Smith */ - public function decode($safe) { - return self::unicode_utf8(self::safe_unicode(strtolower($safe))); + public function decode($filename) { + return unicode_to_utf8(self::safe_to_unicode(strtolower($filename))); } public function validate_printable_utf8($printable_utf8) { - return !preg_match('/[\x01-\x1f]/',$printable_utf8); + return !preg_match('#[\x01-\x1f]#',$printable_utf8); } public function validate_safe($safe) { - return !preg_match('/[^'.self::$plain.self::$post_indicator.self::$pre_indicator.']/',$safe); + return !preg_match('#[^'.self::$plain.self::$post_indicator.self::$pre_indicator.']#',$safe); } - private function utf8_unicode($utf8) { - return utf8_to_unicode($utf8); - } - - private function unicode_utf8($unicode) { - return unicode_to_utf8($unicode); - } - - private function unicode_safe($unicode) { + /** + * convert an array of unicode codepoints into 'safe_filename' format + * + * @param array int $unicode an array of unicode codepoints + * @return string the unicode represented in 'safe_filename' format + * + * @author Christopher Smith + */ + private function unicode_to_safe($unicode) { $safe = ''; $converted = false; foreach ($unicode as $codepoint) { - if (self::isPlain($codepoint)) { + if ($codepoint < 127 && (strpos(self::$plain.self::$post_indicator,chr($codepoint))!==false)) { if ($converted) { $safe .= self::$post_indicator; $converted = false; } $safe .= chr($codepoint); - } else if (self::isPreIndicator($codepoint)) { + } else if ($codepoint == ord(self::$pre_indicator)) { + $safe .= self::$pre_indicator; $converted = true; - $safe .= chr($codepoint); - } else { + $safe .= self::$pre_indicator.base_convert((string)($codepoint-32),10,36); $converted = true; - $adjusted = self::adjustForPlain($codepoint); - - $marker = $adjusted % strlen(self::$pre_indicator); - $base = (int) ($adjusted / strlen(self::$pre_indicator)); - - $safe .= self::$pre_indicator[$marker]; - $safe .= base_convert((string)$base,10,36); } } return $safe; } - private function safe_unicode($safe) { + /** + * convert a 'safe_filename' string into an array of unicode codepoints + * + * @param string $safe a filename in 'safe_filename' format + * @return array int an array of unicode codepoints + * + * @author Christopher Smith + */ + private function safe_to_unicode($safe) { + $unicode = array(); - $split = preg_split('/(?=['.self::$post_indicator.self::$pre_indicator.'])/',$safe,-1,PREG_SPLIT_NO_EMPTY); + $split = preg_split('#(?=['.self::$post_indicator.self::$pre_indicator.'])#',$safe,-1,PREG_SPLIT_NO_EMPTY); $converted = false; foreach ($split as $sub) { - if (($marker = strpos(self::$pre_indicator,$sub[0])) === false) { - if ($converted) { - // strip post_indicator - $sub = substr($sub,1); - $converted = false; - } - for ($i=0; $i < strlen($sub); $i++) { + if ($sub[0] != self::$pre_indicator) { + // plain (unconverted) characters, optionally starting with a post_indicator + // set initial value to skip any post_indicator + for ($i=($converted?1:0); $i < strlen($sub); $i++) { $unicode[] = ord($sub[$i]); } + $converted = false; } else if (strlen($sub)==1) { - $converted = true; + // a pre_indicator character in the real data $unicode[] = ord($sub); + $converted = true; } else { - // a single codepoint in our base + // a single codepoint in base36, adjusted for initial 32 non-printable chars + $unicode[] = 32 + (int)base_convert(substr($sub,1),36,10); $converted = true; - $base = (int)base_convert(substr($sub,1),36,10); - $adjusted = ($base*strlen(self::$pre_indicator)) + $marker; - - $unicode[] = self::reverseForPlain($adjusted); } } return $unicode; } - private function isPlain($codepoint) { - return ($codepoint < 127 && (strpos(self::$plain.self::$post_indicator,chr($codepoint))!==false)); - } - - private function isPreIndicator($codepoint) { - return ($codepoint < 127 && (strpos(self::$pre_indicator,chr($codepoint)) !== false)); - } - - /** - * adjust for plain and non-printable (ascii 0-31) - * this makes SPACE (0x20) the first character we allow - */ - private function adjustForPlain($codepoint) { - $adjustment = self::getAdjustments(); - - // codepoint is higher than that of the plain character with the highest codepoint - if ($codepoint > ord($adjustment[count($adjustment)-1])) { - $adjusted = $codepoint - count($adjustment); - } else if ($codepoint > ord($adjustment[0])) { - for ($i=1; $i < count($adjustment); $i++) { - if ($codepoint < ord($adjustment[$i])) { - break; - } - } - $adjusted = $codepoint - $i; - } else { - $adjusted = $codepoint; - } - - // substract number of non-printable characters and return - return $adjusted - ord(' '); - } - - private function reverseForPlain($adjusted) { - $adjustment = self::getAdjustments(); - - // reverse adjustment for non-printable characters - $adjusted += ord(' '); - - if ($adjusted + count($adjustment) > ord($adjustment[count($adjustment)-1])) { - $adjusted += count($adjustment); - } else if ($adjusted > ord($adjustment[0])) { - for ($i=1; $i < count($adjustment); $i++) { - if ($adjusted + $i < ord($adjustment[$i])) { - break; - } - } - $adjusted += $i; - } - - return $adjusted; - } - - private function getAdjustments() { - if (empty(self::$adjustments)) { - self::$adjustments = str_split(self::$plain.self::$pre_indicator.self::$post_indicator); - sort(self::$adjustments); - } - - return self::$adjustments; - } } -- cgit v1.2.3 From c5c9e5ff8543947d9d7de31b2c4db510ebc41866 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Sun, 4 Apr 2010 22:26:50 +0100 Subject: SafeFN test cases --- _test/cases/inc/safefn.test.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 _test/cases/inc/safefn.test.php diff --git a/_test/cases/inc/safefn.test.php b/_test/cases/inc/safefn.test.php new file mode 100644 index 000000000..fb0d812d7 --- /dev/null +++ b/_test/cases/inc/safefn.test.php @@ -0,0 +1,33 @@ +assertEqual(SafeFN::encode($utf8),$safe); + $this->assertEqual(SafeFN::decode($safe),$utf8); + } + } + +} +//Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From 94f1f78b9d937c58369e0346233ea8dbf40a0cca Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Thu, 8 Apr 2010 11:45:05 +0200 Subject: Arabic language update --- inc/lang/ar/lang.php | 50 +++++++++++++++++++++++--------- inc/lang/ar/pwconfirm.txt | 8 ++--- lib/plugins/acl/lang/ar/lang.php | 1 + lib/plugins/config/lang/ar/lang.php | 39 +++++++++++++++++++++++++ lib/plugins/plugin/lang/ar/lang.php | 1 + lib/plugins/popularity/lang/ar/lang.php | 1 + lib/plugins/revert/lang/ar/lang.php | 1 + lib/plugins/usermanager/lang/ar/lang.php | 1 + 8 files changed, 84 insertions(+), 18 deletions(-) diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index fca67ce9d..b1bd38383 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -5,6 +5,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Mostafa Hussein * @author Yaman Hokan + * @author Usama Akkad */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'rtl'; @@ -38,7 +39,6 @@ $lang['btn_back'] = 'رجوع'; $lang['btn_backlink'] = 'ارتباطات'; $lang['btn_backtomedia'] = 'رجوع إلى اختيار ملف الوسائط'; $lang['btn_subscribe'] = 'اشترك في التعديلات'; -$lang['btn_unsubscribe'] = 'إلغاء الاشتراك في التعديلات'; $lang['btn_profile'] = 'تحديث الملف الشخصي'; $lang['btn_reset'] = 'تفريغ'; $lang['btn_resendpwd'] = 'إرسال كلمة مرور جديدة'; @@ -81,14 +81,46 @@ $lang['resendpwdnouser'] = 'عذراً، لدينا هذا المشترك $lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد أنك استخدمت كامل وصلة التأكيد'; $lang['resendpwdconfirm'] = 'تم إرسال وصلة تأكيد إلى بريدك الإلكتروني'; $lang['resendpwdsuccess'] = 'كلمة مرورك الجديدة تم إرسالها عبر البريد الإلكتروني'; +$lang['license'] = 'مالم يشر لخلاف ذلك، فإن المحتوى على هذه الويكي مرخص وفق الرخصة التالية:'; +$lang['licenseok'] = 'لاحظ: بتحرير هذه الصفحة أنت توافق على ترخيص محتواها تحت الرخصة التالية:'; $lang['searchmedia'] = 'البحث عن اسم الملف : '; +$lang['searchmedia_in'] = 'ابحث في %s'; $lang['txt_upload'] = 'اختر ملفاً للتحميل'; $lang['txt_filename'] = 'تحميل باسم - اختياري'; $lang['txt_overwrt'] = 'الكتابة على ملف موجود بنفس الاسم مسموحة'; $lang['lockedby'] = 'حالياً مقفول بواسطة'; $lang['lockexpire'] = 'سينتهي القفل في'; $lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة. لتجنب التعارض استخدم زر استعراض لبدأ القفل من جديد'; -$lang['js']['notsavedyet'] = "التعديلات التي لم تحفظ ستفقد. أموافق ؟"; +$lang['js']['notsavedyet'] = 'التعديلات التي لم تحفظ ستفقد. أموافق ؟'; +$lang['js']['searchmedia'] = 'البحث عن الملفات'; +$lang['js']['keepopen'] = 'أبقي النافذة مفتوحة أثناء الاختيار'; +$lang['js']['hidedetails'] = 'إخفاء التفاصيل'; +$lang['js']['mediatitle'] = 'اعدادات الرابط'; +$lang['js']['mediadisplay'] = 'نوع الرابط'; +$lang['js']['mediaalign'] = 'المحاذاة'; +$lang['js']['mediasize'] = 'حجم الصورة'; +$lang['js']['mediatarget'] = 'هدف الرابط'; +$lang['js']['mediaclose'] = 'اغلق'; +$lang['js']['mediainsert'] = 'أدرج'; +$lang['js']['mediadisplayimg'] = 'اظهر الصورة.'; +$lang['js']['mediadisplaylnk'] = 'اظهر الرابط فقط.'; +$lang['js']['mediasmall'] = 'نسخة مصغرة'; +$lang['js']['mediamedium'] = 'نسخة متوسطة'; +$lang['js']['medialarge'] = 'نسخة كبيرة'; +$lang['js']['mediaoriginal'] = 'نسخة أصلية'; +$lang['js']['medialnk'] = 'الرابط لصفحة التفاصيل'; +$lang['js']['mediadirect'] = 'رابط مباشر للأصل'; +$lang['js']['medianolnk'] = 'لا رابط'; +$lang['js']['medianolink'] = 'لا تربط الصورة'; +$lang['js']['medialeft'] = 'حاذي الصورة إلى اليسار.'; +$lang['js']['mediaright'] = 'حاذي الصورة إلى اليمين.'; +$lang['js']['mediacenter'] = 'حاذي الصورة إلى الوسط.'; +$lang['js']['medianoalign'] = 'لا تستعمل المحاذاة.'; +$lang['js']['nosmblinks'] = 'الروابط لمجلدات ويندوز المشاركة تعمل فقط مع متصفح مايكروسفت Internet Explorer. ما زال بإمكانك قص و لصق الرابط.'; +$lang['js']['linkwiz'] = 'مرشد الروابط'; +$lang['js']['linkto'] = 'الرابط إلى :'; +$lang['js']['del_confirm'] = 'هل حقاً تريد حذف البنود المختارة؟'; +$lang['js']['mu_btn'] = 'رفع عدة ملفات في وقت واحد'; $lang['rssfailed'] = 'خطأ ما حدث أثناء جلب ملف التغذية:'; $lang['nothingfound'] = 'لا يوجد شيء'; $lang['mediaselect'] = 'ملفات الوسائط المتعددة'; @@ -106,13 +138,6 @@ $lang['deletefail'] = 'لا يمكن حذف "%s"، تأكد من تر $lang['mediainuse'] = 'لم يحذف الملف "%s"، مازال موجوداً'; $lang['namespaces'] = 'فضاء التسمية'; $lang['mediafiles'] = 'ملفات موجودة في'; -$lang['js']['searchmedia'] = 'البحث عن الملفات'; -$lang['js']['keepopen'] = 'أبقي النافذة مفتوحة أثناء الاختيار'; -$lang['js']['hidedetails'] = 'إخفاء التفاصيل'; -$lang['js']['nosmblinks'] = 'الروابط لمجلدات ويندوز المشاركة تعمل فقط مع متصفح مايكروسفت Internet Explorer. ما زال بإمكانك قص و لصق الرابط.'; -$lang['js']['linkto'] = 'الرابط إلى :'; -$lang['js']['del_confirm'] = 'هل حقاً تريد حذف البنود المختارة؟'; -$lang['js']['mu_btn'] = 'رفع عدة ملفات في وقت واحد'; $lang['mediausage'] = 'استخدم هذه الصياغة للدلالة على هذا الملف:'; $lang['mediaview'] = 'عرض الملف الأصلي'; $lang['mediaroot'] = 'الجذر'; @@ -138,6 +163,8 @@ $lang['created'] = 'تم إنشاء'; $lang['restored'] = 'عودة لنسخة قديمة'; $lang['external_edit'] = 'تحرير خارجي'; $lang['summary'] = 'ملخص التحرير'; +$lang['noflash'] = 'تحتاج إلىملحق فلاش أدوبي لعرض هذا المحتوى.'; +$lang['download'] = 'نزل Snippet'; $lang['mail_newpage'] = 'إضافة صفحة:'; $lang['mail_changed'] = 'تعديل صفحة:'; $lang['mail_new_user'] = 'مشترك جديد'; @@ -176,11 +203,6 @@ $lang['img_copyr'] = 'حقوق النسخ'; $lang['img_format'] = 'صيغ رسومية'; $lang['img_camera'] = 'آلة التصوير'; $lang['img_keywords'] = 'كلمات مفتاحية'; -$lang['subscribe_success'] = 'تم إضافة %s لقائمة الاشتراكات %s'; -$lang['subscribe_error'] = 'حدث خطأ فى إضافة %s لقائمة الاشتراكات %s'; -$lang['subscribe_noaddress'] = 'لا يوجد عنوان مرفق مع بيانات تسجيلك، لا يمكن إضافتك إلى قائمة الاشتراكات'; -$lang['unsubscribe_success'] = 'تم حذف%s من قائمة الاشتراكات %s'; -$lang['unsubscribe_error'] = 'حدث خطأ فى حذف %s من قائمة الاشتراكات %s'; $lang['authmodfailed'] = 'إعدادات تصريح فاسدة، يرجى مراسلة المدير.'; $lang['authtempfail'] = 'تصريح المشترك غير متوفر مؤقتاً، إن استمرت هذه الحالة يرجى مراسلة المدير'; $lang['i_chooselang'] = 'اختر لغتك'; diff --git a/inc/lang/ar/pwconfirm.txt b/inc/lang/ar/pwconfirm.txt index 401053ea0..6b735e291 100644 --- a/inc/lang/ar/pwconfirm.txt +++ b/inc/lang/ar/pwconfirm.txt @@ -1,8 +1,8 @@ -مرحبا @FULLNAME@ +مرحبا @ الاسم الكامل @ -شخص ما طلب كلمة سر جديدة لـحسابك @TITLE@ في @DOKUWIKIURL@ +شخص ما طلب كلمة سر جديدة لـحسابك @ المعرف @ في @ DOKUWIURL @ إذا لم تكن قد طلبت كلمة سر جديدة رجاء قم بتجاهل هذه الرسالة . لتأكيد أنك أنت قمت بطلب كلمة السر الجديدة . نرجو منك الضغط على الرابط في الأسفل . -@CONFIRM@ +@ التأكيد @ -- -لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @DOKUWIKIURL@ +لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @ DOKUWIKIURL @ \ No newline at end of file diff --git a/lib/plugins/acl/lang/ar/lang.php b/lib/plugins/acl/lang/ar/lang.php index ced250243..e3e04a6c4 100644 --- a/lib/plugins/acl/lang/ar/lang.php +++ b/lib/plugins/acl/lang/ar/lang.php @@ -5,6 +5,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Mostafa Hussein * @author Yaman Hokan + * @author Usama Akkad */ $lang['admin_acl'] = 'إدارة قوائم التحكم بالدخول'; $lang['acl_group'] = 'مجموعة'; diff --git a/lib/plugins/config/lang/ar/lang.php b/lib/plugins/config/lang/ar/lang.php index 03aa99b91..c62fe594b 100644 --- a/lib/plugins/config/lang/ar/lang.php +++ b/lib/plugins/config/lang/ar/lang.php @@ -3,5 +3,44 @@ * Arabic language file * * @author Yaman Hokan + * @author Usama Akkad */ $lang['menu'] = 'الإعدادات'; +$lang['error'] = 'لم تحدث الاعدادات بسبب قيمة غير صالحة، رجاء راجع تغييراتك ثم ارسلها. +
القيم الخاطئة ستظهر محاطة بحدود حمراء.'; +$lang['updated'] = 'رفعت الاعدادات بنجاح.'; +$lang['nochoice'] = '(لا خيارات اخرى متاحة)'; +$lang['locked'] = 'تعذر تحديث ملف الاعدادات، إن لم يكن ذلك مقصودا،
+تأكد من صحة اسم و صلاحيات ملف الاعدادات المحلي.'; +$lang['danger'] = 'خطر: تغيير هذا الخيار قد يؤدي إلى تعذر الوصول للويكي و قائمة الاعدادات.'; +$lang['warning'] = 'تحذير: تغييرهذا الخيار قد يؤدي لسلوك غير متوقع.'; +$lang['security'] = 'تحذير أمني: تغيير هذا الخيار قد يؤدي إلى مخاطرة أمنية.'; +$lang['_configuration_manager'] = 'مدير الاعدادات'; +$lang['_header_dokuwiki'] = 'اعدادات دوكي ويكي'; +$lang['_header_plugin'] = 'اعدادات الملحقات'; +$lang['_header_template'] = 'اعدادات القوالب'; +$lang['_header_undefined'] = 'اعدادات غير محددة'; +$lang['_basic'] = 'اعدادات اساسية'; +$lang['_display'] = 'اعدادات العرض'; +$lang['_authentication'] = 'اعدادات المواثقة'; +$lang['_anti_spam'] = 'اعدادات مضاد النفاية'; +$lang['_editing'] = 'اعدادات التحرير'; +$lang['_links'] = 'اعدادات الروابط'; +$lang['_media'] = 'اعدادات الوسائط'; +$lang['_advanced'] = 'اعدادات متقدمة'; +$lang['_network'] = 'اعدادات الشبكة'; +$lang['_plugin_sufix'] = 'اعدادات الملحقات'; +$lang['_template_sufix'] = 'اعدادات القوالب'; +$lang['_msg_setting_undefined'] = 'لا بيانات إعدادات.'; +$lang['_msg_setting_no_default'] = 'لا قيمة افتراضية.'; +$lang['fmode'] = 'نمط انشاء الملفات'; +$lang['dmode'] = 'نمط انشاء المجلدات'; +$lang['lang'] = 'لغة الواجهة'; +$lang['basedir'] = 'مسار الخادوم (مثال. /dokuwiki/) اترك فارغا للاكتشاف التلقائي.'; +$lang['baseurl'] = 'عنوان الخادوم (مثال. http://www.yourserver.com). اترك فارغا للاكتشاف التلقائي.'; +$lang['savedir'] = 'دليل حفظ البيانات'; +$lang['start'] = 'اسم صفحة البداية'; +$lang['title'] = 'عنوان الويكي'; +$lang['template'] = 'القالب'; +$lang['license'] = 'تحت أي رخصة تريد اصدار المحتوى؟'; +$lang['fullpath'] = 'اظهر المحتوى الكامل للصفحات في '; diff --git a/lib/plugins/plugin/lang/ar/lang.php b/lib/plugins/plugin/lang/ar/lang.php index cda6f4a63..dbbcbd07a 100644 --- a/lib/plugins/plugin/lang/ar/lang.php +++ b/lib/plugins/plugin/lang/ar/lang.php @@ -3,6 +3,7 @@ * Arabic language file * * @author Yaman Hokan + * @author Usama Akkad */ $lang['btn_delete'] = 'حذف'; $lang['btn_settings'] = 'خيارات'; diff --git a/lib/plugins/popularity/lang/ar/lang.php b/lib/plugins/popularity/lang/ar/lang.php index cdab0cf43..d1d05c789 100644 --- a/lib/plugins/popularity/lang/ar/lang.php +++ b/lib/plugins/popularity/lang/ar/lang.php @@ -3,4 +3,5 @@ * Arabic language file * * @author Yaman Hokan + * @author Usama Akkad */ diff --git a/lib/plugins/revert/lang/ar/lang.php b/lib/plugins/revert/lang/ar/lang.php index cdab0cf43..d1d05c789 100644 --- a/lib/plugins/revert/lang/ar/lang.php +++ b/lib/plugins/revert/lang/ar/lang.php @@ -3,4 +3,5 @@ * Arabic language file * * @author Yaman Hokan + * @author Usama Akkad */ diff --git a/lib/plugins/usermanager/lang/ar/lang.php b/lib/plugins/usermanager/lang/ar/lang.php index 88a115de2..b6aff8120 100644 --- a/lib/plugins/usermanager/lang/ar/lang.php +++ b/lib/plugins/usermanager/lang/ar/lang.php @@ -3,6 +3,7 @@ * Arabic language file * * @author Yaman Hokan + * @author Usama Akkad */ $lang['user_id'] = 'اسم المستخدم'; $lang['user_pass'] = 'كلمة السر'; -- cgit v1.2.3 From 28a7a6433920fcafa4c345badb9b4a185932fbe9 Mon Sep 17 00:00:00 2001 From: Martin Michalek Date: Fri, 9 Apr 2010 08:24:07 +0200 Subject: Slovak language update --- inc/lang/sk/admin.txt | 2 +- inc/lang/sk/conflict.txt | 2 +- inc/lang/sk/denied.txt | 2 +- inc/lang/sk/diff.txt | 2 +- inc/lang/sk/draft.txt | 2 +- inc/lang/sk/edit.txt | 2 +- inc/lang/sk/editrev.txt | 2 +- inc/lang/sk/index.txt | 2 +- inc/lang/sk/install.html | 10 ++-- inc/lang/sk/lang.php | 85 ++++++++++++++------------------ inc/lang/sk/locked.txt | 2 +- inc/lang/sk/mailtext.txt | 2 +- inc/lang/sk/read.txt | 2 +- inc/lang/sk/register.txt | 2 +- inc/lang/sk/resendpwd.txt | 2 +- inc/lang/sk/stopwords.txt | 4 +- lib/plugins/acl/lang/sk/help.txt | 4 +- lib/plugins/config/lang/sk/lang.php | 4 +- lib/plugins/plugin/lang/sk/lang.php | 16 +++--- lib/plugins/popularity/lang/sk/intro.txt | 6 +-- lib/plugins/revert/lang/sk/lang.php | 4 +- lib/plugins/usermanager/lang/sk/lang.php | 8 +-- 22 files changed, 79 insertions(+), 88 deletions(-) diff --git a/inc/lang/sk/admin.txt b/inc/lang/sk/admin.txt index 039da2ae2..510eeb9c8 100644 --- a/inc/lang/sk/admin.txt +++ b/inc/lang/sk/admin.txt @@ -1,5 +1,5 @@ ====== Administrácia ====== -Nižšie môžte nájsť zoznam administratívnych úloch, ktoré môžte vykonávať v DokuWiki. +Nižšie môžete nájsť zoznam administratívnych úloh dostupných v DokuWiki. diff --git a/inc/lang/sk/conflict.txt b/inc/lang/sk/conflict.txt index d3cd0f590..5dab2dbe1 100644 --- a/inc/lang/sk/conflict.txt +++ b/inc/lang/sk/conflict.txt @@ -1,5 +1,5 @@ ====== Existuje novšia verzia ====== -Existuje novšia verzia práve upravovaného dokumentu. To se stáva, keď niekto iný zmenil dokument, ktorý práve upravujete. +Existuje novšia verzia práve upravovaného dokumentu. To sa stáva, keď niekto iný zmenil dokument, ktorý práve upravujete. Prehliadnite si nižšie uvedené rozdiely, prípadne rozdiely z obidvoch verzií ručne spojte dohromady a rozhodnite sa, ktorú verziu uchovať. Ak zvolíte ''Uložiť', bude uložená vaša verzia. V opačnom prípade stlačte ''Storno'' pre uchovanie pôvodnej verzie. diff --git a/inc/lang/sk/denied.txt b/inc/lang/sk/denied.txt index 6f673c7d6..6e9c98496 100644 --- a/inc/lang/sk/denied.txt +++ b/inc/lang/sk/denied.txt @@ -1,3 +1,3 @@ ====== Nepovolená akcia ====== -Prepáčte, ale nemáte dostatočné oprávnenie k tejto činnosti. Možno ste se zabudli prihlásiť? +Prepáčte, ale nemáte dostatočné oprávnenie k tejto činnosti. Možno ste sa zabudli prihlásiť? diff --git a/inc/lang/sk/diff.txt b/inc/lang/sk/diff.txt index 0e29e7f7b..0548ea5d6 100644 --- a/inc/lang/sk/diff.txt +++ b/inc/lang/sk/diff.txt @@ -1,4 +1,4 @@ ====== Rozdiely ====== -Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verzou danej stránky. +Tu môžete vidieť rozdiely medzi vybranou verziou a aktuálnou verziou danej stránky. diff --git a/inc/lang/sk/draft.txt b/inc/lang/sk/draft.txt index 7e6776deb..96a4e91b2 100644 --- a/inc/lang/sk/draft.txt +++ b/inc/lang/sk/draft.txt @@ -2,5 +2,5 @@ Vaša posledná editácia tejto stránky nebola ukončená korektne. Dokuwiki automaticky uložila počas vašej práce koncept a ten môžete teraz použiť pre pokračovanie editácie. Nižšie môžete vidieť dáta, ktoré boli uložené. -Prosím, rozhodnite sa, či chcete //obnoviť// vašu poslednú editáciu, //zmazať// automaticky uložený koncept, alebo //stornovať// proces editácie. +Prosím, rozhodnite sa, či chcete //obnoviť// vašu poslednú editáciu, //zmazať// automaticky uložený koncept alebo //stornovať// proces editácie. diff --git a/inc/lang/sk/edit.txt b/inc/lang/sk/edit.txt index 1adf4e16f..b8d63fb72 100644 --- a/inc/lang/sk/edit.txt +++ b/inc/lang/sk/edit.txt @@ -1 +1 @@ -Upravte stránku a stlačte ''Uložiť''. Na stránke [[wiki:syntax]] sa môžete dozvedieť viac o Wiki syntaxi. Prosím upravujte stránky len pokiaľ ich môžete **vylepšit**. Pokiaľ si chcete niečo len vyskúšať, použite [[playground:playground| pieskovisko]]. +Upravte stránku a stlačte ''Uložiť''. Na stránke [[wiki:syntax]] sa môžete dozvedieť viac o Wiki syntaxi. Prosím upravujte stránky, len pokiaľ ich môžete **zdokonaliť**. Pokiaľ si chcete niečo len vyskúšať, použite [[playground:playground| pieskovisko]]. diff --git a/inc/lang/sk/editrev.txt b/inc/lang/sk/editrev.txt index 6a837c244..ed15e791c 100644 --- a/inc/lang/sk/editrev.txt +++ b/inc/lang/sk/editrev.txt @@ -1 +1 @@ -**Máte načítanú staršiu verziu dokumentu!** Pokiaľ ju uložíte, vytvoríte tým novú aktuálnú verziu. +**Máte načítanú staršiu verziu dokumentu!** Pokiaľ ju uložíte, vytvoríte tým novú aktuálnu verziu. diff --git a/inc/lang/sk/index.txt b/inc/lang/sk/index.txt index 7b26d42ce..b4189f214 100644 --- a/inc/lang/sk/index.txt +++ b/inc/lang/sk/index.txt @@ -1,3 +1,3 @@ ====== Index ====== -Tu je k dispozícii index všetkých dostupných stránok Zoradených podľa [[doku>namespaces|menných priestorov]]. +Tu je k dispozícii index všetkých dostupných stránok zoradených podľa [[doku>namespaces|menných priestorov]]. diff --git a/inc/lang/sk/install.html b/inc/lang/sk/install.html index c45b82005..e31d7457c 100644 --- a/inc/lang/sk/install.html +++ b/inc/lang/sk/install.html @@ -1,23 +1,23 @@

Táto stránka sprevádza prvou inštaláciou a konfiguráciou -Dokuwiki. Viac informácií o tomto Inštalátore je dostupných na jeho +Dokuwiki. Viac informácií o tomto inštalátore je dostupných na jeho dokumentačnej stránke.

DokuWiki používa bežné súbory pre ukladanie wiki stránok a iných informácií priradených k týmto stránkam (napr. obrázkov, vyhľadávacích indexov, starých revízií). Ak chcete úspešne narábať s DokuWiki, musí -mať práva pre zápis do adresárov, kde sa ukladajú tieto súbory. Tento Inštalátor +mať práva pre zápis do adresárov, kde sa ukladajú tieto súbory. Tento inštalátor nie je schopný nastaviť prístupové práva pre adresáre. Je potrebné to urobiť -priamo cez príkazový riadok, alebo ak využívate webhosting, cez FTP, alebo vaše +priamo cez príkazový riadok alebo, ak využívate webhosting, cez FTP alebo vaše webhostingové administračné rozhranie.

-

Tento Inštalátor nastaví ACL +

Tento inštalátor nastaví ACL konfiguráciu vašej Dokuwiki. Umožňuje vytvoriť administrátorské konto s prístupom do administračného menu s možnosťou inštalácie pluginov, správy užívateľov, správy prístupových práv k wiki stránkam a zmeny konfiguračných nastavení. Nie je nevyhnutné pre používanie Dokuwiki, ale umožňuje to ľahšie spravovať Dokuwiki.

-

Skúsení užívatelia, alebo užívatelia so špeciálnymi požiadavkami môžu použiť +

Skúsení užívatelia alebo užívatelia so špeciálnymi požiadavkami môžu použiť tieto odkazy pre bližšie informácie týkajúce sa inštalačných pokynov a konfiguračných nastavení.

diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 8eb119df5..8c74e6f55 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -25,7 +25,7 @@ $lang['btn_preview'] = 'Náhľad'; $lang['btn_top'] = 'Hore'; $lang['btn_newer'] = '<< novšie'; $lang['btn_older'] = 'staršie >>'; -$lang['btn_revs'] = 'Staršia verzia'; +$lang['btn_revs'] = 'Staršie verzie'; $lang['btn_recent'] = 'Posledné úpravy'; $lang['btn_upload'] = 'Nahrať'; $lang['btn_cancel'] = 'Storno'; @@ -40,9 +40,6 @@ $lang['btn_back'] = 'Späť'; $lang['btn_backlink'] = 'Spätné linky'; $lang['btn_backtomedia'] = 'Späť na výber média'; $lang['btn_subscribe'] = 'Posielať zmeny'; -$lang['btn_unsubscribe'] = 'Neposielať zmeny'; -$lang['btn_subscribens'] = 'Posielať zmeny menných priestorov'; -$lang['btn_unsubscribens'] = 'Neposielať zmeny menných priestorov'; $lang['btn_profile'] = 'Aktualizovať profil'; $lang['btn_reset'] = 'Zrušiť'; $lang['btn_resendpwd'] = 'Poslať nové heslo'; @@ -63,22 +60,22 @@ $lang['profile'] = 'Užívateľský profil'; $lang['badlogin'] = 'Zadané užívateľské meno a heslo nie je správne.'; $lang['minoredit'] = 'Menšie zmeny'; $lang['draftdate'] = 'Koncept automaticky uložený'; -$lang['nosecedit'] = 'Skránka bola medzičasom zmenená, informácie o sekcii sú zastaralé a z tohto dôvodu bola nahraná celá stránka.'; +$lang['nosecedit'] = 'Stránka bola medzičasom zmenená, informácie o sekcii sú zastaralé a z tohto dôvodu bola nahraná celá stránka.'; $lang['regmissing'] = 'Musíte vyplniť všetky údaje.'; $lang['reguexists'] = 'Užívateľ s rovnakým menom je už zaregistrovaný.'; $lang['regsuccess'] = 'Užívateľský účet bol vytvorený a heslo zaslané mailom.'; $lang['regsuccess2'] = 'Užívateľský účet bol vytvorený.'; $lang['regmailfail'] = 'Zdá sa, že nastala chyba pri posielaní mailu s heslom. Skúste kontaktovať správcu.'; $lang['regbadmail'] = 'Zadaná mailová adresa nie je platná. Pokiaľ si myslíte, že to je zle, skúste kontaktovať správcu.'; -$lang['regbadpass'] = 'Dve zadané heslá nie sú rovnaké, skúste prosím znovu.'; +$lang['regbadpass'] = 'Zadané heslá nie sú rovnaké, zadajte ich prosím znovu.'; $lang['regpwmail'] = 'Vaše heslo do systému DokuWiki'; -$lang['reghere'] = 'Nemáte uživateľský účet? Vytvorte si ho'; -$lang['profna'] = 'Toto wiki nepodporuje zmenu profilu'; +$lang['reghere'] = 'Nemáte užívateľský účet? Vytvorte si ho'; +$lang['profna'] = 'Táto wiki nepodporuje zmenu profilu'; $lang['profnochange'] = 'Žiadne zmeny, nie je čo robiť.'; -$lang['profnoempty'] = 'Prázdne meno, alebo e-mailová adresa nie sú povolené.'; +$lang['profnoempty'] = 'Prázdne meno alebo e-mailová adresa nie sú povolené.'; $lang['profchanged'] = 'Užívateľský účet úspešne zmenený.'; $lang['pwdforget'] = 'Zabudli ste heslo? Získajte nové!'; -$lang['resendna'] = 'Toto wiki nepodporuje znovuposielanie hesla.'; +$lang['resendna'] = 'Táto wiki nepodporuje opätovné zasielanie hesla.'; $lang['resendpwd'] = 'Pošli nové heslo pre'; $lang['resendpwdmissing'] = 'Prepáčte, musíte vyplniť všetky polia.'; $lang['resendpwdnouser'] = 'Prepáčte, nemôžeme nájsť zadaného užívateľa v databáze.'; @@ -88,12 +85,19 @@ $lang['resendpwdsuccess'] = 'Vaše nové heslo bolo zaslané na e-mail.'; $lang['license'] = 'Ak nie je uvedené inak, obsah tejto wiki je uverejnený pod nasledujúcou licenciou:'; $lang['licenseok'] = 'Poznámka: Zmenou tejto stránky súhlasíte s uverejnením obsahu pod nasledujúcou licenciou:'; $lang['txt_upload'] = 'Vyberte súbor ako prílohu'; -$lang['txt_filename'] = 'Wiki meno (volitelné)'; +$lang['txt_filename'] = 'Uložiť ako (voliteľné)'; $lang['txt_overwrt'] = 'Prepísať existujúci súbor'; $lang['lockedby'] = 'Práve zamknuté:'; -$lang['lockexpire'] = 'Zámok vyprší:'; -$lang['willexpire'] = 'Váš zámok pre editáciu za chvílu vyprší.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; -$lang['js']['notsavedyet'] = "Neuložené zmeny budú stratené.\nChcete naozaj pokračovať?"; +$lang['lockexpire'] = 'Zámok stratí platnosť:'; +$lang['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; +$lang['js']['notsavedyet'] = 'Neuložené zmeny budú stratené. +Chcete naozaj pokračovať?'; +$lang['js']['keepopen'] = 'Po vybraní súboru ponechať okno otvorené'; +$lang['js']['hidedetails'] = 'Skryť detaily'; +$lang['js']['nosmblinks'] = 'Odkazovanie na zdielané prostriedky Windows funguje len v Internet Explorer. +Aj napriek tomu tento odkaz môžete skopírovať a vložiť inde.'; +$lang['js']['del_confirm'] = 'Zmazať túto položku?'; +$lang['js']['mu_btn'] = 'Nahrať viac súborov súčasne'; $lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: '; $lang['nothingfound'] = 'Nič nenájdené.'; $lang['mediaselect'] = 'Výber dokumentu'; @@ -101,7 +105,7 @@ $lang['fileupload'] = 'Nahrávanie dokumentu'; $lang['uploadsucc'] = 'Prenos prebehol v poriadku'; $lang['uploadfail'] = 'Chyba pri nahrávaní. Možno kvôli zle nastaveným právam?'; $lang['uploadwrong'] = 'Prenos súboru s takouto príponou nie je dovolený.'; -$lang['uploadexist'] = 'Súbor skutočne existuje. Nie je čo robiť.'; +$lang['uploadexist'] = 'Súbor už existuje. Žiadna akcia.'; $lang['uploadbadcontent'] = 'Nahraný obsah sa nezhoduje s príponou súboru %s.'; $lang['uploadspam'] = 'Nahrávanie bolo zablokované spamovým blacklistom.'; $lang['uploadxss'] = 'Nahrávanie bolo zablokované kvôli potenciálnemu škodlivému obsahu.'; @@ -111,40 +115,35 @@ $lang['deletefail'] = '"%s" nie je možné zmazať - skontrolujte opr $lang['mediainuse'] = 'Súbor "%s" nebol zmazaný - je stále používaný.'; $lang['namespaces'] = 'Menné priestory'; $lang['mediafiles'] = 'Dostupné súbory'; -$lang['js']['keepopen'] = 'Po vybraní súboru ponechať okno otvorené'; -$lang['js']['hidedetails'] = 'Skryť detaily'; -$lang['js']['nosmblinks'] = 'Odkazovanie na zdielané prostriedky Windows funguje len v Internet Explorer. -Aj napriek tomu tento odkaz môžete skopírovat a vložit inde.'; -$lang['js']['mu_btn'] = 'Nahrať viac súborov naraz'; $lang['mediausage'] = 'Pre odkázanie na súbor použite nasledujúcu syntax:'; $lang['mediaview'] = 'Zobraziť pôvodný súbor'; $lang['mediaroot'] = 'root'; -$lang['mediaupload'] = 'Nahrať súbor do aktuálneho menného priestoru. Pre vytvorenie menného podpriestoru, pridajte jeho názov na začiatok wiki mena (oddelený dvojbodkou)'; +$lang['mediaupload'] = 'Nahrať súbor do aktuálneho menného priestoru. Pre vytvorenie menného podpriestoru, pridajte jeho názov na začiatok mena súboru (oddelený dvojbodkou)'; $lang['mediaextchange'] = 'Prípona súboru bola zmenená z .%s na .%s!'; $lang['reference'] = 'Referencie pre'; $lang['ref_inuse'] = 'Súbor nemôže byť zmazaný, pretože je stále používaný nasledujúcimi stránkami:'; -$lang['ref_hidden'] = 'Niektoré referencie sú na stránky pre ktoré nemáte právo na čítanie'; +$lang['ref_hidden'] = 'Niektoré referencie sú na stránky, pre ktoré nemáte právo na čítanie'; $lang['hits'] = '- počet výskytov'; $lang['quickhits'] = 'Zodpovedajúce stránky'; $lang['toc'] = 'Obsah'; $lang['current'] = 'aktuálne'; $lang['yours'] = 'Vaša verzia'; -$lang['diff'] = 'zobrazit rozdiely voči aktuálnej verzii'; -$lang['diff2'] = 'Ukázať rozdiely medzi vybranými verziami'; +$lang['diff'] = 'Zobraziť rozdiely voči aktuálnej verzii'; +$lang['diff2'] = 'Zobraziť rozdiely medzi vybranými verziami'; $lang['line'] = 'Riadok'; $lang['breadcrumb'] = 'História'; $lang['youarehere'] = 'Nachádzate sa'; $lang['lastmod'] = 'Posledná úprava'; $lang['by'] = 'od'; -$lang['deleted'] = 'odstranené'; +$lang['deleted'] = 'odstránené'; $lang['created'] = 'vytvorené'; -$lang['restored'] = 'stará verzia bola obnovena'; +$lang['restored'] = 'stará verzia bola obnovená'; $lang['external_edit'] = 'externá úprava'; $lang['summary'] = 'Komentár k úpravám'; $lang['noflash'] = 'Pre zobrazenie tohto obsahu potrebujete Adobe Flash Plugin.'; $lang['mail_newpage'] = 'stránka pridaná:'; $lang['mail_changed'] = 'stránka zmenená:'; -$lang['mail_new_user'] = 'Nový užívateľ:'; +$lang['mail_new_user'] = 'nový užívateľ:'; $lang['mail_upload'] = 'nahraný súbor:'; $lang['qb_bold'] = 'Tučné'; $lang['qb_italic'] = 'Kurzíva'; @@ -165,7 +164,6 @@ $lang['qb_media'] = 'Vložiť obrázky alebo iné súbory'; $lang['qb_sig'] = 'Vložiť podpis'; $lang['qb_smileys'] = 'Smajlíky'; $lang['qb_chars'] = 'Špeciálne znaky'; -$lang['js']['del_confirm'] = 'Zmazať túto položku?'; $lang['admin_register'] = 'Pridaj nového užívateľa'; $lang['metaedit'] = 'Upraviť metainformácie'; $lang['metasaveerr'] = 'Zápis metainformácií zlyhal'; @@ -180,48 +178,41 @@ $lang['img_artist'] = 'Fotograf'; $lang['img_copyr'] = 'Kopírovacie práva'; $lang['img_format'] = 'Formát'; $lang['img_camera'] = 'Fotoaparát'; -$lang['img_keywords'] = 'Klúčové slová'; -$lang['subscribe_success'] = 'Pridané %s do zoznamu objednávok pre %s'; -$lang['subscribe_error'] = 'Chyba pri pridaní %s do zoznamu objednávok pre %s'; -$lang['subscribe_noaddress'] = 'Nie je žiadna e-mailová adresa priradená k vašemu menu,nemôžte byť pridaný do zoznamu objednávok'; -$lang['unsubscribe_success'] = 'Odobrané %s zo zoznamu objednávok pre %s'; -$lang['unsubscribe_error'] = 'Chaba pri odobraní %s zo zoznamu objednávok pre %s'; -$lang['authmodfailed'] = 'Užívateľská autentifikácia nie je možná. Prosím informujte správcu tohto systému.'; -$lang['authtempfail'] = 'Užívateľská autentifikácia je dočasne nedostupná. Ak táto situácia pretrvá, prosím informujte správcu tohto systému.'; +$lang['img_keywords'] = 'Kľúčové slová'; +$lang['authmodfailed'] = 'Užívateľská autentifikácia nie je možná. Prosím informujte správcu systému.'; +$lang['authtempfail'] = 'Užívateľská autentifikácia je dočasne nedostupná. Ak táto situácia pretrváva, prosím informujte správcu systému.'; $lang['i_chooselang'] = 'Zvoľte váš jazyk'; $lang['i_installer'] = 'DokuWiki inštalátor'; $lang['i_wikiname'] = 'Názov Wiki'; $lang['i_enableacl'] = 'Aktivovať ACL (doporučené)'; $lang['i_superuser'] = 'Správca'; $lang['i_problems'] = 'Inštalátor narazil na nižšie uvedené problémy. Nemôžete pokračovať, pokiaľ ich neodstránite.'; -$lang['i_modified'] = 'Z bezpečnostných dôvodov bude tento skript fungovať iba s novou, neupravenou inštaláciou Dokuwiki. Môžete buď znovu rozbaliť stiahnutý inštalačný balíček, alebo preštudovať inštalačné inštrukcie Dokuwiki'; +$lang['i_modified'] = 'Z bezpečnostných dôvodov bude tento skript fungovať iba s novou, neupravenou inštaláciou Dokuwiki. Môžete buď znovu rozbaliť stiahnutý inštalačný balíček alebo preštudovať inštalačné inštrukcie Dokuwiki'; $lang['i_funcna'] = 'PHP funkcia %s nie je dostupná. Je možné, že ju z určitých dôvodov zablokoval váš poskytovateľ webhostingu?'; -$lang['i_phpver'] = 'Vaša verzia PHP %s je nižšia ako požadovaná %s. Potrebujete aktualizovať Vašu instaláciu PHP.'; +$lang['i_phpver'] = 'Vaša verzia PHP %s je nižšia ako požadovaná %s. Potrebujete aktualizovať Vašu inštaláciu PHP.'; $lang['i_permfail'] = '%s nie je zapisovateľný pre DokuWiki. Musíte zmeniť prístupové práva pre tento adresár!'; $lang['i_confexists'] = '%s už existuje'; $lang['i_writeerr'] = 'Nie je možné vytvoriť %s. Potrebujete skontrolovať prístupové práva pre adresár/súbor a vytvoriť ho manuálne.'; -$lang['i_badhash'] = 'nerozpoznaný, alebo zmenený súbor dokuwiki.php (hash=%s)'; -$lang['i_badval'] = '%s - bola zadaná nesprávna, alebo žiadna hodnota'; -$lang['i_success'] = 'Konfigurácia bola úspešne ukončená. Teraz môžte zmazať súbor install.php. Pokračujte vo - vašej novej DokuWiki.'; -$lang['i_failure'] = 'Pri zápise konfiguračného súboru nastali nejaké chyby. Potrebujete ich opraviť manuálne pred tým ako budete môcť používať - vašu novú DokuWiki.'; +$lang['i_badhash'] = 'neznámy alebo zmenený súbor dokuwiki.php (hash=%s)'; +$lang['i_badval'] = '%s - nesprávna alebo žiadna hodnota'; +$lang['i_success'] = 'Konfigurácia bola úspešne ukončená. Teraz môžete zmazať súbor install.php. Pokračujte vo vašej novej DokuWiki.'; +$lang['i_failure'] = 'Pri zápise konfiguračného súboru nastali nejaké chyby. Potrebujete ich opraviť manuálne pred tým, ako budete môcť používať vašu novú DokuWiki.'; $lang['i_policy'] = 'Počiatočná ACL politika'; $lang['i_pol0'] = 'Otvorená Wiki (čítanie, zápis a nahrávanie pre každého)'; $lang['i_pol1'] = 'Verejná Wiki (čítanie pre každého, zápis a nahrávanie pre registrovaných užívateľov)'; $lang['i_pol2'] = 'Uzatvorená Wiki (čítanie, zápis a nahrávanie len pre registrovaných užívateľov)'; $lang['i_retry'] = 'Skúsiť znovu'; -$lang['mu_intro'] = 'Na tomto mieste môžete nahrávať viac súborov naraz. Tlačidlom Prehľadávať pridáte súbory do zoznamu. Tlačidlom Nahrať vykonáte prenos súborov.'; +$lang['mu_intro'] = 'Na tomto mieste môžete nahrávať viac súborov súčasne. Tlačidlom Prehľadávať pridáte súbory do zoznamu. Tlačidlom Nahrať vykonáte prenos súborov.'; $lang['mu_gridname'] = 'Názov súboru'; $lang['mu_gridsize'] = 'Veľkosť'; $lang['mu_gridstat'] = 'Status'; -$lang['mu_namespace'] = 'Oblasť mien'; +$lang['mu_namespace'] = 'Menný priestor'; $lang['mu_browse'] = 'Prehľadávať'; $lang['mu_toobig'] = 'príliš veľký'; $lang['mu_ready'] = 'pripravený na nahratie'; $lang['mu_done'] = 'dokončený'; $lang['mu_fail'] = 'neúspešný'; -$lang['mu_authfail'] = 'spojenie vypršalo'; +$lang['mu_authfail'] = 'pripojenie stratilo platnosť'; $lang['mu_progress'] = '@PCT@% nahraných'; $lang['mu_filetypes'] = 'Povolené typy súborov'; $lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore %s. Môžete si tiež pozrieť aktuálne zmeny celej wiki.'; diff --git a/inc/lang/sk/locked.txt b/inc/lang/sk/locked.txt index 0e7d9645e..5063c0605 100644 --- a/inc/lang/sk/locked.txt +++ b/inc/lang/sk/locked.txt @@ -1,3 +1,3 @@ ====== Stránka je uzamknutá ====== -Tato stránka je práve uzamknutá pre úpravy iným užívateľom. Musíte počkať pokým daný užívateľ dokončí svoje úpravy, alebo pokým tento zámok vyprší. +Tato stránka je práve uzamknutá pre úpravy iným užívateľom. Musíte počkať dovtedy, pokiaľ daný užívateľ dokončí svoje úpravy alebo pokiaľ tento zámok stratí platnosť. diff --git a/inc/lang/sk/mailtext.txt b/inc/lang/sk/mailtext.txt index 78757799e..f7a9d9610 100644 --- a/inc/lang/sk/mailtext.txt +++ b/inc/lang/sk/mailtext.txt @@ -1,4 +1,4 @@ -Stránka vo vašom DokuWiki bola zmenená. Tu sú podrobnosti: +Stránka vo vašej DokuWiki bola zmenená. Tu sú podrobnosti: Dátum : @DATE@ Prehliadač : @BROWSER@ diff --git a/inc/lang/sk/read.txt b/inc/lang/sk/read.txt index a50b2afb6..64b7ed26e 100644 --- a/inc/lang/sk/read.txt +++ b/inc/lang/sk/read.txt @@ -1,2 +1,2 @@ -Táto stránka je iba na čítanie. Môžete si iba prehliadnuť zdrojový kód, ale nie meniť ho. Opýtajte sa správcu, ak si myslíťe že niečo nie je v poriadku. +Táto stránka je iba na čítanie. Môžete si prehliadnuť zdrojový kód, ale nemôžete ho meniť. Opýtajte sa správcu, ak si myslíte, že niečo nie je v poriadku. diff --git a/inc/lang/sk/register.txt b/inc/lang/sk/register.txt index 8dfe6be4e..1e694ca79 100644 --- a/inc/lang/sk/register.txt +++ b/inc/lang/sk/register.txt @@ -1,3 +1,3 @@ ====== Zaregistrujte sa ako nový užívateľ ====== -Aby ste získali uživateľský účet, vyplňťe prosím všetky informácie v následujúcom formulári. Zadajte **platnú** mailovú adresu, na ktorú bude zaslané heslo. Uživateľské meno musí byť v platnom [[doku>pagename|formáte]] (ktorý je rovnaký ako formát názvu stránky). +Aby ste získali užívateľský účet, vyplňte prosím všetky informácie v následujúcom formulári. Zadajte **platnú** mailovú adresu, na ktorú bude zaslané heslo. Užívateľské meno musí byť v platnom [[doku>pagename|formáte]] (ktorý je rovnaký ako formát názvu stránky). diff --git a/inc/lang/sk/resendpwd.txt b/inc/lang/sk/resendpwd.txt index b51706c96..6f52486f1 100644 --- a/inc/lang/sk/resendpwd.txt +++ b/inc/lang/sk/resendpwd.txt @@ -1,4 +1,4 @@ ====== Poslať nové heslo ====== -Vyplnte niežšie požadované informácie pre získanie nového hesla pre váš účet v tomto wiki. Vaše nové heslo bude zaslané na vašu registrovanú e-mailovú adresu. Užívateľské meno má byť vaše prihlasovaciemeno do wiki. +Vyplňte nižšie požadované informácie pre získanie nového hesla pre váš účet v tejto wiki. Vaše nové heslo bude zaslané na vašu registrovanú e-mailovú adresu. Užívateľské meno má byť vaše prihlasovacie meno do wiki. diff --git a/inc/lang/sk/stopwords.txt b/inc/lang/sk/stopwords.txt index 86eb84046..060ee495f 100644 --- a/inc/lang/sk/stopwords.txt +++ b/inc/lang/sk/stopwords.txt @@ -1,6 +1,6 @@ -#Toto je zoznam slov ignorovaných indexérom, jedno slovo na riadok +#Toto je zoznam slov ignorovaných indexáciou, jedno slovo na riadok # Keď editujete tento súbor, uistite sa, či používate UNIXové konce riadkov (jednoduchý nový riadok) -# Nie je potrebné vkladať slová kraťšie ako 3 znaky - tie sú ignorované vždy. +# Nie je potrebné vkladať slová kratšie ako 3 znaky - tie sú ignorované vždy. # Tento zoznam je založený na inom nájdenom na http://www.ranks.nl/stopwords/ okolo tvoj diff --git a/lib/plugins/acl/lang/sk/help.txt b/lib/plugins/acl/lang/sk/help.txt index 1167bf5e9..103a0341a 100644 --- a/lib/plugins/acl/lang/sk/help.txt +++ b/lib/plugins/acl/lang/sk/help.txt @@ -4,8 +4,8 @@ Na tejto stránke môžete pridávať alebo rušiť oprávnenia pre menné pries Ľavý panel zobrazuje všetky dostupné menné priestory a stránky. -Formulár zobrazený vyššie Vam dovoľuje prehliadať a meniť oprávnenia pre vybraného používateľa alebo skupinu. +Formulár zobrazený vyššie Vám dovoľuje prehliadať a meniť oprávnenia pre vybraného používateľa alebo skupinu. -V tabuľke nižšie sú zobrazené všetky aktuálne prístupové pravidlá. Môžete v nej rýchlo rušiť alebo meniť viacero pravidiel naraz. +V tabuľke nižšie sú zobrazené všetky aktuálne prístupové pravidlá. Môžete v nej rýchlo rušiť alebo meniť viacero pravidiel súčasne. Prečítanie [[doku>acl|oficiálnej dokumentácie ACL]] Vám môže pomôcť plne pochopiť spôsob ako fungujú prístupové pravidlá (oprávnenia) v DokuWiki. \ No newline at end of file diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index b9490d49b..4e519d7d7 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -85,6 +85,7 @@ $lang['disableactions_other'] = 'Iné akcie (oddelené čiarkou)'; $lang['sneaky_index'] = 'DokuWiki implicitne ukazuje v indexe všetky menné priestory. Povolením tejto voľby sa nezobrazia menné priestory, ku ktorým nemá používateľ právo na čítanie. Dôsledkom môže byť nezobrazenie vnorených prístupných menných priestorov. Táto voľba môže mať za následok nepoužiteľnosť indexu s určitými ACL nastaveniami.'; $lang['auth_security_timeout'] = 'Časový limit pri prihlasovaní (v sekundách)'; $lang['securecookie'] = 'Mal by prehliadač posielať cookies nastavené cez HTTPS posielať iba cez HTTPS (bezpečné) pripojenie? Vypnite túto voľbu iba v prípade, ak je prihlasovanie do Vašej wiki zabezpečené SSL, ale prezeranie wiki je nezabezpečené.'; +$lang['xmlrpc'] = 'Povoliť/zakázať XML-RPC rozhranie.'; $lang['updatecheck'] = 'Kontrolovať aktualizácie a bezpečnostné upozornenia? DokuWiki potrebuje pre túto funkciu prístup k splitbrain.org.'; $lang['userewrite'] = 'Používať nice URLs'; $lang['useslash'] = 'Používať lomku (/) ako oddeľovač v URL'; @@ -109,8 +110,7 @@ $lang['hidepages'] = 'Skryť zodpovedajúce stránky (regulárne vý $lang['send404'] = 'Poslať "HTTP 404/Page Not Found" pre neexistujúce stránky'; $lang['sitemap'] = 'Generovať Google sitemap (dni)'; $lang['broken_iua'] = 'Je vo Vašom systéme funkcia ignore_user_abort poškodená? Môže to mať za následok nefunkčnosť vyhľadávania v indexe. IIS+PHP/CGI je známy tým, že nefunguje správne. Pozrite Bug 852 pre dalšie informácie.'; -$lang['xsendfile'] = 'Používať X-Sendfile hlavičku pre doručenie statických suborov webserverom? Webserver musí túto funkcionalitu podporovať.'; -$lang['xmlrpc'] = 'Povoliť/zakázať XML-RPC rozhranie.'; +$lang['xsendfile'] = 'Používať X-Sendfile hlavičku pre doručenie statických súborov webserverom? Webserver musí túto funkcionalitu podporovať.'; $lang['renderer_xhtml'] = 'Používané vykresľovacie jadro pre hlavný (xhtml) wiki výstup'; $lang['renderer__core'] = '%s (dokuwiki jadro)'; $lang['renderer__plugin'] = '%s (plugin)'; diff --git a/lib/plugins/plugin/lang/sk/lang.php b/lib/plugins/plugin/lang/sk/lang.php index cf89200c5..c04ac3af6 100644 --- a/lib/plugins/plugin/lang/sk/lang.php +++ b/lib/plugins/plugin/lang/sk/lang.php @@ -22,15 +22,15 @@ $lang['lastupdate'] = 'Aktualizovaný:'; $lang['source'] = 'Zdroj:'; $lang['unknown'] = 'neznámy'; $lang['updating'] = 'Aktualizuje sa ...'; -$lang['updated'] = 'Plugin %s bol úspešne zaktualizovaný'; -$lang['updates'] = 'Nasledujúce pluginy bol úspešne zaktualizované:'; +$lang['updated'] = 'Plugin %s bol úspešne aktualizovaný'; +$lang['updates'] = 'Nasledujúce pluginy bol úspešne aktualizované:'; $lang['update_none'] = 'Neboli nájdené žiadne aktualizácie.'; $lang['deleting'] = 'Vymazáva sa ...'; $lang['deleted'] = 'Plugin %s bol zmazaný.'; $lang['downloading'] = 'Sťahuje sa ...'; $lang['downloaded'] = 'Plugin %s bol úspešne stiahnutý'; $lang['downloads'] = 'Nasledujúce pluginy bol úspešne stiahnuté:'; -$lang['download_none'] = 'Neboli nájdené žiadne pluginy, alebo nastal neznámy problém počas sťahovania a inštalácie pluginov.'; +$lang['download_none'] = 'Neboli nájdené žiadne pluginy alebo nastal neznámy problém počas sťahovania a inštalácie pluginov.'; $lang['plugin'] = 'Plugin:'; $lang['components'] = 'Súčasti'; $lang['noinfo'] = 'Tento plugin neobsahuje žiadne informácie, je možné, že je chybný.'; @@ -44,10 +44,10 @@ $lang['error'] = 'Nastala neznáma chyba.'; $lang['error_download'] = 'Nie je možné stiahnuť súbor pluginu: %s'; $lang['error_badurl'] = 'Pravdepodobne zlá url adresa - nie je možné z nej určiť meno súboru'; $lang['error_dircreate'] = 'Nie je možné vytvoriť dočasný adresár pre uloženie sťahovaného súboru'; -$lang['error_decompress'] = 'Správca pluginov nedokáže dekomprimovať stiahnutý súbor. Môže to byť dôsledok zlého stiahnutia, v tom prípade to skúste znovu, alebo môže ísť o neznámy formát súboru, v tom prípade musítestiahnuť a nainštalovať plugin manuálne.'; -$lang['error_copy'] = 'Nastala chyba kopírovania súboru počas pokusu inštalovať súbory pluginu%s: disk môže byť plný, alebo prístupové práva k súboru môžu byť nesprávne. Toto môže mať za následok čiastočne nainštalovanie pluginu a nestabilitu vašej DokuWiki.'; -$lang['error_delete'] = 'Nastala chyba počas pokusu o zmazanie pluginu %s. Najpravdepodobnejším dôvodom môžu byť nedostatočné prístupové práva pre súbor, alebo adresár'; +$lang['error_decompress'] = 'Správca pluginov nedokáže dekomprimovať stiahnutý súbor. Môže to byť dôsledok zlého stiahnutia, v tom prípade to skúste znovu, alebo môže ísť o neznámy formát súboru, v tom prípade musíte stiahnuť a nainštalovať plugin manuálne.'; +$lang['error_copy'] = 'Nastala chyba kopírovania súboru počas pokusu inštalovať súbory pluginu%s: disk môže byť plný alebo prístupové práva k súboru môžu byť nesprávne. Toto môže mať za následok čiastočne nainštalovanie pluginu a nestabilitu vašej DokuWiki.'; +$lang['error_delete'] = 'Nastala chyba počas pokusu o zmazanie pluginu %s. Najpravdepodobnejším dôvodom môžu byť nedostatočné prístupové práva pre súbor alebo adresár'; $lang['enabled'] = 'Plugin %s aktivovaný.'; -$lang['notenabled'] = 'Plugin %s nemôže byť aktivovaný, skotrolujte prístupové práva.'; +$lang['notenabled'] = 'Plugin %s nemôže byť aktivovaný, skontrolujte prístupové práva.'; $lang['disabled'] = 'Plugin %s deaktivovaný.'; -$lang['notdisabled'] = 'Plugin %s nemôže byť deaktivovaný, skotrolujte prístupové práva.'; +$lang['notdisabled'] = 'Plugin %s nemôže byť deaktivovaný, skontrolujte prístupové práva.'; diff --git a/lib/plugins/popularity/lang/sk/intro.txt b/lib/plugins/popularity/lang/sk/intro.txt index 8e4260657..7f580d979 100644 --- a/lib/plugins/popularity/lang/sk/intro.txt +++ b/lib/plugins/popularity/lang/sk/intro.txt @@ -1,9 +1,9 @@ ====== Prieskum používania ====== -Tento nástroj získa anonymné dáta o Vašej wiki a ponúkne Vám možnosť odoslať ich späť k vývojárom DokuWiki. Týmto spôsobom im umožníte lepšie porozumieť, ako je používaná DokuWiki, a podporiť ich budúce rozhodnutia o ďalšom vývoji infomáciami z reálneho používania DokuWiki. +Tento nástroj získa anonymné dáta o Vašej wiki a ponúkne Vám možnosť odoslať ich späť k vývojárom DokuWiki. Týmto spôsobom im umožníte lepšie porozumieť, ako je používaná DokuWiki, a podporiť ich budúce rozhodnutia o ďalšom vývoji informáciami z reálneho používania DokuWiki. -Doporučujeme Vám opakovať tento krok z času na čas pri napredovaní Vašej wiki a tak pomôcť vývojárom DokuWiki. Vaše data budú označené anonymným ID. +Doporučujeme Vám opakovať tento krok z času na čas pri napredovaní Vašej wiki a tak pomôcť vývojárom DokuWiki. Vaše dáta budú označené anonymným ID. -Zozbierané data obsahujú informácie ako verziu DokuWiki, počet a veľkosť Vašich stránok a súborov, inštalované pluginy a informácie o inštalovanom PHP. +Zozbierané dáta obsahujú informácie ako verziu DokuWiki, počet a veľkosť Vašich stránok a súborov, inštalované pluginy a informácie o inštalovanom PHP. Dáta, ktoré budú poslané sú zobrazené nižšie. Prosím použite tlačidlo "Poslať dáta" na odoslanie týchto informácií. \ No newline at end of file diff --git a/lib/plugins/revert/lang/sk/lang.php b/lib/plugins/revert/lang/sk/lang.php index 822837de0..368d2d929 100644 --- a/lib/plugins/revert/lang/sk/lang.php +++ b/lib/plugins/revert/lang/sk/lang.php @@ -6,12 +6,12 @@ * @author exusik@gmail.com * @author Martin Michalek */ -$lang['menu'] = 'Reverzný menežér'; +$lang['menu'] = 'Reverzný manažér'; $lang['filter'] = 'Hľadať spamerské stránky'; $lang['revert'] = 'Vrátiť vybrané stránky'; $lang['reverted'] = '%s vrátená na revíziu %s'; $lang['removed'] = '%s odstránená'; -$lang['revstart'] = 'Proces reverzie bol spustený. Toto môže trvať dlhý čas. Ak skript vyprší pred tým, ako skončí, musíte urobiť reverziu v menších dávkach.'; +$lang['revstart'] = 'Proces reverzie bol spustený. Toto môže trvať dlhý čas. Ak skript prekročí daný maximálny časový interval pred tým, ako skončí, musíte urobiť reverziu v menších dávkach.'; $lang['revstop'] = 'Proces reverzie sa úspešne skončil.'; $lang['note1'] = 'Poznámka: vyhľadávanie rozlišuje medzi veľkými a malými písmenami'; $lang['note2'] = 'Poznámka: táto stránka bude vrátená do poslednej verzie, ktorá neobsahuje spamový výraz %s.'; diff --git a/lib/plugins/usermanager/lang/sk/lang.php b/lib/plugins/usermanager/lang/sk/lang.php index 8b309bc71..54ed374c6 100644 --- a/lib/plugins/usermanager/lang/sk/lang.php +++ b/lib/plugins/usermanager/lang/sk/lang.php @@ -10,7 +10,7 @@ $lang['menu'] = 'Správa používateľov'; $lang['noauth'] = '(autentifikácia užívateľov nie je dostupná)'; $lang['nosupport'] = '(správa užívateľov nie je podporovaná)'; -$lang['badauth'] = 'vadný autorizačný mechanizmus'; +$lang['badauth'] = 'neplatný autorizačný mechanizmus'; $lang['user_id'] = 'Užívateľ'; $lang['user_pass'] = 'Heslo'; $lang['user_name'] = 'Skutočné meno'; @@ -39,11 +39,11 @@ $lang['start'] = 'prvé'; $lang['prev'] = 'predošlé'; $lang['next'] = 'ďalšie'; $lang['last'] = 'posledné'; -$lang['edit_usermissing'] = 'Vybraný užívateľ nebol nájdený, mohol byť zmazaný, alebo zmenený iným spôsobom.'; +$lang['edit_usermissing'] = 'Vybraný užívateľ nebol nájdený, mohol byť zmazaný alebo zmenený iným spôsobom.'; $lang['user_notify'] = 'Upozorniť užívateľa'; $lang['note_notify'] = 'Notifikačné e-maily iba vtedy, ak dostane užívateľ nové heslo'; -$lang['note_group'] = 'Noví užívatelia budú pridaní do východej skupiny (%s), ak nie je pre nich špecifikovaná iná skupina.'; -$lang['note_pass'] = 'Heslo bude vygenegované automaticky, ak bude pole prázdne a je zapnutá notifikácia používateľa.'; +$lang['note_group'] = 'Noví užívatelia budú pridaní do východzej skupiny (%s), ak nie je pre nich špecifikovaná iná skupina.'; +$lang['note_pass'] = 'Heslo bude vygenerované automaticky, ak bude pole prázdne a je zapnutá notifikácia používateľa.'; $lang['add_ok'] = 'Používateľ úspešne pridaný'; $lang['add_fail'] = 'Pridávanie užívateľa nebolo úspešné'; $lang['notify_ok'] = 'Notifikačný e-mail bol poslaný'; -- cgit v1.2.3 From 767b2cc2194fe671edafa2a48ea0be6fe9da30cd Mon Sep 17 00:00:00 2001 From: Martin Michalek Date: Sat, 10 Apr 2010 14:19:26 +0200 Subject: Slovak language update --- inc/lang/sk/adminplugins.txt | 1 + inc/lang/sk/lang.php | 44 +++++++++++++++++++++++++++++++++++++ inc/lang/sk/mailtext.txt | 16 +++++++------- inc/lang/sk/password.txt | 6 ++--- inc/lang/sk/pwconfirm.txt | 2 +- inc/lang/sk/registermail.txt | 2 +- inc/lang/sk/subscr_digest.txt | 20 +++++++++++++++++ inc/lang/sk/subscr_list.txt | 17 ++++++++++++++ inc/lang/sk/subscr_single.txt | 23 +++++++++++++++++++ inc/lang/sk/uploadmail.txt | 2 +- lib/plugins/config/lang/sk/lang.php | 3 +++ lib/plugins/plugin/lang/sk/lang.php | 2 +- 12 files changed, 123 insertions(+), 15 deletions(-) create mode 100644 inc/lang/sk/adminplugins.txt create mode 100644 inc/lang/sk/subscr_digest.txt create mode 100644 inc/lang/sk/subscr_list.txt create mode 100644 inc/lang/sk/subscr_single.txt diff --git a/inc/lang/sk/adminplugins.txt b/inc/lang/sk/adminplugins.txt new file mode 100644 index 000000000..64d2ca774 --- /dev/null +++ b/inc/lang/sk/adminplugins.txt @@ -0,0 +1 @@ +===== Ďalšie pluginy ===== \ No newline at end of file diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 8c74e6f55..852ab6c45 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -46,6 +46,7 @@ $lang['btn_resendpwd'] = 'Poslať nové heslo'; $lang['btn_draft'] = 'Upraviť koncept'; $lang['btn_recover'] = 'Obnoviť koncept'; $lang['btn_draftdel'] = 'Zmazať koncept'; +$lang['btn_revert'] = 'Obnoviť'; $lang['loggedinas'] = 'Prihlásený(á) ako'; $lang['user'] = 'Užívateľské meno'; $lang['pass'] = 'Heslo'; @@ -84,6 +85,8 @@ $lang['resendpwdconfirm'] = 'Autorizačný odkaz bol zaslaný na e-mail.'; $lang['resendpwdsuccess'] = 'Vaše nové heslo bolo zaslané na e-mail.'; $lang['license'] = 'Ak nie je uvedené inak, obsah tejto wiki je uverejnený pod nasledujúcou licenciou:'; $lang['licenseok'] = 'Poznámka: Zmenou tejto stránky súhlasíte s uverejnením obsahu pod nasledujúcou licenciou:'; +$lang['searchmedia'] = 'Hľadať meno súboru:'; +$lang['searchmedia_in'] = 'Hľadať v %s'; $lang['txt_upload'] = 'Vyberte súbor ako prílohu'; $lang['txt_filename'] = 'Uložiť ako (voliteľné)'; $lang['txt_overwrt'] = 'Prepísať existujúci súbor'; @@ -92,10 +95,34 @@ $lang['lockexpire'] = 'Zámok stratí platnosť:'; $lang['willexpire'] = 'Váš zámok pre editáciu za chvíľu stratí platnosť.\nAby ste predišli konfliktom, stlačte tlačítko Náhľad a zámok sa predĺži.'; $lang['js']['notsavedyet'] = 'Neuložené zmeny budú stratené. Chcete naozaj pokračovať?'; +$lang['js']['searchmedia'] = 'Hľadať súbory'; $lang['js']['keepopen'] = 'Po vybraní súboru ponechať okno otvorené'; $lang['js']['hidedetails'] = 'Skryť detaily'; +$lang['js']['mediatitle'] = 'Nastavenia odkazu'; +$lang['js']['mediadisplay'] = 'Typ odkazu'; +$lang['js']['mediaalign'] = 'Zarovnanie'; +$lang['js']['mediasize'] = 'Veľkosť obrázku'; +$lang['js']['mediatarget'] = 'Cieľ odkazu'; +$lang['js']['mediaclose'] = 'Zatvoriť'; +$lang['js']['mediainsert'] = 'Vložiť'; +$lang['js']['mediadisplayimg'] = 'Zobraziť obrázok.'; +$lang['js']['mediadisplaylnk'] = 'Zobraziť iba odkaz.'; +$lang['js']['mediasmall'] = 'Malý'; +$lang['js']['mediamedium'] = 'Stredný'; +$lang['js']['medialarge'] = 'Veľký'; +$lang['js']['mediaoriginal'] = 'Originál'; +$lang['js']['medialnk'] = 'Odkaz na stránku s detailným popisom'; +$lang['js']['mediadirect'] = 'Priamy odkaz na originál'; +$lang['js']['medianolnk'] = 'Žiadny odkaz'; +$lang['js']['medianolink'] = 'Bez odkazu na obrázok'; +$lang['js']['medialeft'] = 'Zarovnať obrázok vľavo.'; +$lang['js']['mediaright'] = 'Zarovnať obrázok vpravo.'; +$lang['js']['mediacenter'] = 'Zarovnať obrázok na stred.'; +$lang['js']['medianoalign'] = 'Nepoužívať zarovnanie.'; $lang['js']['nosmblinks'] = 'Odkazovanie na zdielané prostriedky Windows funguje len v Internet Explorer. Aj napriek tomu tento odkaz môžete skopírovať a vložiť inde.'; +$lang['js']['linkwiz'] = 'Sprievodca odkazmi'; +$lang['js']['linkto'] = 'Odkaz na:'; $lang['js']['del_confirm'] = 'Zmazať túto položku?'; $lang['js']['mu_btn'] = 'Nahrať viac súborov súčasne'; $lang['rssfailed'] = 'Nastala chyba pri vytváraní tohto RSS: '; @@ -141,8 +168,10 @@ $lang['restored'] = 'stará verzia bola obnovená'; $lang['external_edit'] = 'externá úprava'; $lang['summary'] = 'Komentár k úpravám'; $lang['noflash'] = 'Pre zobrazenie tohto obsahu potrebujete Adobe Flash Plugin.'; +$lang['download'] = 'Stiahnuť'; $lang['mail_newpage'] = 'stránka pridaná:'; $lang['mail_changed'] = 'stránka zmenená:'; +$lang['mail_subscribe_list'] = 'stránky zmenené v mennom priestore:'; $lang['mail_new_user'] = 'nový užívateľ:'; $lang['mail_upload'] = 'nahraný súbor:'; $lang['qb_bold'] = 'Tučné'; @@ -155,6 +184,11 @@ $lang['qb_h2'] = 'Nadpis 2. úrovne'; $lang['qb_h3'] = 'Nadpis 3. úrovne'; $lang['qb_h4'] = 'Nadpis 4. úrovne'; $lang['qb_h5'] = 'Nadpis 5. úrovne'; +$lang['qb_h'] = 'Nadpis'; +$lang['qb_hs'] = 'Zvoliť nadpis'; +$lang['qb_hplus'] = 'Nadpis vyššej úrovne'; +$lang['qb_hminus'] = 'Nadpis nižšej úrovne'; +$lang['qb_hequal'] = 'Nadpis predchádzajúcej úrovne'; $lang['qb_link'] = 'Interný odkaz'; $lang['qb_extlink'] = 'Externý odkaz'; $lang['qb_hr'] = 'Horizontálna linka'; @@ -164,6 +198,7 @@ $lang['qb_media'] = 'Vložiť obrázky alebo iné súbory'; $lang['qb_sig'] = 'Vložiť podpis'; $lang['qb_smileys'] = 'Smajlíky'; $lang['qb_chars'] = 'Špeciálne znaky'; +$lang['upperns'] = 'návrat do nadradeného menného priestoru'; $lang['admin_register'] = 'Pridaj nového užívateľa'; $lang['metaedit'] = 'Upraviť metainformácie'; $lang['metasaveerr'] = 'Zápis metainformácií zlyhal'; @@ -215,4 +250,13 @@ $lang['mu_fail'] = 'neúspešný'; $lang['mu_authfail'] = 'pripojenie stratilo platnosť'; $lang['mu_progress'] = '@PCT@% nahraných'; $lang['mu_filetypes'] = 'Povolené typy súborov'; +$lang['mu_lasterr'] = 'Posledná chyba:'; $lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore %s. Môžete si tiež pozrieť aktuálne zmeny celej wiki.'; +$lang['years'] = 'pred %d rokmi'; +$lang['months'] = 'pred %d mesiacmi'; +$lang['weeks'] = 'pred %d týždňami'; +$lang['days'] = 'pred %d dňami'; +$lang['hours'] = 'pred %d hodinami'; +$lang['minutes'] = 'pred %d minútami'; +$lang['seconds'] = 'pred %d sekundami'; +$lang['wordblock'] = 'Vaše zmeny neboli uložené, pretože obsahovali nepovolený text (spam).'; diff --git a/inc/lang/sk/mailtext.txt b/inc/lang/sk/mailtext.txt index f7a9d9610..30b7f5c37 100644 --- a/inc/lang/sk/mailtext.txt +++ b/inc/lang/sk/mailtext.txt @@ -1,17 +1,17 @@ Stránka vo vašej DokuWiki bola zmenená. Tu sú podrobnosti: -Dátum : @DATE@ -Prehliadač : @BROWSER@ -IP adresa : @IPADDRESS@ -Hostitel : @HOSTNAME@ +Dátum : @DATE@ +Prehliadač : @BROWSER@ +IP adresa : @IPADDRESS@ +Adresa : @HOSTNAME@ Stará verzia : @OLDPAGE@ -Nová verzia : @NEWPAGE@ -Komentár : @SUMMARY@ -User : @USER@ +Nová verzia : @NEWPAGE@ +Komentár : @SUMMARY@ +User : @USER@ @DIFF@ -- -Táto správa bola vygenerovaná systémom DokuWiki: +Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/sk/password.txt b/inc/lang/sk/password.txt index 17e5dda9d..2b85e9c39 100644 --- a/inc/lang/sk/password.txt +++ b/inc/lang/sk/password.txt @@ -2,10 +2,10 @@ Dobrý deň, Tu sú prihlasovacie informácie pre @TITLE@ (@DOKUWIKIURL@) -Meno : @FULLNAME@ +Meno : @FULLNAME@ Užívateľské meno : @LOGIN@ -Heslo : @PASSWORD@ +Heslo : @PASSWORD@ -- -Tato správa bola vygenerována systémom DokuWiki: +Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/sk/pwconfirm.txt b/inc/lang/sk/pwconfirm.txt index 19903203d..210740da7 100644 --- a/inc/lang/sk/pwconfirm.txt +++ b/inc/lang/sk/pwconfirm.txt @@ -11,5 +11,5 @@ použite prosím nasledujúci odkaz. @CONFIRM@ -- -Tento mail bol generovaný Dokuwiki na adrese +Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/sk/registermail.txt b/inc/lang/sk/registermail.txt index 3fdc63f74..a0bf9e314 100644 --- a/inc/lang/sk/registermail.txt +++ b/inc/lang/sk/registermail.txt @@ -10,5 +10,5 @@ IP adresa : @IPADDRESS@ Meno servera : @HOSTNAME@ -- -Tento mail bol generovaný Dokuwiki na adrese +Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@ diff --git a/inc/lang/sk/subscr_digest.txt b/inc/lang/sk/subscr_digest.txt new file mode 100644 index 000000000..273cc7e26 --- /dev/null +++ b/inc/lang/sk/subscr_digest.txt @@ -0,0 +1,20 @@ +Dobrý deň! + +Stránka @PAGE@ wiki @TITLE@ bola zmenená. +Zoznam zmien: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Stará verzia: @OLDPAGE@ +Nová verzia: @NEWPAGE@ + +Ak si neprajete zasielať tieto správy, prihláste sa do wiki +@DOKUWIKIURL@, potom prejdite na +@SUBSCRIBE@ +a odhláste sa z informovania o zmenách stránky alebo menného priestoru. + +-- +Táto správa bola zaslaná DokuWiki +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sk/subscr_list.txt b/inc/lang/sk/subscr_list.txt new file mode 100644 index 000000000..3a5bfb572 --- /dev/null +++ b/inc/lang/sk/subscr_list.txt @@ -0,0 +1,17 @@ +Dobrý deň! + +Stránky v mennom priestore @PAGE@ wiki @TITLE@ boli zmenené. +Zoznam zmenených stránok: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Ak si neprajete zasielať tieto správy, prihláste sa do wiki +@DOKUWIKIURL@, potom prejdite na +@SUBSCRIBE@ +a odhláste sa z informovania o zmenách stránky alebo menného priestoru. + +-- +Táto správa bola zaslaná DokuWiki +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sk/subscr_single.txt b/inc/lang/sk/subscr_single.txt new file mode 100644 index 000000000..3abbc40b8 --- /dev/null +++ b/inc/lang/sk/subscr_single.txt @@ -0,0 +1,23 @@ +Dobrý deň! + +Stránka @PAGE@ wiki @TITLE@ bola zmenená. +Zoznam zmien: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Dátum : @DATE@ +Používateľ : @USER@ +Komentár: @SUMMARY@ +Stará verzia: @OLDPAGE@ +Nová verzia: @NEWPAGE@ + +Ak si neprajete zasielať tieto správy, prihláste sa do wiki +@DOKUWIKIURL@, potom prejdite na +@SUBSCRIBE@ +a odhláste sa z informovania o zmenách stránky alebo menného priestoru. + +-- +Táto správa bola zaslaná DokuWiki +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sk/uploadmail.txt b/inc/lang/sk/uploadmail.txt index 871fcaeb2..18293799f 100644 --- a/inc/lang/sk/uploadmail.txt +++ b/inc/lang/sk/uploadmail.txt @@ -10,5 +10,5 @@ MIME Typ : @MIME@ Užívateľ : @USER@ -- -Tento mail vygenerovalo DokuWiki na +Táto správa bola zaslaná DokuWiki @DOKUWIKIURL@ \ No newline at end of file diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index 4e519d7d7..73c3535d2 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -86,12 +86,14 @@ $lang['sneaky_index'] = 'DokuWiki implicitne ukazuje v indexe všetky m $lang['auth_security_timeout'] = 'Časový limit pri prihlasovaní (v sekundách)'; $lang['securecookie'] = 'Mal by prehliadač posielať cookies nastavené cez HTTPS posielať iba cez HTTPS (bezpečné) pripojenie? Vypnite túto voľbu iba v prípade, ak je prihlasovanie do Vašej wiki zabezpečené SSL, ale prezeranie wiki je nezabezpečené.'; $lang['xmlrpc'] = 'Povoliť/zakázať XML-RPC rozhranie.'; +$lang['xmlrpcuser'] = 'Obmedziť XML-RPC prístup iba pre uvedené skupiny alebo používateľov (oddelených čiarkami).'; $lang['updatecheck'] = 'Kontrolovať aktualizácie a bezpečnostné upozornenia? DokuWiki potrebuje pre túto funkciu prístup k splitbrain.org.'; $lang['userewrite'] = 'Používať nice URLs'; $lang['useslash'] = 'Používať lomku (/) ako oddeľovač v URL'; $lang['usedraft'] = 'Automaticky ukladať koncept počas úpravy stránky'; $lang['sepchar'] = 'Oddeľovač slov v názvoch stránok'; $lang['canonical'] = 'Používať plne kanonické URL názvy'; +$lang['fnencode'] = 'Spôsob kódovania non-ASCII mien súborov.'; $lang['autoplural'] = 'Kontrolovať množné číslo v odkazoch'; $lang['compression'] = 'Metóda kompresie pre staré verzie stránok'; $lang['cachetime'] = 'Maximálne trvanie cache (sek)'; @@ -178,3 +180,4 @@ $lang['useheading_o_0'] = 'Nikdy'; $lang['useheading_o_navigation'] = 'Iba navigácia'; $lang['useheading_o_content'] = 'Iba Wiki obsah'; $lang['useheading_o_1'] = 'Vždy'; +$lang['readdircache'] = 'Maximálne trvanie readdir cache (sek)'; diff --git a/lib/plugins/plugin/lang/sk/lang.php b/lib/plugins/plugin/lang/sk/lang.php index c04ac3af6..a10bc0fe4 100644 --- a/lib/plugins/plugin/lang/sk/lang.php +++ b/lib/plugins/plugin/lang/sk/lang.php @@ -8,7 +8,7 @@ * @author Martin Michalek */ $lang['menu'] = 'Správa pluginov'; -$lang['download'] = 'Stiahnuť a nainštalovať plugin'; +$lang['download'] = 'Stiahnuť a nainštalovať plugin'; $lang['manage'] = 'Nainštalované pluginy'; $lang['btn_info'] = 'info'; $lang['btn_update'] = 'aktualizovať'; -- cgit v1.2.3 From b3389c7a7fa0f2d29f3ab1714d577f9d2194e22d Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Sat, 10 Apr 2010 15:51:04 +0100 Subject: rtl improvements, plus explicitly specify monospace for pre --- lib/tpl/default/design.css | 1 + lib/tpl/default/print.css | 4 ++++ lib/tpl/default/rtl.css | 7 ++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index cd4d03e43..d608e1113 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -38,6 +38,7 @@ div.dokuwiki p, div.dokuwiki blockquote, div.dokuwiki table, div.dokuwiki pre { + font-family: monospace; margin: 0 0 1.0em 0; } diff --git a/lib/tpl/default/print.css b/lib/tpl/default/print.css index 1d6e0756f..46a419b35 100644 --- a/lib/tpl/default/print.css +++ b/lib/tpl/default/print.css @@ -143,6 +143,10 @@ span.li { font-weight: normal; } +pre { + font-family: monospace; +} + /* code blocks by indention */ pre.pre { font-size: 8pt; diff --git a/lib/tpl/default/rtl.css b/lib/tpl/default/rtl.css index af3793f7d..4bc41858b 100644 --- a/lib/tpl/default/rtl.css +++ b/lib/tpl/default/rtl.css @@ -45,6 +45,10 @@ div.meta div.doc { div.dokuwiki ul, div.dokuwiki ol { + margin: 0.5em 3.5em 0.5em 0; +} +div.dokuwiki li ul, +div.dokuwiki li ol { margin: 0.5em 1.5em 0.5em 0; } @@ -113,7 +117,8 @@ div.dokuwiki ul.toc li.clear { padding-right: 0.4em; } -div.dokuwiki pre { +div.dokuwiki .code { + direction: ltr; text-align: left; } -- cgit v1.2.3 From fe27e2968d47a4bef11df598c5d6cba87467ceff Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Sat, 10 Apr 2010 15:53:52 +0100 Subject: fix incorrectly placed explicit font declaration for pre --- lib/tpl/default/design.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index d608e1113..fdc41e55b 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -38,7 +38,6 @@ div.dokuwiki p, div.dokuwiki blockquote, div.dokuwiki table, div.dokuwiki pre { - font-family: monospace; margin: 0 0 1.0em 0; } @@ -463,6 +462,7 @@ div.dokuwiki blockquote { } div.dokuwiki pre { + font-family: monospace; font-size: 120%; padding: 0.5em; border: 1px dashed __border__; -- cgit v1.2.3 From b4877af37a38cedb703d975b6eca8ceb18652acd Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Sun, 11 Apr 2010 11:50:04 +0200 Subject: Arabic language update --- inc/lang/ar/pwconfirm.txt | 8 ++-- lib/plugins/config/lang/ar/intro.txt | 7 ++++ lib/plugins/config/lang/ar/lang.php | 71 ++++++++++++++++++++++++++++++++ lib/plugins/popularity/lang/ar/intro.txt | 9 ++++ lib/plugins/popularity/lang/ar/lang.php | 2 + 5 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 lib/plugins/config/lang/ar/intro.txt create mode 100644 lib/plugins/popularity/lang/ar/intro.txt diff --git a/inc/lang/ar/pwconfirm.txt b/inc/lang/ar/pwconfirm.txt index 6b735e291..401053ea0 100644 --- a/inc/lang/ar/pwconfirm.txt +++ b/inc/lang/ar/pwconfirm.txt @@ -1,8 +1,8 @@ -مرحبا @ الاسم الكامل @ +مرحبا @FULLNAME@ -شخص ما طلب كلمة سر جديدة لـحسابك @ المعرف @ في @ DOKUWIURL @ +شخص ما طلب كلمة سر جديدة لـحسابك @TITLE@ في @DOKUWIKIURL@ إذا لم تكن قد طلبت كلمة سر جديدة رجاء قم بتجاهل هذه الرسالة . لتأكيد أنك أنت قمت بطلب كلمة السر الجديدة . نرجو منك الضغط على الرابط في الأسفل . -@ التأكيد @ +@CONFIRM@ -- -لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @ DOKUWIKIURL @ \ No newline at end of file +لقد تم عمل هذه الرسالة من قبل DokuWiki .. في @DOKUWIKIURL@ diff --git a/lib/plugins/config/lang/ar/intro.txt b/lib/plugins/config/lang/ar/intro.txt new file mode 100644 index 000000000..3e09db401 --- /dev/null +++ b/lib/plugins/config/lang/ar/intro.txt @@ -0,0 +1,7 @@ +====== مدير الضبط ====== + +استخدم هذه الصفحة للتحكم باعدادات دوكي ويكي المثبتة عندك. للمساعدة في أمر ما أشر إلى [[doku>config]]. لمعلومات اكثر عن هذه الاضافة انظر [[doku>plugin:config]]. + +الاعدادات الظاهرة بخلفية حمراء فاتحة اعدادات محمية ولا يمكن تغييرها بهذه الاضافة. الاعدادات الظاهرة بخلفية زرقاء هي القيم الافتراضية والاعدادات الظاهرة بخلفية بيضاء خصصت لهذا التثبيت محليا. الاعدادات الزرقاء والبيضاء يمكن تغييرها. + +تأكد من ضغط زر **SAVE** قبل ترك الصفحة وإلا ستضيع تعديلاتك. \ No newline at end of file diff --git a/lib/plugins/config/lang/ar/lang.php b/lib/plugins/config/lang/ar/lang.php index c62fe594b..5a5fc5bfe 100644 --- a/lib/plugins/config/lang/ar/lang.php +++ b/lib/plugins/config/lang/ar/lang.php @@ -44,3 +44,74 @@ $lang['title'] = 'عنوان الويكي'; $lang['template'] = 'القالب'; $lang['license'] = 'تحت أي رخصة تريد اصدار المحتوى؟'; $lang['fullpath'] = 'اظهر المحتوى الكامل للصفحات في '; +$lang['recent'] = 'أحدث التغييرات'; +$lang['htmlok'] = 'مكّن تضمين HTML'; +$lang['phpok'] = 'مكّن تضمين PHP'; +$lang['dformat'] = 'تنسيق التاريخ (انظر وظيفة PHP,s strftime)'; +$lang['signature'] = 'التوقيع'; +$lang['toptoclevel'] = 'المستوى الأعلى لمحتويات الجدول'; +$lang['maxtoclevel'] = 'المستوى الأقصى لمحتويات الجدول'; +$lang['maxseclevel'] = 'المستوى الأقصى لتحرير القسم'; +$lang['camelcase'] = 'استخدم CamelCase للروابط'; +$lang['deaccent'] = 'نظّف اسماء الصفحات'; +$lang['useheading'] = 'استخدم اول ترويسة كأسم للصفحة'; +$lang['refcheck'] = 'التحقق من مرجع الوسائط'; +$lang['refshow'] = 'عدد مراجع الوسائط لتعرض'; +$lang['allowdebug'] = 'مكّن التنقيح عطّلها إن لم تكن بحاجلة لها!'; +$lang['usewordblock'] = 'احجز الغثاء بناء على قائمة كلمات'; +$lang['indexdelay'] = 'التأخير قبل الفهرسة (ثوان)'; +$lang['relnofollow'] = 'استخدم rel="nofollow" للروابط الخارجية'; +$lang['iexssprotect'] = 'تحقق الملفات المرفوعة من احتمال وجود أكواد جافاسكربت أو HTML ضارة'; +$lang['showuseras'] = 'الذي يعرض لاظهار المستخدم الذي قام بآخر تحرير لصفحة'; +$lang['useacl'] = 'استخدم قائمة التحم بالوصول'; +$lang['autopasswd'] = 'ولد كلمات سر تلقائيا'; +$lang['authtype'] = 'آلية المواثقة'; +$lang['passcrypt'] = 'نمط تشفير كلمة السر'; +$lang['defaultgroup'] = 'المجموعة الافتراضية'; +$lang['superuser'] = 'مجموعة المستخدم المتفوق أو مستخدم أو قائمة مفصولة بالفاصلة مستخدم1،@مجموعة، مستخدم2 صلاحيتهم الوصول الكامل لكل الصفحات و الوظائف بغض النظر عن اعدادات ACL'; +$lang['manager'] = 'مجموعة المدراء أو مستخدم أو قائمة مفصولة بالفاصلة مستخدم1،@مجموعة، مستخدم2 صلاحيتهم بعض الوظائف الادارية'; +$lang['profileconfirm'] = 'اكد تغيير اللاحة بكلمة المرور'; +$lang['disableactions'] = 'عطّل اجراءات دوكي ويكي'; +$lang['disableactions_check'] = 'تحقق'; +$lang['disableactions_subscription'] = 'اشترك/الغ الاشتراك'; +$lang['disableactions_wikicode'] = 'اعرض المصدر/صدّر صرفا'; +$lang['disableactions_other'] = 'اجراءات أخرى (مفصولة بالفاصلة)'; +$lang['sneaky_index'] = 'افتراضيا، ستعرض دوكي ويكي كل اسماء النطاقات في عرض الفهرس. تفعيل هذا الخيار سيخفي مالا يملك المستخدم صلاحية قراءته. قد يؤدي هذا إلى اخفاء نطاقات فرعية متاحة. وقد يؤدي لجعل صفحة الفهرس معطلة في بعض اعدادات ACL.'; +$lang['notify'] = 'ارسل تنبيهات التغيير لهذا البريد'; +$lang['registernotify'] = 'ارسل بيانات عن المستخدمين المسجلين جديدا لهذا البريد'; +$lang['mailfrom'] = 'البريد الالكتروني ليستخدم للرسائل الآلية'; +$lang['gzip_output'] = 'استخدم ترميز-محتوى gzip ل xhtml'; +$lang['gdlib'] = 'اصدار مكتبة GD'; +$lang['im_convert'] = 'المسار إلى اداة تحويل ImageMagick'; +$lang['jpg_quality'] = 'دقة ضغط JPG (0-100)'; +$lang['subscribers'] = 'مكن دعم اشتراك الصفحة'; +$lang['hidepages'] = 'أخف الصفحات المنطبق عليها (تعابير شرطية)'; +$lang['send404'] = 'ارسل "HTTP 404/Page Not Found" للصفحات غير الموجودة'; +$lang['sitemap'] = 'ولد خرائط موقع جوجل (أيام)'; +$lang['rememberme'] = 'اسمح بكعكات الدخول الدائم (تذكرني)'; +$lang['rss_type'] = 'نوع تلقيمات XML'; +$lang['rss_linkto'] = 'تلقيمات XML توصل إلى'; +$lang['rss_content'] = 'مالذي يعرض في عناصر تلقيمات XML؟'; +$lang['rss_update'] = 'تحديث تلقيم XML (ثوان)'; +$lang['recent_days'] = 'مدة إبقاء أحدث التغييرات (ايام)'; +$lang['rss_show_summary'] = 'تلقيم XML يظهر ملخصا في العنوان'; +$lang['target____wiki'] = 'النافذة الهدف للروابط الداخلية'; +$lang['target____extern'] = 'النافذة الهدف للروابط الخارجية'; +$lang['target____media'] = 'النافذة الهدف لروابط الوسائط'; +$lang['target____windows'] = 'النافذة الهدف لروابط النوافذ'; +$lang['proxy____host'] = 'اسم خادوم الوكيل'; +$lang['proxy____port'] = 'منفذ الوكيل'; +$lang['proxy____user'] = 'اسم مستخدم الوكيل'; +$lang['proxy____pass'] = 'كلمة سر الوكيل'; +$lang['proxy____ssl'] = 'استخدم ssl للاتصال بالوكيل'; +$lang['license_o_'] = 'غير مختار'; +$lang['typography_o_0'] = 'لاشيء'; +$lang['typography_o_1'] = 'استبعاد الاقتباس المفرد'; +$lang['userewrite_o_0'] = 'لاشيء'; +$lang['userewrite_o_1'] = '.htaccess'; +$lang['gdlib_o_0'] = 'مكتبة GD غير متوفرة'; +$lang['gdlib_o_1'] = 'الاصدار 1.x'; +$lang['gdlib_o_2'] = 'اكتشاف تلقائي'; +$lang['rss_type_o_atom'] = 'أتوم 0.3'; +$lang['rss_type_o_atom1'] = 'أتوم 1.0'; +$lang['rss_content_o_htmldiff'] = 'جدول الفروق بهيئة HTML'; \ No newline at end of file diff --git a/lib/plugins/popularity/lang/ar/intro.txt b/lib/plugins/popularity/lang/ar/intro.txt new file mode 100644 index 000000000..e5710af36 --- /dev/null +++ b/lib/plugins/popularity/lang/ar/intro.txt @@ -0,0 +1,9 @@ +====== Popularity Feedback ====== + +تجمع هذه الأداة بيانات مجهولة الاسم وتسمح لك بردها لمطوري لدوكي ويكي. يساعدهم ذلك على معرفة كيفية استخدام دوكي ويكي من المستخدمين والتأكد من أن التطويرات المستقبلية مدعومة بتقارير استخدام حقيقية. + +نشجعك على تكرار هذه الخطوة من وقت لآخر لابقاء المطورين على علم بنمو الويكي خاصتك. بياناتك المرسلة مكررا ستحتفظ ب ID بلا اسماء يميزها. + +البيانات المرسلة تحتوي معلومات مثل اصدار دوكي ويكي، عدد وحجم صفحاتك وملفاتك، الاضافات المركبة و معلومات عن PHP عندك. + +البيانات التي سترسل معروضة صرفا أسفله. رجاء استخدم زر "أرسل البيانات" لنقل المعلومات. \ No newline at end of file diff --git a/lib/plugins/popularity/lang/ar/lang.php b/lib/plugins/popularity/lang/ar/lang.php index d1d05c789..c0e7dc6af 100644 --- a/lib/plugins/popularity/lang/ar/lang.php +++ b/lib/plugins/popularity/lang/ar/lang.php @@ -5,3 +5,5 @@ * @author Yaman Hokan * @author Usama Akkad */ +$lang['name'] = 'رد الشعبية (قد يأخذ بعض الوقت ليحمل)'; +$lang['submit'] = 'أرسل البيانات'; -- cgit v1.2.3 From f40e778bd458a77910ed4a05040cbf520b6beabb Mon Sep 17 00:00:00 2001 From: andywebber Date: Sun, 11 Apr 2010 10:53:08 +0100 Subject: Add NAME and MAIL macros to notify() --- inc/common.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/inc/common.php b/inc/common.php index 4e5a2e197..fadf71b03 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1106,6 +1106,8 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ $text = str_replace('@DOKUWIKIURL@',DOKU_URL,$text); $text = str_replace('@SUMMARY@',$summary,$text); $text = str_replace('@USER@',$_SERVER['REMOTE_USER'],$text); + $text = str_replace('@NAME@',$INFO['userinfo']['name'],$text); + $text = str_replace('@MAIL',$INFO['userinfo']['mail'],$text); foreach ($replace as $key => $substitution) { $text = str_replace('@'.strtoupper($key).'@',$substitution, $text); -- cgit v1.2.3 From 52d6039fb46a59aba6634053375c77a5469fe238 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 12 Apr 2010 10:28:55 +0200 Subject: Add missing at sign --- inc/common.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/common.php b/inc/common.php index fadf71b03..144f8e48c 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1107,7 +1107,7 @@ function notify($id,$who,$rev='',$summary='',$minor=false,$replace=array()){ $text = str_replace('@SUMMARY@',$summary,$text); $text = str_replace('@USER@',$_SERVER['REMOTE_USER'],$text); $text = str_replace('@NAME@',$INFO['userinfo']['name'],$text); - $text = str_replace('@MAIL',$INFO['userinfo']['mail'],$text); + $text = str_replace('@MAIL@',$INFO['userinfo']['mail'],$text); foreach ($replace as $key => $substitution) { $text = str_replace('@'.strtoupper($key).'@',$substitution, $text); -- cgit v1.2.3 From e600c8346b32e7cf7c0ffb525972907391b54426 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 12 Apr 2010 10:50:05 +0100 Subject: Fix #1938, rtl style for blockquote --- lib/tpl/default/rtl.css | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/tpl/default/rtl.css b/lib/tpl/default/rtl.css index 4bc41858b..b59fcc783 100644 --- a/lib/tpl/default/rtl.css +++ b/lib/tpl/default/rtl.css @@ -121,4 +121,9 @@ div.dokuwiki .code { direction: ltr; text-align: left; } - +div.dokuwiki blockquote { + border-left: 0; + padding-left: 0; + border-right: 2px solid __border__; + padding-right: 3px; +} -- cgit v1.2.3 From d258a97797c602857a8cf542d64f49e1676c2497 Mon Sep 17 00:00:00 2001 From: Martin Michalek Date: Thu, 15 Apr 2010 08:30:08 +0200 Subject: Slovak language update --- inc/lang/sk/lang.php | 19 ++++++++++++++++++- inc/lang/sk/subscr_form.txt | 3 +++ lib/plugins/config/lang/sk/lang.php | 1 + 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 inc/lang/sk/subscr_form.txt diff --git a/inc/lang/sk/lang.php b/inc/lang/sk/lang.php index 852ab6c45..b1783008b 100644 --- a/inc/lang/sk/lang.php +++ b/inc/lang/sk/lang.php @@ -39,7 +39,7 @@ $lang['btn_delete'] = 'Zmazať'; $lang['btn_back'] = 'Späť'; $lang['btn_backlink'] = 'Spätné linky'; $lang['btn_backtomedia'] = 'Späť na výber média'; -$lang['btn_subscribe'] = 'Posielať zmeny'; +$lang['btn_subscribe'] = 'Sledovať zmeny'; $lang['btn_profile'] = 'Aktualizovať profil'; $lang['btn_reset'] = 'Zrušiť'; $lang['btn_resendpwd'] = 'Poslať nové heslo'; @@ -214,6 +214,22 @@ $lang['img_copyr'] = 'Kopírovacie práva'; $lang['img_format'] = 'Formát'; $lang['img_camera'] = 'Fotoaparát'; $lang['img_keywords'] = 'Kľúčové slová'; +$lang['subscr_subscribe_success'] = 'Používateľ %s bol pridaný do zoznamu hlásení o zmenách %s'; +$lang['subscr_subscribe_error'] = 'Chyba pri pridaní používateľa %s do zoznamu hlásení o zmenách %s'; +$lang['subscr_subscribe_noaddress'] = 'Vaše prihlasovacie meno nemá priradenú žiadnu email adresu, nemôžete byť pridaný do zoznamu hlásení o zmenách'; +$lang['subscr_unsubscribe_success'] = 'Používateľ %s bol odstánený zo zoznamu hlásení o zmenách %s'; +$lang['subscr_unsubscribe_error'] = 'Chyba pri odstánení používateľa %s zo zoznamu hlásení o zmenách %s'; +$lang['subscr_already_subscribed'] = 'Používateľ %s už je v zozname hlásení o zmenách %s'; +$lang['subscr_not_subscribed'] = 'Používateľ %s nie je v zozname hlásení o zmenách %s'; +$lang['subscr_m_not_subscribed'] = 'Momentálne nesledujete zmeny aktuálnej stránky alebo menného priestoru.'; +$lang['subscr_m_new_header'] = 'Pridať sledovanie zmien'; +$lang['subscr_m_current_header'] = 'Aktuálne sledované zmeny'; +$lang['subscr_m_unsubscribe'] = 'Nesledovať zmeny'; +$lang['subscr_m_subscribe'] = 'Sledovať zmeny'; +$lang['subscr_m_receive'] = 'Dostávať'; +$lang['subscr_style_every'] = 'email pri každej zmene'; +$lang['subscr_style_digest'] = 'email so zhrnutím zmien pre každú stránku'; +$lang['subscr_style_list'] = 'zoznam zmenených stránok od posledného emailu'; $lang['authmodfailed'] = 'Užívateľská autentifikácia nie je možná. Prosím informujte správcu systému.'; $lang['authtempfail'] = 'Užívateľská autentifikácia je dočasne nedostupná. Ak táto situácia pretrváva, prosím informujte správcu systému.'; $lang['i_chooselang'] = 'Zvoľte váš jazyk'; @@ -250,6 +266,7 @@ $lang['mu_fail'] = 'neúspešný'; $lang['mu_authfail'] = 'pripojenie stratilo platnosť'; $lang['mu_progress'] = '@PCT@% nahraných'; $lang['mu_filetypes'] = 'Povolené typy súborov'; +$lang['mu_info'] = 'nahraných súborov.'; $lang['mu_lasterr'] = 'Posledná chyba:'; $lang['recent_global'] = 'Práve prehliadate zmeny v mennom priestore %s. Môžete si tiež pozrieť aktuálne zmeny celej wiki.'; $lang['years'] = 'pred %d rokmi'; diff --git a/inc/lang/sk/subscr_form.txt b/inc/lang/sk/subscr_form.txt new file mode 100644 index 000000000..1f12e9a15 --- /dev/null +++ b/inc/lang/sk/subscr_form.txt @@ -0,0 +1,3 @@ +====== Sledovanie zmien ====== + +Táto stánka umožňuje sledovať zmeny aktuálnej stránky a menného priestoru. \ No newline at end of file diff --git a/lib/plugins/config/lang/sk/lang.php b/lib/plugins/config/lang/sk/lang.php index 73c3535d2..7b94f26d0 100644 --- a/lib/plugins/config/lang/sk/lang.php +++ b/lib/plugins/config/lang/sk/lang.php @@ -107,6 +107,7 @@ $lang['gdlib'] = 'Verzia GD Lib'; $lang['im_convert'] = 'Cesta k ImageMagick convert tool'; $lang['jpg_quality'] = 'Kvalita JPG kompresie (0-100)'; $lang['subscribers'] = 'Povoliť podporu informovania o zmenách stránky'; +$lang['subscribe_time'] = 'Časový inteval, po uplynutí ktorého sú zasielané informácie o zmenách stránky alebo menného priestoru (sek); hodnota by mala byť menšia ako čas zadaný pri položke recent_days.'; $lang['compress'] = 'Komprimovať CSS a javascript výstup'; $lang['hidepages'] = 'Skryť zodpovedajúce stránky (regulárne výrazy)'; $lang['send404'] = 'Poslať "HTTP 404/Page Not Found" pre neexistujúce stránky'; -- cgit v1.2.3 From acca0b77793187b25d85d39e7ed7d6194f8aa55e Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Thu, 15 Apr 2010 08:36:26 +0200 Subject: Arabic language update --- inc/lang/ar/lang.php | 37 +++++++++++++++++++++ inc/lang/ar/subscr_digest.txt | 1 + lib/plugins/acl/lang/ar/help.txt | 11 +++++++ lib/plugins/acl/lang/ar/lang.php | 12 +++++++ lib/plugins/config/lang/ar/lang.php | 2 +- lib/plugins/plugin/lang/ar/admin_plugin.txt | 4 +++ lib/plugins/plugin/lang/ar/lang.php | 50 ++++++++++++++++++++++------- lib/plugins/usermanager/lang/ar/edit.txt | 2 +- lib/plugins/usermanager/lang/ar/intro.txt | 1 + lib/plugins/usermanager/lang/ar/lang.php | 26 +++++++++++++-- lib/plugins/usermanager/lang/ar/list.txt | 1 + 11 files changed, 130 insertions(+), 17 deletions(-) create mode 100644 inc/lang/ar/subscr_digest.txt create mode 100644 lib/plugins/acl/lang/ar/help.txt create mode 100644 lib/plugins/plugin/lang/ar/admin_plugin.txt create mode 100644 lib/plugins/usermanager/lang/ar/intro.txt create mode 100644 lib/plugins/usermanager/lang/ar/list.txt diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index b1bd38383..201cc16c5 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -179,6 +179,11 @@ $lang['qb_h2'] = 'عنوان مستوى ثاني'; $lang['qb_h3'] = 'عنوان مستوى ثالث'; $lang['qb_h4'] = 'عنوان مستوى رابع'; $lang['qb_h5'] = 'عنوان مستوى خامس'; +$lang['qb_h'] = 'الترويسة'; +$lang['qb_hs'] = 'حدد الترويسة'; +$lang['qb_hplus'] = 'ترويسة أعلى'; +$lang['qb_hminus'] = 'ترويسة أخفض'; +$lang['qb_hequal'] = 'ترويسة بنفس المستوى'; $lang['qb_link'] = 'رابط داخلي'; $lang['qb_extlink'] = 'رابط خارجي'; $lang['qb_hr'] = 'سطر أفقي'; @@ -188,6 +193,7 @@ $lang['qb_media'] = 'إضافة صور و ملفات أخرى'; $lang['qb_sig'] = 'أضف توقيعك'; $lang['qb_smileys'] = 'الابتسامات'; $lang['qb_chars'] = 'محارف خاصة'; +$lang['upperns'] = 'انتقل للنطاق الأب'; $lang['admin_register'] = 'إضافة مشترك جديد'; $lang['metaedit'] = 'تحرير البيانات الشمولية '; $lang['metasaveerr'] = 'فشلت عملية كتابة البيانات الشمولية'; @@ -203,6 +209,21 @@ $lang['img_copyr'] = 'حقوق النسخ'; $lang['img_format'] = 'صيغ رسومية'; $lang['img_camera'] = 'آلة التصوير'; $lang['img_keywords'] = 'كلمات مفتاحية'; +$lang['subscr_subscribe_success'] = 'اضيف %s لقائمة اشتراك %s'; +$lang['subscr_subscribe_error'] = 'خطأ في إضافة %s لقائمة اشتراك %s'; +$lang['subscr_subscribe_noaddress'] = 'ليس هناك عنوان مرتبط بدخولك، لا يمكن اضافتك لقائمة الاشتراك'; +$lang['subscr_unsubscribe_success'] = 'أزيل %s من قائمة اشتراك %s'; +$lang['subscr_unsubscribe_error'] = 'خطأ في إزالة %s من قائمة اشتراك %s'; +$lang['subscr_already_subscribed'] = '%s مشترك مسبقا في %s'; +$lang['subscr_not_subscribed'] = '%s ليس مشتركا في %s'; +$lang['subscr_m_not_subscribed'] = 'لست مشتركا حاليا بالصفحة او النطاق الحاليين'; +$lang['subscr_m_new_header'] = 'أضف اشتراكا'; +$lang['subscr_m_current_header'] = 'الاشتراكات الحالية'; +$lang['subscr_m_unsubscribe'] = 'ألغ الاشتراك'; +$lang['subscr_m_subscribe'] = 'اشترك'; +$lang['subscr_m_receive'] = 'استقبل'; +$lang['subscr_style_every'] = 'بريدا على كل تغيير'; +$lang['subscr_style_list'] = 'قائمة بالصفحات المتغيرة منذ آخر بريد'; $lang['authmodfailed'] = 'إعدادات تصريح فاسدة، يرجى مراسلة المدير.'; $lang['authtempfail'] = 'تصريح المشترك غير متوفر مؤقتاً، إن استمرت هذه الحالة يرجى مراسلة المدير'; $lang['i_chooselang'] = 'اختر لغتك'; @@ -235,11 +256,27 @@ $lang['i_pol0'] = 'ويكي مفتوحة؛ أي القراءة و $lang['i_pol1'] = 'ويكي عامة؛ أي القراءة للجميع ولكن الكتابة والتحميل للمشتركين المسجلين فقط'; $lang['i_pol2'] = 'ويكي مغلقة؛ أي القراءة والكتابة والتحميل للمشتركين المسجلين فقط'; $lang['i_retry'] = 'إعادة المحاولة'; +$lang['mu_intro'] = 'هنا يمكنك رفع ملفات متعددة في وقت واحد. انقر على زر استعرض لاضافتهم إلى الطابور. انقر ارفع عند الانتهاء.'; $lang['mu_gridname'] = 'اسم الملف'; $lang['mu_gridsize'] = 'الحجم'; $lang['mu_gridstat'] = 'الحالة'; +$lang['mu_namespace'] = 'نطاق'; +$lang['mu_browse'] = 'استعرض'; $lang['mu_toobig'] = 'كبير جدا'; $lang['mu_ready'] = 'جاهز للرفع'; $lang['mu_done'] = 'اكتمل'; $lang['mu_fail'] = 'فشل'; +$lang['mu_authfail'] = 'انتهت الجلسة'; +$lang['mu_progress'] = 'رُفع @PCT@% '; +$lang['mu_filetypes'] = 'انواع الملفات المسموحة'; $lang['mu_info'] = 'تم رفع الملفات'; +$lang['mu_lasterr'] = 'آخر خطأ:'; +$lang['recent_global'] = 'انت تراقب حاليا التغييرات داخل نطاق %s. يمكنك أيضا عرض أحدث تغييرات الويكي كلها.'; +$lang['years'] = '%d سنة مضت'; +$lang['months'] = '%d شهرا مضى'; +$lang['weeks'] = '%d اسبوعا مضى'; +$lang['days'] = '%d يوما مضى'; +$lang['hours'] = '%d ساعة مضت'; +$lang['minutes'] = '%d دقيقة مضت'; +$lang['seconds'] = '%d ثانية مضت'; +$lang['wordblock'] = 'لم تحفظ تغييراتك لاحتوائها على نص ممنوع )غثاء('; diff --git a/inc/lang/ar/subscr_digest.txt b/inc/lang/ar/subscr_digest.txt new file mode 100644 index 000000000..8d6e731cf --- /dev/null +++ b/inc/lang/ar/subscr_digest.txt @@ -0,0 +1 @@ +مرحبا! \ No newline at end of file diff --git a/lib/plugins/acl/lang/ar/help.txt b/lib/plugins/acl/lang/ar/help.txt new file mode 100644 index 000000000..afae13a86 --- /dev/null +++ b/lib/plugins/acl/lang/ar/help.txt @@ -0,0 +1,11 @@ +=== مساعدة سريعة: === + +على هذه الصفحة يمكنك إضافة أو إزالة الصلاحيات الخاصة بالنطاقات و الصفحات في ويكيتك. + +الشريط الأيسر يظهر كل النطاقات و الصفحات المتاحة. + +النموذج في الأسفل يمكنك من رؤية و تعديل الصلاحيات لمستخدم محدد أو مجموعة . + +في الجدول في الأسفل تجد قواعد التحكم بالوصول معروضة. يمكنك استخدامها لحذف أو تغيير عدة قواعد بسرعة. + +قراءة [[doku>acl|المستندات الرسمية عن ACL]] قد يساعدك على الفهم الكامل لطريقة عمل التحكم بالوصول في دوكي ويكي. diff --git a/lib/plugins/acl/lang/ar/lang.php b/lib/plugins/acl/lang/ar/lang.php index e3e04a6c4..552ce90d9 100644 --- a/lib/plugins/acl/lang/ar/lang.php +++ b/lib/plugins/acl/lang/ar/lang.php @@ -14,6 +14,17 @@ $lang['acl_perms'] = 'ترخيص لـ'; $lang['page'] = 'صفحة'; $lang['namespace'] = 'فضاء التسمية'; $lang['btn_select'] = 'اختيار'; +$lang['p_user_id'] = 'المستخدم%s عنده حاليا الصلاحيات التالية على الصفحة%s: %s.'; +$lang['p_user_ns'] = 'المستخدم %s عنده حاليا الصلاحيات التالية في النطاق%s: %s.'; +$lang['p_group_id'] = 'أعضاء مجموعة%s عندهم حاليا الصلاحيات التالية على الصفحة page %s: %s.'; +$lang['p_group_ns'] = 'أعضاء مجموعة %s عندهم حاليا الصلاحيات التالية في النطاق %s: %s.'; +$lang['p_choose_id'] = 'رجاء مستخدما أو مجموعة في النموذج أعلاه لعرض أو تحرير اعداد الصلاحيات للصفحة%s.'; +$lang['p_choose_ns'] = 'رجاء Please أدخل مستخدما أو مجموعة في النموذج أعلاه لعرض أو تحرير اعداد الصلاحيات للنطاق%s.'; +$lang['p_inherited'] = 'لاحظ: هذه الصلاحيات لم تنشأ إراديا بل وُرثت من مجموعات أخرى أو نطاقات أعلى.'; +$lang['p_isadmin'] = 'لاحظ: المجموعة أو المستخدم المحدد عندهم دائما صلاحيات كاملة بسبب ضبطهم كمستخدمين متفوقين.'; +$lang['p_include'] = 'الصلاحيات الاعلى تتضمن الأخفض. صلاحيات الإنشاء ، والرفع، والحذف تطبق فقط على النطاقات، وليس على الصفحات.'; +$lang['current'] = 'قواعد ACL الحالية'; +$lang['where'] = 'الصفحة/النطاق'; $lang['who'] = 'اسم المستخدم / المجموعة'; $lang['perm'] = 'التصاريح'; $lang['acl_perm0'] = 'لا يوجد'; @@ -23,3 +34,4 @@ $lang['acl_perm4'] = 'إنشاء'; $lang['acl_perm8'] = 'تحميل'; $lang['acl_perm16'] = 'مسح'; $lang['acl_new'] = 'أضف أضافة جديدة'; +$lang['acl_mod'] = 'عدل المدخلة'; diff --git a/lib/plugins/config/lang/ar/lang.php b/lib/plugins/config/lang/ar/lang.php index 5a5fc5bfe..22d3b7811 100644 --- a/lib/plugins/config/lang/ar/lang.php +++ b/lib/plugins/config/lang/ar/lang.php @@ -114,4 +114,4 @@ $lang['gdlib_o_1'] = 'الاصدار 1.x'; $lang['gdlib_o_2'] = 'اكتشاف تلقائي'; $lang['rss_type_o_atom'] = 'أتوم 0.3'; $lang['rss_type_o_atom1'] = 'أتوم 1.0'; -$lang['rss_content_o_htmldiff'] = 'جدول الفروق بهيئة HTML'; \ No newline at end of file +$lang['rss_content_o_htmldiff'] = 'جدول الفروق بهيئة HTML'; diff --git a/lib/plugins/plugin/lang/ar/admin_plugin.txt b/lib/plugins/plugin/lang/ar/admin_plugin.txt new file mode 100644 index 000000000..1aeaf13ad --- /dev/null +++ b/lib/plugins/plugin/lang/ar/admin_plugin.txt @@ -0,0 +1,4 @@ +====== إدارة الإضافات ====== + +على هذه الصفحة يمكنك إدارة كل ما يتعلق ب[[doku>plugins|إضافات]] دوكي ويكي. لتتمكن من تنزيل و تثبيت الإضافات يجب أن يكون دليل الاضافات قابلا للكتابة من خادوم الوب. + diff --git a/lib/plugins/plugin/lang/ar/lang.php b/lib/plugins/plugin/lang/ar/lang.php index dbbcbd07a..55987881c 100644 --- a/lib/plugins/plugin/lang/ar/lang.php +++ b/lib/plugins/plugin/lang/ar/lang.php @@ -5,21 +5,47 @@ * @author Yaman Hokan * @author Usama Akkad */ -$lang['btn_delete'] = 'حذف'; -$lang['btn_settings'] = 'خيارات'; -$lang['btn_download'] = 'تحميل'; -$lang['btn_enable'] = 'حفظ'; +$lang['menu'] = 'إدارة الملحقات'; +$lang['download'] = 'نزّل و ثبت اضافة جديدة'; +$lang['manage'] = 'الإضافات المثبتة'; +$lang['btn_info'] = 'معلومات'; +$lang['btn_update'] = 'حدّث'; +$lang['btn_delete'] = 'احذف'; +$lang['btn_settings'] = 'إعدادات'; +$lang['btn_download'] = 'نزل'; +$lang['btn_enable'] = 'احفظ'; $lang['url'] = 'رابط'; -$lang['source'] = 'مصدر'; -$lang['unknown'] = 'غير معروف'; -$lang['updating'] = 'يتم التحديث ...'; -$lang['update_none'] = 'لم يتم العثور على تحديثات'; -$lang['deleting'] = 'يتم الحذف ... '; -$lang['downloading'] = 'يتم التحميل .. '; +$lang['installed'] = 'ثُبتت:'; +$lang['lastupdate'] = 'آخر تحديث:'; +$lang['source'] = 'المصدر:'; +$lang['unknown'] = 'مجهول'; +$lang['updating'] = 'تُحدث ...'; +$lang['updated'] = 'الاضافة %s حُدثت بنجاح'; +$lang['updates'] = 'الاضافة التالية حُدثت بنجاح'; +$lang['update_none'] = 'لا يوجد تحديثات.'; +$lang['deleting'] = 'تُحذف ... '; +$lang['deleted'] = 'حُذفت الإضافة %s.'; +$lang['downloading'] = 'يُنزل ...'; +$lang['downloaded'] = 'الاضافة %s ثبتت بنجاح'; +$lang['downloads'] = 'الاضافة التالية ثبتت بنجاح:'; +$lang['download_none'] = 'لم يجد إضافة، أو ان هناك مشكلة غير معروفة أثناء التنزيل و التثبيت.'; +$lang['plugin'] = 'الإضافة:'; +$lang['components'] = 'المكون:'; +$lang['noinfo'] = 'لم تعطي الإضافة أية معلومة، قد تكون معطوبة.'; $lang['name'] = 'الاسم :'; $lang['date'] = 'التاريخ :'; $lang['type'] = 'النوع :'; $lang['desc'] = 'الوصف :'; $lang['author'] = 'الكاتب :'; -$lang['www'] = 'شبكة :'; -$lang['error'] = 'ظهر خطأ غير معروف .'; +$lang['www'] = 'الشابكة :'; +$lang['error'] = 'حث خطأ مجهول.'; +$lang['error_download'] = 'تعذر تنزيل ملف الاضافة: %s'; +$lang['error_badurl'] = 'اشتبه بعنوان خاطئ - تعذر الحصول على الاسم من العنوان'; +$lang['error_dircreate'] = 'تعذر إنشاء مجلد مؤقت للتنزيل'; +$lang['error_decompress'] = 'تعذر على مدير الاضافات فك ضغط الملف المُنزّل. قد يكون ذلك نتيجة لتنزيل خاطئ، في هذه الحالة أعد المحاولة; أو ان هيئة الضغط غير معروفة، في هذه الحالة عليك تنزيل و تثبيت الاضافة يدويا.'; +$lang['error_copy'] = 'كان هناك خطأ في نسخ ملف عند محاولة تثبيت ملفات للإضافة %s: قد يكون القرص ممتلئا أو أن صلاحيات الوصول للملف خاطئة. لربما نتج عن ذلك اضافة مثبته جزئيا تجعل نظام الويكي غير ثابت.'; +$lang['error_delete'] = 'كان هناك خطأ عند محاولة حذف الاضافة %s. السبب الاكثر احتمالا هو صلاحيات غير كافية على الملف أو المجلد'; +$lang['enabled'] = 'الاضافة %s فُعلت. '; +$lang['notenabled'] = 'تعذر تفعيل الاضافة %s، تحقق من اذونات الملف.'; +$lang['disabled'] = 'عُطلت الإضافة %s.'; +$lang['notdisabled'] = 'تعذر تعطيل الإضافة %s، تحقق من اذونات الملف.'; diff --git a/lib/plugins/usermanager/lang/ar/edit.txt b/lib/plugins/usermanager/lang/ar/edit.txt index 5db2ce031..bd9876d82 100644 --- a/lib/plugins/usermanager/lang/ar/edit.txt +++ b/lib/plugins/usermanager/lang/ar/edit.txt @@ -1 +1 @@ -==== تعديل الحساب ==== \ No newline at end of file +==== تعديل المستخدم ==== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ar/intro.txt b/lib/plugins/usermanager/lang/ar/intro.txt new file mode 100644 index 000000000..1cfb841fa --- /dev/null +++ b/lib/plugins/usermanager/lang/ar/intro.txt @@ -0,0 +1 @@ +====== مدير المستخدمين ====== \ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ar/lang.php b/lib/plugins/usermanager/lang/ar/lang.php index b6aff8120..6c1b2b840 100644 --- a/lib/plugins/usermanager/lang/ar/lang.php +++ b/lib/plugins/usermanager/lang/ar/lang.php @@ -5,6 +5,10 @@ * @author Yaman Hokan * @author Usama Akkad */ +$lang['menu'] = 'مدير المستخدمين'; +$lang['noauth'] = '(مصادقة المستخدمين غير متوفرة)'; +$lang['nosupport'] = '(إدارة المستخدمين غير متوفرة)'; +$lang['badauth'] = 'آلية مصادقة غير صالحة'; $lang['user_id'] = 'اسم المستخدم'; $lang['user_pass'] = 'كلمة السر'; $lang['user_name'] = 'الاسم الحقيقي'; @@ -16,13 +20,29 @@ $lang['add'] = 'إضافة'; $lang['delete'] = 'حذف'; $lang['delete_selected'] = 'حذف المختار'; $lang['edit'] = 'تحرير'; +$lang['edit_prompt'] = 'حرر هذا المستخدم'; $lang['modify'] = 'حفظ التعديلات'; $lang['search'] = 'بحث'; +$lang['search_prompt'] = 'ابدأ البحث'; +$lang['clear'] = 'صفّر مرشح البحث'; +$lang['filter'] = 'المرشّح'; +$lang['summary'] = 'عرض المستخدمين %1$d-%2$d of %3$d وجد. %4$d مستخدم كلي.'; +$lang['nonefound'] = 'لم يوجد مستخدمين. %d مستخدم كليا.'; +$lang['delete_ok'] = '%d مستخدم حذفوا'; +$lang['delete_fail'] = '%d فشل حذفهم.'; +$lang['update_ok'] = 'حُدث المستخدم بنجاح'; +$lang['update_fail'] = 'فشل تحديث المستخدم'; $lang['update_exists'] = 'لقد فشل تغيير اسم المستخدم , اسم المستخدم المحدد (%s) غير متاح . ( سيتم تطبيق أي تغييرات أخرى )'; $lang['start'] = 'ابدأ'; $lang['prev'] = 'السابق'; $lang['next'] = 'التالي'; $lang['last'] = 'الأخير'; -$lang['add_ok'] = 'تم بنجاح ضافة الحساب'; -$lang['add_fail'] = 'فشلت إضافة الحساب'; -$lang['notify_ok'] = 'تم إرسال رسالة الإشعار'; +$lang['edit_usermissing'] = 'لم يعثر على المستخدم المحدد، يحتمل أن اسم المستخدم قد حذف أو غُير في مكان آخر.'; +$lang['user_notify'] = 'أشعر المستخدم'; +$lang['note_notify'] = 'بريد الاشعار يرسل فقط إن اعطي المستخدم كلمة سر جديدة.'; +$lang['note_group'] = 'المستخدمون الجدد سيضافون للمجموعة الافتراضية (%s) إن لم تُحدد لهم مجموعة.'; +$lang['note_pass'] = 'ستولد كلمة المرور تلقائيا إن تُرك الحقل فارغا مع تمكين إشعار المستخدم.'; +$lang['add_ok'] = 'اضيف المستخدم بنجاح'; +$lang['add_fail'] = 'فشلت إضافة المستخدم'; +$lang['notify_ok'] = 'ارسلت رسالة الاشعار'; +$lang['notify_fail'] = 'تعذر ارسال بريد الاشعار'; diff --git a/lib/plugins/usermanager/lang/ar/list.txt b/lib/plugins/usermanager/lang/ar/list.txt new file mode 100644 index 000000000..02e9a0363 --- /dev/null +++ b/lib/plugins/usermanager/lang/ar/list.txt @@ -0,0 +1 @@ +===== قائمة المستخدمين ===== \ No newline at end of file -- cgit v1.2.3 From 7431da04d6ff5e8642bdcc26da5f03fe5dbbf33f Mon Sep 17 00:00:00 2001 From: Arne Pelka Date: Sun, 18 Apr 2010 13:09:20 +0200 Subject: German language update --- inc/lang/de/lang.php | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index 2ffe8af99..91bdcab0a 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -103,24 +103,8 @@ $lang['txt_overwrt'] = 'Bestehende Datei überschreiben'; $lang['lockedby'] = 'Momentan gesperrt von'; $lang['lockexpire'] = 'Sperre läuft ab am'; $lang['willexpire'] = 'Die Sperre zur Bearbeitung dieser Seite läuft in einer Minute ab.\nUm Bearbeitungskonflikte zu vermeiden, sollten Sie sie durch einen Klick auf den Vorschau-Knopf verlängern.'; -$lang['js']['notsavedyet'] = "Nicht gespeicherte Änderungen gehen verloren!\nWeitermachen?"; -$lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; -$lang['nothingfound'] = 'Nichts gefunden.'; -$lang['mediaselect'] = 'Dateiauswahl'; -$lang['fileupload'] = 'Datei hochladen'; -$lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; -$lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; -$lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; -$lang['uploadexist'] = 'Datei existiert bereits. Keine Änderungen vorgenommen.'; -$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung %s überein.'; -$lang['uploadspam'] = 'Hochladen verweigert: Treffer auf der Spamliste.'; -$lang['uploadxss'] = 'Hochladen verweigert: Daten scheinen Schadcode zu enthalten.'; -$lang['uploadsize'] = 'Die hochgeladene Datei war zu groß. (max. %s)'; -$lang['deletesucc'] = 'Die Datei "%s" wurde gelöscht.'; -$lang['deletefail'] = '"%s" konnte nicht gelöscht werden - prüfen Sie die Berechtigungen.'; -$lang['mediainuse'] = 'Die Datei "%s" wurde nicht gelöscht - sie wird noch verwendet.'; -$lang['namespaces'] = 'Namensräume'; -$lang['mediafiles'] = 'Vorhandene Dateien in'; +$lang['js']['notsavedyet'] = 'Nicht gespeicherte Änderungen gehen verloren! +Weitermachen?'; $lang['js']['searchmedia'] = 'Suche Dateien'; $lang['js']['keepopen'] = 'Fenster nach Auswahl nicht schließen'; $lang['js']['hidedetails'] = 'Details ausblenden'; @@ -142,8 +126,8 @@ $lang['js']['mediadirect'] = 'Direktlink zum Original'; $lang['js']['medianolnk'] = 'Kein Link'; $lang['js']['medianolink'] = 'Bild nicht verlinken'; $lang['js']['medialeft'] = 'Das Bild links anordnen.'; -$lang['js']['mediaright'] = 'Das Bild in der Mitte anordnen.'; -$lang['js']['mediacenter'] = 'Das Bild rechts anordnen.'; +$lang['js']['mediaright'] = 'Das Bild rechts anordnen.'; +$lang['js']['mediacenter'] = 'Das Bild in der Mitte anordnen.'; $lang['js']['medianoalign'] = 'Keine Anordnung benutzen.'; $lang['js']['nosmblinks'] = 'Das Verlinken von Windows-Freigaben funktioniert nur im Microsoft Internet Explorer. Der Link kann jedoch durch Kopieren und Einfügen verwendet werden.'; @@ -151,6 +135,23 @@ $lang['js']['linkwiz'] = 'Link-Assistent'; $lang['js']['linkto'] = 'Link nach:'; $lang['js']['del_confirm'] = 'Eintrag wirklich löschen?'; $lang['js']['mu_btn'] = 'Mehrere Dateien gleichzeitig hochladen'; +$lang['rssfailed'] = 'Es ist ein Fehler beim Laden des Feeds aufgetreten: '; +$lang['nothingfound'] = 'Nichts gefunden.'; +$lang['mediaselect'] = 'Dateiauswahl'; +$lang['fileupload'] = 'Datei hochladen'; +$lang['uploadsucc'] = 'Datei wurde erfolgreich hochgeladen'; +$lang['uploadfail'] = 'Hochladen fehlgeschlagen. Keine Berechtigung?'; +$lang['uploadwrong'] = 'Hochladen verweigert. Diese Dateiendung ist nicht erlaubt.'; +$lang['uploadexist'] = 'Datei existiert bereits. Keine Änderungen vorgenommen.'; +$lang['uploadbadcontent'] = 'Die hochgeladenen Daten stimmen nicht mit der Dateiendung %s überein.'; +$lang['uploadspam'] = 'Hochladen verweigert: Treffer auf der Spamliste.'; +$lang['uploadxss'] = 'Hochladen verweigert: Daten scheinen Schadcode zu enthalten.'; +$lang['uploadsize'] = 'Die hochgeladene Datei war zu groß. (max. %s)'; +$lang['deletesucc'] = 'Die Datei "%s" wurde gelöscht.'; +$lang['deletefail'] = '"%s" konnte nicht gelöscht werden - prüfen Sie die Berechtigungen.'; +$lang['mediainuse'] = 'Die Datei "%s" wurde nicht gelöscht - sie wird noch verwendet.'; +$lang['namespaces'] = 'Namensräume'; +$lang['mediafiles'] = 'Vorhandene Dateien in'; $lang['mediausage'] = 'Syntax zum Verwenden dieser Datei:'; $lang['mediaview'] = 'Originaldatei öffnen'; $lang['mediaroot'] = 'Wurzel'; -- cgit v1.2.3 From 0d9c4a0b2a392fa4eff32664d37fea6b2d528060 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Grzegorz=20Wid=C5=82a?= Date: Sun, 18 Apr 2010 13:10:07 +0200 Subject: Polish language update --- inc/lang/pl/lang.php | 38 +++++++++++++++++--------------- lib/plugins/acl/lang/pl/lang.php | 1 + lib/plugins/config/lang/pl/lang.php | 3 +++ lib/plugins/plugin/lang/pl/lang.php | 1 + lib/plugins/popularity/lang/pl/lang.php | 1 + lib/plugins/revert/lang/pl/lang.php | 1 + lib/plugins/usermanager/lang/pl/lang.php | 1 + 7 files changed, 28 insertions(+), 18 deletions(-) diff --git a/inc/lang/pl/lang.php b/inc/lang/pl/lang.php index 0f8e8bb9a..0fac281f8 100644 --- a/inc/lang/pl/lang.php +++ b/inc/lang/pl/lang.php @@ -10,6 +10,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -96,24 +97,8 @@ $lang['txt_overwrt'] = 'Nadpisać istniejący plik?'; $lang['lockedby'] = 'Aktualnie zablokowane przez'; $lang['lockexpire'] = 'Blokada wygasa'; $lang['willexpire'] = 'Za minutę Twoja blokada tej strony wygaśnie.\nW celu uniknięcia konfliktów wyświetl podgląd aby odnowić blokadę.'; -$lang['js']['notsavedyet'] = "Nie zapisane zmiany zostaną utracone.\nCzy na pewno kontynuować?"; -$lang['rssfailed'] = 'Wystąpił błąd przy pobieraniu tych danych: '; -$lang['nothingfound'] = 'Nic nie znaleziono.'; -$lang['mediaselect'] = 'Wysyłanie pliku'; -$lang['fileupload'] = 'Wysyłanie pliku'; -$lang['uploadsucc'] = 'Wysyłanie powiodło się!'; -$lang['uploadfail'] = 'Błąd wysyłania pliku. Czy prawa do katalogów są poprawne?'; -$lang['uploadwrong'] = 'Wysyłanie zabronione. Nie można wysłać plików z takim rozszerzeniem'; -$lang['uploadexist'] = 'Plik już istnieje, nie wykonano operacji.'; -$lang['uploadbadcontent'] = 'Typ pliku "%s" nie odpowiadał jego rozszerzeniu.'; -$lang['uploadspam'] = 'Plik zablokowany przez filtr antyspamowy.'; -$lang['uploadxss'] = 'Plik zablokowany ze względu na podejrzaną zawartość.'; -$lang['uploadsize'] = 'Plik jest za duży (maksymalny rozmiar %s)'; -$lang['deletesucc'] = 'Plik "%s" został usunięty.'; -$lang['deletefail'] = 'Plik "%s" nie został usunięty, sprawdź uprawnienia.'; -$lang['mediainuse'] = 'Plik "%s" nie został usunięty, ponieważ jest używany.'; -$lang['namespaces'] = 'Katalogi'; -$lang['mediafiles'] = 'Dostępne pliki'; +$lang['js']['notsavedyet'] = 'Nie zapisane zmiany zostaną utracone. +Czy na pewno kontynuować?'; $lang['js']['searchmedia'] = 'Szukaj plików'; $lang['js']['keepopen'] = 'Nie zamykaj okna po wyborze'; $lang['js']['hidedetails'] = 'Ukryj szczegóły'; @@ -144,6 +129,23 @@ $lang['js']['linkwiz'] = 'Tworzenie odnośników'; $lang['js']['linkto'] = 'Link do'; $lang['js']['del_confirm'] = 'Czy na pewno usunąć?'; $lang['js']['mu_btn'] = 'Wyślij wiele plików na raz'; +$lang['rssfailed'] = 'Wystąpił błąd przy pobieraniu tych danych: '; +$lang['nothingfound'] = 'Nic nie znaleziono.'; +$lang['mediaselect'] = 'Wysyłanie pliku'; +$lang['fileupload'] = 'Wysyłanie pliku'; +$lang['uploadsucc'] = 'Wysyłanie powiodło się!'; +$lang['uploadfail'] = 'Błąd wysyłania pliku. Czy prawa do katalogów są poprawne?'; +$lang['uploadwrong'] = 'Wysyłanie zabronione. Nie można wysłać plików z takim rozszerzeniem'; +$lang['uploadexist'] = 'Plik już istnieje, nie wykonano operacji.'; +$lang['uploadbadcontent'] = 'Typ pliku "%s" nie odpowiadał jego rozszerzeniu.'; +$lang['uploadspam'] = 'Plik zablokowany przez filtr antyspamowy.'; +$lang['uploadxss'] = 'Plik zablokowany ze względu na podejrzaną zawartość.'; +$lang['uploadsize'] = 'Plik jest za duży (maksymalny rozmiar %s)'; +$lang['deletesucc'] = 'Plik "%s" został usunięty.'; +$lang['deletefail'] = 'Plik "%s" nie został usunięty, sprawdź uprawnienia.'; +$lang['mediainuse'] = 'Plik "%s" nie został usunięty, ponieważ jest używany.'; +$lang['namespaces'] = 'Katalogi'; +$lang['mediafiles'] = 'Dostępne pliki'; $lang['mediausage'] = 'Użyj następującej składni w odnośniku do tego pliku:'; $lang['mediaview'] = 'Pokaż oryginalny plik'; $lang['mediaroot'] = 'główny'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 300f0ad1c..c954abe2a 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -10,6 +10,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; $lang['acl_group'] = 'Grupa'; diff --git a/lib/plugins/config/lang/pl/lang.php b/lib/plugins/config/lang/pl/lang.php index 662a80c3b..451c3125a 100644 --- a/lib/plugins/config/lang/pl/lang.php +++ b/lib/plugins/config/lang/pl/lang.php @@ -11,6 +11,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['menu'] = 'Ustawienia'; $lang['error'] = 'Ustawienia nie zostały zapisane z powodu błędnych wartości, przejrzyj je i ponów próbę zapisu.
Niepoprawne wartości są wyróżnione kolorem czerwonym.'; @@ -98,6 +99,7 @@ $lang['useslash'] = 'Używanie ukośnika jako separatora w adresie $lang['usedraft'] = 'Automatyczne zapisywanie szkicu podczas edycji'; $lang['sepchar'] = 'Znak rozdzielający wyrazy nazw'; $lang['canonical'] = 'Kanoniczne adresy URL'; +$lang['fnencode'] = 'Metoda kodowana nazw pików bez użycia ASCII.'; $lang['autoplural'] = 'Automatyczne tworzenie liczby mnogiej'; $lang['compression'] = 'Metoda kompresji dla usuniętych plików'; $lang['cachetime'] = 'Maksymalny wiek cache w sekundach'; @@ -185,3 +187,4 @@ $lang['useheading_o_0'] = 'Nigdy'; $lang['useheading_o_navigation'] = 'W nawigacji'; $lang['useheading_o_content'] = 'W treści'; $lang['useheading_o_1'] = 'Zawsze'; +$lang['readdircache'] = 'Maksymalny czas dla bufora readdir (w sek).'; diff --git a/lib/plugins/plugin/lang/pl/lang.php b/lib/plugins/plugin/lang/pl/lang.php index d97dafc0b..d4ccc7751 100644 --- a/lib/plugins/plugin/lang/pl/lang.php +++ b/lib/plugins/plugin/lang/pl/lang.php @@ -11,6 +11,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['menu'] = 'Menadżer wtyczek'; $lang['download'] = 'Ściągnij i zainstaluj nową wtyczkę'; diff --git a/lib/plugins/popularity/lang/pl/lang.php b/lib/plugins/popularity/lang/pl/lang.php index dd208fe47..fbbe6dab2 100644 --- a/lib/plugins/popularity/lang/pl/lang.php +++ b/lib/plugins/popularity/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['name'] = 'Informacja o popularności (ładowanie może zająć dłuższą chwilę)'; $lang['submit'] = 'Wyślij dane'; diff --git a/lib/plugins/revert/lang/pl/lang.php b/lib/plugins/revert/lang/pl/lang.php index 613b96e6f..8166250b4 100644 --- a/lib/plugins/revert/lang/pl/lang.php +++ b/lib/plugins/revert/lang/pl/lang.php @@ -8,6 +8,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['menu'] = 'Menadżer przywracania'; $lang['filter'] = 'Wyszukaj uszkodzone strony'; diff --git a/lib/plugins/usermanager/lang/pl/lang.php b/lib/plugins/usermanager/lang/pl/lang.php index 6d57455fb..0c4ecbcdf 100644 --- a/lib/plugins/usermanager/lang/pl/lang.php +++ b/lib/plugins/usermanager/lang/pl/lang.php @@ -9,6 +9,7 @@ * @author sleshek@wp.pl * @author Leszek Stachowski * @author maros + * @author Grzegorz Widła */ $lang['menu'] = 'Menadżer użytkowników'; $lang['noauth'] = '(uwierzytelnienie użytkownika niemożliwe)'; -- cgit v1.2.3 From 77e606973fc4a1066351f7c0537e326e86a34cf6 Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Sun, 18 Apr 2010 13:13:49 +0200 Subject: Arabic language update --- inc/lang/ar/adminplugins.txt | 1 + inc/lang/ar/install.html | 12 +++++++++ inc/lang/ar/lang.php | 3 +++ inc/lang/ar/registermail.txt | 14 +++++++++++ inc/lang/ar/subscr_form.txt | 3 +++ inc/lang/ar/subscr_list.txt | 17 +++++++++++++ inc/lang/ar/subscr_single.txt | 23 +++++++++++++++++ inc/lang/ar/uploadmail.txt | 14 +++++++++++ lib/plugins/config/lang/ar/lang.php | 49 ++++++++++++++++++++++++++++++++++++ lib/plugins/revert/lang/ar/intro.txt | 3 +++ lib/plugins/revert/lang/ar/lang.php | 10 ++++++++ 11 files changed, 149 insertions(+) create mode 100644 inc/lang/ar/adminplugins.txt create mode 100644 inc/lang/ar/install.html create mode 100644 inc/lang/ar/registermail.txt create mode 100644 inc/lang/ar/subscr_form.txt create mode 100644 inc/lang/ar/subscr_list.txt create mode 100644 inc/lang/ar/subscr_single.txt create mode 100644 inc/lang/ar/uploadmail.txt create mode 100644 lib/plugins/revert/lang/ar/intro.txt diff --git a/inc/lang/ar/adminplugins.txt b/inc/lang/ar/adminplugins.txt new file mode 100644 index 000000000..44790a04b --- /dev/null +++ b/inc/lang/ar/adminplugins.txt @@ -0,0 +1 @@ +===== إضافات إضافية ===== \ No newline at end of file diff --git a/inc/lang/ar/install.html b/inc/lang/ar/install.html new file mode 100644 index 000000000..1daf507c5 --- /dev/null +++ b/inc/lang/ar/install.html @@ -0,0 +1,12 @@ +

تساعد هذه الصفحة في التثبيت والإعداد الأوليين ل دوكو ويكي. مزيد من المعلومات عن هذا المثبت في +صفحة التوثيق الخاصة به.

+ +

دوكو ويكي تستخدم ملفات عادية لتخزين الصفحات و المعلومات المرتبطة بها (مثل. الصور , وفهارس البحث, والنسخ القديمة, إلخ). لكي تعمل بنجاح دوكو ويكي يجب ان يكون لديها اذن بالكتابة على المجلدات التي تحوي هذه الملفات. هذا المثبت غير قادر على اعداد اذونات المجلدات. عادة يجب عمل هذا مباشرة باستخدام أمر في محث الاوامر أو إن كنت تستخدم استضافة، عن طريقة FTP في لوحة تحكم الاستضافة (مثل. cPanel).

+ +

سيُعد هذا المثبت اعدادات دوكو ويكي ل +ACL, الذي سيسمح للمدير بالولوج و الوصول لقائمة إدارة دوكو ويكي لتثبيت الإضافات، وإدارة المستخدمين، و التحكم بالوصول لصفحات الويكي، وتعديل الاعدادات. +ليس مطلوبا لأجل عمل دوكو ويكي, لكنه سيجعل دوكو ويكي أسهل على المدير.

+ +

المستخدمين الخبراء و المستخدمين مع متطلبات خاصة عليهم استخدام هذا الرابط لتفاصيل تتعلق ب +توجيهات التثبيتضبط الإعدادات.

\ No newline at end of file diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index 201cc16c5..fcf26bf6a 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -60,6 +60,7 @@ $lang['profile'] = 'الملف الشخصي'; $lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة المرور غير صحيحة'; $lang['minoredit'] = 'تعديلات طفيفة'; $lang['draftdate'] = 'تشغيل حفظ المسوّدة آلياً'; +$lang['nosecedit'] = 'غُيرت الصفحة في هذه الأثناء، معلومات الفقرة اصبحت قديمة. حُمُلت كل الصفحة بدلا.'; $lang['regmissing'] = 'عذرا، يجب ملء جميع الخانات'; $lang['reguexists'] = 'عذرا، يوجد مشترك بنفس الاسم'; $lang['regsuccess'] = 'تم تسجيل المشترك و أرسلت كلمة المرور عبر البريد الإلكتروني'; @@ -167,6 +168,7 @@ $lang['noflash'] = 'تحتاج إلىstrftime)'; $lang['signature'] = 'التوقيع'; $lang['toptoclevel'] = 'المستوى الأعلى لمحتويات الجدول'; +$lang['tocminheads'] = 'الحد الأدنى من الترويسات لبناء جدول المحتويات'; $lang['maxtoclevel'] = 'المستوى الأقصى لمحتويات الجدول'; $lang['maxseclevel'] = 'المستوى الأقصى لتحرير القسم'; $lang['camelcase'] = 'استخدم CamelCase للروابط'; @@ -61,6 +63,7 @@ $lang['allowdebug'] = 'مكّن التنقيح عطّلها إن $lang['usewordblock'] = 'احجز الغثاء بناء على قائمة كلمات'; $lang['indexdelay'] = 'التأخير قبل الفهرسة (ثوان)'; $lang['relnofollow'] = 'استخدم rel="nofollow" للروابط الخارجية'; +$lang['mailguard'] = 'عناوين بريدية مبهمة'; $lang['iexssprotect'] = 'تحقق الملفات المرفوعة من احتمال وجود أكواد جافاسكربت أو HTML ضارة'; $lang['showuseras'] = 'الذي يعرض لاظهار المستخدم الذي قام بآخر تحرير لصفحة'; $lang['useacl'] = 'استخدم قائمة التحم بالوصول'; @@ -77,6 +80,21 @@ $lang['disableactions_subscription'] = 'اشترك/الغ الاشتراك'; $lang['disableactions_wikicode'] = 'اعرض المصدر/صدّر صرفا'; $lang['disableactions_other'] = 'اجراءات أخرى (مفصولة بالفاصلة)'; $lang['sneaky_index'] = 'افتراضيا، ستعرض دوكي ويكي كل اسماء النطاقات في عرض الفهرس. تفعيل هذا الخيار سيخفي مالا يملك المستخدم صلاحية قراءته. قد يؤدي هذا إلى اخفاء نطاقات فرعية متاحة. وقد يؤدي لجعل صفحة الفهرس معطلة في بعض اعدادات ACL.'; +$lang['auth_security_timeout'] = 'زمن انتهاء أمان المواثقة (ثوان)'; +$lang['securecookie'] = 'هل يفرض على كعكات التصفح المعدة عبر HTTPS ان ترسل فقط عبر HTTPS من قبل المتصفح؟ عطل هذا إن كان الولوج للويكي مؤمنا فقط عبر SSL لكن تصفح الويكي غير مؤمن.'; +$lang['xmlrpc'] = 'مكّن/عطل واجهة XML-RPC.'; +$lang['updatecheck'] = 'تحقق من التحديثات و تنبيهات الأمان؟ دوكو ويكي ستحتاج للاتصال ب splitbrain.org لأجل ذلك'; +$lang['userewrite'] = 'استعمل عناوين URLs جميلة'; +$lang['useslash'] = 'استخدم الشرطة كفاصل النطاق في العناوين'; +$lang['usedraft'] = 'احفظ المسودة تلقائيا أثناء التحرير'; +$lang['sepchar'] = 'فاصل كلمة اسم الصفحة'; +$lang['canonical'] = 'استخدم العناوين الشائعة كاملة'; +$lang['fnencode'] = 'نظام ترميز اسماء الملفات بغير الأسكي.'; +$lang['autoplural'] = 'تحقق من صيغ الجمع في الروابط'; +$lang['compression'] = 'طريقة الغضط لملفات attic'; +$lang['cachetime'] = 'الحد الأعظم لعمر المخُبأ (ثوان)'; +$lang['locktime'] = 'الحد الأعظمي لقفل الملف (ثوان)'; +$lang['fetchsize'] = 'الحجم الأعظمي (بايت) ل fetch.php لتنزيله من الخارج'; $lang['notify'] = 'ارسل تنبيهات التغيير لهذا البريد'; $lang['registernotify'] = 'ارسل بيانات عن المستخدمين المسجلين جديدا لهذا البريد'; $lang['mailfrom'] = 'البريد الالكتروني ليستخدم للرسائل الآلية'; @@ -85,6 +103,8 @@ $lang['gdlib'] = 'اصدار مكتبة GD'; $lang['im_convert'] = 'المسار إلى اداة تحويل ImageMagick'; $lang['jpg_quality'] = 'دقة ضغط JPG (0-100)'; $lang['subscribers'] = 'مكن دعم اشتراك الصفحة'; +$lang['subscribe_time'] = 'المهلة بعد ارسال قوائم الاشتراكات والملخصات (ثوان); هذا يجب أن يكون أقل من الوقت المخصص في أيام أحدث التغييرات.'; +$lang['compress'] = 'رُص مخرجات CSS و جافا سكربت'; $lang['hidepages'] = 'أخف الصفحات المنطبق عليها (تعابير شرطية)'; $lang['send404'] = 'ارسل "HTTP 404/Page Not Found" للصفحات غير الموجودة'; $lang['sitemap'] = 'ولد خرائط موقع جوجل (أيام)'; @@ -104,14 +124,43 @@ $lang['proxy____port'] = 'منفذ الوكيل'; $lang['proxy____user'] = 'اسم مستخدم الوكيل'; $lang['proxy____pass'] = 'كلمة سر الوكيل'; $lang['proxy____ssl'] = 'استخدم ssl للاتصال بالوكيل'; +$lang['safemodehack'] = 'مكّن hack الوضع الآمن'; +$lang['ftp____host'] = 'خادوم FTP ل hack الوضع الآمن'; +$lang['ftp____port'] = 'منفذ FTP ل hack الوضع الآمن'; +$lang['ftp____user'] = 'اسم مستخدم FTP ل hack الوضع الآمن'; +$lang['ftp____pass'] = 'كلمة سر FTP ل hack الوضع الآمن'; +$lang['ftp____root'] = 'دليل الجذر ل FTP لأجل hack الوضع الآمن'; $lang['license_o_'] = 'غير مختار'; $lang['typography_o_0'] = 'لاشيء'; $lang['typography_o_1'] = 'استبعاد الاقتباس المفرد'; +$lang['typography_o_2'] = 'تضمين علامات اقتباس مفردة (قد لا يعمل دائما)'; $lang['userewrite_o_0'] = 'لاشيء'; $lang['userewrite_o_1'] = '.htaccess'; +$lang['deaccent_o_0'] = 'معطل'; $lang['gdlib_o_0'] = 'مكتبة GD غير متوفرة'; $lang['gdlib_o_1'] = 'الاصدار 1.x'; $lang['gdlib_o_2'] = 'اكتشاف تلقائي'; +$lang['rss_type_o_rss'] = 'RSS 0.91'; +$lang['rss_type_o_rss1'] = 'RSS 1.0'; +$lang['rss_type_o_rss2'] = 'RSS 2.0'; $lang['rss_type_o_atom'] = 'أتوم 0.3'; $lang['rss_type_o_atom1'] = 'أتوم 1.0'; +$lang['rss_content_o_diff'] = 'الفروق الموحدة'; $lang['rss_content_o_htmldiff'] = 'جدول الفروق بهيئة HTML'; +$lang['rss_content_o_html'] = 'محتوى HTML الكامل للصفحة'; +$lang['rss_linkto_o_diff'] = 'عرض الاختلافات'; +$lang['rss_linkto_o_page'] = 'الصفحة المعدلة'; +$lang['rss_linkto_o_rev'] = 'قائمة بالمراجعات'; +$lang['rss_linkto_o_current'] = 'الصفحة الحالية'; +$lang['compression_o_0'] = 'لا شيء'; +$lang['compression_o_gz'] = 'gzip'; +$lang['compression_o_bz2'] = 'bz2'; +$lang['xsendfile_o_0'] = 'لا تستخدم'; +$lang['showuseras_o_loginname'] = 'اسم الدخول'; +$lang['showuseras_o_username'] = 'اسم المستخدم الكامل'; +$lang['showuseras_o_email'] = 'عنوان بريد المستخدم (مبهم تبعا لاعدادات حارس_البريد)'; +$lang['showuseras_o_email_link'] = 'عنوان بريد المستخدم كـ مالتيو: رابط'; +$lang['useheading_o_0'] = 'أبدا'; +$lang['useheading_o_navigation'] = 'ال'; +$lang['useheading_o_content'] = 'محتوى الويكي فقط'; +$lang['useheading_o_1'] = 'دائما'; diff --git a/lib/plugins/revert/lang/ar/intro.txt b/lib/plugins/revert/lang/ar/intro.txt new file mode 100644 index 000000000..5839ee0c8 --- /dev/null +++ b/lib/plugins/revert/lang/ar/intro.txt @@ -0,0 +1,3 @@ +====== مدير الاسترجاع ====== + +تساعدك هذه الصفحة في الاستعادة الآلية لهجوم غثاء. للحصول على قائمة بالصفحات المغثاة أولا أدخل نص البحث (مثل. عنوان غثاء), ثم أكد أن الصفحات الموجودة هي غثاء فعلا و استرجع التعديلات. \ No newline at end of file diff --git a/lib/plugins/revert/lang/ar/lang.php b/lib/plugins/revert/lang/ar/lang.php index d1d05c789..1e4e104fb 100644 --- a/lib/plugins/revert/lang/ar/lang.php +++ b/lib/plugins/revert/lang/ar/lang.php @@ -5,3 +5,13 @@ * @author Yaman Hokan * @author Usama Akkad */ +$lang['menu'] = 'مدير الاسترجاع'; +$lang['filter'] = 'ابحث في الصفحات المتأذاة'; +$lang['revert'] = 'استرجع الصفحات المحددة'; +$lang['reverted'] = '%s استرجعت للاصدار %s'; +$lang['removed'] = 'حُذفت %s '; +$lang['revstart'] = 'بدأت عملية الاستعادة. قد يستغرق ذلك وقتا طويلا. إذا كان وقت النص البرمجي ينفذ قبل النهاية، عليك استرجاع أجزاء أصغر. +'; +$lang['revstop'] = 'عملية الاستعادة انتهت بنجاح.'; +$lang['note1'] = 'لاحظ: البحث حساس لحالة الأحرف'; +$lang['note2'] = 'لاحظ: ستسترجع الصفحة إلى آخر اصدار لا يحوي شروط الغثاء %s.'; -- cgit v1.2.3 From ac1ffdde2b4e44e5eb2434a5df8ef6a04bb4ff29 Mon Sep 17 00:00:00 2001 From: Georges-Etienne Legendre Date: Sat, 17 Apr 2010 21:45:21 +0800 Subject: Fix #1943: full text search XML-RPC call should return the $pages instead of $data --- lib/exe/xmlrpc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index b6b9f0e52..743d3eedb 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -415,7 +415,7 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { 'snippet' => $snippet, ); } - return $data; + return $pages; } -- cgit v1.2.3 From e6f4c9d492a59d555873548a77c477870f6cdcd8 Mon Sep 17 00:00:00 2001 From: Georges-Etienne Legendre Date: Sat, 17 Apr 2010 21:58:17 +0800 Subject: Adding getTitle to the XML-RPC API --- lib/exe/xmlrpc.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index 743d3eedb..a4dc56f0f 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -7,7 +7,7 @@ if(isset($HTTP_RAW_POST_DATA)) $HTTP_RAW_POST_DATA = trim($HTTP_RAW_POST_DATA); /** * Increased whenever the API is changed */ -define('DOKU_XMLRPC_API_VERSION',3); +define('DOKU_XMLRPC_API_VERSION',4); require_once(DOKU_INC.'inc/init.php'); session_write_close(); //close session @@ -134,6 +134,15 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { 'Lock or unlock pages.' ); + + $this->addCallback( + 'dokuwiki.getTitle', + 'this:getTitle', + array('string'), + 'Returns the wiki title.', + true + ); + /* Wiki API v2 http://www.jspwiki.org/wiki/WikiRPCInterface2 */ $this->addCallback( 'wiki.getRPCVersionSupported', @@ -418,6 +427,13 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { return $pages; } + /** + * Returns the wiki title. + */ + function getTitle(){ + global $conf; + return $conf['title']; + } /** * List all media files. -- cgit v1.2.3 From 288007e19d34550294a9ad820b6ffa11bba0e5b3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 26 Apr 2010 16:18:20 +0200 Subject: Fix lock refresh and draft saving --- lib/scripts/edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index 9437aa14e..e66154f83 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -420,8 +420,8 @@ var locktimer = new locktimer_class(); // refresh every minute only if(now.getTime() - locktimer.lasttime.getTime() > 30*1000){ //FIXME decide on time var params = 'call=lock&id='+encodeURIComponent(locktimer.pageid); + var dwform = $('dw__editform'); if(locktimer.draft && dwform.elements.wikitext){ - var dwform = $('dw__editform'); params += '&prefix='+encodeURIComponent(dwform.elements.prefix.value); params += '&wikitext='+encodeURIComponent(dwform.elements.wikitext.value); params += '&suffix='+encodeURIComponent(dwform.elements.suffix.value); -- cgit v1.2.3 From 9a9714ac71ab80981388c37e9b7f0e7f3505358a Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Wed, 28 Apr 2010 16:38:27 +0200 Subject: Avoid broken ACL check if Auth Backend fails --- inc/auth.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/auth.php b/inc/auth.php index ace379214..564eb0285 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -33,6 +33,9 @@ define('AUTH_ADMIN',255); function auth_setup(){ global $conf; global $auth; + global $AUTH_ACL; + global $lang; + $AUTH_ACL = array(); if(!$conf['useacl']) return false; @@ -99,7 +102,6 @@ function auth_setup(){ } //load ACL into a global array XXX - global $AUTH_ACL; if(is_readable(DOKU_CONF.'acl.auth.php')){ $AUTH_ACL = file(DOKU_CONF.'acl.auth.php'); //support user wildcard @@ -107,8 +109,6 @@ function auth_setup(){ $AUTH_ACL = str_replace('%USER%',$_SERVER['REMOTE_USER'],$AUTH_ACL); $AUTH_ACL = str_replace('@USER@',$_SERVER['REMOTE_USER'],$AUTH_ACL); //legacy } - }else{ - $AUTH_ACL = array(); } } -- cgit v1.2.3 From 274409ef297b1f80c36bf04e64a1571be0e0039f Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 29 Apr 2010 09:53:49 +0200 Subject: added getUsers to ad auth backend --- inc/auth/ad.class.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index 9915b9f11..e60598df6 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -38,6 +38,7 @@ class auth_ad extends auth_basic { var $cnf = null; var $opts = null; var $adldap = null; + var $users = null; /** * Constructor @@ -184,6 +185,45 @@ class auth_ad extends auth_basic { return false; } + /** + * Bulk retrieval of user data + * + * @author Dominik Eckelmann + * @param start index of first user to be returned + * @param limit max number of users to be returned + * @param filter array of field/pattern pairs, null for no filter + * @return array of userinfo (refer getUserData for internal userinfo details) + */ + function retrieveUsers($start=0,$limit=-1,$filter=array()) { + if(!$this->_init()) return false; + + if ($this->users === null) { + //get info for given user + $result = $this->adldap->all_users(); + if (!$result) return array(); + $this->users = array_fill_keys($result, false); + } + + $i = 0; + $count = 0; + $this->_constructPattern($filter); + $result = array(); + + foreach ($this->users as $user => &$info) { + if ($i++ < $start) { + continue; + } + if ($info === false) { + $info = $this->getUserData($user); + } + if ($this->_filter($user, $info)) { + $result[$user] = $info; + if (($limit >= 0) && (++$count >= $limit)) break; + } + } + return $result; + } + /** * Initialize the AdLDAP library and connect to the server */ @@ -193,6 +233,9 @@ class auth_ad extends auth_basic { // connect try { $this->adldap = new adLDAP($this->opts); + if (isset($this->opts['ad_username']) && isset($this->opts['ad_password'])) { + $this->canDo['getUsers'] = true; + } return true; } catch (adLDAPException $e) { $this->success = false; @@ -200,6 +243,32 @@ class auth_ad extends auth_basic { } return false; } + + /** + * return 1 if $user + $info match $filter criteria, 0 otherwise + * + * @author Chris Smith + */ + function _filter($user, $info) { + foreach ($this->_pattern as $item => $pattern) { + if ($item == 'user') { + if (!preg_match($pattern, $user)) return 0; + } else if ($item == 'grps') { + if (!count(preg_grep($pattern, $info['grps']))) return 0; + } else { + if (!preg_match($pattern, $info[$item])) return 0; + } + } + return 1; + } + + function _constructPattern($filter) { + $this->_pattern = array(); + foreach ($filter as $item => $pattern) { +// $this->_pattern[$item] = '/'.preg_quote($pattern,"/").'/i'; // don't allow regex characters + $this->_pattern[$item] = '/'.str_replace('/','\/',$pattern).'/i'; // allow regex characters + } + } } //Setup VIM: ex: et ts=4 enc=utf-8 : -- cgit v1.2.3 From ba29aad72a17a6a9c34afcb2adc13f2a7f9e4e17 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 29 Apr 2010 11:51:11 +0200 Subject: gather additional information from ad backend --- inc/auth/ad.class.php | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index e60598df6..a52f5f8b2 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -26,6 +26,10 @@ * $conf['auth']['ad']['use_ssl'] = 1; * $conf['auth']['ad']['debug'] = 1; * + * // get additional informations to the userinfo array + * // add a list of comma separated ldap contact fields. + * $conf['auth']['ad']['additional'] = 'field1,field2'; + * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author James Van Lommel * @link http://www.nosq.com/blog/2005/08/ldap-activedirectory-and-dokuwiki/ @@ -47,6 +51,12 @@ class auth_ad extends auth_basic { global $conf; $this->cnf = $conf['auth']['ad']; + // additional information fields + if (isset($this->cnf['additional'])) { + $this->cnf['additional'] = str_replace(' ', '', $this->cnf['additional']); + $this->cnf['additional'] = explode(',', $this->cnf['additional']); + } else $this->cnf['additional'] = array(); + // ldap extension is needed if (!function_exists('ldap_connect')) { if ($this->cnf['debug']) @@ -131,15 +141,27 @@ class auth_ad extends auth_basic { global $conf; if(!$this->_init()) return false; - //get info for given user - $result = $this->adldap->user_info($user); + $fields = array('mail','displayname','samaccountname'); + + // add additional fields to read + $fields = array_merge($fields, $this->cnf['additional']); + $fields = array_unique($fields); + //get info for given user + $result = $this->adldap->user_info($user, $fields); //general user info $info['name'] = $result[0]['displayname'][0]; $info['mail'] = $result[0]['mail'][0]; $info['uid'] = $result[0]['samaccountname'][0]; $info['dn'] = $result[0]['dn']; + // additional informations + foreach ($this->cnf['additional'] as $field) { + if (isset($result[0][strtolower($field)])) { + $info[$field] = $result[0][strtolower($field)][0]; + } + } + // handle ActiveDirectory memberOf $info['grps'] = $this->adldap->user_groups($user,(bool) $this->opts['recursive_groups']); -- cgit v1.2.3 From 28f6aae1adeef509aa7be8895088cc9f47018054 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 29 Apr 2010 13:08:15 +0200 Subject: Support getSelection in input fields in IE --- lib/scripts/textselection.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/scripts/textselection.js b/lib/scripts/textselection.js index 5e4602f85..0378b544d 100644 --- a/lib/scripts/textselection.js +++ b/lib/scripts/textselection.js @@ -41,7 +41,6 @@ function getSelection(textArea) { sel.obj = textArea; sel.start = textArea.value.length; sel.end = textArea.value.length; - textArea.focus(); if(document.getSelection) { // Mozilla et al. sel.start = textArea.selectionStart; @@ -57,9 +56,13 @@ function getSelection(textArea) { // The current selection sel.rangeCopy = document.selection.createRange().duplicate(); - - var before_range = document.body.createTextRange(); - before_range.moveToElementText(textArea); // Selects all the text + if (textArea.tagName === 'INPUT') { + var before_range = textArea.createTextRange(); + before_range.expand('textedit'); // Selects all the text + } else { + var before_range = document.body.createTextRange(); + before_range.moveToElementText(textArea); // Selects all the text + } before_range.setEndPoint("EndToStart", sel.rangeCopy); // Moves the end where we need it var before_finished = false, selection_finished = false; -- cgit v1.2.3 From dc62d03d27d24a66840b83c5333221f5123ad203 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 30 Apr 2010 06:20:41 +0200 Subject: optimized SMB link warning thingy --- lib/scripts/script.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/scripts/script.js b/lib/scripts/script.js index d8205b876..57917aeb5 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -482,14 +482,14 @@ addInitEvent(function(){ */ function checkWindowsShares() { if(!LANG['nosmblinks']) return true; + if(document.all != null) return true; + var elems = getElementsByClass('windows',document,'a'); if(elems){ for(var i=0; i Date: Fri, 30 Apr 2010 06:41:49 +0200 Subject: avoid autocompletion in usermanager password field --- lib/plugins/usermanager/admin.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/plugins/usermanager/admin.php b/lib/plugins/usermanager/admin.php index 4eb923bb1..984700d41 100644 --- a/lib/plugins/usermanager/admin.php +++ b/lib/plugins/usermanager/admin.php @@ -321,13 +321,20 @@ class admin_plugin_usermanager extends DokuWiki_Admin_Plugin { $disabled = $cando ? '' : ' disabled="disabled"'; echo str_pad('',$indent); - $fieldtype = ($name == "userpass") ? 'password' : 'text'; + if($name == 'userpass'){ + $fieldtype = 'password'; + $autocomp = 'autocomplete="off"'; + }else{ + $fieldtype = 'text'; + $autocomp = ''; + } + echo "
"; echo ""; echo "
"; if($cando){ - echo ""; + echo ""; }else{ echo ""; echo ""; -- cgit v1.2.3 From 6b8f02cfe58b224607e5479f8469dde16c3169ac Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 4 May 2010 12:36:57 +0200 Subject: Show subscription time on management page --- inc/lang/en/lang.php | 4 ++-- inc/template.php | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 2dfed59dc..4a96e373e 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -247,8 +247,8 @@ $lang['subscr_m_unsubscribe'] = 'Unsubscribe'; $lang['subscr_m_subscribe'] = 'Subscribe'; $lang['subscr_m_receive'] = 'Receive'; $lang['subscr_style_every'] = 'email on every change'; -$lang['subscr_style_digest'] = 'digest email of changes for each page'; -$lang['subscr_style_list'] = 'list of changed pages since last email'; +$lang['subscr_style_digest'] = 'digest email of changes for each page (every %.2f days)'; +$lang['subscr_style_list'] = 'list of changed pages since last email (every %.2f days)'; /* auth.class language support */ diff --git a/inc/template.php b/inc/template.php index 3eda2f4af..c1e3e76ab 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1347,6 +1347,7 @@ function tpl_subscribe() { global $INFO; global $ID; global $lang; + global $conf; echo p_locale_xhtml('subscr_form'); echo '

' . $lang['subscr_m_current_header'] . '

'; @@ -1387,10 +1388,11 @@ function tpl_subscribe() { $ID => ''.prettyprint_id($ID).'', $ns => ''.prettyprint_id($ns).'', ); + $stime_days = $conf['subscribe_time']/60/60/24; $styles = array( 'every' => $lang['subscr_style_every'], - 'digest' => $lang['subscr_style_digest'], - 'list' => $lang['subscr_style_list'], + 'digest' => sprintf($lang['subscr_style_digest'], $stime_days), + 'list' => sprintf($lang['subscr_style_list'], $stime_days), ); $form = new Doku_Form(array('id' => 'subscribe__form')); -- cgit v1.2.3 From 3e0c7aa328ac721b3bcf17822f9ed3659ad93d14 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 4 May 2010 12:07:35 +0200 Subject: Add locking for indexer-based notifications --- inc/subscription.php | 28 ++++++++++++++++++++++++++++ lib/exe/indexer.php | 4 ++++ 2 files changed, 32 insertions(+) diff --git a/inc/subscription.php b/inc/subscription.php index e5938d9bd..ce5da4cd4 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -9,6 +9,8 @@ * - subscription_set * - get_info_subscribed * - subscription_addresslist + * - subscription_lock + * - subscription_unlock * * @author Adrian Lang * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) @@ -36,6 +38,32 @@ function subscription_filename($id) { return metaFN($meta_froot, $meta_fname); } +/** + * Lock subscription info for an ID + * + * @param string $id The target page or namespace, specified by id; Namespaces + * are identified by appending a colon. + * + * @author Adrian Lang + */ +function subscription_lock($id) { + $lockf = subscription_filename($id) . '.lock'; + return !file_exists($lockf) && touch($lockf); +} + +/** + * Unlock subscription info for an ID + * + * @param string $id The target page or namespace, specified by id; Namespaces + * are identified by appending a colon. + * + * @author Adrian Lang + */ +function subscription_unlock($id) { + $lockf = subscription_filename($id) . '.lock'; + return file_exists($lockf) && unlink($lockf); +} + /** * Set subscription information * diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index eb5670005..7e55915f4 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -353,6 +353,9 @@ function sendDigest() { $olduser = $_SERVER['REMOTE_USER']; foreach($subscriptions as $id => $users) { + if (!subscription_lock($id)) { + continue; + } foreach($users as $data) { list($user, $style, $lastupdate) = $data; $lastupdate = (int) $lastupdate; @@ -399,6 +402,7 @@ function sendDigest() { // Update notification time. subscription_set($user, $id, $style, time(), true); } + subscription_unlock($id); } // restore current user info -- cgit v1.2.3 From 5f5509e5d91f69877aa6bd3b1cba15267e539fe2 Mon Sep 17 00:00:00 2001 From: Usama Akkad Date: Thu, 6 May 2010 23:13:22 +0200 Subject: Arabic language update --- inc/lang/ar/lang.php | 129 ++++++++++++++++++++++++++------------------------- 1 file changed, 65 insertions(+), 64 deletions(-) diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php index fcf26bf6a..30095347e 100644 --- a/inc/lang/ar/lang.php +++ b/inc/lang/ar/lang.php @@ -14,88 +14,89 @@ $lang['doublequoteclosing'] = '”'; $lang['singlequoteopening'] = '‘'; $lang['singlequoteclosing'] = '’'; $lang['apostrophe'] = '؛'; -$lang['btn_edit'] = 'تحرير هذه الصفحة'; -$lang['btn_source'] = 'عرض مصدر الصفحة'; -$lang['btn_show'] = 'عرض الصفحة'; -$lang['btn_create'] = 'إنشاء هذه الصفحة'; -$lang['btn_search'] = 'بحث'; -$lang['btn_save'] = 'حفظ'; -$lang['btn_preview'] = 'استعراض'; -$lang['btn_top'] = 'لأعلى'; +$lang['btn_edit'] = 'حرر هذه الصفحة'; +$lang['btn_source'] = 'اعرض مصدر الصفحة'; +$lang['btn_show'] = 'اعرض الصفحة'; +$lang['btn_create'] = 'أنشئ هذه الصفحة'; +$lang['btn_search'] = 'ابحث'; +$lang['btn_save'] = 'احفظ'; +$lang['btn_preview'] = 'عاين'; +$lang['btn_top'] = 'ارجع للأعلى'; $lang['btn_newer'] = '<< أحدث'; $lang['btn_older'] = 'أقدم >>'; $lang['btn_revs'] = 'نسخ قديمة'; -$lang['btn_recent'] = 'أحدث التعديلات'; -$lang['btn_upload'] = 'تحميل'; -$lang['btn_cancel'] = 'إلغاء'; +$lang['btn_recent'] = 'أحدث التغييرات'; +$lang['btn_upload'] = 'ارفع'; +$lang['btn_cancel'] = 'ألغ'; $lang['btn_index'] = 'فهرس'; -$lang['btn_secedit'] = 'تحرير'; -$lang['btn_login'] = 'دخول'; -$lang['btn_logout'] = 'خروج'; +$lang['btn_secedit'] = 'حرر'; +$lang['btn_login'] = 'لج'; +$lang['btn_logout'] = 'اخرج'; $lang['btn_admin'] = 'المدير'; -$lang['btn_update'] = 'تحديث'; -$lang['btn_delete'] = 'حذف'; -$lang['btn_back'] = 'رجوع'; +$lang['btn_update'] = 'حدّث'; +$lang['btn_delete'] = 'احذف'; +$lang['btn_back'] = 'ارجع'; $lang['btn_backlink'] = 'ارتباطات'; -$lang['btn_backtomedia'] = 'رجوع إلى اختيار ملف الوسائط'; -$lang['btn_subscribe'] = 'اشترك في التعديلات'; -$lang['btn_profile'] = 'تحديث الملف الشخصي'; -$lang['btn_reset'] = 'تفريغ'; -$lang['btn_resendpwd'] = 'إرسال كلمة مرور جديدة'; -$lang['btn_draft'] = 'تحرير المسوّدة'; -$lang['btn_recover'] = 'استعادة المسوّدة'; -$lang['btn_draftdel'] = 'حذف المسوّدة'; -$lang['btn_revert'] = 'إعادة'; -$lang['loggedinas'] = 'دخول باسم'; -$lang['user'] = 'اسم المشترك'; -$lang['pass'] = 'كلمة المرور'; -$lang['newpass'] = 'كلمة مرور جديدة'; -$lang['oldpass'] = 'تأكيد كلمة المرور الحالية'; +$lang['btn_backtomedia'] = 'ارجع إلى اختيار ملف الوسائط'; +$lang['btn_subscribe'] = 'ادر الاشتراكات'; +$lang['btn_profile'] = 'حدث الملف الشخصي'; +$lang['btn_reset'] = 'صفّر'; +$lang['btn_resendpwd'] = 'ارسل كلمة سر جديدة'; +$lang['btn_draft'] = 'حرر المسودة'; +$lang['btn_recover'] = 'استرجع المسودة'; +$lang['btn_draftdel'] = 'احذف المسوّدة'; +$lang['btn_revert'] = 'استعد +'; +$lang['loggedinas'] = 'داخل باسم'; +$lang['user'] = 'اسم المستخدم'; +$lang['pass'] = 'كلمة السر'; +$lang['newpass'] = 'كلمة سر جديدة'; +$lang['oldpass'] = 'أكد كلمة السر الحالية'; $lang['passchk'] = 'مرة أخرى'; $lang['remember'] = 'تذكرني'; $lang['fullname'] = 'الاسم الكامل'; $lang['email'] = 'البريد الإلكتروني'; -$lang['register'] = 'تسجيل'; +$lang['register'] = 'سجّل'; $lang['profile'] = 'الملف الشخصي'; -$lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة المرور غير صحيحة'; +$lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة السر غير صحيحة'; $lang['minoredit'] = 'تعديلات طفيفة'; -$lang['draftdate'] = 'تشغيل حفظ المسوّدة آلياً'; +$lang['draftdate'] = 'حفظ المسودات تلقائيا مشغل'; $lang['nosecedit'] = 'غُيرت الصفحة في هذه الأثناء، معلومات الفقرة اصبحت قديمة. حُمُلت كل الصفحة بدلا.'; -$lang['regmissing'] = 'عذرا، يجب ملء جميع الخانات'; -$lang['reguexists'] = 'عذرا، يوجد مشترك بنفس الاسم'; -$lang['regsuccess'] = 'تم تسجيل المشترك و أرسلت كلمة المرور عبر البريد الإلكتروني'; -$lang['regsuccess2'] = 'تم إنشاء المشترك'; -$lang['regmailfail'] = 'حدث خطأ فى إرسال رسالة كلمة المرور. يرجى مراسلة المدير'; -$lang['regbadmail'] = 'البريد الإلكتروني المعطى غير صحيح، إن كنت تظن الخطأ من الموقع راسل المدير'; -$lang['regbadpass'] = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى'; -$lang['regpwmail'] = 'كلمة مرورك إلى دوكي ويكي'; -$lang['reghere'] = 'لست مشتركاً؟ تفضل اشترك'; +$lang['regmissing'] = 'عذرا، يجب ملء جميع الحقول'; +$lang['reguexists'] = 'عذرا، يوجد مشترك بنفس الاسم.'; +$lang['regsuccess'] = 'أنشئ المستخدم و ارسلت كلمة السر بالبريد.'; +$lang['regsuccess2'] = 'أنشئ المستخدم.'; +$lang['regmailfail'] = 'حدث خطأ فى إرسال رسالة كلمة اسرر. يرجى مراسلة المدير'; +$lang['regbadmail'] = 'يبدو البريد الإلكتروني المعطى غير صحيح، إن كنت تظن أن هذا خطأ، راسل المدير'; +$lang['regbadpass'] = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى.'; +$lang['regpwmail'] = 'كلمة مرورك إلى دوكو ويكي'; +$lang['reghere'] = 'ليس لديك حساب بعد؟ احصل على واحد'; $lang['profna'] = 'هذه الويكي لا تدعم تعديل الملف الشخصي'; -$lang['profnochange'] = 'لا تغييرات، لا شيء مطلوب عمله'; -$lang['profnoempty'] = 'ليس مسموحاً ترك الاسم أو البريد الإلكتروني فارغاً'; -$lang['profchanged'] = 'تم تحديث الملف الشخصي بنجاح'; -$lang['pwdforget'] = 'نسيت كلمة المرور؟ احصل على واحدة جديدة'; -$lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور'; -$lang['resendpwd'] = 'إرسال كلمة المرور إلى'; -$lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ جميع الخانات'; -$lang['resendpwdnouser'] = 'عذراً، لدينا هذا المشترك في قاعدة بياناتنا'; -$lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد أنك استخدمت كامل وصلة التأكيد'; -$lang['resendpwdconfirm'] = 'تم إرسال وصلة تأكيد إلى بريدك الإلكتروني'; -$lang['resendpwdsuccess'] = 'كلمة مرورك الجديدة تم إرسالها عبر البريد الإلكتروني'; +$lang['profnochange'] = 'لا تغييرات، لا شيء ليُعمل.'; +$lang['profnoempty'] = 'غير مسموح باسم مستخدم أو بريد فارغ.'; +$lang['profchanged'] = 'حُدث الملف الشخصي للمستخدم بنجاح.'; +$lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة'; +$lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.'; +$lang['resendpwd'] = 'إرسال كلمة مرور'; +$lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ كل الحقول.'; +$lang['resendpwdnouser'] = 'عذراً، لم نجد المستخدم هذا في قاعدة بياناتنا.'; +$lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد من استخدامك كامل وصلة التأكيد.'; +$lang['resendpwdconfirm'] = 'أرسل رابط التأكيد بواسطة البريد.'; +$lang['resendpwdsuccess'] = 'كلمة السرالجديدة إرسلت عبر البريد.'; $lang['license'] = 'مالم يشر لخلاف ذلك، فإن المحتوى على هذه الويكي مرخص وفق الرخصة التالية:'; $lang['licenseok'] = 'لاحظ: بتحرير هذه الصفحة أنت توافق على ترخيص محتواها تحت الرخصة التالية:'; -$lang['searchmedia'] = 'البحث عن اسم الملف : '; +$lang['searchmedia'] = 'ابحث في اسماء الملفات:'; $lang['searchmedia_in'] = 'ابحث في %s'; -$lang['txt_upload'] = 'اختر ملفاً للتحميل'; -$lang['txt_filename'] = 'تحميل باسم - اختياري'; -$lang['txt_overwrt'] = 'الكتابة على ملف موجود بنفس الاسم مسموحة'; -$lang['lockedby'] = 'حالياً مقفول بواسطة'; -$lang['lockexpire'] = 'سينتهي القفل في'; -$lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة. لتجنب التعارض استخدم زر استعراض لبدأ القفل من جديد'; -$lang['js']['notsavedyet'] = 'التعديلات التي لم تحفظ ستفقد. أموافق ؟'; -$lang['js']['searchmedia'] = 'البحث عن الملفات'; +$lang['txt_upload'] = 'اختر ملفاً للرفع'; +$lang['txt_filename'] = 'رفع كـ (اختياري)'; +$lang['txt_overwrt'] = 'اكتب على ملف موجود'; +$lang['lockedby'] = 'حالياً مقفل بواسطة'; +$lang['lockexpire'] = 'ينتهي القفل في'; +$lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.'; +$lang['js']['notsavedyet'] = 'التعديلات غير المحفوظة ستفقد. اكمل فعلا؟'; +$lang['js']['searchmedia'] = 'ابحث عن ملفات'; $lang['js']['keepopen'] = 'أبقي النافذة مفتوحة أثناء الاختيار'; -$lang['js']['hidedetails'] = 'إخفاء التفاصيل'; +$lang['js']['hidedetails'] = 'أخف التفاصيل'; $lang['js']['mediatitle'] = 'اعدادات الرابط'; $lang['js']['mediadisplay'] = 'نوع الرابط'; $lang['js']['mediaalign'] = 'المحاذاة'; -- cgit v1.2.3 From 7ea8e5925d4d2e18975712870d48912761ea1503 Mon Sep 17 00:00:00 2001 From: Marek Sacha Date: Tue, 27 Apr 2010 00:40:25 +0200 Subject: Reimplementation of Accesskeys in JavaScript (FS#1809) --- lib/exe/js.php | 1 + lib/scripts/hotkeys.js | 265 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 266 insertions(+) create mode 100644 lib/scripts/hotkeys.js diff --git a/lib/exe/js.php b/lib/exe/js.php index 05965ba02..f1ac86c82 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -50,6 +50,7 @@ function js_out(){ DOKU_INC.'lib/scripts/linkwiz.js', DOKU_INC.'lib/scripts/media.js', DOKU_INC.'lib/scripts/subscriptions.js', + DOKU_INC.'lib/scripts/hotkeys.js', DOKU_TPLINC.'script.js', ); diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js new file mode 100644 index 000000000..d062118fb --- /dev/null +++ b/lib/scripts/hotkeys.js @@ -0,0 +1,265 @@ +/** + * Some of these scripts were taken from TinyMCE (http://tinymce.moxiecode.com/) and were modified for DokuWiki + * + * Class handles accesskeys using javascript and also provides ability + * to register and use other hotkeys as well. + * + * @author Marek Sacha + */ +function Hotkeys() { + + this.shortcuts = new Array(); + + /** + * Set modifier keys, for instance: + * this.modifier = 'ctrl'; + * this.modifier = 'ctrl+shift'; + * this.modifier = 'ctrl+alt+shift'; + * this.modifier = 'alt'; + * this.modifier = 'alt+shift'; + */ + this.modifier = 'ctrl'; + + /** + * Initialization + * + * This function looks up all the accesskeys used in the current page + * (at anchor elements and input elements [type="submit"]) and registers + * appropriate shortcuts. + * + * @author Marek Sacha + */ + this.initialize = function() { + var t = this; + /** + * Lookup all anchors with accesskey and register event - go to anchor + * target. + */ + var anchors = document.getElementsByTagName("a"); + t.each(anchors, function(a) { + if (a.accessKey != "") { + t.addShortcut(t.modifier + '+' + a.accessKey, function() { + window.location.href = a.href; + }); + } + }); + + /** + * Lookup all input [type="submit"] with accesskey and register event - + * perform "click" on a button. + */ + var inputs = document.getElementsByTagName("input"); + t.each(inputs, function(i) { + if (i.type == "submit") { + t.addShortcut(t.modifier + '+' + i.accessKey, function() { + i.click(); + }); + } + }); + }; + + /** + * Keyup processing function + * Function returns true if keyboard event has registered handler, and + * executes the handler function. + * + * @param e KeyboardEvent + * @author Marek Sacha + * @return b boolean + */ + this.onkeyup = function(e) { + var t = this; + var v = t.findShortcut(e); + if (v != null && v != false) { + v.func.call(t); + return false; + } + return true; + }; + + /** + * Keydown processing function + * Function returns true if keyboard event has registered handler + * + * @param e KeyboardEvent + * @author Marek Sacha + * @return b boolean + */ + this.onkeydown = function(e) { + var t = this; + var v = t.findShortcut(e); + if (v != null && v != false) { + return false; + } + return true; + }; + + /** + * Keypress processing function + * Function returns true if keyboard event has registered handler + * + * @param e KeyboardEvent + * @author Marek Sacha + * @return b + */ + this.onkeypress = function(e) { + var t = this; + var v = t.findShortcut(e); + if (v != null && v != false) { + return false; + } + return true; + }; + + /** + * Register new shortcut + * + * This function registers new shortcuts, each shortcut is defined by its + * modifier keys and a key (with + as delimiter). If shortcut is pressed + * cmd_function is performed. + * + * For example: + * pa = "ctrl+alt+p"; + * pa = "shift+alt+s"; + * + * Full example of method usage: + * hotkeys.addShortcut('ctrl+s',function() { + * document.getElementByID('form_1').submit(); + * }); + * + * @param pa String description of the shortcut (ctrl+a, ctrl+shift+p, .. ) + * @param cmd_func Function to be called if shortcut is pressed + * @author Marek Sacha + */ + this.addShortcut = function(pa, cmd_func) { + var t = this; + + var o = { + func : cmd_func, + alt : false, + ctrl : false, + shift : false + }; + + t.each(t.explode(pa, '+'), function(v) { + switch (v) { + case 'alt': + case 'ctrl': + case 'shift': + o[v] = true; + break; + + default: + o.charCode = v.charCodeAt(0); + o.keyCode = v.toUpperCase().charCodeAt(0); + } + }); + + t.shortcuts.push((o.ctrl ? 'ctrl' : '') + ',' + (o.alt ? 'alt' : '') + ',' + (o.shift ? 'shift' : '') + ',' + o.keyCode, o); + + return true; + }; + + /** + * @property isMac + */ + this.isMac = (navigator.userAgent.indexOf('Mac') != -1); + + /** + * Apply function cb on each element of o in the namespace of s + * @param o Array of objects + * @param cb Function to be called on each object + * @param s Namespace to be used during call of cb (default namespace is o) + * @author Marek Sacha + */ + this.each = function(o, cb, s) { + var n, l; + + if (!o) + return 0; + + s = s || o; + + if (o.length !== undefined) { + // Indexed arrays, needed for Safari + for (n=0, l = o.length; n < l; n++) { + if (cb.call(s, o[n], n, o) === false) + return 0; + } + } else { + // Hashtables + for (n in o) { + if (o.hasOwnProperty(n)) { + if (cb.call(s, o[n], n, o) === false) + return 0; + } + } + } + + return 1; + }; + + /** + * Explode string according to delimiter + * @param s String + * @param d Delimiter (default ',') + * @author Marek Sacha + * @return a Array of tokens + */ + this.explode = function(s, d) { + return s.split(d || ','); + }; + + /** + * Find if the shortcut was registered + * + * @param e KeyboardEvent + * @author Marek Sacha + * @return v Shortcut structure or null if not found + */ + this.findShortcut = function (e) { + var t = this; + var v = null; + + /* No modifier key used - shortcut does not exist */ + if (!e.altKey && !e.ctrlKey && !e.metaKey) { + return v; + } + + t.each(t.shortcuts, function(o) { + if (t.isMac && o.ctrl != e.metaKey) + return; + else if (!t.isMac && o.ctrl != e.ctrlKey) + return; + + if (o.alt != e.altKey) + return; + + if (o.shift != e.shiftKey) + return; + + if (e.keyCode == o.keyCode || (e.charCode && e.charCode == o.charCode)) { + v = o; + return; + } + }); + return v; + }; +} + +addInitEvent(function(){ + var hotkeys = new Hotkeys(); + hotkeys.initialize(); + + addEvent(document,'keyup',function (e) { + return hotkeys.onkeyup.call(hotkeys,e); + }); + + addEvent(document,'keypress',function (e) { + return hotkeys.onkeypress.call(hotkeys,e); + }); + + addEvent(document,'keydown',function (e) { + return hotkeys.onkeydown.call(hotkeys,e); + }); +}); \ No newline at end of file -- cgit v1.2.3 From 4062d3d5c0c566751a1f098495e9aa836e8db9de Mon Sep 17 00:00:00 2001 From: Marek Sacha Date: Fri, 30 Apr 2010 17:18:40 +0200 Subject: Reimplementation of Accesskeys in javascript (FS#1809), toolbar accesskyes fix. --- lib/exe/js.php | 2 ++ lib/scripts/hotkeys.js | 58 ++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 44 insertions(+), 16 deletions(-) diff --git a/lib/exe/js.php b/lib/exe/js.php index f1ac86c82..f2f9dfe6b 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -113,6 +113,8 @@ function js_out(){ } js_runonstart('scrollToMarker()'); js_runonstart('focusMarker()'); + // init hotkeys - must have been done after init of toolbar + js_runonstart('initializeHotkeys()'); // end output buffering and get contents $js = ob_get_contents(); diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js index d062118fb..9e2b9cb83 100644 --- a/lib/scripts/hotkeys.js +++ b/lib/scripts/hotkeys.js @@ -27,6 +27,9 @@ function Hotkeys() { * (at anchor elements and input elements [type="submit"]) and registers * appropriate shortcuts. * + * Secondly, initialization registers listeners on document to catch all + * keyboard events. + * * @author Marek Sacha */ this.initialize = function() { @@ -39,7 +42,7 @@ function Hotkeys() { t.each(anchors, function(a) { if (a.accessKey != "") { t.addShortcut(t.modifier + '+' + a.accessKey, function() { - window.location.href = a.href; + a.click(); }); } }); @@ -50,12 +53,41 @@ function Hotkeys() { */ var inputs = document.getElementsByTagName("input"); t.each(inputs, function(i) { - if (i.type == "submit") { + if (i.type == "submit" && i.accessKey != "") { t.addShortcut(t.modifier + '+' + i.accessKey, function() { i.click(); }); } }); + + /** + * Lookup all buttons with accesskey and register event - + * perform "click" on a button. + */ + var buttons = document.getElementsByTagName("button"); + t.each(buttons, function(b) { + if (b.accessKey != "") { + t.addShortcut(t.modifier + '+' + b.accessKey, function() { + b.click(); + }); + } + }); + + /** + * Register listeners on document to catch keyboard events. + */ + + addEvent(document,'keyup',function (e) { + return t.onkeyup.call(t,e); + }); + + addEvent(document,'keypress',function (e) { + return t.onkeypress.call(t,e); + }); + + addEvent(document,'keydown',function (e) { + return t.onkeydown.call(t,e); + }); }; /** @@ -247,19 +279,13 @@ function Hotkeys() { }; } -addInitEvent(function(){ +/** + * Init function for hotkeys. Called from js.php, to ensure hotkyes are initialized after toolbar. + * Call of addInitEvent(initializeHotkeys) is unnecessary now. + * + * @author Marek Sacha + */ +function initializeHotkeys() { var hotkeys = new Hotkeys(); hotkeys.initialize(); - - addEvent(document,'keyup',function (e) { - return hotkeys.onkeyup.call(hotkeys,e); - }); - - addEvent(document,'keypress',function (e) { - return hotkeys.onkeypress.call(hotkeys,e); - }); - - addEvent(document,'keydown',function (e) { - return hotkeys.onkeydown.call(hotkeys,e); - }); -}); \ No newline at end of file +} \ No newline at end of file -- cgit v1.2.3 From dd512d246ef7a200ca1137bb267aee87380a2f6c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 8 May 2010 12:09:19 +0200 Subject: use ALT as hotkey modifier --- lib/scripts/hotkeys.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js index 9e2b9cb83..2b696e78d 100644 --- a/lib/scripts/hotkeys.js +++ b/lib/scripts/hotkeys.js @@ -18,7 +18,7 @@ function Hotkeys() { * this.modifier = 'alt'; * this.modifier = 'alt+shift'; */ - this.modifier = 'ctrl'; + this.modifier = 'alt'; /** * Initialization @@ -288,4 +288,4 @@ function Hotkeys() { function initializeHotkeys() { var hotkeys = new Hotkeys(); hotkeys.initialize(); -} \ No newline at end of file +} -- cgit v1.2.3 From 11c78c94cd43872c1fa380e70027d33226174aba Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 8 May 2010 14:31:57 +0200 Subject: correctly preview no text FS#1945 --- inc/html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inc/html.php b/inc/html.php index 4a4cf2739..c4eb62bc8 100644 --- a/inc/html.php +++ b/inc/html.php @@ -217,7 +217,7 @@ function html_btn($name,$id,$akey,$params,$method='get',$tooltip=''){ * * @author Andreas Gohr */ -function html_show($txt=''){ +function html_show($txt=null){ global $ID; global $REV; global $HIGH; @@ -229,7 +229,7 @@ function html_show($txt=''){ $secedit = true; } - if ($txt){ + if (!is_null($txt)){ //PreviewHeader echo '
'; echo p_locale_xhtml('preview'); -- cgit v1.2.3 From 59cecab437669b6edeccb87d82e5aa2024c82b89 Mon Sep 17 00:00:00 2001 From: Otto Vainio Date: Thu, 13 May 2010 20:20:05 +0200 Subject: Finnish language update --- inc/lang/fi/lang.php | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index a139a9f19..2ccaaab89 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -94,7 +94,38 @@ $lang['txt_overwrt'] = 'Ylikirjoita olemassa oleva'; $lang['lockedby'] = 'Tällä hetkellä tiedoston on lukinnut'; $lang['lockexpire'] = 'Lukitus päättyy'; $lang['willexpire'] = 'Lukituksesi tämän sivun muokkaukseen päättyy minuutin kuluttua.\nRistiriitojen välttämiseksi paina esikatselu-nappia nollataksesi lukitusajan.'; -$lang['js']['notsavedyet'] = "Dokumentissa on tallentamattomia muutoksia, jotka häviävät.\n Haluatko varmasti jatkaa?"; +$lang['js']['notsavedyet'] = 'Dokumentissa on tallentamattomia muutoksia, jotka häviävät. + Haluatko varmasti jatkaa?'; +$lang['js']['searchmedia'] = 'Etsi tiedostoja'; +$lang['js']['keepopen'] = 'Pidä valinnan ikkuna avoinna.'; +$lang['js']['hidedetails'] = 'Piilota yksityiskohdat'; +$lang['js']['mediatitle'] = 'Linkkien asetukset'; +$lang['js']['mediadisplay'] = 'Linkin tyyppi'; +$lang['js']['mediaalign'] = 'Tasaus'; +$lang['js']['mediasize'] = 'Kuvan koko'; +$lang['js']['mediatarget'] = 'Linkin kohde'; +$lang['js']['mediaclose'] = 'Sulje'; +$lang['js']['mediainsert'] = 'Liitä'; +$lang['js']['mediadisplayimg'] = 'Näytä kuva.'; +$lang['js']['mediadisplaylnk'] = 'Näytä vain linkki'; +$lang['js']['mediasmall'] = 'Pieni versio'; +$lang['js']['mediamedium'] = 'Keskikokoinen versio'; +$lang['js']['medialarge'] = 'Iso versio'; +$lang['js']['mediaoriginal'] = 'Alkuperäinen versio'; +$lang['js']['medialnk'] = 'Linkki tietosivuun'; +$lang['js']['mediadirect'] = 'Suora linkki alkuperäiseen'; +$lang['js']['medianolnk'] = 'Ei linkkiä'; +$lang['js']['medianolink'] = 'Älä linkitä kuvaa'; +$lang['js']['medialeft'] = 'Tasaa kuva vasemmalle.'; +$lang['js']['mediaright'] = 'Tasaa kuva oikealle.'; +$lang['js']['mediacenter'] = 'Tasaa kuva keskelle.'; +$lang['js']['medianoalign'] = 'Älä tasaa.'; +$lang['js']['nosmblinks'] = 'Linkit Windows-jakoihin toimivat vain Microsoft Internet Explorerilla. +Voit silti kopioida ja liittää linkin.'; +$lang['js']['linkwiz'] = 'Linkkivelho'; +$lang['js']['linkto'] = 'Linkki kohteeseen:'; +$lang['js']['del_confirm'] = 'Haluatko todella poistaa valitut kohteet?'; +$lang['js']['mu_btn'] = 'Lähetä useampia tiedostoja kerralla'; $lang['rssfailed'] = 'Virhe tapahtui noudettaessa tätä syötettä: '; $lang['nothingfound'] = 'Mitään ei löytynyt.'; $lang['mediaselect'] = 'Mediatiedoston valinta'; @@ -112,15 +143,6 @@ $lang['deletefail'] = 'Kohdetta "%s" poistaminen ei onnistunut - tark $lang['mediainuse'] = 'Tiedostoa "%s" ei ole poistettu - se on vielä käytössä.'; $lang['namespaces'] = 'Nimiavaruudet'; $lang['mediafiles'] = 'Tarjolla olevat tiedostot'; -$lang['js']['searchmedia'] = 'Etsi tiedostoja'; -$lang['js']['keepopen'] = 'Pidä valinnan ikkuna avoinna.'; -$lang['js']['hidedetails'] = 'Piilota yksityiskohdat'; -$lang['js']['nosmblinks'] = 'Linkit Windows-jakoihin toimivat vain Microsoft Internet Explorerilla. -Voit silti kopioida ja liittää linkin.'; -$lang['js']['linkwiz'] = 'Linkkivelho'; -$lang['js']['linkto'] = 'Linkki kohteeseen:'; -$lang['js']['del_confirm'] = 'Haluatko todella poistaa valitut kohteet?'; -$lang['js']['mu_btn'] = 'Lähetä useampia tiedostoja kerralla'; $lang['mediausage'] = 'Käytä seuraavaa merkintätapaa viittausta tehtäessä:'; $lang['mediaview'] = 'Katsele alkuperäistä tiedostoa'; $lang['mediaroot'] = 'root'; @@ -255,3 +277,4 @@ $lang['days'] = '%d päivää sitten'; $lang['hours'] = '%d tuntia sitten'; $lang['minutes'] = '%d minuuttia sitten'; $lang['seconds'] = '% sekuntia sitten'; +$lang['wordblock'] = 'Muutostasi ei talletettu, koska se sisältää estettyä tekstiä (spam).'; -- cgit v1.2.3 From 8a6e9b060334bab4d8d2ddcbdb4de32241c7f7e1 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 5 May 2010 14:47:23 +0200 Subject: Add debug message for adLDAP class construction --- inc/auth/ad.class.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/auth/ad.class.php b/inc/auth/ad.class.php index a52f5f8b2..9ae6dbbd1 100644 --- a/inc/auth/ad.class.php +++ b/inc/auth/ad.class.php @@ -260,6 +260,9 @@ class auth_ad extends auth_basic { } return true; } catch (adLDAPException $e) { + if ($this->cnf['debug']) { + msg($e->getMessage(), -1); + } $this->success = false; $this->adldap = null; } -- cgit v1.2.3 From de4d479af254512700b8aedce9c1a597880322b0 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 17 May 2010 11:05:23 +0200 Subject: Let actionOK detect auth backend capabilities --- inc/actions.php | 5 +++++ inc/confutils.php | 7 +++++++ inc/html.php | 5 ++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index a426f0276..4b5bfdb1a 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -343,6 +343,11 @@ function act_revert($act){ global $ID; global $REV; global $lang; + // FIXME $INFO['writable'] currently refers to the attic version + // global $INFO; + // if (!$INFO['writable']) { + // return 'show'; + // } // when no revision is given, delete current one // FIXME this feature is not exposed in the GUI currently diff --git a/inc/confutils.php b/inc/confutils.php index 7850682ba..0c1c0c64a 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -241,6 +241,7 @@ function actionOK($action){ static $disabled = null; if(is_null($disabled)){ global $conf; + global $auth; // prepare disabled actions array and handle legacy options $disabled = explode(',',$conf['disableactions']); @@ -250,6 +251,12 @@ function actionOK($action){ if(isset($conf['subscribers']) && !$conf['subscribers']) { $disabled[] = 'subscribe'; } + if (is_null($auth) || !$auth->canDo('addUser')) { + $disabled[] = 'register'; + } + if (is_null($auth) || !$auth->canDo('modPass')) { + $disabled[] = 'resendpwd'; + } $disabled = array_unique($disabled); } diff --git a/inc/html.php b/inc/html.php index c4eb62bc8..01823449e 100644 --- a/inc/html.php +++ b/inc/html.php @@ -45,7 +45,6 @@ function html_login(){ global $lang; global $conf; global $ID; - global $auth; print p_locale_xhtml('login'); print '
'.NL; @@ -61,14 +60,14 @@ function html_login(){ $form->addElement(form_makeButton('submit', '', $lang['btn_login'])); $form->endFieldset(); - if($auth && $auth->canDo('addUser') && actionOK('register')){ + if(actionOK('register')){ $form->addElement('

' . $lang['reghere'] . ': '.$lang['register'].'' . '

'); } - if ($auth && $auth->canDo('modPass') && actionOK('resendpwd')) { + if (actionOK('resendpwd')) { $form->addElement('

' . $lang['pwdforget'] . ': '.$lang['btn_resendpwd'].'' -- cgit v1.2.3 From c275533eba3389cf4c186d995947aedfff356177 Mon Sep 17 00:00:00 2001 From: Mauro Javier Giamberardino Fernandez Date: Wed, 19 May 2010 19:44:29 +0200 Subject: Spanish language update --- inc/lang/es/lang.php | 42 ++++++++++++++++++++++++-------- lib/plugins/acl/lang/es/lang.php | 1 + lib/plugins/config/lang/es/lang.php | 3 +++ lib/plugins/plugin/lang/es/lang.php | 1 + lib/plugins/popularity/lang/es/lang.php | 1 + lib/plugins/revert/lang/es/lang.php | 1 + lib/plugins/usermanager/lang/es/lang.php | 1 + 7 files changed, 40 insertions(+), 10 deletions(-) diff --git a/inc/lang/es/lang.php b/inc/lang/es/lang.php index d519ebc80..28da1dfee 100644 --- a/inc/lang/es/lang.php +++ b/inc/lang/es/lang.php @@ -23,6 +23,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -109,7 +110,37 @@ $lang['txt_overwrt'] = 'Sobreescribir archivo existente'; $lang['lockedby'] = 'Actualmente bloqueado por'; $lang['lockexpire'] = 'El bloqueo expira en'; $lang['willexpire'] = 'Tu bloqueo para editar esta página expira en un minuto.\nPara evitar conflictos usa el botón previsualizar para reiniciar el contador de tiempo.'; -$lang['js']['notsavedyet'] = "Los cambios que no se han guardado se perderán.\n¿Realmente quieres continuar?"; +$lang['js']['notsavedyet'] = 'Los cambios que no se han guardado se perderán. +¿Realmente quieres continuar?'; +$lang['js']['searchmedia'] = 'Buscar archivos'; +$lang['js']['keepopen'] = 'Mantener la ventana abierta luego de seleccionar'; +$lang['js']['hidedetails'] = 'Ocultar detalles'; +$lang['js']['mediatitle'] = 'Configuración del vínculo'; +$lang['js']['mediadisplay'] = 'Tipo de vínculo'; +$lang['js']['mediaalign'] = 'Alineación'; +$lang['js']['mediasize'] = 'Tamaño de la imagen'; +$lang['js']['mediatarget'] = 'Destino del vínculo'; +$lang['js']['mediaclose'] = 'Cerrar'; +$lang['js']['mediainsert'] = 'Insertar'; +$lang['js']['mediadisplayimg'] = 'Mostrar la imagen.'; +$lang['js']['mediadisplaylnk'] = 'Mostrar solo el vínculo.'; +$lang['js']['mediasmall'] = 'Versión en tamaño pequeño'; +$lang['js']['mediamedium'] = 'Versión en tamaño medio'; +$lang['js']['medialarge'] = 'Versión en tamaño grande'; +$lang['js']['mediaoriginal'] = 'Versión original'; +$lang['js']['medialnk'] = 'Vínculo a la pagina de descripción'; +$lang['js']['mediadirect'] = 'Vínculo al original'; +$lang['js']['medianolnk'] = 'Sin vínculo'; +$lang['js']['medianolink'] = 'No vincular la imagen'; +$lang['js']['medialeft'] = 'Alinear imagen a la izquierda'; +$lang['js']['mediaright'] = 'Alinear imagen a la derecha.'; +$lang['js']['mediacenter'] = 'Alinear imagen en el centro.'; +$lang['js']['nosmblinks'] = 'El enlace a recursos compartidos de Windows sólo funciona en Microsoft Internet Explorer. +Lo que sí puedes hacer es copiar y pegar el enlace.'; +$lang['js']['linkwiz'] = 'Asistente de enlaces'; +$lang['js']['linkto'] = 'Enlazar a:'; +$lang['js']['del_confirm'] = '¿Quieres realmente borrar lo seleccionado?'; +$lang['js']['mu_btn'] = 'Subir varios archivos a la vez'; $lang['rssfailed'] = 'Se ha producido un error mientras se leían los datos de este feed: '; $lang['nothingfound'] = 'No se ha encontrado nada.'; $lang['mediaselect'] = 'Archivos Multimedia'; @@ -127,15 +158,6 @@ $lang['deletefail'] = '"%s" no pudo ser borrado; verifique los permis $lang['mediainuse'] = 'El fichero "%s" no ha sido borrado, aún está en uso.'; $lang['namespaces'] = 'Espacios de nombres'; $lang['mediafiles'] = 'Ficheros disponibles en'; -$lang['js']['searchmedia'] = 'Buscar archivos'; -$lang['js']['keepopen'] = 'Mantener la ventana abierta luego de seleccionar'; -$lang['js']['hidedetails'] = 'Ocultar detalles'; -$lang['js']['nosmblinks'] = 'El enlace a recursos compartidos de Windows sólo funciona en Microsoft Internet Explorer. -Lo que sí puedes hacer es copiar y pegar el enlace.'; -$lang['js']['linkwiz'] = 'Asistente de enlaces'; -$lang['js']['linkto'] = 'Enlazar a:'; -$lang['js']['del_confirm'] = '¿Quieres realmente borrar lo seleccionado?'; -$lang['js']['mu_btn'] = 'Subir varios archivos a la vez'; $lang['mediausage'] = 'Use la siguiente sintaxis para hacer referencia a este fichero:'; $lang['mediaview'] = 'Ver el fichero original'; $lang['mediaroot'] = 'root'; diff --git a/lib/plugins/acl/lang/es/lang.php b/lib/plugins/acl/lang/es/lang.php index c908dc5a9..e63448a00 100644 --- a/lib/plugins/acl/lang/es/lang.php +++ b/lib/plugins/acl/lang/es/lang.php @@ -18,6 +18,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; $lang['acl_group'] = 'Grupo'; diff --git a/lib/plugins/config/lang/es/lang.php b/lib/plugins/config/lang/es/lang.php index 9aed1f96c..2b87a1dd2 100644 --- a/lib/plugins/config/lang/es/lang.php +++ b/lib/plugins/config/lang/es/lang.php @@ -18,6 +18,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['menu'] = 'Parámetros de configuración'; $lang['error'] = 'Los parámetros no han sido actualizados a causa de un valor inválido, por favor revise los cambios y re-envíe el formulario.
Los valores incorrectos se mostrarán con un marco rojo alrededor.'; @@ -105,6 +106,7 @@ $lang['useslash'] = 'Usar barra (/) como separador de espacios de n $lang['usedraft'] = 'Guardar automáticamente un borrador mientras se edita'; $lang['sepchar'] = 'Separador de palabras en nombres de páginas'; $lang['canonical'] = 'Usar URLs totalmente canónicas'; +$lang['fnencode'] = 'Método para codificar nombres de archivo no-ASCII.'; $lang['autoplural'] = 'Controlar plurales en enlaces'; $lang['compression'] = 'Método de compresión para archivos en el ático'; $lang['cachetime'] = 'Edad máxima para caché (segundos)'; @@ -192,3 +194,4 @@ $lang['useheading_o_0'] = 'Nunca'; $lang['useheading_o_navigation'] = 'Solamente Navegación'; $lang['useheading_o_content'] = 'Contenido wiki solamente'; $lang['useheading_o_1'] = 'Siempre'; +$lang['readdircache'] = 'Tiempo máximo para la cache readdir (en segundos)'; diff --git a/lib/plugins/plugin/lang/es/lang.php b/lib/plugins/plugin/lang/es/lang.php index 33264ddf3..d26218b2d 100644 --- a/lib/plugins/plugin/lang/es/lang.php +++ b/lib/plugins/plugin/lang/es/lang.php @@ -18,6 +18,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['menu'] = 'Administración de Plugins'; $lang['download'] = 'Descargar e instalar un nuevo plugin'; diff --git a/lib/plugins/popularity/lang/es/lang.php b/lib/plugins/popularity/lang/es/lang.php index e349e5ea5..4fe24a8f0 100644 --- a/lib/plugins/popularity/lang/es/lang.php +++ b/lib/plugins/popularity/lang/es/lang.php @@ -14,6 +14,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['name'] = 'Retroinformación (Feedback) plugin Popularity'; $lang['submit'] = 'Enviar datos'; diff --git a/lib/plugins/revert/lang/es/lang.php b/lib/plugins/revert/lang/es/lang.php index fd3e2e0bf..420454d45 100644 --- a/lib/plugins/revert/lang/es/lang.php +++ b/lib/plugins/revert/lang/es/lang.php @@ -16,6 +16,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['menu'] = 'Restaurador'; $lang['filter'] = 'Buscar páginas con spam'; diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index c3b345642..a5b6bcbb8 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -17,6 +17,7 @@ * @author Daniel Castro Alvarado * @author Fernando J. Gómez * @author Victor Castelan + * @author Mauro Javier Giamberardino */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; -- cgit v1.2.3 From 86228f109464404b30ea74164e855ef146c87249 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Mon, 24 May 2010 21:44:35 +0200 Subject: added cleanID to xmlrpc call wiki.getBackLinks --- lib/exe/xmlrpc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index a4dc56f0f..377003cf1 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -476,7 +476,7 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { * Return a list of backlinks */ function listBackLinks($id){ - return ft_backlinks($id); + return ft_backlinks(cleanID($id)); } /** -- cgit v1.2.3 From 1468362acf130b9044c5d23a39968f4fae4e4a5a Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 26 May 2010 16:18:44 +0200 Subject: Fixing zip decompression in ZipLib.class.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch fixes a bug introduced in »code cleanup« #0b17fdc6719c24850fa7 --- inc/ZipLib.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/ZipLib.class.php b/inc/ZipLib.class.php index 09dbbd3bd..cf89a40a4 100644 --- a/inc/ZipLib.class.php +++ b/inc/ZipLib.class.php @@ -324,8 +324,8 @@ class ZipLib { $centd['comment'] = fread($zip, $data['comment_size']); } else { $centd['comment'] = ''; - $centd['entries'] = $data['entries']; } + $centd['entries'] = $data['entries']; $centd['disk_entries'] = $data['disk_entries']; $centd['offset'] = $data['offset']; $centd['disk_start'] = $data['disk_start']; -- cgit v1.2.3 From 49cbd23e619ed9827e84e333e99889027198adef Mon Sep 17 00:00:00 2001 From: Otto Vainio Date: Fri, 28 May 2010 14:19:32 +0300 Subject: php_to_byte returns invalid value if unit not set --- inc/common.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/common.php b/inc/common.php index 144f8e48c..ec27d8a85 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1324,6 +1324,9 @@ function php_to_byte($v){ case 'K': $ret *= 1024; break; + default; + $ret *= 10; + break; } return $ret; } -- cgit v1.2.3 From d059be8cf238dc11f453f013f0d175d16ddb8a12 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 7 Jun 2010 19:36:48 +0200 Subject: fix index without JavaScript FS#1953 --- doku.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doku.php b/doku.php index 54b1d00e9..52e8e6b8e 100644 --- a/doku.php +++ b/doku.php @@ -12,7 +12,7 @@ if(!defined('DOKU_INC')) define('DOKU_INC',dirname(__FILE__).'/'); if (isset($_SERVER['HTTP_X_DOKUWIKI_DO'])){ $ACT = trim(strtolower($_SERVER['HTTP_X_DOKUWIKI_DO'])); -} elseif (!empty($IDX)) { +} elseif (!empty($_REQUEST['idx'])) { $ACT = 'index'; } elseif (isset($_REQUEST['do'])) { $ACT = $_REQUEST['do']; -- cgit v1.2.3 From eb2cef78be976d583e9089dfc7de0d93d8476f3d Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Tue, 1 Jun 2010 10:55:36 +0200 Subject: bugfix empty strings in untyped value tag. according to the specs a value without a type is recognised as string. This patch handles empty value tags the right way as empty String. --- inc/IXR_Library.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index 4f8eb31c1..9c270b1ce 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -225,11 +225,9 @@ class IXR_Message { break; case 'value': // "If no type is indicated, the type is string." - if (trim($this->_currentTagContents) != '') { - $value = (string)$this->_currentTagContents; - $this->_currentTagContents = ''; - $valueFlag = true; - } + $value = (string)$this->_currentTagContents; + $this->_currentTagContents = ''; + $valueFlag = true; break; case 'boolean': $value = (boolean)trim($this->_currentTagContents); -- cgit v1.2.3 From ccee78424602b02309b2c81b3fa932bbcce1a03b Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 27 May 2010 09:31:22 +0200 Subject: Changed date format to the xmlrpc spec date format --- inc/IXR_Library.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index 9c270b1ce..b82952d74 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -623,7 +623,7 @@ class IXR_Date { $this->second = substr($iso, 17, 2); } function getIso() { - return $this->year.'-'.$this->month.'-'.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second; + return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second; } function getXml() { return ''.$this->getIso().''; -- cgit v1.2.3 From 5ab78106b0f9170d5e4930d0901862e4373a686f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 9 Jun 2010 21:43:10 +0200 Subject: Make XMLRPC date parsing more flexible FS#1966 Since the specs aren't 100% clear, dates might be passed in different formats by various XMLRPC clients. This patch makes date parsing a bit more flexible. Unit tests included. --- _test/cases/inc/IXR_Library_date.test.php | 34 +++++++++++++++++++++++++++++++ inc/IXR_Library.php | 14 +++++++------ 2 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 _test/cases/inc/IXR_Library_date.test.php diff --git a/_test/cases/inc/IXR_Library_date.test.php b/_test/cases/inc/IXR_Library_date.test.php new file mode 100644 index 000000000..a2b6154d8 --- /dev/null +++ b/_test/cases/inc/IXR_Library_date.test.php @@ -0,0 +1,34 @@ +assertEqual($dt->getTimeStamp(),$test[1]); + } + } + +} +//Setup VIM: ex: et ts=4 enc=utf-8 : diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php index b82952d74..2fb7dfe68 100644 --- a/inc/IXR_Library.php +++ b/inc/IXR_Library.php @@ -615,12 +615,14 @@ class IXR_Date { $this->second = gmdate('s', $timestamp); } function parseIso($iso) { - $this->year = substr($iso, 0, 4); - $this->month = substr($iso, 5, 2); - $this->day = substr($iso, 8, 2); - $this->hour = substr($iso, 11, 2); - $this->minute = substr($iso, 14, 2); - $this->second = substr($iso, 17, 2); + if(preg_match('/^(\d\d\d\d)-?(\d\d)-?(\d\d)([T ](\d\d):(\d\d)(:(\d\d))?)?/',$iso,$match)){ + $this->year = (int) $match[1]; + $this->month = (int) $match[2]; + $this->day = (int) $match[3]; + $this->hour = (int) $match[5]; + $this->minute = (int) $match[6]; + $this->second = (int) $match[8]; + } } function getIso() { return $this->year.$this->month.$this->day.'T'.$this->hour.':'.$this->minute.':'.$this->second; -- cgit v1.2.3 From a0b3ecb91b6aa4b2d0c7302bbfaeb9428621cc2a Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 12 Jun 2010 16:39:43 +0100 Subject: fixed license link always showing target --- inc/template.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/template.php b/inc/template.php index c1e3e76ab..85fdb67cf 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1312,7 +1312,7 @@ function tpl_license($img='badge',$imgonly=false,$return=false){ if(!$imgonly) { $out .= $lang['license']; $out .= ''; } $out .= '

'; -- cgit v1.2.3 From 0181f02104c2e7068dfe8d66353cf8502e34a379 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Jun 2010 11:33:12 +0200 Subject: Store undisplayed msg's in session on redirect --- inc/common.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/inc/common.php b/inc/common.php index ec27d8a85..25d743e0b 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1464,6 +1464,14 @@ function is_mem_available($mem,$bytes=1048576){ * @author Andreas Gohr */ function send_redirect($url){ + //are there any undisplayed messages? keep them in session for display + global $MSG; + if (isset($MSG) && count($MSG) && !defined('NOSESSION')){ + //reopen session, store data and close session again + @session_start(); + $_SESSION[DOKU_COOKIE]['msg'] = $MSG; + } + // always close the session session_write_close(); -- cgit v1.2.3 From b625808123f9b91b9803f98f818d5745bd7692cc Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 13 Jun 2010 11:40:31 +0200 Subject: msgs are saved in send_redirect now, less code duplication needed --- inc/actions.php | 10 ---------- lib/plugins/plugin/classes/ap_manage.class.php | 13 ++----------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 4b5bfdb1a..b447b65e1 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -387,16 +387,6 @@ function act_revert($act){ function act_redirect($id,$preact){ global $PRE; global $TEXT; - global $MSG; - - //are there any undisplayed messages? keep them in session for display - //on the next page - if(isset($MSG) && count($MSG)){ - //reopen session, store data and close session again - @session_start(); - $_SESSION[DOKU_COOKIE]['msg'] = $MSG; - session_write_close(); - } $opts = array( 'id' => $id, diff --git a/lib/plugins/plugin/classes/ap_manage.class.php b/lib/plugins/plugin/classes/ap_manage.class.php index 297764ebb..eb5348672 100644 --- a/lib/plugins/plugin/classes/ap_manage.class.php +++ b/lib/plugins/plugin/classes/ap_manage.class.php @@ -113,23 +113,14 @@ class ap_manage { * Refresh plugin list */ function refresh() { - global $MSG,$config_cascade; - - //are there any undisplayed messages? keep them in session for display - if (isset($MSG) && count($MSG)){ - //reopen session, store data and close session again - @session_start(); - $_SESSION[DOKU_COOKIE]['msg'] = $MSG; - session_write_close(); - } + global $config_cascade; // expire dokuwiki caches // touching local.php expires wiki page, JS and CSS caches @touch(reset($config_cascade['main']['local'])); // update latest plugin date - FIXME - header('Location: '.wl($ID).'?do=admin&page=plugin'); - exit(); + send_redirect(wl($ID,array('do'=>'admin','page'=>'plugin'),true)); } /** -- cgit v1.2.3 From 2f10258ced4ab47311afffce07755551ac30e1df Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 15 Jun 2010 10:08:38 +0200 Subject: =?UTF-8?q?Add=20an=20optional=20off=20value=20to=20Doku=5FForm?= =?UTF-8?q?=E2=80=99s=20checkboxes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Since an unchecked HTML checkbox has no value at all, a hidden field may be used to specify an off value for the checkbox. --- inc/form.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/inc/form.php b/inc/form.php index cebaf4608..70190d2b4 100644 --- a/inc/form.php +++ b/inc/form.php @@ -484,6 +484,8 @@ function form_makeFileField($name, $label=null, $id='', $class='', $attrs=array( * form_makeCheckboxField * * Create a form element for a checkbox input element with label. + * If $value is an array, a hidden field with the same name and the value + * $value[1] is constructed as well. * * @see form_makeFieldRight * @author Tom N Harris @@ -818,6 +820,8 @@ function form_filefield($attrs) { * _class : class attribute used on the label tag * _text : Text to display after the input. Not escaped. * Other attributes are passed to buildAttributes() for the input tag. + * If value is an array, a hidden field with the same name and the value + * $attrs['value'][1] is constructed as well. * * @author Tom N Harris */ @@ -827,7 +831,13 @@ function form_checkboxfield($attrs) { $s = ''; + $s .= '>'; + if (is_array($attrs['value'])) { + echo ''; + $attrs['value'] = $attrs['value'][0]; + } + $s .= ''; $s .= ' '.$attrs['_text'].''; if (preg_match('/(^| )block($| )/', $attrs['_class'])) $s .= '
'; -- cgit v1.2.3 From 6709e843f0cb599daacc2afa793a3c17226a28a1 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 15 Jun 2010 11:25:58 +0200 Subject: Rewrite actionlink output, add title to actionlinks --- inc/template.php | 109 ++++++++++++++++++++++++++----------------------------- 1 file changed, 51 insertions(+), 58 deletions(-) diff --git a/inc/template.php b/inc/template.php index 85fdb67cf..2ebc7a36d 100644 --- a/inc/template.php +++ b/inc/template.php @@ -594,123 +594,116 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ if(!actionOK($ctype)) return false; $out = ''; + $id = $ID; + $query = array(); + $build_link = true; + $more = ''; switch($type){ case 'edit': // most complicated type - we need to decide on current action if($ACT == 'show' || $ACT == 'search'){ if($INFO['writable']){ + $more = 'class="action edit" accesskey="e"'; if(!empty($INFO['draft'])) { - $out .= tpl_link(wl($ID,'do=draft'), - $pre.(($inner)?$inner:$lang['btn_draft']).$suf, - 'class="action edit" accesskey="e" rel="nofollow"',1); + $type = 'draft'; } else { + $query = array('do' => 'edit', 'rev' => $REV); if($INFO['exists']){ - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_edit']).$suf, - 'class="action edit" accesskey="e" rel="nofollow"',1); + $type = 'edit'; }else{ - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_create']).$suf, - 'class="action create" accesskey="e" rel="nofollow"',1); + $more = 'class="action create" accesskey="e"'; + $type = 'create'; } } }else{ - if(actionOK('source')) //pseudo action - $out .= tpl_link(wl($ID,'do=edit&rev='.$REV), - $pre.(($inner)?$inner:$lang['btn_source']).$suf, - 'class="action source" accesskey="v" rel="nofollow"',1); + if(actionOK('source')) { //pseudo action + $query = array('do' => 'edit', 'rev' => $REV); + $type = 'source'; + $more = 'class="action source" accesskey="v"'; + } } }else{ - $out .= tpl_link(wl($ID,''), - $pre.(($inner)?$inner:$lang['btn_show']).$suf, - 'class="action show" accesskey="v" rel="nofollow"',1); + $query = ''; + $type = 'show'; + $more = 'class="action show" accesskey="v"'; } break; case 'history': - if(actionOK('revisions')) - $out .= tpl_link(wl($ID,'do=revisions'), - $pre.(($inner)?$inner:$lang['btn_revs']).$suf, - 'class="action revisions" accesskey="o" rel="nofollow"',1); + $query = array('do' => 'revisions'); + $type = 'revs'; + $more = 'class="action revisions" accesskey="o"'; break; case 'recent': - if(actionOK('recent')) - $out .= tpl_link(wl($ID,'do=recent'), - $pre.(($inner)?$inner:$lang['btn_recent']).$suf, - 'class="action recent" accesskey="r" rel="nofollow"',1); + $more = 'class="action recent" accesskey="r"'; break; case 'index': - if(actionOK('index')) - $out .= tpl_link(wl($ID,'do=index'), - $pre.(($inner)?$inner:$lang['btn_index']).$suf, - 'class="action index" accesskey="x" rel="nofollow"',1); + $more = 'class="action index" accesskey="x"'; break; case 'top': - $out .= '
'. + $build_link = false; + $out = ''. $pre.(($inner)?$inner:$lang['btn_top']).$suf.''; break; case 'back': if ($parent = tpl_getparent($ID)) { - $out .= tpl_link(wl($parent,''), - $pre.(($inner)?$inner:$lang['btn_back']).$suf, - 'class="action back" accesskey="b" rel="nofollow"',1); + $id = $parent; + $query = ''; + $more = 'class="action back" accesskey="b"'; } break; case 'login': if($conf['useacl'] && $auth){ + $query = array('sectok' => getSecurityToken()); if($_SERVER['REMOTE_USER']){ - $out .= tpl_link(wl($ID,'do=logout&sectok='.getSecurityToken()), - $pre.(($inner)?$inner:$lang['btn_logout']).$suf, - 'class="action logout" rel="nofollow"',1); + $type = 'logout'; + $more = 'class="action logout"'; }else{ - $out .= tpl_link(wl($ID,'do=login&sectok='.getSecurityToken()), - $pre.(($inner)?$inner:$lang['btn_login']).$suf, - 'class="action login" rel="nofollow"',1); + $more = 'class="action login"'; } } break; case 'admin': if($INFO['ismanager']){ - $out .= tpl_link(wl($ID,'do=admin'), - $pre.(($inner)?$inner:$lang['btn_admin']).$suf, - 'class="action admin" rel="nofollow"',1); + $more = 'class="action admin"'; } break; case 'revert': - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - $out .= tpl_link(wl($ID,array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())), - $pre.(($inner)?$inner:$lang['btn_revert']).$suf, - 'class="action revert" rel="nofollow"',1); + if($INFO['ismanager'] && $REV && $INFO['writable']) { + $query = array('rev' => $REV, 'sectok' => getSecurityToken()); + $more = 'class="action revert"'; } break; - case 'subscribe': case 'subscription': + $type = 'subscribe'; + case 'subscribe': if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']) { if($_SERVER['REMOTE_USER']){ - if(actionOK('subscribe')) - $out .= tpl_link(wl($ID,'do=subscribe'), - $pre.(($inner)?$inner:$lang['btn_subscribe']).$suf, - 'class="action subscribe" rel="nofollow"',1); + $more = 'class="action subscribe"'; } } break; case 'backlink': - if(actionOK('backlink')) - $out .= tpl_link(wl($ID,'do=backlink'), - $pre.(($inner)?$inner:$lang['btn_backlink']).$suf, - 'class="action backlink" rel="nofollow"',1); + $more = 'class="action backlink"'; break; case 'profile': if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && $auth->canDo('Profile') && ($ACT!='profile')){ - $out .= tpl_link(wl($ID,'do=profile'), - $pre.(($inner)?$inner:$lang['btn_profile']).$suf, - 'class="action profile" rel="nofollow"',1); + $more = 'class="action profile"'; } break; default: - $out .= '[unknown link type]'; + $build_link = false; + $out = '[unknown link type]'; break; } + if ($build_link) { + if (is_array($query) && !isset($query['do'])) { + $query['do'] = $type; + } + $out = tpl_link(wl($id, $query), + $pre.(($inner)?$inner:$lang['btn_' . $type]).$suf, + $more . ' rel="nofollow" title="' . hsc($lang['btn_' . $type]) . '"', 1); + } if ($return) return $out; print $out; return $out ? true : false; -- cgit v1.2.3 From 782807733e52295b535005074a62cee46640b0db Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 16 Jun 2010 10:01:44 +0200 Subject: Restore hiding of unavailable links --- inc/template.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/inc/template.php b/inc/template.php index 2ebc7a36d..6776d4a09 100644 --- a/inc/template.php +++ b/inc/template.php @@ -596,7 +596,6 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ $out = ''; $id = $ID; $query = array(); - $build_link = true; $more = ''; switch($type){ case 'edit': @@ -640,7 +639,6 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ $more = 'class="action index" accesskey="x"'; break; case 'top': - $build_link = false; $out = ''. $pre.(($inner)?$inner:$lang['btn_top']).$suf.''; break; @@ -692,11 +690,10 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ } break; default: - $build_link = false; $out = '[unknown link type]'; break; } - if ($build_link) { + if ($more !== '') { if (is_array($query) && !isset($query['do'])) { $query['do'] = $type; } -- cgit v1.2.3 From 80423ab626c72923f347e2196ce660957dcc216f Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 16 Jun 2010 14:41:59 +0200 Subject: Perform quick search in title as well --- inc/fulltext.php | 55 ++++++++++++++++++++++++++++--------------------------- inc/indexer.php | 2 ++ lib/exe/ajax.php | 27 ++++++++++++++------------- 3 files changed, 44 insertions(+), 40 deletions(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index 142862529..c4d8a7ea7 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -213,54 +213,55 @@ function ft_mediause($id,$max){ * Quicksearch for pagenames * * By default it only matches the pagename and ignores the - * namespace. This can be changed with the second parameter + * namespace. This can be changed with the second parameter. + * The third parameter allows to search in titles as well. + * If the function should search in titles as well, the return array + * has the ids as key and the titles as value. * * refactored into ft_pageLookup(), _ft_pageLookup() and trigger_event() * * @author Andreas Gohr */ -function ft_pageLookup($id,$pageonly=true){ - $data = array('id' => $id, 'pageonly' => $pageonly); - return trigger_event('SEARCH_QUERY_PAGELOOKUP',$data,'_ft_pageLookup'); +function ft_pageLookup($id, $not_in_ns=true, $not_in_title=true){ + $data = compact('id', 'not_in_ns', 'not_in_title'); + return trigger_event('SEARCH_QUERY_PAGELOOKUP', $data, '_ft_pageLookup'); } function _ft_pageLookup(&$data){ - // split out original parameterrs + // split out original parameters $id = $data['id']; - $pageonly = $data['pageonly']; + $in_ns = !$data['not_in_ns']; + $in_title = !$data['not_in_title']; global $conf; - $id = preg_quote($id,'/'); - $pages = file($conf['indexdir'].'/page.idx'); - if($id) $pages = array_values(preg_grep('/'.$id.'/',$pages)); - - $cnt = count($pages); - for($i=0; $i<$cnt; $i++){ - if($pageonly){ - if(!preg_match('/'.$id.'/',noNS($pages[$i]))){ - unset($pages[$i]); - continue; + $pages = array_map('rtrim', file($conf['indexdir'].'/page.idx')); + $titles = array_map('rtrim', file($conf['indexdir'].'/title.idx')); + $pages = array_combine($pages, $titles); + + if($id !== '' && cleanID($id) !== '') { + $cleaned = cleanID($id); + $matched_pages = array(); + foreach ($pages as $p_id => $p_title) { + if ((strpos($in_ns ? $p_id : noNS($p_id), $cleaned) !== false) || + ($in_title && stripos($p_title, $id) !== false)) { + $matched_pages[$p_id] = $p_title; } } - if(!page_exists($pages[$i])){ - unset($pages[$i]); - continue; - } + $pages = $matched_pages; } - $pages = array_filter($pages,'isVisiblePage'); // discard hidden pages - if(!count($pages)) return array(); - + // discard hidden pages + // discard nonexistent pages // check ACL permissions foreach(array_keys($pages) as $idx){ - if(auth_quickaclcheck(trim($pages[$idx])) < AUTH_READ){ + if(!isVisiblePage($idx) || !page_exists($idx) || + auth_quickaclcheck($idx) < AUTH_READ) { unset($pages[$idx]); } } - $pages = array_map('trim',$pages); - usort($pages,'ft_pagesorter'); - return $pages; + uasort($pages,'ft_pagesorter'); + return $in_title ? $pages : array_keys($pages); } /** diff --git a/inc/indexer.php b/inc/indexer.php index 54277a88c..01ba76b08 100644 --- a/inc/indexer.php +++ b/inc/indexer.php @@ -305,6 +305,8 @@ function idx_addPage($page){ } unset($page_idx); // free memory + idx_saveIndexLine('title', '', $pid, p_get_first_heading($page, false)); + $pagewords = array(); // get word usage in page $words = idx_getPageWords($page); diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index a402c236f..9c10ca548 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -50,27 +50,28 @@ function ajax_qsearch(){ global $conf; global $lang; - $query = cleanID($_POST['q']); - if(empty($query)) $query = cleanID($_GET['q']); + $query = $_POST['q']; + if(empty($query)) $query = $_GET['q']; if(empty($query)) return; - $data = array(); - $data = ft_pageLookup($query); + $data = ft_pageLookup($query, true, false); if(!count($data)) return; print ''.$lang['quickhits'].''; print '
    '; - foreach($data as $id){ - print '
  • '; - $ns = getNS($id); - if($ns){ - $name = shorten(noNS($id), ' ('.$ns.')',30); - }else{ - $name = $id; + foreach($data as $id => $title){ + if (useHeading('navigation')) { + $name = $title; + } else { + $ns = getNS($id); + if($ns){ + $name = shorten(noNS($id), ' ('.$ns.')',30); + }else{ + $name = $id; + } } - print html_wikilink(':'.$id,$name); - print '
  • '; + echo '
  • ' . html_wikilink(':'.$id,$name) . '
  • '; } print '
'; } -- cgit v1.2.3 From 5ca4a8a19425e432cff13aaef5eae897e153f320 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 16 Jun 2010 15:50:06 +0200 Subject: Find start pages if namespace matches --- inc/fulltext.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index c4d8a7ea7..a68770277 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -242,7 +242,7 @@ function _ft_pageLookup(&$data){ $cleaned = cleanID($id); $matched_pages = array(); foreach ($pages as $p_id => $p_title) { - if ((strpos($in_ns ? $p_id : noNS($p_id), $cleaned) !== false) || + if ((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) !== false) || ($in_title && stripos($p_title, $id) !== false)) { $matched_pages[$p_id] = $p_title; } -- cgit v1.2.3 From 159ef5962053a685e348239dfa0b3648ed516962 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 16 Jun 2010 16:09:06 +0200 Subject: Remove temp indexer upgrade stuff from 579b0f7e --- lib/exe/indexer.php | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 7e55915f4..1e6eb5685 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -134,18 +134,6 @@ function runIndexer(){ global $conf; print "runIndexer(): started".NL; - // Move index files (if needed) - // Uses the importoldindex plugin to upgrade the index automatically. - // FIXME: Remove this from runIndexer when it is no longer needed. - if (@file_exists($conf['cachedir'].'/page.idx') && - (!@file_exists($conf['indexdir'].'/page.idx') || - !filesize($conf['indexdir'].'/page.idx')) && - !@file_exists($conf['indexdir'].'/index_importing')) { - echo "trigger TEMPORARY_INDEX_UPGRADE_EVENT\n"; - $tmp = array(); // no event data - trigger_event('TEMPORARY_INDEX_UPGRADE_EVENT', $tmp); - } - if(!$ID) return false; // check if indexing needed -- cgit v1.2.3 From a0070b52bbd24f6972b819fa8ff4bdbfe81b5bbc Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 16 Jun 2010 16:15:28 +0200 Subject: Add title index to the indexer files, improve indexer calls --- bin/indexer.php | 1 + inc/fulltext.php | 5 ++--- inc/init.php | 3 ++- lib/exe/indexer.php | 2 +- lib/exe/xmlrpc.php | 26 ++++++++++++-------------- 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/bin/indexer.php b/bin/indexer.php index 55f3608d5..c95314d7c 100755 --- a/bin/indexer.php +++ b/bin/indexer.php @@ -152,6 +152,7 @@ function _clearindex(){ _lock(); _quietecho("Clearing index... "); io_saveFile($conf['indexdir'].'/page.idx',''); + io_saveFile($conf['indexdir'].'/title.idx',''); $dir = @opendir($conf['indexdir']); if($dir!==false){ while(($f = readdir($dir)) !== false){ diff --git a/inc/fulltext.php b/inc/fulltext.php index a68770277..b6aac5c91 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -233,9 +233,8 @@ function _ft_pageLookup(&$data){ $in_ns = !$data['not_in_ns']; $in_title = !$data['not_in_title']; - global $conf; - $pages = array_map('rtrim', file($conf['indexdir'].'/page.idx')); - $titles = array_map('rtrim', file($conf['indexdir'].'/title.idx')); + $pages = array_map('rtrim', idx_getIndex('page', '')); + $titles = array_map('rtrim', idx_getIndex('title', '')); $pages = array_combine($pages, $titles); if($id !== '' && cleanID($id) !== '') { diff --git a/inc/init.php b/inc/init.php index 3a9988fcf..20263f95a 100644 --- a/inc/init.php +++ b/inc/init.php @@ -304,7 +304,8 @@ function init_paths(){ function init_files(){ global $conf; - $files = array( $conf['indexdir'].'/page.idx'); + $files = array( $conf['indexdir'].'/page.idx', + $conf['indexdir'].'/title.idx'); foreach($files as $file){ if(!@file_exists($file)){ diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 1e6eb5685..75228779e 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -255,7 +255,7 @@ function runSitemapper(){ return false; } - $pages = file($conf['indexdir'].'/page.idx'); + $pages = idx_getIndex('page', ''); print 'runSitemapper(): creating sitemap using '.count($pages).' pages'.NL; // build the sitemap diff --git a/lib/exe/xmlrpc.php b/lib/exe/xmlrpc.php index 377003cf1..f06792361 100644 --- a/lib/exe/xmlrpc.php +++ b/lib/exe/xmlrpc.php @@ -354,24 +354,22 @@ class dokuwiki_xmlrpc_server extends IXR_IntrospectionServer { * List all pages - we use the indexer list here */ function listPages(){ - global $conf; - $list = array(); - $pages = file($conf['indexdir'] . '/page.idx'); - $pages = array_filter($pages, 'isVisiblePage'); + $pages = array_filter(array_filter(idx_getIndex('page', ''), + 'isVisiblePage'), + 'page_exists'); foreach(array_keys($pages) as $idx) { - if(page_exists($pages[$idx])) { - $perm = auth_quickaclcheck($pages[$idx]); - if($perm >= AUTH_READ) { - $page = array(); - $page['id'] = trim($pages[$idx]); - $page['perms'] = $perm; - $page['size'] = @filesize(wikiFN($pages[$idx])); - $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx]))); - $list[] = $page; - } + $perm = auth_quickaclcheck($pages[$idx]); + if($perm < AUTH_READ) { + continue; } + $page = array(); + $page['id'] = trim($pages[$idx]); + $page['perms'] = $perm; + $page['size'] = @filesize(wikiFN($pages[$idx])); + $page['lastModified'] = new IXR_Date(@filemtime(wikiFN($pages[$idx]))); + $list[] = $page; } return $list; -- cgit v1.2.3 From 44653a53fe7db9e1c14e4a1d1034cf63787139b3 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 17 Jun 2010 15:43:30 +0200 Subject: Allow URL params in internal links (FS#1967) --- inc/parser/xhtml.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 176411c75..0ee04e5a1 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -559,6 +559,18 @@ class Doku_Renderer_xhtml extends Doku_Renderer { function internallink($id, $name = NULL, $search=NULL,$returnonly=false,$linktype='content') { global $conf; global $ID; + + $params = array(); + + if (preg_match('/^([^?]*)\?([^?]+)$/', $id, $matches) !== false) { + $id = $matches[1]; + preg_match_all('/(?<=[&^])([^=]+)=([^=]*)(?:&|$)/', $matches[2], + $matches, PREG_SET_ORDER); + foreach($matches as &$param) { + $params[$param[1]] = $param[2]; + } + } + // default name is based on $id as given $default = $this->_simpleTitle($id); @@ -592,7 +604,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { } $link['more'] = ''; $link['class'] = $class; - $link['url'] = wl($id); + $link['url'] = wl($id, $params); $link['name'] = $name; $link['title'] = $id; //add search string -- cgit v1.2.3 From f46093a10c862c090052025b72d9e5b604f4f599 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 17 Jun 2010 16:39:24 +0200 Subject: Make normal wikilinks work again --- inc/parser/xhtml.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 0ee04e5a1..f9a33fef0 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -562,7 +562,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $params = array(); - if (preg_match('/^([^?]*)\?([^?]+)$/', $id, $matches) !== false) { + if (preg_match('/^([^?]*)\?([^?]+)$/', $id, $matches)) { $id = $matches[1]; preg_match_all('/(?<=[&^])([^=]+)=([^=]*)(?:&|$)/', $matches[2], $matches, PREG_SET_ORDER); -- cgit v1.2.3 From a453d131f080c5de706e8f1987384a74857bd94e Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 18 Jun 2010 21:16:26 +0200 Subject: Refactor action links and buttons Behavioural changes: * buttons * no 'do=show' but clean URLs (show and back buttons) * the alias 'subscription' for subscribe buttons is now available * links * draft link has class 'draft', not 'edit' * revisions link has class 'revs', not 'revisions' * both * 'revision' is added as an alias for 'history' These changes were mainly introduced to reduce the differences between links and buttons. --- inc/template.php | 306 ++++++++++++++++++++----------------------------------- 1 file changed, 113 insertions(+), 193 deletions(-) diff --git a/inc/template.php b/inc/template.php index 6776d4a09..034b1e6dc 100644 --- a/inc/template.php +++ b/inc/template.php @@ -439,271 +439,191 @@ function tpl_getparent($id){ /** * Print one of the buttons * - * Available Buttons are - * - * edit - edit/create/show/draft button - * history - old revisions - * recent - recent changes - * login - login/logout button - if ACL enabled - * profile - user profile button (if logged in) - * index - The index - * admin - admin page - if enough rights - * top - a back to top button - * back - a back to parent button - if available - * backlink - links to the list of backlinks - * subscription- subscribe/unsubscribe button - * - * @author Andreas Gohr - * @author Matthias Grimm + * @author Adrian Lang + * @see tpl_get_action */ function tpl_button($type,$return=false){ - global $ACT; - global $ID; - global $REV; - global $NS; - global $INFO; - global $conf; - global $auth; - - // check disabled actions and fix the badly named ones - $ctype = $type; - if($type == 'history') $ctype='revisions'; - if(!actionOK($ctype)) return false; - - $out = ''; - switch($type){ - case 'edit': - // most complicated type - we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])){ - $out .= html_btn('draft',$ID,'e',array('do' => 'draft'),'post'); - }else{ - if($INFO['exists']){ - $out .= html_btn('edit',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); - }else{ - $out .= html_btn('create',$ID,'e',array('do' => 'edit','rev' => $REV),'post'); - } - } - }else{ - if(!actionOK('source')) return false; //pseudo action - $out .= html_btn('source',$ID,'v',array('do' => 'edit','rev' => $REV),'post'); - } - }else{ - $out .= html_btn('show',$ID,'v',array('do' => 'show')); - } - break; - case 'history': - if(actionOK('revisions')) - $out .= html_btn('revs',$ID,'o',array('do' => 'revisions')); - break; - case 'recent': - if(actionOK('recent')) - $out .= html_btn('recent',$ID,'r',array('do' => 'recent')); - break; - case 'index': - if(actionOK('index')) - $out .= html_btn('index',$ID,'x',array('do' => 'index')); - break; - case 'back': - if ($parent = tpl_getparent($ID)) { - $out .= html_btn('back',$parent,'b',array('do' => 'show')); - } - break; - case 'top': - $out .= html_topbtn(); - break; - case 'login': - if($conf['useacl'] && $auth){ - if(isset($_SERVER['REMOTE_USER'])){ - $out .= html_btn('logout',$ID,'',array('do' => 'logout', 'sectok' => getSecurityToken())); - }else{ - $out .= html_btn('login',$ID,'',array('do' => 'login', 'sectok' => getSecurityToken())); - } - } - break; - case 'admin': - if($INFO['ismanager']){ - $out .= html_btn('admin',$ID,'',array('do' => 'admin')); - } - break; - case 'revert': - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - $out .= html_btn('revert',$ID,'',array('do' => 'revert', 'rev' => $REV, 'sectok' => getSecurityToken())); - } - break; - case 'subscribe': - if ($conf['useacl'] && $auth && $ACT == 'show' && - $conf['subscribers'] && isset($_SERVER['REMOTE_USER']) && - actionOK('subscribe')) { - $out .= html_btn('subscribe',$ID,'',array('do' => 'subscribe',)); - } - break; - case 'backlink': - if(actionOK('backlink')) - $out .= html_btn('backlink',$ID,'',array('do' => 'backlink')); - break; - case 'profile': - if($conf['useacl'] && isset($_SERVER['REMOTE_USER']) && $auth && - $auth->canDo('Profile') && ($ACT!='profile')){ - $out .= html_btn('profile',$ID,'',array('do' => 'profile')); - } - break; - default: - $out .= '[unknown button type]'; - break; + $data = tpl_get_action($type); + if ($data === false) { + return false; + } elseif (!is_array($data)) { + $out = sprintf($data, 'button'); + } else { + extract($data); + if ($id === '#dokuwiki__top') { + $out = html_topbtn(); + } else { + $out = html_btn($type, $id, $accesskey, $params, $method); + } } if ($return) return $out; - print $out; - return $out ? true : false; + echo $out; + return true; } /** * Like the action buttons but links * - * Available links are + * @author Adrian Lang + * @see tpl_get_action + */ +function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ + global $lang; + $data = tpl_get_action($type); + if ($data === false) { + return false; + } elseif (!is_array($data)) { + $out = sprintf($data, 'link'); + } else { + extract($data); + if (strpos($id, '#') === 0) { + $linktarget = $id; + } else { + $linktarget = wl($id, $params); + } + $caption = $lang['btn_' . $type]; + $out = tpl_link($linktarget, $pre.(($inner)?$inner:$caption).$suf, + 'class="action ' . $type . '" ' . + 'accesskey="' . $accesskey . '" rel="nofollow" ' . + 'title="' . hsc($caption) . '"', 1); + } + if ($return) return $out; + echo $out; + return true; +} + + /** + * Check the actions and get data for buttons and links + * + * Available actions are * - * edit - edit/create/show link - * history - old revisions - * recent - recent changes - * login - login/logout link - if ACL enabled - * profile - user profile link (if logged in) - * index - The index - * admin - admin page - if enough rights - * top - a back to top link - * back - a back to parent link - if available - * backlink - links to the list of backlinks - * subscribe/subscription - subscribe/unsubscribe link + * edit - edit/create/show/draft + * history - old revisions + * recent - recent changes + * login - login/logout - if ACL enabled + * profile - user profile (if logged in) + * index - The index + * admin - admin page - if enough rights + * top - back to top + * back - back to parent - if available + * backlink - links to the list of backlinks + * subscribe/subscription- subscribe/unsubscribe * * @author Andreas Gohr * @author Matthias Grimm - * @see tpl_button + * @author Adrian Lang */ -function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ +function tpl_get_action($type) { global $ID; global $INFO; global $REV; global $ACT; global $conf; - global $lang; global $auth; // check disabled actions and fix the badly named ones - $ctype = $type; - if($type == 'history') $ctype='revisions'; - if(!actionOK($ctype)) return false; + if($type == 'history') $type='revisions'; + if(!actionOK($type)) return false; - $out = ''; - $id = $ID; - $query = array(); - $more = ''; + $accesskey = null; + $id = $ID; + $method = 'get'; + $params = array('do' => $type); switch($type){ case 'edit': // most complicated type - we need to decide on current action if($ACT == 'show' || $ACT == 'search'){ + $method = 'post'; if($INFO['writable']){ - $more = 'class="action edit" accesskey="e"'; + $accesskey = 'e'; if(!empty($INFO['draft'])) { $type = 'draft'; + $params['do'] = 'draft'; } else { - $query = array('do' => 'edit', 'rev' => $REV); - if($INFO['exists']){ - $type = 'edit'; - }else{ - $more = 'class="action create" accesskey="e"'; - $type = 'create'; + $params['rev'] = $REV; + if(!$INFO['exists']){ + $type = 'create'; } } }else{ - if(actionOK('source')) { //pseudo action - $query = array('do' => 'edit', 'rev' => $REV); - $type = 'source'; - $more = 'class="action source" accesskey="v"'; - } + if(!actionOK('source')) return false; //pseudo action + $params['rev'] = $REV; + $type = 'source'; + $accesskey = 'v'; } }else{ - $query = ''; + $params = ''; $type = 'show'; - $more = 'class="action show" accesskey="v"'; + $accesskey = 'v'; } break; - case 'history': - $query = array('do' => 'revisions'); + case 'revisions': $type = 'revs'; - $more = 'class="action revisions" accesskey="o"'; + $accesskey = 'o'; break; case 'recent': - $more = 'class="action recent" accesskey="r"'; + $accesskey = 'r'; break; case 'index': - $more = 'class="action index" accesskey="x"'; + $accesskey = 'x'; break; case 'top': - $out = ''. - $pre.(($inner)?$inner:$lang['btn_top']).$suf.''; + $accesskey = 'x'; + $params = ''; + $id = '#dokuwiki__top'; break; case 'back': - if ($parent = tpl_getparent($ID)) { - $id = $parent; - $query = ''; - $more = 'class="action back" accesskey="b"'; + $parent = tpl_getparent($ID); + if (!$parent) { + return false; } + $id = $parent; + $params = ''; + $accesskey = 'b'; break; case 'login': - if($conf['useacl'] && $auth){ - $query = array('sectok' => getSecurityToken()); - if($_SERVER['REMOTE_USER']){ - $type = 'logout'; - $more = 'class="action logout"'; - }else{ - $more = 'class="action login"'; - } + if(!$conf['useacl'] || !$auth){ + return false; + } + $params['sectok'] = getSecurityToken(); + if($_SERVER['REMOTE_USER']){ + $params['do'] = 'logout'; + $type = 'logout'; } break; case 'admin': - if($INFO['ismanager']){ - $more = 'class="action admin"'; + if(!$INFO['ismanager']){ + return false; } break; case 'revert': - if($INFO['ismanager'] && $REV && $INFO['writable']) { - $query = array('rev' => $REV, 'sectok' => getSecurityToken()); - $more = 'class="action revert"'; + if(!$INFO['ismanager'] || !$REV || !$INFO['writable']) { + return false; } + $params['rev'] = $REV; + $params['sectok'] = getSecurityToken(); break; case 'subscription': $type = 'subscribe'; + $params['do'] = 'subscribe'; case 'subscribe': - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']) { - if($_SERVER['REMOTE_USER']){ - $more = 'class="action subscribe"'; - } + if(!$conf['useacl'] || !$auth || $ACT !== 'show' || !$conf['subscribers'] || !$_SERVER['REMOTE_USER']){ + return false; } break; case 'backlink': - $more = 'class="action backlink"'; break; case 'profile': - if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && - $auth->canDo('Profile') && ($ACT!='profile')){ - $more = 'class="action profile"'; + if(!$conf['useacl'] || !$auth || !isset($_SERVER['REMOTE_USER']) || + !$auth->canDo('Profile') || ($ACT=='profile')){ + return false; } break; default: - $out = '[unknown link type]'; + return '[unknown %s type]'; break; } - if ($more !== '') { - if (is_array($query) && !isset($query['do'])) { - $query['do'] = $type; - } - $out = tpl_link(wl($id, $query), - $pre.(($inner)?$inner:$lang['btn_' . $type]).$suf, - $more . ' rel="nofollow" title="' . hsc($lang['btn_' . $type]) . '"', 1); - } - if ($return) return $out; - print $out; - return $out ? true : false; + return compact('accesskey', 'type', 'id', 'method', 'params'); } /** -- cgit v1.2.3 From 147c74da31acb22ac7dd026bdfe9f01b6ea3fe86 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 18 Jun 2010 23:36:57 +0200 Subject: Do not output trailing whitespace in conf/local.php --- lib/plugins/config/settings/config.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 2a1d3a28f..ea5a9be21 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -182,8 +182,8 @@ if (!class_exists('configuration')) { if ($this->_format == 'php') { $out .= '<'.'?php'."\n". "/*\n". - " * ".$header." \n". - " * Auto-generated by ".$id." plugin \n". + " * ".$header."\n". + " * Auto-generated by ".$id." plugin\n". " * Run for user: ".$_SERVER['REMOTE_USER']."\n". " * Date: ".date('r')."\n". " */\n\n"; -- cgit v1.2.3 From 1720a8e9a67df95c104eb02146c98a3d9da1f84b Mon Sep 17 00:00:00 2001 From: CosmoCode GmbH Date: Mon, 21 Jun 2010 03:02:44 -0700 Subject: inc/utf8.php license clarified for Debian project --- inc/utf8.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/inc/utf8.php b/inc/utf8.php index c10e33ffa..a3046d88c 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -2,7 +2,7 @@ /** * UTF8 helper functions * - * @license LGPL (http://www.gnu.org/copyleft/lesser.html) + * @license LGPL 2.1 (http://www.gnu.org/copyleft/lesser.html) * @author Andreas Gohr */ @@ -931,11 +931,11 @@ if(!UTF8_MBSTRING){ "z"=>"Z","y"=>"Y","x"=>"X","w"=>"W","v"=>"V","u"=>"U","t"=>"T","s"=>"S","r"=>"R","q"=>"Q", "p"=>"P","o"=>"O","n"=>"N","m"=>"M","l"=>"L","k"=>"K","j"=>"J","i"=>"I","h"=>"H","g"=>"G", "f"=>"F","e"=>"E","d"=>"D","c"=>"C","b"=>"B","a"=>"A","ῳ"=>"ῼ","ῥ"=>"Ῥ","ῡ"=>"Ῡ","ῑ"=>"Ῑ", - "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", + "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", "ᾣ"=>"ᾫ","ᾢ"=>"ᾪ","ᾡ"=>"ᾩ","ᾗ"=>"ᾟ","ᾖ"=>"ᾞ","ᾕ"=>"ᾝ","ᾔ"=>"ᾜ","ᾓ"=>"ᾛ","ᾒ"=>"ᾚ","ᾑ"=>"ᾙ", - "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", - "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", - "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", + "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", + "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", + "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", "ὗ"=>"Ὗ","ὕ"=>"Ὕ","ὓ"=>"Ὓ","ὑ"=>"Ὑ","ὅ"=>"Ὅ","ὄ"=>"Ὄ","ὃ"=>"Ὃ","ὂ"=>"Ὂ","ὁ"=>"Ὁ","ὀ"=>"Ὀ", "ἷ"=>"Ἷ","ἶ"=>"Ἶ","ἵ"=>"Ἵ","ἴ"=>"Ἴ","ἳ"=>"Ἳ","ἲ"=>"Ἲ","ἱ"=>"Ἱ","ἰ"=>"Ἰ","ἧ"=>"Ἧ","ἦ"=>"Ἦ", "ἥ"=>"Ἥ","ἤ"=>"Ἤ","ἣ"=>"Ἣ","ἢ"=>"Ἢ","ἡ"=>"Ἡ","ἕ"=>"Ἕ","ἔ"=>"Ἔ","ἓ"=>"Ἓ","ἒ"=>"Ἒ","ἑ"=>"Ἑ", @@ -1010,11 +1010,11 @@ if(!UTF8_MBSTRING){ "Z"=>"z","Y"=>"y","X"=>"x","W"=>"w","V"=>"v","U"=>"u","T"=>"t","S"=>"s","R"=>"r","Q"=>"q", "P"=>"p","O"=>"o","N"=>"n","M"=>"m","L"=>"l","K"=>"k","J"=>"j","I"=>"i","H"=>"h","G"=>"g", "F"=>"f","E"=>"e","D"=>"d","C"=>"c","B"=>"b","A"=>"a","ῼ"=>"ῳ","Ῥ"=>"ῥ","Ῡ"=>"ῡ","Ῑ"=>"ῑ", - "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", + "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", "ᾫ"=>"ᾣ","ᾪ"=>"ᾢ","ᾩ"=>"ᾡ","ᾟ"=>"ᾗ","ᾞ"=>"ᾖ","ᾝ"=>"ᾕ","ᾜ"=>"ᾔ","ᾛ"=>"ᾓ","ᾚ"=>"ᾒ","ᾙ"=>"ᾑ", - "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", - "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", - "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", + "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", + "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", + "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", "Ὗ"=>"ὗ","Ὕ"=>"ὕ","Ὓ"=>"ὓ","Ὑ"=>"ὑ","Ὅ"=>"ὅ","Ὄ"=>"ὄ","Ὃ"=>"ὃ","Ὂ"=>"ὂ","Ὁ"=>"ὁ","Ὀ"=>"ὀ", "Ἷ"=>"ἷ","Ἶ"=>"ἶ","Ἵ"=>"ἵ","Ἴ"=>"ἴ","Ἳ"=>"ἳ","Ἲ"=>"ἲ","Ἱ"=>"ἱ","Ἰ"=>"ἰ","Ἧ"=>"ἧ","Ἦ"=>"ἦ", "Ἥ"=>"ἥ","Ἤ"=>"ἤ","Ἣ"=>"ἣ","Ἢ"=>"ἢ","Ἡ"=>"ἡ","Ἕ"=>"ἕ","Ἔ"=>"ἔ","Ἓ"=>"ἓ","Ἒ"=>"ἒ","Ἑ"=>"ἑ", @@ -1220,11 +1220,11 @@ global $UTF8_SPECIAL_CHARS2; if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 = "\x1A".' !"#$%&\'()+,/;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•�'. '�—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½�'. - '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. + '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. '�ׁׂ׃׳״،؛؟ـًٌٍَُِّْ٪฿‌‍‎‏–—―‗‘’‚“”�'. - '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. + '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. '⇐⇑⇒⇓⇔∀∂∃∅∆∇∈∉∋∏∑−∕∗∙√∝∞∠∧∨�'. - '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. + '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. '��┌┐└┘├┤┬┴┼═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠'. '╡╢╣╤╥╦╧╨╩╪╫╬▀▄█▌▐░▒▓■▲▼◆◊●�'. '�★☎☛☞♠♣♥♦✁✂✃✄✆✇✈✉✌✍✎✏✐✑✒✓✔✕�'. -- cgit v1.2.3 From 85b77bbdcc5ba8cd54f0aec27adacd092242e236 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 21 Jun 2010 12:04:55 +0200 Subject: Revert "inc/utf8.php license clarified for Debian project" This was an edit through the github interface which changed more than intented. This reverts commit 1720a8e9a67df95c104eb02146c98a3d9da1f84b. --- inc/utf8.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/inc/utf8.php b/inc/utf8.php index a3046d88c..c10e33ffa 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -2,7 +2,7 @@ /** * UTF8 helper functions * - * @license LGPL 2.1 (http://www.gnu.org/copyleft/lesser.html) + * @license LGPL (http://www.gnu.org/copyleft/lesser.html) * @author Andreas Gohr */ @@ -931,11 +931,11 @@ if(!UTF8_MBSTRING){ "z"=>"Z","y"=>"Y","x"=>"X","w"=>"W","v"=>"V","u"=>"U","t"=>"T","s"=>"S","r"=>"R","q"=>"Q", "p"=>"P","o"=>"O","n"=>"N","m"=>"M","l"=>"L","k"=>"K","j"=>"J","i"=>"I","h"=>"H","g"=>"G", "f"=>"F","e"=>"E","d"=>"D","c"=>"C","b"=>"B","a"=>"A","ῳ"=>"ῼ","ῥ"=>"Ῥ","ῡ"=>"Ῡ","ῑ"=>"Ῑ", - "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", + "ῐ"=>"Ῐ","ῃ"=>"ῌ","ι"=>"Ι","ᾳ"=>"ᾼ","ᾱ"=>"Ᾱ","ᾰ"=>"Ᾰ","ᾧ"=>"ᾯ","ᾦ"=>"ᾮ","ᾥ"=>"ᾭ","ᾤ"=>"ᾬ", "ᾣ"=>"ᾫ","ᾢ"=>"ᾪ","ᾡ"=>"ᾩ","ᾗ"=>"ᾟ","ᾖ"=>"ᾞ","ᾕ"=>"ᾝ","ᾔ"=>"ᾜ","ᾓ"=>"ᾛ","ᾒ"=>"ᾚ","ᾑ"=>"ᾙ", - "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", - "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", - "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", + "ᾐ"=>"ᾘ","ᾇ"=>"ᾏ","ᾆ"=>"ᾎ","ᾅ"=>"ᾍ","ᾄ"=>"ᾌ","ᾃ"=>"ᾋ","ᾂ"=>"ᾊ","ᾁ"=>"ᾉ","ᾀ"=>"ᾈ","ώ"=>"Ώ", + "ὼ"=>"Ὼ","ύ"=>"Ύ","ὺ"=>"Ὺ","ό"=>"Ό","ὸ"=>"Ὸ","ί"=>"Ί","ὶ"=>"Ὶ","ή"=>"Ή","ὴ"=>"Ὴ","έ"=>"Έ", + "ὲ"=>"Ὲ","ά"=>"Ά","ὰ"=>"Ὰ","ὧ"=>"Ὧ","ὦ"=>"Ὦ","ὥ"=>"Ὥ","ὤ"=>"Ὤ","ὣ"=>"Ὣ","ὢ"=>"Ὢ","ὡ"=>"Ὡ", "ὗ"=>"Ὗ","ὕ"=>"Ὕ","ὓ"=>"Ὓ","ὑ"=>"Ὑ","ὅ"=>"Ὅ","ὄ"=>"Ὄ","ὃ"=>"Ὃ","ὂ"=>"Ὂ","ὁ"=>"Ὁ","ὀ"=>"Ὀ", "ἷ"=>"Ἷ","ἶ"=>"Ἶ","ἵ"=>"Ἵ","ἴ"=>"Ἴ","ἳ"=>"Ἳ","ἲ"=>"Ἲ","ἱ"=>"Ἱ","ἰ"=>"Ἰ","ἧ"=>"Ἧ","ἦ"=>"Ἦ", "ἥ"=>"Ἥ","ἤ"=>"Ἤ","ἣ"=>"Ἣ","ἢ"=>"Ἢ","ἡ"=>"Ἡ","ἕ"=>"Ἕ","ἔ"=>"Ἔ","ἓ"=>"Ἓ","ἒ"=>"Ἒ","ἑ"=>"Ἑ", @@ -1010,11 +1010,11 @@ if(!UTF8_MBSTRING){ "Z"=>"z","Y"=>"y","X"=>"x","W"=>"w","V"=>"v","U"=>"u","T"=>"t","S"=>"s","R"=>"r","Q"=>"q", "P"=>"p","O"=>"o","N"=>"n","M"=>"m","L"=>"l","K"=>"k","J"=>"j","I"=>"i","H"=>"h","G"=>"g", "F"=>"f","E"=>"e","D"=>"d","C"=>"c","B"=>"b","A"=>"a","ῼ"=>"ῳ","Ῥ"=>"ῥ","Ῡ"=>"ῡ","Ῑ"=>"ῑ", - "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", + "Ῐ"=>"ῐ","ῌ"=>"ῃ","Ι"=>"ι","ᾼ"=>"ᾳ","Ᾱ"=>"ᾱ","Ᾰ"=>"ᾰ","ᾯ"=>"ᾧ","ᾮ"=>"ᾦ","ᾭ"=>"ᾥ","ᾬ"=>"ᾤ", "ᾫ"=>"ᾣ","ᾪ"=>"ᾢ","ᾩ"=>"ᾡ","ᾟ"=>"ᾗ","ᾞ"=>"ᾖ","ᾝ"=>"ᾕ","ᾜ"=>"ᾔ","ᾛ"=>"ᾓ","ᾚ"=>"ᾒ","ᾙ"=>"ᾑ", - "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", - "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", - "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", + "ᾘ"=>"ᾐ","ᾏ"=>"ᾇ","ᾎ"=>"ᾆ","ᾍ"=>"ᾅ","ᾌ"=>"ᾄ","ᾋ"=>"ᾃ","ᾊ"=>"ᾂ","ᾉ"=>"ᾁ","ᾈ"=>"ᾀ","Ώ"=>"ώ", + "Ὼ"=>"ὼ","Ύ"=>"ύ","Ὺ"=>"ὺ","Ό"=>"ό","Ὸ"=>"ὸ","Ί"=>"ί","Ὶ"=>"ὶ","Ή"=>"ή","Ὴ"=>"ὴ","Έ"=>"έ", + "Ὲ"=>"ὲ","Ά"=>"ά","Ὰ"=>"ὰ","Ὧ"=>"ὧ","Ὦ"=>"ὦ","Ὥ"=>"ὥ","Ὤ"=>"ὤ","Ὣ"=>"ὣ","Ὢ"=>"ὢ","Ὡ"=>"ὡ", "Ὗ"=>"ὗ","Ὕ"=>"ὕ","Ὓ"=>"ὓ","Ὑ"=>"ὑ","Ὅ"=>"ὅ","Ὄ"=>"ὄ","Ὃ"=>"ὃ","Ὂ"=>"ὂ","Ὁ"=>"ὁ","Ὀ"=>"ὀ", "Ἷ"=>"ἷ","Ἶ"=>"ἶ","Ἵ"=>"ἵ","Ἴ"=>"ἴ","Ἳ"=>"ἳ","Ἲ"=>"ἲ","Ἱ"=>"ἱ","Ἰ"=>"ἰ","Ἧ"=>"ἧ","Ἦ"=>"ἦ", "Ἥ"=>"ἥ","Ἤ"=>"ἤ","Ἣ"=>"ἣ","Ἢ"=>"ἢ","Ἡ"=>"ἡ","Ἕ"=>"ἕ","Ἔ"=>"ἔ","Ἓ"=>"ἓ","Ἒ"=>"ἒ","Ἑ"=>"ἑ", @@ -1220,11 +1220,11 @@ global $UTF8_SPECIAL_CHARS2; if(empty($UTF8_SPECIAL_CHARS2)) $UTF8_SPECIAL_CHARS2 = "\x1A".' !"#$%&\'()+,/;<=>?@[\]^`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•�'. '�—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½�'. - '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. + '�¿×÷ˇ˘˙˚˛˜˝̣̀́̃̉΄΅·ϖְֱֲֳִֵֶַָֹֻּֽ־ֿ�'. '�ׁׂ׃׳״،؛؟ـًٌٍَُِّْ٪฿‌‍‎‏–—―‗‘’‚“”�'. - '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. + '��†‡•…‰′″‹›⁄₧₪₫€№℘™Ωℵ←↑→↓↔↕↵'. '⇐⇑⇒⇓⇔∀∂∃∅∆∇∈∉∋∏∑−∕∗∙√∝∞∠∧∨�'. - '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. + '�∪∫∴∼≅≈≠≡≤≥⊂⊃⊄⊆⊇⊕⊗⊥⋅⌐⌠⌡〈〉⑩─�'. '��┌┐└┘├┤┬┴┼═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠'. '╡╢╣╤╥╦╧╨╩╪╫╬▀▄█▌▐░▒▓■▲▼◆◊●�'. '�★☎☛☞♠♣♥♦✁✂✃✄✆✇✈✉✌✍✎✏✐✑✒✓✔✕�'. -- cgit v1.2.3 From 1f2058fa0fb5e63118b0551d80e27344e3e4f582 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 21 Jun 2010 12:06:11 +0200 Subject: Clariefied license (clean version) --- inc/utf8.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/utf8.php b/inc/utf8.php index c10e33ffa..47e7ed61f 100644 --- a/inc/utf8.php +++ b/inc/utf8.php @@ -2,7 +2,7 @@ /** * UTF8 helper functions * - * @license LGPL (http://www.gnu.org/copyleft/lesser.html) + * @license LGPL 2.1 (http://www.gnu.org/copyleft/lesser.html) * @author Andreas Gohr */ -- cgit v1.2.3 From 2bd7407465fc660d5b853f71be1012905d8c896b Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 22 Jun 2010 13:16:37 +0200 Subject: License change for inc/JpegMeta.php Original author Sebastian Delmont agreed to rerelease the code under BSD license to avoid license compatibility problems. Other authors (me and Hakan Sandell) agreed as well. --- inc/JpegMeta.php | 50 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/inc/JpegMeta.php b/inc/JpegMeta.php index b06764320..98453131e 100644 --- a/inc/JpegMeta.php +++ b/inc/JpegMeta.php @@ -2,32 +2,42 @@ /** * JPEG metadata reader/writer * - * @license PHP license 2.0 (http://www.php.net/license/2_02.txt) - * @link http://www.zonageek.com/software/php/jpeg/index.php + * @license BSD + * @link http://github.com/sd/jpeg-php * @author Sebastian Delmont * @author Andreas Gohr - * @author Hakan Sandell + * @author Hakan Sandell * @todo Add support for Maker Notes, Extend for GIF and PNG metadata */ -// This class is a modified and enhanced version of the JPEG class by -// Sebastian Delmont. Original Copyright notice follows: +// Original copyright notice: // -// +----------------------------------------------------------------------+ -// | PHP version 4.0 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.0 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Sebastian Delmont | -// +----------------------------------------------------------------------+ +// Copyright (c) 2003 Sebastian Delmont +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. Neither the name of the author nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE class JpegMeta { var $_fileName; -- cgit v1.2.3 From 2380e8a8af37991018a772ad4a619c6f5c683629 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 22 Jun 2010 16:11:31 +0200 Subject: Hide logout button if auth backend cannot logout --- inc/template.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/inc/template.php b/inc/template.php index 034b1e6dc..15d186a49 100644 --- a/inc/template.php +++ b/inc/template.php @@ -586,7 +586,10 @@ function tpl_get_action($type) { return false; } $params['sectok'] = getSecurityToken(); - if($_SERVER['REMOTE_USER']){ + if(isset($_SERVER['REMOTE_USER'])){ + if (!$auth->canDo('logoff')) { + return false; + } $params['do'] = 'logout'; $type = 'logout'; } -- cgit v1.2.3 From 880f62faf63b666adcc1d6aec6a8ead3edb18f59 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 22 Jun 2010 18:51:00 +0200 Subject: new auth capability 'logout' This patch implements what Adrian's patch "Hide logout button if auth backend cannot logout" intended to do. The 'logoff' capability was used to decide if a special method called $auth->logOff() should be called when the user logs out, not if the backend supports logouts at all. This was a superflous capability since an empty logOff() method is implemented in the base class anyway - it doesn't hurt to always call the method. The 'logoff' capability is now deprecated. Backends who want to do actions on logout simply need to overwrite logOff(). A new capability 'logout' was added which defaults to true. Backends that can't logoff the user (eg. because they use some automatic login/logoff mechanism) can set this to false. Probably makes sense to add a 'login' capability as well... --- inc/auth.php | 4 +--- inc/auth/basic.class.php | 2 +- inc/template.php | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/inc/auth.php b/inc/auth.php index 564eb0285..70514316c 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -320,9 +320,7 @@ function auth_logoff($keepbc=false){ setcookie(DOKU_COOKIE,'',time()-600000,DOKU_REL,'',($conf['securecookie'] && is_ssl())); } - if($auth && $auth->canDo('logoff')){ - $auth->logOff(); - } + if($auth) $auth->logOff(); } /** diff --git a/inc/auth/basic.class.php b/inc/auth/basic.class.php index c08422488..fa38970ae 100644 --- a/inc/auth/basic.class.php +++ b/inc/auth/basic.class.php @@ -30,7 +30,7 @@ class auth_basic { 'getUserCount'=> false, // can the number of users be retrieved? 'getGroups' => false, // can a list of available groups be retrieved? 'external' => false, // does the module do external auth checking? - 'logoff' => false, // has the module some special logoff method? + 'logout' => true, // can the user logout again? (eg. not possible with HTTP auth) ); diff --git a/inc/template.php b/inc/template.php index 15d186a49..20bb969ee 100644 --- a/inc/template.php +++ b/inc/template.php @@ -587,7 +587,7 @@ function tpl_get_action($type) { } $params['sectok'] = getSecurityToken(); if(isset($_SERVER['REMOTE_USER'])){ - if (!$auth->canDo('logoff')) { + if (!$auth->canDo('logout')) { return false; } $params['do'] = 'logout'; -- cgit v1.2.3 From fa61423c0443cfa720938bd4ed01184c05678e97 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Tue, 22 Jun 2010 18:59:27 +0200 Subject: temporary disable hotkey JS for FS#1958 --- lib/exe/js.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/exe/js.php b/lib/exe/js.php index f2f9dfe6b..669afb96c 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -114,7 +114,7 @@ function js_out(){ js_runonstart('scrollToMarker()'); js_runonstart('focusMarker()'); // init hotkeys - must have been done after init of toolbar - js_runonstart('initializeHotkeys()'); +#FIXME disabled for FS#1958 js_runonstart('initializeHotkeys()'); // end output buffering and get contents $js = ob_get_contents(); -- cgit v1.2.3 From e53f9e72a48912e662dde20d7dceca74a022dcdf Mon Sep 17 00:00:00 2001 From: Marijn Hofstra Date: Tue, 22 Jun 2010 19:02:33 +0200 Subject: Dutch language update --- inc/lang/nl/lang.php | 69 +++++++++++++++++++++++--------- inc/lang/nl/subscr_digest.txt | 15 +++++++ inc/lang/nl/subscr_form.txt | 3 ++ inc/lang/nl/subscr_list.txt | 12 ++++++ inc/lang/nl/subscr_single.txt | 18 +++++++++ lib/plugins/acl/lang/nl/lang.php | 1 + lib/plugins/config/lang/nl/lang.php | 4 ++ lib/plugins/plugin/lang/nl/lang.php | 1 + lib/plugins/popularity/lang/nl/lang.php | 1 + lib/plugins/revert/lang/nl/lang.php | 1 + lib/plugins/usermanager/lang/nl/lang.php | 1 + 11 files changed, 108 insertions(+), 18 deletions(-) create mode 100644 inc/lang/nl/subscr_digest.txt create mode 100644 inc/lang/nl/subscr_form.txt create mode 100644 inc/lang/nl/subscr_list.txt create mode 100644 inc/lang/nl/subscr_single.txt diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 75d4aaa35..8bba8765d 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -13,6 +13,7 @@ * @author Danny Rotsaert * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be + * @author Marijn Hofstra */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -46,9 +47,6 @@ $lang['btn_back'] = 'Terug'; $lang['btn_backlink'] = 'Referenties'; $lang['btn_backtomedia'] = 'Terug naar Bestandsselectie'; $lang['btn_subscribe'] = 'Inschrijven wijzigingen'; -$lang['btn_unsubscribe'] = 'Opzeggen wijzigingen'; -$lang['btn_subscribens'] = 'Inschrijven namespace-wijzigingen'; -$lang['btn_unsubscribens'] = 'Opzeggen namespace-wijzigingen'; $lang['btn_profile'] = 'Profiel aanpassen'; $lang['btn_reset'] = 'Wissen'; $lang['btn_resendpwd'] = 'Stuur een nieuw wachtwoord'; @@ -102,7 +100,38 @@ $lang['txt_overwrt'] = 'Overschrijf bestaand bestand'; $lang['lockedby'] = 'Momenteel in gebruik door'; $lang['lockexpire'] = 'Exclusief gebruiksrecht vervalt op'; $lang['willexpire'] = 'Je exclusieve gebruiksrecht voor het aanpassen van deze pagina verloopt over een minuut.\nKlik op de Voorbeeld-knop om het exclusieve gebruiksrecht te verlengen.'; -$lang['js']['notsavedyet'] = "Nog niet bewaarde wijzigingen zullen verloren gaan.\nWeet je zeker dat je wilt doorgaan?"; +$lang['js']['notsavedyet'] = 'Nog niet bewaarde wijzigingen zullen verloren gaan. +Weet je zeker dat je wilt doorgaan?'; +$lang['js']['searchmedia'] = 'Zoek naar bestanden'; +$lang['js']['keepopen'] = 'Houd scherm open bij selectie'; +$lang['js']['hidedetails'] = 'Verberg details'; +$lang['js']['mediatitle'] = 'Linkinstellingen'; +$lang['js']['mediadisplay'] = 'Linktype'; +$lang['js']['mediaalign'] = 'Uitlijning'; +$lang['js']['mediasize'] = 'Afbeeldingsomvang'; +$lang['js']['mediatarget'] = 'Linkdoel'; +$lang['js']['mediaclose'] = 'Sluiten'; +$lang['js']['mediainsert'] = 'Invoegen'; +$lang['js']['mediadisplayimg'] = 'De afbeelding weergeven'; +$lang['js']['mediadisplaylnk'] = 'Alleen de link weergeven'; +$lang['js']['mediasmall'] = 'Kleine versie'; +$lang['js']['mediamedium'] = 'Middelgrote versie'; +$lang['js']['medialarge'] = 'Grote versie'; +$lang['js']['mediaoriginal'] = 'Originele versie'; +$lang['js']['medialnk'] = 'Link naar detailpagina'; +$lang['js']['mediadirect'] = 'Directe link naar origineel'; +$lang['js']['medianolnk'] = 'Geen link'; +$lang['js']['medianolink'] = 'Link niet naar de afbeelding'; +$lang['js']['medialeft'] = 'Afbeelding links uitlijnen'; +$lang['js']['mediaright'] = 'Afbeelding rechts uitlijnen'; +$lang['js']['mediacenter'] = 'Afbeelding centreren'; +$lang['js']['medianoalign'] = 'Geen uitlijning gebruiken'; +$lang['js']['nosmblinks'] = 'Linken naar Windows shares werkt alleen in Microsoft Internet Explorer. +Je kan de link wel kopiëren en plakken.'; +$lang['js']['linkwiz'] = 'Linkwizard'; +$lang['js']['linkto'] = 'Link naar:'; +$lang['js']['del_confirm'] = 'Item(s) verwijderen?'; +$lang['js']['mu_btn'] = 'Meerdere files tegelijk uploaden'; $lang['rssfailed'] = 'Er is een fout opgetreden bij het ophalen van de feed: '; $lang['nothingfound'] = 'Er werd niets gevonden.'; $lang['mediaselect'] = 'Bestandsselectie'; @@ -120,15 +149,6 @@ $lang['deletefail'] = '"%s" kan niet worden verwijderd - controleer p $lang['mediainuse'] = 'Het bestand "%s" is niet verwijderd - het is nog in gebruik.'; $lang['namespaces'] = 'Namespaces'; $lang['mediafiles'] = 'Beschikbare bestanden in'; -$lang['js']['searchmedia'] = 'Zoek naar bestanden'; -$lang['js']['keepopen'] = 'Houd scherm open bij selectie'; -$lang['js']['hidedetails'] = 'Verberg details'; -$lang['js']['nosmblinks'] = 'Linken naar Windows shares werkt alleen in Microsoft Internet Explorer. -Je kan de link wel kopiëren en plakken.'; -$lang['js']['linkwiz'] = 'Linkwizard'; -$lang['js']['linkto'] = 'Link naar:'; -$lang['js']['del_confirm'] = 'Item(s) verwijderen?'; -$lang['js']['mu_btn'] = 'Meerdere files tegelijk uploaden'; $lang['mediausage'] = 'Gebruik de volgende syntax om aan het bestand te refereren:'; $lang['mediaview'] = 'Bekijk het orginele bestand'; $lang['mediaroot'] = 'root'; @@ -158,6 +178,7 @@ $lang['noflash'] = 'De * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be + * @author Marijn Hofstra */ $lang['menu'] = 'Plugins beheren'; $lang['download'] = 'Download en installeer een nieuwe plugin'; diff --git a/lib/plugins/popularity/lang/nl/lang.php b/lib/plugins/popularity/lang/nl/lang.php index 1490ecef7..0a22203d1 100644 --- a/lib/plugins/popularity/lang/nl/lang.php +++ b/lib/plugins/popularity/lang/nl/lang.php @@ -8,6 +8,7 @@ * @author Danny Rotsaert * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be + * @author Marijn Hofstra */ $lang['name'] = 'Populariteitsfeedback (kan even duren om in te laden)'; $lang['submit'] = 'Verstuur'; diff --git a/lib/plugins/revert/lang/nl/lang.php b/lib/plugins/revert/lang/nl/lang.php index 3b5c4e0fe..3cd4bbc2f 100644 --- a/lib/plugins/revert/lang/nl/lang.php +++ b/lib/plugins/revert/lang/nl/lang.php @@ -9,6 +9,7 @@ * @author Danny Rotsaert * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be + * @author Marijn Hofstra */ $lang['menu'] = 'Herstelmanager'; $lang['filter'] = 'Zoek naar bekladde pagina\'s'; diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index d4f0eaad9..76a4844ca 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -9,6 +9,7 @@ * @author Danny Rotsaert * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be + * @author Marijn Hofstra */ $lang['menu'] = 'Gebruikersmanager'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; -- cgit v1.2.3 From def4baf24186bf30d4ba5ea726fb7c8391d8b43f Mon Sep 17 00:00:00 2001 From: Samuel Dorsaz Date: Tue, 22 Jun 2010 19:03:25 +0200 Subject: French language update --- inc/lang/fr/lang.php | 39 +++++++++++++++++--------------- lib/plugins/acl/lang/fr/lang.php | 1 + lib/plugins/config/lang/fr/lang.php | 3 +++ lib/plugins/plugin/lang/fr/lang.php | 1 + lib/plugins/popularity/lang/fr/lang.php | 1 + lib/plugins/revert/lang/fr/lang.php | 1 + lib/plugins/usermanager/lang/fr/lang.php | 1 + 7 files changed, 29 insertions(+), 18 deletions(-) diff --git a/inc/lang/fr/lang.php b/inc/lang/fr/lang.php index 6afc59756..0d5694263 100644 --- a/inc/lang/fr/lang.php +++ b/inc/lang/fr/lang.php @@ -20,6 +20,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -106,24 +107,8 @@ $lang['txt_overwrt'] = 'Écraser le fichier cible'; $lang['lockedby'] = 'Actuellement bloqué par'; $lang['lockexpire'] = 'Le blocage expire à'; $lang['willexpire'] = 'Votre blocage pour modifier cette page expire dans une minute.\nPour éviter les conflits, utiliser le bouton « Aperçu » pour réinitialiser le minuteur.'; -$lang['js']['notsavedyet'] = "Les modifications non enregistrées seront perdues.\nVoulez-vous vraiment continuer ?"; -$lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : '; -$lang['nothingfound'] = 'Pas de réponse.'; -$lang['mediaselect'] = 'Sélection de fichier'; -$lang['fileupload'] = 'Envoi de fichier'; -$lang['uploadsucc'] = 'Téléversement réussi'; -$lang['uploadfail'] = 'Le téléversement n\'a pas réussi. Les permissions sont-elles correctes ?'; -$lang['uploadwrong'] = 'Téléversement refusé. Cette extension de fichier est interdite !'; -$lang['uploadexist'] = 'Le fichier existe. Téléversement avorté.'; -$lang['uploadbadcontent'] = 'Le contenu envoyé ne correspond pas à l\'extension du fichier %s.'; -$lang['uploadspam'] = 'Le téléversement a été bloqué par la liste noire antispam.'; -$lang['uploadxss'] = 'Le téléversement a été bloqué car son contenu est peut-être malveillant.'; -$lang['uploadsize'] = 'Le fichier téléversé était trop gros. (max. %s)'; -$lang['deletesucc'] = 'Le fichier « %s » a été effacé.'; -$lang['deletefail'] = 'Le fichier « %s » n\'a pu être effacé, vérifier les permissions.'; -$lang['mediainuse'] = 'Le fichier « %s » n\'a pas été effacé, il est en cours d\'utilisation.'; -$lang['namespaces'] = 'Catégories'; -$lang['mediafiles'] = 'Fichiers disponibles dans'; +$lang['js']['notsavedyet'] = 'Les modifications non enregistrées seront perdues. +Voulez-vous vraiment continuer ?'; $lang['js']['searchmedia'] = 'Chercher des fichiers'; $lang['js']['keepopen'] = 'Gardez la fenêtre ouverte pendant la sélection'; $lang['js']['hidedetails'] = 'Masquer détails'; @@ -154,6 +139,23 @@ $lang['js']['linkwiz'] = 'Assistant Lien'; $lang['js']['linkto'] = 'Lien vers :'; $lang['js']['del_confirm'] = 'Effacer cette entrée ?'; $lang['js']['mu_btn'] = 'Envoyer plusieurs fichiers en même temps'; +$lang['rssfailed'] = 'Une erreur s\'est produite en récupérant ce flux : '; +$lang['nothingfound'] = 'Pas de réponse.'; +$lang['mediaselect'] = 'Sélection de fichier'; +$lang['fileupload'] = 'Envoi de fichier'; +$lang['uploadsucc'] = 'Téléversement réussi'; +$lang['uploadfail'] = 'Le téléversement n\'a pas réussi. Les permissions sont-elles correctes ?'; +$lang['uploadwrong'] = 'Téléversement refusé. Cette extension de fichier est interdite !'; +$lang['uploadexist'] = 'Le fichier existe. Téléversement avorté.'; +$lang['uploadbadcontent'] = 'Le contenu envoyé ne correspond pas à l\'extension du fichier %s.'; +$lang['uploadspam'] = 'Le téléversement a été bloqué par la liste noire antispam.'; +$lang['uploadxss'] = 'Le téléversement a été bloqué car son contenu est peut-être malveillant.'; +$lang['uploadsize'] = 'Le fichier téléversé était trop gros. (max. %s)'; +$lang['deletesucc'] = 'Le fichier « %s » a été effacé.'; +$lang['deletefail'] = 'Le fichier « %s » n\'a pu être effacé, vérifier les permissions.'; +$lang['mediainuse'] = 'Le fichier « %s » n\'a pas été effacé, il est en cours d\'utilisation.'; +$lang['namespaces'] = 'Catégories'; +$lang['mediafiles'] = 'Fichiers disponibles dans'; $lang['mediausage'] = 'Utilisez la syntaxe suivante pour faire référence à ce fichier :'; $lang['mediaview'] = 'Afficher le fichier original'; $lang['mediaroot'] = 'racine'; @@ -288,3 +290,4 @@ $lang['days'] = 'il y a %d jours'; $lang['hours'] = 'il y a %d heures'; $lang['minutes'] = 'il y a %d minutes'; $lang['seconds'] = 'il y a %d secondes'; +$lang['wordblock'] = 'Vos modifications n\'ont pas été sauvegardées parce qu\'elles contiennent des textes non autorisé (spam).'; diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index 64d918360..63e529aab 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -19,6 +19,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; $lang['acl_group'] = 'Groupe'; diff --git a/lib/plugins/config/lang/fr/lang.php b/lib/plugins/config/lang/fr/lang.php index 09e625eb1..df220ea9e 100644 --- a/lib/plugins/config/lang/fr/lang.php +++ b/lib/plugins/config/lang/fr/lang.php @@ -14,6 +14,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['menu'] = 'Paramètres de configuration'; $lang['error'] = 'Paramètres non modifiés en raison d\'une valeur non valide, vérifiez vos réglages et réessayez.
Les valeurs erronées sont entourées d\'une bordure rouge.'; @@ -101,6 +102,7 @@ $lang['useslash'] = 'Utiliser « / » comme séparateur de catég $lang['usedraft'] = 'Enregistrer automatiquement un brouillon pendant l\'édition'; $lang['sepchar'] = 'Séparateur de mots dans les noms de page'; $lang['canonical'] = 'Utiliser des URL canoniques'; +$lang['fnencode'] = 'Méhtode pou r l\'encodage des fichiers non-ASCII'; $lang['autoplural'] = 'Rechercher les formes plurielles dans les liens'; $lang['compression'] = 'Méthode de compression pour les fichiers dans attic'; $lang['cachetime'] = 'Âge maximum d\'un fichier en cache (en secondes)'; @@ -189,3 +191,4 @@ $lang['useheading_o_0'] = 'Jamais'; $lang['useheading_o_navigation'] = 'Navigation seulement'; $lang['useheading_o_content'] = 'Contenu du wiki seulement'; $lang['useheading_o_1'] = 'Toujours'; +$lang['readdircache'] = 'Durée de vie maximale du cache pour readdir (sec)'; diff --git a/lib/plugins/plugin/lang/fr/lang.php b/lib/plugins/plugin/lang/fr/lang.php index 4e4bca214..79080f5f3 100644 --- a/lib/plugins/plugin/lang/fr/lang.php +++ b/lib/plugins/plugin/lang/fr/lang.php @@ -14,6 +14,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['menu'] = 'Gestion des modules externes'; $lang['download'] = 'Télécharger et installer un nouveau module'; diff --git a/lib/plugins/popularity/lang/fr/lang.php b/lib/plugins/popularity/lang/fr/lang.php index 45cc7b593..5ddd074a7 100644 --- a/lib/plugins/popularity/lang/fr/lang.php +++ b/lib/plugins/popularity/lang/fr/lang.php @@ -11,6 +11,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['name'] = 'Enquête de popularité (peut nécessiter un certain temps pour être chargé)'; $lang['submit'] = 'Envoyer les données'; diff --git a/lib/plugins/revert/lang/fr/lang.php b/lib/plugins/revert/lang/fr/lang.php index 982b44f5a..d80ece209 100644 --- a/lib/plugins/revert/lang/fr/lang.php +++ b/lib/plugins/revert/lang/fr/lang.php @@ -12,6 +12,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['menu'] = 'Gestionnaire de réversions'; $lang['filter'] = 'Trouver les pages spammées '; diff --git a/lib/plugins/usermanager/lang/fr/lang.php b/lib/plugins/usermanager/lang/fr/lang.php index 6ae537618..92bc127ed 100644 --- a/lib/plugins/usermanager/lang/fr/lang.php +++ b/lib/plugins/usermanager/lang/fr/lang.php @@ -13,6 +13,7 @@ * @author Vincent Feltz * @author Philippe Bajoit * @author Florian Gaub + * @author Samuel Dorsaz samuel.dorsaz@novelion.net */ $lang['menu'] = 'Gestion des utilisateurs'; $lang['noauth'] = '(authentification utilisateur non disponible)'; -- cgit v1.2.3 From 3d5e07d9f0f7f71f91cd97f4a7484f4da8a1841a Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 23 Jun 2010 10:08:28 +0200 Subject: Do not parse URL params in internal links, just pass them through --- inc/parser/xhtml.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index f9a33fef0..c8862eece 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -560,15 +560,11 @@ class Doku_Renderer_xhtml extends Doku_Renderer { global $conf; global $ID; - $params = array(); - - if (preg_match('/^([^?]*)\?([^?]+)$/', $id, $matches)) { - $id = $matches[1]; - preg_match_all('/(?<=[&^])([^=]+)=([^=]*)(?:&|$)/', $matches[2], - $matches, PREG_SET_ORDER); - foreach($matches as &$param) { - $params[$param[1]] = $param[2]; - } + $params = ''; + $parts = explode('?', $id, 2); + if (count($parts) === 2) { + $id = $parts[0]; + $params = $parts[1]; } // default name is based on $id as given -- cgit v1.2.3 From be6541cce13f8d09639459b791dbd5b20c54dbc7 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 23 Jun 2010 11:05:51 +0200 Subject: basic_auth is loaded by inc/auth.php --- inc/auth/mysql.class.php | 3 --- inc/auth/pgsql.class.php | 3 +-- inc/auth/plain.class.php | 3 --- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/inc/auth/mysql.class.php b/inc/auth/mysql.class.php index b1c6a3a52..ca607ced5 100644 --- a/inc/auth/mysql.class.php +++ b/inc/auth/mysql.class.php @@ -8,9 +8,6 @@ * @author Matthias Grimm */ -define('DOKU_AUTH', dirname(__FILE__)); -require_once(DOKU_AUTH.'/basic.class.php'); - class auth_mysql extends auth_basic { var $dbcon = 0; diff --git a/inc/auth/pgsql.class.php b/inc/auth/pgsql.class.php index a6da56af5..8e68e865e 100644 --- a/inc/auth/pgsql.class.php +++ b/inc/auth/pgsql.class.php @@ -11,8 +11,7 @@ * @author Matthias Grimm */ -define('DOKU_AUTH', dirname(__FILE__)); -require_once(DOKU_AUTH.'/mysql.class.php'); +require_once(DOKU_INC.'inc/auth/mysql.class.php'); class auth_pgsql extends auth_mysql { diff --git a/inc/auth/plain.class.php b/inc/auth/plain.class.php index 96649e3c4..af4fadb36 100644 --- a/inc/auth/plain.class.php +++ b/inc/auth/plain.class.php @@ -7,9 +7,6 @@ * @author Chris Smith */ -define('DOKU_AUTH', dirname(__FILE__)); -require_once(DOKU_AUTH.'/basic.class.php'); - define('AUTH_USERFILE',DOKU_CONF.'users.auth.php'); class auth_plain extends auth_basic { -- cgit v1.2.3 From b0f6db0c1350beb85dcff044dc2770f404a1b540 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Wed, 23 Jun 2010 14:24:11 +0200 Subject: Support namespace selection in quicksearch --- inc/fulltext.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index b6aac5c91..950e7f7d3 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -229,7 +229,13 @@ function ft_pageLookup($id, $not_in_ns=true, $not_in_title=true){ function _ft_pageLookup(&$data){ // split out original parameters + $id = $data['id']; + if (preg_match('/(?:^| )@(\w+)/', $id, $matches)) { + $ns = cleanID($matches[1]) . ':'; + $id = str_replace($matches[0], '', $id); + } + $in_ns = !$data['not_in_ns']; $in_title = !$data['not_in_title']; @@ -241,8 +247,9 @@ function _ft_pageLookup(&$data){ $cleaned = cleanID($id); $matched_pages = array(); foreach ($pages as $p_id => $p_title) { - if ((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) !== false) || - ($in_title && stripos($p_title, $id) !== false)) { + if (((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) !== false) || + ($in_title && stripos($p_title, $id) !== false)) && + (!isset($ns) || strpos($p_id, $ns) === 0)) { $matched_pages[$p_id] = $p_title; } } -- cgit v1.2.3 From 69266de50f71b3d43011378cf0b0e8b8185c3609 Mon Sep 17 00:00:00 2001 From: Dominik Eckelmann Date: Thu, 24 Jun 2010 14:26:15 +0200 Subject: fixed handling of MSG msg() now stores always the message to the MSG array until headers are sent. After this, a call of msg will print out all messages from the MSG array immediately through html_msgarea. This prevents double posting and losses of messages from the MSG array. --- inc/infoutils.php | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/inc/infoutils.php b/inc/infoutils.php index 32baa9450..096662d24 100644 --- a/inc/infoutils.php +++ b/inc/infoutils.php @@ -265,17 +265,15 @@ function msg($message,$lvl=0,$line='',$file=''){ if($line || $file) $message.=' ['.basename($file).':'.$line.']'; - if(!headers_sent()){ - if(!isset($MSG)) $MSG = array(); - $MSG[]=array('lvl' => $errors[$lvl], 'msg' => $message); - }else{ - $MSG = array(); - $MSG[]=array('lvl' => $errors[$lvl], 'msg' => $message); + if(!isset($MSG)) $MSG = array(); + $MSG[]=array('lvl' => $errors[$lvl], 'msg' => $message); + if(headers_sent()){ if(function_exists('html_msgarea')){ html_msgarea(); }else{ print "ERROR($lvl) $message"; } + unset($GLOBALS['MSG']); } } -- cgit v1.2.3 From 80601d26897c5dced80645aaf904085aa08b7bb9 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 11:20:25 +0200 Subject: fixed wildcard handling in ACL manager FS#1955 This patch also removes legacy support for @USER@. Only %USER% is valid now. --- inc/auth.php | 4 +++- lib/plugins/acl/admin.php | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/inc/auth.php b/inc/auth.php index 70514316c..6a4108a7c 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -107,7 +107,6 @@ function auth_setup(){ //support user wildcard if(isset($_SERVER['REMOTE_USER'])){ $AUTH_ACL = str_replace('%USER%',$_SERVER['REMOTE_USER'],$AUTH_ACL); - $AUTH_ACL = str_replace('@USER@',$_SERVER['REMOTE_USER'],$AUTH_ACL); //legacy } } } @@ -569,6 +568,9 @@ function auth_nameencode($name,$skip_group=false){ $cache =& $cache_authname; $name = (string) $name; + // never encode wildcard FS#1955 + if($name == '%USER%') return $name; + if (!isset($cache[$name][$skip_group])) { if($skip_group && $name{0} =='@'){ $cache[$name][$skip_group] = '@'.preg_replace('/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])/e', diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index 1f666660c..673ffbc96 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -96,7 +96,10 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { if($_REQUEST['acl_t'] == '__g__' && $who){ $this->who = '@'.ltrim($auth->cleanGroup($who),'@'); }elseif($_REQUEST['acl_t'] == '__u__' && $who){ - $this->who = ltrim($auth->cleanUser($who),'@'); + $this->who = ltrim($who,'@'); + if($this->who != '%USER%'){ #keep wildcard as is + $this->who = $auth->cleanUser($this->who); + } }elseif($_REQUEST['acl_t'] && $_REQUEST['acl_t'] != '__u__' && $_REQUEST['acl_t'] != '__g__'){ @@ -150,7 +153,7 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { if ($who!='@ALL') { $who = '@'.ltrim($auth->cleanGroup($who),'@'); } - } else { + } elseif ($who != '%USER%'){ #keep wildcard as is $who = $auth->cleanUser($who); } $who = auth_nameencode($who,true); -- cgit v1.2.3 From 345b1674b60537d4a68bce48f7cc106b771051c7 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 12:11:13 +0200 Subject: create title.idx with the correct length FS#1978 The title.idx file needs to have exactly the same length as the page.idx. This patch creates the file with the correct length if it doesn't exist yet. If you upgrade in between you need to delete your data/index/title.idx file --- inc/init.php | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/inc/init.php b/inc/init.php index 20263f95a..9a3eaf9c9 100644 --- a/inc/init.php +++ b/inc/init.php @@ -304,8 +304,7 @@ function init_paths(){ function init_files(){ global $conf; - $files = array( $conf['indexdir'].'/page.idx', - $conf['indexdir'].'/title.idx'); + $files = array($conf['indexdir'].'/page.idx'); foreach($files as $file){ if(!@file_exists($file)){ @@ -318,6 +317,22 @@ function init_files(){ } } } + + # create title index (needs to have same length as page.idx) + $file = $conf['indexdir'].'/title.idx'; + if(!@file_exists($file)){ + $pages = file($conf['indexdir'].'/page.idx'); + $pages = count($pages); + $fh = @fopen($file,'a'); + if($fh){ + for($i=0; $i<$pages; $i++){ + fwrite($fh,"\n"); + } + fclose($fh); + }else{ + nice_die("$file is not writable. Check your permissions settings!"); + } + } } /** -- cgit v1.2.3 From 681a59b23795166231cfebc0da4d0d219d528795 Mon Sep 17 00:00:00 2001 From: Gina Haeussge Date: Sat, 26 Jun 2010 13:28:21 +0200 Subject: FS#1884: respect $conf['showuseras'] in feeds --- feed.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/feed.php b/feed.php index 73227e055..50786dd3a 100644 --- a/feed.php +++ b/feed.php @@ -253,7 +253,18 @@ function rss_buildItems(&$rss,&$data,$opt){ $item->author = ''; if($user && $conf['useacl'] && $auth){ $userInfo = $auth->getUserData($user); - $item->author = $userInfo['name']; + if ($userInfo){ + switch ($conf['showuseras']){ + case 'username': + $item->author = $userInfo['name']; + break; + default: + $item->author = $user; + break; + } + } else { + $item->author = $user; + } if($userInfo && !$opt['guardmail']){ $item->authorEmail = $userInfo['mail']; }else{ -- cgit v1.2.3 From 8d22f1e96be5aa2c65ecb6ee934debbfe0f8f4cc Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 13:38:10 +0200 Subject: Changes to the ft_pageLookup and related event FS#1978 This patch changes the ft_pageLookup function to always return the title of pages with the result. This makes it easier to work with the array, as it no longer changes between numeric and key indexes depending on useheading. This also means that action plugins subscribed to SEARCH_QUERY_PAGELOOKUP need to be adjusted. The event contains a new data field called 'has_titles' which plugins can use to check for backwards compatibility. --- inc/fulltext.php | 18 +++++++++--------- inc/html.php | 16 ++++++++++------ lib/exe/ajax.php | 20 +++++++++++--------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index 950e7f7d3..1c9981812 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -215,29 +215,29 @@ function ft_mediause($id,$max){ * By default it only matches the pagename and ignores the * namespace. This can be changed with the second parameter. * The third parameter allows to search in titles as well. - * If the function should search in titles as well, the return array - * has the ids as key and the titles as value. * - * refactored into ft_pageLookup(), _ft_pageLookup() and trigger_event() + * The function always returns titles as well * + * @triggers SEARCH_QUERY_PAGELOOKUP * @author Andreas Gohr + * @author Adrian Lang */ -function ft_pageLookup($id, $not_in_ns=true, $not_in_title=true){ - $data = compact('id', 'not_in_ns', 'not_in_title'); +function ft_pageLookup($id, $in_ns=false, $in_title=false){ + $data = compact('id', 'in_ns', 'in_title'); + $data['has_titles'] = true; // for plugin backward compatibility check return trigger_event('SEARCH_QUERY_PAGELOOKUP', $data, '_ft_pageLookup'); } function _ft_pageLookup(&$data){ // split out original parameters - $id = $data['id']; if (preg_match('/(?:^| )@(\w+)/', $id, $matches)) { $ns = cleanID($matches[1]) . ':'; $id = str_replace($matches[0], '', $id); } - $in_ns = !$data['not_in_ns']; - $in_title = !$data['not_in_title']; + $in_ns = $data['in_ns']; + $in_title = $data['in_title']; $pages = array_map('rtrim', idx_getIndex('page', '')); $titles = array_map('rtrim', idx_getIndex('title', '')); @@ -267,7 +267,7 @@ function _ft_pageLookup(&$data){ } uasort($pages,'ft_pagesorter'); - return $in_title ? $pages : array_keys($pages); + return $pages; } /** diff --git a/inc/html.php b/inc/html.php index 01823449e..7e842e052 100644 --- a/inc/html.php +++ b/inc/html.php @@ -336,18 +336,22 @@ function html_search(){ //do quick pagesearch $data = array(); - if($id) $data = ft_pageLookup($id); + if($id) $data = ft_pageLookup($id,true,useHeading('navigation')); if(count($data)){ print '
'; print '

'.$lang['quickhits'].':

'; print '
    '; - foreach($data as $id){ + foreach($data as $id => $title){ print '
  • '; - $ns = getNS($id); - if($ns){ - $name = shorten(noNS($id), ' ('.$ns.')',30); + if (useHeading('navigation')) { + $name = $title; }else{ - $name = $id; + $ns = getNS($id); + if($ns){ + $name = shorten(noNS($id), ' ('.$ns.')',30); + }else{ + $name = $id; + } } print html_wikilink(':'.$id,$name); print '
  • '; diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 9c10ca548..8b03bb07c 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -54,7 +54,7 @@ function ajax_qsearch(){ if(empty($query)) $query = $_GET['q']; if(empty($query)) return; - $data = ft_pageLookup($query, true, false); + $data = ft_pageLookup($query, true, useHeading('navigation')); if(!count($data)) return; @@ -93,6 +93,7 @@ function ajax_suggestions() { $data = array(); $data = ft_pageLookup($query); if(!count($data)) return; + $data = array_keys($data); // limit results to 15 hits $data = array_slice($data, 0, 15); @@ -252,26 +253,27 @@ function ajax_linkwiz(){ // use index to lookup matching pages $pages = array(); - $pages = ft_pageLookup($id,false); + $pages = ft_pageLookup($id,true); // result contains matches in pages and namespaces // we now extract the matching namespaces to show // them seperately $dirs = array(); - $count = count($pages); - for($i=0; $i<$count; $i++){ - if(strpos(noNS($pages[$i]),$id) === false){ + + + foreach($pages as $pid => $title){ + if(strpos(noNS($pid),$id) === false){ // match was in the namespace - $dirs[getNS($pages[$i])] = 1; // assoc array avoids dupes + $dirs[getNS($pid)] = 1; // assoc array avoids dupes }else{ // it is a matching page, add it to the result $data[] = array( - 'id' => $pages[$i], - 'title' => p_get_first_heading($pages[$i],false), + 'id' => $pid, + 'title' => $title, 'type' => 'f', ); } - unset($pages[$i]); + unset($pages[$pid]); } foreach($dirs as $dir => $junk){ $data[] = array( -- cgit v1.2.3 From 7e1f9fd36044e5c651c71348897a3a3dc103d15a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 13:54:29 +0200 Subject: Hotkey trigger is now CTRL-ALT FS#1958 Tests and feedbacks please! --- lib/exe/js.php | 2 +- lib/scripts/hotkeys.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/exe/js.php b/lib/exe/js.php index 669afb96c..f2f9dfe6b 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -114,7 +114,7 @@ function js_out(){ js_runonstart('scrollToMarker()'); js_runonstart('focusMarker()'); // init hotkeys - must have been done after init of toolbar -#FIXME disabled for FS#1958 js_runonstart('initializeHotkeys()'); + js_runonstart('initializeHotkeys()'); // end output buffering and get contents $js = ob_get_contents(); diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js index 2b696e78d..2b6fb6d96 100644 --- a/lib/scripts/hotkeys.js +++ b/lib/scripts/hotkeys.js @@ -18,7 +18,7 @@ function Hotkeys() { * this.modifier = 'alt'; * this.modifier = 'alt+shift'; */ - this.modifier = 'alt'; + this.modifier = 'ctrl+alt'; /** * Initialization -- cgit v1.2.3 From b038bf62450c4c0aceb9f2cf7d4e24335d6e7bdf Mon Sep 17 00:00:00 2001 From: Gina Haeussge Date: Sat, 26 Jun 2010 14:11:35 +0200 Subject: FS#1874: removed padding for interwiki links in print stylesheet, as the icons aren't displayed there --- lib/tpl/default/print.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/tpl/default/print.css b/lib/tpl/default/print.css index 46a419b35..60c172585 100644 --- a/lib/tpl/default/print.css +++ b/lib/tpl/default/print.css @@ -21,6 +21,10 @@ a { background: none !important; } +a.interwiki { + padding-left: 0px !important; +} + div.meta { clear: both; -- cgit v1.2.3 From c10dcb7d61c1cabd12c41124630070c388cafbc7 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 14:16:50 +0200 Subject: Workaround for IE& redirect to hash bug FS#1647 This needs testing. We need feedback from someone where this is reproducible broken before applying this patch. --- inc/common.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/inc/common.php b/inc/common.php index 25d743e0b..1db362f08 100644 --- a/inc/common.php +++ b/inc/common.php @@ -1475,6 +1475,17 @@ function send_redirect($url){ // always close the session session_write_close(); + // work around IE bug + // http://www.ianhoar.com/2008/11/16/internet-explorer-6-and-redirected-anchor-links/ + list($url,$hash) = explode('#',$url); + if($hash){ + if(strpos($url,'?')){ + $url = $url.'&#'.$hash; + }else{ + $url = $url.'?&#'.$hash; + } + } + // check if running on IIS < 6 with CGI-PHP if( isset($_SERVER['SERVER_SOFTWARE']) && isset($_SERVER['GATEWAY_INTERFACE']) && (strpos($_SERVER['GATEWAY_INTERFACE'],'CGI') !== false) && -- cgit v1.2.3 From f338aa804b93f9b32cb861ab64827eae545f6725 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 14:49:18 +0200 Subject: Let config manager post to script FS#1942 --- lib/plugins/config/admin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/config/admin.php b/lib/plugins/config/admin.php index 7cc2918f4..49712b73f 100644 --- a/lib/plugins/config/admin.php +++ b/lib/plugins/config/admin.php @@ -109,7 +109,7 @@ class admin_plugin_config extends DokuWiki_Admin_Plugin { elseif ($this->_changed) ptln('
    '.$this->getLang('updated').'
    '); - ptln(''); + ptln(''); formSecurityToken(); $this->_print_h1('dokuwiki_settings', $this->getLang('_header_dokuwiki')); -- cgit v1.2.3 From 2b2693ccbd870382d9b02623a4bffa6849cf70d4 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 26 Jun 2010 13:57:50 +0100 Subject: fix for textarea bug in IE8 (FS#1910) --- lib/tpl/default/design.css | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css index fdc41e55b..07ea6b55e 100644 --- a/lib/tpl/default/design.css +++ b/lib/tpl/default/design.css @@ -91,7 +91,10 @@ div.dokuwiki textarea.edit { background-color: __background__; border: 1px solid __border__; padding: 0.3em 0 0 0.3em; - width: 100%; + /* should just be "width: 100%", but IE8 doesn't like it, see FS#1910 + FS#1667 */ + width: 700px; + min-width: 100%; + max-width: 100%; } /* nice alphatransparency background except for IE <7 */ -- cgit v1.2.3 From 9fa341d04ad03c9f8328d3c4a836f8191a5f2f7a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 15:11:37 +0200 Subject: check for user in act_subscription FS#1935 --- inc/actions.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inc/actions.php b/inc/actions.php index b447b65e1..5141f1941 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -596,6 +596,9 @@ function act_subscription($act){ global $INFO; global $ID; + // subcriptions work for logged in users only + if(!$_SERVER['REMOTE_USER']) return 'show'; + // get and preprocess data. $params = array(); foreach(array('target', 'style', 'action') as $param) { -- cgit v1.2.3 From d43aac1c8c239fb7f4ca8d0cb9bf03dc1d6cd958 Mon Sep 17 00:00:00 2001 From: Gina Haeussge Date: Sat, 26 Jun 2010 15:58:14 +0200 Subject: FS#1915: strip one leading and one trailing newline from code content if available --- inc/parser/xhtml.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index c8862eece..c5a8b8218 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -442,6 +442,13 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $this->doc .= '
    '.DOKU_LF.'
    '; } + if ($text{0} == "\n") { + $text = substr($text, 1); + } + if (substr($text, -1) == "\n") { + $text = substr($text, 0, -1); + } + if ( is_null($language) ) { $this->doc .= '
    '.$this->_xmlEntities($text).'
    '.DOKU_LF; } else { -- cgit v1.2.3 From 0636144287f7acf89c633d3d2f5214e1d229e033 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 26 Jun 2010 15:59:59 +0200 Subject: Added license chooser to installer FS#1926 This adds a license chooser to the installer. The installer defaults to the more free CC-BY-SA. CC-NC-BY-SA is still the default in dokuwiki.php to keep backwards compatibility. The license array was reordered and Non-Derivative licenses removed (they don't make much sense for wiki content). --- conf/license.php | 40 ++++++++++++++++------------------------ inc/lang/en/lang.php | 1 + install.php | 24 +++++++++++++++++++++++- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/conf/license.php b/conf/license.php index b97cb3cfd..89728ab57 100644 --- a/conf/license.php +++ b/conf/license.php @@ -5,30 +5,6 @@ * license.local.php instead. */ -$license['cc-by'] = array( - 'name' => 'CC Attribution 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by/3.0/', -); -$license['cc-by-nc'] = array( - 'name' => 'CC Attribution-Noncommercial 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nc/3.0/', -); -$license['cc-by-nc-nd'] = array( - 'name' => 'CC Attribution-Noncommercial-No Derivative Works 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nc-nd/3.0/', -); -$license['cc-by-nc-sa'] = array( - 'name' => 'CC Attribution-Noncommercial-Share Alike 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/', -); -$license['cc-by-nd'] = array( - 'name' => 'CC Attribution-No Derivative Works 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-nd/3.0/', -); -$license['cc-by-sa'] = array( - 'name' => 'CC Attribution-Share Alike 3.0 Unported', - 'url' => 'http://creativecommons.org/licenses/by-sa/3.0/', -); $license['cc-zero'] = array( 'name' => 'CC0 1.0 Universal', 'url' => 'http://creativecommons.org/publicdomain/zero/1.0/', @@ -37,8 +13,24 @@ $license['publicdomain'] = array( 'name' => 'Public Domain', 'url' => 'http://creativecommons.org/licenses/publicdomain/', ); +$license['cc-by'] = array( + 'name' => 'CC Attribution 3.0 Unported', + 'url' => 'http://creativecommons.org/licenses/by/3.0/', +); +$license['cc-by-sa'] = array( + 'name' => 'CC Attribution-Share Alike 3.0 Unported', + 'url' => 'http://creativecommons.org/licenses/by-sa/3.0/', +); $license['gnufdl'] = array( 'name' => 'GNU Free Documentation License 1.3', 'url' => 'http://www.gnu.org/licenses/fdl-1.3.html', ); +$license['cc-by-nc'] = array( + 'name' => 'CC Attribution-Noncommercial 3.0 Unported', + 'url' => 'http://creativecommons.org/licenses/by-nc/3.0/', +); +$license['cc-by-nc-sa'] = array( + 'name' => 'CC Attribution-Noncommercial-Share Alike 3.0 Unported', + 'url' => 'http://creativecommons.org/licenses/by-nc-sa/3.0/', +); diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php index 4a96e373e..0dd6fd548 100644 --- a/inc/lang/en/lang.php +++ b/inc/lang/en/lang.php @@ -282,6 +282,7 @@ $lang['i_pol1'] = 'Public Wiki (read for everyone, write and upload for re $lang['i_pol2'] = 'Closed Wiki (read, write, upload for registered users only)'; $lang['i_retry'] = 'Retry'; +$lang['i_license'] = 'Please choose the license you want to put your content under:'; $lang['mu_intro'] = 'Here you can upload multiple files at once. Click the browse button to add them to the queue. Press upload when done.'; $lang['js']['mu_btn'] = 'Upload multiple files at once'; diff --git a/install.php b/install.php index a9edbd445..1ec822fd9 100644 --- a/install.php +++ b/install.php @@ -45,7 +45,8 @@ $dokuwiki_hash = array( '2007-06-26' => 'b3ca19c7a654823144119980be73cd77', '2008-05-04' => '1e5c42eac3219d9e21927c39e3240aad', '2009-02-14' => 'ec8c04210732a14fdfce0f7f6eead865', - '2009-12-25' => '993c4b2b385643efe5abf8e7010e11f4', + '2009-12-25' => '993c4b2b385643efe5abf8e7010e11f4', + 'devel' => 'f065247541c4041e5f103b41b393fcb3' ); @@ -68,6 +69,7 @@ header('Content-Type: text/html; charset=utf-8'); fieldset { border: none } label { display: block; margin-top: 0.5em; } select.text, input.text { width: 30em; margin: 0 0.5em; } + a {text-decoration: none} - -- cgit v1.2.3 From e0d4d0544034f85323610a0a1ac592a45957c1d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emanuel-Emeric=20Andra=C5=9Fi?= Date: Sun, 1 Aug 2010 21:00:42 +0200 Subject: Romanian language update --- inc/lang/ro/lang.php | 71 +++++++++++++++++++++++++++---------- inc/lang/ro/subscr_digest.txt | 20 +++++++++++ inc/lang/ro/subscr_form.txt | 3 ++ inc/lang/ro/subscr_list.txt | 17 +++++++++ inc/lang/ro/subscr_single.txt | 23 ++++++++++++ lib/plugins/config/lang/ro/lang.php | 2 ++ 6 files changed, 118 insertions(+), 18 deletions(-) create mode 100644 inc/lang/ro/subscr_digest.txt create mode 100644 inc/lang/ro/subscr_form.txt create mode 100644 inc/lang/ro/subscr_list.txt create mode 100644 inc/lang/ro/subscr_single.txt diff --git a/inc/lang/ro/lang.php b/inc/lang/ro/lang.php index f71d5f531..d21249d91 100644 --- a/inc/lang/ro/lang.php +++ b/inc/lang/ro/lang.php @@ -43,9 +43,6 @@ $lang['btn_back'] = 'Înapoi'; $lang['btn_backlink'] = 'Legătură anterioară'; $lang['btn_backtomedia'] = 'Înapoi la Selecţia Mediafile'; $lang['btn_subscribe'] = 'Subscrie Modificarea Paginii'; -$lang['btn_unsubscribe'] = 'Anulează Subscrierea Modificării Paginii'; -$lang['btn_subscribens'] = 'Subscrie Modificarea Spaţiului de Nume'; -$lang['btn_unsubscribens'] = 'Anulează Subscrierea Modificării Spaţiului de Nume'; $lang['btn_profile'] = 'Actualizează Profil'; $lang['btn_reset'] = 'Resetează'; $lang['btn_resendpwd'] = 'Trimite parola nouă'; @@ -99,7 +96,38 @@ $lang['txt_overwrt'] = 'Suprascrie fişierul existent'; $lang['lockedby'] = 'Momentan blocat de'; $lang['lockexpire'] = 'Blocarea expiră la'; $lang['willexpire'] = 'Blocarea pentru editarea paginii expiră intr-un minut.\nPentru a preveni conflictele foloseşte butonul de previzualizare pentru resetarea blocării.'; -$lang['js']['notsavedyet'] = "Există modificări nesalvate, care se vor pierde.\nDoreşti să continui?"; +$lang['js']['notsavedyet'] = 'Există modificări nesalvate, care se vor pierde. +Doreşti să continui?'; +$lang['js']['searchmedia'] = 'Caută fişiere'; +$lang['js']['keepopen'] = 'Menţine fereastra deschisă la selecţie'; +$lang['js']['hidedetails'] = 'Ascunde Detalii'; +$lang['js']['mediatitle'] = 'Setări link'; +$lang['js']['mediadisplay'] = 'Tip link'; +$lang['js']['mediaalign'] = 'Aliniere'; +$lang['js']['mediasize'] = 'Mărime imagine'; +$lang['js']['mediatarget'] = 'Ţintă link'; +$lang['js']['mediaclose'] = 'Închide'; +$lang['js']['mediainsert'] = 'Inserează'; +$lang['js']['mediadisplayimg'] = 'Afişează imaginea.'; +$lang['js']['mediadisplaylnk'] = 'Afişează doar linkul.'; +$lang['js']['mediasmall'] = 'Versiune mică'; +$lang['js']['mediamedium'] = 'Versiune medie'; +$lang['js']['medialarge'] = 'Versiune mare'; +$lang['js']['mediaoriginal'] = 'Versiune originală'; +$lang['js']['medialnk'] = 'Link către pagina detaliilor'; +$lang['js']['mediadirect'] = 'Link direct către original'; +$lang['js']['medianolnk'] = 'Fără link'; +$lang['js']['medianolink'] = 'Nu crea link către imagine'; +$lang['js']['medialeft'] = 'Aliniază imaginea la stânga.'; +$lang['js']['mediaright'] = 'Aliniază imaginea la dreapta.'; +$lang['js']['mediacenter'] = 'Aliniază imaginea la centru.'; +$lang['js']['medianoalign'] = 'Nu utiliza aliniere.'; +$lang['js']['nosmblinks'] = 'Legăturile către sharing-uri Windows funcţioneaza numai in Microsoft Internet Explorer. +Puteţi însă copia şi insera legătura.'; +$lang['js']['linkwiz'] = 'Asistent legătură'; +$lang['js']['linkto'] = 'Legătură la:'; +$lang['js']['del_confirm'] = 'Doriţi într-adevăr ştergerea elementelor selectate?'; +$lang['js']['mu_btn'] = 'Încarcă mai multe fişiere simultan'; $lang['rssfailed'] = 'A apărut o eroare in timpul descărcării acestui cîmp: '; $lang['nothingfound'] = 'Nu am găsit nimic.'; $lang['mediaselect'] = 'Selectare fişiere media'; @@ -117,15 +145,7 @@ $lang['deletefail'] = '"%s" nu a putut fi şters - verificaţi dreptu $lang['mediainuse'] = 'Fişierul "%s" nu a fost şters - este încă în uz.'; $lang['namespaces'] = 'Spaţii de nume'; $lang['mediafiles'] = 'Fişiere disponibile în'; -$lang['js']['searchmedia'] = 'Caută fişiere'; -$lang['js']['keepopen'] = 'Menţine fereastra deschisă la selecţie'; -$lang['js']['hidedetails'] = 'Ascunde Detalii'; -$lang['js']['nosmblinks'] = 'Legăturile către sharing-uri Windows funcţioneaza numai in Microsoft Internet Explorer. -Puteţi însă copia şi insera legătura.'; -$lang['js']['linkwiz'] = 'Asistent legătură'; -$lang['js']['linkto'] = 'Legătură la:'; -$lang['js']['del_confirm'] = 'Doriţi într-adevăr ştergerea elementelor selectate?'; -$lang['js']['mu_btn'] = 'Încarcă mai multe fişiere simultan'; +$lang['accessdenied'] = 'Nu vă este permis să vizualizaţi această pagină.'; $lang['mediausage'] = 'Folosiţi următoarea sintaxă pentru a face referinţă la acest fişier:'; $lang['mediaview'] = 'Vizualizează fişierul original'; $lang['mediaroot'] = 'root'; @@ -141,6 +161,7 @@ $lang['current'] = 'curent'; $lang['yours'] = 'Versiunea ta'; $lang['diff'] = 'arată diferenţele faţă de versiunea curentă'; $lang['diff2'] = 'Arată diferenţele dintre versiunile selectate'; +$lang['difflink'] = 'Link către această vizualizare comparativă'; $lang['line'] = 'Linia'; $lang['breadcrumb'] = 'Traseu'; $lang['youarehere'] = 'Sunteţi aici'; @@ -155,6 +176,7 @@ $lang['noflash'] = 'Plugin-ul Date: Fri, 30 Jul 2010 14:37:00 +0200 Subject: Fix event.pageX and pageY correctly --- lib/scripts/events.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/scripts/events.js b/lib/scripts/events.js index df46cc1cf..498ec21ff 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -56,8 +56,9 @@ function fixEvent(event) { // fix target event.target = event.srcElement; // fix coords - event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + document.body.scrollTop; - event.pageY = (typeof event.pageY !== 'undefined') ? event.pageY : event.clientY + document.body.scrollTop; + var base = (document.documentElement.scrollTop?document.documentElement:document.body); + event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + base.scrollLeft; + event.pageY = (typeof event.pageY !== 'undefined') ? event.pageY : event.clientY + base.scrollTop; return event; }; -- cgit v1.2.3 From ca0095d06dade6118afd8205b99001892b7f1296 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 30 Jul 2010 12:58:07 +0200 Subject: Fix currentTarget in fixevent --- lib/scripts/events.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/scripts/events.js b/lib/scripts/events.js index 498ec21ff..a1fcac718 100644 --- a/lib/scripts/events.js +++ b/lib/scripts/events.js @@ -35,26 +35,26 @@ function removeEvent(element, type, handler) { function handleEvent(event) { var returnValue = true; // grab the event object (IE uses a global event object) - event = event || fixEvent(window.event); + event = event || fixEvent(window.event, this); // get a reference to the hash table of event handlers var handlers = this.events[event.type]; // execute each event handler for (var i in handlers) { if (!handlers.hasOwnProperty(i)) continue; - this.$$handleEvent = handlers[i]; - if (this.$$handleEvent(event) === false) { + if (handlers[i].call(this, event) === false) { returnValue = false; } } return returnValue; }; -function fixEvent(event) { +function fixEvent(event, _this) { // add W3C standard event methods event.preventDefault = fixEvent.preventDefault; event.stopPropagation = fixEvent.stopPropagation; // fix target event.target = event.srcElement; + event.currentTarget = _this; // fix coords var base = (document.documentElement.scrollTop?document.documentElement:document.body); event.pageX = (typeof event.pageX !== 'undefined') ? event.pageX : event.clientX + base.scrollLeft; -- cgit v1.2.3 From 7e7f15ca0aadcdadcb930ab025be1c7311365078 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 2 Aug 2010 15:54:41 +0200 Subject: Convenience function in HTTPClient The new dget() method works accepts URL parameters as associative array (like the post() method). --- inc/HTTPClient.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index ebe349573..b6feba35a 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -152,6 +152,29 @@ class HTTPClient { return $this->resp_body; } + /** + * Simple function to do a GET request with given parameters + * + * Returns the wanted page or false on an error. + * + * This is a convenience wrapper around get(). The given parameters + * will be correctly encoded and added to the given base URL. + * + * @param string $url The URL to fetch + * @param string $data Associative array of parameters + * @param bool $sloppy304 Return body on 304 not modified + * @author Andreas Gohr + */ + function dget($url,$data,$sloppy304=false){ + if(strpos($url,'?')){ + $url .= '&'; + }else{ + $url .= '?'; + } + $url .= $this->_postEncode($data); + return $this->get($url,$sloppy304); + } + /** * Simple function to do a POST request * -- cgit v1.2.3 From ad74fe66da948c8b81b18398a6dbd9583d3741f5 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 22 Jun 2010 17:53:16 +0200 Subject: Rewrite mimetype (faster, shorter, no PHP Notice) --- inc/confutils.php | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/inc/confutils.php b/inc/confutils.php index 0c1c0c64a..4306dab8f 100644 --- a/inc/confutils.php +++ b/inc/confutils.php @@ -16,29 +16,24 @@ * @author Andreas Gohr */ function mimetype($file, $knownonly=true){ - $ret = array(false,false,false); // return array $mtypes = getMimeTypes(); // known mimetypes - $exts = join('|',array_keys($mtypes)); // known extensions (regexp) - if(!$knownonly){ - $exts = $exts.'|[_\-A-Za-z0-9]+'; // any extension + $ext = strrpos($file, '.'); + if ($ext === false) { + return array(false, false, false); } - if(preg_match('#\.('.$exts.')$#i',$file,$matches)){ - $ext = strtolower($matches[1]); - } - - if($ext){ - if (isset($mtypes[$ext])){ - if($mtypes[$ext][0] == '!'){ - $ret = array($ext, substr($mtypes[$ext],1), true); - }else{ - $ret = array($ext, $mtypes[$ext], false); - } - }elseif(!$knownonly){ - $ret = array($ext, 'application/octet-stream', true); + $ext = strtolower(substr($file, $ext + 1)); + if (!isset($mtypes[$ext])){ + if ($knownonly) { + return array(false, false, false); + } else { + return array($ext, 'application/octet-stream', true); } } - - return $ret; + if($mtypes[$ext][0] == '!'){ + return array($ext, substr($mtypes[$ext],1), true); + }else{ + return array($ext, $mtypes[$ext], false); + } } /** -- cgit v1.2.3 From a44ae9058394954f185a6fc83d3d17a46daf5ab0 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 6 Aug 2010 10:48:14 +0200 Subject: Fix german subscription form translation --- inc/lang/de-informal/subscr_form.txt | 3 +++ inc/lang/de/subscr_form.txt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 inc/lang/de-informal/subscr_form.txt diff --git a/inc/lang/de-informal/subscr_form.txt b/inc/lang/de-informal/subscr_form.txt new file mode 100644 index 000000000..7bf74f2cf --- /dev/null +++ b/inc/lang/de-informal/subscr_form.txt @@ -0,0 +1,3 @@ +====== Abonnementverwaltung ====== + +Hier kannst du deine Abonnements für die aktuelle Seite oder den aktuellen [[doku>Namespaces|Namespace]] verwalten. diff --git a/inc/lang/de/subscr_form.txt b/inc/lang/de/subscr_form.txt index 7bf74f2cf..4ba6afb09 100644 --- a/inc/lang/de/subscr_form.txt +++ b/inc/lang/de/subscr_form.txt @@ -1,3 +1,3 @@ ====== Abonnementverwaltung ====== -Hier kannst du deine Abonnements für die aktuelle Seite oder den aktuellen [[doku>Namespaces|Namespace]] verwalten. +Hier können Sie Ihre Abonnements für die aktuelle Seite oder den aktuellen [[doku>Namespaces|Namespace]] verwalten. -- cgit v1.2.3 From b7f327c9619c6ba12bde90220173f7c114584860 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Mon, 9 Aug 2010 17:26:47 +0200 Subject: Fix variable name in ldap retrieveUsers --- inc/auth/ldap.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/auth/ldap.class.php b/inc/auth/ldap.class.php index 069d0fc92..5cc186ce2 100644 --- a/inc/auth/ldap.class.php +++ b/inc/auth/ldap.class.php @@ -271,11 +271,11 @@ class auth_ldap extends auth_basic { if (!isset($this->users)) { // Perform the search and grab all their details if(!empty($this->cnf['userfilter'])) { - $filter = str_replace('%{user}', '*', $this->cnf['userfilter']); + $all_filter = str_replace('%{user}', '*', $this->cnf['userfilter']); } else { - $filter = "(ObjectClass=*)"; + $all_filter = "(ObjectClass=*)"; } - $sr=ldap_search($this->con,$this->cnf['usertree'],$filter); + $sr=ldap_search($this->con,$this->cnf['usertree'],$all_filter); $entries = ldap_get_entries($this->con, $sr); $users_array = array(); for ($i=0; $i<$entries["count"]; $i++){ -- cgit v1.2.3 From b6bf4d661c4578a596f249f1a21ee588be6e4262 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Mon, 9 Aug 2010 21:55:45 +0200 Subject: remove accesskey once a JS handler was registered FS#2007 --- lib/scripts/hotkeys.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/scripts/hotkeys.js b/lib/scripts/hotkeys.js index c340c7f02..356b691ea 100644 --- a/lib/scripts/hotkeys.js +++ b/lib/scripts/hotkeys.js @@ -54,6 +54,7 @@ function Hotkeys() { t.addShortcut(t.modifier + '+' + a.accessKey, function() { a.click(); }); + a.accessKey = ''; } }); @@ -67,6 +68,7 @@ function Hotkeys() { t.addShortcut(t.modifier + '+' + i.accessKey, function() { i.click(); }); + i.accessKey = ''; } }); @@ -80,6 +82,7 @@ function Hotkeys() { t.addShortcut(t.modifier + '+' + b.accessKey, function() { b.click(); }); + b.accessKey = ''; } }); -- cgit v1.2.3 From 45c5ecdccdd251af3e9202f944fa8bf103c5db0f Mon Sep 17 00:00:00 2001 From: osman tekin Date: Mon, 9 Aug 2010 22:04:49 +0200 Subject: Italian language update --- inc/lang/it/lang.php | 41 ++++++++++++++++++-------------- lib/plugins/acl/lang/it/lang.php | 1 + lib/plugins/config/lang/it/lang.php | 4 ++++ lib/plugins/plugin/lang/it/lang.php | 1 + lib/plugins/popularity/lang/it/lang.php | 1 + lib/plugins/revert/lang/it/lang.php | 1 + lib/plugins/usermanager/lang/it/lang.php | 1 + 7 files changed, 32 insertions(+), 18 deletions(-) diff --git a/inc/lang/it/lang.php b/inc/lang/it/lang.php index c8e51f3e9..4bfafb060 100644 --- a/inc/lang/it/lang.php +++ b/inc/lang/it/lang.php @@ -13,6 +13,7 @@ * @author snarchio@alice.it * @author robocap * @author Matteo Carnevali + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -99,24 +100,7 @@ $lang['txt_overwrt'] = 'Sovrascrivi file esistente'; $lang['lockedby'] = 'Attualmente bloccato da'; $lang['lockexpire'] = 'Il blocco scade alle'; $lang['willexpire'] = 'Il tuo blocco su questa pagina scadrà tra circa un minuto.\nPer evitare incongruenze usa il pulsante di anteprima per prolungare il periodo di blocco.'; -$lang['js']['notsavedyet'] = "Le modifiche non salvate andranno perse."; -$lang['rssfailed'] = 'Si è verificato un errore cercando questo feed: '; -$lang['nothingfound'] = 'Nessun risultato trovato.'; -$lang['mediaselect'] = 'Selezione dei file'; -$lang['fileupload'] = 'File caricato'; -$lang['uploadsucc'] = 'Invio riuscito'; -$lang['uploadfail'] = 'Invio fallito. Contatta l\'amministratore.'; -$lang['uploadwrong'] = 'Invio rifiutato. Questa estensione di file non è ammessa'; -$lang['uploadexist'] = 'Il file esiste già . Invio annullato.'; -$lang['uploadbadcontent'] = 'Il contenuto caricato non corrisponde all\'estensione del file %s.'; -$lang['uploadspam'] = 'Il caricamento è stato bloccato dalla lista nera di spam.'; -$lang['uploadxss'] = 'Il caricamento è stato bloccato perchè il contenuto potrebbe essere malizioso.'; -$lang['uploadsize'] = 'Il file caricato è troppo grande. (massimo %s)'; -$lang['deletesucc'] = 'Il file "%s" è stato eliminato.'; -$lang['deletefail'] = '"%s" non può essere eliminato - verifica i permessi.'; -$lang['mediainuse'] = 'Il file "%s" non è stato eliminato - è ancora in uso.'; -$lang['namespaces'] = 'Categorie'; -$lang['mediafiles'] = 'File disponibili in'; +$lang['js']['notsavedyet'] = 'Le modifiche non salvate andranno perse.'; $lang['js']['searchmedia'] = 'Cerca file'; $lang['js']['keepopen'] = 'Tieni la finestra aperta durante la selezione'; $lang['js']['hidedetails'] = 'Nascondi Dettagli'; @@ -147,6 +131,24 @@ $lang['js']['linkwiz'] = 'Collegamento guidato'; $lang['js']['linkto'] = 'Collega a:'; $lang['js']['del_confirm'] = 'Eliminare veramente questa voce?'; $lang['js']['mu_btn'] = 'Carica più di un file alla volta'; +$lang['rssfailed'] = 'Si è verificato un errore cercando questo feed: '; +$lang['nothingfound'] = 'Nessun risultato trovato.'; +$lang['mediaselect'] = 'Selezione dei file'; +$lang['fileupload'] = 'File caricato'; +$lang['uploadsucc'] = 'Invio riuscito'; +$lang['uploadfail'] = 'Invio fallito. Contatta l\'amministratore.'; +$lang['uploadwrong'] = 'Invio rifiutato. Questa estensione di file non è ammessa'; +$lang['uploadexist'] = 'Il file esiste già . Invio annullato.'; +$lang['uploadbadcontent'] = 'Il contenuto caricato non corrisponde all\'estensione del file %s.'; +$lang['uploadspam'] = 'Il caricamento è stato bloccato dalla lista nera di spam.'; +$lang['uploadxss'] = 'Il caricamento è stato bloccato perchè il contenuto potrebbe essere malizioso.'; +$lang['uploadsize'] = 'Il file caricato è troppo grande. (massimo %s)'; +$lang['deletesucc'] = 'Il file "%s" è stato eliminato.'; +$lang['deletefail'] = '"%s" non può essere eliminato - verifica i permessi.'; +$lang['mediainuse'] = 'Il file "%s" non è stato eliminato - è ancora in uso.'; +$lang['namespaces'] = 'Categorie'; +$lang['mediafiles'] = 'File disponibili in'; +$lang['accessdenied'] = 'Non sei autorizzato a vedere questa pagina.'; $lang['mediausage'] = 'Usa la seguente sintassi per riferirti a questo file:'; $lang['mediaview'] = 'Mostra file originale'; $lang['mediaroot'] = 'directory principale'; @@ -162,6 +164,7 @@ $lang['current'] = 'versione attuale'; $lang['yours'] = 'la tua versione'; $lang['diff'] = 'differenze con la versione attuale'; $lang['diff2'] = 'differenze tra le versioni selezionate'; +$lang['difflink'] = 'Link all visualizzazione della comparazione'; $lang['line'] = 'Linea'; $lang['breadcrumb'] = 'Traccia'; $lang['youarehere'] = 'Ti trovi qui'; @@ -261,6 +264,7 @@ $lang['i_pol0'] = 'Wiki Aperto (lettura, scrittura, caricamento f $lang['i_pol1'] = 'Wiki Pubblico (lettura per tutti, scrittura e caricamento file per gli utenti registrati)'; $lang['i_pol2'] = 'Wiki Chiuso (lettura, scrittura, caricamento file solamente per gli utenti registrati)'; $lang['i_retry'] = 'Riprova'; +$lang['i_license'] = 'Perfavore scegli la licenza in cui vuoi inserire il tuo contenuto:'; $lang['mu_intro'] = 'Qui si possono caricare più di un file alla volta. Cliccare su "Sfoglia..." per aggiungere i file in coda. Fai click su "Invia file" quando si è pronti.'; $lang['mu_gridname'] = 'Nome file'; $lang['mu_gridsize'] = 'Dimensione'; @@ -284,3 +288,4 @@ $lang['days'] = '%d giorni fa'; $lang['hours'] = '%d ore fa'; $lang['minutes'] = '%d minuti fa'; $lang['seconds'] = '%d secondi fa'; +$lang['wordblock'] = 'La modifica non è stata salvata perché contiene testo bloccato (spam).'; diff --git a/lib/plugins/acl/lang/it/lang.php b/lib/plugins/acl/lang/it/lang.php index 2f579afae..89e421bbb 100644 --- a/lib/plugins/acl/lang/it/lang.php +++ b/lib/plugins/acl/lang/it/lang.php @@ -11,6 +11,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['admin_acl'] = 'Gestione Lista Controllo Accessi (ACL)'; $lang['acl_group'] = 'Gruppo'; diff --git a/lib/plugins/config/lang/it/lang.php b/lib/plugins/config/lang/it/lang.php index 9b84bb79e..5bbc6894f 100644 --- a/lib/plugins/config/lang/it/lang.php +++ b/lib/plugins/config/lang/it/lang.php @@ -11,6 +11,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['menu'] = 'Configurazione Wiki'; $lang['error'] = 'Impostazioni non aggiornate a causa di un valore non corretto, controlla le modifiche apportate e salva di nuovo. @@ -100,6 +101,7 @@ $lang['useslash'] = 'Usa la barra rovescia (slash) come separatore $lang['usedraft'] = 'Salva una bozza in automatico in fase di modifica'; $lang['sepchar'] = 'Separatore di parole nei nomi di pagina'; $lang['canonical'] = 'Usa URL canoniche'; +$lang['fnencode'] = 'Metodo per codificare i filenames non-ASCII.'; $lang['autoplural'] = 'Controlla il plurale nei collegamenti'; $lang['compression'] = 'Usa la compressione per i file dell\'archivio'; $lang['cachetime'] = 'Durata della cache (sec)'; @@ -140,6 +142,7 @@ $lang['proxy____port'] = 'Porta proxy'; $lang['proxy____user'] = 'Nome utente proxy'; $lang['proxy____pass'] = 'Password proxy'; $lang['proxy____ssl'] = 'Usa SSL per connetterti al proxy'; +$lang['proxy____except'] = 'Espressioni regolari per far corrispondere le URLs per i quali i proxy dovrebbero essere ommessi.'; $lang['safemodehack'] = 'Abilita safemode hack'; $lang['ftp____host'] = 'Server FTP per safemode hack'; $lang['ftp____port'] = 'Porta FTP per safemode hack'; @@ -187,3 +190,4 @@ $lang['useheading_o_0'] = 'Mai'; $lang['useheading_o_navigation'] = 'Solo navigazione'; $lang['useheading_o_content'] = 'Solo contenuto wiki'; $lang['useheading_o_1'] = 'Sempre'; +$lang['readdircache'] = 'Tempo massimo per le readdir cache (sec)'; diff --git a/lib/plugins/plugin/lang/it/lang.php b/lib/plugins/plugin/lang/it/lang.php index 3e9d855ec..c7ce28a59 100644 --- a/lib/plugins/plugin/lang/it/lang.php +++ b/lib/plugins/plugin/lang/it/lang.php @@ -11,6 +11,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['menu'] = 'Gestione Plugin'; $lang['download'] = 'Scarica e installa un nuovo plugin'; diff --git a/lib/plugins/popularity/lang/it/lang.php b/lib/plugins/popularity/lang/it/lang.php index 277e93a25..583dfae26 100644 --- a/lib/plugins/popularity/lang/it/lang.php +++ b/lib/plugins/popularity/lang/it/lang.php @@ -7,6 +7,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['name'] = 'Raccolta dati sul wiki (può impiegare del tempo per caricarsi)'; $lang['submit'] = 'Invia dati'; diff --git a/lib/plugins/revert/lang/it/lang.php b/lib/plugins/revert/lang/it/lang.php index 0c2b265de..319493acd 100644 --- a/lib/plugins/revert/lang/it/lang.php +++ b/lib/plugins/revert/lang/it/lang.php @@ -8,6 +8,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['menu'] = 'Gestore di ripristini'; $lang['filter'] = 'Cerca pagine con spam'; diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index d592fdf89..a766e5d07 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -10,6 +10,7 @@ * @author Lorenzo Breda * @author snarchio@alice.it * @author robocap + * @author Osman Tekin osman.tekin93@hotmail.it */ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; -- cgit v1.2.3 From 41c141178e9733bbf38f8e937d3dea63058af0dc Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Tue, 10 Aug 2010 12:26:19 +0200 Subject: Ignore small & own changes in digest & list mails --- inc/lang/de/lang.php | 4 ++-- inc/subscription.php | 21 ++++++++++----------- lib/exe/indexer.php | 46 ++++++++++++++++++++++++++++------------------ 3 files changed, 40 insertions(+), 31 deletions(-) diff --git a/inc/lang/de/lang.php b/inc/lang/de/lang.php index dcc5c5a3f..c5c65abca 100644 --- a/inc/lang/de/lang.php +++ b/inc/lang/de/lang.php @@ -239,8 +239,8 @@ $lang['subscr_m_unsubscribe'] = 'Löschen'; $lang['subscr_m_subscribe'] = 'Abonnieren'; $lang['subscr_m_receive'] = 'Benachrichtigung'; $lang['subscr_style_every'] = 'Email bei jeder Bearbeitung'; -$lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite'; -$lang['subscr_style_list'] = 'Liste der geänderten Seiten'; +$lang['subscr_style_digest'] = 'Zusammenfassung der Änderungen für jede veränderte Seite (Alle %.2f Tage)'; +$lang['subscr_style_list'] = 'Liste der geänderten Seiten (Alle %.2f Tage)'; $lang['authmodfailed'] = 'Benutzerüberprüfung nicht möglich. Bitte wenden Sie sich an den Systembetreuer.'; $lang['authtempfail'] = 'Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert, wenden Sie sich an den Systembetreuer.'; $lang['i_chooselang'] = 'Wählen Sie Ihre Sprache'; diff --git a/inc/subscription.php b/inc/subscription.php index ce5da4cd4..22d8fccd5 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -284,20 +284,18 @@ function subscription_addresslist(&$data){ * Sends a digest mail showing a bunch of changes. * * @param string $subscriber_mail The target mail address - * @param array $change The newest change + * @param array $id The ID * @param int $lastupdate Time of the last notification * * @author Adrian Lang */ -function subscription_send_digest($subscriber_mail, $change, $lastupdate) { - $id = $change['id']; +function subscription_send_digest($subscriber_mail, $id, $lastupdate) { $n = 0; do { $rev = getRevisions($id, $n++, 1); $rev = (count($rev) > 0) ? $rev[0] : null; } while (!is_null($rev) && $rev > $lastupdate); - $ip = $change['ip']; $replaces = array('NEWPAGE' => wl($id, '', true, '&'), 'SUBSCRIBE' => wl($id, array('do' => 'subscribe'), true, '&')); if (!is_null($rev)) { @@ -322,24 +320,25 @@ function subscription_send_digest($subscriber_mail, $change, $lastupdate) { * Sends a list mail showing a list of changed pages. * * @param string $subscriber_mail The target mail address - * @param array $changes Array of changes - * @param string $id The id of the namespace + * @param array $ids Array of ids + * @param string $ns_id The id of the namespace * * @author Adrian Lang */ -function subscription_send_list($subscriber_mail, $changes, $id) { +function subscription_send_list($subscriber_mail, $ids, $ns_id) { + if (count($ids) === 0) return; global $conf; $list = ''; - foreach ($changes as $change) { - $list .= '* ' . wl($change['id'], array(), true) . NL; + foreach ($ids as $id) { + $list .= '* ' . wl($id, array(), true) . NL; } subscription_send($subscriber_mail, array('DIFF' => rtrim($list), - 'SUBSCRIBE' => wl($id . $conf['start'], + 'SUBSCRIBE' => wl($ns_id . $conf['start'], array('do' => 'subscribe'), true, '&')), 'subscribe_list', - prettyprint_id($id), + prettyprint_id($ns_id), 'subscr_list'); } diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php index 75228779e..f8e2f7981 100644 --- a/lib/exe/indexer.php +++ b/lib/exe/indexer.php @@ -363,30 +363,40 @@ function sendDigest() { if (substr($id, -1, 1) === ':') { // The subscription target is a namespace $changes = getRecentsSince($lastupdate, null, getNS($id)); - if (count($changes) === 0) { - continue; - } - if ($style === 'digest') { - foreach($changes as $change) { - subscription_send_digest($USERINFO['mail'], $change, - $lastupdate); - } - } elseif ($style === 'list') { - subscription_send_list($USERINFO['mail'], $changes, $id); - } - // TODO: Handle duplicate subscriptions. } else { if(auth_quickaclcheck($id) < AUTH_READ) continue; $meta = p_get_metadata($id); - $rev = $meta['last_change']['date']; - if ($rev < $lastupdate) { - // There is no new revision. - continue; + $changes = array($meta['last_change']); + } + + // Filter out pages only changed in small and own edits + $change_ids = array(); + foreach($changes as $rev) { + $n = 0; + while (!is_null($rev) && $rev['date'] >= $lastupdate && + ($_SERVER['REMOTE_USER'] === $rev['user'] || + $rev['type'] === DOKU_CHANGE_TYPE_MINOR_EDIT)) { + $rev = getRevisions($rev['id'], $n++, 1); + $rev = (count($rev) > 0) ? $rev[0] : null; + } + + if (!is_null($rev) && $rev['date'] >= $lastupdate) { + // Some change was not a minor one and not by myself + $change_ids[] = $rev['id']; } - subscription_send_digest($USERINFO['mail'], $meta['last_change'], - $lastupdate); } + + if ($style === 'digest') { + foreach($change_ids as $change_id) { + subscription_send_digest($USERINFO['mail'], $change_id, + $lastupdate); + } + } elseif ($style === 'list') { + subscription_send_list($USERINFO['mail'], $change_ids, $id); + } + // TODO: Handle duplicate subscriptions. + // Update notification time. subscription_set($user, $id, $style, time(), true); } -- cgit v1.2.3 From d259f728f887b2ad76a2531705eac51b7dda8676 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Wed, 11 Aug 2010 14:01:40 +0200 Subject: fixed locktimer/draft saving on new pages When creating new pages, no date field is added in the edit form. --- lib/exe/ajax.php | 2 +- lib/scripts/edit.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 2945cca32..533b8f91c 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -139,7 +139,7 @@ function ajax_lock(){ 'prefix' => $_POST['prefix'], 'text' => $_POST['wikitext'], 'suffix' => $_POST['suffix'], - 'date' => $_POST['date'], + 'date' => (int) $_POST['date'], 'client' => $client, ); $cname = getCacheName($draft['client'].$id,'.draft'); diff --git a/lib/scripts/edit.js b/lib/scripts/edit.js index b507e804b..01262bcef 100644 --- a/lib/scripts/edit.js +++ b/lib/scripts/edit.js @@ -418,7 +418,9 @@ var locktimer = new locktimer_class(); params += '&prefix='+encodeURIComponent(dwform.elements.prefix.value); params += '&wikitext='+encodeURIComponent(dwform.elements.wikitext.value); params += '&suffix='+encodeURIComponent(dwform.elements.suffix.value); - params += '&date='+encodeURIComponent(dwform.elements.date.value); + if(dwform.elements.date){ + params += '&date='+encodeURIComponent(dwform.elements.date.value); + } } locktimer.sack.runAJAX(params); locktimer.lasttime = now; -- cgit v1.2.3 From aa92c4ccfaf7462eb8f336c6a4e8e2b1468cfada Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 12 Aug 2010 13:46:14 +0200 Subject: clean up table parser handler --- inc/parser/handler.php | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/inc/parser/handler.php b/inc/parser/handler.php index 8639c5ad8..8de0c7490 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -1175,7 +1175,7 @@ class Doku_Handler_Table { $this->tableStart($call); break; case 'table_row': - $this->tableRowClose(array('tablerow_close',$call[1],$call[2])); + $this->tableRowClose($call); $this->tableRowOpen(array('tablerow_open',$call[1],$call[2])); break; case 'tableheader': @@ -1183,7 +1183,7 @@ class Doku_Handler_Table { $this->tableCell($call); break; case 'table_end': - $this->tableRowClose(array('tablerow_close', array())); + $this->tableRowClose($call); $this->tableEnd($call); break; default: @@ -1221,7 +1221,7 @@ class Doku_Handler_Table { break; } } - $this->tableCalls[] = $call; + $this->tableCalls[] = array('tablerow_close', array(), $call[2]); if ( $this->currentCols > $this->maxCols ) { $this->maxCols = $this->currentCols; @@ -1281,17 +1281,21 @@ class Doku_Handler_Table { // that contain colspans foreach ( $this->tableCalls as $key => $call ) { - if ( $call[0] == 'tablerow_open' ) { + switch ($call[0]) { + case 'tablerow_open': $lastRow++; $lastCell = 0; + break; - } else if ( $call[0] == 'tablecell_open' || $call[0] == 'tableheader_open' ) { + case 'tablecell_open': + case 'tableheader_open': $lastCell++; $cellKey[$lastRow][$lastCell] = $key; + break; - } else if ( $call[0] == 'table_align' ) { + case 'table_align': $prev = in_array($this->tableCalls[$key-1][0], array('tablecell_open', 'tableheader_open')); $next = in_array($this->tableCalls[$key+1][0], array('tablecell_close', 'tableheader_close')); @@ -1315,8 +1319,9 @@ class Doku_Handler_Table { // Now convert the whitespace back to cdata $this->tableCalls[$key][0] = 'cdata'; + break; - } else if ( $call[0] == 'colspan' ) { + case 'colspan': $this->tableCalls[$key-1][1][0] = false; @@ -1336,8 +1341,9 @@ class Doku_Handler_Table { $toDelete[] = $key-1; $toDelete[] = $key; $toDelete[] = $key+1; + break; - } else if ( $call[0] == 'rowspan' ) { + case 'rowspan': if ( $this->tableCalls[$key-1][0] == 'cdata' ) { // ignore rowspan if previous call was cdata (text mixed with :::) we don't have to check next call as that wont match regex @@ -1362,8 +1368,10 @@ class Doku_Handler_Table { $toDelete[] = $key-1; $toDelete[] = $key; - $toDelete[] = $key+1; + $toDelete[] = $key+1; } + break; + } } -- cgit v1.2.3 From 6606d6fc9f9fc0d581d23961ec634b24c7d41425 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Thu, 12 Aug 2010 14:03:43 +0200 Subject: Try to fix broken tables --- inc/parser/handler.php | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/inc/parser/handler.php b/inc/parser/handler.php index 8de0c7490..0b8b79254 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -1279,7 +1279,8 @@ class Doku_Handler_Table { // Look for the colspan elements and increment the colspan on the // previous non-empty opening cell. Once done, delete all the cells // that contain colspans - foreach ( $this->tableCalls as $key => $call ) { + for ($key = 0 ; $key < count($this->tableCalls) ; ++$key) { + $call = $this->tableCalls[$key]; switch ($call[0]) { case 'tablerow_open': @@ -1351,20 +1352,28 @@ class Doku_Handler_Table { } else { - $this->tableCalls[$key-1][1][2] = false; - + $spanning_cell = null; for($i = $lastRow-1; $i > 0; $i--) { if ( $this->tableCalls[$cellKey[$i][$lastCell]][0] == 'tablecell_open' || $this->tableCalls[$cellKey[$i][$lastCell]][0] == 'tableheader_open' ) { - if ( false !== $this->tableCalls[$cellKey[$i][$lastCell]][1][2] ) { - $this->tableCalls[$cellKey[$i][$lastCell]][1][2]++; + if ($this->tableCalls[$cellKey[$i][$lastCell]][1][2] >= $lastRow - $i) { + $spanning_cell = $i; break; } } } + if (is_null($spanning_cell)) { + // No spanning cell found, so convert this cell to + // an empty one to avoid broken tables + $this->tableCells[$key][1][1] = ''; + continue; + } + $this->tableCalls[$cellKey[$spanning_cell][$lastCell]][1][2]++; + + $this->tableCalls[$key-1][1][2] = false; $toDelete[] = $key-1; $toDelete[] = $key; @@ -1372,6 +1381,19 @@ class Doku_Handler_Table { } break; + case 'tablerow_close': + + // Fix broken tables by adding missing cells + while (++$lastCell < $this->maxCols) { + array_splice($this->tableCalls, $key, 0, array( + array('tablecell_open', array(1, null, 1), $call[2]), + array('cdata', array(''), $call[2]), + array('tablecell_close', array(), $call[2]))); + $key += 3; + } + + break; + } } -- cgit v1.2.3 From 102af705c4f1aee88916669eeacdfb5f148f4973 Mon Sep 17 00:00:00 2001 From: Tanguy Ortolo Date: Sat, 14 Aug 2010 17:42:48 +0200 Subject: The multiuploader applet is licensed under the MIT. --- lib/_fla/MultipleUpload.as | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/_fla/MultipleUpload.as b/lib/_fla/MultipleUpload.as index c5e7799f9..259441656 100644 --- a/lib/_fla/MultipleUpload.as +++ b/lib/_fla/MultipleUpload.as @@ -6,6 +6,7 @@ * @link http://blog.vixiom.com/2006/09/08/multiple-file-upload-with-flash-and-ruby-on-rails/ * @author Alastair Dawson * @author Andreas Gohr + * @license MIT */ // delegate -- cgit v1.2.3 From 0e7829b71c8885c6f27e19c596508f179eb20fbc Mon Sep 17 00:00:00 2001 From: ks780 Date: Fri, 20 Aug 2010 11:43:16 +0200 Subject: Turkish language update --- inc/lang/tr/lang.php | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/inc/lang/tr/lang.php b/inc/lang/tr/lang.php index 0de4442a5..c6d20c805 100644 --- a/inc/lang/tr/lang.php +++ b/inc/lang/tr/lang.php @@ -42,15 +42,13 @@ $lang['btn_back'] = 'Geri'; $lang['btn_backlink'] = 'Geri linkler'; $lang['btn_backtomedia'] = 'Çokluortam dosyası seçimine dön'; $lang['btn_subscribe'] = 'Sayfa Değişikliklerini Bildir'; -$lang['btn_unsubscribe'] = 'Sayfa Değişikliklerini Bildirme'; -$lang['btn_subscribens'] = 'Namespace Değişikliklerini Bildir'; -$lang['btn_unsubscribens'] = 'Namespace Değişikliklerini Bildirme'; $lang['btn_profile'] = 'Kullanıcı Bilgilerini Güncelle'; $lang['btn_reset'] = 'Sıfırla'; $lang['btn_resendpwd'] = 'Yeni parola gönder'; $lang['btn_draft'] = 'Taslağı düzenle'; $lang['btn_recover'] = 'Taslağı geri yükle'; $lang['btn_draftdel'] = 'Taslağı sil'; +$lang['btn_revert'] = 'Geri Yükle'; $lang['loggedinas'] = 'Giriş ismi'; $lang['user'] = 'Kullanıcı ismi'; $lang['pass'] = 'Parola'; @@ -89,13 +87,45 @@ $lang['resendpwdconfirm'] = 'Doğrulama linki e-posta adresinize gönderild $lang['resendpwdsuccess'] = 'Yeni parolanız e-posta adresinize gönderildi.'; $lang['license'] = 'Aksi belirtilmediği halde, bu wikinin içeriğinin telif hakları şu lisans ile korunmaktadır:'; $lang['licenseok'] = 'Not: Bu sayfayı değiştirerek yazınızın şu lisans ile yayınlanmasını kabul etmiş olacaksınız:'; +$lang['searchmedia'] = 'Dosya Adı Ara:'; +$lang['searchmedia_in'] = '%s içinde ara'; $lang['txt_upload'] = 'Yüklenecek dosyayı seç'; $lang['txt_filename'] = 'Dosya adı (zorunlu değil)'; $lang['txt_overwrt'] = 'Mevcut dosyanın üstüne yaz'; $lang['lockedby'] = 'Şu an şunun tarafından kilitli:'; $lang['lockexpire'] = 'Kilitin açılma tarihi:'; $lang['willexpire'] = 'Bu sayfayı değiştirme kilidinin süresi yaklaşık bir dakika içinde geçecek.\nÇakışmaları önlemek için önizleme tuşunu kullanarak kilit sayacını sıfırla.'; -$lang['js']['notsavedyet'] = "Kaydedilmemiş değişiklikler kaybolacak.\nDevam etmek istiyor musunuz?"; +$lang['js']['notsavedyet'] = 'Kaydedilmemiş değişiklikler kaybolacak. +Devam etmek istiyor musunuz?'; +$lang['js']['searchmedia'] = 'Dosyalar için Ara'; +$lang['js']['keepopen'] = 'Seçim yapıldığında bu pencereyi açık tut'; +$lang['js']['hidedetails'] = 'Ayrıntıları gizle'; +$lang['js']['mediatitle'] = 'Bağlantı Ayarları'; +$lang['js']['mediadisplay'] = 'Bağlantı Tipi'; +$lang['js']['mediaalign'] = 'Hizalama'; +$lang['js']['mediasize'] = 'Resim büyüklüğü'; +$lang['js']['mediatarget'] = 'Bağlantı hedefi'; +$lang['js']['mediaclose'] = 'Kapat'; +$lang['js']['mediainsert'] = 'Ekle'; +$lang['js']['mediadisplayimg'] = 'Resmi görüntüle'; +$lang['js']['mediadisplaylnk'] = 'Sadece bağlantıyı görüntüle '; +$lang['js']['mediasmall'] = 'Küçük versiyon'; +$lang['js']['mediamedium'] = 'Orta versiyon'; +$lang['js']['medialarge'] = 'Büyük versiyon'; +$lang['js']['mediaoriginal'] = 'Orjinal versiyon'; +$lang['js']['medialnk'] = 'Detay sayfasına bağlantı'; +$lang['js']['mediadirect'] = 'Orjinal sayfaya bağlantı'; +$lang['js']['medianolnk'] = 'Bağlantı yok'; +$lang['js']['medianolink'] = 'Resme bağlantı verme'; +$lang['js']['medialeft'] = 'Resmi sola hizala'; +$lang['js']['mediaright'] = 'Resmi sağa hizala'; +$lang['js']['mediacenter'] = 'Resmi ortaya hizala'; +$lang['js']['medianoalign'] = 'Hizalama kullanma'; +$lang['js']['nosmblinks'] = 'Windows paylaşımı sadece Microsoft Internet Explorer ile çalışmaktadır. Yine de hala bağlantıyı kopyalayıp yapıştırarak kullanabilirsiniz. '; +$lang['js']['linkwiz'] = 'Bağlantı sihirbazı'; +$lang['js']['linkto'] = 'Bağlantı:'; +$lang['js']['del_confirm'] = 'Bu girişi sil?'; +$lang['js']['mu_btn'] = 'Birden fazla dosyayı bir seferde gönder'; $lang['rssfailed'] = 'Bu beslemeyi çekerken hata oluştu: '; $lang['nothingfound'] = 'Hiçbir şey yok.'; $lang['mediaselect'] = 'Çokluortam dosyası seçimi'; @@ -113,10 +143,7 @@ $lang['deletefail'] = '"%s" silinemedi - yetkileri kontrol et.'; $lang['mediainuse'] = '"%s" dosyası silinmedi, hala kullanımda.'; $lang['namespaces'] = 'Namespaces'; $lang['mediafiles'] = 'Şuradaki kullanıma hazır dosyalar:'; -$lang['js']['keepopen'] = 'Seçim yapıldığında bu pencereyi açık tut'; -$lang['js']['hidedetails'] = 'Ayrıntıları gizle'; -$lang['js']['nosmblinks'] = 'Windows paylaşımı sadece Microsoft Internet Explorer ile çalışmaktadır. Yine de hala bağlantıyı kopyalayıp yapıştırarak kullanabilirsiniz. '; -$lang['js']['mu_btn'] = 'Birden fazla dosyayı bir seferde gönder'; +$lang['accessdenied'] = 'Bu sayfayı görüntüleme yetkiniz bulunmamaktadır'; $lang['mediausage'] = 'Şu '; $lang['mediaview'] = 'Özgün dosyayı göster'; $lang['mediaroot'] = 'Kök dizini'; @@ -132,6 +159,7 @@ $lang['current'] = 'mevcut'; $lang['yours'] = 'Senin Sürümün'; $lang['diff'] = 'Kullanılan sürüm ile farkları göster'; $lang['diff2'] = 'Seçili sürümler arasındaki farkı göster'; +$lang['difflink'] = 'Karşılaştırma görünümüne bağlantı'; $lang['line'] = 'Satır'; $lang['breadcrumb'] = 'İz'; $lang['youarehere'] = 'Buradasınız'; @@ -143,6 +171,7 @@ $lang['restored'] = 'eski sürüme dönüldü'; $lang['external_edit'] = 'Dışarıdan düzenle'; $lang['summary'] = 'Özeti düzenle'; $lang['noflash'] = 'Bu içeriği göstermek için Adobe Flash Eklentisi gerekmektedir.'; +$lang['download'] = 'Parçacığı indir'; $lang['mail_newpage'] = 'sayfa eklenme:'; $lang['mail_changed'] = 'sayfa değiştirilme:'; $lang['mail_new_user'] = 'yeni kullanıcı'; @@ -166,7 +195,6 @@ $lang['qb_media'] = 'Resim ve başka dosyalar ekle'; $lang['qb_sig'] = 'İmza Ekle'; $lang['qb_smileys'] = 'Gülen Yüzler'; $lang['qb_chars'] = 'Özel Karakterler'; -$lang['js']['del_confirm'] = 'Bu girişi sil?'; $lang['admin_register'] = 'Yeni kullanıcı ekle...'; $lang['metaedit'] = 'Metaverileri Değiştir'; $lang['metasaveerr'] = 'Metaveri yazma başarısız '; @@ -182,11 +210,6 @@ $lang['img_copyr'] = 'Telif Hakkı'; $lang['img_format'] = 'Biçim'; $lang['img_camera'] = 'Fotoğraf Makinası'; $lang['img_keywords'] = 'Anahtar Sözcükler'; -$lang['subscribe_success'] = '%s, %s\'in abonelik listesine eklendi'; -$lang['subscribe_error'] = '%s; %s\'in abonelik listesine eklenirken hata oluştu'; -$lang['subscribe_noaddress'] = 'Giriş bilgilerinizle ilişkili bir adres yok, abonelik listesine eklenemezsiniz'; -$lang['unsubscribe_success'] = '%s, %s\'in abonelik listesinden çıkartıldı'; -$lang['unsubscribe_error'] = '%s, %s\'in listesinden çıkartılırken hata oluştu'; $lang['authmodfailed'] = 'Yanlış kullanıcı onaylama ayarı. Lütfen Wiki yöneticisine bildiriniz.'; $lang['authtempfail'] = 'Kullanıcı doğrulama geçici olarak yapılamıyor. Eğer bu durum devam ederse lütfen Wiki yöneticine haber veriniz.'; $lang['i_chooselang'] = 'Dili seçiniz'; -- cgit v1.2.3 From 237f954610f045f604fe05a60d82df8b375e0cc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0olti?= Date: Fri, 20 Aug 2010 11:44:51 +0200 Subject: Serbian language update --- inc/lang/sr/adminplugins.txt | 1 + inc/lang/sr/draft.txt | 6 ++- inc/lang/sr/lang.php | 88 ++++++++++++++++++++++++++------ inc/lang/sr/subscr_digest.txt | 20 ++++++++ inc/lang/sr/subscr_form.txt | 3 ++ inc/lang/sr/subscr_list.txt | 17 ++++++ inc/lang/sr/subscr_single.txt | 23 +++++++++ lib/plugins/acl/lang/sr/lang.php | 1 + lib/plugins/config/lang/sr/lang.php | 18 ++++--- lib/plugins/plugin/lang/sr/lang.php | 1 + lib/plugins/popularity/lang/sr/lang.php | 1 + lib/plugins/revert/lang/sr/lang.php | 1 + lib/plugins/usermanager/lang/sr/lang.php | 1 + 13 files changed, 159 insertions(+), 22 deletions(-) create mode 100644 inc/lang/sr/adminplugins.txt create mode 100644 inc/lang/sr/subscr_digest.txt create mode 100644 inc/lang/sr/subscr_form.txt create mode 100644 inc/lang/sr/subscr_list.txt create mode 100644 inc/lang/sr/subscr_single.txt diff --git a/inc/lang/sr/adminplugins.txt b/inc/lang/sr/adminplugins.txt new file mode 100644 index 000000000..02b1a0452 --- /dev/null +++ b/inc/lang/sr/adminplugins.txt @@ -0,0 +1 @@ +===== Остали додаци ===== \ No newline at end of file diff --git a/inc/lang/sr/draft.txt b/inc/lang/sr/draft.txt index 046c709cf..44affdd34 100644 --- a/inc/lang/sr/draft.txt +++ b/inc/lang/sr/draft.txt @@ -1 +1,5 @@ -====== Пронађена је скица датотеке ====== \ No newline at end of file +====== Пронађена је скица датотеке ====== + +Прошли пут кад сте покушали нешто да измените на овој страници ваше измене нису успешно сачуване. DokuWiki је аутоматски сачувао скицу вашег рада коју сада можете да искористите да бисте наставили са изменама. Испод можете да видите податке који су сачувани током ваше последње посете. + +Молимо вас, одаберите да ли желите да //повратите// ваше измене, //обришете// аутоматски сачувану скицу, или //поништите// цео процес измена. \ No newline at end of file diff --git a/inc/lang/sr/lang.php b/inc/lang/sr/lang.php index 7774e304e..71dde4062 100644 --- a/inc/lang/sr/lang.php +++ b/inc/lang/sr/lang.php @@ -6,6 +6,7 @@ * @author Filip Brcic * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -39,15 +40,13 @@ $lang['btn_back'] = 'Натраг'; $lang['btn_backlink'] = 'Повратне везе'; $lang['btn_backtomedia'] = 'Врати се на избор медијске датотеке'; $lang['btn_subscribe'] = 'Пријави се на измене'; -$lang['btn_unsubscribe'] = 'Одјави се са измена'; -$lang['btn_subscribens'] = 'Претплати се на промене у именском простору'; -$lang['btn_unsubscribens'] = 'Откажи претплату на промене у именском простору'; $lang['btn_profile'] = 'Ажурирај профил'; $lang['btn_reset'] = 'Поништи'; $lang['btn_resendpwd'] = 'Пошаљи нову лозинку'; $lang['btn_draft'] = 'Измени нацрт'; $lang['btn_recover'] = 'Опорави нацрт'; $lang['btn_draftdel'] = 'Обриши нацрт'; +$lang['btn_revert'] = 'Врати на пређашњу верзију'; $lang['loggedinas'] = 'Пријављен као'; $lang['user'] = 'Корисничко име'; $lang['pass'] = 'Лозинка'; @@ -86,13 +85,46 @@ $lang['resendpwdconfirm'] = 'Потврдни линк је постат к $lang['resendpwdsuccess'] = 'Ваша нова лозинка је послата као е-порука.'; $lang['license'] = 'Осим где је другачије назначено, материјал на овом викију је под следећом лиценцом:'; $lang['licenseok'] = 'Напомена: Изменом ове стране слажете се да ће ваше измене бити под следећом лиценцом:'; +$lang['searchmedia'] = 'Претражи по имену фајла'; +$lang['searchmedia_in'] = 'Претражи у %s'; $lang['txt_upload'] = 'Изаберите датотеку за слање'; $lang['txt_filename'] = 'Унесите вики-име (опционо)'; $lang['txt_overwrt'] = 'Препишите тренутни фајл'; $lang['lockedby'] = 'Тренутно закључано од стране'; $lang['lockexpire'] = 'Закључавање истиче'; $lang['willexpire'] = 'Ваше закључавање за измену ове странице ће да истекне за један минут.\nДа би сте избегли конфликте, искористите дугме за преглед како би сте ресетовали тајмер закључавања.'; -$lang['js']['notsavedyet'] = "Несачуване измене ће бити изгубљене.\nДа ли стварно желите да наставите?"; +$lang['js']['notsavedyet'] = 'Несачуване измене ће бити изгубљене. +Да ли стварно желите да наставите?'; +$lang['js']['searchmedia'] = 'Потражи фајлове'; +$lang['js']['keepopen'] = 'Задржи отворен прозор након одабира'; +$lang['js']['hidedetails'] = 'Сакриј детаље'; +$lang['js']['mediatitle'] = 'Подешаванја везе'; +$lang['js']['mediadisplay'] = 'Тип везе'; +$lang['js']['mediaalign'] = 'Поравнање'; +$lang['js']['mediasize'] = 'Величина слике'; +$lang['js']['mediatarget'] = 'веза води ка:'; +$lang['js']['mediaclose'] = 'Затвори'; +$lang['js']['mediainsert'] = 'Убаци'; +$lang['js']['mediadisplayimg'] = 'Покажи слику'; +$lang['js']['mediadisplaylnk'] = 'Покажи само везу'; +$lang['js']['mediasmall'] = 'Мала верзија'; +$lang['js']['mediamedium'] = 'Средња верзија'; +$lang['js']['medialarge'] = 'Велика верзија'; +$lang['js']['mediaoriginal'] = 'Оригинална верзија'; +$lang['js']['medialnk'] = 'Веза ка страници са детаљима'; +$lang['js']['mediadirect'] = 'Директна веза ка оригиналу'; +$lang['js']['medianolnk'] = 'Без везе'; +$lang['js']['medianolink'] = 'Не постављај слику као везу'; +$lang['js']['medialeft'] = 'Поравнај слику на лево'; +$lang['js']['mediaright'] = 'Поравнај слику на десно'; +$lang['js']['mediacenter'] = 'Поравнај слику по средини'; +$lang['js']['medianoalign'] = 'Без поравнања'; +$lang['js']['nosmblinks'] = 'Повезивање са Windows дељеним фолдерима ради само у Мајкрософтовом Интернет Претраживачу. +Ипак, можете да ископирате и залепите везу.'; +$lang['js']['linkwiz'] = 'Чаробњак за стварање везе'; +$lang['js']['linkto'] = 'Повежи ка:'; +$lang['js']['del_confirm'] = 'Обриши овај унос?'; +$lang['js']['mu_btn'] = 'Слање више датотека одједном'; $lang['rssfailed'] = 'Дошло је до грешке приликом преузимања овог довода: '; $lang['nothingfound'] = 'Ништа није нађено.'; $lang['mediaselect'] = 'Избор медијске датотеке'; @@ -110,11 +142,7 @@ $lang['deletefail'] = '"%s" није могао да буде изб $lang['mediainuse'] = 'Фајл "%s" није избрисан - још је у употреби.'; $lang['namespaces'] = 'Именски простори'; $lang['mediafiles'] = 'Доступни фајлови у'; -$lang['js']['keepopen'] = 'Задржи отворен прозор након одабира'; -$lang['js']['hidedetails'] = 'Сакриј детаље'; -$lang['js']['nosmblinks'] = 'Повезивање са Windows дељеним фолдерима ради само у Мајкрософтовом Интернет Претраживачу. -Ипак, можете да ископирате и залепите везу.'; -$lang['js']['mu_btn'] = 'Слање више датотека одједном'; +$lang['accessdenied'] = 'Немате дозволу да видите ову страницу.'; $lang['mediausage'] = 'Користите следећу синтаксу за референцу ка овој датотеци:'; $lang['mediaview'] = 'Прикажи оригиналну датотеку'; $lang['mediaroot'] = 'почетак'; @@ -130,6 +158,7 @@ $lang['current'] = 'тренутно'; $lang['yours'] = 'Ваша верзија'; $lang['diff'] = 'прикажи разлике до тренутне верзије'; $lang['diff2'] = 'Прикажи разлике између одабраних ревизија'; +$lang['difflink'] = 'Постави везу ка овом компаративном приказу'; $lang['line'] = 'Линија'; $lang['breadcrumb'] = 'Траг'; $lang['youarehere'] = 'Сада сте овде'; @@ -141,8 +170,10 @@ $lang['restored'] = 'стара верзија повраћена'; $lang['external_edit'] = 'спољна измена'; $lang['summary'] = 'Сажетак измене'; $lang['noflash'] = 'За приказивање ове врсте материјала потребан вам је Adobe Flash Plugin.'; +$lang['download'] = 'Преузми снипет'; $lang['mail_newpage'] = 'страница додата:'; $lang['mail_changed'] = 'страница измењена:'; +$lang['mail_subscribe_list'] = 'Странице промењене у именском простору:'; $lang['mail_new_user'] = 'нови корисник:'; $lang['mail_upload'] = 'послата датотека:'; $lang['qb_bold'] = 'Мастан текст'; @@ -155,6 +186,11 @@ $lang['qb_h2'] = 'Наслов 2. нивоа'; $lang['qb_h3'] = 'Наслов 3. нивоа'; $lang['qb_h4'] = 'Наслов 4. нивоа'; $lang['qb_h5'] = 'Наслов 5. нивоа'; +$lang['qb_h'] = 'Наслов'; +$lang['qb_hs'] = 'Одабери наслов'; +$lang['qb_hplus'] = 'Виши наслов'; +$lang['qb_hminus'] = 'Нижи наслов'; +$lang['qb_hequal'] = 'Наслов на истом нивоу'; $lang['qb_link'] = 'Унутрашња веза'; $lang['qb_extlink'] = 'Спољашња веза'; $lang['qb_hr'] = 'Хоризонтална линија'; @@ -164,7 +200,7 @@ $lang['qb_media'] = 'Додај слике и друге фајло $lang['qb_sig'] = 'Убаци потпис'; $lang['qb_smileys'] = 'Смешко'; $lang['qb_chars'] = 'Посебни карактери'; -$lang['js']['del_confirm'] = 'Обриши овај унос?'; +$lang['upperns'] = 'Скочи на виши именски простор'; $lang['admin_register'] = 'Додај новог корисника'; $lang['metaedit'] = 'Измени мета-податке'; $lang['metasaveerr'] = 'Записивање мета-података није било успешно'; @@ -180,11 +216,22 @@ $lang['img_copyr'] = 'Права копирања'; $lang['img_format'] = 'Формат'; $lang['img_camera'] = 'Камера'; $lang['img_keywords'] = 'Кључне речи'; -$lang['subscribe_success'] = 'Додао сам %s на листу претплатника за %s'; -$lang['subscribe_error'] = 'Дошло је до грешке при додавању %s на листу претплатника за %s'; -$lang['subscribe_noaddress'] = 'Не постоји е-адреса асоцирана са Вашим налогом. Не можете да будете додати на листу претплатника'; -$lang['unsubscribe_success'] = 'Избрисао сам %s са листе претплатника за %s'; -$lang['unsubscribe_error'] = 'Дошло је до грешке приликом брисања %s са листе претплатника за %s'; +$lang['subscr_subscribe_success'] = '%s је додат на списак претплатника %s'; +$lang['subscr_subscribe_error'] = 'Грешка приликом додавања %s на списак претплатника %s'; +$lang['subscr_subscribe_noaddress'] = 'Не постоји адреса повезана са вашим подацима, стога вас не можемо додати на списак претплатника.'; +$lang['subscr_unsubscribe_success'] = '%s уклоњен са списка претплатника %s'; +$lang['subscr_unsubscribe_error'] = 'Грешка приликом уклањања %s са списка претплатника %s'; +$lang['subscr_already_subscribed'] = '%s је већ претплаћен на %s'; +$lang['subscr_not_subscribed'] = '%s још није претплаћен на %s'; +$lang['subscr_m_not_subscribed'] = 'Тренутно нисте претплаћени на ову страницу или именски простор.'; +$lang['subscr_m_new_header'] = 'Додај претплату'; +$lang['subscr_m_current_header'] = 'Тренутне претплате'; +$lang['subscr_m_unsubscribe'] = 'Уклони претплату'; +$lang['subscr_m_subscribe'] = 'Претплати се'; +$lang['subscr_m_receive'] = 'Прими'; +$lang['subscr_style_every'] = 'имејл о свакој промени'; +$lang['subscr_style_digest'] = 'скраћени имејл о променама за сваку страницу (сваких %.2f дана)'; +$lang['subscr_style_list'] = 'Списак страница промењених након последњег имејла (сваких %.2f дана)'; $lang['authmodfailed'] = 'Лоше подешена провера корисника. Молим Вас да обавестите администратора викија.'; $lang['authtempfail'] = 'Провера корисника је тренутно недоступна. Ако се ситуација настави, молимо Вас да обавестите администратора викија.'; $lang['i_chooselang'] = 'Одаберите језик'; @@ -208,6 +255,7 @@ $lang['i_pol0'] = 'Отворени вики (читање, пи $lang['i_pol1'] = 'Јавни вики (читање за све, писање и слање датотека само за регистроване кориснике)'; $lang['i_pol2'] = 'Затворени вики (читање, писање и слање датотека само за регистроване кориснике)'; $lang['i_retry'] = 'Понови'; +$lang['i_license'] = 'Молимо вас, одаберите лиценцу под коју желите да ставите свој садржај:'; $lang['mu_intro'] = 'Одавде можете послати више датотека одједном. Кликните на дугме Тражи да бисте додали датотеке на листу. Када завршите са одабирањем кликните на Пошаљи.'; $lang['mu_gridname'] = 'Назив датотеке'; $lang['mu_gridsize'] = 'Величина'; @@ -221,4 +269,14 @@ $lang['mu_fail'] = 'није успело'; $lang['mu_authfail'] = 'сесија је истекла'; $lang['mu_progress'] = '@PCT@% послато'; $lang['mu_filetypes'] = 'Дозвољени типови датотека'; +$lang['mu_info'] = 'Фајлови послати'; +$lang['mu_lasterr'] = 'Последња грешка:'; $lang['recent_global'] = 'Тренутно пратите промене у именском простору %s. Такође, можете пратити прмене на целом викију.'; +$lang['years'] = 'Пре %d година'; +$lang['months'] = 'Пре %d месеци'; +$lang['weeks'] = 'Пре %d недеља'; +$lang['days'] = 'Пре %d дана'; +$lang['hours'] = 'Пре %d сати'; +$lang['minutes'] = 'Пре %d минута'; +$lang['seconds'] = 'Пре %d секунди'; +$lang['wordblock'] = 'Ваше измене нису сачуване јер садрже забрањен текст (спам)'; diff --git a/inc/lang/sr/subscr_digest.txt b/inc/lang/sr/subscr_digest.txt new file mode 100644 index 000000000..db8416833 --- /dev/null +++ b/inc/lang/sr/subscr_digest.txt @@ -0,0 +1,20 @@ +Здраво! + +Страница @PAGE@ под Вики насловом @TITLE@ је промењена. +Ово су промене: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Стара верзија: @OLDPAGE@ +Нова верзија: @NEWPAGE@ + + +Да бисте поништили обавештења о променама страница, улогујте се на Вики овде +@DOKUWIKIURL@ а затим посетите +@SUBSCRIBE@ и поништите обавештавање о променама страница и/или именских простора.. + +-- +Овај имејл је направио DokuWiki на страници +@DOKUWIKIURL@ diff --git a/inc/lang/sr/subscr_form.txt b/inc/lang/sr/subscr_form.txt new file mode 100644 index 000000000..9bf72e424 --- /dev/null +++ b/inc/lang/sr/subscr_form.txt @@ -0,0 +1,3 @@ +===== Управљање претплатама ===== + +Ова страница вам омогућава да управљате својим претплатама на страницу и именски простор на којима се налазите. \ No newline at end of file diff --git a/inc/lang/sr/subscr_list.txt b/inc/lang/sr/subscr_list.txt new file mode 100644 index 000000000..b3887013b --- /dev/null +++ b/inc/lang/sr/subscr_list.txt @@ -0,0 +1,17 @@ +Здраво! + +Страница у именском простору @PAGE@ под Вики насловом @TITLE@ је промењена. +Ово су промењене странице: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + + +Да бисте поништили обавештења о променама страница, улогујте се на Вики овде +@DOKUWIKIURL@ а затим посетите +@SUBSCRIBE@ и поништите обавештавање о променама страница и/или именских простора.. + +-- +Овај имејл је направио DokuWiki на страници +@DOKUWIKIURL@ \ No newline at end of file diff --git a/inc/lang/sr/subscr_single.txt b/inc/lang/sr/subscr_single.txt new file mode 100644 index 000000000..c0ed4d87a --- /dev/null +++ b/inc/lang/sr/subscr_single.txt @@ -0,0 +1,23 @@ +Здраво! + +Страница @PAGE@ под Вики насловом @TITLE@ је промењена. +Ово су промене: + +-------------------------------------------------------- +@DIFF@ +-------------------------------------------------------- + +Датум : @DATE@ +Корисникr : @USER@ +Измени сиже: @SUMMARY@ +Стара верзија: @OLDPAGE@ +Нова верзија: @NEWPAGE@ + + +Да бисте поништили обавештења о променама страница, улогујте се на Бики овде +@DOKUWIKIURL@ а затим посетите +@SUBSCRIBE@ и поништите обавештавање о променама страница и/или именских простора.. + +-- +Овај имејл је направио DokuWiki на страници +@DOKUWIKIURL@ \ No newline at end of file diff --git a/lib/plugins/acl/lang/sr/lang.php b/lib/plugins/acl/lang/sr/lang.php index 6e1649992..20fbb0382 100644 --- a/lib/plugins/acl/lang/sr/lang.php +++ b/lib/plugins/acl/lang/sr/lang.php @@ -6,6 +6,7 @@ * @author Filip Brcic * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['admin_acl'] = 'Управљање листом контроле приступа'; $lang['acl_group'] = 'Група'; diff --git a/lib/plugins/config/lang/sr/lang.php b/lib/plugins/config/lang/sr/lang.php index 2ad2f03aa..f66a7f717 100644 --- a/lib/plugins/config/lang/sr/lang.php +++ b/lib/plugins/config/lang/sr/lang.php @@ -4,6 +4,7 @@ * * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['menu'] = 'Подешавања'; $lang['error'] = 'Подешавања нису прихваћена јер постоји вредност са грешком, проверите измене које сте извршили и поновите слање.
    Вредност(и) са грешком су приказане са црвеним оквиром.'; @@ -83,12 +84,15 @@ $lang['disableactions_other'] = 'Остале наредбе (раздвоје $lang['sneaky_index'] = 'По инсталацији DokuWiki ће у индексу приказати све именске просторе. Укључивањем ове опције именски простори у којима корисник нема право читања ће бити сакривени. Консеквенца је да ће и доступни подпростори бити сакривени. Ово доводи до неупотребљивости Права приступа у неким поставкама.'; $lang['auth_security_timeout'] = 'Временска пауза у аутентификацији (секунде)'; $lang['securecookie'] = 'Да ли колачићи који су постављени преко ХТТПС треба слати веб читачу само преко ХТТПС? Искључите ову опцију само ако је пријављивање на вики заштићено ССЛом а остали део викија незаштићен.'; +$lang['xmlrpc'] = 'Укључи/искључи ИксМЛ-РПЦ интерфејс'; +$lang['xmlrpcuser'] = 'Ограничи ИксМЛ-РПЦ приступ на наведене групе корисника раздвојене зарезом. Остави празно да би свима дао приступ.'; $lang['updatecheck'] = 'Провера надоградњи и сигурносних упозорења? Dokuwiki мора да контактира splitbrain.org ради добијања информација.'; $lang['userewrite'] = 'Направи леп УРЛ'; $lang['useslash'] = 'Користи косу црту у УРЛу за раздвајање именских простора '; $lang['usedraft'] = 'Аутоматски сачувај скицу у току писања измена'; $lang['sepchar'] = 'Раздвајање речи у називу странице'; $lang['canonical'] = 'Користи правилне УРЛове'; +$lang['fnencode'] = 'Метод кодирања не-ASCII имена фајлова:'; $lang['autoplural'] = 'Провери облик множине у линковима'; $lang['compression'] = 'Метод компресије за attic датотеке'; $lang['cachetime'] = 'Максимално трајање оставе (сек)'; @@ -102,13 +106,13 @@ $lang['gdlib'] = 'ГД Либ верзија'; $lang['im_convert'] = 'Путања до алатке за коверзију ИмиџМеџик '; $lang['jpg_quality'] = 'ЈПГ квалитет компресије (0-100)'; $lang['subscribers'] = 'Укључи могућност претплате за странице'; +$lang['subscribe_time'] = 'Време након ког се спискови претплатника и сижеи шаљу (у секундама); Ова цифра би требало да буде мања од цифре наведене под recent_days'; $lang['compress'] = 'Сажимај ЦСС и јаваскрипт'; $lang['hidepages'] = 'Сакриј подударне странице (на основу регуларних израза)'; $lang['send404'] = 'Пошаљи поруку "ХТТП 404/Страница не постоји" за непостојеће странице'; $lang['sitemap'] = 'Генериши Гугл мапу сајта (дан)'; $lang['broken_iua'] = 'Да ли је функција ignore_user_abort function не ради на вашем систему? Ово може проузроковати неиндексирање података за претрагу. ИИС+ПХП/ЦГИ је често ван функције. Погледајте баг 852 за више информација.'; $lang['xsendfile'] = 'Користи заглавље X-Sendfile да би веб сервер могао да испоручује статичке датотеке? Веб сервер треба да подржава ову функцију.'; -$lang['xmlrpc'] = 'Укључи/искључи ИксМЛ-РПЦ прикључак'; $lang['renderer_xhtml'] = 'Исцртавање користи главни (xhtml) вики испис'; $lang['renderer__core'] = '%s (dokuwiki језгро)'; $lang['renderer__plugin'] = '%s (додатак)'; @@ -124,11 +128,12 @@ $lang['target____interwiki'] = 'Циљни прозор за међувики $lang['target____extern'] = 'Циљни прозор за спољне линкове'; $lang['target____media'] = 'Циљни прозор за медијске линкове'; $lang['target____windows'] = 'Циљни прозор за Виндоуз линкове'; -$lang['proxy____host'] = 'Назив посредника'; -$lang['proxy____port'] = 'Порт посредника'; -$lang['proxy____user'] = 'Корисничко име на посреднику'; -$lang['proxy____pass'] = 'Лозинка на посреднику'; -$lang['proxy____ssl'] = 'Користи ССЛ за повезивање са посредником'; +$lang['proxy____host'] = 'Назив посредника (проксија)'; +$lang['proxy____port'] = 'Порт посредника (проксија)'; +$lang['proxy____user'] = 'Корисничко име на посреднику (проксију)'; +$lang['proxy____pass'] = 'Лозинка на посреднику (проксију)'; +$lang['proxy____ssl'] = 'Користи ССЛ за повезивање са посредником (проксијем)'; +$lang['proxy____except'] = 'Редован израз који би требало да се подудара са веб адресом странице за коју треба прескочити посредника (прокси).'; $lang['safemodehack'] = 'Укључи преправку за безбедни режим'; $lang['ftp____host'] = 'ФТП сервер за безбедни режим'; $lang['ftp____port'] = 'ФТП порт за безбедни режим'; @@ -176,3 +181,4 @@ $lang['useheading_o_0'] = 'Никада'; $lang['useheading_o_navigation'] = 'Сами навигација'; $lang['useheading_o_content'] = 'Само за садржај викија'; $lang['useheading_o_1'] = 'Увек'; +$lang['readdircache'] = 'Максимално време трајања за readdir cache (у секундама)'; diff --git a/lib/plugins/plugin/lang/sr/lang.php b/lib/plugins/plugin/lang/sr/lang.php index 58f333879..bc22770a1 100644 --- a/lib/plugins/plugin/lang/sr/lang.php +++ b/lib/plugins/plugin/lang/sr/lang.php @@ -4,6 +4,7 @@ * * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['menu'] = 'Управљач додацима'; $lang['download'] = 'Преузми и инсталирај нови додатак'; diff --git a/lib/plugins/popularity/lang/sr/lang.php b/lib/plugins/popularity/lang/sr/lang.php index c78dd70bb..f560b52a8 100644 --- a/lib/plugins/popularity/lang/sr/lang.php +++ b/lib/plugins/popularity/lang/sr/lang.php @@ -4,6 +4,7 @@ * * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['name'] = 'Мерење популарности (може потрајати док се не учита)'; $lang['submit'] = 'Пошаљи податке'; diff --git a/lib/plugins/revert/lang/sr/lang.php b/lib/plugins/revert/lang/sr/lang.php index 3b28a1729..62c712ad1 100644 --- a/lib/plugins/revert/lang/sr/lang.php +++ b/lib/plugins/revert/lang/sr/lang.php @@ -4,6 +4,7 @@ * * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['menu'] = 'Управљач за враћање'; $lang['filter'] = 'Претрага спам страница'; diff --git a/lib/plugins/usermanager/lang/sr/lang.php b/lib/plugins/usermanager/lang/sr/lang.php index ab64c925a..5f2669b58 100644 --- a/lib/plugins/usermanager/lang/sr/lang.php +++ b/lib/plugins/usermanager/lang/sr/lang.php @@ -4,6 +4,7 @@ * * @author Иван Петровић petrovicivan@ubuntusrbija.org * @author Ivan Petrovic + * @author Miroslav Šolti */ $lang['menu'] = 'Управљач корисницима'; $lang['noauth'] = '(корисничка провера није доступна)'; -- cgit v1.2.3 From 003a37b419108048f084be9c59598a00a7eb8724 Mon Sep 17 00:00:00 2001 From: Timon Van Overveldt Date: Fri, 20 Aug 2010 11:45:47 +0200 Subject: Dutch language update --- inc/lang/nl/lang.php | 4 ++++ lib/plugins/acl/lang/nl/lang.php | 1 + lib/plugins/config/lang/nl/lang.php | 2 ++ lib/plugins/plugin/lang/nl/lang.php | 1 + lib/plugins/popularity/lang/nl/lang.php | 1 + lib/plugins/revert/lang/nl/lang.php | 1 + lib/plugins/usermanager/lang/nl/lang.php | 1 + 7 files changed, 11 insertions(+) diff --git a/inc/lang/nl/lang.php b/inc/lang/nl/lang.php index 8bba8765d..9d81d0ff4 100644 --- a/inc/lang/nl/lang.php +++ b/inc/lang/nl/lang.php @@ -14,6 +14,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['encoding'] = 'utf-8'; $lang['direction'] = 'ltr'; @@ -149,6 +150,7 @@ $lang['deletefail'] = '"%s" kan niet worden verwijderd - controleer p $lang['mediainuse'] = 'Het bestand "%s" is niet verwijderd - het is nog in gebruik.'; $lang['namespaces'] = 'Namespaces'; $lang['mediafiles'] = 'Beschikbare bestanden in'; +$lang['accessdenied'] = 'U heeft geen toegang tot deze pagina.'; $lang['mediausage'] = 'Gebruik de volgende syntax om aan het bestand te refereren:'; $lang['mediaview'] = 'Bekijk het orginele bestand'; $lang['mediaroot'] = 'root'; @@ -164,6 +166,7 @@ $lang['current'] = 'huidige'; $lang['yours'] = 'Jouw versie'; $lang['diff'] = 'Toon verschillen met huidige revisie'; $lang['diff2'] = 'Toon verschillen tussen geselecteerde revisies'; +$lang['difflink'] = 'Link naar deze vergelijking'; $lang['line'] = 'Regel'; $lang['breadcrumb'] = 'Spoor'; $lang['youarehere'] = 'Je bent hier'; @@ -260,6 +263,7 @@ $lang['i_pol0'] = 'Open wiki (lezen, schrijven, uploaden voor ied $lang['i_pol1'] = 'Publieke wiki (lezen voor iedereen, schrijven en uploaden voor geregistreerde gebruikers)'; $lang['i_pol2'] = 'Besloten wiki (lezen, schrijven en uploaden alleen voor geregistreerde gebruikers)'; $lang['i_retry'] = 'Opnieuw'; +$lang['i_license'] = 'Kies a.u.b. een licentie die u voor uw inhoud wilt gebruiken:'; $lang['mu_intro'] = 'Hiier kun je meerdere bestanden tegelijk uploaden. Klik de blader-knop om ze aan de lijst toe te voegen. Klik Upload als je klaar bent.'; $lang['mu_gridname'] = 'Bestandsnaam'; $lang['mu_gridsize'] = 'Grootte'; diff --git a/lib/plugins/acl/lang/nl/lang.php b/lib/plugins/acl/lang/nl/lang.php index 86ce933d3..f9adb5f04 100644 --- a/lib/plugins/acl/lang/nl/lang.php +++ b/lib/plugins/acl/lang/nl/lang.php @@ -15,6 +15,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['admin_acl'] = 'Toegangsrechten'; $lang['acl_group'] = 'Groep'; diff --git a/lib/plugins/config/lang/nl/lang.php b/lib/plugins/config/lang/nl/lang.php index 87c82e378..a9e0d935f 100644 --- a/lib/plugins/config/lang/nl/lang.php +++ b/lib/plugins/config/lang/nl/lang.php @@ -12,6 +12,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['menu'] = 'Configuratie-instellingen'; $lang['error'] = 'De instellingen zijn niet gewijzigd wegens een incorrecte waarde, kijk je wijzigingen na en sla dan opnieuw op.
    Je kunt de incorrecte waarde(s) herkennen aan de rode rand.'; @@ -140,6 +141,7 @@ $lang['proxy____port'] = 'Proxy port'; $lang['proxy____user'] = 'Proxy gebruikersnaam'; $lang['proxy____pass'] = 'Proxy wachtwoord'; $lang['proxy____ssl'] = 'Gebruik SSL om een connectie te maken met de proxy'; +$lang['proxy____except'] = 'Reguliere expressie om URL\'s te bepalen waarvoor de proxy overgeslaan moet worden.'; $lang['safemodehack'] = 'Safemode hack aanzetten'; $lang['ftp____host'] = 'FTP server voor safemode hack'; $lang['ftp____port'] = 'FTP port voor safemode hack'; diff --git a/lib/plugins/plugin/lang/nl/lang.php b/lib/plugins/plugin/lang/nl/lang.php index 024fe546e..cb7fc44fc 100644 --- a/lib/plugins/plugin/lang/nl/lang.php +++ b/lib/plugins/plugin/lang/nl/lang.php @@ -10,6 +10,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['menu'] = 'Plugins beheren'; $lang['download'] = 'Download en installeer een nieuwe plugin'; diff --git a/lib/plugins/popularity/lang/nl/lang.php b/lib/plugins/popularity/lang/nl/lang.php index 0a22203d1..54e12ae91 100644 --- a/lib/plugins/popularity/lang/nl/lang.php +++ b/lib/plugins/popularity/lang/nl/lang.php @@ -9,6 +9,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['name'] = 'Populariteitsfeedback (kan even duren om in te laden)'; $lang['submit'] = 'Verstuur'; diff --git a/lib/plugins/revert/lang/nl/lang.php b/lib/plugins/revert/lang/nl/lang.php index 3cd4bbc2f..21f8c2971 100644 --- a/lib/plugins/revert/lang/nl/lang.php +++ b/lib/plugins/revert/lang/nl/lang.php @@ -10,6 +10,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['menu'] = 'Herstelmanager'; $lang['filter'] = 'Zoek naar bekladde pagina\'s'; diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index 76a4844ca..a6ae402d8 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -10,6 +10,7 @@ * @author Marijn Hofstra hofstra.m@gmail.com * @author Matthias Carchon webmaster@c-mattic.be * @author Marijn Hofstra + * @author Timon Van Overveldt */ $lang['menu'] = 'Gebruikersmanager'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; -- cgit v1.2.3 From d0bdf7659fce98c2922b151766d51d5c7e8814d6 Mon Sep 17 00:00:00 2001 From: Adrian Lang Date: Fri, 20 Aug 2010 18:53:48 +0200 Subject: Use namespace filter in quicksearch with empty search term --- inc/fulltext.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index 1c9981812..cac2de4a4 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -243,17 +243,21 @@ function _ft_pageLookup(&$data){ $titles = array_map('rtrim', idx_getIndex('title', '')); $pages = array_combine($pages, $titles); - if($id !== '' && cleanID($id) !== '') { + if ($id !== '' && cleanID($id) !== '') { $cleaned = cleanID($id); - $matched_pages = array(); foreach ($pages as $p_id => $p_title) { - if (((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) !== false) || - ($in_title && stripos($p_title, $id) !== false)) && - (!isset($ns) || strpos($p_id, $ns) === 0)) { - $matched_pages[$p_id] = $p_title; + if ((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) === false) && + ($in_title && stripos($p_title, $id) === false)) { + unset($pages[$p_id]); + } + } + } + if (isset($ns)) { + foreach (array_keys($pages) as $p_id) { + if (strpos($p_id, $ns) !== 0) { + unset($pages[$p_id]); } } - $pages = $matched_pages; } // discard hidden pages -- cgit v1.2.3 From feec2ab4a23cccb6180531f3b427b0bce4f7eba2 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 27 Aug 2010 08:36:21 +0200 Subject: fixed username detection in dwpage FS#2011 --- bin/dwpage.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/dwpage.php b/bin/dwpage.php index f664770bf..211bc5a9e 100755 --- a/bin/dwpage.php +++ b/bin/dwpage.php @@ -98,12 +98,12 @@ function usage($action) { #------------------------------------------------------------------------------ function getUser() { $user = getenv('USER'); - if (empty ($username)) { + if (empty ($user)) { $user = getenv('USERNAME'); } else { return $user; } - if (empty ($username)) { + if (empty ($user)) { $user = 'admin'; } return $user; -- cgit v1.2.3 From b0fd28781bd88241e58786a6da0a44c65cbb6276 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 27 Aug 2010 08:50:23 +0200 Subject: allow empty values for emails in config manager FS#2012 --- lib/plugins/config/settings/config.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index ea5a9be21..4f2129c70 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -597,7 +597,7 @@ if (!class_exists('setting_richemail')) { $addr = $test; } - if (!mail_isvalid($addr)) { + if ($test !== '' && !mail_isvalid($addr)) { $this->_error = true; $this->_input = $input; return false; -- cgit v1.2.3 From 7d3937102067f959de80afcbe1866e106aec82a0 Mon Sep 17 00:00:00 2001 From: Otto Vainio Date: Fri, 27 Aug 2010 09:43:54 +0200 Subject: Finish language update --- inc/lang/fi/lang.php | 3 +++ lib/plugins/config/lang/fi/lang.php | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/inc/lang/fi/lang.php b/inc/lang/fi/lang.php index 2ccaaab89..e91a1d497 100644 --- a/inc/lang/fi/lang.php +++ b/inc/lang/fi/lang.php @@ -143,6 +143,7 @@ $lang['deletefail'] = 'Kohdetta "%s" poistaminen ei onnistunut - tark $lang['mediainuse'] = 'Tiedostoa "%s" ei ole poistettu - se on vielä käytössä.'; $lang['namespaces'] = 'Nimiavaruudet'; $lang['mediafiles'] = 'Tarjolla olevat tiedostot'; +$lang['accessdenied'] = 'Sinulla ei ole oikeuksia tämän sivun katsomiseen'; $lang['mediausage'] = 'Käytä seuraavaa merkintätapaa viittausta tehtäessä:'; $lang['mediaview'] = 'Katsele alkuperäistä tiedostoa'; $lang['mediaroot'] = 'root'; @@ -158,6 +159,7 @@ $lang['current'] = 'nykyinen'; $lang['yours'] = 'Sinun versiosi'; $lang['diff'] = 'Näytä eroavaisuudet nykyiseen versioon'; $lang['diff2'] = 'Näytä eroavaisuudet valittuun versioon'; +$lang['difflink'] = 'Linkki vertailunäkymään'; $lang['line'] = 'Rivi'; $lang['breadcrumb'] = 'Jäljet'; $lang['youarehere'] = 'Olet täällä'; @@ -254,6 +256,7 @@ $lang['i_pol0'] = 'Avoin Wiki (luku, kirjoitus, tiedostojen lähe $lang['i_pol1'] = 'Julkinen Wiki (luku kaikilla, kirjoitus ja tiedostojen lähetys rekisteröidyillä käyttäjillä)'; $lang['i_pol2'] = 'Suljettu Wiki (luku, kirjoitus ja tiedostojen lähetys vain rekisteröityneillä käyttäjillä)'; $lang['i_retry'] = 'Yritä uudelleen'; +$lang['i_license'] = 'Valitse lisenssi, jonka alle haluat sisältösi laittaa:'; $lang['mu_intro'] = 'Täällä voit lähettää useampia tiedostoja kerralla. Klikkaa Selaa-nappia lisätäksesi ne jonoon. Paina lähetä, kun olet valmis.'; $lang['mu_gridname'] = 'Tiedoston nimi'; $lang['mu_gridsize'] = 'Koko'; diff --git a/lib/plugins/config/lang/fi/lang.php b/lib/plugins/config/lang/fi/lang.php index fccb055a2..f5c7b911b 100644 --- a/lib/plugins/config/lang/fi/lang.php +++ b/lib/plugins/config/lang/fi/lang.php @@ -94,6 +94,7 @@ $lang['useslash'] = 'Käytä kauttaviivaa nimiavaruuksien erottimen $lang['usedraft'] = 'Tallenna vedos muokkaustilassa automaattisesti '; $lang['sepchar'] = 'Sivunimen sanaerotin'; $lang['canonical'] = 'Käytä kanonisoituja URLeja'; +$lang['fnencode'] = 'Muita kuin ASCII merkkejä sisältävien tiedotonimien koodaustapa.'; $lang['autoplural'] = 'Etsi monikkomuotoja linkeistä'; $lang['compression'] = 'Attic-tiedostojen pakkausmenetelmä'; $lang['cachetime'] = 'Välimuisti-tiedostojen maksimi-ikä (sek)'; @@ -107,6 +108,7 @@ $lang['gdlib'] = 'GD Lib versio'; $lang['im_convert'] = 'ImageMagick-muunnostyökalun polku'; $lang['jpg_quality'] = 'JPG pakkauslaatu (0-100)'; $lang['subscribers'] = 'Salli tuki sivujen tilaamiselle'; +$lang['subscribe_time'] = 'Aika jonka jälkeen tilauslinkit ja yhteenveto lähetetään (sek). Tämän pitäisi olla pienempi, kuin recent_days aika.'; $lang['compress'] = 'Pakkaa CSS ja javascript'; $lang['hidepages'] = 'Piilota seuraavat sivut (säännönmukainen lauseke)'; $lang['send404'] = 'Lähetä "HTTP 404/Page Not Found" puuttuvista sivuista'; @@ -134,6 +136,7 @@ $lang['proxy____port'] = 'Proxy portti'; $lang['proxy____user'] = 'Proxy käyttäjän nimi'; $lang['proxy____pass'] = 'Proxy salasana'; $lang['proxy____ssl'] = 'Käytä ssl-yhteyttä kytkeytyäksesi proxy-palvelimeen'; +$lang['proxy____except'] = 'Säännönmukainen lause, URLiin, jolle proxy ohitetaan.'; $lang['safemodehack'] = 'Käytä safemode kiertoa'; $lang['ftp____host'] = 'FTP-palvelin safemode kiertoa varten'; $lang['ftp____port'] = 'FTP-portti safemode kiertoa varten'; @@ -181,3 +184,4 @@ $lang['useheading_o_0'] = 'Ei koskaan'; $lang['useheading_o_navigation'] = 'Vain Navigointi'; $lang['useheading_o_content'] = 'Vain Wiki-sisältö'; $lang['useheading_o_1'] = 'Aina'; +$lang['readdircache'] = 'Maksimiaika readdir cachelle (sek)'; -- cgit v1.2.3 From a6bc56d03c064a1d747ccba79705cbac0e2bd453 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 27 Aug 2010 10:04:30 +0200 Subject: Do not allow empty strings as superuser or manager FS#2009 --- inc/auth.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/inc/auth.php b/inc/auth.php index 49bb2d4d9..e1f689f96 100644 --- a/inc/auth.php +++ b/inc/auth.php @@ -350,7 +350,8 @@ function auth_ismanager($user=null,$groups=null,$adminonly=false){ $user = $_SERVER['REMOTE_USER']; } } - $user = $auth->cleanUser($user); + $user = trim($auth->cleanUser($user)); + if($user === '') return false; if(is_null($groups)) $groups = (array) $USERINFO['grps']; $groups = array_map(array($auth,'cleanGroup'),$groups); $user = auth_nameencode($user); @@ -359,6 +360,7 @@ function auth_ismanager($user=null,$groups=null,$adminonly=false){ $superusers = explode(',', $conf['superuser']); $superusers = array_unique($superusers); $superusers = array_map('trim', $superusers); + $superusers = array_filter($superusers); // prepare an array containing only true values for array_map call $alltrue = array_fill(0, count($superusers), true); $superusers = array_map('auth_nameencode', $superusers, $alltrue); @@ -377,6 +379,7 @@ function auth_ismanager($user=null,$groups=null,$adminonly=false){ $managers = explode(',', $conf['manager']); $managers = array_unique($managers); $managers = array_map('trim', $managers); + $managers = array_filter($managers); // prepare an array containing only true values for array_map call $alltrue = array_fill(0, count($managers), true); $managers = array_map('auth_nameencode', $managers, $alltrue); -- cgit v1.2.3 From 396c218f61d8626a516941cd6cd66f09e528e32c Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 27 Aug 2010 10:37:07 +0200 Subject: make use of tpl_get_action in tpl_actiondropdown FS#2005 --- inc/actions.php | 2 ++ inc/template.php | 71 ++++++++++++++++++++------------------------------------ 2 files changed, 27 insertions(+), 46 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 914ff1ce6..3e0cb1207 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -185,6 +185,8 @@ function act_clean($act){ if($act == 'export_html') $act = 'export_xhtml'; if($act == 'export_htmlbody') $act = 'export_xhtmlbody'; + if($act === '') $act = 'show'; + // check if action is disabled if(!actionOK($act)){ msg('Command disabled: '.htmlspecialchars($act),-1); diff --git a/inc/template.php b/inc/template.php index f1995b6ba..003febe46 100644 --- a/inc/template.php +++ b/inc/template.php @@ -491,7 +491,7 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ return true; } - /** +/** * Check the actions and get data for buttons and links * * Available actions are @@ -1147,7 +1147,7 @@ function tpl_actiondropdown($empty='',$button='>'){ global $auth; echo ''; #FIXME action - echo ''; + echo ''; if($REV) echo ''; echo ''; @@ -1155,60 +1155,39 @@ function tpl_actiondropdown($empty='',$button='>'){ echo ''; echo ''; - // 'edit' - most complicated type, we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])) { - echo ''; - } else { - if($INFO['exists']){ - echo ''; - }else{ - echo ''; - } - } - }else if(actionOK('source')) { //pseudo action - echo ''; - } - }else{ - echo ''; - } + $act = tpl_get_action('edit'); + if($act) echo ''; - echo ''; - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - echo ''; - } - echo ''; + $act = tpl_get_action('revisions'); + if($act) echo ''; + + $act = tpl_get_action('revert'); + if($act) echo ''; + + $act = tpl_get_action('backlink'); + if($act) echo ''; echo ''; echo ''; - echo ''; - echo ''; + $act = tpl_get_action('recent'); + if($act) echo ''; + + $act = tpl_get_action('index'); + if($act) echo ''; echo ''; echo ''; - if($conf['useacl'] && $auth){ - if($_SERVER['REMOTE_USER']){ - echo ''; - }else{ - echo ''; - } - } + $act = tpl_get_action('login'); + if($act) echo ''; - if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && - $auth->canDo('Profile') && ($ACT!='profile')){ - echo ''; - } + $act = tpl_get_action('profile'); + if($act) echo ''; - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']){ - if($_SERVER['REMOTE_USER']){ - echo ''; - } - } + $act = tpl_get_action('subscribe'); + if($act) echo ''; - if($INFO['ismanager']){ - echo ''; - } + $act = tpl_get_action('admin'); + if($act) echo ''; echo ''; echo ''; -- cgit v1.2.3 From 272000286c073349cd0ba898df00c4fe81492461 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 09:41:54 +0200 Subject: added missing keeptxt option to universal search FS#2014 --- inc/search.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/search.php b/inc/search.php index 322c53e25..ea8897662 100644 --- a/inc/search.php +++ b/inc/search.php @@ -549,7 +549,7 @@ function search_universal(&$data,$base,$file,$type,$lvl,$opts){ $return = true; // get ID and check if it is a valid one - $item['id'] = pathID($file); + $item['id'] = pathID($file,$opts['keeptxt']); if($item['id'] != cleanID($item['id'])){ if($opts['showmsg']) msg(hsc($item['id']).' is not a valid file name for DokuWiki - skipped',-1); -- cgit v1.2.3 From 7f0d7314a01c4e97a23d7d89bd9a839accd2776a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 09:53:46 +0200 Subject: GeSHi updated to 1.0.8.8 --- data/pages/wiki/syntax.txt | 2 +- inc/geshi.php | 9 +- inc/geshi/4cs.php | 2 +- inc/geshi/abap.php | 2 +- inc/geshi/actionscript.php | 2 +- inc/geshi/actionscript3.php | 2 +- inc/geshi/ada.php | 2 +- inc/geshi/apache.php | 2 +- inc/geshi/applescript.php | 2 +- inc/geshi/apt_sources.php | 2 +- inc/geshi/asm.php | 2 +- inc/geshi/asp.php | 2 +- inc/geshi/autoconf.php | 512 ++++++++++++++++++++++++++++++++++++++++++++ inc/geshi/autohotkey.php | 2 +- inc/geshi/autoit.php | 12 +- inc/geshi/avisynth.php | 2 +- inc/geshi/awk.php | 2 +- inc/geshi/bash.php | 21 +- inc/geshi/basic4gl.php | 2 +- inc/geshi/bf.php | 2 +- inc/geshi/bibtex.php | 2 +- inc/geshi/blitzbasic.php | 2 +- inc/geshi/bnf.php | 23 +- inc/geshi/boo.php | 2 +- inc/geshi/c.php | 20 +- inc/geshi/c_mac.php | 21 +- inc/geshi/caddcl.php | 2 +- inc/geshi/cadlisp.php | 2 +- inc/geshi/cfdg.php | 2 +- inc/geshi/cfm.php | 2 +- inc/geshi/chaiscript.php | 140 ++++++++++++ inc/geshi/cil.php | 2 +- inc/geshi/clojure.php | 10 +- inc/geshi/cmake.php | 2 +- inc/geshi/cobol.php | 2 +- inc/geshi/cpp-qt.php | 20 +- inc/geshi/cpp.php | 20 +- inc/geshi/csharp.php | 2 +- inc/geshi/css.php | 2 +- inc/geshi/cuesheet.php | 2 +- inc/geshi/d.php | 2 +- inc/geshi/dcs.php | 2 +- inc/geshi/delphi.php | 2 +- inc/geshi/diff.php | 2 +- inc/geshi/div.php | 2 +- inc/geshi/dos.php | 12 +- inc/geshi/dot.php | 2 +- inc/geshi/ecmascript.php | 210 ++++++++++++++++++ inc/geshi/eiffel.php | 2 +- inc/geshi/email.php | 2 +- inc/geshi/erlang.php | 6 +- inc/geshi/fo.php | 2 +- inc/geshi/fortran.php | 2 +- inc/geshi/freebasic.php | 2 +- inc/geshi/fsharp.php | 2 +- inc/geshi/gambas.php | 2 +- inc/geshi/gdb.php | 2 +- inc/geshi/genero.php | 2 +- inc/geshi/genie.php | 157 ++++++++++++++ inc/geshi/gettext.php | 2 +- inc/geshi/glsl.php | 2 +- inc/geshi/gml.php | 2 +- inc/geshi/gnuplot.php | 2 +- inc/geshi/groovy.php | 2 +- inc/geshi/gwbasic.php | 153 +++++++++++++ inc/geshi/haskell.php | 12 +- inc/geshi/hicest.php | 108 ++++++++++ inc/geshi/hq9plus.php | 2 +- inc/geshi/html4strict.php | 2 +- inc/geshi/icon.php | 212 ++++++++++++++++++ inc/geshi/idl.php | 2 +- inc/geshi/ini.php | 2 +- inc/geshi/inno.php | 2 +- inc/geshi/intercal.php | 2 +- inc/geshi/io.php | 2 +- inc/geshi/j.php | 227 ++++++++++++++++++++ inc/geshi/java.php | 2 +- inc/geshi/java5.php | 10 +- inc/geshi/javascript.php | 2 +- inc/geshi/jquery.php | 2 +- inc/geshi/kixtart.php | 2 +- inc/geshi/klonec.php | 2 +- inc/geshi/klonecpp.php | 2 +- inc/geshi/latex.php | 4 +- inc/geshi/lisp.php | 6 +- inc/geshi/locobasic.php | 2 +- inc/geshi/logtalk.php | 2 +- inc/geshi/lolcode.php | 2 +- inc/geshi/lotusformulas.php | 2 +- inc/geshi/lotusscript.php | 2 +- inc/geshi/lscript.php | 2 +- inc/geshi/lsl2.php | 2 +- inc/geshi/lua.php | 2 +- inc/geshi/m68k.php | 2 +- inc/geshi/magiksf.php | 193 +++++++++++++++++ inc/geshi/make.php | 2 +- inc/geshi/mapbasic.php | 2 +- inc/geshi/matlab.php | 6 +- inc/geshi/mirc.php | 2 +- inc/geshi/mmix.php | 2 +- inc/geshi/modula2.php | 136 ++++++++++++ inc/geshi/modula3.php | 2 +- inc/geshi/mpasm.php | 2 +- inc/geshi/mxml.php | 2 +- inc/geshi/mysql.php | 2 +- inc/geshi/newlisp.php | 2 +- inc/geshi/nsis.php | 2 +- inc/geshi/oberon2.php | 2 +- inc/geshi/objc.php | 2 +- inc/geshi/ocaml-brief.php | 2 +- inc/geshi/ocaml.php | 41 ++-- inc/geshi/oobas.php | 2 +- inc/geshi/oracle11.php | 2 +- inc/geshi/oracle8.php | 2 +- inc/geshi/oxygene.php | 152 +++++++++++++ inc/geshi/oz.php | 144 +++++++++++++ inc/geshi/pascal.php | 2 +- inc/geshi/pcre.php | 188 ++++++++++++++++ inc/geshi/per.php | 2 +- inc/geshi/perl.php | 2 +- inc/geshi/perl6.php | 2 +- inc/geshi/pf.php | 178 +++++++++++++++ inc/geshi/php-brief.php | 2 +- inc/geshi/php.php | 2 +- inc/geshi/pic16.php | 2 +- inc/geshi/pike.php | 2 +- inc/geshi/pixelbender.php | 2 +- inc/geshi/plsql.php | 2 +- inc/geshi/postgresql.php | 288 +++++++++++++++++++++++++ inc/geshi/povray.php | 2 +- inc/geshi/powerbuilder.php | 2 +- inc/geshi/powershell.php | 4 +- inc/geshi/progress.php | 2 +- inc/geshi/prolog.php | 6 +- inc/geshi/properties.php | 2 +- inc/geshi/providex.php | 2 +- inc/geshi/purebasic.php | 2 +- inc/geshi/python.php | 2 +- inc/geshi/q.php | 149 +++++++++++++ inc/geshi/qbasic.php | 2 +- inc/geshi/rails.php | 2 +- inc/geshi/rebol.php | 2 +- inc/geshi/reg.php | 2 +- inc/geshi/robots.php | 2 +- inc/geshi/rpmspec.php | 133 ++++++++++++ inc/geshi/rsplus.php | 2 +- inc/geshi/ruby.php | 7 +- inc/geshi/sas.php | 2 +- inc/geshi/scala.php | 2 +- inc/geshi/scheme.php | 2 +- inc/geshi/scilab.php | 2 +- inc/geshi/sdlbasic.php | 2 +- inc/geshi/smalltalk.php | 2 +- inc/geshi/smarty.php | 2 +- inc/geshi/sql.php | 2 +- inc/geshi/systemverilog.php | 2 +- inc/geshi/tcl.php | 8 +- inc/geshi/teraterm.php | 2 +- inc/geshi/text.php | 2 +- inc/geshi/thinbasic.php | 2 +- inc/geshi/tsql.php | 4 +- inc/geshi/typoscript.php | 2 +- inc/geshi/unicon.php | 210 ++++++++++++++++++ inc/geshi/vala.php | 151 +++++++++++++ inc/geshi/vb.php | 68 ++++-- inc/geshi/vbnet.php | 2 +- inc/geshi/verilog.php | 2 +- inc/geshi/vhdl.php | 2 +- inc/geshi/vim.php | 55 ++--- inc/geshi/visualfoxpro.php | 2 +- inc/geshi/visualprolog.php | 2 +- inc/geshi/whitespace.php | 2 +- inc/geshi/whois.php | 2 +- inc/geshi/winbatch.php | 2 +- inc/geshi/xbasic.php | 144 +++++++++++++ inc/geshi/xml.php | 2 +- inc/geshi/xorg_conf.php | 2 +- inc/geshi/xpp.php | 2 +- inc/geshi/z80.php | 2 +- 179 files changed, 4188 insertions(+), 272 deletions(-) create mode 100644 inc/geshi/autoconf.php create mode 100644 inc/geshi/chaiscript.php create mode 100644 inc/geshi/ecmascript.php create mode 100644 inc/geshi/genie.php create mode 100644 inc/geshi/gwbasic.php create mode 100644 inc/geshi/hicest.php create mode 100644 inc/geshi/icon.php create mode 100644 inc/geshi/j.php create mode 100644 inc/geshi/magiksf.php create mode 100644 inc/geshi/modula2.php create mode 100644 inc/geshi/oxygene.php create mode 100644 inc/geshi/oz.php create mode 100644 inc/geshi/pcre.php create mode 100644 inc/geshi/pf.php create mode 100644 inc/geshi/postgresql.php create mode 100644 inc/geshi/q.php create mode 100644 inc/geshi/rpmspec.php create mode 100644 inc/geshi/unicon.php create mode 100644 inc/geshi/vala.php create mode 100644 inc/geshi/xbasic.php diff --git a/data/pages/wiki/syntax.txt b/data/pages/wiki/syntax.txt index 4cd0dfcc9..fbe1fe060 100644 --- a/data/pages/wiki/syntax.txt +++ b/data/pages/wiki/syntax.txt @@ -382,7 +382,7 @@ class HelloWorldApp { } -The following language strings are currently recognized: //4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, gdb, glsl, gml, gnuplot, groovy, gettext, haskell, hq9plus, html, idl, ini, inno, intercal, io, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, mapbasic, matlab, mirc, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, pascal, perl, perl6, per, php-brief, php, pike, pic16, pixelbender, plsql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, qbasic, rails, rebol, reg, robots, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xml, xorg_conf, xpp, z80// +The following language strings are currently recognized: //4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80// ==== Downloadable Code Blocks ==== diff --git a/inc/geshi.php b/inc/geshi.php index 14acf15a6..31d2da49f 100644 --- a/inc/geshi.php +++ b/inc/geshi.php @@ -41,7 +41,7 @@ // /** The version of this GeSHi file */ -define('GESHI_VERSION', '1.0.8.6'); +define('GESHI_VERSION', '1.0.8.8'); // Define the root directory for the GeSHi code tree if (!defined('GESHI_ROOT')) { @@ -1971,7 +1971,7 @@ class GeSHi { //All this formats are matched case-insensitively! static $numbers_format = array( GESHI_NUMBER_INT_BASIC => - '(? '(? @@ -2019,7 +2019,7 @@ class GeSHi { } $this->language_data['NUMBERS_RXCACHE'][$key] = - "/(?)($regexp)(?!(?:|[^\<])+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; // + "/(?)($regexp)(?!(?:|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; // } } @@ -2651,7 +2651,8 @@ class GeSHi { $start = $i + $hq_strlen; while ($close_pos = strpos($part, $this->language_data['HARDQUOTE'][1], $start)) { $start = $close_pos + 1; - if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR']) { + if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR'] && + (($i + $hq_strlen) != ($close_pos))) { //Support empty string for HQ escapes if Starter = Escape // make sure this quote is not escaped foreach ($this->language_data['HARDESCAPE'] as $hardescape) { if (substr($part, $close_pos - 1, strlen($hardescape)) == $hardescape) { diff --git a/inc/geshi/4cs.php b/inc/geshi/4cs.php index 6ce702fbc..48b671f4a 100644 --- a/inc/geshi/4cs.php +++ b/inc/geshi/4cs.php @@ -4,7 +4,7 @@ * ------ * Author: Jason Curl (jason.curl@continental-corporation.com) * Copyright: (c) 2009 Jason Curl - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/09/05 * * 4CS language file for GeSHi. diff --git a/inc/geshi/abap.php b/inc/geshi/abap.php index fa69c92f9..942d2397e 100644 --- a/inc/geshi/abap.php +++ b/inc/geshi/abap.php @@ -7,7 +7,7 @@ * - Sandra Rossi (sandra.rossi@gmail.com) * - Jacob Laursen (jlu@kmd.dk) * Copyright: (c) 2007 Andres Picazo - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * ABAP language file for GeSHi. diff --git a/inc/geshi/actionscript.php b/inc/geshi/actionscript.php index 394a463c4..41d66edd2 100644 --- a/inc/geshi/actionscript.php +++ b/inc/geshi/actionscript.php @@ -4,7 +4,7 @@ * ---------------- * Author: Steffen Krause (Steffen.krause@muse.de) * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/20 * * Actionscript language file for GeSHi. diff --git a/inc/geshi/actionscript3.php b/inc/geshi/actionscript3.php index 8449173e8..4aab929dc 100644 --- a/inc/geshi/actionscript3.php +++ b/inc/geshi/actionscript3.php @@ -4,7 +4,7 @@ * ---------------- * Author: Jordi Boggiano (j.boggiano@seld.be) * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/11/26 * * ActionScript3 language file for GeSHi. diff --git a/inc/geshi/ada.php b/inc/geshi/ada.php index 4c112f0db..c6b0597bb 100644 --- a/inc/geshi/ada.php +++ b/inc/geshi/ada.php @@ -4,7 +4,7 @@ * ------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/29 * * Ada language file for GeSHi. diff --git a/inc/geshi/apache.php b/inc/geshi/apache.php index a5b651bb6..34704eb22 100644 --- a/inc/geshi/apache.php +++ b/inc/geshi/apache.php @@ -4,7 +4,7 @@ * ---------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/29/07 * * Apache language file for GeSHi. diff --git a/inc/geshi/applescript.php b/inc/geshi/applescript.php index 8a07d00b5..9e214f2e1 100644 --- a/inc/geshi/applescript.php +++ b/inc/geshi/applescript.php @@ -4,7 +4,7 @@ * -------- * Author: Stephan Klimek (http://www.initware.org) * Copyright: Stephan Klimek (http://www.initware.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/07/20 * * AppleScript language file for GeSHi. diff --git a/inc/geshi/apt_sources.php b/inc/geshi/apt_sources.php index fe1711fdd..f4cf9ae3f 100644 --- a/inc/geshi/apt_sources.php +++ b/inc/geshi/apt_sources.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/06/17 * * Apt sources.list language file for GeSHi. diff --git a/inc/geshi/asm.php b/inc/geshi/asm.php index 49699b900..d54e24023 100644 --- a/inc/geshi/asm.php +++ b/inc/geshi/asm.php @@ -4,7 +4,7 @@ * ------- * Author: Tux (tux@inmail.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/27 * * x86 Assembler language file for GeSHi. diff --git a/inc/geshi/asp.php b/inc/geshi/asp.php index 6e799a802..4a9d6c8e2 100644 --- a/inc/geshi/asp.php +++ b/inc/geshi/asp.php @@ -4,7 +4,7 @@ * -------- * Author: Amit Gupta (http://blog.igeek.info/) * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/13 * * ASP language file for GeSHi. diff --git a/inc/geshi/autoconf.php b/inc/geshi/autoconf.php new file mode 100644 index 000000000..0883f9f54 --- /dev/null +++ b/inc/geshi/autoconf.php @@ -0,0 +1,512 @@ + 'Autoconf', + 'COMMENT_SINGLE' => array(2 => '#'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + //Multiline-continued single-line comments + 1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Multiline-continued preprocessor define + 2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m', + //Single Line comment started by dnl + 3 => '/(? GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array(), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( + 'AC_ACT_IFELSE', + 'AC_AIX', + 'AC_ALLOCA', + 'AC_ARG_ARRAY', + 'AC_ARG_ENABLE', + 'AC_ARG_PROGRAM', + 'AC_ARG_VAR', + 'AC_ARG_WITH', + 'AC_AUTOCONF_VERSION', + 'AC_BEFORE', + 'AC_C_BACKSLASH_A', + 'AC_C_BIGENDIAN', + 'AC_C_CHAR_UNSIGNED', + 'AC_C_CONST', + 'AC_C_CROSS', + 'AC_C_FLEXIBLE_ARRAY_MEMBER', + 'AC_C_INLINE', + 'AC_C_LONG_DOUBLE', + 'AC_C_PROTOTYPES', + 'AC_C_RESTRICT', + 'AC_C_STRINGIZE', + 'AC_C_TYPEOF', + 'AC_C_VARARRAYS', + 'AC_C_VOLATILE', + 'AC_CACHE_CHECK', + 'AC_CACHE_LOAD', + 'AC_CACHE_SAVE', + 'AC_CACHE_VAL', + 'AC_CANONICAL_BUILD', + 'AC_CANONICAL_HOST', + 'AC_CANONICAL_SYSTEM', + 'AC_CANONICAL_TARGET', + 'AC_CHAR_UNSIGNED', + 'AC_CHECK_ALIGNOF', + 'AC_CHECK_DECL', + 'AC_CHECK_DECLS', + 'AC_CHECK_DECLS_ONCE', + 'AC_CHECK_FILE', + 'AC_CHECK_FILES', + 'AC_CHECK_FUNC', + 'AC_CHECK_FUNCS', + 'AC_CHECK_FUNCS_ONCE', + 'AC_CHECK_HEADER', + 'AC_CHECK_HEADERS', + 'AC_CHECK_HEADERS_ONCE', + 'AC_CHECK_LIB', + 'AC_CHECK_MEMBER', + 'AC_CHECK_MEMBERS', + 'AC_CHECK_PROG', + 'AC_CHECK_PROGS', + 'AC_CHECK_SIZEOF', + 'AC_CHECK_TARGET_TOOL', + 'AC_CHECK_TARGET_TOOLS', + 'AC_CHECK_TOOL', + 'AC_CHECK_TOOLS', + 'AC_CHECK_TYPE', + 'AC_CHECK_TYPES', + 'AC_CHECKING', + 'AC_COMPILE_CHECK', + 'AC_COMPILE_IFELSE', + 'AC_COMPUTE_INT', + 'AC_CONFIG_AUX_DIR', + 'AC_CONFIG_COMMANDS', + 'AC_CONFIG_COMMANDS_POST', + 'AC_CONFIG_COMMANDS_PRE', + 'AC_CONFIG_FILES', + 'AC_CONFIG_HEADERS', + 'AC_CONFIG_ITEMS', + 'AC_CONFIG_LIBOBJ_DIR', + 'AC_CONFIG_LINKS', + 'AC_CONFIG_MACRO_DIR', + 'AC_CONFIG_SRCDIR', + 'AC_CONFIG_SUBDIRS', + 'AC_CONFIG_TESTDIR', + 'AC_CONST', + 'AC_COPYRIGHT', + 'AC_CROSS_CHECK', + 'AC_CYGWIN', + 'AC_DATAROOTDIR_CHECKED', + 'AC_DECL_SYS_SIGLIST', + 'AC_DECL_YYTEXT', + 'AC_DEFINE', + 'AC_DEFINE_UNQUOTED', + 'AC_DEFUN', + 'AC_DEFUN_ONCE', + 'AC_DIAGNOSE', + 'AC_DIR_HEADER', + 'AC_DISABLE_OPTION_CHECKING', + 'AC_DYNIX_SEQ', + 'AC_EGREP_CPP', + 'AC_EGREP_HEADER', + 'AC_EMXOS2', + 'AC_ENABLE', + 'AC_ERLANG_CHECK_LIB', + 'AC_ERLANG_NEED_ERL', + 'AC_ERLANG_NEED_ERLC', + 'AC_ERLANG_PATH_ERL', + 'AC_ERLANG_PATH_ERLC', + 'AC_ERLANG_SUBST_ERTS_VER', + 'AC_ERLANG_SUBST_INSTALL_LIB_DIR', + 'AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR', + 'AC_ERLANG_SUBST_LIB_DIR', + 'AC_ERLANG_SUBST_ROOT_DIR', + 'AC_ERROR', + 'AC_EXEEXT', + 'AC_F77_DUMMY_MAIN', + 'AC_F77_FUNC', + 'AC_F77_LIBRARY_LDFLAGS', + 'AC_F77_MAIN', + 'AC_F77_WRAPPERS', + 'AC_FATAL', + 'AC_FC_FREEFORM', + 'AC_FC_FUNC', + 'AC_FC_LIBRARY_LDFLAGS', + 'AC_FC_MAIN', + 'AC_FC_SRCEXT', + 'AC_FC_WRAPPERS', + 'AC_FIND_X', + 'AC_FIND_XTRA', + 'AC_FOREACH', + 'AC_FUNC_ALLOCA', + 'AC_FUNC_CHECK', + 'AC_FUNC_CHOWN', + 'AC_FUNC_CLOSEDIR_VOID', + 'AC_FUNC_ERROR_AT_LINE', + 'AC_FUNC_FNMATCH', + 'AC_FUNC_FNMATCH_GNU', + 'AC_FUNC_FORK', + 'AC_FUNC_FSEEKO', + 'AC_FUNC_GETGROUPS', + 'AC_FUNC_GETLOADAVG', + 'AC_FUNC_GETMNTENT', + 'AC_FUNC_GETPGRP', + 'AC_FUNC_LSTAT', + 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK', + 'AC_FUNC_MALLOC', + 'AC_FUNC_MBRTOWC', + 'AC_FUNC_MEMCMP', + 'AC_FUNC_MKTIME', + 'AC_FUNC_MMAP', + 'AC_FUNC_OBSTACK', + 'AC_FUNC_REALLOC', + 'AC_FUNC_SELECT_ARGTYPES', + 'AC_FUNC_SETPGRP', + 'AC_FUNC_SETVBUF_REVERSED', + 'AC_FUNC_STAT', + 'AC_FUNC_STRCOLL', + 'AC_FUNC_STRERROR_R', + 'AC_FUNC_STRFTIME', + 'AC_FUNC_STRNLEN', + 'AC_FUNC_STRTOD', + 'AC_FUNC_STRTOLD', + 'AC_FUNC_UTIME_NULL', + 'AC_FUNC_VPRINTF', + 'AC_FUNC_WAIT3', + 'AC_GCC_TRADITIONAL', + 'AC_GETGROUPS_T', + 'AC_GETLOADAVG', + 'AC_GNU_SOURCE', + 'AC_HAVE_FUNCS', + 'AC_HAVE_HEADERS', + 'AC_HAVE_LIBRARY', + 'AC_HAVE_POUNDBANG', + 'AC_HEADER_ASSERT', + 'AC_HEADER_CHECK', + 'AC_HEADER_DIRENT', + 'AC_HEADER_EGREP', + 'AC_HEADER_MAJOR', + 'AC_HEADER_RESOLV', + 'AC_HEADER_STAT', + 'AC_HEADER_STDBOOL', + 'AC_HEADER_STDC', + 'AC_HEADER_SYS_WAIT', + 'AC_HEADER_TIME', + 'AC_HEADER_TIOCGWINSZ', + 'AC_HELP_STRING', + 'AC_INCLUDES_DEFAULT', + 'AC_INIT', + 'AC_INLINE', + 'AC_INT_16_BITS', + 'AC_IRIX_SUN', + 'AC_ISC_POSIX', + 'AC_LANG_ASSERT', + 'AC_LANG_C', + 'AC_LANG_CALL', + 'AC_LANG_CONFTEST', + 'AC_LANG_CPLUSPLUS', + 'AC_LANG_FORTRAN77', + 'AC_LANG_FUNC_LINK_TRY', + 'AC_LANG_POP', + 'AC_LANG_PROGRAM', + 'AC_LANG_PUSH', + 'AC_LANG_RESTORE', + 'AC_LANG_SAVE', + 'AC_LANG_SOURCE', + 'AC_LANG_WERROR', + 'AC_LIBOBJ', + 'AC_LIBSOURCE', + 'AC_LIBSOURCES', + 'AC_LINK_FILES', + 'AC_LINK_IFELSE', + 'AC_LN_S', + 'AC_LONG_64_BITS', + 'AC_LONG_DOUBLE', + 'AC_LONG_FILE_NAMES', + 'AC_MAJOR_HEADER', + 'AC_MEMORY_H', + 'AC_MINGW32', + 'AC_MINIX', + 'AC_MINUS_C_MINUS_O', + 'AC_MMAP', + 'AC_MODE_T', + 'AC_MSG_CHECKING', + 'AC_MSG_ERROR', + 'AC_MSG_FAILURE', + 'AC_MSG_NOTICE', + 'AC_MSG_RESULT', + 'AC_MSG_WARN', + 'AC_OBJEXT', + 'AC_OBSOLETE', + 'AC_OFF_T', + 'AC_OPENMP', + 'AC_OUTPUT', + 'AC_OUTPUT_COMMANDS', + 'AC_PACKAGE_BUGREPORT', + 'AC_PACKAGE_NAME', + 'AC_PACKAGE_STRING', + 'AC_PACKAGE_TARNAME', + 'AC_PACKAGE_URL', + 'AC_PACKAGE_VERSION', + 'AC_PATH_PROG', + 'AC_PATH_PROGS', + 'AC_PATH_PROGS_FEATURE_CHECK', + 'AC_PATH_TARGET_TOOL', + 'AC_PATH_TOOL', + 'AC_PATH_X', + 'AC_PATH_XTRA', + 'AC_PID_T', + 'AC_PREFIX', + 'AC_PREFIX_DEFAULT', + 'AC_PREFIX_PROGRAM', + 'AC_PREPROC_IFELSE', + 'AC_PREREQ', + 'AC_PRESERVE_HELP_ORDER', + 'AC_PROG_AWK', + 'AC_PROG_CC', + 'AC_PROG_CC_C89', + 'AC_PROG_CC_C99', + 'AC_PROG_CC_C_O', + 'AC_PROG_CC_STDC', + 'AC_PROG_CPP', + 'AC_PROG_CPP_WERROR', + 'AC_PROG_CXX', + 'AC_PROG_CXX_C_O', + 'AC_PROG_CXXCPP', + 'AC_PROG_EGREP', + 'AC_PROG_F77', + 'AC_PROG_F77_C_O', + 'AC_PROG_FC', + 'AC_PROG_FC_C_O', + 'AC_PROG_FGREP', + 'AC_PROG_GCC_TRADITIONAL', + 'AC_PROG_GREP', + 'AC_PROG_INSTALL', + 'AC_PROG_LEX', + 'AC_PROG_LN_S', + 'AC_PROG_MAKE_SET', + 'AC_PROG_MKDIR_P', + 'AC_PROG_OBJC', + 'AC_PROG_OBJCPP', + 'AC_PROG_OBJCXX', + 'AC_PROG_OBJCXXCPP', + 'AC_PROG_RANLIB', + 'AC_PROG_SED', + 'AC_PROG_YACC', + 'AC_PROGRAM_CHECK', + 'AC_PROGRAM_EGREP', + 'AC_PROGRAM_PATH', + 'AC_PROGRAMS_CHECK', + 'AC_PROGRAMS_PATH', + 'AC_REMOTE_TAPE', + 'AC_REPLACE_FNMATCH', + 'AC_REPLACE_FUNCS', + 'AC_REQUIRE', + 'AC_REQUIRE_AUX_FILE', + 'AC_REQUIRE_CPP', + 'AC_RESTARTABLE_SYSCALLS', + 'AC_RETSIGTYPE', + 'AC_REVISION', + 'AC_RSH', + 'AC_RUN_IFELSE', + 'AC_SCO_INTL', + 'AC_SEARCH_LIBS', + 'AC_SET_MAKE', + 'AC_SETVBUF_REVERSED', + 'AC_SIZE_T', + 'AC_SIZEOF_TYPE', + 'AC_ST_BLKSIZE', + 'AC_ST_BLOCKS', + 'AC_ST_RDEV', + 'AC_STAT_MACROS_BROKEN', + 'AC_STDC_HEADERS', + 'AC_STRCOLL', + 'AC_STRUCT_DIRENT_D_INO', + 'AC_STRUCT_DIRENT_D_TYPE', + 'AC_STRUCT_ST_BLKSIZE', + 'AC_STRUCT_ST_BLOCKS', + 'AC_STRUCT_ST_RDEV', + 'AC_STRUCT_TIMEZONE', + 'AC_STRUCT_TM', + 'AC_SUBST', + 'AC_SUBST_FILE', + 'AC_SYS_INTERPRETER', + 'AC_SYS_LARGEFILE', + 'AC_SYS_LONG_FILE_NAMES', + 'AC_SYS_POSIX_TERMIOS', + 'AC_SYS_RESTARTABLE_SYSCALLS', + 'AC_SYS_SIGLIST_DECLARED', + 'AC_TEST_CPP', + 'AC_TEST_PROGRAM', + 'AC_TIME_WITH_SYS_TIME', + 'AC_TIMEZONE', + 'AC_TRY_ACT', + 'AC_TRY_COMPILE', + 'AC_TRY_CPP', + 'AC_TRY_LINK', + 'AC_TRY_LINK_FUNC', + 'AC_TRY_RUN', + 'AC_TYPE_GETGROUPS', + 'AC_TYPE_INT16_T', + 'AC_TYPE_INT32_T', + 'AC_TYPE_INT64_T', + 'AC_TYPE_INT8_T', + 'AC_TYPE_INTMAX_T', + 'AC_TYPE_INTPTR_T', + 'AC_TYPE_LONG_DOUBLE', + 'AC_TYPE_LONG_DOUBLE_WIDER', + 'AC_TYPE_LONG_LONG_INT', + 'AC_TYPE_MBSTATE_T', + 'AC_TYPE_MODE_T', + 'AC_TYPE_OFF_T', + 'AC_TYPE_PID_T', + 'AC_TYPE_SIGNAL', + 'AC_TYPE_SIZE_T', + 'AC_TYPE_SSIZE_T', + 'AC_TYPE_UID_T', + 'AC_TYPE_UINT16_T', + 'AC_TYPE_UINT32_T', + 'AC_TYPE_UINT64_T', + 'AC_TYPE_UINT8_T', + 'AC_TYPE_UINTMAX_T', + 'AC_TYPE_UINTPTR_T', + 'AC_TYPE_UNSIGNED_LONG_LONG_INT', + 'AC_UID_T', + 'AC_UNISTD_H', + 'AC_USE_SYSTEM_EXTENSIONS', + 'AC_USG', + 'AC_UTIME_NULL', + 'AC_VALIDATE_CACHED_SYSTEM_TUPLE', + 'AC_VERBOSE', + 'AC_VFORK', + 'AC_VPRINTF', + 'AC_WAIT3', + 'AC_WARN', + 'AC_WARNING', + 'AC_WITH', + 'AC_WORDS_BIGENDIAN', + 'AC_XENIX_DIR', + 'AC_YYTEXT_POINTER', + 'AH_BOTTOM', + 'AH_HEADER', + 'AH_TEMPLATE', + 'AH_TOP', + 'AH_VERBATIM', + 'AU_ALIAS', + 'AU_DEFUN'), + ), + 'SYMBOLS' => array('(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00ffff;', + ), + 'COMMENTS' => array( + 1 => 'color: #666666;', + 2 => 'color: #339900;', + 3 => 'color: #666666;', + 'MULTI' => 'color: #ff0000; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099;', + 1 => 'color: #000099;', + 2 => 'color: #660099;', + 3 => 'color: #660099;', + 4 => 'color: #660099;', + 5 => 'color: #006699;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #008000;' + ), + 'STRINGS' => array( + 0 => 'color: #996600;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;', + 1 => 'color: #000080;', + 2 => 'color: #000040;', + 3 => 'color: #000040;', + 4 => 'color: #008080;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'COMMENTS' => array( + 'DISALLOWED_BEFORE' => '$' + ), + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%\\/])" + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/autohotkey.php b/inc/geshi/autohotkey.php index 1a6346340..6a3528334 100644 --- a/inc/geshi/autohotkey.php +++ b/inc/geshi/autohotkey.php @@ -4,7 +4,7 @@ * -------- * Author: Naveen Garg (naveen.garg@gmail.com) * Copyright: (c) 2009 Naveen Garg and GeSHi - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/06/11 * * Autohotkey language file for GeSHi. diff --git a/inc/geshi/autoit.php b/inc/geshi/autoit.php index e3185d063..c8ef4404b 100644 --- a/inc/geshi/autoit.php +++ b/inc/geshi/autoit.php @@ -4,7 +4,7 @@ * -------- * Author: big_daddy (robert.i.anthony@gmail.com) * Copyright: (c) 2006 and to GESHi ;) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/01/26 * * AutoIT language file for GeSHi. @@ -60,7 +60,10 @@ $language_data = array ( 'COMMENT_MULTI' => array( '#comments-start' => '#comments-end', '#cs' => '#ce'), - 'COMMENT_REGEXP' => array(0 => '/(? array( + 0 => '/(? '/(?<=include)\s+<.*?>/' + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '', @@ -1101,8 +1104,9 @@ $language_data = array ( 6 => 'color: #A00FF0; font-style: italic;' ), 'COMMENTS' => array( + 'MULTI' => 'font-style: italic; color: #669900;', 0 => 'font-style: italic; color: #009933;', - 'MULTI' => 'font-style: italic; color: #669900;' + 1 => 'font-style: italic; color: #9977BB;', ), 'ESCAPE_CHAR' => array( 0 => '' @@ -1111,7 +1115,7 @@ $language_data = array ( 0 => 'color: #FF0000; font-weight: bold;' ), 'STRINGS' => array( - 0 => 'font-weight: bold; color: #008080;' + 0 => 'font-weight: bold; color: #9977BB;' ), 'NUMBERS' => array( 0 => 'color: #AC00A9; font-style: italic; font-weight: bold;' diff --git a/inc/geshi/avisynth.php b/inc/geshi/avisynth.php index 9031e8caa..f74f50c3a 100644 --- a/inc/geshi/avisynth.php +++ b/inc/geshi/avisynth.php @@ -4,7 +4,7 @@ * -------- * Author: Ryan Jones (sciguyryan@gmail.com) * Copyright: (c) 2008 Ryan Jones - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/10/08 * * AviSynth language file for GeSHi. diff --git a/inc/geshi/awk.php b/inc/geshi/awk.php index abecf72b5..5d540315c 100644 --- a/inc/geshi/awk.php +++ b/inc/geshi/awk.php @@ -4,7 +4,7 @@ * ------- * Author: George Pollard (porges@porg.es) * Copyright: (c) 2009 George Pollard - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/01/28 * * Awk language file for GeSHi. diff --git a/inc/geshi/bash.php b/inc/geshi/bash.php index 0b1583b7b..dad391c8a 100644 --- a/inc/geshi/bash.php +++ b/inc/geshi/bash.php @@ -4,7 +4,7 @@ * -------- * Author: Andreas Gohr (andi@splitbrain.org) * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/20 * * BASH language file for GeSHi. @@ -91,7 +91,7 @@ $language_data = array ( ), 2 => array( 'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos', - 'apt-cache', 'apt-get', 'apt-key', 'aptitude', + 'apt-cache', 'apt-file', 'apt-get', 'apt-key', 'apt-src', 'aptitude', 'ar', 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf', 'autoheader', 'automake', 'awk', @@ -104,10 +104,11 @@ $language_data = array ( 'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co', 'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver', - 'dash', 'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'dialog', - 'diff', 'diff3', 'dir', 'dircolors', 'directomatic', 'dirname', - 'dmesg', 'dnsdomainname', 'domainname', 'dpkg', 'dselect', 'du', - 'dumpkeys', + 'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd', + 'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh', + 'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic', + 'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg', + 'dselect', 'du', 'dumpkeys', 'ed', 'egrep', 'env', 'expr', @@ -208,8 +209,10 @@ $language_data = array ( 'valgrind', 'vdir', 'vi', 'vim', 'vmstat', - 'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'whiptail', - 'who', 'whoami', 'write', + 'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis', + 'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot', + 'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump', + 'winefile', 'wodim', 'write', 'xargs', 'xhost', 'xmodmap', 'xset', @@ -302,7 +305,7 @@ $language_data = array ( //Shorthand shell variables 4 => "\\$[*#\$\\-\\?!\d]", //Parameters of commands - 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)" + 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)" ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( diff --git a/inc/geshi/basic4gl.php b/inc/geshi/basic4gl.php index 55be6dc34..7ac869304 100644 --- a/inc/geshi/basic4gl.php +++ b/inc/geshi/basic4gl.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Matthew Webb (bmatthew1@blueyonder.co.uk) * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/09/15 * * Basic4GL language file for GeSHi. diff --git a/inc/geshi/bf.php b/inc/geshi/bf.php index c69155e88..ba44e6caf 100644 --- a/inc/geshi/bf.php +++ b/inc/geshi/bf.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/31 * * Brainfuck language file for GeSHi. diff --git a/inc/geshi/bibtex.php b/inc/geshi/bibtex.php index 82c13b8bc..e47e0665c 100644 --- a/inc/geshi/bibtex.php +++ b/inc/geshi/bibtex.php @@ -4,7 +4,7 @@ * ----- * Author: Quinn Taylor (quinntaylor@mac.com) * Copyright: (c) 2009 Quinn Taylor (quinntaylor@mac.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/04/29 * * BibTeX language file for GeSHi. diff --git a/inc/geshi/blitzbasic.php b/inc/geshi/blitzbasic.php index c3871a21e..e43ec4635 100644 --- a/inc/geshi/blitzbasic.php +++ b/inc/geshi/blitzbasic.php @@ -4,7 +4,7 @@ * -------------- * Author: P�draig O`Connel (info@moonsword.info) * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 16.10.2005 * * BlitzBasic language file for GeSHi. diff --git a/inc/geshi/bnf.php b/inc/geshi/bnf.php index db5cdb59d..f52df9cb8 100644 --- a/inc/geshi/bnf.php +++ b/inc/geshi/bnf.php @@ -4,7 +4,7 @@ * -------- * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us) * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/09/28 * * BNF (Backus-Naur form) language file for GeSHi. @@ -45,21 +45,26 @@ $language_data = array ( 'LANG_NAME' => 'bnf', - 'COMMENT_SINGLE' => array(), + 'COMMENT_SINGLE' => array(';'), 'COMMENT_MULTI' => array(), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"', "'"), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array(), 'SYMBOLS' => array( - '(', ')', '<', '>', '::=', '|' + 0 => array('(', ')'), + 1 => array('<', '>'), + 2 => array('[', ']'), + 3 => array('{', '}'), + 4 => array('=', '*', '/', '|', ':'), ), 'CASE_SENSITIVE' => array( - //GESHI_COMMENTS => false + GESHI_COMMENTS => false ), 'STYLES' => array( 'KEYWORDS' => array(), 'COMMENTS' => array( + 0 => 'color: #666666; font-style: italic;', // Single Line comments ), 'ESCAPE_CHAR' => array( 0 => '' @@ -78,8 +83,12 @@ $language_data = array ( 0 => '' ), 'SYMBOLS' => array( - 0 => 'color: #000066; font-weight: bold;', // Unused - ), + 0 => 'color: #000066; font-weight: bold;', // Round brackets + 1 => 'color: #000066; font-weight: bold;', // Angel Brackets + 2 => 'color: #000066; font-weight: bold;', // Square Brackets + 3 => 'color: #000066; font-weight: bold;', // BRaces + 4 => 'color: #006600; font-weight: bold;', // Other operator symbols + ), 'REGEXPS' => array( 0 => 'color: #007;', ), @@ -107,4 +116,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/boo.php b/inc/geshi/boo.php index df843797d..09d4ee40e 100644 --- a/inc/geshi/boo.php +++ b/inc/geshi/boo.php @@ -4,7 +4,7 @@ * -------- * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com) * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/09/10 * * Boo language file for GeSHi. diff --git a/inc/geshi/c.php b/inc/geshi/c.php index bb6be43e1..b0e2987d7 100644 --- a/inc/geshi/c.php +++ b/inc/geshi/c.php @@ -7,7 +7,7 @@ * - Jack Lloyd (lloyd@randombit.net) * - Michael Mol (mikemol@gmail.com) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * C language file for GeSHi. @@ -96,8 +96,22 @@ $language_data = array ( ), 4 => array( 'auto', 'char', 'const', 'double', 'float', 'int', 'long', - 'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct', - 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t' + 'register', 'short', 'signed', 'sizeof', 'static', 'struct', + 'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t' ), ), 'SYMBOLS' => array( diff --git a/inc/geshi/c_mac.php b/inc/geshi/c_mac.php index 6ead4ae15..1a034ae08 100644 --- a/inc/geshi/c_mac.php +++ b/inc/geshi/c_mac.php @@ -4,7 +4,7 @@ * --------- * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net) * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * C for Macs language file for GeSHi. @@ -112,10 +112,25 @@ $language_data = array ( ), 4 => array( 'auto', 'char', 'const', 'double', 'float', 'int', 'long', - 'register', 'short', 'signed', 'static', 'string', 'struct', + 'register', 'short', 'signed', 'static', 'struct', 'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf', 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t', - 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', + 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t', + // Mac-specific types: 'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef', 'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef', diff --git a/inc/geshi/caddcl.php b/inc/geshi/caddcl.php index 27474627e..74310d6d9 100644 --- a/inc/geshi/caddcl.php +++ b/inc/geshi/caddcl.php @@ -4,7 +4,7 @@ * ---------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * CAD DCL (Dialog Control Language) language file for GeSHi. diff --git a/inc/geshi/cadlisp.php b/inc/geshi/cadlisp.php index 5061c79e4..9277e5192 100644 --- a/inc/geshi/cadlisp.php +++ b/inc/geshi/cadlisp.php @@ -4,7 +4,7 @@ * ----------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * AutoCAD/IntelliCAD Lisp language file for GeSHi. diff --git a/inc/geshi/cfdg.php b/inc/geshi/cfdg.php index 8d03b89df..ee17fdf53 100644 --- a/inc/geshi/cfdg.php +++ b/inc/geshi/cfdg.php @@ -4,7 +4,7 @@ * -------- * Author: John Horigan * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/ - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/03/11 * * CFDG language file for GeSHi. diff --git a/inc/geshi/cfm.php b/inc/geshi/cfm.php index cdb7bf32c..dd508eec7 100644 --- a/inc/geshi/cfm.php +++ b/inc/geshi/cfm.php @@ -4,7 +4,7 @@ * ------- * Author: Diego * Copyright: (c) 2006 Diego - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/02/25 * * ColdFusion language file for GeSHi. diff --git a/inc/geshi/chaiscript.php b/inc/geshi/chaiscript.php new file mode 100644 index 000000000..e1baad4db --- /dev/null +++ b/inc/geshi/chaiscript.php @@ -0,0 +1,140 @@ + 'ChaiScript', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + //Regular Expressions + 'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'break', 'else', 'else if', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally', + ), + 2 => array( + 'def', 'false', 'fun', 'true', 'var', 'attr', + ), + 3 => array( + // built in functions + 'throw', + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', + '+', '-', '*', '/', '%', + '!', '@', '&', '|', '^', + '<', '>', '=', + ',', ';', '?', ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000066; font-weight: bold;', + 2 => 'color: #003366; font-weight: bold;', + 3 => 'color: #000066;' + ), + 'COMMENTS' => array( + 1 => 'color: #006600; font-style: italic;', + 2 => 'color: #009966; font-style: italic;', + 'MULTI' => 'color: #006600; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #3366CC;' + ), + 'NUMBERS' => array( + 0 => 'color: #CC0000;' + ), + 'METHODS' => array( + 1 => 'color: #660066;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array( + 0 => array( + ), + 1 => array( + ) + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + 0 => true, + 1 => true + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/cil.php b/inc/geshi/cil.php index 4ca93ecb0..142c7743a 100644 --- a/inc/geshi/cil.php +++ b/inc/geshi/cil.php @@ -4,7 +4,7 @@ * -------- * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com) * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/10/24 * * CIL (Common Intermediate Language) language file for GeSHi. diff --git a/inc/geshi/clojure.php b/inc/geshi/clojure.php index b970deea8..4bcb9a3ae 100644 --- a/inc/geshi/clojure.php +++ b/inc/geshi/clojure.php @@ -4,7 +4,7 @@ * -------- * Author: Jess Johnson (jess@grok-code.com) * Copyright: (c) 2009 Jess Johnson (http://grok-code.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/09/20 * * Clojure language file for GeSHi. @@ -51,10 +51,10 @@ $language_data = array ( 'defn', 'defn-', 'defmulti', 'defmethod', 'defmacro', 'deftest', 'defstruct', 'def', 'defonce', 'let', 'letfn', 'do', 'cond', 'condp', 'for', 'loop', 'recur', 'when', 'when-not', 'when-let', 'when-first', - 'if', 'if-let', 'if-not', 'doto', 'and', 'or', + 'if', 'if-let', 'if-not', 'doto', 'and', 'or','not','aget','aset', 'dosync', 'doseq', 'dotimes', 'dorun', 'doall', - 'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', - 'try', 'catch', 'finally', 'throw', + 'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print', + 'try', 'catch', 'finally', 'throw', 'fn', 'update-in', 'with-open', 'with-local-vars', 'binding', 'gen-class', 'gen-and-load-class', 'gen-and-save-class', 'implement', 'proxy', 'lazy-cons', 'with-meta', @@ -72,7 +72,7 @@ $language_data = array ( 'line-seq', 'resultset-seq', 're-seq', 're-find', 'tree-seq', 'file-seq', 'iterator-seq', 'enumeration-seq', 'declare', 'xml-seq', 'symbol?', 'string?', 'vector', 'conj', 'str', - 'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'format', + 'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'dec', 'format', 'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off' ) ), diff --git a/inc/geshi/cmake.php b/inc/geshi/cmake.php index a9cfaafdc..ccd855b0b 100644 --- a/inc/geshi/cmake.php +++ b/inc/geshi/cmake.php @@ -4,7 +4,7 @@ * ------- * Author: Daniel Nelson (danieln@eng.utah.edu) * Copyright: (c) 2009 Daniel Nelson - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/04/06 * * CMake language file for GeSHi. diff --git a/inc/geshi/cobol.php b/inc/geshi/cobol.php index 63abf3f09..c1220a06f 100644 --- a/inc/geshi/cobol.php +++ b/inc/geshi/cobol.php @@ -4,7 +4,7 @@ * ---------- * Author: BenBE (BenBE@omorphia.org) * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/07/02 * * COBOL language file for GeSHi. diff --git a/inc/geshi/cpp-qt.php b/inc/geshi/cpp-qt.php index a96cd38af..8523d16b7 100644 --- a/inc/geshi/cpp-qt.php +++ b/inc/geshi/cpp-qt.php @@ -4,7 +4,7 @@ * ------- * Author: Iulian M * Copyright: (c) 2006 Iulian M - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/09/27 * * C++ (with QT extensions) language file for GeSHi. @@ -89,7 +89,7 @@ $language_data = array ( 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC', 'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace', 'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast', - 'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' , + 'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' , 'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS', 'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK' ), @@ -120,7 +120,21 @@ $language_data = array ( 'register', 'short', 'shortint', 'signed', 'static', 'struct', 'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf', 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t', - 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', + 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t' ), 5 => array( "Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG", diff --git a/inc/geshi/cpp.php b/inc/geshi/cpp.php index 7fb1da360..30f5a93f2 100644 --- a/inc/geshi/cpp.php +++ b/inc/geshi/cpp.php @@ -7,7 +7,7 @@ * - M. Uli Kusterer (witness.of.teachtext@gmx.net) * - Jack Lloyd (lloyd@randombit.net) * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/09/27 * * C++ language file for GeSHi. @@ -97,7 +97,7 @@ $language_data = array ( 'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC', 'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace', 'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast', - 'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' + 'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' ), 3 => array( 'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this', @@ -126,7 +126,21 @@ $language_data = array ( 'register', 'short', 'shortint', 'signed', 'static', 'struct', 'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf', 'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t', - 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', + 'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t', + + 'int8', 'int16', 'int32', 'int64', + 'uint8', 'uint16', 'uint32', 'uint64', + + 'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t', + 'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t', + + 'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t', + 'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t', + + 'int8_t', 'int16_t', 'int32_t', 'int64_t', + 'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t', + + 'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t' ), ), 'SYMBOLS' => array( diff --git a/inc/geshi/csharp.php b/inc/geshi/csharp.php index aa166801d..6a9c3c2bd 100644 --- a/inc/geshi/csharp.php +++ b/inc/geshi/csharp.php @@ -5,7 +5,7 @@ * Author: Alan Juden (alan@judenware.org) * Revised by: Michael Mol (mikemol@gmail.com) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * C# language file for GeSHi. diff --git a/inc/geshi/css.php b/inc/geshi/css.php index 04313d6d8..51f261486 100644 --- a/inc/geshi/css.php +++ b/inc/geshi/css.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/18 * * CSS language file for GeSHi. diff --git a/inc/geshi/cuesheet.php b/inc/geshi/cuesheet.php index 2fd610c15..81c607c10 100644 --- a/inc/geshi/cuesheet.php +++ b/inc/geshi/cuesheet.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (benbe@geshi.org) * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/12/21 * * Cuesheet language file for GeSHi. diff --git a/inc/geshi/d.php b/inc/geshi/d.php index f9157a514..5ef349d52 100644 --- a/inc/geshi/d.php +++ b/inc/geshi/d.php @@ -4,7 +4,7 @@ * ----- * Author: Thomas Kuehne (thomas@kuehne.cn) * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/04/22 * * D language file for GeSHi. diff --git a/inc/geshi/dcs.php b/inc/geshi/dcs.php index daad329c3..4762ed906 100644 --- a/inc/geshi/dcs.php +++ b/inc/geshi/dcs.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Stelio Passaris (GeSHi@stelio.net) * Copyright: (c) 2009 Stelio Passaris (http://stelio.net/stiki/GeSHi) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/01/20 * * DCS language file for GeSHi. diff --git a/inc/geshi/delphi.php b/inc/geshi/delphi.php index 2b758d7db..ff54af8f9 100644 --- a/inc/geshi/delphi.php +++ b/inc/geshi/delphi.php @@ -4,7 +4,7 @@ * ---------- * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/26 * * Delphi (Object Pascal) language file for GeSHi. diff --git a/inc/geshi/diff.php b/inc/geshi/diff.php index f1a4baf65..5570406da 100644 --- a/inc/geshi/diff.php +++ b/inc/geshi/diff.php @@ -4,7 +4,7 @@ * -------- * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu) * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/12/29 * * Diff-output language file for GeSHi. diff --git a/inc/geshi/div.php b/inc/geshi/div.php index 5804bb727..276e9e882 100644 --- a/inc/geshi/div.php +++ b/inc/geshi/div.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Gabriel Lorenzo (ermakina@gmail.com) * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/06/19 * * DIV language file for GeSHi. diff --git a/inc/geshi/dos.php b/inc/geshi/dos.php index c111e1b5e..9484d3766 100644 --- a/inc/geshi/dos.php +++ b/inc/geshi/dos.php @@ -4,7 +4,7 @@ * ------- * Author: Alessandro Staltari (staltari@geocities.com) * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/07/05 * * DOS language file for GeSHi. @@ -64,7 +64,10 @@ $language_data = array ( 'COMMENT_SINGLE' => array(), 'COMMENT_MULTI' => array(), //DOS comment lines - 'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"), + 'COMMENT_REGEXP' => array( + 1 => "/^\s*@?REM\b.*$/mi", + 2 => "/^\s*::.*$/m" + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array(), 'ESCAPE_CHAR' => '', @@ -114,7 +117,8 @@ $language_data = array ( 4 => 'color: #0000ff; font-weight: bold;' ), 'COMMENTS' => array( - 1 => 'color: #808080; font-style: italic;' + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #b100b1; font-style: italic;', ), 'ESCAPE_CHAR' => array( 0 => 'color: #ff0000; font-weight: bold;' @@ -195,4 +199,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/dot.php b/inc/geshi/dot.php index 6e4df2fff..04b6792d7 100644 --- a/inc/geshi/dot.php +++ b/inc/geshi/dot.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Adrien Friggeri (adrien@friggeri.net) * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/05/30 * * dot language file for GeSHi. diff --git a/inc/geshi/ecmascript.php b/inc/geshi/ecmascript.php new file mode 100644 index 000000000..3e61b57cb --- /dev/null +++ b/inc/geshi/ecmascript.php @@ -0,0 +1,210 @@ + 'ECMAScript', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + // Regular Expression Literals + 'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + //Simple Single Char Escapes + 1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i", + //Hexadecimal Char Specs + 2 => "#\\\\x[\da-fA-F]{2}#", + //Hexadecimal Char Specs + 3 => "#\\\\u[\da-fA-F]{4}#", + //Hexadecimal Char Specs + 4 => "#\\\\U[\da-fA-F]{8}#", + //Octal Char Specs + 5 => "#\\\\[0-7]{1,3}#" + ), + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B | + GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI | + GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO, + 'KEYWORDS' => array( + 1 => array( // Reserved literals + 'false', 'true', + 'null' + ), + 2 => array( // Main keywords + 'break', 'case', 'catch', 'continue', 'default', 'delete', 'do', 'else', + 'finally', 'for', 'function', 'if', 'in', 'instanceof', 'new', 'return', + 'switch', 'this', 'throw', 'try', 'typeof', 'var', 'void', 'while', + 'with' + ), + 3 => array( // Extra keywords or keywords reserved for future use + 'abstract', 'as', 'boolean', 'byte', 'char', 'class', 'const', 'debugger', + 'double', 'enum', 'export', 'extends', 'final', 'float', 'goto', 'implements', + 'import', 'int', 'interface', 'is', 'long', 'native', 'namespace', 'package', + 'private', 'protected', 'public', 'short', 'static', 'super', 'synchronized', 'throws', + 'transient', 'use', 'volatile' + ), + 4 => array( // Operators + 'get', 'set' + ), + 5 => array( // Built-in object classes + 'Array', 'Boolean', 'Date', 'EvalError', 'Error', 'Function', 'Math', 'Number', + 'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError' + ), + 6 => array( // Global properties + 'Infinity', 'NaN', 'undefined' + ), + 7 => array( // Global methods + 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', + 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', + // The escape and unescape functions do not work properly for non-ASCII characters and have been deprecated. + // In JavaScript 1.5 and later, use encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent. + 'escape', 'unescape' + ), + 8 => array( // Function's arguments + 'arguments' + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '{', '}', + '+', '-', '*', '/', '%', + '!', '.', '&', '|', '^', + '<', '>', '=', '~', + ',', ';', '?', ':' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #009999;', + 2 => 'color: #1500C8;', + 3 => 'color: #1500C8;', + 4 => 'color: #1500C8;', + 5 => 'color: #1500C8;', + 6 => 'color: #1500C8;', + 7 => 'color: #1500C8;', + 8 => 'color: #1500C8;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #CC0000;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #3366CC;', + 1 => 'color: #3366CC;', + 2 => 'color: #3366CC;', + 3 => 'color: #3366CC;', + 4 => 'color: #3366CC;', + 5 => 'color: #3366CC;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #008800;' + ), + 'STRINGS' => array( + 0 => 'color: #9900FF;' + ), + 'NUMBERS' => array( + 0 => 'color: #FF00FF;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #FF00FF;', + GESHI_NUMBER_OCT_PREFIX => 'color: #FF00FF;', + GESHI_NUMBER_HEX_PREFIX => 'color: #FF00FF;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color: #FF00FF;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color: #FF00FF;', + GESHI_NUMBER_FLT_NONSCI_F => 'color: #FF00FF;', + GESHI_NUMBER_FLT_NONSCI => 'color: #FF00FF;' + ), + 'METHODS' => array( + 1 => 'color: #660066;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + 0 => '', + 1 => '', + 2 => '', + 3 => '' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> \ No newline at end of file diff --git a/inc/geshi/eiffel.php b/inc/geshi/eiffel.php index fa293c074..89cef7965 100644 --- a/inc/geshi/eiffel.php +++ b/inc/geshi/eiffel.php @@ -4,7 +4,7 @@ * ---------- * Author: Zoran Simic (zsimic@axarosenberg.com) * Copyright: (c) 2005 Zoran Simic - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/06/30 * * Eiffel language file for GeSHi. diff --git a/inc/geshi/email.php b/inc/geshi/email.php index a902433bf..91a104840 100644 --- a/inc/geshi/email.php +++ b/inc/geshi/email.php @@ -4,7 +4,7 @@ * --------------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/10/19 * * Email (mbox \ eml \ RFC format) language file for GeSHi. diff --git a/inc/geshi/erlang.php b/inc/geshi/erlang.php index cb7f25bf8..d98de2f37 100644 --- a/inc/geshi/erlang.php +++ b/inc/geshi/erlang.php @@ -7,7 +7,7 @@ * - Uwe Dauernheim (uwe@dauernheim.net) * - Dan Forest-Barbier (dan@twisted.in) * Copyright: (c) 2008 Uwe Dauernheim (http://www.kreisquadratur.de/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008-09-27 * * Erlang language file for GeSHi. @@ -381,7 +381,7 @@ $language_data = array( ), // Functions 3 => array( - GESHI_SEARCH => '([a-z][a-zA-Z0-9_]*|\'[a-zA-Z0-9_]*\')\s*(\()', + GESHI_SEARCH => '([a-z]\w*|\'\w*\')(\s*\()', GESHI_REPLACE => '\1', GESHI_MODIFIERS => '', GESHI_BEFORE => '', @@ -397,7 +397,7 @@ $language_data = array( ), // Variables - With hack to avoid interfering wish GeSHi internals 5 => array( - GESHI_SEARCH => '([([{,<+*-\/=\s!]|<)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)[^a-zA-Z0-9_])([A-Z_][a-zA-Z0-9_]*)', + GESHI_SEARCH => '([([{,<+*-\/=\s!]|<)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)\W)([A-Z_]\w*)(?!\w)', GESHI_REPLACE => '\2', GESHI_MODIFIERS => '', GESHI_BEFORE => '\1', diff --git a/inc/geshi/fo.php b/inc/geshi/fo.php index aa4567961..3a1d24021 100644 --- a/inc/geshi/fo.php +++ b/inc/geshi/fo.php @@ -4,7 +4,7 @@ * -------- * Author: Tan-Vinh Nguyen (tvnguyen@web.de) * Copyright: (c) 2009 Tan-Vinh Nguyen - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/03/23 * * fo language file for GeSHi. diff --git a/inc/geshi/fortran.php b/inc/geshi/fortran.php index 7b390eda7..6eac52ae0 100644 --- a/inc/geshi/fortran.php +++ b/inc/geshi/fortran.php @@ -4,7 +4,7 @@ * ----------- * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr) * Copyright: (C) 2006 Cetric Arrabie - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/04/22 * * Fortran language file for GeSHi. diff --git a/inc/geshi/freebasic.php b/inc/geshi/freebasic.php index faeee92f9..35fc8ca6f 100644 --- a/inc/geshi/freebasic.php +++ b/inc/geshi/freebasic.php @@ -4,7 +4,7 @@ * ------------- * Author: Roberto Rossi * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/08/19 * * FreeBasic (http://www.freebasic.net/) language file for GeSHi. diff --git a/inc/geshi/fsharp.php b/inc/geshi/fsharp.php index 7743d3643..56146958c 100644 --- a/inc/geshi/fsharp.php +++ b/inc/geshi/fsharp.php @@ -4,7 +4,7 @@ * ---------- * Author: julien ortin (jo_spam-divers@yahoo.fr) * Copyright: (c) 2009 julien ortin - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/09/20 * * F# language file for GeSHi. diff --git a/inc/geshi/gambas.php b/inc/geshi/gambas.php index a848440df..0fc89bb59 100644 --- a/inc/geshi/gambas.php +++ b/inc/geshi/gambas.php @@ -5,7 +5,7 @@ * Author: Jesus Guardon (jguardon@telefonica.net) * Copyright: (c) 2009 Jesus Guardon (http://gambas-es.org), * Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/20 * * GAMBAS language file for GeSHi. diff --git a/inc/geshi/gdb.php b/inc/geshi/gdb.php index 10a35cd38..ed7ee2ffa 100644 --- a/inc/geshi/gdb.php +++ b/inc/geshi/gdb.php @@ -4,7 +4,7 @@ * -------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2009 Milian Wolff - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/06/24 * * GDB language file for GeSHi. diff --git a/inc/geshi/genero.php b/inc/geshi/genero.php index 0b5611627..a7ccf5fee 100644 --- a/inc/geshi/genero.php +++ b/inc/geshi/genero.php @@ -4,7 +4,7 @@ * ---------- * Author: Lars Gersmann (lars.gersmann@gmail.com) * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/07/01 * * Genero (FOURJ's Genero 4GL) language file for GeSHi. diff --git a/inc/geshi/genie.php b/inc/geshi/genie.php new file mode 100644 index 000000000..66bea6dc7 --- /dev/null +++ b/inc/geshi/genie.php @@ -0,0 +1,157 @@ + 'Genie', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Using and Namespace directives (basic support) + //Please note that the alias syntax for using is not supported + 3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'HARDQUOTE' => array('@"', '"'), + 'HARDESCAPE' => array('""'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'and', 'as', 'abstract', 'break', 'case', 'cast', 'catch', 'const', + 'construct', 'continue', 'default', 'def', 'delete', 'div', + 'dynamic', 'do', 'downto', 'else', 'ensures', 'except', 'extern', + 'false', 'final', 'finally', 'for', 'foreach', 'get', 'if', 'in', + 'init', 'inline', 'internal', 'implements', 'lock', 'not', 'null', + 'of', 'or', 'otherwise', 'out', 'override', 'pass', 'raise', + 'raises', 'readonly', 'ref', 'requires', 'self', 'set', 'static', + 'super', 'switch', 'to', 'true', 'try', 'unless', 'uses', 'var', 'virtual', + 'volatile', 'void', 'when', 'while' + ), +// 2 => array( +// ), + 3 => array( + 'is', 'isa', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', + 'unowned', 'weak' + ), + 4 => array( + 'bool', 'byte', 'class', 'char', 'date', 'datetime', 'decimal', 'delegate', + 'double', 'enum', 'event', 'exception', 'float', 'int', 'interface', + 'long', 'object', 'prop', 'sbyte', 'short', 'single', 'string', + 'struct', 'ulong', 'ushort' + ), +// 5 => array( +// ), + ), + 'SYMBOLS' => array( + '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';', + '(', ')', '{', '}', '[', ']', '|' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, +// 2 => false, + 3 => false, + 4 => false, +// 5 => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0600FF;', +// 2 => 'color: #FF8000; font-weight: bold;', + 3 => 'color: #008000;', + 4 => 'color: #FF0000;', +// 5 => 'color: #000000;' + ), + 'COMMENTS' => array( + 1 => 'color: #008080; font-style: italic;', +// 2 => 'color: #008080;', + 3 => 'color: #008080;', + 'MULTI' => 'color: #008080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #008080; font-weight: bold;', + 'HARD' => 'color: #008080; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000000;' + ), + 'STRINGS' => array( + 0 => 'color: #666666;', + 'HARD' => 'color: #666666;' + ), + 'NUMBERS' => array( + 0 => 'color: #FF0000;' + ), + 'METHODS' => array( + 1 => 'color: #0000FF;', + 2 => 'color: #0000FF;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', +// 2 => '', + 3 => '', + 4 => '', +// 5 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?|^])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])" + ) + ) +); + +?> diff --git a/inc/geshi/gettext.php b/inc/geshi/gettext.php index 10201bd1a..e1c88e185 100644 --- a/inc/geshi/gettext.php +++ b/inc/geshi/gettext.php @@ -4,7 +4,7 @@ * -------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/05/25 * * GNU Gettext .po/.pot language file for GeSHi. diff --git a/inc/geshi/glsl.php b/inc/geshi/glsl.php index 8f521bfc1..f9a37ed07 100644 --- a/inc/geshi/glsl.php +++ b/inc/geshi/glsl.php @@ -4,7 +4,7 @@ * ----- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/03/20 * * glSlang language file for GeSHi. diff --git a/inc/geshi/gml.php b/inc/geshi/gml.php index ec7cb5512..3f8a06c4f 100644 --- a/inc/geshi/gml.php +++ b/inc/geshi/gml.php @@ -4,7 +4,7 @@ * -------- * Author: Jos� Jorge Enr�quez (jenriquez@users.sourceforge.net) * Copyright: (c) 2005 Jos� Jorge Enr�quez Rodr�guez (http://www.zonamakers.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/06/21 * * GML language file for GeSHi. diff --git a/inc/geshi/gnuplot.php b/inc/geshi/gnuplot.php index b4762156c..980561d35 100644 --- a/inc/geshi/gnuplot.php +++ b/inc/geshi/gnuplot.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/07/07 * * Gnuplot script language file for GeSHi. diff --git a/inc/geshi/groovy.php b/inc/geshi/groovy.php index 0270d0135..f2a2e9ab5 100644 --- a/inc/geshi/groovy.php +++ b/inc/geshi/groovy.php @@ -4,7 +4,7 @@ * ---------- * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com) * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/04/29 * * Groovy language file for GeSHi. diff --git a/inc/geshi/gwbasic.php b/inc/geshi/gwbasic.php new file mode 100644 index 000000000..7b2385de7 --- /dev/null +++ b/inc/geshi/gwbasic.php @@ -0,0 +1,153 @@ + 'GwBasic', + 'COMMENT_SINGLE' => array(1 => "'", 2=> "REM"), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + /* Statements */ + 1 => array('END','FOR','NEXT','DATA','INPUT','DIM','READ','LET', + 'GOTO','RUN','IF','RESTORE','GOSUB','RETURN','REM', + 'STOP','PRINT','CLEAR','LIST','NEW','ON','WAIT','DEF', + 'POKE','CONT','OUT','LPRINT','LLIST','WIDTH','ELSE', + 'TRON','TROFF','SWAP','ERASE','EDIT','ERROR','RESUME', + 'DELETE','AUTO','RENUM','DEFSTR','DEFINT','DEFSNG', + 'DEFDBL','LINE','WHILE','WEND','CALL','WRITE','OPTION', + 'RANDOMIZE','OPEN','CLOSE','LOAD','MERGE','SAVE', + 'COLOR','CLS','MOTOR','BSAVE','BLOAD','SOUND','BEEP', + 'PSET','PRESET','SCREEN','KEY','LOCATE','TO','THEN', + 'STEP','USR','FN','SPC','NOT','ERL','ERR','STRING', + 'USING','INSTR','VARPTR','CSRLIN','POINT','OFF', + 'FILES','FIELD','SYSTEM','NAME','LSET','RSET','KILL', + 'PUT','GET','RESET','COMMON','CHAIN','PAINT','COM', + 'CIRCLE','DRAW','PLAY','TIMER','IOCTL','CHDIR','MKDIR', + 'RMDIR','SHELL','VIEW','WINDOW','PMAP','PALETTE','LCOPY', + 'CALLS','PCOPY','LOCK','UNLOCK','RANDOM','APPEND', + ), + 2 => array( + /* Functions */ + 'CVI','CVS','CVD','MKI','MKS','MKD','ENVIRON', + 'LEFT','RIGHT','MID','SGN','INT','ABS', + 'SQR','SIN','LOG','EXP','COS','TAN','ATN', + 'FRE','INP','POS','LEN','STR','VAL','ASC', + 'CHR','PEEK','SPACE','OCT','HEX','LPOS', + 'CINT','CSNG','CDBL','FIX','PEN','STICK', + 'STRIG','EOF','LOC','LOF' + ), + 3 => array( + /* alpha Operators */ + 'AND','OR','XOR','EQV','IMP','MOD' + ), + 4 => array( + /* parameterless functions */ + 'INKEY','DATE','TIME','ERDEV','RND' + ) + ), + 'SYMBOLS' => array( + 0 => array( + '>','=','<','+','-','*','/','^','\\' + ), + 1 => array( + '?' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00a1a1;font-weight: bold', + 2 => 'color: #000066;font-weight: bold', + 3 => 'color: #00a166;font-weight: bold', + 4 => 'color: #0066a1;font-weight: bold' + ), + 'COMMENTS' => array( + 1 => 'color: #808080;', + 2 => 'color: #808080;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + /* Same as KEYWORDS[3] (and, or, not...) */ + 0 => 'color: #00a166;font-weight: bold', + 1 => 'color: #00a1a1;font-weight: bold', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + 1 => 'color: #708090' + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 1 => '^[0-9]+ ' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/haskell.php b/inc/geshi/haskell.php index 024382deb..4997a26c3 100644 --- a/inc/geshi/haskell.php +++ b/inc/geshi/haskell.php @@ -4,7 +4,7 @@ * ---------- * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/08/27 * * Haskell language file for GeSHi. @@ -41,7 +41,10 @@ $language_data = array ( 'LANG_NAME' => 'Haskell', 'COMMENT_SINGLE' => array( 1 => '--'), 'COMMENT_MULTI' => array('{-' => '-}'), - 'COMMENT_REGEXP' => array(2 => "/-->/"), + 'COMMENT_REGEXP' => array( + 2 => "/-->/", + 3 => "/{-(?:(?R)|.)-}/s", //Nested Comments + ), 'CASE_KEYWORDS' => 0, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => "\\", @@ -146,7 +149,8 @@ $language_data = array ( 'COMMENTS' => array( 1 => 'color: #5d478b; font-style: italic;', 2 => 'color: #339933; font-weight: bold;', - 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */ + 3 => 'color: #5d478b; font-style: italic;', /* light purple */ + 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */ ), 'ESCAPE_CHAR' => array( 0 => 'background-color: #3cb371; font-weight: bold;' @@ -195,4 +199,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/hicest.php b/inc/geshi/hicest.php new file mode 100644 index 000000000..6cb61f87c --- /dev/null +++ b/inc/geshi/hicest.php @@ -0,0 +1,108 @@ + 'HicEst', + 'COMMENT_SINGLE' => array(1 => '!'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', '\''), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + '$cmd_line', 'abs', 'acos', 'alarm', 'alias', 'allocate', 'appendix', 'asin', 'atan', 'axis', 'beep', + 'call', 'ceiling', 'char', 'character', 'com', 'continue', 'cos', 'cosh', 'data', 'diffeq', 'dimension', 'dlg', 'dll', + 'do', 'edit', 'else', 'elseif', 'end', 'enddo', 'endif', 'exp', 'floor', 'function', 'fuz', 'goto', 'iand', 'ichar', + 'ieor', 'if', 'index', 'init', 'int', 'intpol', 'ior', 'key', 'len', 'len_trim', 'line', 'lock', 'log', 'max', 'maxloc', + 'min', 'minloc', 'mod', 'nint', 'not', 'open', 'pop', 'ran', 'read', 'real', 'return', 'rgb', 'roots', 'sign', 'sin', + 'sinh', 'solve', 'sort', 'subroutine', 'sum', 'system', 'tan', 'tanh', 'then', 'time', 'use', 'window', 'write', 'xeq' + ) + ), + 'SYMBOLS' => array( + 1 => array( + '(', ')', '+', '-', '*', '/', '=', '<', '>', '!', '^', ':', ',' + ), + 2 => array( + '$', '$$' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #ff0000;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #0000ff;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;', + 2 => 'color: #ff0000;' + ), + 'REGEXPS' => array(), + 'SCRIPT' => array() + ), + 'URLS' => array(1 => ''), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array() +); + +?> \ No newline at end of file diff --git a/inc/geshi/hq9plus.php b/inc/geshi/hq9plus.php index 89af3bee8..50a0f80c6 100644 --- a/inc/geshi/hq9plus.php +++ b/inc/geshi/hq9plus.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/31 * * HQ9+ language file for GeSHi. diff --git a/inc/geshi/html4strict.php b/inc/geshi/html4strict.php index 08c7f30c7..301513e4e 100644 --- a/inc/geshi/html4strict.php +++ b/inc/geshi/html4strict.php @@ -4,7 +4,7 @@ * --------------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/10 * * HTML 4.01 strict language file for GeSHi. diff --git a/inc/geshi/icon.php b/inc/geshi/icon.php new file mode 100644 index 000000000..0712c21c3 --- /dev/null +++ b/inc/geshi/icon.php @@ -0,0 +1,212 @@ + 'Icon', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', '\''), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'break', 'case', 'continue', 'create', 'default', 'do', 'else', + 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', + 'initially', 'invocable', 'link', 'next', 'not', 'of', 'package', + 'procedure', 'record', 'repeat', 'return', 'switch', 'suspend', + 'then', 'to', 'until', 'while' + ), + 2 => array( + 'global', 'local', 'static' + ), + 3 => array( + 'allocated', 'ascii', 'clock', 'collections', + 'column', 'cset', 'current', 'date', 'dateline', 'digits', + 'dump', 'e', 'error', 'errornumber', 'errortext', + 'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue', + 'fail', 'features', 'file', 'host', 'input', 'lcase', + 'letters', 'level', 'line', 'main', 'now', 'null', + 'output', 'phi', 'pi', 'pos', 'progname', 'random', + 'regions', 'source', 'storage', 'subject', 'syserr', 'time', + 'trace', 'ucase', 'version', 'col', 'control', 'interval', + 'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress', + 'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease', + 'shift', 'window', 'x', 'y' + ), + 4 => array( + 'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char', + 'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'delay', 'delete', + 'detab', 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', + 'exp', 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', + 'getche', 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', + 'insert', 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc', + 'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric', + 'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull', + 'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse', + 'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set', + 'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'stop', 'string', 'system', 'tab', + 'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where', + 'write', 'writes' + ), + 5 => array( + 'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue', + 'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk', + 'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment', + 'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc', + 'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY', + 'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor', + 'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate', + 'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate', + 'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib', + 'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync' + ), + 6 => array( + 'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error', + 'line', 'undef' + ), + 7 => array( + '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386', + '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM', + '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING', + '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS', + '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS', + '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS', + '_DOS_FUNCTIONS' + ), + 8 => array( + 'line' + ) + ), + 'SYMBOLS' => array( + 1 => array( + '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^', + '&', '|', '?', ':', ';', ',', '.', '~', '@' + ), + 2 => array( + '$(', '$)', '$<', '$>', '$' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #b1b100;', + 3 => 'color: #b1b100;', + 4 => 'color: #b1b100;', + 5 => 'color: #b1b100;', + 6 => 'color: #b1b100;', + 7 => 'color: #b1b100;', + 8 => 'color: #b1b100;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #0000ff;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;', + 2 => 'color: #b1b100;' + ), + 'REGEXPS' => array(), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array(1 => '.'), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 3 => array( + 'DISALLOWED_BEFORE' => '(?<=&)' + ), + 4 => array( + 'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])" + ), + 6 => array( + 'DISALLOWED_BEFORE' => '(?<=\$)' + ), + 8 => array( + 'DISALLOWED_BEFORE' => '(?<=#)' + ) + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/idl.php b/inc/geshi/idl.php index 64472140a..d2d9a92fa 100644 --- a/inc/geshi/idl.php +++ b/inc/geshi/idl.php @@ -4,7 +4,7 @@ * ------- * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org) * Copyright: (c) 2006 Cedric Bosdonnat - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/08/20 * * Unoidl language file for GeSHi. diff --git a/inc/geshi/ini.php b/inc/geshi/ini.php index ae0e81ec4..e48cc045c 100644 --- a/inc/geshi/ini.php +++ b/inc/geshi/ini.php @@ -4,7 +4,7 @@ * -------- * Author: deguix (cevo_deguix@yahoo.com.br) * Copyright: (c) 2005 deguix - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/03/27 * * INI language file for GeSHi. diff --git a/inc/geshi/inno.php b/inc/geshi/inno.php index 6d1b97965..9ec8cdfd9 100644 --- a/inc/geshi/inno.php +++ b/inc/geshi/inno.php @@ -4,7 +4,7 @@ * ---------- * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from J�rja Norbert (jnorbi@vipmail.hu) * Copyright: (c) 2004 J�rja Norbert, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/07/29 * * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi. diff --git a/inc/geshi/intercal.php b/inc/geshi/intercal.php index 958f886ce..cd800a8eb 100644 --- a/inc/geshi/intercal.php +++ b/inc/geshi/intercal.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/31 * * INTERCAL language file for GeSHi. diff --git a/inc/geshi/io.php b/inc/geshi/io.php index eb4d8646e..94c278f03 100644 --- a/inc/geshi/io.php +++ b/inc/geshi/io.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/09/23 * * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help diff --git a/inc/geshi/j.php b/inc/geshi/j.php new file mode 100644 index 000000000..61154c7ef --- /dev/null +++ b/inc/geshi/j.php @@ -0,0 +1,227 @@ + 'J', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 1 => '/(? '/(?<=\bNote\b).*?$\s+\)(?:(?!\n)\s)*$/sm', //multiline comments in Note + 3 => "/'[^']*?$/m" //incomplete strings/open quotes + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '', + 'HARDQUOTE' => array("'", "'"), + 'HARDESCAPE' => array("'"), + 'HARDCHAR' => "'", + 'NUMBERS' => array( + //Some instances of infinity are not correctly handled by GeSHi NUMBERS currently + //There are two solutions labelled "infinity Method A" and "infinity Method B" + //infinity Method B - requires following adjustment to line 3349 of geshi.php + // preg_match('#\d#' becomes preg_match('#[\d_]#' + 0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?)(?![\w\.\:])', //infinity Method A + //0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?|__?)(?![\w\.\:])', //infinity Method B + ), + 'KEYWORDS' => array( + //Control words + 1 => array( + 'assert.', 'break.', 'case.', 'catch.', 'catcht.', 'continue.', 'do.', + 'else.', 'elseif.', 'end.', 'fcase.', 'for.', 'goto.', 'if.', 'label.', + 'return.', 'select.', 'throw.', 'trap.', 'try.', 'while.', 'whilst.' + ), + //Arguments + 2 => array( + 'm', 'n', 'u', 'v', 'x', 'y' + ), +/* +Commented out for now due to conflicts with Lang Check + //Primitives beginning with a symbol (except . or :) + 6 => array( + '=', '<', '<.', '<:', //verbs + '_:','>', '>.', '>:', + '+', '+.', '+:', '*', '*.', '*:', '-', '-.', '-:', '%', '%.', '%:', + '^', '^.', '$', '$.', '$:', '~.', '~:', '\|', '|.', '|:', + ',', ',.', ',:', ';', ';:', '#', '#.', '#:', '!', '/:', '\:', + '[', '[:', ']', '{', '{.', '{:', '{::', '}.', '}:', + '".', '":', '?', '?.', + '~', '\/;', '\\', '/.', '\\.', '}', //adverbs + '^:', ';.', '!.', '!:', //conj + '"', '`', '`:', '@', '@.', '@:', + '&', '&.', '&:', '&.:', + '_.', //nouns + '=.', '=:', //other + ), + //Primitives beginning with a letter or number + 7 => array( + 'A.', 'c.', 'C.', 'e.', 'E.', //verbs + 'i.', 'i:', 'I.', 'j.', 'L.', 'o.', + 'p.', 'p..', 'p:', 'q:', 'r.', 's:', 'u:', 'x:', + '_9:', '_8:', '_7:', '_6:', '_5:', '_4:', '_3:', '_2:', '_1:', + '0:', '1:', '2:', '3:', '4:', '5:', '6:', '7:', '8:', '9:', + 'b.', 'f.', 'M.', 't.', 't:', //adverbs + 'd.', 'D.', 'D:', 'H.', 'L:', 'S:', 'T.', //conj + 'a.', 'a:', //nouns + ), + //Primitives beginning with symbol . or : + 8 => array( + '..', '.:', '.', ':.', '::', ':', //conj + ), +*/ + ), + 'SYMBOLS' => array( + //Punctuation + 0 => array( + '(', ')' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, +// 6 => true, +// 7 => true, +// 8 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0000ff; font-weight: bold;', + 2 => 'color: #0000cc; font-weight: bold;', +// 6 => 'color: #000000; font-weight: bold;', +// 7 => 'color: #000000; font-weight: bold;', +// 8 => 'color: #000000; font-weight: bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #666666; font-style: italic; font-weight: bold;', + 3 => 'color: #ff00ff; ', //open quote + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 'HARD' => 'font-weight: bold;', + 0 => '', + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 'HARD' => 'color: #ff0000;', + 0 => 'color: #ff0000;', + ), + 'NUMBERS' => array( + 0 => 'color: #009999; font-weight: bold;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #009900; font-weight: bold;' + ), + 'REGEXPS' => array( + 0 => 'color: #0000ff; font-weight: bold;', //for_xyz. - same as kw1 + 1 => 'color: #009999; font-weight: bold;' //infinity - same as nu0 + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', //'http://www.jsoftware.com/help/dictionary/ctrl.htm', + 2 => '', +// 6 => '', //'http://www.jsoftware.com/jwiki/Vocabulary', +// 7 => '', //'http://www.jsoftware.com/jwiki/Vocabulary', +// 8 => '', //'http://www.jsoftware.com/jwiki/Vocabulary', + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + 0 => '\b(for|goto|label)_[a-zA-Z]\w*\.', //for_xyz. - should be kw1 + 1 => '\b__?(?![\w\.\:])' //infinity - should be nu0 + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'ENABLE_FLAGS' => array( + 'BRACKETS' => GESHI_NEVER, + ), + 'KEYWORDS' => array( + //Control words + 2 => array( + 'DISALLOWED_BEFORE' => '(? '(?![\w\.\:])', + ), + //Primtives starting with a symbol (except . or :) + 6 => array( + 'DISALLOWED_BEFORE' => '(?!K)', // effect should be to allow anything + 'DISALLOWED_AFTER' => '(?=.*)', + ), + //Primtives starting with a letter + 7 => array( + 'DISALLOWED_BEFORE' => '(? '(?=.*)', + ), + //Primtives starting with symbol . or : + 8 => array( + 'DISALLOWED_BEFORE' => '(?<=\s)', + 'DISALLOWED_AFTER' => '(?=.*)', + ), + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/java.php b/inc/geshi/java.php index b4080f7ac..3269dffe2 100644 --- a/inc/geshi/java.php +++ b/inc/geshi/java.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/10 * * Java language file for GeSHi. diff --git a/inc/geshi/java5.php b/inc/geshi/java5.php index 4abffc663..bc9af739a 100644 --- a/inc/geshi/java5.php +++ b/inc/geshi/java5.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/10 * * Java language file for GeSHi. @@ -56,7 +56,7 @@ $language_data = array ( 'COMMENT_MULTI' => array('/*' => '*/'), 'COMMENT_REGEXP' => array( //Import and Package directives (Basic Support only) - 2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i', + 2 => '/(?:(?<=import[\\n\\s](?!static))|(?<=import[\\n\\s]static[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i', // javadoc comments 3 => '#/\*\*(?![\*\/]).*\*/#sU' ), @@ -1025,6 +1025,12 @@ $language_data = array ( 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => '(?|^&"\'])', + 'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-;"\'])' + ) ) ); diff --git a/inc/geshi/javascript.php b/inc/geshi/javascript.php index 96c345477..429cdd653 100644 --- a/inc/geshi/javascript.php +++ b/inc/geshi/javascript.php @@ -4,7 +4,7 @@ * -------------- * Author: Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/20 * * JavaScript language file for GeSHi. diff --git a/inc/geshi/jquery.php b/inc/geshi/jquery.php index b4264cb1c..54e653ed1 100644 --- a/inc/geshi/jquery.php +++ b/inc/geshi/jquery.php @@ -4,7 +4,7 @@ * -------------- * Author: Rob Loach (http://www.robloach.net) * Copyright: (c) 2009 Rob Loach (http://www.robloach.net) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/07/20 * * jQuery 1.3 language file for GeSHi. diff --git a/inc/geshi/kixtart.php b/inc/geshi/kixtart.php index 3d37f8ce6..62cb54652 100644 --- a/inc/geshi/kixtart.php +++ b/inc/geshi/kixtart.php @@ -4,7 +4,7 @@ * -------- * Author: Riley McArdle (riley@glyff.net) * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/08/31 * * PHP language file for GeSHi. diff --git a/inc/geshi/klonec.php b/inc/geshi/klonec.php index 24f32dbc3..e47e597ef 100644 --- a/inc/geshi/klonec.php +++ b/inc/geshi/klonec.php @@ -4,7 +4,7 @@ * -------- * Author: AUGER Mickael * Copyright: Synchronic - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/04/16 * * KLone with C language file for GeSHi. diff --git a/inc/geshi/klonecpp.php b/inc/geshi/klonecpp.php index ad2844c6d..1a2d2082b 100644 --- a/inc/geshi/klonecpp.php +++ b/inc/geshi/klonecpp.php @@ -4,7 +4,7 @@ * -------- * Author: AUGER Mickael * Copyright: Synchronic - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/04/16 * * KLone with C++ language file for GeSHi. diff --git a/inc/geshi/latex.php b/inc/geshi/latex.php index ae7f0b3c5..1ba3d409e 100644 --- a/inc/geshi/latex.php +++ b/inc/geshi/latex.php @@ -4,7 +4,7 @@ * ----- * Author: efi, Matthias Pospiech (matthias@pospiech.eu) * Copyright: (c) 2006 efi, Matthias Pospiech (matthias@pospiech.eu), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/09/23 * * LaTeX language file for GeSHi. @@ -147,7 +147,7 @@ $language_data = array ( ), // [options] 2 => array( - GESHI_SEARCH => "(?<=\[).+(?=\])", + GESHI_SEARCH => "(?<=\[).*(?=\])", GESHI_REPLACE => '\0', GESHI_MODIFIERS => 'Us', GESHI_BEFORE => '', diff --git a/inc/geshi/lisp.php b/inc/geshi/lisp.php index 3ca20fdc5..a8f50691e 100644 --- a/inc/geshi/lisp.php +++ b/inc/geshi/lisp.php @@ -4,7 +4,7 @@ * -------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * Generic Lisp language file for GeSHi. @@ -73,7 +73,7 @@ $language_data = array ( 'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt', 'random','logand','logior','logxor','lognot','bignums','logeqv', 'lognand','lognor','logorc2','logtest','logbitp','logcount', - 'integer','nil','parse-integer' + 'integer','nil','parse-integer','make-list','print','write' ) ), 'SYMBOLS' => array( @@ -141,4 +141,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/locobasic.php b/inc/geshi/locobasic.php index e0cceea3d..a3e22a7be 100644 --- a/inc/geshi/locobasic.php +++ b/inc/geshi/locobasic.php @@ -4,7 +4,7 @@ * ------------- * Author: Nacho Cabanes * Copyright: (c) 2009 Nacho Cabanes (http://www.nachocabanes.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/03/22 * * Locomotive Basic (Amstrad CPC series) language file for GeSHi. diff --git a/inc/geshi/logtalk.php b/inc/geshi/logtalk.php index 3321e0de4..fb77bd6d3 100644 --- a/inc/geshi/logtalk.php +++ b/inc/geshi/logtalk.php @@ -5,7 +5,7 @@ * * Author: Paulo Moura (pmoura@logtalk.org) * Copyright: (c) 2009 Paulo Moura (http://logtalk.org/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/24 * * Logtalk language file for GeSHi. diff --git a/inc/geshi/lolcode.php b/inc/geshi/lolcode.php index 26e486d3a..a804913cc 100644 --- a/inc/geshi/lolcode.php +++ b/inc/geshi/lolcode.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/31 * * LOLcode language file for GeSHi. diff --git a/inc/geshi/lotusformulas.php b/inc/geshi/lotusformulas.php index 67fd4fa0a..862adbc82 100644 --- a/inc/geshi/lotusformulas.php +++ b/inc/geshi/lotusformulas.php @@ -4,7 +4,7 @@ * ------------------------ * Author: Richard Civil (info@richardcivil.net) * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/04/12 * * @Formula/@Command language file for GeSHi. diff --git a/inc/geshi/lotusscript.php b/inc/geshi/lotusscript.php index 5c1d61f92..1ef2f3eee 100644 --- a/inc/geshi/lotusscript.php +++ b/inc/geshi/lotusscript.php @@ -4,7 +4,7 @@ * ------------------------ * Author: Richard Civil (info@richardcivil.net) * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/04/12 * * LotusScript language file for GeSHi. diff --git a/inc/geshi/lscript.php b/inc/geshi/lscript.php index 33cd0163d..b7e313212 100644 --- a/inc/geshi/lscript.php +++ b/inc/geshi/lscript.php @@ -4,7 +4,7 @@ * --------- * Author: Arendedwinter (admin@arendedwinter.com) * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 15/11/2008 * * Lightwave Script language file for GeSHi. diff --git a/inc/geshi/lsl2.php b/inc/geshi/lsl2.php index 8b62fc219..e5f40969b 100644 --- a/inc/geshi/lsl2.php +++ b/inc/geshi/lsl2.php @@ -4,7 +4,7 @@ * -------- * Author: William Fry (william.fry@nyu.edu) * Copyright: (c) 2009 William Fry - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/02/04 * * Linden Scripting Language (LSL2) language file for GeSHi. diff --git a/inc/geshi/lua.php b/inc/geshi/lua.php index 2a630b2c8..abeaa54ea 100644 --- a/inc/geshi/lua.php +++ b/inc/geshi/lua.php @@ -4,7 +4,7 @@ * ------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/10 * * LUA language file for GeSHi. diff --git a/inc/geshi/m68k.php b/inc/geshi/m68k.php index 9aae868af..543b73c8b 100644 --- a/inc/geshi/m68k.php +++ b/inc/geshi/m68k.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/02/06 * * Motorola 68000 Assembler language file for GeSHi. diff --git a/inc/geshi/magiksf.php b/inc/geshi/magiksf.php new file mode 100644 index 000000000..f3da7fcf2 --- /dev/null +++ b/inc/geshi/magiksf.php @@ -0,0 +1,193 @@ + null, + 'LANG_NAME' => 'MagikSF', + 'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'), + 'COMMENT_MULTI' => array("_pragma(" => ")"), + //Multiline-continued single-line comments + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop', + '_method', '_endmethod', + '_protect', '_endprotect', '_protection', '_locking', + '_continue', + ), + 2 => array( + '_self', '_thisthread', '_pragma', '_private', '_abstract', + '_local', '_global', '_dynamic', '_package', '_constant', + '_import', '_iter', '_lock', '_optional', '_recursive', '_super' + ), + 3 => array( + '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over', + '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling', + '_finally', '_loopbody', '_return', '_leave', '_with' + ), + 4 => array( + '_false', '_true', '_maybe', '_unset', '_no_way' + ), + 5 => array( + '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter', + '_allresults', '_clone', '_xor' + ), + 6 => array( + 'def_slotted_exemplar', 'write_string', 'write', 'condition', + 'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant', + 'property_list', 'rope', 'def_property', 'def_mixin' + ), + ), + 'SYMBOLS' => array( + '(', ')', '{', '}', '[', ']', + '+', '-', '*', '/', '**', + '=', '<', '>', '<<', '>>', + ',', '$', + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #ff3f3f;', + 3 => 'color: #3f7f3f; font-weight: bold;', + 4 => 'color: #cc66cc;', + 5 => 'color: #ff3fff; font-weight: bold;', + 6 => 'font-weight: bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #339933; font-weight: bold;', + 2 => 'color: #993333;', + 3 => 'color: #339933;', + 'MULTI' => 'color: #7f7f7f; font-style: italic', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #ff3f3f;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #ff3f3f;' + ), + 'REGEXPS' => array( + 1 => 'color: #3f3fff;', + 2 => 'color: #3f3fff;', + 3 => 'color: #cc66cc;', + 4 => 'color: #7f3f7f; font-style: italic;', + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + 1 => array( + GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers + GESHI_REPLACE => '\\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 2 => array( + GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols + GESHI_REPLACE => '\\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 3 => array( + GESHI_SEARCH => '%space|%tab|%newline|%.', //characters + GESHI_REPLACE => '\\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + 4 => array( + GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[].*?[]))*', //symbols + GESHI_REPLACE => '\\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> \ No newline at end of file diff --git a/inc/geshi/make.php b/inc/geshi/make.php index 021265548..689552312 100644 --- a/inc/geshi/make.php +++ b/inc/geshi/make.php @@ -4,7 +4,7 @@ * -------- * Author: Neil Bird * Copyright: (c) 2008 Neil Bird - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/08/26 * * make language file for GeSHi. diff --git a/inc/geshi/mapbasic.php b/inc/geshi/mapbasic.php index 74be1f673..0025d4e22 100644 --- a/inc/geshi/mapbasic.php +++ b/inc/geshi/mapbasic.php @@ -4,7 +4,7 @@ * ------ * Author: Tomasz Berus (t.berus@gisodkuchni.pl) * Copyright: (c) 2009 Tomasz Berus (http://sourceforge.net/projects/mbsyntax/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/11/25 * * MapBasic language file for GeSHi. diff --git a/inc/geshi/matlab.php b/inc/geshi/matlab.php index f3ad34968..1f9c12b78 100644 --- a/inc/geshi/matlab.php +++ b/inc/geshi/matlab.php @@ -4,7 +4,7 @@ * ----------- * Author: Florian Knorn (floz@gmx.de) * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/02/09 * * Matlab M-file language file for GeSHi. @@ -215,7 +215,7 @@ $language_data = array ( ), 'REGEXPS' => array( //Complex numbers - 0 => '(? '(?html)' ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( @@ -224,4 +224,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/mirc.php b/inc/geshi/mirc.php index a27c6c265..1b7df83aa 100644 --- a/inc/geshi/mirc.php +++ b/inc/geshi/mirc.php @@ -4,7 +4,7 @@ * ----- * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com) * Copyright: (c) 2006 Alberto de Areba - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/05/29 * * mIRC Scripting language file for GeSHi. diff --git a/inc/geshi/mmix.php b/inc/geshi/mmix.php index efdb932f1..3e90dce29 100644 --- a/inc/geshi/mmix.php +++ b/inc/geshi/mmix.php @@ -4,7 +4,7 @@ * ------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/16 * * MMIX Assembler language file for GeSHi. diff --git a/inc/geshi/modula2.php b/inc/geshi/modula2.php new file mode 100644 index 000000000..042e7404a --- /dev/null +++ b/inc/geshi/modula2.php @@ -0,0 +1,136 @@ + 'Modula-2', + 'COMMENT_MULTI' => array('(*' => '*)'), + 'COMMENT_SINGLE' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'HARDQUOTE' => array("'", "'"), + 'HARDESCAPE' => array("''"), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( /* reserved words */ + 'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION', + 'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXIT', 'EXPORT', 'FOR', + 'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD', + 'MODULE', 'NOT', 'OF', 'OR', 'POINTER', 'PROCEDURE', 'QUALIFIED', + 'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE', + 'UNTIL', 'VAR', 'WHILE', 'WITH' + ), + 2 => array( /* pervasive constants */ + 'NIL', 'FALSE', 'TRUE', + ), + 3 => array( /* pervasive types */ + 'BITSET', 'CAP', 'CHR', 'DEC', 'DISPOSE', 'EXCL', 'FLOAT', + 'HALT', 'HIGH', 'INC', 'INCL', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD', + 'SIZE', 'TRUNC', 'VAL' + ), + 4 => array( /* pervasive functions and macros */ + 'ABS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER', + 'LONGCARD', 'LONGINT', 'LONGREAL', 'PROC', 'REAL' + ), + ), + 'SYMBOLS' => array( + ',', ':', '=', '+', '-', '*', '/', '#', '~' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', + 4 => 'color: #000066; font-weight: bold;' + ), + 'COMMENTS' => array( + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 'HARD' => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;', + 'HARD' => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #0066ee;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + 1 => '' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4 +); + +?> \ No newline at end of file diff --git a/inc/geshi/modula3.php b/inc/geshi/modula3.php index caff92788..ad827a3e6 100644 --- a/inc/geshi/modula3.php +++ b/inc/geshi/modula3.php @@ -4,7 +4,7 @@ * ---------- * Author: mbishop (mbishop@esoteriq.org) * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/01/21 * * Modula-3 language file for GeSHi. diff --git a/inc/geshi/mpasm.php b/inc/geshi/mpasm.php index d97f0b17f..59247ff69 100644 --- a/inc/geshi/mpasm.php +++ b/inc/geshi/mpasm.php @@ -4,7 +4,7 @@ * --------- * Author: Bakalex (bakalex@gmail.com) * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/12/6 * * Microchip Assembler language file for GeSHi. diff --git a/inc/geshi/mxml.php b/inc/geshi/mxml.php index a2073d3ab..df4c9d50e 100644 --- a/inc/geshi/mxml.php +++ b/inc/geshi/mxml.php @@ -4,7 +4,7 @@ * ------- * Author: David Spurr * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/10/04 * * MXML language file for GeSHi. Based on the XML file by Nigel McNie diff --git a/inc/geshi/mysql.php b/inc/geshi/mysql.php index 3bc6f9504..ca171733f 100644 --- a/inc/geshi/mysql.php +++ b/inc/geshi/mysql.php @@ -4,7 +4,7 @@ * --------- * Author: Marjolein Katsma (marjolein.is.back@gmail.com) * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008-12-12 * * MySQL language file for GeSHi. diff --git a/inc/geshi/newlisp.php b/inc/geshi/newlisp.php index ee2589a07..027e86588 100644 --- a/inc/geshi/newlisp.php +++ b/inc/geshi/newlisp.php @@ -4,7 +4,7 @@ * ---------- * Author: cormullion (cormullion@mac.com) Sept 2009 * Copyright: (c) 2009 Cormullion (http://unbalanced-parentheses.nfshost.com/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/09/30 * * newLISP language file for GeSHi. diff --git a/inc/geshi/nsis.php b/inc/geshi/nsis.php index d5f631101..5631a8389 100644 --- a/inc/geshi/nsis.php +++ b/inc/geshi/nsis.php @@ -4,7 +4,7 @@ * -------- * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/) * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/12/03 * * Nullsoft Scriptable Install System language file for GeSHi. diff --git a/inc/geshi/oberon2.php b/inc/geshi/oberon2.php index 35152b55f..8339f3fb8 100644 --- a/inc/geshi/oberon2.php +++ b/inc/geshi/oberon2.php @@ -4,7 +4,7 @@ * ---------- * Author: mbishop (mbishop@esoteriq.org) * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/02/10 * * Oberon-2 language file for GeSHi. diff --git a/inc/geshi/objc.php b/inc/geshi/objc.php index 084be7124..5a5c5940f 100644 --- a/inc/geshi/objc.php +++ b/inc/geshi/objc.php @@ -5,7 +5,7 @@ * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net) * Contributors: Quinn Taylor (quinntaylor@mac.com) * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * Objective-C language file for GeSHi. diff --git a/inc/geshi/ocaml-brief.php b/inc/geshi/ocaml-brief.php index d9e3124f0..2e2a82fb2 100644 --- a/inc/geshi/ocaml-brief.php +++ b/inc/geshi/ocaml-brief.php @@ -4,7 +4,7 @@ * ---------- * Author: Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/08/27 * * OCaml (Objective Caml) language file for GeSHi. diff --git a/inc/geshi/ocaml.php b/inc/geshi/ocaml.php index a14d2dec1..46e6a22aa 100644 --- a/inc/geshi/ocaml.php +++ b/inc/geshi/ocaml.php @@ -4,7 +4,7 @@ * ---------- * Author: Flaie (fireflaie@gmail.com) * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/08/27 * * OCaml (Objective Caml) language file for GeSHi. @@ -43,6 +43,7 @@ $language_data = array ( 'LANG_NAME' => 'OCaml', 'COMMENT_SINGLE' => array(), 'COMMENT_MULTI' => array('(*' => '*)'), + 'COMMENT_REGEXP' => array(1 => '/\(\*(?:(?R)|.)+?\*\)/s'), 'CASE_KEYWORDS' => 0, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => "", @@ -58,13 +59,17 @@ $language_data = array ( ), /* define names of main librarys, so we can link to it */ 2 => array( - 'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback', - 'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event', - 'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64', - 'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint', - 'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf', - 'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread', - 'ThreadUnix', 'Tk' + 'Arg', 'Arith_status', 'Array', //'Array1', 'Array2', 'Array3', + 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback', + 'CamlinternalLazy', 'CamlinternalMod', 'CamlinternalOO', 'Char', + 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event', + 'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', + 'Hashtbl', 'Int32', 'Int64', 'Lazy', 'Lexing', 'List', 'ListLabels', + 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint', 'Num', 'Obj', + 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', + 'Random', 'Scanf', 'Set', 'Sort', 'Stack', 'StdLabels', 'Str', + 'Stream', 'String', 'StringLabels', 'Sys', 'Thread', 'ThreadUnix', + 'Tk', 'Unix', 'UnixLabels', 'Weak' ), /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */ 3 => array( @@ -93,7 +98,9 @@ $language_data = array ( ), /* here Pervasives Types */ 4 => array ( - 'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'format' + 'array','bool','char','exn','file_descr','format','fpclass', + 'in_channel','int','int32','int64','list','nativeint','open_flag', + 'out_channel','string','Sys_error','unit' ), /* finally Pervasives Exceptions */ 5 => array ( @@ -102,8 +109,9 @@ $language_data = array ( ), /* highlighting symbols is really important in OCaml */ 'SYMBOLS' => array( + '+.', '-.', '*.', '/.', '[<', '>]', ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+', - '>', '<', '(', ')', '[', ']', '&', '|', '#', "'" + '>', '<', '(', ')', '[', ']', '&', '|', '#', "'", ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, @@ -122,12 +130,13 @@ $language_data = array ( 5 => 'color: #06c; font-weight: bold;' /* nice blue */ ), 'COMMENTS' => array( - 'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */ + 'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */ + 1 => 'color: #5d478b; font-style: italic;' /* light purple */ ), 'ESCAPE_CHAR' => array( ), 'BRACKETS' => array( - 0 => 'color: #6c6;' + 0 => 'color: #a52a2a;' ), 'STRINGS' => array( 0 => 'color: #3cb371;' /* nice green */ @@ -139,6 +148,8 @@ $language_data = array ( 1 => 'color: #060;' /* dark green */ ), 'REGEXPS' => array( + 1 => 'font-weight:bold; color:#339933;', + 2 => 'font-weight:bold; color:#993399;' ), 'SYMBOLS' => array( 0 => 'color: #a52a2a;' /* maroon */ @@ -158,11 +169,13 @@ $language_data = array ( /* link to Pervasives exceptions */ 5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}' ), - 'OOLANG' => true, + 'OOLANG' => false, 'OBJECT_SPLITTERS' => array( 1 => '.' ), 'REGEXPS' => array( + 1 => '~\w+', + 2 => '`(?=(?-i:[a-z]))\w*', ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( @@ -171,4 +184,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/oobas.php b/inc/geshi/oobas.php index b3a5a0b6d..6f6e13fc2 100644 --- a/inc/geshi/oobas.php +++ b/inc/geshi/oobas.php @@ -4,7 +4,7 @@ * --------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * OpenOffice.org Basic language file for GeSHi. diff --git a/inc/geshi/oracle11.php b/inc/geshi/oracle11.php index 08c25b66d..f57c3f044 100644 --- a/inc/geshi/oracle11.php +++ b/inc/geshi/oracle11.php @@ -6,7 +6,7 @@ * Contributions: * - Updated for 11i by Simon Redhead * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * Oracle 11i language file for GeSHi. diff --git a/inc/geshi/oracle8.php b/inc/geshi/oracle8.php index 5ac18786d..e470e0dd4 100644 --- a/inc/geshi/oracle8.php +++ b/inc/geshi/oracle8.php @@ -4,7 +4,7 @@ * ----------- * Author: Guy Wicks (Guy.Wicks@rbs.co.uk) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * Oracle 8 language file for GeSHi. diff --git a/inc/geshi/oxygene.php b/inc/geshi/oxygene.php new file mode 100644 index 000000000..3af03bfc2 --- /dev/null +++ b/inc/geshi/oxygene.php @@ -0,0 +1,152 @@ + 'Oxygene (Delphi Prism)', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'), + //Compiler directives + 'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'), + 'CASE_KEYWORDS' => 0, + 'QUOTEMARKS' => array("'"), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'and', 'begin', 'case', 'const', 'div', 'do', 'downto', 'else', + 'end', 'for', 'function', 'if', 'in', 'mod', 'not', 'of', 'or', + 'procedure', 'repeat', 'record', 'set', 'shl', 'shr', 'then', 'to', + 'type', 'until', 'uses', 'var','while', 'with', 'xor', 'exit', 'break', + 'class', 'constructor', 'inherited', 'private', 'public', 'protected', + 'property', 'As', 'Is', 'Unit', 'Continue', 'Try', 'Except', 'Forward', + 'Interface','Implementation', 'nil', 'out', 'loop', 'namespace', 'true', + 'false', 'new', 'ensure', 'require', 'on', 'event', 'delegate', 'method', + 'raise', 'assembly', 'module', 'using','locking', 'old', 'invariants', 'operator', + 'self', 'async', 'finalizer', 'where', 'yield', 'nullable', 'Future', + 'From', 'Finally', 'dynamic' + ), + 2 => array( + 'override', 'virtual', 'External', 'read', 'add', 'remove','final', 'abstract', + 'empty', 'global', 'locked', 'sealed', 'reintroduce', 'implements', 'each', + 'default', 'partial', 'finalize', 'enum', 'flags', 'result', 'readonly', 'unsafe', + 'pinned', 'matching', 'static', 'has', 'step', 'iterator', 'inline', 'nested', + 'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take', + 'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params', + 'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect', + 'volatile' + ), + 3 => array( + 'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote' + ), + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, +// 4 => false, + ), + 'SYMBOLS' => array( + 0 => array('(', ')', '[', ']'), + 1 => array('.', ',', ':', ';'), + 2 => array('@', '^'), + 3 => array('=', '+', '-', '*', '/') + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000000; font-weight: bold;', + 2 => 'color: #000000; font-weight: bold;', + 3 => 'color: #000066;', +// 4 => 'color: #000066; font-weight: bold;' + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + 2 => 'color: #008000; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #ff0000; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000066;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000ff;' + ), + 'METHODS' => array( + 1 => 'color: #000000;' + ), + 'REGEXPS' => array( + 0 => 'color: #9ac;', + 1 => 'color: #ff0000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #000066;', + 1 => 'color: #000066;', + 2 => 'color: #000066;', + 3 => 'color: #000066;' + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', +// 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + //Hex numbers + 0 => '\$[0-9a-fA-F]+', + //Characters + 1 => '\#\$?[0-9]{1,3}' + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 2 +); + +?> \ No newline at end of file diff --git a/inc/geshi/oz.php b/inc/geshi/oz.php new file mode 100644 index 000000000..cd594d4ca --- /dev/null +++ b/inc/geshi/oz.php @@ -0,0 +1,144 @@ + 'OZ', + 'COMMENT_SINGLE' => array(1 => '%'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"','\''), + 'ESCAPE_CHAR' => '\\', + 'NUMBERS' => array(), + 'KEYWORDS' => array( + 1 => array( + 'declare','local','in','end','proc','fun','functor','require','prepare', + 'import','export','define','at','case','then','else','of','elseof', + 'elsecase','if','elseif','class','from','prop','attr','feat','meth', + 'self','true','false','unit','div','mod','andthen','orelse','cond','or', + 'dis','choice','not','thread','try','catch','finally','raise','lock', + 'skip','fail','for','do' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true + ), + 'SYMBOLS' => array( + '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.', + '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',', + '!!', '...', '==', '::', ':::' + ), + 'STYLES' => array( + 'REGEXPS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #00a030;', + 3 => 'color: #bc8f8f;', + 4 => 'color: #0000ff;', + 5 => 'color: #a020f0;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #bc8f8f;' + ), + 'KEYWORDS' => array( + 1 => 'color: #a020f0;' + ), + 'COMMENTS' => array( + 1 => 'color: #B22222;', + 'MULTI' => 'color: #B22222;' + ), + 'STRINGS' => array( + 0 => 'color: #bc8f8f;' + ), + 'SYMBOLS' => array( + 0 => 'color: #a020f0;' + ), + 'BRACKETS' => array(), + 'NUMBERS' => array(), + 'METHODS' => array(), + 'SCRIPT' => array() + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_MAYBE, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'URLS' => array( + 1 => '' + ), + 'REGEXPS' => array( + // function and procedure definition + 1 => array( + GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)", + GESHI_REPLACE => '\4', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\1\2\3', + GESHI_AFTER => '' + ), + // class definition + 2 => array( + GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)", + GESHI_REPLACE => '\3\4', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\1\2', + GESHI_AFTER => '' + ), + // single character + 3 => array( + GESHI_SEARCH => "&.", + GESHI_REPLACE => '\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), + // method definition + 4 => array( + GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)", + GESHI_REPLACE => '\3', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '\1\2', + GESHI_AFTER => '' + ), + // highlight "[]" + // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.) + 5 => array( + GESHI_SEARCH => "\[\]", + GESHI_REPLACE => '\0', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/pascal.php b/inc/geshi/pascal.php index 948c00ce4..7ee5729a6 100644 --- a/inc/geshi/pascal.php +++ b/inc/geshi/pascal.php @@ -4,7 +4,7 @@ * ---------- * Author: Tux (tux@inamil.cz) * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/26 * * Pascal language file for GeSHi. diff --git a/inc/geshi/pcre.php b/inc/geshi/pcre.php new file mode 100644 index 000000000..a67cf2858 --- /dev/null +++ b/inc/geshi/pcre.php @@ -0,0 +1,188 @@ + 'PCRE', + 'COMMENT_SINGLE' => array(), + 'COMMENT_MULTI' => array( + ), + 'COMMENT_REGEXP' => array( + // Non-matching groups + 1 => "/(?<=\()\?(?::|(?=\())/", + + // Modifier groups + 2 => "/(?<=\()\?[cdegimopsuxUX\-]+(?::|(?=\)))/", + + // Look-Aheads + 3 => "/(?<=\()\?[!=]/", + + // Look-Behinds + 4 => "/(?<=\()\?<[!=]/", + + // Forward Matching + 5 => "/(?<=\()\?>/", + + // Recursive Matching + 6 => "/(?<=\()\?R(?=\))/", + + // Named Subpattern + 7 => "/(?<=\()\?(?:P?<\w+>|\d+(?=\))|P[=>]\w+(?=\)))/", + + // Back Reference + 8 => "/\\\\(?:[1-9]\d?|g\d+|g\{(?:-?\d+|\w+)\}|k<\w+>|k'\w+'|k\{\w+\})/", + + // Byte sequence: Octal + 9 => "/\\\\[0-7]{2,3}/", + + // Byte sequence: Hex + 10 => "/\\\\x[0-9a-fA-F]{2}/", + + // Byte sequence: Hex + 11 => "/\\\\u[0-9a-fA-F]{4}/", + + // Byte sequence: Hex + 12 => "/\\\\U[0-9a-fA-F]{8}/", + + // Byte sequence: Unicode + 13 => "/\\\\[pP]\{[^}\n]+\}/", + + // One-Char Escapes + 14 => "/\\\\[abdefnrstvwzABCDGSWXZ\\\\\\.\[\]\(\)\{\}\^\\\$\?\+\*]/", + + // Byte sequence: Control-X sequence + 15 => "/\\\\c./", + + // Quantifier + 16 => "/\{(?:\d+,?|\d*,\d+)\}/", + + // Comment Subpattern + 17 => "/(?<=\()\?#[^\)]*/", + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array(), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + ), + 'SYMBOLS' => array( + 0 => array('.'), + 1 => array('(', ')'), + 2 => array('[', ']', '|'), + 3 => array('^', '$'), + 4 => array('?', '+', '*'), + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + ), + 'COMMENTS' => array( + 1 => 'color: #993333; font-weight: bold;', + 2 => 'color: #cc3300; font-weight: bold;', + 3 => 'color: #cc0066; font-weight: bold;', + 4 => 'color: #cc0066; font-weight: bold;', + 5 => 'color: #cc6600; font-weight: bold;', + 6 => 'color: #cc00cc; font-weight: bold;', + 7 => 'color: #cc9900; font-weight: bold; font-style: italic;', + 8 => 'color: #cc9900; font-style: italic;', + 9 => 'color: #669933; font-style: italic;', + 10 => 'color: #339933; font-style: italic;', + 11 => 'color: #339966; font-style: italic;', + 12 => 'color: #339999; font-style: italic;', + 13 => 'color: #663399; font-style: italic;', + 14 => 'color: #999933; font-style: italic;', + 15 => 'color: #993399; font-style: italic;', + 16 => 'color: #333399; font-style: italic;', + 17 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 'HARD' => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;', + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #006600;', + 2 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #333399; font-weight: bold;', + 1 => 'color: #993333; font-weight: bold;', + 2 => 'color: #339933; font-weight: bold;', + 3 => 'color: #333399; font-weight: bold;', + 4 => 'color: #333399; font-style: italic;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'ENABLE_FLAGS' => array( + 'BRACKETS' => GESHI_NEVER, + 'NUMBERS' => GESHI_NEVER + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/per.php b/inc/geshi/per.php index 06cf2e41b..b656c105e 100644 --- a/inc/geshi/per.php +++ b/inc/geshi/per.php @@ -4,7 +4,7 @@ * -------- * Author: Lars Gersmann (lars.gersmann@gmail.com) * Copyright: (c) 2007 Lars Gersmann - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/06/03 * * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi. diff --git a/inc/geshi/perl.php b/inc/geshi/perl.php index 57b8971e8..5d1c4320b 100644 --- a/inc/geshi/perl.php +++ b/inc/geshi/perl.php @@ -4,7 +4,7 @@ * -------- * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/20 * * Perl language file for GeSHi. diff --git a/inc/geshi/perl6.php b/inc/geshi/perl6.php index 1c04098c0..9ea20fc78 100644 --- a/inc/geshi/perl6.php +++ b/inc/geshi/perl6.php @@ -4,7 +4,7 @@ * --------- * Author: Kodi Arfer (kodiarfer {at} warpmail {period} net); forked from perl.php 1.0.8 by Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com) * Copyright: (c) 2009 Kodi Arfer, (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/11/07 * * Perl 6 language file for GeSHi. diff --git a/inc/geshi/pf.php b/inc/geshi/pf.php new file mode 100644 index 000000000..d59a609d5 --- /dev/null +++ b/inc/geshi/pf.php @@ -0,0 +1,178 @@ + 'OpenBSD Packet Filter', + 'COMMENT_SINGLE' => array('#'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 1 => "/\\$\\{[^\\n\\}]*?\\}/i", + 2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU', + 3 => "/\\\\['\"]/siU" + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'HARDQUOTE' => array("'", "'"), + 'HARDESCAPE' => array("\'"), + 'ESCAPE_CHAR' => '', + 'ESCAPE_REGEXP' => array( + 1 => "#\\\\[nfrtv\\$\\\"\n]#i", + 2 => "#\\$[a-z_][a-z0-9_]*#i", + 3 => "/\\$\\{[^\\n\\}]*?\\}/i", + 4 => "/\\$\\([^\\n\\)]*?\\)/i", + 5 => "/`[^`]*`/" + ), + 'KEYWORDS' => array( + 1 => array( + 'pass' + ), + 2 => array( + 'block' + ), + 3 => array( + 'quick','keep','state','antispoof','table','persist','file','scrub', + 'set','skip','flags','on' + ), + 4 => array( + 'in','out','proto' + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`','=' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #009900; font-weight: bold;', + 2 => 'color: #990000; font-weight: bold;', + 3 => 'color: #7a0874;', + 4 => 'color: #336699;' + ), + 'COMMENTS' => array( + 0 => 'color: #666666; font-style: italic;', + 1 => 'color: #800000;', + 2 => 'color: #cc0000; font-style: italic;', + 3 => 'color: #000000; font-weight: bold;' + ), + 'ESCAPE_CHAR' => array( + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #007800;', + 3 => 'color: #007800;', + 4 => 'color: #007800;', + 5 => 'color: #780078;', + 'HARD' => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #7a0874; font-weight: bold;' + ), + 'STRINGS' => array( + 0 => 'color: #CC0000;', + 'HARD' => 'color: #CC0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #ff00cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #000000; font-weight: bold;' + ), + 'REGEXPS' => array( + 0 => 'color: #007800;', + 1 => 'color: #007800;', + 2 => 'color: #007800;', + 4 => 'color: #007800;', + 5 => 'color: #660033;', + 6 => 'color: #000099; font-weight: bold;', + 7 => 'color: #0000ff;', + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + //Variables (will be handled by comment_regexps) + 0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}", + //Variables without braces + 1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*", + //Variable assignment + 2 => "(? "\\$[*#\$\\-\\?!]", + //Parameters of commands + 5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)", + //IPs + 6 => "([0-9]{1,3}\.){3}[0-9]{1,3}", + //Tables + 7 => "(<(.*)>)" + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'COMMENTS' => array( + 'DISALLOWED_BEFORE' => '$' + ), + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(? "(?![\.\-a-zA-Z0-9_%\\/])" + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/php-brief.php b/inc/geshi/php-brief.php index ceaf423af..c28d985f4 100644 --- a/inc/geshi/php-brief.php +++ b/inc/geshi/php-brief.php @@ -4,7 +4,7 @@ * ------------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/02 * * PHP (brief version) language file for GeSHi. diff --git a/inc/geshi/php.php b/inc/geshi/php.php index 9b0bc822d..ec6981134 100644 --- a/inc/geshi/php.php +++ b/inc/geshi/php.php @@ -4,7 +4,7 @@ * -------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/20 * * PHP language file for GeSHi. diff --git a/inc/geshi/pic16.php b/inc/geshi/pic16.php index 88d4a6745..626a768b0 100644 --- a/inc/geshi/pic16.php +++ b/inc/geshi/pic16.php @@ -4,7 +4,7 @@ * ------- * Author: Phil Mattison (mattison@ohmikron.com) * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/07/30 * * PIC16 Assembler language file for GeSHi. diff --git a/inc/geshi/pike.php b/inc/geshi/pike.php index e67975fe2..2b860ccd6 100644 --- a/inc/geshi/pike.php +++ b/inc/geshi/pike.php @@ -4,7 +4,7 @@ * -------- * Author: Rick E. (codeblock@eighthbit.net) * Copyright: (c) 2009 Rick E. - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/12/10 * * Pike language file for GeSHi. diff --git a/inc/geshi/pixelbender.php b/inc/geshi/pixelbender.php index d19754f3e..82c64ae52 100644 --- a/inc/geshi/pixelbender.php +++ b/inc/geshi/pixelbender.php @@ -4,7 +4,7 @@ * ---------------- * Author: Richard Olsson (r@richardolsson.se) * Copyright: (c) 2008 Richard Olsson (richardolsson.se) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/11/16 * * Pixel Bender 1.0 language file for GeSHi. diff --git a/inc/geshi/plsql.php b/inc/geshi/plsql.php index 0779ca04f..e0145362c 100644 --- a/inc/geshi/plsql.php +++ b/inc/geshi/plsql.php @@ -4,7 +4,7 @@ * ------- * Author: Victor Engmark * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/10/26 * * Oracle 9.2 PL/SQL language file for GeSHi. diff --git a/inc/geshi/postgresql.php b/inc/geshi/postgresql.php new file mode 100644 index 000000000..7f89fe2a4 --- /dev/null +++ b/inc/geshi/postgresql.php @@ -0,0 +1,288 @@ + 2010-05-03 + * Copyright: (c) 2007 Christophe Chauvet (http://kryskool.org/), Nigel McNie (http://qbnz.com/highlighter) + * Release Version: 1.0.8.8 + * Date Started: 2007/07/20 + * + * PostgreSQL language file for GeSHi. + * + * CHANGES + * ------- + * 2007/07/20 (1.0.0) + * - First Release + * + * TODO (updated 2007/07/20) + * ------------------------- + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'PostgreSQL', + 'COMMENT_SINGLE' => array(1 => '--'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"', '`'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + //Put PostgreSQL reserved keywords here. I like mine uppercase. + 1 => array( + 'ABORT','ABSOLUTE','ACCESS','ACTION','ADD','ADMIN','AFTER', + 'AGGREGATE','ALL','ALSO','ALTER','ALWAYS','ANALYSE','ANALYZE','AND', + 'ANY','AS','ASC,','ASSERTION','ASSIGNMENT','ASYMMETRIC','AT', + 'AUTHORIZATION','BACKWARD','BEFORE','BEGIN','BETWEEN','BOTH','BY', + 'CACHE','CALLED','CASCADE','CASCADED','CASE','CAST','CATALOG', + 'CHAIN','CHARACTERISTICS','CHECK','CHECKPOINT','CLASS','CLOSE', + 'CLUSTER','COALESCE','COLLATE','COLUMN','COMMENT','COMMIT', + 'COMMITTED','CONCURRENTLY','CONFIGURATION','CONNECTION', + 'CONSTRAINT','CONSTRAINTS','CONTENT','CONTINUE','CONVERSION','COPY', + 'COST','CREATE','CREATEDB','CREATEROLE','CREATEUSER','CROSS','CSV', + 'CURRENT','CURRENT_CATALOG','CURRENT_DATE','CURRENT_ROLE', + 'CURRENT_SCHEMA','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER', + 'CURSOR','CYCLE','DATA','DATABASE','DAY','DEALLOCATE','DEC', + 'DECLARE','DEFAULT','DEFAULTS','DEFERRABLE','DEFERRED','DEFINER', + 'DELETE','DELIMITER','DELIMITERS','DESC','DICTIONARY','DISABLE', + 'DISCARD','DISTINCT','DO','DOCUMENT','DOMAIN','DOUBLE','DROP', + 'EACH','ELSE','ENABLE','ENCODING','ENCRYPTED','END','ESCAPE', + 'EXCEPT','EXCLUDING','EXCLUSIVE','EXECUTE','EXISTS','EXPLAIN', + 'EXTERNAL','EXTRACT','FALSE','FAMILY','FETCH','FIRST','FOLLOWING', + 'FOR','FORCE','FOREIGN','FORWARD','FREEZE','FROM','FULL','FUNCTION', + 'GLOBAL','GRANT','GRANTED','GREATEST','GROUP','HANDLER','HAVING', + 'HEADER','HOLD','HOUR','IDENTITY','IF','ILIKE','IMMEDIATE', + 'IMMUTABLE','IMPLICIT','IN','INCLUDING','INCREMENT','INDEX', + 'INDEXES','INHERIT','INHERITS','INITIALLY','INNER','INOUT','INPUT', + 'INSENSITIVE','INSERT','INSTEAD','INTERSECT','INTO','INVOKER','IS', + 'ISNULL','ISOLATION','JOIN','KEY','LANCOMPILER','LANGUAGE','LARGE', + 'LAST','LC_COLLATE','LC_CTYPE','LEADING','LEAST','LEFT','LEVEL', + 'LIKE','LIMIT','LISTEN','LOAD','LOCAL','LOCALTIME','LOCALTIMESTAMP', + 'LOCATION','LOCK','LOGIN','LOOP','MAPPING','MATCH','MAXVALUE', + 'MINUTE','MINVALUE','MODE','MONTH','MOVE','NAME','NAMES','NATIONAL', + 'NATURAL','NEW','NEXT','NO','NOCREATEDB','NOCREATEROLE', + 'NOCREATEUSER','NOINHERIT','NOLOGIN','NONE','NOSUPERUSER','NOT', + 'NOTHING','NOTIFY','NOTNULL','NOWAIT','NULL','NULLIF','NULLS', + 'NUMERIC','OBJECT','OF','OFF','OFFSET','OIDS','OLD','ON','ONLY', + 'OPERATOR','OPTION','OPTIONS','OR','ORDER','OUT','OUTER','OVER', + 'OVERLAPS','OVERLAY','OWNED','OWNER','PARSER','PARTIAL','PARTITION', + 'PASSWORD','PLACING','PLANS','POSITION','PRECEDING','PRECISION', + 'PREPARE','PREPARED','PRESERVE','PRIMARY','PRIOR','PRIVILEGES', + 'PROCEDURAL','PROCEDURE','QUOTE','RANGE','READ','REASSIGN', + 'RECHECK','RECURSIVE','REFERENCES','REINDEX','RELATIVE','RELEASE', + 'RENAME','REPEATABLE','REPLACE','REPLICA','RESET','RESTART', + 'RESTRICT','RETURN','RETURNING','RETURNS','REVOKE','RIGHT','ROLE', + 'ROLLBACK','ROW','ROWS','RULE','SAVEPOINT','SCHEMA','SCROLL', + 'SEARCH','SECOND', + 'SECURITY','SELECT','SEQUENCE','SERIALIZABLE','SERVER','SESSION', + 'SESSION_USER','SET','SETOF','SHARE','SHOW','SIMILAR','SIMPLE', + 'SOME','STABLE','STANDALONE','START','STATEMENT','STATISTICS', + 'STDIN','STDOUT','STORAGE','STRICT','STRIP','SUPERUSER', + 'SYMMETRIC','SYSID','SYSTEM','TABLE','TABLESPACE','TEMP','TEMPLATE', + 'TEMPORARY','THEN','TO','TRAILING','TRANSACTION','TREAT','TRIGGER', + 'TRUE','TRUNCATE','TRUSTED','TYPE','UNBOUNDED','UNCOMMITTED', + 'UNENCRYPTED','UNION','UNIQUE','UNKNOWN','UNLISTEN','UNTIL', + 'UPDATE','USER','USING','VACUUM','VALID','VALIDATOR','VALUE', + 'VALUES','VARIADIC','VERBOSE','VERSION','VIEW','VOLATILE','WHEN', + 'WHERE','WHILE','WHITESPACE','WINDOW','WITH','WITHOUT','WORK','WRAPPER', + 'WRITE','XMLATTRIBUTES','XMLCONCAT','XMLELEMENT','XMLFOREST', + 'XMLPARSE','XMLPI','XMLROOT','XMLSERIALIZE','YEAR','YES','ZONE' + ), + + //Put functions here + 3 => array( + // mathematical functions + 'ABS','CBRT','CEIL','CEILING','DEGREES','DIV','EXP','FLOOR','LN', + 'LOG','MOD','PI','POWER','RADIANS','RANDOM','ROUND','SETSEED', + 'SIGN','SQRT','TRUNC','WIDTH_BUCKET', + // trigonometric functions + 'ACOS','ASIN','ATAN','ATAN2','COS','COT','SIN','TAN', + // string functions + 'BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH','LOWER', + 'OCTET_LENGTH','POSITION','SUBSTRING','TRIM','UPPER', + // other string functions + 'ASCII','BTRIM','CHR','CONVERT','CONVERT_FROM','CONVERT_TO', + 'DECODE','ENCODE','INITCAP','LENGTH','LPAD','LTRIM','MD5', + 'PG_CLIENT_ENCODING','QUOTE_IDENT','QUOTE_LITERAL','QUOTE_NULLABLE', + 'REGEXP_MATCHES','REGEXP_REPLACE','REGEXP_SPLIT_TO_ARRAY', + 'REGEXP_SPLIT_TO_TABLE','REPEAT','RPAD','RTRIM','SPLIT_PART', + 'STRPOS','SUBSTR','TO_ASCII','TO_HEX','TRANSLATE', + // binary string functions + 'GET_BIT','GET_BYTE','SET_BIT','SET_BYTE', + // data type formatting functions + 'TO_CHAR','TO_DATE','TO_NUMBER','TO_TIMESTAMP', + // date/time functions + 'AGE','CLOCK_TIMESTAMP','DATE_PART','DATE_TRUNC','EXTRACT', + 'ISFINITE','JUSTIFY_DAYS','JUSTIFY_HOURS','JUSTIFY_INTERVAL','NOW', + 'STATEMENT_TIMESTAMP','TIMEOFDAY','TRANSACTION_TIMESTAMP', + // enum support functions + 'ENUM_FIRST','ENUM_LAST','ENUM_RANGE', + // geometric functions + 'AREA','CENTER','DIAMETER','HEIGHT','ISCLOSED','ISOPEN','NPOINTS', + 'PCLOSE','POPEN','RADIUS','WIDTH', + 'BOX','CIRCLE','LSEG','PATH','POINT','POLYGON', + // cidr and inet functions + 'ABBREV','BROADCAST','FAMILY','HOST','HOSTMASK','MASKLEN','NETMASK', + 'NETWORK','SET_MASKLEN', + // text search functions + 'TO_TSVECTOR','SETWEIGHT','STRIP','TO_TSQUERY','PLAINTO_TSQUERY', + 'NUMNODE','QUERYTREE','TS_RANK','TS_RANK_CD','TS_HEADLINE', + 'TS_REWRITE','GET_CURRENT_TS_CONFIG','TSVECTOR_UPDATE_TRIGGER', + 'TSVECTOR_UPDATE_TRIGGER_COLUMN', + 'TS_DEBUG','TS_LEXISE','TS_PARSE','TS_TOKEN_TYPE','TS_STAT', + // XML functions + 'XMLCOMMENT','XMLCONCAT','XMLELEMENT','XMLFOREST','XMLPI','XMLROOT', + 'XMLAGG','XPATH','TABLE_TO_XMLSCHEMA','QUERY_TO_XMLSCHEMA', + 'CURSOR_TO_XMLSCHEMA','TABLE_TO_XML_AND_XMLSCHEMA', + 'QUERY_TO_XML_AND_XMLSCHEMA','SCHEMA_TO_XML','SCHEMA_TO_XMLSCHEMA', + 'SCHEMA_TO_XML_AND_XMLSCHEMA','DATABASE_TO_XML', + 'DATABASE_TO_XMLSCHEMA','DATABASE_TO_XML_AND_XMLSCHEMA', + // sequence manipulating functions + 'CURRVAL','LASTVAL','NEXTVAL','SETVAL', + // conditional expressions + 'COALESCE','NULLIF','GREATEST','LEAST', + // array functions + 'ARRAY_APPEND','ARRAY_CAT','ARRAY_NDIMS','ARRAY_DIMS','ARRAY_FILL', + 'ARRAY_LENGTH','ARRAY_LOWER','ARRAY_PREPEND','ARRAY_TO_STRING', + 'ARRAY_UPPER','STRING_TO_ARRAY','UNNEST', + // aggregate functions + 'ARRAY_AGG','AVG','BIT_AND','BIT_OR','BOOL_AND','BOOL_OR','COUNT', + 'EVERY','MAX','MIN','STRING_AGG','SUM', + // statistic aggregate functions + 'CORR','COVAR_POP','COVAR_SAMP','REGR_AVGX','REGR_AVGY', + 'REGR_COUNT','REGR_INTERCEPT','REGR_R2','REGR_SLOPE','REGR_SXX', + 'REGR_SXY','REGR_SYY','STDDEV','STDDEV_POP','STDDEV_SAMP', + 'VARIANCE','VAR_POP','VAR_SAMP', + // window functions + 'ROW_NUMBER','RANK','DENSE_RANK','PERCENT_RANK','CUME_DIST','NTILE', + 'LAG','LEAD','FIRST_VALUE','LAST_VALUE','NTH_VALUE', + // set returning functions + 'GENERATE_SERIES','GENERATE_SUBSCRIPTS' + // system information functions not currently included + ), + + //Put your postgresql var + 4 => array( + 'client_encoding', + 'standard_conforming_strings' + ), + + //Put your data types here + 5 => array( + 'ARRAY','ABSTIME','BIGINT','BIGSERIAL','BINARY','BIT','BIT VARYING', + 'BOOLEAN','BOX','BYTEA','CHAR','CHARACTER','CHARACTER VARYING', + 'CIDR','CIRCLE','DATE','DECIMAL','DOUBLE PRECISION','ENUM','FLOAT', + 'INET','INT','INTEGER','INTERVAL','NCHAR','REAL','SMALLINT','TEXT', + 'TIME','TIMESTAMP','VARCHAR','XML', + ), + + // //Put your package names here + // 6 => array( + // ), + + ), + 'SYMBOLS' => array( + '(', ')', '=', '<', '>', '|' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 3 => false, + 4 => false, + 5 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + // regular keywords + 1 => 'color: #000000; font-weight: bold; text-transform: uppercase;', + // inbuilt functions + 3 => 'color: #333399; font-weight: bold; text-transform: uppercase;', + // postgresql var(?) + 4 => 'color: #993333; font-weight: bold; text-transform: uppercase;', + // data types + 5 => 'color: #993333; font-weight: bold; text-transform: uppercase;', + ), + 'COMMENTS' => array( + 1 => 'color: #808080; font-style: italic;', + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #ff0000;' + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 3 => '', + 4 => 'http://paste.postgresql.fr/wiki/desc.php?def={FNAME}', + 5 => '', + ), + + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 1 => array( + 'DISALLOWED_AFTER' => '(?![\(\w])' + ), + + 3 => array( + 'DISALLOWED_AFTER' => '(?=\()' + ), + + 4 => array( + 'DISALLOWED_AFTER' => '(?![\(\w])' + ), + + 5 => array( + 'DISALLOWED_AFTER' => '(?![\(\w])' + ), + ) + ) + +); + +?> \ No newline at end of file diff --git a/inc/geshi/povray.php b/inc/geshi/povray.php index 80bf5a478..c987a013e 100644 --- a/inc/geshi/povray.php +++ b/inc/geshi/povray.php @@ -4,7 +4,7 @@ * -------- * Author: Carl Fürstenberg (azatoth@gmail.com) * Copyright: © 2007 Carl Fürstenberg - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/07/11 * * Povray language file for GeSHi. diff --git a/inc/geshi/powerbuilder.php b/inc/geshi/powerbuilder.php index e276d85ee..ef86c242c 100644 --- a/inc/geshi/powerbuilder.php +++ b/inc/geshi/powerbuilder.php @@ -4,7 +4,7 @@ * ------ * Author: Doug Porter (powerbuilder.geshi@gmail.com) * Copyright: (c) 2009 Doug Porter - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/07/13 * * PowerBuilder (PowerScript) language file for GeSHi. diff --git a/inc/geshi/powershell.php b/inc/geshi/powershell.php index fe8a5da07..c90538809 100644 --- a/inc/geshi/powershell.php +++ b/inc/geshi/powershell.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Frode Aarebrot (frode@aarebrot.net) * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/06/20 * * PowerShell language file for GeSHi. @@ -49,7 +49,7 @@ $language_data = array ( 'LANG_NAME' => 'PowerShell', 'COMMENT_SINGLE' => array(1 => '#'), - 'COMMENT_MULTI' => array(), + 'COMMENT_MULTI' => array('<#' => '#>'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), 'ESCAPE_CHAR' => '`', diff --git a/inc/geshi/progress.php b/inc/geshi/progress.php index 3824e7b0b..90c3bf0fa 100644 --- a/inc/geshi/progress.php +++ b/inc/geshi/progress.php @@ -4,7 +4,7 @@ * -------- * Author: Marco Aurelio de Pasqual (marcop@hdi.com.br) * Copyright: (c) 2008 Marco Aurelio de Pasqual, Benny Baumann (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/07/11 * * Progress language file for GeSHi. diff --git a/inc/geshi/prolog.php b/inc/geshi/prolog.php index 1f35a1b82..4dd01ff7e 100644 --- a/inc/geshi/prolog.php +++ b/inc/geshi/prolog.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/10/02 * * Prolog language file for GeSHi. @@ -130,7 +130,7 @@ $language_data = array ( ), 'REGEXPS' => array( //Variables - 0 => "(? "(? GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( @@ -140,4 +140,4 @@ $language_data = array ( 'TAB_WIDTH' => 4 ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/properties.php b/inc/geshi/properties.php index 231dd6e8b..9fc8b8da4 100644 --- a/inc/geshi/properties.php +++ b/inc/geshi/properties.php @@ -4,7 +4,7 @@ * -------- * Author: Edy Hinzen * Copyright: (c) 2009 Edy Hinzen - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/04/03 * * Property language file for GeSHi. diff --git a/inc/geshi/providex.php b/inc/geshi/providex.php index aaa02e797..0352ac2a1 100644 --- a/inc/geshi/providex.php +++ b/inc/geshi/providex.php @@ -4,7 +4,7 @@ * ---------- * Author: Jeff Wilder (jeff@coastallogix.com) * Copyright: (c) 2008 Coastal Logix (http://www.coastallogix.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/10/18 * * ProvideX language file for GeSHi. diff --git a/inc/geshi/purebasic.php b/inc/geshi/purebasic.php index b644af3fe..b24986f57 100644 --- a/inc/geshi/purebasic.php +++ b/inc/geshi/purebasic.php @@ -4,7 +4,7 @@ * ------- * Author: GuShH * Copyright: (c) 2009 Gustavo Julio Fiorenza - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 13/06/2009 * * PureBasic language file for GeSHi. diff --git a/inc/geshi/python.php b/inc/geshi/python.php index a482d6928..1be7e2953 100644 --- a/inc/geshi/python.php +++ b/inc/geshi/python.php @@ -4,7 +4,7 @@ * ---------- * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * Python language file for GeSHi. diff --git a/inc/geshi/q.php b/inc/geshi/q.php new file mode 100644 index 000000000..9629ded4a --- /dev/null +++ b/inc/geshi/q.php @@ -0,0 +1,149 @@ +) + * ------------------------- + * - Fix the handling of single line comments + * + ************************************************************************************* + * + * This file is part of GeSHi. + * + * GeSHi is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * GeSHi is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GeSHi; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + ************************************************************************************/ + +$language_data = array ( + 'LANG_NAME' => 'q/kdb+', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array(), + 'COMMENT_REGEXP' => array( + 2 => '/ \s\/.*/', # This needs to get fixed up, since it won't catch some instances + # Multi line comments (Moved from REGEXPS) + 3 => '/^\/\s*?\n.*?\n\\\s*?\n/smi' + ), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'TAB_WIDTH' => 4, + 'KEYWORDS' => array( + 1 => array( + 'abs', 'acos', 'all', 'and', 'any', 'asc', 'asin', 'asof', 'atan', 'attr', 'avg', 'avgs', 'bin', 'ceiling', + 'cols', 'cor', 'cos', 'count', 'cov', 'cross', 'cut', 'deltas', 'desc', 'dev', 'differ', 'distinct', + 'div', 'each', 'enlist', 'eval', 'except', 'exec', 'exit', 'exp', 'fills', 'first', 'flip', 'floor', + 'fkeys', 'get', 'getenv', 'group', 'gtime', 'hclose', 'hcount', 'hdel', 'hopen', 'hsym', 'iasc', 'idesc', + 'in', 'insert', 'inter', 'inv', 'joins', 'key', 'keys', 'last', 'like', 'load', 'log', 'lower', + 'lsq', 'ltime', 'ltrim', 'mavg', 'max', 'maxs', 'mcount', 'md5', 'mdev', 'med', 'meta', 'min', 'mins', + 'mmax', 'mmin', 'mmu', 'mod', 'msum', 'neg', 'next', 'not', 'null', 'or', 'over', 'parse', 'peach', + 'plist', 'prd', 'prds', 'prev', 'rand', 'rank', 'ratios', 'raze', 'read0', 'read1', 'reciprocal', + 'reverse', 'rload', 'rotate', 'rsave', 'rtrim', 'save', 'scan', 'set', 'setenv', 'show', 'signum', + 'sin', 'sqrt', 'ss', 'ssr', 'string', 'sublist', 'sum', 'sums', 'sv', 'system', 'tables', 'tan', 'til', 'trim', + 'txf', 'type', 'ungroup', 'union', 'upper', 'upsert', 'value', 'var', 'view', 'views', 'vs', + 'wavg', 'within', 'wsum', 'xasc', 'xbar', 'xcol', 'xcols', 'xdesc', 'xexp', 'xgroup', 'xkey', + 'xlog', 'xprev', 'xrank' + ), + # kdb database template keywords + 2 => array( + 'aj', 'by', 'delete', 'fby', 'from', 'ij', 'lj', 'pj', 'select', 'uj', 'update', 'where', 'wj', + ), + ), + 'SYMBOLS' => array( + '?', '#', ',', '_', '@', '.', '^', '~', '$', '!', '\\', '\\', '/:', '\:', "'", "':", '::', '+', '-', '%', '*' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #009900; font-weight: bold;', + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 2 => 'color: #666666; font-style: italic;', + 3 => 'color: #808080; font-style: italic;', + 'MULTI' => 'color: #808080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 1 => 'color: #000099; font-weight: bold;', + 2 => 'color: #660099; font-weight: bold;', + 3 => 'color: #660099; font-weight: bold;', + 4 => 'color: #660099; font-weight: bold;', + 5 => 'color: #006699; font-weight: bold;', + 'HARD' => '', + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #990000;' + ), + 'NUMBERS' => array( + 0 => 'color: #0000dd;', + GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;', + GESHI_NUMBER_FLT_NONSCI => 'color:#800080;' + ), + 'METHODS' => array( + 1 => 'color: #202020;', + 2 => 'color: #202020;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + 2 => 'color: #999900;', + ), + 'SCRIPT' => array( + ) + ), + 'REGEXPS' => array( + # Symbols + 2 => '`[^\s"]*', + ), + 'URLS' => array( + 1 => '', + 2 => '', + ), +); + +?> \ No newline at end of file diff --git a/inc/geshi/qbasic.php b/inc/geshi/qbasic.php index c83cb188e..da4372258 100644 --- a/inc/geshi/qbasic.php +++ b/inc/geshi/qbasic.php @@ -4,7 +4,7 @@ * ---------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/20 * * QBasic/QuickBASIC language file for GeSHi. diff --git a/inc/geshi/rails.php b/inc/geshi/rails.php index 777fdd814..64d83ea16 100644 --- a/inc/geshi/rails.php +++ b/inc/geshi/rails.php @@ -4,7 +4,7 @@ * --------- * Author: Moises Deniz * Copyright: (c) 2005 Moises Deniz - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/03/21 * * Ruby (with Ruby on Rails Framework) language file for GeSHi. diff --git a/inc/geshi/rebol.php b/inc/geshi/rebol.php index 1a2e95824..a3889eec9 100644 --- a/inc/geshi/rebol.php +++ b/inc/geshi/rebol.php @@ -4,7 +4,7 @@ * -------- * Author: Lecanu Guillaume (Guillaume@LyA.fr) * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/12/22 * * Rebol language file for GeSHi. diff --git a/inc/geshi/reg.php b/inc/geshi/reg.php index d70189cc9..bb2e845f3 100644 --- a/inc/geshi/reg.php +++ b/inc/geshi/reg.php @@ -4,7 +4,7 @@ * ------- * Author: Sean Hanna (smokingrope@gmail.com) * Copyright: (c) 2006 Sean Hanna - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 03/15/2006 * * Microsoft Registry Editor language file for GeSHi. diff --git a/inc/geshi/robots.php b/inc/geshi/robots.php index 82ff18f4f..baf286b7f 100644 --- a/inc/geshi/robots.php +++ b/inc/geshi/robots.php @@ -4,7 +4,7 @@ * -------- * Author: Christian Lescuyer (cl@goelette.net) * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/02/17 * * robots.txt language file for GeSHi. diff --git a/inc/geshi/rpmspec.php b/inc/geshi/rpmspec.php new file mode 100644 index 000000000..96dc9556f --- /dev/null +++ b/inc/geshi/rpmspec.php @@ -0,0 +1,133 @@ + 'RPM Specification File', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'QUOTEMARKS' => array('"','`'), + 'ESCAPE_CHAR' => '\\', + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + ), + 'KEYWORDS' => array( + ), + 'SYMBOLS' => array( + '<', '>', '=', + '!', '@', '~', '&', '|', '^', + '+','-', '*', '/', '%', + ',', ';', '?', '.', ':' + ), + 'STYLES' => array( + 'KEYWORDS' => array( + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;', + 'HARD' => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;', + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + 1 => 'color: #006600;', + 2 => 'color: #006600;' + ), + 'SYMBOLS' => array( + 0 => 'color: #339933;' + ), + 'REGEXPS' => array( + 1 => 'color: #0000ff;', + 2 => 'color: #009999;', + 3 => 'color: #000000; font-weight: bold;', + 4 => 'color: #ff6600; font-style: italic;', + ), + 'SCRIPT' => array( + ) + ), + 'REGEXPS' => array( + 1 => array( + // search for generic macros + GESHI_SEARCH => '(%{?[a-zA-Z0-9_]+}?)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + 2 => array( + // search for special macros + GESHI_SEARCH => '(%(?:define|patch\d*|mklibname|mkrel|configure\S+|makeinstall\S+|make_session|make|defattr|config|doc|setup))', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + 3 => array ( + // special definitions + GESHI_SEARCH => '((?:summary|license|buildroot|buildrequires|provides|version|release|source\d*|group|buildarch|autoreqprov|provides|obsoletes|vendor|distribution|suggests|autoreq|autoprov|conflicts|name|url|requires|patch\d*):)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + 4 => array ( + // section delimiting words + GESHI_SEARCH => '(%(?:description|package|prep|build|install|clean|postun|preun|post|pre|files|changelog))', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'i', + GESHI_BEFORE => '', + GESHI_AFTER => '', + ), + ), + 'URLS' => array(), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), +); + +?> \ No newline at end of file diff --git a/inc/geshi/rsplus.php b/inc/geshi/rsplus.php index 10fa5a89e..b73f5ea77 100644 --- a/inc/geshi/rsplus.php +++ b/inc/geshi/rsplus.php @@ -6,7 +6,7 @@ * Contributors: * - Benilton Carvalho (beniltoncarvalho@gmail.com) * Copyright: (c) 2009 Ron Fredericks (http://www.LectureMaker.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/03/28 * * R language file for GeSHi. diff --git a/inc/geshi/ruby.php b/inc/geshi/ruby.php index 57d379d66..47ecbb2e2 100644 --- a/inc/geshi/ruby.php +++ b/inc/geshi/ruby.php @@ -4,7 +4,7 @@ * -------- * Author: Moises Deniz * Copyright: (c) 2007 Moises Deniz - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/03/21 * * Ruby language file for GeSHi. @@ -40,6 +40,10 @@ $language_data = array ( 'LANG_NAME' => 'Ruby', 'COMMENT_SINGLE' => array(1 => "#"), 'COMMENT_MULTI' => array("=begin" => "=end"), + 'COMMENT_REGEXP' => array( + //Heredoc + 4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si', + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"', '`','\''), 'ESCAPE_CHAR' => '\\', @@ -145,6 +149,7 @@ $language_data = array ( ), 'COMMENTS' => array( 1 => 'color:#008000; font-style:italic;', + 4 => 'color: #cc0000; font-style: italic;', 'MULTI' => 'color:#000080; font-style:italic;' ), 'ESCAPE_CHAR' => array( diff --git a/inc/geshi/sas.php b/inc/geshi/sas.php index 16617b58e..c4d426fa0 100644 --- a/inc/geshi/sas.php +++ b/inc/geshi/sas.php @@ -4,7 +4,7 @@ * ------- * Author: Galen Johnson (solitaryr@gmail.com) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/12/27 * * SAS language file for GeSHi. Based on the sas vim file. diff --git a/inc/geshi/scala.php b/inc/geshi/scala.php index 5ebe9ed96..202c06c83 100644 --- a/inc/geshi/scala.php +++ b/inc/geshi/scala.php @@ -4,7 +4,7 @@ * ---------- * Author: Franco Lombardo (franco@francolombardo.net) * Copyright: (c) 2008 Franco Lombardo, Benny Baumann - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/02/08 * * Scala language file for GeSHi. diff --git a/inc/geshi/scheme.php b/inc/geshi/scheme.php index dac7c6f06..2e2430bff 100644 --- a/inc/geshi/scheme.php +++ b/inc/geshi/scheme.php @@ -4,7 +4,7 @@ * ---------- * Author: Jon Raphaelson (jonraphaelson@gmail.com) * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * Scheme language file for GeSHi. diff --git a/inc/geshi/scilab.php b/inc/geshi/scilab.php index 9bd0658db..d1ff6fc16 100644 --- a/inc/geshi/scilab.php +++ b/inc/geshi/scilab.php @@ -4,7 +4,7 @@ * -------- * Author: Christophe David (geshi@christophedavid.org) * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/08/04 * * SciLab language file for GeSHi. diff --git a/inc/geshi/sdlbasic.php b/inc/geshi/sdlbasic.php index 1f1440bf5..876dc09a6 100644 --- a/inc/geshi/sdlbasic.php +++ b/inc/geshi/sdlbasic.php @@ -4,7 +4,7 @@ * ------------ * Author: Roberto Rossi * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/08/19 * * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi. diff --git a/inc/geshi/smalltalk.php b/inc/geshi/smalltalk.php index 9bc351d8e..b475ad711 100644 --- a/inc/geshi/smalltalk.php +++ b/inc/geshi/smalltalk.php @@ -4,7 +4,7 @@ * -------- * Author: Bananeweizen (Bananeweizen@gmx.de) * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/03/27 * * Smalltalk language file for GeSHi. diff --git a/inc/geshi/smarty.php b/inc/geshi/smarty.php index f59d9fbf3..7f4489289 100644 --- a/inc/geshi/smarty.php +++ b/inc/geshi/smarty.php @@ -4,7 +4,7 @@ * ---------- * Author: Alan Juden (alan@judenware.org) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/07/10 * * Smarty template language file for GeSHi. diff --git a/inc/geshi/sql.php b/inc/geshi/sql.php index ea2965a8e..9e45e850d 100644 --- a/inc/geshi/sql.php +++ b/inc/geshi/sql.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * SQL language file for GeSHi. diff --git a/inc/geshi/systemverilog.php b/inc/geshi/systemverilog.php index 832769f9e..19405c097 100644 --- a/inc/geshi/systemverilog.php +++ b/inc/geshi/systemverilog.php @@ -4,7 +4,7 @@ * ------- * Author: Sean O'Boyle * Copyright: (C) 2008 IntelligentDV - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/06/25 * * SystemVerilog IEEE 1800-2009(draft8) language file for GeSHi. diff --git a/inc/geshi/tcl.php b/inc/geshi/tcl.php index 0b52a2687..2a07ccd46 100644 --- a/inc/geshi/tcl.php +++ b/inc/geshi/tcl.php @@ -4,7 +4,7 @@ * --------------------------------- * Author: Reid van Melle (rvanmelle@gmail.com) * Copyright: (c) 2004 Reid van Melle (sorry@nowhere) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/05/05 * * TCL/iTCL language file for GeSHi. @@ -54,7 +54,7 @@ $language_data = array ( 'COMMENT_MULTI' => array(), 'COMMENT_REGEXP' => array( 1 => '/(? '/{[^}\n]+}/' + //2 => '/{[^}\n]+}/' ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"', "'"), @@ -138,7 +138,7 @@ $language_data = array ( ), 'COMMENTS' => array( 1 => 'color: #808080; font-style: italic;', - 2 => 'color: #483d8b;', +// 2 => 'color: #483d8b;', 'MULTI' => 'color: #808080; font-style: italic;' ), 'ESCAPE_CHAR' => array( @@ -191,4 +191,4 @@ $language_data = array ( ) ); -?> +?> \ No newline at end of file diff --git a/inc/geshi/teraterm.php b/inc/geshi/teraterm.php index b4ac619df..443bf7b4c 100644 --- a/inc/geshi/teraterm.php +++ b/inc/geshi/teraterm.php @@ -4,7 +4,7 @@ * -------- * Author: Boris Maisuradze (boris at logmett.com) * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/09/26 * * Tera Term Macro language file for GeSHi. diff --git a/inc/geshi/text.php b/inc/geshi/text.php index 24d3f10ee..66f459293 100644 --- a/inc/geshi/text.php +++ b/inc/geshi/text.php @@ -4,7 +4,7 @@ * -------- * Author: Sean Hanna (smokingrope@gmail.com) * Copyright: (c) 2006 Sean Hanna - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 04/23/2006 * * Standard Text File (No Syntax Highlighting). diff --git a/inc/geshi/thinbasic.php b/inc/geshi/thinbasic.php index 6a0b72f9f..693c698d6 100644 --- a/inc/geshi/thinbasic.php +++ b/inc/geshi/thinbasic.php @@ -4,7 +4,7 @@ * ------ * Author: Eros Olmi (eros.olmi@thinbasic.com) * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/05/12 * * thinBasic language file for GeSHi. diff --git a/inc/geshi/tsql.php b/inc/geshi/tsql.php index 4750997a3..b915b087d 100644 --- a/inc/geshi/tsql.php +++ b/inc/geshi/tsql.php @@ -4,7 +4,7 @@ * -------- * Author: Duncan Lock (dunc@dflock.co.uk) * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/11/22 * * T-SQL language file for GeSHi. @@ -43,7 +43,7 @@ $language_data = array ( 'COMMENT_MULTI' => array('/*' => '*/'), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array("'", '"'), - 'ESCAPE_CHAR' => '\\', + 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( 1 => array( // Datatypes diff --git a/inc/geshi/typoscript.php b/inc/geshi/typoscript.php index be809e856..525271428 100644 --- a/inc/geshi/typoscript.php +++ b/inc/geshi/typoscript.php @@ -4,7 +4,7 @@ * -------- * Author: Jan-Philipp Halle (typo3@jphalle.de) * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/07/29 * * TypoScript language file for GeSHi. diff --git a/inc/geshi/unicon.php b/inc/geshi/unicon.php new file mode 100644 index 000000000..edad62df3 --- /dev/null +++ b/inc/geshi/unicon.php @@ -0,0 +1,210 @@ + 'Unicon (Unified Extended Dialect of Icon)', + 'COMMENT_SINGLE' => array(1 => '#'), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"', '\''), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'break', 'case', 'class', 'continue', 'create', 'default', 'do', + 'else', 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', 'initially', + 'invocable', 'link', 'method', 'next', 'not', 'of', 'package', 'procedure', 'record', + 'repeat', 'return', 'switch', 'suspend', 'then', 'to', 'until', 'while' + ), + 2 => array( + 'global', 'local', 'static' + ), + 3 => array( + 'allocated', 'ascii', 'clock', 'collections', + 'column', 'cset', 'current', 'date', 'dateline', 'digits', + 'dump', 'e', 'error', 'errornumber', 'errortext', + 'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue', + 'fail', 'features', 'file', 'host', 'input', 'lcase', + 'letters', 'level', 'line', 'main', 'now', 'null', + 'output', 'phi', 'pi', 'pos', 'progname', 'random', + 'regions', 'source', 'storage', 'subject', 'syserr', 'time', + 'trace', 'ucase', 'version', 'col', 'control', 'interval', + 'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress', + 'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease', + 'shift', 'window', 'x', 'y' + ), + 4 => array( + 'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char', + 'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'dbcolumns', + 'dbdriver', 'dbkeys', 'dblimits', 'dbproduction', 'dbtables', 'delay', 'delete', 'detab', + 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', 'exp', + 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', 'getche', + 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', 'insert', + 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc', + 'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric', + 'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull', + 'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse', + 'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set', + 'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'staticnames', 'stop', 'string', 'system', 'tab', + 'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where', + 'write', 'writes' + ), + 5 => array( + 'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue', + 'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk', + 'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment', + 'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc', + 'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY', + 'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor', + 'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate', + 'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate', + 'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib', + 'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync' + ), + 6 => array( + 'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error', + 'line', 'undef' + ), + 7 => array( + '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386', + '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM', + '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING', + '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS', + '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS', + '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS', + '_DOS_FUNCTIONS' + ), + 8 => array( + 'line') + ), + 'SYMBOLS' => array( + 1 => array( + '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^', + '&', '|', '?', ':', ';', ',', '.', '~', '@' + ), + 2 => array( + '$(', '$)', '$<', '$>' + ) + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + 5 => true, + 6 => true, + 7 => true, + 8 => true + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #b1b100;', + 2 => 'color: #b1b100;', + 3 => 'color: #b1b100;', + 4 => 'color: #b1b100;', + 5 => 'color: #b1b100;', + 6 => 'color: #b1b100;', + 7 => 'color: #b1b100;', + 8 => 'color: #b1b100;' + ), + 'COMMENTS' => array( + 1 => 'color: #666666; font-style: italic;', + 'MULTI' => 'color: #666666; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #009900;' + ), + 'STRINGS' => array( + 0 => 'color: #0000ff;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;', + ), + 'METHODS' => array( + 0 => 'color: #004000;' + ), + 'SYMBOLS' => array( + 1 => 'color: #339933;' + ), + 'REGEXPS' => array(), + 'SCRIPT' => array() + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '', + 7 => '', + 8 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array(1 => '.'), + 'REGEXPS' => array(), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array(), + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 3 => array( + 'DISALLOWED_BEFORE' => '(?<=&)' + ), + 4 => array( + 'DISALLOWED_BEFORE' => "(? "(?![a-zA-Z0-9_\"\'])" + ), + 6 => array( + 'DISALLOWED_BEFORE' => '(?<=\$)' + ), + 8 => array( + 'DISALLOWED_BEFORE' => '(?<=#)' + ) + ) + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/vala.php b/inc/geshi/vala.php new file mode 100644 index 000000000..334398a87 --- /dev/null +++ b/inc/geshi/vala.php @@ -0,0 +1,151 @@ + 'Vala', + 'COMMENT_SINGLE' => array(1 => '//'), + 'COMMENT_MULTI' => array('/*' => '*/'), + 'COMMENT_REGEXP' => array( + //Using and Namespace directives (basic support) + //Please note that the alias syntax for using is not supported + 3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array("'", '"'), + 'HARDQUOTE' => array('"""'), + 'HARDESCAPE' => array('"'), + 'ESCAPE_CHAR' => '\\', + 'KEYWORDS' => array( + 1 => array( + 'as', 'abstract', 'base', 'break', 'case', 'catch', 'const', + 'construct', 'continue', 'default', 'delete', 'dynamic', 'do', + 'else', 'ensures', 'extern', 'false', 'finally', 'for', 'foreach', + 'get', 'if', 'in', 'inline', 'internal', 'lock', 'namespace', + 'null', 'out', 'override', 'private', 'protected', 'public', 'ref', + 'requires', 'return', 'set', 'static', 'switch', 'this', 'throw', + 'throws', 'true', 'try', 'using', 'value', 'var', 'virtual', + 'volatile', 'void', 'yield', 'yields', 'while' + ), + 2 => array( + '#elif', '#endif', '#else', '#if' + ), + 3 => array( + 'is', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', 'unowned', 'weak' + ), + 4 => array( + 'bool', 'char', 'class', 'delegate', 'double', 'enum', + 'errordomain', 'float', 'int', 'int8', 'int16', 'int32', 'int64', + 'interface', 'long', 'short', 'signal', 'size_t', 'ssize_t', + 'string', 'struct', 'uchar', 'uint', 'uint8', 'uint16', 'uint32', + 'ulong', 'unichar', 'ushort' + ) + ), + 'SYMBOLS' => array( + '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';', + '(', ')', '{', '}', '[', ']', '|' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => true, + 2 => true, + 3 => true, + 4 => true, + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #0600FF;', + 2 => 'color: #FF8000; font-weight: bold;', + 3 => 'color: #008000;', + 4 => 'color: #FF0000;' + ), + 'COMMENTS' => array( + 1 => 'color: #008080; font-style: italic;', + 3 => 'color: #008080;', + 'MULTI' => 'color: #008080; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #008080; font-weight: bold;', + 'HARD' => 'color: #008080; font-weight: bold;' + ), + 'BRACKETS' => array( + 0 => 'color: #000000;' + ), + 'STRINGS' => array( + 0 => 'color: #666666;', + 'HARD' => 'color: #666666;' + ), + 'NUMBERS' => array( + 0 => 'color: #FF0000;' + ), + 'METHODS' => array( + 1 => 'color: #0000FF;', + 2 => 'color: #0000FF;' + ), + 'SYMBOLS' => array( + 0 => 'color: #008000;' + ), + 'REGEXPS' => array( + ), + 'SCRIPT' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => '', + 4 => '' + ), + 'OOLANG' => true, + 'OBJECT_SPLITTERS' => array( + 1 => '.' + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ), + 'TAB_WIDTH' => 4, + 'PARSER_CONTROL' => array( + 'KEYWORDS' => array( + 'DISALLOWED_BEFORE' => "(?|^])", + 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])" + ) + ) +); + +?> diff --git a/inc/geshi/vb.php b/inc/geshi/vb.php index 9849b3e86..f24d86505 100644 --- a/inc/geshi/vb.php +++ b/inc/geshi/vb.php @@ -5,7 +5,7 @@ * Author: Roberto Rossi (rsoftware@altervista.org) * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), * Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/08/30 * * Visual Basic language file for GeSHi. @@ -57,34 +57,53 @@ $language_data = array ( 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( 1 => array( - 'AddressOf', 'Alias', 'And', 'Append', 'As', 'BF', 'Binary', - 'Boolean', 'ByRef', 'Byte', 'ByVal', 'Call', 'Case', 'CBool', - 'CByte', 'CCur', 'CDate', 'CDbl', 'CDec', 'CInt', 'CLng', - 'Close', 'Collection', 'Const', 'Control', 'CSng', 'CStr', - 'Currency', 'CVar', 'Date', 'Declare', 'Dim', 'Do', 'Double', - 'Each', 'Else', 'ElseIf', 'End', 'Enum', 'Erase', 'Error', - 'Event', 'Exit', 'Explicit', 'False', 'For', 'Friend', - 'Function', 'Get', 'GoSub', 'Goto', 'If', 'Implements', 'In', - 'Input', 'Integer', 'Is', 'LBound', 'Let', 'Lib', 'Like', - 'Line', 'Long', 'Loop', 'Mod', 'New', 'Next', 'Not', - 'Nothing', 'Object', 'On', 'Open', 'Option', 'Optional', - 'Or', 'Output', 'ParamArray', 'Preserve', 'Print', 'Private', - 'Property', 'Public', 'RaiseEvent', 'Random', 'ReDim', - 'Resume', 'Select', 'Set', 'Single', 'Static', 'Step', - 'Stop', 'String', 'Sub', 'Then', 'To', 'True', 'Type', - 'TypeOf', 'UBound', 'Until', 'Variant', 'While', 'With', - 'WithEvents', 'Xor' - ) + 'Binary', 'Boolean', 'Byte', 'Currency', 'Date', 'Decimal', 'Double', + 'String', 'Enum', 'Integer', 'Long', 'Object', 'Single', 'Variant' + ), + 2 => array( + 'CreateObject', 'GetObject', 'New', 'Option', 'Function', + 'Call', 'Private', 'Public', 'Sub', 'Explicit', 'Compare', 'Exit' + ), + 3 => array( + 'And', 'Case', 'Do', 'Each', 'Else', 'ElseIf', 'For', + 'Goto', 'If', 'Is', 'Loop', 'Next', 'Not', 'Or', 'Select', 'Step', + 'Then', 'To', 'Until', 'While', 'With', 'Xor', 'WithEvents', + 'DoEvents', 'Close', 'Like', 'In', 'End' + ), + 4 => array( + 'As', 'Dim', 'Get', 'Set', 'ReDim', 'Error', + 'Resume', 'Declare', 'Let', 'ByRef', 'ByVal', + 'Optional', 'Property', 'Control', 'UBound', 'Mod', + 'GoSub', 'Implements', 'Input', 'LBound', 'Static', 'Stop', + 'Type', 'TypeOf', 'On', 'Open', 'Output', 'ParamArray', + 'Preserve', 'Print', 'RaiseEvent', 'Random', 'Line' + ), + 5 => array( + 'Nothing', 'False', 'True', 'Null', 'Empty' + ), + 6 => array( + 'ErrorHandler','ExitProc', 'PublishReport' + ), ), 'SYMBOLS' => array( ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, - 1 => false + 1 => false, + 2 => false, + 3 => false, + 4 => false, + 5 => false, + 6 => false ), 'STYLES' => array( 'KEYWORDS' => array( - 1 => 'color: #000080;' + 1 => 'color: #F660AB; font-weight: bold;', + 2 => 'color: #E56717; font-weight: bold;', + 3 => 'color: #8D38C9; font-weight: bold;', + 4 => 'color: #151B8D; font-weight: bold;', + 5 => 'color: #00C2FF; font-weight: bold;', + 6 => 'color: #3EA99F; font-weight: bold;' ), 'COMMENTS' => array( 1 => 'color: #008000;' @@ -109,7 +128,12 @@ $language_data = array ( ) ), 'URLS' => array( - 1 => '' + 1 => '', + 2 => '', + 3 => '', + 4 => '', + 5 => '', + 6 => '' ), 'OOLANG' => false, 'OBJECT_SPLITTERS' => array( diff --git a/inc/geshi/vbnet.php b/inc/geshi/vbnet.php index 683b744f9..f74775214 100644 --- a/inc/geshi/vbnet.php +++ b/inc/geshi/vbnet.php @@ -4,7 +4,7 @@ * --------- * Author: Alan Juden (alan@judenware.org) * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/06/04 * * VB.NET language file for GeSHi. diff --git a/inc/geshi/verilog.php b/inc/geshi/verilog.php index 6fc469487..14c1d7172 100644 --- a/inc/geshi/verilog.php +++ b/inc/geshi/verilog.php @@ -4,7 +4,7 @@ * ----------- * Author: G�nter Dannoritzer * Copyright: (C) 2008 Guenter Dannoritzer - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/05/28 * * Verilog language file for GeSHi. diff --git a/inc/geshi/vhdl.php b/inc/geshi/vhdl.php index ea93cf87b..6856933c7 100644 --- a/inc/geshi/vhdl.php +++ b/inc/geshi/vhdl.php @@ -4,7 +4,7 @@ * -------- * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de) * Copyright: (c) 2005 Alexander Krause - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2005/06/15 * * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi. diff --git a/inc/geshi/vim.php b/inc/geshi/vim.php index a95dc244c..f4f93ad2e 100644 --- a/inc/geshi/vim.php +++ b/inc/geshi/vim.php @@ -1,5 +1,4 @@ 'Vim Script', 'COMMENT_SINGLE' => array(), 'COMMENT_REGEXP' => array( - 1 => "/^\s*\"[^\"]*?$/m" + 1 => "/\s*\"[^\"]*?$/m", + //Regular expressions (Ported from perl.php) +// 2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU", ), 'COMMENT_MULTI' => array(), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, @@ -65,12 +66,12 @@ $language_data = array( 1 => array( 'au', 'augroup', 'autocmd', 'brea', 'break', 'bufadd', 'bufcreate', 'bufdelete', 'bufenter', 'buffilepost', - 'buffilepre', 'bufhidden', 'bufleave', 'bufnew', 'bufnewfile', + 'buffilepre', 'bufleave', 'bufnew', 'bufnewfile', 'bufread', 'bufreadcmd', 'bufreadpost', 'bufreadpre', 'bufunload', 'bufwinenter', 'bufwinleave', 'bufwipeout', 'bufwrite', 'bufwritecmd', 'bufwritepost', 'bufwritepre', 'call', 'cat', 'catc', 'catch', 'cmd-event', 'cmdwinenter', - 'cmdwinleave', 'colorscheme', 'con', 'cont', 'conti', + 'cmdwinleave', 'colorscheme', 'con', 'confirm', 'cont', 'conti', 'contin', 'continu', 'continue', 'cursorhold', 'cursorholdi', 'cursormoved', 'cursormovedi', 'ec', 'echo', 'echoe', 'echoer', 'echoerr', 'echoh', 'echohl', 'echom', 'echoms', @@ -80,7 +81,7 @@ $language_data = array( 'endwhil', 'endwhile', 'exe', 'exec', 'execu', 'execut', 'execute', 'fileappendcmd', 'fileappendpost', 'fileappendpre', 'filechangedro', 'filechangedshell', 'filechangedshellpost', - 'fileencoding', 'filereadcmd', 'filereadpost', 'filereadpre', + 'filereadcmd', 'filereadpost', 'filereadpre', 'filetype', 'filewritecmd', 'filewritepost', 'filewritepre', 'filterreadpost', 'filterreadpre', 'filterwritepost', 'filterwritepre', 'fina', 'final', 'finall', 'finally', @@ -94,7 +95,7 @@ $language_data = array( 'shellcmdpost', 'shellfilterpost', 'sourcecmd', 'sourcepre', 'spellfilemissing', 'stdinreadpost', 'stdinreadpre', 'swapexists', 'syntax', 'tabenter', 'tableave', 'termchanged', - 'termresponse', 'th', 'thr', 'thro', 'throw', 'try', 'unl', + 'termresponse', 'th', 'thr', 'thro', 'throw', 'tr', 'try', 'unl', 'unle', 'unlet', 'unlo', 'unloc', 'unlock', 'unlockv', 'unlockva', 'unlockvar', 'user', 'usergettingbored', 'vimenter', 'vimleave', 'vimleavepre', 'vimresized', 'wh', @@ -116,17 +117,17 @@ $language_data = array( 'bdir', 'bdlay', 'beval', 'bex', 'bexpr', 'bg', 'bh', 'bin', 'binary', 'biosk', 'bioskey', 'bk', 'bkc', 'bl', 'bomb', 'breakat', 'brk', - 'browsedir', 'bs', 'bsdir', 'bsk', 'bt', 'bufhidden', - 'buflisted', 'buftype', 'casemap', 'cb', + 'bs', 'bsdir', 'bsk', 'bt', 'bufhidden', + 'buftype', 'casemap', 'cb', 'ccv', 'cd', 'cdpath', 'cedit', 'cf', 'cfu', 'ch', - 'charconvert', 'ci', 'cin', 'cindent', 'cink', + 'charconvert', 'ci', 'cin', 'cink', 'cinkeys', 'cino', 'cinoptions', 'cinw', 'cinwords', 'clipboard', 'cmdheight', 'cmdwinheight', 'cmp', 'cms', 'co', 'columns', 'com', 'comc', 'comcl', 'comcle', 'comclea', 'comclear', 'comm', 'comma', 'comman', 'command', 'comments', 'commentstring', - 'compatible', 'complete', 'completefunc', 'completeopt', - 'confirm', 'consk', 'conskey', 'copyindent', + 'compatible', 'completefunc', 'completeopt', + 'consk', 'conskey', 'copyindent', 'cot', 'cp', 'cpo', 'cpoptions', 'cpt', 'cscopepathcomp', 'cscopeprg', 'cscopequickfix', 'cscopetag', 'cscopetagorder', 'cscopeverbose', @@ -138,19 +139,18 @@ $language_data = array( 'diffopt', 'digraph', 'dip', 'dir', 'directory', 'display', 'dlcomma', 'dy', 'ea', 'ead', 'eadirection', 'eb', 'ed', 'edcompatible', 'ef', 'efm', - 'ei', 'ek', 'enc', 'encoding', 'endofline', + 'ei', 'ek', 'enc', 'encoding', 'endfun', 'endofline', 'eol', 'ep', 'equalalways', 'equalprg', 'errorbells', 'errorfile', 'errorformat', 'esckeys', 'et', 'eventignore', 'ex', 'expandtab', 'exrc', 'fcl', 'fcs', 'fdc', 'fde', 'fdi', 'fdl', 'fdls', 'fdm', 'fdn', 'fdo', 'fdt', 'fen', 'fenc', 'fencs', 'fex', 'ff', 'ffs', 'fileencoding', 'fileencodings', 'fileformat', - 'fileformats', 'filetype', 'fillchars', 'fk', + 'fileformats', /*'filetype',*/ 'fillchars', 'fk', 'fkmap', 'flp', 'fml', 'fmr', 'fo', 'foldclose', 'foldcolumn', 'foldenable', 'foldexpr', 'foldignore', - 'foldlevel', 'foldlevelstart', 'foldmarker', - 'foldmethod', 'foldminlines', 'foldnestmax', 'foldopen', - 'foldtext', 'formatexpr', 'formatlistpat', + 'foldlevelstart', 'foldmarker', 'foldmethod', 'foldminlines', + 'foldnestmax', 'foldopen', 'formatexpr', 'formatlistpat', 'formatoptions', 'formatprg', 'fp', 'fs', 'fsync', 'ft', 'gcr', 'gd', 'gdefault', 'gfm', 'gfn', 'gfs', 'gfw', 'ghr', 'go', 'gp', 'grepformat', 'grepprg', 'gtl', @@ -255,13 +255,13 @@ $language_data = array( 'sidescrolloff', 'siso', 'sj', 'slm', 'sm', 'smartcase', 'smartindent', 'smarttab', 'smc', 'smd', 'sn', 'so', 'softtabstop', 'sol', 'sp', 'spc', 'spell', - 'spellcapcheck', 'spellfile', 'spelllang', 'spellsuggest', + 'spellcapcheck', 'spellfile', 'spelllang', 'spf', 'spl', 'splitbelow', 'splitright', 'spr', 'sps', 'sr', 'srr', 'ss', 'ssl', 'ssop', 'st', 'sta', 'stal', 'startofline', 'statusline', 'stl', 'stmp', 'sts', 'su', 'sua', 'suffixes', 'suffixesadd', 'sw', 'swapfile', 'swapsync', 'swb', 'swf', 'switchbuf', - 'sws', 'sxq', 'syn', 'synmaxcol', 'syntax', 'ta', + 'sws', 'sxq', 'syn', 'synmaxcol', 'ta', 'tabline', 'tabpagemax', 'tabstop', 'tag', 'tagbsearch', 'taglength', 'tagrelative', 'tags', 'tagstack', 'tal', 'tb', 'tbi', 'tbidi', 'tbis', 'tbs', @@ -270,7 +270,7 @@ $language_data = array( 'thesaurus', 'tildeop', 'timeout', 'timeoutlen', 'title', 'titlelen', 'titleold', 'titlestring', 'tl', 'tm', 'to', 'toolbar', 'toolbariconsize', 'top', - 'tpm', 'tr', 'ts', 'tsl', 'tsr', 'ttimeout', + 'tpm', 'ts', 'tsl', 'tsr', 'ttimeout', 'ttimeoutlen', 'ttm', 'tty', 'ttybuiltin', 'ttyfast', 'ttym', 'ttymouse', 'ttyscroll', 'ttytype', 'tw', 'tx', 'uc', 'ul', 'undolevels', 'updatecount', 'updatetime', 'ut', @@ -278,7 +278,7 @@ $language_data = array( 'vfile', 'vi', 'viewdir', 'viewoptions', 'viminfo', 'virtualedit', 'visualbell', 'vop', 'wa', 'wak', 'warn', 'wb', 'wc', 'wcm', 'wd', 'weirdinvert', 'wfh', - 'wfw', 'wh', 'whichwrap', 'wi', 'wig', 'wildchar', + 'wfw', /*'wh',*/ 'whichwrap', 'wi', 'wig', 'wildchar', 'wildcharm', 'wildignore', 'wildmenu', 'wildmode', 'wildoptions', 'wim', 'winaltkeys', 'window', 'winfixheight', 'winfixwidth', 'winheight', @@ -315,7 +315,7 @@ $language_data = array( 'bufexists', 'buflisted', 'bufloaded', 'bufname', 'bufnr', 'bufwinnr', 'byte2line', 'byteidx', 'ceil', 'changenr', 'char2nr', 'cindent', 'clearmatches', 'col', 'complete', - 'complete_add', 'complete_check', 'confirm', 'copy', + 'complete_add', 'complete_check', 'copy', 'cos', 'count', 'cscope_connection', 'cursor', 'deepcopy', 'delete', 'did_filetype', 'diff_filler', 'diff_hlID', 'empty', 'escape', 'eval', 'eventhandler', 'executable', @@ -354,10 +354,10 @@ $language_data = array( 'strridx', 'strtrans', 'submatch', 'substitute', 'synID', 'synIDattr', 'synIDtrans', 'synstack', 'system', 'tabpagebuflist', 'tabpagenr', 'tabpagewinnr', 'tagfiles', - 'taglist', 'tempname', 'tolower', 'toupper', 'tr', 'trunc', + 'taglist', 'tempname', 'tolower', 'toupper', 'trunc', 'type', 'values', 'virtcol', 'visualmode', 'winbufnr', - 'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd', - 'winrestview', 'winsaveview', 'winwidth', 'writefile' + 'wincol', 'winline', 'winnr', 'winrestcmd', + 'winrestview', 'winsaveview', 'writefile' ) ), 'SYMBOLS' => array( @@ -375,7 +375,8 @@ $language_data = array( 0 => 'color: #000000;' ), 'COMMENTS' => array( - 1 => 'color: #adadad; font-style: italic;' + 1 => 'color: #adadad; font-style: italic;', +// 2 => 'color: #009966; font-style: italic;' ), 'ESCAPE_CHAR' => array( 0 => '' @@ -416,4 +417,4 @@ $language_data = array( 'HIGHLIGHT_STRICT_BLOCK' => array() ); -?> \ No newline at end of file +?> diff --git a/inc/geshi/visualfoxpro.php b/inc/geshi/visualfoxpro.php index 4d9f649ce..7d804257f 100644 --- a/inc/geshi/visualfoxpro.php +++ b/inc/geshi/visualfoxpro.php @@ -4,7 +4,7 @@ * ---------------- * Author: Roberto Armellin (r.armellin@tin.it) * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/09/17 * * Visual FoxPro language file for GeSHi. diff --git a/inc/geshi/visualprolog.php b/inc/geshi/visualprolog.php index 5c9bbd4d0..5afd7de8d 100644 --- a/inc/geshi/visualprolog.php +++ b/inc/geshi/visualprolog.php @@ -4,7 +4,7 @@ * ---------- * Author: Thomas Linder Puls (puls@pdc.dk) * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/11/20 * * Visual Prolog language file for GeSHi. diff --git a/inc/geshi/whitespace.php b/inc/geshi/whitespace.php index a27a7b920..c47775d44 100644 --- a/inc/geshi/whitespace.php +++ b/inc/geshi/whitespace.php @@ -4,7 +4,7 @@ * ---------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2009/10/31 * * Whitespace language file for GeSHi. diff --git a/inc/geshi/whois.php b/inc/geshi/whois.php index 019e91450..9b4b24179 100644 --- a/inc/geshi/whois.php +++ b/inc/geshi/whois.php @@ -4,7 +4,7 @@ * -------- * Author: Benny Baumann (BenBE@geshi.org) * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/09/14 * * Whois response (RPSL format) language file for GeSHi. diff --git a/inc/geshi/winbatch.php b/inc/geshi/winbatch.php index 5b5dcc1df..949e61c14 100644 --- a/inc/geshi/winbatch.php +++ b/inc/geshi/winbatch.php @@ -4,7 +4,7 @@ * ------------ * Author: Craig Storey (storey.craig@gmail.com) * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2006/05/19 * * WinBatch language file for GeSHi. diff --git a/inc/geshi/xbasic.php b/inc/geshi/xbasic.php new file mode 100644 index 000000000..a2d85a6df --- /dev/null +++ b/inc/geshi/xbasic.php @@ -0,0 +1,144 @@ + 'XBasic', + 'COMMENT_SINGLE' => array(1 => "'"), + 'COMMENT_MULTI' => array(), + 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, + 'QUOTEMARKS' => array('"'), + 'ESCAPE_CHAR' => '', + 'KEYWORDS' => array( + 1 => array( + 'WHILE', 'UNTIL', 'TRUE', 'TO', 'THEN', 'SUB', 'STOP', 'STEP', + 'SELECT', 'RETURN', 'PROGRAM', 'NEXT', 'LOOP', 'IFZ', + 'IFT', 'IFF', 'IF', 'GOTO', 'GOSUB', 'FOR', 'FALSE', 'EXIT', + 'ENDIF', 'END', 'ELSE', 'DO', 'CASE', 'ALL' + ), + 2 => array( + 'XMAKE', 'XLONGAT', 'XLONG', 'WRITE', 'VOID', 'VERSION$', 'VERSION', + 'USHORTAT', 'USHORT', 'UNION', 'ULONGAT', 'ULONG', 'UCASE$', + 'UBYTEAT', 'UBYTE', 'UBOUND', 'TYPE','TRIM$', 'TAB', 'SWAP', + 'SUBADDRESS', 'SUBADDR', 'STUFF$', 'STRING', 'STRING$', 'STR$', + 'STATIC', 'SSHORTAT', 'SSHORT', 'SPACE$', 'SMAKE', 'SLONGAT', 'SLONG', + 'SIZE', 'SINGLEAT', 'SINGLE', 'SIGNED$', 'SIGN', 'SHELL', 'SHARED', + 'SGN', 'SFUNCTION', 'SET', 'SEEK', 'SCOMPLEX', 'SBYTEAT', 'SBYTE', + 'RTRIM$', 'ROTATER', 'ROTATEL', 'RJUST$', 'RINSTRI', 'RINSTR', + 'RINCHRI', 'RINCHR', 'RIGHT$', 'REDIM', 'READ', 'RCLIP$', 'QUIT', + 'PROGRAM$', 'PRINT', 'POF', 'OPEN', 'OCTO$', 'OCT$', 'NULL$', 'MIN', + 'MID$', 'MAX', 'MAKE', 'LTRIM$', 'LOF', 'LJUST$', 'LIBRARY', 'LEN', + 'LEFT$', 'LCLIP$', 'LCASE$', 'INTERNAL', 'INT', 'INSTRI', 'INSTR', + 'INLINE$', 'INFILE$', 'INCHRI', 'INCHR', 'INC', 'IMPORT', 'HIGH1', + 'HIGH0', 'HEXX$', 'HEX$', 'GOADDRESS', 'GOADDR', 'GMAKE', 'GLOW', + 'GIANTAT', 'GIANT', 'GHIGH', 'FUNCTION', 'FUNCADDRESS', 'FUNCADDR', + 'FORMAT$', 'FIX', 'EXTU', 'EXTS', 'EXTERNAL', 'ERROR', 'ERROR$', + 'EOF', 'DOUBLEAT', 'DOUBLE', 'DMAKE', 'DLOW', 'DIM', 'DHIGH', + 'DECLARE', 'DEC', 'DCOMPLEX', 'CSTRING$', 'CSIZE', 'CSIZE$', 'CLR', + 'CLOSE', 'CLEAR', 'CJUST$', 'CHR$', 'CFUNCTION', 'BITFIELD', 'BINB$', + 'BIN$', 'AUTOX', 'AUTOS', 'AUTO', 'ATTACH', 'ASC', 'ABS' + ), + 3 => array( + 'XOR', 'OR', 'NOT', 'MOD', 'AND' + ), + 4 => array( + 'TANH', 'TAN', 'SQRT', 'SINH', 'SIN', 'SECH', 'SEC', 'POWER', + 'LOG10', 'LOG', 'EXP10', 'EXP', 'CSCH', 'CSC', 'COTH', 'COT', 'COSH', + 'COS', 'ATANH', 'ATAN', 'ASINH', 'ASIN', 'ASECH', 'ASEC', 'ACSCH', + 'ACSC', 'ACOSH', 'ACOS' + ) + ), + 'SYMBOLS' => array( + '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', + '=','+','-' + ), + 'CASE_SENSITIVE' => array( + GESHI_COMMENTS => false, + 1 => false, + 2 => false, + 3 => false, + 4 => false + ), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #00a1a1;font-weight: bold', + 2 => 'color: #000066;font-weight: bold', + 3 => 'color: #00a166;font-weight: bold', + 4 => 'color: #0066a1;font-weight: bold' + ), + 'COMMENTS' => array( + 1 => 'color: #808080;' + ), + 'BRACKETS' => array( + 0 => 'color: #66cc66;' + ), + 'STRINGS' => array( + 0 => 'color: #ff0000;' + ), + 'NUMBERS' => array( + 0 => 'color: #cc66cc;' + ), + 'METHODS' => array( + ), + 'SYMBOLS' => array( + 0 => 'color: #66cc66;' + ), + 'ESCAPE_CHAR' => array( + 0 => 'color: #000099;' + ), + 'SCRIPT' => array( + ), + 'REGEXPS' => array( + ) + ), + 'URLS' => array( + 1 => '', + 2 => '', + 3 => 'http://www.xbasic.org', + 4 => 'http://www.xbasic.org' + ), + 'OOLANG' => false, + 'OBJECT_SPLITTERS' => array( + ), + 'REGEXPS' => array( + ), + 'STRICT_MODE_APPLIES' => GESHI_NEVER, + 'SCRIPT_DELIMITERS' => array( + ), + 'HIGHLIGHT_STRICT_BLOCK' => array( + ) +); + +?> \ No newline at end of file diff --git a/inc/geshi/xml.php b/inc/geshi/xml.php index 608c99f00..efd3e6c33 100644 --- a/inc/geshi/xml.php +++ b/inc/geshi/xml.php @@ -4,7 +4,7 @@ * ------- * Author: Nigel McNie (nigel@geshi.org) * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2004/09/01 * * XML language file for GeSHi. Based on the idea/file by Christian Weiske diff --git a/inc/geshi/xorg_conf.php b/inc/geshi/xorg_conf.php index cdb6c36c9..5cde8e171 100644 --- a/inc/geshi/xorg_conf.php +++ b/inc/geshi/xorg_conf.php @@ -4,7 +4,7 @@ * ---------- * Author: Milian Wolff (mail@milianw.de) * Copyright: (c) 2008 Milian Wolff (http://milianw.de) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2008/06/18 * * xorg.conf language file for GeSHi. diff --git a/inc/geshi/xpp.php b/inc/geshi/xpp.php index 5f009ec8c..216c46eaf 100644 --- a/inc/geshi/xpp.php +++ b/inc/geshi/xpp.php @@ -4,7 +4,7 @@ * ------- * Author: Simon Butcher (simon@butcher.name) * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/02/27 * * Axapta/Dynamics Ax X++ language file for GeSHi. diff --git a/inc/geshi/z80.php b/inc/geshi/z80.php index b41e80c74..f28593cd2 100644 --- a/inc/geshi/z80.php +++ b/inc/geshi/z80.php @@ -4,7 +4,7 @@ * ------- * Author: Benny Baumann (BenBE@omorphia.de) * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/) - * Release Version: 1.0.8.6 + * Release Version: 1.0.8.8 * Date Started: 2007/02/06 * * ZiLOG Z80 Assembler language file for GeSHi. -- cgit v1.2.3 From d0eb2708ceb86233e21f3c7da5f124ad78f127dc Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 12:07:26 +0200 Subject: I'm not the only copyright holder --- README | 1 + data/pages/wiki/dokuwiki.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README b/README index 1f5332444..76a7cf6cd 100644 --- a/README +++ b/README @@ -5,5 +5,6 @@ For Installation Instructions see http://www.dokuwiki.org/install DokuWiki - 2004-2010 (c) Andreas Gohr + and the DokuWiki Community See COPYING and file headers for license info diff --git a/data/pages/wiki/dokuwiki.txt b/data/pages/wiki/dokuwiki.txt index 7bb6ee512..e6fac5b65 100644 --- a/data/pages/wiki/dokuwiki.txt +++ b/data/pages/wiki/dokuwiki.txt @@ -57,7 +57,7 @@ All documentation and additional information besides the [[syntax|syntax descrip ===== Copyright ===== -2004-2010 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) +2004-2010 (c) Andreas Gohr ((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[http://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community The DokuWiki engine is licensed under [[http://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-). -- cgit v1.2.3 From db6f7eaea3a9b1b536f2b65e54c911f2a4d49bd8 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 12:27:41 +0200 Subject: don't load disabled plugins FS#1990 --- inc/plugincontroller.class.php | 17 ++++++++++++----- inc/pluginutils.php | 4 ++-- lib/plugins/plugin/classes/ap_info.class.php | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/inc/plugincontroller.class.php b/inc/plugincontroller.class.php index 61f460414..ad394e11f 100644 --- a/inc/plugincontroller.class.php +++ b/inc/plugincontroller.class.php @@ -55,15 +55,23 @@ class Doku_Plugin_Controller { * * @author Andreas Gohr * - * @param $type string type of plugin to load - * @param $name string name of the plugin to load - * @param $new bool true to return a new instance of the plugin, false to use an already loaded instance + * @param $type string type of plugin to load + * @param $name string name of the plugin to load + * @param $new bool true to return a new instance of the plugin, false to use an already loaded instance + * @param $disabled bool true to load even disabled plugins * @return objectreference the plugin object or null on failure */ - function &load($type,$name,$new=false){ + function &load($type,$name,$new=false,$disabled=false){ //we keep all loaded plugins available in global scope for reuse global $DOKU_PLUGINS; + list($plugin,$component) = $this->_splitName($name); + + // check if disabled + if(!$disabled && $this->isdisabled($plugin)){ + return null; + } + //plugin already loaded? if(!empty($DOKU_PLUGINS[$type][$name])){ if ($new || !$DOKU_PLUGINS[$type][$name]->isSingleton()) { @@ -75,7 +83,6 @@ class Doku_Plugin_Controller { } //try to load the wanted plugin file - list($plugin,$component) = $this->_splitName($name); $dir = $this->get_directory($plugin); $file = $component ? "$type/$component.php" : "$type.php"; diff --git a/inc/pluginutils.php b/inc/pluginutils.php index da0704bec..85bcaee1e 100644 --- a/inc/pluginutils.php +++ b/inc/pluginutils.php @@ -16,9 +16,9 @@ function plugin_list($type='',$all=false) { global $plugin_controller; return $plugin_controller->getList($type,$all); } -function &plugin_load($type,$name,$new=false) { +function &plugin_load($type,$name,$new=false,$disabled=false) { global $plugin_controller; - return $plugin_controller->load($type,$name,$new); + return $plugin_controller->load($type,$name,$new,$disabled); } function plugin_isdisabled($plugin) { global $plugin_controller; diff --git a/lib/plugins/plugin/classes/ap_info.class.php b/lib/plugins/plugin/classes/ap_info.class.php index fcadb4599..cebbf090a 100644 --- a/lib/plugins/plugin/classes/ap_info.class.php +++ b/lib/plugins/plugin/classes/ap_info.class.php @@ -15,7 +15,7 @@ class ap_info extends ap_manage { foreach ($component_list as $component) { - if ($obj = & plugin_load($component['type'],$component['name']) === NULL) continue; + if ($obj = & plugin_load($component['type'],$component['name'],false,true) === NULL) continue; $compname = explode('_',$component['name']); if($compname[1]){ -- cgit v1.2.3 From 06853c0e060769b5fa39cdf608b1926785c9c557 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 13:31:02 +0200 Subject: fixed namespace subscription file location FS#2013 If you subscribed to namespaces other than the root namespace using the new develonly subscription feature you'll need to renew your subscriptions. --- inc/subscription.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/inc/subscription.php b/inc/subscription.php index 22d8fccd5..f39b87eb5 100644 --- a/inc/subscription.php +++ b/inc/subscription.php @@ -29,13 +29,11 @@ function subscription_filename($id) { $meta_fname = '.mlist'; if ((substr($id, -1, 1) === ':')) { $meta_froot = getNS($id); - if ($meta_froot === false) { - $meta_fname = '/' . $meta_fname; - } + $meta_fname = '/' . $meta_fname; } else { $meta_froot = $id; } - return metaFN($meta_froot, $meta_fname); + return metaFN((string) $meta_froot, $meta_fname); } /** -- cgit v1.2.3 From 2d80806237992142db35857e6190709d86fa531d Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 13:48:18 +0200 Subject: release preparations --- conf/wordblock.conf | 20293 ++++++++++++++++++++++++++----------------- data/pages/wiki/syntax.txt | 3 +- doku.php | 2 +- install.php | 2 +- 4 files changed, 12293 insertions(+), 8007 deletions(-) diff --git a/conf/wordblock.conf b/conf/wordblock.conf index da7143257..4ea9934b5 100644 --- a/conf/wordblock.conf +++ b/conf/wordblock.conf @@ -1,8004 +1,12291 @@ -# This is the URL blacklist from the chongqed.org database -# it is available from http://blacklist.chongqed.org/ -# You can use each line below as a regular expression -# that can be tested against URLs on your wiki. -# The last spammer was added on 2008-09-11 10:14:51 + ########################################################################### + # DO NOT MODIFY THIS LIST UNLESS YOU HAVE A BASIC UNDERSTANDING OF REGEX! # + ########################################################################### + # + # This is a list of domain names which are blocked - nobody can add new links to these domains + # Guidelines: + # - Only blacklist for widespread, unmanageable spam. + # - To disable an entry, *remove* it, don't comment it out. Please log removals. + # - Add entries or their removal to the [http://meta.wikimedia.org/wiki/Spam_blacklist/Log log]. + # - Snippet for [http://meta.wikimedia.org/wiki/Spam_blacklist/Log/{{CURRENTYEAR}}/{{CURRENTMONTH}}?action=edit&editintro=Template:Spam_blacklist_log_instructions logging]: {{sbl-diff|{{REVISIONID}}}} + # + # Syntax: + # - Everything from a "#" character to the end of the line is a comment + # - Every non-blank line is a regex fragment which will only match hosts inside URLs + # [[Category:Spam blacklist|{{PAGENAME}}]] -https?:\/\/([^\/]*\.)?-com-boob-sex-sexy\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?0--sex\.com -https?:\/\/([^\/]*\.)?0-casinos\.org -https?:\/\/([^\/]*\.)?0-poker\.net -https?:\/\/([^\/]*\.)?00007\.com -https?:\/\/([^\/]*\.)?001-mature-teacher\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?007vip\.cn -https?:\/\/([^\/]*\.)?01incest\.za\.pl -https?:\/\/([^\/]*\.)?021boy\.com -https?:\/\/([^\/]*\.)?027168\.com -https?:\/\/([^\/]*\.)?02incest\.za\.pl -https?:\/\/([^\/]*\.)?03incest\.za\.pl -https?:\/\/([^\/]*\.)?086books\.com -https?:\/\/([^\/]*\.)?0esy-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?0lmz-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?0sxa-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?0tdwrmq8\.org -https?:\/\/([^\/]*\.)?0x009\.blogspot\.com -https?:\/\/([^\/]*\.)?1-888-pokermon\.com -https?:\/\/([^\/]*\.)?1-adipex\.us -https?:\/\/([^\/]*\.)?1-cialis\.us -https?:\/\/([^\/]*\.)?1-craps\.net -https?:\/\/([^\/]*\.)?1-levitra\.us -https?:\/\/([^\/]*\.)?1-poker-game\.com -https?:\/\/([^\/]*\.)?1-xenical\.us -https?:\/\/([^\/]*\.)?10-best-online-casinosx\.blogspot\.com -https?:\/\/([^\/]*\.)?100-25-ebony-free\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?10med\.com -https?:\/\/([^\/]*\.)?10pharm\.com -https?:\/\/([^\/]*\.)?114418523\.blogspot\.com -https?:\/\/([^\/]*\.)?117000\.com -https?:\/\/([^\/]*\.)?1177888888\.com -https?:\/\/([^\/]*\.)?123clips-com-cq03\.blogspot\.com -https?:\/\/([^\/]*\.)?123clips-com-td\.blogspot\.com -https?:\/\/([^\/]*\.)?123clips-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?123clips-tp5\.blogspot\.com -https?:\/\/([^\/]*\.)?126hao\.com -https?:\/\/([^\/]*\.)?163car\.com -https?:\/\/([^\/]*\.)?163school\.com\.cn -https?:\/\/([^\/]*\.)?168chinese\.com -https?:\/\/([^\/]*\.)?168english\.com -https?:\/\/([^\/]*\.)?168standard\.com -https?:\/\/([^\/]*\.)?181st-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?18to19-com-dbo26u\.blogspot\.com -https?:\/\/([^\/]*\.)?18to19-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?1avoro\.info -https?:\/\/([^\/]*\.)?1c1garettes-777\.tripod\.com -https?:\/\/([^\/]*\.)?1centpoker\.us -https?:\/\/([^\/]*\.)?1clickpoker\.us -https?:\/\/([^\/]*\.)?1dollarpoker\.us -https?:\/\/([^\/]*\.)?1ebalo\.org -https?:\/\/([^\/]*\.)?1freepoker\.us -https?:\/\/([^\/]*\.)?1gogo\.awardspace\.com -https?:\/\/([^\/]*\.)?1golod\.org -https?:\/\/([^\/]*\.)?1i-casino\.com -https?:\/\/([^\/]*\.)?1jolla\.org -https?:\/\/([^\/]*\.)?1kaj-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?1min\.us -https?:\/\/([^\/]*\.)?1onlinepoker\.us -https?:\/\/([^\/]*\.)?1ringtones\.fateback\.com -https?:\/\/([^\/]*\.)?1st-in-poker\.us -https?:\/\/([^\/]*\.)?1st-phentermine\.to\.pl -https?:\/\/([^\/]*\.)?1st-place-poker\.com -https?:\/\/([^\/]*\.)?1st-poker\.us -https?:\/\/([^\/]*\.)?1stpharma\.noads\.biz -https?:\/\/([^\/]*\.)?1stpharmacy\.rmcinfo\.fr -https?:\/\/([^\/]*\.)?1stviagra\.coz\.in -https?:\/\/([^\/]*\.)?1whs\.com -https?:\/\/([^\/]*\.)?2-poker\.us -https?:\/\/([^\/]*\.)?2008-web-hosting\.com -https?:\/\/([^\/]*\.)?2010oa\.com -https?:\/\/([^\/]*\.)?2228888\.com -https?:\/\/([^\/]*\.)?24ringtonevme\.blogspot\.com -https?:\/\/([^\/]*\.)?24x7\.soliday\.org -https?:\/\/([^\/]*\.)?2apd-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?2cpo-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?30moms-com-dd8h8y1slq\.blogspot\.com -https?:\/\/([^\/]*\.)?30moms-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?321\.cn -https?:\/\/([^\/]*\.)?33b\.b33r\.net -https?:\/\/([^\/]*\.)?33orgy\.org -https?:\/\/([^\/]*\.)?3mac\.info -https?:\/\/([^\/]*\.)?3pic-com-ai3\.blogspot\.com -https?:\/\/([^\/]*\.)?3pic-com-kedet\.blogspot\.com -https?:\/\/([^\/]*\.)?40inchplus-com-b4\.blogspot\.com -https?:\/\/([^\/]*\.)?40inchplus-com-toqof\.blogspot\.com -https?:\/\/([^\/]*\.)?40inchplus-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?4arf-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?4erni-pes\.blogspot\.com -https?:\/\/([^\/]*\.)?4mednew\.com -https?:\/\/([^\/]*\.)?4mkat4\.com -https?:\/\/([^\/]*\.)?4onlinecasino4\.blogspot\.com -https?:\/\/([^\/]*\.)?4t7e\.info -https?:\/\/([^\/]*\.)?4tsmiget\.forumzen\.com -https?:\/\/([^\/]*\.)?4tsutmon\.forumzen\.com -https?:\/\/([^\/]*\.)?4udf-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?4x2\.net -https?:\/\/([^\/]*\.)?510sms\.blogbus\.com -https?:\/\/([^\/]*\.)?5188job\.com -https?:\/\/([^\/]*\.)?51lac\.com -https?:\/\/([^\/]*\.)?51lover\.org -https?:\/\/([^\/]*\.)?51sms\.blogbus\.com -https?:\/\/([^\/]*\.)?51web\.cn -https?:\/\/([^\/]*\.)?51wisdom\.com -https?:\/\/([^\/]*\.)?51wisdom\.com\.cn -https?:\/\/([^\/]*\.)?51wisdom\.net -https?:\/\/([^\/]*\.)?520sms\.blogbus\.com -https?:\/\/([^\/]*\.)?52lac\.net -https?:\/\/([^\/]*\.)?5417\.cn -https?:\/\/([^\/]*\.)?54epson\.com -https?:\/\/([^\/]*\.)?55\.2myip\.com -https?:\/\/([^\/]*\.)?5588866\.com\.cn -https?:\/\/([^\/]*\.)?56156\.com -https?:\/\/([^\/]*\.)?563000\.com -https?:\/\/([^\/]*\.)?56918\.com -https?:\/\/([^\/]*\.)?59165\.net -https?:\/\/([^\/]*\.)?5ijipiao\.com -https?:\/\/([^\/]*\.)?5up-net-blmpo6qr0\.blogspot\.com -https?:\/\/([^\/]*\.)?5up-net-wr00skgzbo\.blogspot\.com -https?:\/\/([^\/]*\.)?63\.217\.31\.49 -https?:\/\/([^\/]*\.)?6717\.com\.cn -https?:\/\/([^\/]*\.)?69pose\.org -https?:\/\/([^\/]*\.)?6tvju0a\.nokedem\.com -https?:\/\/([^\/]*\.)?70678\.com -https?:\/\/([^\/]*\.)?7171\.blogshot\.nl -https?:\/\/([^\/]*\.)?72\.net\.cn -https?:\/\/([^\/]*\.)?77zhong\.com -https?:\/\/([^\/]*\.)?78\.net\.cn -https?:\/\/([^\/]*\.)?79179\.com -https?:\/\/([^\/]*\.)?7982257596\.blogspot\.com -https?:\/\/([^\/]*\.)?7dftw79\.nokedem\.com -https?:\/\/([^\/]*\.)?7j5lj\.info -https?:\/\/([^\/]*\.)?7shg-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?7x7\.ruwe\.net -https?:\/\/([^\/]*\.)?8-teenies\.freeinsite\.net -https?:\/\/([^\/]*\.)?80880\.com -https?:\/\/([^\/]*\.)?8224\.net -https?:\/\/([^\/]*\.)?86wys\.com -https?:\/\/([^\/]*\.)?87793798\.cn -https?:\/\/([^\/]*\.)?888\.web\.com -https?:\/\/([^\/]*\.)?88by88-ax4nzu\.blogspot\.com -https?:\/\/([^\/]*\.)?88by88-com-hx06a\.blogspot\.com -https?:\/\/([^\/]*\.)?88by88-com-nekuk\.blogspot\.com -https?:\/\/([^\/]*\.)?88tm\.com -https?:\/\/([^\/]*\.)?8pcg-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?8teenfiles-com-dzlvk\.blogspot\.com -https?:\/\/([^\/]*\.)?8teenfiles-com-mj6\.blogspot\.com -https?:\/\/([^\/]*\.)?8teenfiles-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?8thstreetlatinas-com-rw48o84iwl\.blogspot\.com -https?:\/\/([^\/]*\.)?8vwx-adult-sites\.blogspot\.com -https?:\/\/([^\/]*\.)?90001\.cn -https?:\/\/([^\/]*\.)?911\.x24hr\.com -https?:\/\/([^\/]*\.)?911w\.net -https?:\/\/([^\/]*\.)?91yg\.com -https?:\/\/([^\/]*\.)?96china\.com -https?:\/\/([^\/]*\.)?96china\.net -https?:\/\/([^\/]*\.)?96d2\.com -https?:\/\/([^\/]*\.)?98-boot-disk-japanese-window\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?99aids\.com -https?:\/\/([^\/]*\.)?a-blonde-babe-in-bikini\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?a-milf-video-preview\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?a-onedigitizing\.com -https?:\/\/([^\/]*\.)?a-oneemb\.com -https?:\/\/([^\/]*\.)?a-phentermine\.us -https?:\/\/([^\/]*\.)?a-poker-casino\.com -https?:\/\/([^\/]*\.)?a-porn-sex-adult-xxx\.com -https?:\/\/([^\/]*\.)?aaeon\.com\.cn -https?:\/\/([^\/]*\.)?aalita\.com -https?:\/\/([^\/]*\.)?aalive\.info -https?:\/\/([^\/]*\.)?aalop\.info -https?:\/\/([^\/]*\.)?aamjh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?aaqqywh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ababd1\.com -https?:\/\/([^\/]*\.)?abasti\.com -https?:\/\/([^\/]*\.)?abbama\.com -https?:\/\/([^\/]*\.)?abbc\.edu -https?:\/\/([^\/]*\.)?abbleg4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?abca\.biz -https?:\/\/([^\/]*\.)?abcink\.com -https?:\/\/([^\/]*\.)?abijah\.phpbbx\.de -https?:\/\/([^\/]*\.)?abijah\.romandie\.com -https?:\/\/([^\/]*\.)?abito-da-sera\.bb22\.info -https?:\/\/([^\/]*\.)?about-money-world\.com -https?:\/\/([^\/]*\.)?aboutinfotech\.com -https?:\/\/([^\/]*\.)?aboutmitsubishiparts\.cn -https?:\/\/([^\/]*\.)?abriana\.phpbbx\.de -https?:\/\/([^\/]*\.)?abrianna\.romandie\.com -https?:\/\/([^\/]*\.)?absolutely-free-porn-clip-blogyvg\.blogspot\.com -https?:\/\/([^\/]*\.)?absolutely-free-porn-clip-zone28k\.blogspot\.com -https?:\/\/([^\/]*\.)?aburri\.com -https?:\/\/([^\/]*\.)?academics\.smcvt\.edu -https?:\/\/([^\/]*\.)?acantorr\.forumzen\.com -https?:\/\/([^\/]*\.)?accounting-degree\.hotmail\.ru -https?:\/\/([^\/]*\.)?accounting1degre\.chat\.ru -https?:\/\/([^\/]*\.)?accredited-degre\.hotmail\.ru -https?:\/\/([^\/]*\.)?accredited1degre\.chat\.ru -https?:\/\/([^\/]*\.)?accredited2degre\.chat\.ru -https?:\/\/([^\/]*\.)?acelacacel\.dl\.pl -https?:\/\/([^\/]*\.)?acelalacel\.blogcu\.com -https?:\/\/([^\/]*\.)?acelcocna\.lolbb\.com -https?:\/\/([^\/]*\.)?aceldron\.lightbb\.com -https?:\/\/([^\/]*\.)?acelgetric\.dl\.pl -https?:\/\/([^\/]*\.)?acellibo\.dl\.pl -https?:\/\/([^\/]*\.)?acellitroc\.xa\.pl -https?:\/\/([^\/]*\.)?acelracer\.graphforum\.com -https?:\/\/([^\/]*\.)?acelrel\.discutforum\.com -https?:\/\/([^\/]*\.)?acgetvar\.iphorum\.com -https?:\/\/([^\/]*\.)?achima\.phpbbx\.de -https?:\/\/([^\/]*\.)?achima\.romandie\.com -https?:\/\/([^\/]*\.)?achutsit\.forumzen\.com -https?:\/\/([^\/]*\.)?acima\.phpbbx\.de -https?:\/\/([^\/]*\.)?acima\.romandie\.com -https?:\/\/([^\/]*\.)?acimah\.romandie\.com -https?:\/\/([^\/]*\.)?aciphexbuy\.chip\.ms -https?:\/\/([^\/]*\.)?aciphexcheap\.mysite\.de -https?:\/\/([^\/]*\.)?aciphexcheapbuy\.cut\.by -https?:\/\/([^\/]*\.)?aciphexgeneric\.redirect\.to -https?:\/\/([^\/]*\.)?aciphexgenericbuy\.dive\.to -https?:\/\/([^\/]*\.)?aclyulac\.forumzen\.com -https?:\/\/([^\/]*\.)?acme-arts\.com -https?:\/\/([^\/]*\.)?acmonno\.zikforum\.com -https?:\/\/([^\/]*\.)?acne-medicinebco\.blogspot\.com -https?:\/\/([^\/]*\.)?acololi\.winnerforum\.net -https?:\/\/([^\/]*\.)?acouc\.zj\.pl -https?:\/\/([^\/]*\.)?acrolrel\.blogcu\.com -https?:\/\/([^\/]*\.)?acscuace\.forumzen\.com -https?:\/\/([^\/]*\.)?actingland\.com -https?:\/\/([^\/]*\.)?action-in-lesbian-lover\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?action36-kx8\.blogspot\.com -https?:\/\/([^\/]*\.)?actonelbuy\.drop\.to -https?:\/\/([^\/]*\.)?actonelcheap\.notrix\.ch -https?:\/\/([^\/]*\.)?actonelcheapgeneric\.fanclub\.ms -https?:\/\/([^\/]*\.)?actonelgeneric\.drop\.to -https?:\/\/([^\/]*\.)?actonelonline\.drive\.to -https?:\/\/([^\/]*\.)?acurahost\.cn -https?:\/\/([^\/]*\.)?acuratrades\.cn -https?:\/\/([^\/]*\.)?acxza\.szm\.sk -https?:\/\/([^\/]*\.)?acyclovir\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ad0571\.com -https?:\/\/([^\/]*\.)?adapturl\.com -https?:\/\/([^\/]*\.)?adault\.adultserv\.info -https?:\/\/([^\/]*\.)?adds1\.trafflow\.com -https?:\/\/([^\/]*\.)?adipex-08pr\.blogspot\.com -https?:\/\/([^\/]*\.)?adipex-911\.coz\.in -https?:\/\/([^\/]*\.)?adipex-buyvie\.blogspot\.com -https?:\/\/([^\/]*\.)?adipex-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?adipex-phenterminepwf\.blogspot\.com -https?:\/\/([^\/]*\.)?adipex-wiki\.com -https?:\/\/([^\/]*\.)?adipex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?adipex\.edu\.tf -https?:\/\/([^\/]*\.)?adipex\.edublogs\.org -https?:\/\/([^\/]*\.)?adipex\.health-livening\.com -https?:\/\/([^\/]*\.)?adipexes\.blogspot\.com -https?:\/\/([^\/]*\.)?adipexwoq\.blogspot\.com -https?:\/\/([^\/]*\.)?adipexxdt\.blogspot\.com -https?:\/\/([^\/]*\.)?adira\.phpbbx\.de -https?:\/\/([^\/]*\.)?adira\.romandie\.com -https?:\/\/([^\/]*\.)?adrienneee\.ifrance\.com -https?:\/\/([^\/]*\.)?adrienneee\.xhostar\.com -https?:\/\/([^\/]*\.)?adsenseready\.com -https?:\/\/([^\/]*\.)?adult-clips-com-guqiax1tu\.blogspot\.com -https?:\/\/([^\/]*\.)?adult-clips-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?adult-dating-free\.sexnation\.info -https?:\/\/([^\/]*\.)?adult-dating\.sexnation\.info -https?:\/\/([^\/]*\.)?adult-free-fucking-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?adult-free-granny-video\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?adult-fx\.info -https?:\/\/([^\/]*\.)?adult-list-com-wqf4ojq2uk\.blogspot\.com -https?:\/\/([^\/]*\.)?adult-list-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?adult-personals\.sexnation\.info -https?:\/\/([^\/]*\.)?adult-porn-clip-info887\.blogspot\.com -https?:\/\/([^\/]*\.)?adult-sites-review\.beaffaired\.com -https?:\/\/([^\/]*\.)?adult\.1foleks\.org -https?:\/\/([^\/]*\.)?adult1clip\.blogspot\.com -https?:\/\/([^\/]*\.)?adult1movies\.blogspot\.com -https?:\/\/([^\/]*\.)?adult1video\.blogspot\.com -https?:\/\/([^\/]*\.)?adult69club\.tripod\.com -https?:\/\/([^\/]*\.)?adultbuffet-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?adultpersonalsxgj\.blogspot\.com -https?:\/\/([^\/]*\.)?adultpersonalz\.net -https?:\/\/([^\/]*\.)?adultsexvideo\.blogspot\.com -https?:\/\/([^\/]*\.)?adultsitefind\.info -https?:\/\/([^\/]*\.)?adultsiteshop\.info -https?:\/\/([^\/]*\.)?adultsss\.cafe150\.com -https?:\/\/([^\/]*\.)?adultsss\.freehostia\.com -https?:\/\/([^\/]*\.)?adust\.my10gb\.com -https?:\/\/([^\/]*\.)?advanceloanfast\.info -https?:\/\/([^\/]*\.)?adventure-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?advice-kissing\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?adviser-financial-friendly-gay\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?adviser\.8888mb\.com -https?:\/\/([^\/]*\.)?adwareremoval\.myinfo\.ws -https?:\/\/([^\/]*\.)?ae\.siam\.edu -https?:\/\/([^\/]*\.)?aebn-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?aezat\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?afdtf\.szm\.sk -https?:\/\/([^\/]*\.)?affishe\.hostcroc\.com -https?:\/\/([^\/]*\.)?affishe\.webmelia\.com -https?:\/\/([^\/]*\.)?afraima\.phpbbx\.de -https?:\/\/([^\/]*\.)?african-american-lesbian-personals\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?africanvagina-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?aftworld\.com -https?:\/\/([^\/]*\.)?afxbmx\.info -https?:\/\/([^\/]*\.)?agbht\.fr33webhost\.com -https?:\/\/([^\/]*\.)?agclore\.dl\.pl -https?:\/\/([^\/]*\.)?agcw-com-cme2qnyzyt\.blogspot\.com -https?:\/\/([^\/]*\.)?agcw-com-r10opb\.blogspot\.com -https?:\/\/([^\/]*\.)?agcw-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?agentlovelette\.250free\.com -https?:\/\/([^\/]*\.)?aghas\.info -https?:\/\/([^\/]*\.)?agmy3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?agrrjd4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?agylavu\.org -https?:\/\/([^\/]*\.)?ah-me-com-af7ipw\.blogspot\.com -https?:\/\/([^\/]*\.)?ah-me-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?ah-me-t7o\.blogspot\.com -https?:\/\/([^\/]*\.)?ahava\.phpbbx\.de -https?:\/\/([^\/]*\.)?ahuva\.phpbbx\.de -https?:\/\/([^\/]*\.)?aidlov\.com -https?:\/\/([^\/]*\.)?aids-china\.com -https?:\/\/([^\/]*\.)?aids\.ik8\.com -https?:\/\/([^\/]*\.)?aids1\.zj\.com -https?:\/\/([^\/]*\.)?aids333\.net -https?:\/\/([^\/]*\.)?aikn3\.szm\.sk -https?:\/\/([^\/]*\.)?air520\.com -https?:\/\/([^\/]*\.)?airfarelowest\.net -https?:\/\/([^\/]*\.)?airline-ticket-now\.com -https?:\/\/([^\/]*\.)?airline-ticket\.globaltr\.info -https?:\/\/([^\/]*\.)?ajneuas\.com -https?:\/\/([^\/]*\.)?akbxb\.fr33webhost\.com -https?:\/\/([^\/]*\.)?akissbetweenthelegs-com-hesel\.blogspot\.com -https?:\/\/([^\/]*\.)?akissbetweenthelegs-com-tsawya560\.blogspot\.com -https?:\/\/([^\/]*\.)?akissbetweenthelegs-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?al-femminile\.freespase\.info -https?:\/\/([^\/]*\.)?al4a-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?alabamamortgage-x\.com -https?:\/\/([^\/]*\.)?alalal\.myrealboard\.com -https?:\/\/([^\/]*\.)?alaldalli\.naturalforum\.net -https?:\/\/([^\/]*\.)?alanthomashairsalon\.com -https?:\/\/([^\/]*\.)?alarcit\.dynamicbb\.com -https?:\/\/([^\/]*\.)?alaskamortgage-x\.com -https?:\/\/([^\/]*\.)?alba-boob-jessica-slip\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?albergo-economici-rimini\.ll33\.info -https?:\/\/([^\/]*\.)?albergo-parigi\.freespase\.info -https?:\/\/([^\/]*\.)?albums-proshots\.com -https?:\/\/([^\/]*\.)?alchita\.goodforum\.net -https?:\/\/([^\/]*\.)?alchita\.grafbb\.com -https?:\/\/([^\/]*\.)?aldabridgeman\.site\.io -https?:\/\/([^\/]*\.)?aldarta\.discutforum\.com -https?:\/\/([^\/]*\.)?aldomc\.jc\.pl -https?:\/\/([^\/]*\.)?aldronboc\.lightbb\.com -https?:\/\/([^\/]*\.)?aleluja\.asp2\.cz -https?:\/\/([^\/]*\.)?alerou\.su\.pl -https?:\/\/([^\/]*\.)?aleteta\.com -https?:\/\/([^\/]*\.)?alexaner\.etowns\.net -https?:\/\/([^\/]*\.)?alexmovies-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?alhilalb\.forumzen\.com -https?:\/\/([^\/]*\.)?alias\.asp2\.cz -https?:\/\/([^\/]*\.)?aliyah\.phpbbx\.de -https?:\/\/([^\/]*\.)?aliza\.phpbbx\.de -https?:\/\/([^\/]*\.)?all-rnb\.com -https?:\/\/([^\/]*\.)?all4sexonline\.biz -https?:\/\/([^\/]*\.)?allabout-casino\.com -https?:\/\/([^\/]*\.)?allabout-poker\.com -https?:\/\/([^\/]*\.)?allabout-poker\.net -https?:\/\/([^\/]*\.)?allabout\.onplex\.de -https?:\/\/([^\/]*\.)?allaboutx\.freeasyhost\.com -https?:\/\/([^\/]*\.)?allaboutx\.hostingclub\.de -https?:\/\/([^\/]*\.)?allaboutx\.m5t\.de -https?:\/\/([^\/]*\.)?allall\.org -https?:\/\/([^\/]*\.)?allcamsguide\.info -https?:\/\/([^\/]*\.)?allcars\.digitalzones\.com -https?:\/\/([^\/]*\.)?allcheapchat\.info -https?:\/\/([^\/]*\.)?alldep\.com -https?:\/\/([^\/]*\.)?allearjah\.com -https?:\/\/([^\/]*\.)?alledasar\.com -https?:\/\/([^\/]*\.)?allegra\.1\.p2l\.info -https?:\/\/([^\/]*\.)?allegradgeneric\.sblog\.cz -https?:\/\/([^\/]*\.)?allen-edmonds-shoes\.info -https?:\/\/([^\/]*\.)?allergy\.1\.p2l\.info -https?:\/\/([^\/]*\.)?allforsale\.org -https?:\/\/([^\/]*\.)?allgoods\.be -https?:\/\/([^\/]*\.)?allkinds-pills\.com -https?:\/\/([^\/]*\.)?allkoholik\.php5\.cz -https?:\/\/([^\/]*\.)?alllb\.com -https?:\/\/([^\/]*\.)?alllf\.com -https?:\/\/([^\/]*\.)?alllk\.com -https?:\/\/([^\/]*\.)?alllm\.com -https?:\/\/([^\/]*\.)?allln\.com -https?:\/\/([^\/]*\.)?alllp\.com -https?:\/\/([^\/]*\.)?allnewfilm\.com -https?:\/\/([^\/]*\.)?allprintposters\.com -https?:\/\/([^\/]*\.)?allsitesaccess-com-awfxbo7d\.blogspot\.com -https?:\/\/([^\/]*\.)?alltel-ringtonedyd\.blogspot\.com -https?:\/\/([^\/]*\.)?allvids-net-k0bdg\.blogspot\.com -https?:\/\/([^\/]*\.)?allvids-net-kd0pe5\.blogspot\.com -https?:\/\/([^\/]*\.)?allweb2006\.info -https?:\/\/([^\/]*\.)?almgarc\.com -https?:\/\/([^\/]*\.)?alneja\.goodbb\.net -https?:\/\/([^\/]*\.)?alnm5\.fr33webhost\.com -https?:\/\/([^\/]*\.)?alona\.phpbbx\.de -https?:\/\/([^\/]*\.)?alonso\.stabilt\.se -https?:\/\/([^\/]*\.)?alphabadgirls\.info -https?:\/\/([^\/]*\.)?alprazolam-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?alprazolam-xanax\.com -https?:\/\/([^\/]*\.)?alpy01\.republika\.pl -https?:\/\/([^\/]*\.)?alracmon\.zikforum\.com -https?:\/\/([^\/]*\.)?altacebuy\.page\.to -https?:\/\/([^\/]*\.)?altacebuycheap\.gameday\.de -https?:\/\/([^\/]*\.)?altacebuygeneric\.cut\.by -https?:\/\/([^\/]*\.)?altacegeneric\.dive\.to -https?:\/\/([^\/]*\.)?altacegenericcheap\.notrix\.at -https?:\/\/([^\/]*\.)?altazel\.blogcu\.com -https?:\/\/([^\/]*\.)?altrocvi\.jc\.pl -https?:\/\/([^\/]*\.)?altse\.com -https?:\/\/([^\/]*\.)?always-credit\.com -https?:\/\/([^\/]*\.)?always-drugs\.com -https?:\/\/([^\/]*\.)?always-medications\.com -https?:\/\/([^\/]*\.)?alyssa-teen\.freeinsite\.net -https?:\/\/([^\/]*\.)?amal-fucking-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?amateur-ass-free-gallery\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?amateur-atk-hairy-heather-natural\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-black-naked\.protime\.in\.ua -https?:\/\/([^\/]*\.)?amateur-blonde-cock\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-boob-bouncing\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?amateur-contacto-sexo\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?amateur-cum-queen\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-foto-free-nude\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-free-erotic\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?amateur-free-grannie-picture-xxx\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-free-indian-page-sex\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?amateur-free-man-naked\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?amateur-free-sex-xxx\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?amateur-fucking-milf\.protime\.in\.ua -https?:\/\/([^\/]*\.)?amateur-fucking-public\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-hard-com-a4w\.blogspot\.com -https?:\/\/([^\/]*\.)?amateur-home-photo\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-index-nude\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?amateur-interracial-porn\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?amateur-man-naked\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-model-for-hire\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-nympho-wife-site\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-pages-porn\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?amateur-porn-clip-blog446\.blogspot\.com -https?:\/\/([^\/]*\.)?amateur-porn-clip-blogqh1\.blogspot\.com -https?:\/\/([^\/]*\.)?amateur-porn-clip-blogrv6\.blogspot\.com -https?:\/\/([^\/]*\.)?amateur-porn-xxx\.medved\.od\.ua -https?:\/\/([^\/]*\.)?amateur-pussy-redhead\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?amateur-teen-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?amateur-teen-sex-movie\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?amateurcurves-com-silib\.blogspot\.com -https?:\/\/([^\/]*\.)?amateurcurves-com-t7zh3\.blogspot\.com -https?:\/\/([^\/]*\.)?amazingcum-com-bd7uu0\.blogspot\.com -https?:\/\/([^\/]*\.)?ambien-online\.presteert\.nl -https?:\/\/([^\/]*\.)?ambien\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ambien\.conto\.pl -https?:\/\/([^\/]*\.)?ambien\.esguay\.com -https?:\/\/([^\/]*\.)?ambien\.fws1\.com -https?:\/\/([^\/]*\.)?ambien\.goodpharm\.info -https?:\/\/([^\/]*\.)?ambien\.hav\.pl -https?:\/\/([^\/]*\.)?ambien\.presteert\.nl -https?:\/\/([^\/]*\.)?ambien\.skocz\.net -https?:\/\/([^\/]*\.)?ambiena\.myblogvoice\.com -https?:\/\/([^\/]*\.)?ambienpills\.coz\.in -https?:\/\/([^\/]*\.)?ambienrx\.weboficial\.com -https?:\/\/([^\/]*\.)?ambiens\.ru\.tf -https?:\/\/([^\/]*\.)?amcq8\.szm\.sk -https?:\/\/([^\/]*\.)?amenities\.8tt\.org -https?:\/\/([^\/]*\.)?americansrebuildingneworleans\.com -https?:\/\/([^\/]*\.)?amicizia-incontri\.bb22\.info -https?:\/\/([^\/]*\.)?amico-maria\.freespase\.info -https?:\/\/([^\/]*\.)?amidnitesunset\.blogspot\.com -https?:\/\/([^\/]*\.)?amino-vera\.blogspot\.com -https?:\/\/([^\/]*\.)?amira\.phpbbx\.de -https?:\/\/([^\/]*\.)?amjrs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?amoxil-500mg\.micrositehosting\.info -https?:\/\/([^\/]*\.)?ampposo\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?amstre\.com -https?:\/\/([^\/]*\.)?amyhunt\.com -https?:\/\/([^\/]*\.)?amyjkb\.blogspot\.com -https?:\/\/([^\/]*\.)?anacondasex\.info -https?:\/\/([^\/]*\.)?anal-bareback-cum-fucking-shot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?anal-coks-fuck-huge-mega\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?anal-cum-farting\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?anal-cum-fuck\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?anal-dildo-bondage\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-ebony-free-pic\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-ebony-fucking\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-first-pic-time\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-first-time\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-free-mature-sex\.medved\.od\.ua -https?:\/\/([^\/]*\.)?anal-g\.com -https?:\/\/([^\/]*\.)?anal-gang-bang-xxx\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-hard-male\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-hardcore-max-sex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?anal-painful-virgin\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?anal-self-penetration\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?anal-sex-teen-tgp\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?anal-sex-video-x-g-g\.blogspot\.com -https?:\/\/([^\/]*\.)?anal-sex-virgin\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?anal-shemale-site\.protime\.in\.ua -https?:\/\/([^\/]*\.)?analsexeum\.blogspot\.com -https?:\/\/([^\/]*\.)?anath\.phpbbx\.de -https?:\/\/([^\/]*\.)?anbipbm\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?andrewsaluk\.com -https?:\/\/([^\/]*\.)?andy-roddick-dick\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?angelcakez\.blogspot\.com -https?:\/\/([^\/]*\.)?angry-sister\.blogspot\.com -https?:\/\/([^\/]*\.)?anicke\.republika\.pl -https?:\/\/([^\/]*\.)?anime-art-gay\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?anime-free-hardcore-info-remember\.medved\.od\.ua -https?:\/\/([^\/]*\.)?anime-porn-clip-blog5a7\.blogspot\.com -https?:\/\/([^\/]*\.)?ann-angel-tpi\.blogspot\.com -https?:\/\/([^\/]*\.)?anna-morgan\.blogspot\.com -https?:\/\/([^\/]*\.)?annqy\.szm\.sk -https?:\/\/([^\/]*\.)?annugel--h\.blogspot\.com -https?:\/\/([^\/]*\.)?annuncio-lavoro-milano\.host24h\.info -https?:\/\/([^\/]*\.)?annuncio-lavoro-segretaria\.freehostss\.info -https?:\/\/([^\/]*\.)?annuncio-online\.heroez\.info -https?:\/\/([^\/]*\.)?anteyi\.cn -https?:\/\/([^\/]*\.)?anthemboy8\.blogspot\.com -https?:\/\/([^\/]*\.)?anti-aging-skin\.hotmail\.ru -https?:\/\/([^\/]*\.)?anti_agin_skin\.chat\.ru -https?:\/\/([^\/]*\.)?anti_aging_skin\.chat\.ru -https?:\/\/([^\/]*\.)?antidepressants\.1\.p2l\.info -https?:\/\/([^\/]*\.)?anus-lick-right-way\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?anw66\.blogspot\.com -https?:\/\/([^\/]*\.)?anxiety\.1\.p2l\.info -https?:\/\/([^\/]*\.)?anylight4u\.com -https?:\/\/([^\/]*\.)?aosk\.com -https?:\/\/([^\/]*\.)?apesapoppin\.blogspot\.com -https?:\/\/([^\/]*\.)?apextwin\.ifrance\.com -https?:\/\/([^\/]*\.)?apextwin\.php5\.cz -https?:\/\/([^\/]*\.)?aponte\.net -https?:\/\/([^\/]*\.)?appartamento-roma-vacanza\.ll11\.info -https?:\/\/([^\/]*\.)?applyforit\.ucsd\.edu -https?:\/\/([^\/]*\.)?apxgmlp\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?arbundar\.forumzen\.com -https?:\/\/([^\/]*\.)?arcade\.ya\.com -https?:\/\/([^\/]*\.)?areaseo\.com -https?:\/\/([^\/]*\.)?arent-boot-made-these-walkin\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?argentina-gay-travel\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ariella\.phpbbx\.de -https?:\/\/([^\/]*\.)?arielle\.phpbbx\.de -https?:\/\/([^\/]*\.)?arinastes\.com -https?:\/\/([^\/]*\.)?aristocort\.4\.pl -https?:\/\/([^\/]*\.)?arizonamortgage-x\.com -https?:\/\/([^\/]*\.)?arjj2\.szm\.sk -https?:\/\/([^\/]*\.)?arketon24\.blogspot\.com -https?:\/\/([^\/]*\.)?armyanch\.galeon\.com -https?:\/\/([^\/]*\.)?arosson\.com -https?:\/\/([^\/]*\.)?arsrz\.szm\.sk -https?:\/\/([^\/]*\.)?art-xxx\.com -https?:\/\/([^\/]*\.)?artbennett\.net -https?:\/\/([^\/]*\.)?arthuriacasino\.com -https?:\/\/([^\/]*\.)?artnposter\.com -https?:\/\/([^\/]*\.)?arwuudes\.forumzen\.com -https?:\/\/([^\/]*\.)?arwuuzet\.forumzen\.com -https?:\/\/([^\/]*\.)?aryls\.info -https?:\/\/([^\/]*\.)?asaearh\.blogspot\.com -https?:\/\/([^\/]*\.)?asaia\.blogspot\.com -https?:\/\/([^\/]*\.)?asas3\.com -https?:\/\/([^\/]*\.)?ascht\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?asdiaalr\.forumzen\.com -https?:\/\/([^\/]*\.)?aselfbas\.forumzen\.com -https?:\/\/([^\/]*\.)?asfreyl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ashkenazi\.phpbbx\.de -https?:\/\/([^\/]*\.)?ashlee--serena\.freeinsite\.net -https?:\/\/([^\/]*\.)?ashlee-clip-free-hand-job\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?asian-bang-gang\.protime\.in\.ua -https?:\/\/([^\/]*\.)?asian-cum-sucker\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?asian-download-free-porn-video\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?asian-facial\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?asian-fucking-man-woman\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?asian-girl-anal\.medved\.od\.ua -https?:\/\/([^\/]*\.)?asian-giving-blow-job\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?asian-mmf\.medved\.od\.ua -https?:\/\/([^\/]*\.)?asian-porn-clip-info6g5\.blogspot\.com -https?:\/\/([^\/]*\.)?asian-pussysjy\.blogspot\.com -https?:\/\/([^\/]*\.)?asian-spread-leg\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?asian-teens\.freeinsite\.net -https?:\/\/([^\/]*\.)?asiansexpvx\.blogspot\.com -https?:\/\/([^\/]*\.)?asjnquaq\.com -https?:\/\/([^\/]*\.)?asnmeq\.com -https?:\/\/([^\/]*\.)?asrendes\.forumzen\.com -https?:\/\/([^\/]*\.)?asricrac\.forumzen\.com -https?:\/\/([^\/]*\.)?ass-bare-screensaver-sexy\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?ass-big-black-pussy\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ass-big-free-woman\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?ass-bitch-hot\.protime\.in\.ua -https?:\/\/([^\/]*\.)?ass-cock-large-nice-tit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?ass-cum-gay-hole\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ass-cute-fat\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ass-day-great-its-somebodys-whop\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ass-dildo-in-man-use\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ass-free-huge-movie-phat-tit\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?ass-free-mature-photo\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?ass-free-naked\.protime\.in\.ua -https?:\/\/([^\/]*\.)?ass-fucked-porn-star\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ass-hit-up-yo\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?ass-hole-test\.protime\.in\.ua -https?:\/\/([^\/]*\.)?ass-lick-slut-that\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?ass-man-photo-rumprater-com-woman\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ass-naked-pic-woman-young\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?ass-sa\.com -https?:\/\/([^\/]*\.)?ass-traffic-thumb\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?assfilled-cofon\.blogspot\.com -https?:\/\/([^\/]*\.)?assfucking-video\.hereandnow0\.com -https?:\/\/([^\/]*\.)?assicurazione-moto\.freehostss\.info -https?:\/\/([^\/]*\.)?asslick-free\.protime\.in\.ua -https?:\/\/([^\/]*\.)?associate1degree\.chat\.ru -https?:\/\/([^\/]*\.)?assparade-com-cdr6rm3\.blogspot\.com -https?:\/\/([^\/]*\.)?astmiv\.com -https?:\/\/([^\/]*\.)?astsam\.com -https?:\/\/([^\/]*\.)?aswsu-ddp\.wsu\.edu -https?:\/\/([^\/]*\.)?atar5\.szm\.sk -https?:\/\/([^\/]*\.)?atashi-tada\.blogspot\.com -https?:\/\/([^\/]*\.)?atchina\.com\.cn -https?:\/\/([^\/]*\.)?atenololhqs\.blogspot\.com -https?:\/\/([^\/]*\.)?atetech\.com\.cn -https?:\/\/([^\/]*\.)?athenaindia\.com -https?:\/\/([^\/]*\.)?ativan\.hav\.pl -https?:\/\/([^\/]*\.)?ativan1\.skocz\.net -https?:\/\/([^\/]*\.)?ativans\.eu\.tf -https?:\/\/([^\/]*\.)?atkmodels-com-g2mc2j\.blogspot\.com -https?:\/\/([^\/]*\.)?atkmodels-h6\.blogspot\.com -https?:\/\/([^\/]*\.)?atmoc\.com -https?:\/\/([^\/]*\.)?atrapy\.pl -https?:\/\/([^\/]*\.)?auabkc3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?audibookclub\.info -https?:\/\/([^\/]*\.)?audition-mature-sexy-video-woman\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?audx4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?auejds\.com -https?:\/\/([^\/]*\.)?aufx8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?augmentin\.4\.pl -https?:\/\/([^\/]*\.)?augmentinbuy\.megapage\.de -https?:\/\/([^\/]*\.)?augmentinbuygeneric\.playsite\.de -https?:\/\/([^\/]*\.)?augmentincheapbuy\.mine\.at -https?:\/\/([^\/]*\.)?augmentincheapgeneric\.vacations\.to -https?:\/\/([^\/]*\.)?augmentingeneric\.dive\.to -https?:\/\/([^\/]*\.)?aumkryl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?auntmia-ivmo1ckhbf\.blogspot\.com -https?:\/\/([^\/]*\.)?auqkz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?aurar\.info -https?:\/\/([^\/]*\.)?aurney\.blogspot\.com -https?:\/\/([^\/]*\.)?aurora-snow-double-anal\.medved\.od\.ua -https?:\/\/([^\/]*\.)?auto-insurance-2007\.com -https?:\/\/([^\/]*\.)?auto-insurance-quote\.100freemb\.com -https?:\/\/([^\/]*\.)?auto-occasioni\.bb22\.info -https?:\/\/([^\/]*\.)?autoere\.info -https?:\/\/([^\/]*\.)?autoinsurancevyo\.blogspot\.com -https?:\/\/([^\/]*\.)?automobileliberty\.cn -https?:\/\/([^\/]*\.)?ava-devine-friend-hot-mom\.protime\.in\.ua -https?:\/\/([^\/]*\.)?avalonhyip\.com -https?:\/\/([^\/]*\.)?avenue-x\.cn -https?:\/\/([^\/]*\.)?avoidcar\.info -https?:\/\/([^\/]*\.)?awardspace\.biz -https?:\/\/([^\/]*\.)?awardspace\.info -https?:\/\/([^\/]*\.)?awerda\.com -https?:\/\/([^\/]*\.)?aweu\.cabspace\.com -https?:\/\/([^\/]*\.)?axfa5\.szm\.sk -https?:\/\/([^\/]*\.)?axnc0\.szm\.sk -https?:\/\/([^\/]*\.)?axqui\.szm\.sk -https?:\/\/([^\/]*\.)?axtu7\.szm\.sk -https?:\/\/([^\/]*\.)?ayann\.dl\.pl -https?:\/\/([^\/]*\.)?aynippa\.blogspot\.com -https?:\/\/([^\/]*\.)?azn-chickadee\.blogspot\.com -https?:\/\/([^\/]*\.)?azu-erlove\.blogspot\.com -https?:\/\/([^\/]*\.)?azur3skye\.blogspot\.com -https?:\/\/([^\/]*\.)?azzacash\.com -https?:\/\/([^\/]*\.)?b-b-free-hentai-movie-j\.blogspot\.com -https?:\/\/([^\/]*\.)?b-d-download-porn-movie-n\.blogspot\.com -https?:\/\/([^\/]*\.)?b\.cn01\.hn\.org -https?:\/\/([^\/]*\.)?babe-cam-filipina-web\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?babe-dutch-erotic-lingerie\.protime\.in\.ua -https?:\/\/([^\/]*\.)?babe-forum-picture-porn-star\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?babe-hot-mature\.medved\.od\.ua -https?:\/\/([^\/]*\.)?babesglamour-com-jotut\.blogspot\.com -https?:\/\/([^\/]*\.)?babesglamour-com-mp21gz\.blogspot\.com -https?:\/\/([^\/]*\.)?babibian\.dl\.pl -https?:\/\/([^\/]*\.)?babooth\.ifrance\.com -https?:\/\/([^\/]*\.)?babyhere\.net -https?:\/\/([^\/]*\.)?bachelor1degree\.chat\.ru -https?:\/\/([^\/]*\.)?back-bare-cum-dripping-fucked-humiliated-pussy-wealthy-woman\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?backroom-facial-margarita\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bad-butt-byron-rub\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bad-butt-byrons-rub\.protime\.in\.ua -https?:\/\/([^\/]*\.)?bad-credit-home-loanksl\.blogspot\.com -https?:\/\/([^\/]*\.)?badassteens-com-gnvrh6\.blogspot\.com -https?:\/\/([^\/]*\.)?badassteens-com-gyhb23dyw\.blogspot\.com -https?:\/\/([^\/]*\.)?badgirlsblog-com-dcfmx8n2p\.blogspot\.com -https?:\/\/([^\/]*\.)?badipex\.gog\.pl -https?:\/\/([^\/]*\.)?bahatoca\.org -https?:\/\/([^\/]*\.)?baikal-guide\.com -https?:\/\/([^\/]*\.)?baikal-hotel\.info -https?:\/\/([^\/]*\.)?baikal-shop\.com -https?:\/\/([^\/]*\.)?baikal-tour\.biz -https?:\/\/([^\/]*\.)?baikalguide\.com -https?:\/\/([^\/]*\.)?baikalshop\.info -https?:\/\/([^\/]*\.)?bakadeshi\.ifrance\.com -https?:\/\/([^\/]*\.)?bakamandy\.blogspot\.com -https?:\/\/([^\/]*\.)?bambulka\.info -https?:\/\/([^\/]*\.)?bamigreenhouse\.com\.cn -https?:\/\/([^\/]*\.)?bamima\.com -https?:\/\/([^\/]*\.)?bandaoti\.dzsc\.com -https?:\/\/([^\/]*\.)?bang-clip-gang-gang-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?bang-gallery-gang-mature-woman\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?bang-gang-sex-tokyo\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?bank-of-america-credit-cardtja\.blogspot\.com -https?:\/\/([^\/]*\.)?bank-of-fetish-resource\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?banns\.info -https?:\/\/([^\/]*\.)?baqaek9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?baquma\.com -https?:\/\/([^\/]*\.)?bareback-fuck-gay\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?barefootmaniacs-com-rpw1i1\.blogspot\.com -https?:\/\/([^\/]*\.)?barely18-teens-com-sin\.blogspot\.com -https?:\/\/([^\/]*\.)?barrystickets\.com -https?:\/\/([^\/]*\.)?bartik\.asp2\.cz -https?:\/\/([^\/]*\.)?barulena\.jconserv\.net -https?:\/\/([^\/]*\.)?basalvar\.dl\.pl -https?:\/\/([^\/]*\.)?basdeler\.su\.pl -https?:\/\/([^\/]*\.)?basdombo\.dl\.pl -https?:\/\/([^\/]*\.)?baslachi\.lightbb\.com -https?:\/\/([^\/]*\.)?baslalhi\.myrealboard\.com -https?:\/\/([^\/]*\.)?baslarol\.dl\.pl -https?:\/\/([^\/]*\.)?basmonzel\.dl\.pl -https?:\/\/([^\/]*\.)?baspaser\.zikforum\.com -https?:\/\/([^\/]*\.)?baspasrac\.dl\.pl -https?:\/\/([^\/]*\.)?baspasvi\.cultureforum\.net -https?:\/\/([^\/]*\.)?basracchi\.dl\.pl -https?:\/\/([^\/]*\.)?basteg\.com -https?:\/\/([^\/]*\.)?bastim\.com -https?:\/\/([^\/]*\.)?bastnecli\.frbb\.net -https?:\/\/([^\/]*\.)?bastre\.com -https?:\/\/([^\/]*\.)?bastru\.com -https?:\/\/([^\/]*\.)?basuma\.com -https?:\/\/([^\/]*\.)?bath-hardcore-teen\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bath-product\.hotmail\.ru -https?:\/\/([^\/]*\.)?bath-product\.pochta\.ru -https?:\/\/([^\/]*\.)?bath_product\.chat\.ru -https?:\/\/([^\/]*\.)?bathroom-fuck\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?bbcialis\.ovp\.pl -https?:\/\/([^\/]*\.)?bbfast\.com -https?:\/\/([^\/]*\.)?bbndsxtg-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?bbs\.cuesta\.edu -https?:\/\/([^\/]*\.)?bbsporn\.com -https?:\/\/([^\/]*\.)?bbuybaliumonline\.ovp\.pl -https?:\/\/([^\/]*\.)?bbuycialisonline\.ovp\.pl -https?:\/\/([^\/]*\.)?bbuylevitraonline\.ovp\.pl -https?:\/\/([^\/]*\.)?bbuytram\.blogcu\.com -https?:\/\/([^\/]*\.)?bbuytramadolonline\.ovp\.pl -https?:\/\/([^\/]*\.)?bbuyviagraonlin\.forumlivre\.com -https?:\/\/([^\/]*\.)?bbw-busty\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?bbw-club-in-san-diego\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bbw-old\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bbw-porn-clip-infotir\.blogspot\.com -https?:\/\/([^\/]*\.)?bcam8\.szm\.sk -https?:\/\/([^\/]*\.)?bcdh\.cn -https?:\/\/([^\/]*\.)?bcialis\.c24\.pl -https?:\/\/([^\/]*\.)?bcxz8\.szm\.sk -https?:\/\/([^\/]*\.)?bdsm-lesbian-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?bdsm-personals-houston\.protime\.in\.ua -https?:\/\/([^\/]*\.)?bdsm-toy\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bdsm-video\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bdsm-vintage\.protime\.in\.ua -https?:\/\/([^\/]*\.)?bdsmvideos-net-wb55nc\.blogspot\.com -https?:\/\/([^\/]*\.)?bdsmvideos-net-wfa5qu\.blogspot\.com -https?:\/\/([^\/]*\.)?bdsmvideos-net-wvckcgq2o\.blogspot\.com -https?:\/\/([^\/]*\.)?beaffaired\.com -https?:\/\/([^\/]*\.)?bear-build-gay\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bear-chubby-young\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?bear-terry\.blogspot\.com -https?:\/\/([^\/]*\.)?beastiality-live\.com -https?:\/\/([^\/]*\.)?beautiful-ass-pic\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?beautiful-blonde-pole-dancer\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?beautifulzdrawing\.sex-systems\.com -https?:\/\/([^\/]*\.)?beautyass-com-e1ca\.blogspot\.com -https?:\/\/([^\/]*\.)?becloudsiss\.thehostcity\.com -https?:\/\/([^\/]*\.)?bedspread-king\.keckins\.be -https?:\/\/([^\/]*\.)?begcrucial\.justfree\.com -https?:\/\/([^\/]*\.)?beginninghouse\.com -https?:\/\/([^\/]*\.)?begot\.info -https?:\/\/([^\/]*\.)?beijing-door\.cn -https?:\/\/([^\/]*\.)?beijingimpression\.com -https?:\/\/([^\/]*\.)?bekahboo3\.blogspot\.com -https?:\/\/([^\/]*\.)?beldam\.dns1\.us -https?:\/\/([^\/]*\.)?bemix\.info -https?:\/\/([^\/]*\.)?benixon\.dl\.pl -https?:\/\/([^\/]*\.)?benoit-r86\.blogspot\.com -https?:\/\/([^\/]*\.)?benson-g68a\.blogspot\.com -https?:\/\/([^\/]*\.)?benz-h51\.blogspot\.com -https?:\/\/([^\/]*\.)?beqy\.org -https?:\/\/([^\/]*\.)?berenupa\.info -https?:\/\/([^\/]*\.)?berkeley-mdi56f\.blogspot\.com -https?:\/\/([^\/]*\.)?berlin-o3g\.blogspot\.com -https?:\/\/([^\/]*\.)?bernie-b18\.blogspot\.com -https?:\/\/([^\/]*\.)?berrycow\.blogspot\.com -https?:\/\/([^\/]*\.)?beryl-c3\.blogspot\.com -https?:\/\/([^\/]*\.)?best-hotels-inns\.com -https?:\/\/([^\/]*\.)?best-porn-clip-zone0mp\.blogspot\.com -https?:\/\/([^\/]*\.)?best2006\.info -https?:\/\/([^\/]*\.)?best568\.com -https?:\/\/([^\/]*\.)?bestaftor\.com -https?:\/\/([^\/]*\.)?bestallmed\.info -https?:\/\/([^\/]*\.)?bestbuyonlinebooks\.com -https?:\/\/([^\/]*\.)?bestcityhal\.com -https?:\/\/([^\/]*\.)?bestcyberfish\.com -https?:\/\/([^\/]*\.)?bestfreegift\.com -https?:\/\/([^\/]*\.)?bestgames-winner\.com -https?:\/\/([^\/]*\.)?besthallet\.com -https?:\/\/([^\/]*\.)?bestinternetexplorer\.info -https?:\/\/([^\/]*\.)?bestlowmortgagerates\.com -https?:\/\/([^\/]*\.)?bestmaiden\.com -https?:\/\/([^\/]*\.)?bestmercedesbez\.info -https?:\/\/([^\/]*\.)?bestmitsubishiparts\.info -https?:\/\/([^\/]*\.)?bestmp3online\.com -https?:\/\/([^\/]*\.)?bestmp3online\.net -https?:\/\/([^\/]*\.)?bestofe\.com -https?:\/\/([^\/]*\.)?bestonline-medication\.com -https?:\/\/([^\/]*\.)?bestonline-shopping\.com -https?:\/\/([^\/]*\.)?bestorlean\.com -https?:\/\/([^\/]*\.)?bestpricebentley\.info -https?:\/\/([^\/]*\.)?bestsellsite\.com -https?:\/\/([^\/]*\.)?bestxxxanal-1\.tripod\.com -https?:\/\/([^\/]*\.)?bestyourown\.info -https?:\/\/([^\/]*\.)?beta-dg174ivc\.blogspot\.com -https?:\/\/([^\/]*\.)?beth-t6h6\.blogspot\.com -https?:\/\/([^\/]*\.)?bethany-ezjn\.blogspot\.com -https?:\/\/([^\/]*\.)?betsie-w4080\.blogspot\.com -https?:\/\/([^\/]*\.)?betsy-rgxm2e\.blogspot\.com -https?:\/\/([^\/]*\.)?better\.ws -https?:\/\/([^\/]*\.)?betty-gy\.blogspot\.com -https?:\/\/([^\/]*\.)?beverly-hax82jc3md\.blogspot\.com -https?:\/\/([^\/]*\.)?bevjy\.szm\.sk -https?:\/\/([^\/]*\.)?beyonce-knowles-nude\.blogspot\.com -https?:\/\/([^\/]*\.)?bfekd\.szm\.sk -https?:\/\/([^\/]*\.)?bfgtxs4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?bfi-k5xk7bnu\.blogspot\.com -https?:\/\/([^\/]*\.)?bfnh2\.szm\.sk -https?:\/\/([^\/]*\.)?bfqn\.com -https?:\/\/([^\/]*\.)?bfvsa\.szm\.sk -https?:\/\/([^\/]*\.)?bgpkvcr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?bhncvw-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?bhqay\.fr33webhost\.com -https?:\/\/([^\/]*\.)?bi-britney-spears-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?bi-whales\.blogspot\.com -https?:\/\/([^\/]*\.)?bi-xxx-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?bianca-i7yj\.blogspot\.com -https?:\/\/([^\/]*\.)?bianpinqi\.dzsc\.com -https?:\/\/([^\/]*\.)?bicx7\.szm\.sk -https?:\/\/([^\/]*\.)?bid-sohardcore-com\.blogspot\.com -https?:\/\/([^\/]*\.)?bidsex\.net -https?:\/\/([^\/]*\.)?big-big-clit-tit\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?big-bitch-booty-fucked-getting\.medved\.od\.ua -https?:\/\/([^\/]*\.)?big-black-cock-movie-clip\.medved\.od\.ua -https?:\/\/([^\/]*\.)?big-black-cock-pic\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?big-black-dick-fat-long\.medved\.od\.ua -https?:\/\/([^\/]*\.)?big-blonde-mature-tit\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-blonde-teen-tit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-body-fuck\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?big-boob-huge-large\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?big-bouncing-boob-movie\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?big-butt-shemale\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?big-cock-gay-guy-have\.protime\.in\.ua -https?:\/\/([^\/]*\.)?big-cock-hard-sex\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-cum-cum-shot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?big-cum-movie-swallow-tit-xxx\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-dick-fuck-hot-love-sexy-shemale-that\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?big-ebony-free-gallery-tit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-fat-boob\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-free-lesbian-movie-online-porn\.protime\.in\.ua -https?:\/\/([^\/]*\.)?big-huge-gigantic-boob\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?big-leg-babes\.medved\.od\.ua -https?:\/\/([^\/]*\.)?big-leg-nice\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?big-okfl\.blogspot\.com -https?:\/\/([^\/]*\.)?big-strap-on-dildo\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?big-tit-round-ass-jasmine\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?big-tit-round-ass-maria\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?big-tit-round-ass-picture\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?big-tits\.100freemb\.com -https?:\/\/([^\/]*\.)?big-titted-bitch\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big-titts-round-ass\.protime\.in\.ua -https?:\/\/([^\/]*\.)?big-young-cock\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?big\.de\.com -https?:\/\/([^\/]*\.)?bigapple\.dtdns\.net -https?:\/\/([^\/]*\.)?bigassadventure-com-g4lvyk\.blogspot\.com -https?:\/\/([^\/]*\.)?bigbird-aus\.blogspot\.com -https?:\/\/([^\/]*\.)?bigbreastlovers-com-suqoq\.blogspot\.com -https?:\/\/([^\/]*\.)?bigcockteenaddiction-com-km\.blogspot\.com -https?:\/\/([^\/]*\.)?bigcockteenaddiction-com-kpqf40\.blogspot\.com -https?:\/\/([^\/]*\.)?bigdog-b14q6mwev\.blogspot\.com -https?:\/\/([^\/]*\.)?bigfoot-c7l\.blogspot\.com -https?:\/\/([^\/]*\.)?bigfreesex-com-i2csy2\.blogspot\.com -https?:\/\/([^\/]*\.)?bigfreesex-com-subub\.blogspot\.com -https?:\/\/([^\/]*\.)?biggest-cock-thickest\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?biggest-dildo-fuck-world\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?biggiebestparis\.com -https?:\/\/([^\/]*\.)?biglietti-auguri\.net -https?:\/\/([^\/]*\.)?biglietto-augurio\.freehostss\.info -https?:\/\/([^\/]*\.)?bigmac-detr0i6y\.blogspot\.com -https?:\/\/([^\/]*\.)?bigman-tycdhe62d\.blogspot\.com -https?:\/\/([^\/]*\.)?bigmouthfuls-com-rvl7ep\.blogspot\.com -https?:\/\/([^\/]*\.)?bignaturals-com-w0\.blogspot\.com -https?:\/\/([^\/]*\.)?bigpenis\.digitalzones\.com -https?:\/\/([^\/]*\.)?bigtitpatrol-com-bub8db06d\.blogspot\.com -https?:\/\/([^\/]*\.)?bigtitsfans-com-rxc3ya\.blogspot\.com -https?:\/\/([^\/]*\.)?bigtitsroundasses-com-b6auqkd60\.blogspot\.com -https?:\/\/([^\/]*\.)?bigtitsroundasses-com-redeg\.blogspot\.com -https?:\/\/([^\/]*\.)?bigtitsroundasses-com-rj85t35x3\.blogspot\.com -https?:\/\/([^\/]*\.)?biib4\.szm\.sk -https?:\/\/([^\/]*\.)?bike-boot-dirt-riding\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bike-night\.grimgoe\.be -https?:\/\/([^\/]*\.)?bikini-wax\.phpbb2\.us -https?:\/\/([^\/]*\.)?bikinixxx-777now\.tripod\.com -https?:\/\/([^\/]*\.)?bilbo-ea47j\.blogspot\.com -https?:\/\/([^\/]*\.)?billy-r4negy1zwm\.blogspot\.com -https?:\/\/([^\/]*\.)?binky-hu\.blogspot\.com -https?:\/\/([^\/]*\.)?bio\.research\.ucsc\.edu -https?:\/\/([^\/]*\.)?biopharmasite\.biz -https?:\/\/([^\/]*\.)?biperq\.com -https?:\/\/([^\/]*\.)?bird-iay2s\.blogspot\.com -https?:\/\/([^\/]*\.)?birdie\.101freehost\.com -https?:\/\/([^\/]*\.)?birth-control\.1\.p2l\.info -https?:\/\/([^\/]*\.)?bisexual-cartoon-sex\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?bisexuals-cyber-fuck-horny-lesbian-lezzies-sex\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?bisson\.onthenet\.as -https?:\/\/([^\/]*\.)?bit-tit-lesbian\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?bitch-fat-hot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?bituka\.com -https?:\/\/([^\/]*\.)?bivxr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?bizaffiliatecenter\.com -https?:\/\/([^\/]*\.)?bizarre-love-triangle-lyric-by-frente\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bizarre-sex-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?bizhat\.com -https?:\/\/([^\/]*\.)?bizhome\.org -https?:\/\/([^\/]*\.)?bj-trj\.com -https?:\/\/([^\/]*\.)?bjaoyunhui\.com -https?:\/\/([^\/]*\.)?bjcee\.com -https?:\/\/([^\/]*\.)?bjicp\.com -https?:\/\/([^\/]*\.)?bjicp\.freewebpage\.org -https?:\/\/([^\/]*\.)?bjicp\.net -https?:\/\/([^\/]*\.)?bjicp\.org -https?:\/\/([^\/]*\.)?bjjinhan\.com -https?:\/\/([^\/]*\.)?bjlzhh\.com -https?:\/\/([^\/]*\.)?bjocmc3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?bjqmzx\.com -https?:\/\/([^\/]*\.)?bjrfinfo\.com -https?:\/\/([^\/]*\.)?bjsscc\.com\.cn -https?:\/\/([^\/]*\.)?bjtranslate\.com -https?:\/\/([^\/]*\.)?bjwczx\.com -https?:\/\/([^\/]*\.)?bjxiongfei\.com -https?:\/\/([^\/]*\.)?bjxunda\.com -https?:\/\/([^\/]*\.)?bjzktd\.com -https?:\/\/([^\/]*\.)?bkclamcp\.t35\.com -https?:\/\/([^\/]*\.)?bksar\.szm\.sk -https?:\/\/([^\/]*\.)?bkzor\.szm\.sk -https?:\/\/([^\/]*\.)?black-amateur-movie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-asian-anal\.protime\.in\.ua -https?:\/\/([^\/]*\.)?black-boob-sex\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?black-booty-movies-com-i0\.blogspot\.com -https?:\/\/([^\/]*\.)?black-butt-fat-gay-man\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?black-chick-fuck\.medved\.od\.ua -https?:\/\/([^\/]*\.)?black-chubby-ebony\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?black-clip-free-full-porn-blog4t5\.blogspot\.com -https?:\/\/([^\/]*\.)?black-cock-facial\.protime\.in\.ua -https?:\/\/([^\/]*\.)?black-cock-monster\.medved\.od\.ua -https?:\/\/([^\/]*\.)?black-cock-white-cunt\.protime\.in\.ua -https?:\/\/([^\/]*\.)?black-cum-shot-movie\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-domination-female-free-picture-teen\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?black-ebony-free-spreading-tgp\.medved\.od\.ua -https?:\/\/([^\/]*\.)?black-fat-boob\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?black-free-gay-man-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?black-gay-club\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?black-gay-sex-site\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?black-gay-teen-sex\.medved\.od\.ua -https?:\/\/([^\/]*\.)?black-hoe-hardcore-sex-gallery\.protime\.in\.ua -https?:\/\/([^\/]*\.)?black-hoe-that-suck-dick\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?black-jack-4u\.net -https?:\/\/([^\/]*\.)?black-jack-black\.blogspot\.com -https?:\/\/([^\/]*\.)?black-jacks\.us -https?:\/\/([^\/]*\.)?black-jeweler\.org -https?:\/\/([^\/]*\.)?black-leg-open-wide\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-lesbian-story\.protime\.in\.ua -https?:\/\/([^\/]*\.)?black-man-fucking-white-sluts\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-monster-boob\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-monster-cock-mpeg\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-on-blonde-sex-picture\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?black-porn-clip-news8bn\.blogspot\.com -https?:\/\/([^\/]*\.)?black-white-boob\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?black-wide-leg-pants\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?black-woman-sucking-dick\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blackmisheru\.50webs\.org -https?:\/\/([^\/]*\.)?blade\.host-page\.com -https?:\/\/([^\/]*\.)?blade1\.host-page\.com -https?:\/\/([^\/]*\.)?blade10\.host-page\.com -https?:\/\/([^\/]*\.)?blade2\.host-page\.com -https?:\/\/([^\/]*\.)?blade4\.host-page\.com -https?:\/\/([^\/]*\.)?blade5\.host-page\.com -https?:\/\/([^\/]*\.)?blade6\.host-page\.com -https?:\/\/([^\/]*\.)?blade7\.host-page\.com -https?:\/\/([^\/]*\.)?blade8\.host-page\.com -https?:\/\/([^\/]*\.)?blade9\.host-page\.com -https?:\/\/([^\/]*\.)?blagoslovenie\.rovno\.ua -https?:\/\/([^\/]*\.)?blanca-tf50a\.blogspot\.com -https?:\/\/([^\/]*\.)?blapt\.fr33webhost\.com -https?:\/\/([^\/]*\.)?blathe\.com -https?:\/\/([^\/]*\.)?blazer-wwn\.blogspot\.com -https?:\/\/([^\/]*\.)?blbdg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?blboys-com-wsq27\.blogspot\.com -https?:\/\/([^\/]*\.)?blbthxw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?blendermedia\.com -https?:\/\/([^\/]*\.)?blevitra\.ovp\.pl -https?:\/\/([^\/]*\.)?blmurphy\.dl\.pl -https?:\/\/([^\/]*\.)?blog-broken-leg\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?blog\.chinaz\.com -https?:\/\/([^\/]*\.)?blog\.donews\.com -https?:\/\/([^\/]*\.)?blog\.welover\.org -https?:\/\/([^\/]*\.)?blog\.yam\.com -https?:\/\/([^\/]*\.)?blog67\.fc2\.com -https?:\/\/([^\/]*\.)?blond\.12gbfree\.com -https?:\/\/([^\/]*\.)?blonde-bald-pussy\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?blonde-blow-job-mpeg\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?blonde-blow-job-tgp\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?blonde-boob-xxx\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blonde-color-hair-platinum\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?blonde-cunt-hair\.medved\.od\.ua -https?:\/\/([^\/]*\.)?blonde-dumb-not\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?blonde-firework-joke\.medved\.od\.ua -https?:\/\/([^\/]*\.)?blonde-lesbian-picture\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blonde-long-mature\.medved\.od\.ua -https?:\/\/([^\/]*\.)?blonde-model-twin\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?blonde-model-wallpaper\.protime\.in\.ua -https?:\/\/([^\/]*\.)?blonde-teen-bitch\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?blonde-who-fuck\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blonde-with-pink-dildo\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?blonde-xxx-trailer\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?blondie-g7hbdel\.blogspot\.com -https?:\/\/([^\/]*\.)?blondy-zipper\.iespana\.es -https?:\/\/([^\/]*\.)?blood-clots-cramp-leg\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?blotrer\.com -https?:\/\/([^\/]*\.)?blow-deep-free-job-throat\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?blow-free-gallery-in-job-place-public\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blow-gagging-job-pissing-sex\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?blow-job-movie-monster\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?blow-job-video-h-g-b\.blogspot\.com -https?:\/\/([^\/]*\.)?blowy\.info -https?:\/\/([^\/]*\.)?blskill\.dl\.pl -https?:\/\/([^\/]*\.)?blue-phentermine\.coz\.in -https?:\/\/([^\/]*\.)?bluebird-ki1h06\.blogspot\.com -https?:\/\/([^\/]*\.)?bluethumbs-com-wn7zce4\.blogspot\.com -https?:\/\/([^\/]*\.)?blurs\.info -https?:\/\/([^\/]*\.)?blurzed\.com -https?:\/\/([^\/]*\.)?bmoer\.szm\.sk -https?:\/\/([^\/]*\.)?bmoon-tech\.com -https?:\/\/([^\/]*\.)?bmzz6\.fr33webhost\.com -https?:\/\/([^\/]*\.)?bnhaq\.fr33webhost\.com -https?:\/\/([^\/]*\.)?bnme5\.szm\.sk -https?:\/\/([^\/]*\.)?bnsal\.szm\.sk -https?:\/\/([^\/]*\.)?bo-wheeling\.blogspot\.com -https?:\/\/([^\/]*\.)?boatf\.hostpresso\.com -https?:\/\/([^\/]*\.)?bob-mh5rq0\.blogspot\.com -https?:\/\/([^\/]*\.)?bobcat-asfz\.blogspot\.com -https?:\/\/([^\/]*\.)?bobcat-qete\.blogspot\.com -https?:\/\/([^\/]*\.)?boboczel\.fr-bb\.com -https?:\/\/([^\/]*\.)?boboer\.heavenforum\.com -https?:\/\/([^\/]*\.)?bocac\.blogcu\.com -https?:\/\/([^\/]*\.)?bocalolo\.bbgraf\.com -https?:\/\/([^\/]*\.)?bocbasdom\.su\.pl -https?:\/\/([^\/]*\.)?bocbasget\.bbfr\.net -https?:\/\/([^\/]*\.)?bocchiolo\.zj\.pl -https?:\/\/([^\/]*\.)?bocerleto\.winnerforum\.net -https?:\/\/([^\/]*\.)?bocletoget\.cultureforum\.net -https?:\/\/([^\/]*\.)?bocmonel\.lolforum\.net -https?:\/\/([^\/]*\.)?boctrocleto\.xa\.pl -https?:\/\/([^\/]*\.)?bodelel\.goodbb\.net -https?:\/\/([^\/]*\.)?bodsforthemods-com-txb\.blogspot\.com -https?:\/\/([^\/]*\.)?body-jewellery-piercing-4u\.com -https?:\/\/([^\/]*\.)?bodybuilding\.ncedly\.be -https?:\/\/([^\/]*\.)?bof-xxxvogue-net\.blogspot\.com -https?:\/\/([^\/]*\.)?bofuno-free-amateur-video\.blogspot\.com -https?:\/\/([^\/]*\.)?bogetric\.td\.pl -https?:\/\/([^\/]*\.)?bolds\.info -https?:\/\/([^\/]*\.)?bolgatalt\.naturalforum\.net -https?:\/\/([^\/]*\.)?bolle-xeno\.keckins\.be -https?:\/\/([^\/]*\.)?bologjack\.8tt\.org -https?:\/\/([^\/]*\.)?bomb9\.szm\.sk -https?:\/\/([^\/]*\.)?bon-rassi\.com -https?:\/\/([^\/]*\.)?bondage\.coz\.in -https?:\/\/([^\/]*\.)?bondagepaper-com-hzt1gq2iw\.blogspot\.com -https?:\/\/([^\/]*\.)?bondich\.blogspot\.com -https?:\/\/([^\/]*\.)?boneme-wn\.blogspot\.com -https?:\/\/([^\/]*\.)?boneprone-com-g0h\.blogspot\.com -https?:\/\/([^\/]*\.)?boner-dujo\.blogspot\.com -https?:\/\/([^\/]*\.)?bong-cx0\.blogspot\.com -https?:\/\/([^\/]*\.)?bong-tedo\.blogspot\.com -https?:\/\/([^\/]*\.)?bonjour-toxi\.blogspot\.com -https?:\/\/([^\/]*\.)?bonnie-pequ\.blogspot\.com -https?:\/\/([^\/]*\.)?bonnie-t00pf3j6\.blogspot\.com -https?:\/\/([^\/]*\.)?bonota\.blogcu\.com -https?:\/\/([^\/]*\.)?bonozel\.dl\.pl -https?:\/\/([^\/]*\.)?bontril\.1\.p2l\.info -https?:\/\/([^\/]*\.)?bontril\.1k\.pl -https?:\/\/([^\/]*\.)?boob-dome-com-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?boob-free-large-natural-teen\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boob-little-monster-vicki\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?boob-little-monster-vicki\.protime\.in\.ua -https?:\/\/([^\/]*\.)?boob-movie-piqe\.blogspot\.com -https?:\/\/([^\/]*\.)?boob-myspace-com-naked-site\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?boob-nude-pic-small\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boob-video-bb-bb-h\.blogspot\.com -https?:\/\/([^\/]*\.)?booble-com-orahxf\.blogspot\.com -https?:\/\/([^\/]*\.)?booble-com-ouq\.blogspot\.com -https?:\/\/([^\/]*\.)?booger-sure\.blogspot\.com -https?:\/\/([^\/]*\.)?boogie-sexu\.blogspot\.com -https?:\/\/([^\/]*\.)?boogie-wy64qty4x\.blogspot\.com -https?:\/\/([^\/]*\.)?bookcq\.com -https?:\/\/([^\/]*\.)?bookit-liwe\.blogspot\.com -https?:\/\/([^\/]*\.)?boole\.cs\.iastate\.edu -https?:\/\/([^\/]*\.)?boomer-hodo\.blogspot\.com -https?:\/\/([^\/]*\.)?booster-leto\.blogspot\.com -https?:\/\/([^\/]*\.)?boot-by-jessica-lyric-made-simpson-walking\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boot-camp-fitness-georgia-summer\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?boot-camp-for-out-of-control-teen\.medved\.od\.ua -https?:\/\/([^\/]*\.)?boot-cranston-shoes\.protime\.in\.ua -https?:\/\/([^\/]*\.)?boot-davidson-harley-riding\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?boot-disk-file\.medved\.od\.ua -https?:\/\/([^\/]*\.)?boot-dress-womens\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?boot-i-in-like-man-rubber\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boot-in-lancashire-maker-shoes\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boot-made-these-video-walkin-watch\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?boot-made-these-walking-who-wrote\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?boot-outlet-timberland\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?boot-riding-supplier\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?boot-these-walking\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bootsie-bihe\.blogspot\.com -https?:\/\/([^\/]*\.)?bootsie-ku10yu\.blogspot\.com -https?:\/\/([^\/]*\.)?booty-ebony-gallery\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?booty-ebony-info-remember-video\.medved\.od\.ua -https?:\/\/([^\/]*\.)?bootycollection-com-cf36tiy45\.blogspot\.com -https?:\/\/([^\/]*\.)?bootycollection-com-rekiz\.blogspot\.com -https?:\/\/([^\/]*\.)?boracboc\.su\.pl -https?:\/\/([^\/]*\.)?borelco\.dl\.pl -https?:\/\/([^\/]*\.)?borgshare\.org -https?:\/\/([^\/]*\.)?borjone\.com -https?:\/\/([^\/]*\.)?borncompany\.com -https?:\/\/([^\/]*\.)?boryc\.com -https?:\/\/([^\/]*\.)?boss-bitch-2\.protime\.in\.ua -https?:\/\/([^\/]*\.)?boss-coerced-fucking-into-wife\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?boss-suno\.blogspot\.com -https?:\/\/([^\/]*\.)?boston-hardcore-site-myspace-com\.protime\.in\.ua -https?:\/\/([^\/]*\.)?boston-heqe\.blogspot\.com -https?:\/\/([^\/]*\.)?bostvndaoe\.blogspot\.com -https?:\/\/([^\/]*\.)?botaer\.dl\.pl -https?:\/\/([^\/]*\.)?botast\.com -https?:\/\/([^\/]*\.)?botrdar\.goodforum\.net -https?:\/\/([^\/]*\.)?botrdar\.grafbb\.com -https?:\/\/([^\/]*\.)?boulder-facial-plastic-surgery\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?bov-smut-house-com\.blogspot\.com -https?:\/\/([^\/]*\.)?bovaral\.naturalforum\.net -https?:\/\/([^\/]*\.)?bowse\.info -https?:\/\/([^\/]*\.)?bowtrol\.ventilacia\.yi\.org -https?:\/\/([^\/]*\.)?bowtrolcoloncleanse\.vlocka\.yi\.org -https?:\/\/([^\/]*\.)?boy-boy-gay-young\.medved\.od\.ua -https?:\/\/([^\/]*\.)?boysfirsttime-com-ele2y\.blogspot\.com -https?:\/\/([^\/]*\.)?bphentermine\.c24\.pl -https?:\/\/([^\/]*\.)?bphentermine\.ovp\.pl -https?:\/\/([^\/]*\.)?bqtcfu7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?braburka\.ifrance\.com -https?:\/\/([^\/]*\.)?bradley-fitu\.blogspot\.com -https?:\/\/([^\/]*\.)?brahma-steel-toe-boot\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?brandi-a5tds\.blogspot\.com -https?:\/\/([^\/]*\.)?brandi-vuwi\.blogspot\.com -https?:\/\/([^\/]*\.)?brandibelle-com-mzqj8l\.blogspot\.com -https?:\/\/([^\/]*\.)?brandibelle-com-ti\.blogspot\.com -https?:\/\/([^\/]*\.)?brandon-duso\.blogspot\.com -https?:\/\/([^\/]*\.)?brandy-cnz56l\.blogspot\.com -https?:\/\/([^\/]*\.)?brandy-dobu\.blogspot\.com -https?:\/\/([^\/]*\.)?brasil-pire\.blogspot\.com -https?:\/\/([^\/]*\.)?brat-nikodim\.blogspot\.com -https?:\/\/([^\/]*\.)?braves-t7\.blogspot\.com -https?:\/\/([^\/]*\.)?braves-tuku\.blogspot\.com -https?:\/\/([^\/]*\.)?bravogirls-com-a7nbqd\.blogspot\.com -https?:\/\/([^\/]*\.)?bravogirls-com-w12\.blogspot\.com -https?:\/\/([^\/]*\.)?bravoteens-com-d0v\.blogspot\.com -https?:\/\/([^\/]*\.)?bravovids-com-rouqs0py\.blogspot\.com -https?:\/\/([^\/]*\.)?bravovids-r55rxyszt0\.blogspot\.com -https?:\/\/([^\/]*\.)?brazil-butt-thong\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?brazil-gevo\.blogspot\.com -https?:\/\/([^\/]*\.)?brazilian-butt-lift-plastic-surgery\.protime\.in\.ua -https?:\/\/([^\/]*\.)?brb\.pl -https?:\/\/([^\/]*\.)?breana-foki\.blogspot\.com -https?:\/\/([^\/]*\.)?breana-wvqscvo5u\.blogspot\.com -https?:\/\/([^\/]*\.)?breanna-kiwu\.blogspot\.com -https?:\/\/([^\/]*\.)?breanne-leri\.blogspot\.com -https?:\/\/([^\/]*\.)?breeanna-quhu\.blogspot\.com -https?:\/\/([^\/]*\.)?breiana-quhe\.blogspot\.com -https?:\/\/([^\/]*\.)?brenda-i5z8n4zkb7\.blogspot\.com -https?:\/\/([^\/]*\.)?brenda-rezo\.blogspot\.com -https?:\/\/([^\/]*\.)?brenna-xivo\.blogspot\.com -https?:\/\/([^\/]*\.)?brewster-opqnec8v\.blogspot\.com -https?:\/\/([^\/]*\.)?brfq6\.szm\.sk -https?:\/\/([^\/]*\.)?brian-bchd\.blogspot\.com -https?:\/\/([^\/]*\.)?brianna-dc04k04ivu\.blogspot\.com -https?:\/\/([^\/]*\.)?brianne-ejv40\.blogspot\.com -https?:\/\/([^\/]*\.)?brick55\.5gbfree\.com -https?:\/\/([^\/]*\.)?brickes\.8888mb\.com -https?:\/\/([^\/]*\.)?bricktilemachine\.com\.cn -https?:\/\/([^\/]*\.)?bridgette-rjc3pbx6\.blogspot\.com -https?:\/\/([^\/]*\.)?brightflashes\.blogspot\.com -https?:\/\/([^\/]*\.)?brionna-hl530r3fe\.blogspot\.com -https?:\/\/([^\/]*\.)?brisbeck\.com -https?:\/\/([^\/]*\.)?britney-spear-sexy-ass\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?britney-spears-0\.blogspot\.com -https?:\/\/([^\/]*\.)?britney-spears-sex-video-t-j-g\.blogspot\.com -https?:\/\/([^\/]*\.)?brittany-i7ekj3hll\.blogspot\.com -https?:\/\/([^\/]*\.)?broadcaster-crazy-popular\.freehostss\.info -https?:\/\/([^\/]*\.)?broadway-ow\.blogspot\.com -https?:\/\/([^\/]*\.)?brokenbond\.blogspot\.com -https?:\/\/([^\/]*\.)?bronc\.info -https?:\/\/([^\/]*\.)?brooke-bejuzava\.blogspot\.com -https?:\/\/([^\/]*\.)?brooklynn-du\.blogspot\.com -https?:\/\/([^\/]*\.)?brooks-rare\.lkerfocu\.be -https?:\/\/([^\/]*\.)?brplank\.ifrance\.com -https?:\/\/([^\/]*\.)?brrddd\.org -https?:\/\/([^\/]*\.)?bruce-egqva1m\.blogspot\.com -https?:\/\/([^\/]*\.)?brunettesexwrl\.blogspot\.com -https?:\/\/([^\/]*\.)?brush\.hostaim\.com -https?:\/\/([^\/]*\.)?brutlag\.stanford\.edu -https?:\/\/([^\/]*\.)?bryan-rdu\.blogspot\.com -https?:\/\/([^\/]*\.)?bs21sa\.com -https?:\/\/([^\/]*\.)?bsd-hd\.blogspot\.com -https?:\/\/([^\/]*\.)?bsoma\.c24\.pl -https?:\/\/([^\/]*\.)?bsoma\.ovp\.pl -https?:\/\/([^\/]*\.)?bsri3\.szm\.sk -https?:\/\/([^\/]*\.)?btipu\.fr33webhost\.com -https?:\/\/([^\/]*\.)?btix\.combasketball-tickets -https?:\/\/([^\/]*\.)?btqvb\.fr33webhost\.com -https?:\/\/([^\/]*\.)?btramadol\.c24\.pl -https?:\/\/([^\/]*\.)?bubba1-i2pblfp2m\.blogspot\.com -https?:\/\/([^\/]*\.)?bublifuk\.php5\.cz -https?:\/\/([^\/]*\.)?bucina\.asp2\.cz -https?:\/\/([^\/]*\.)?buck-o1i5bt\.blogspot\.com -https?:\/\/([^\/]*\.)?buddy-bqam83yt\.blogspot\.com -https?:\/\/([^\/]*\.)?budget7i\.info -https?:\/\/([^\/]*\.)?buff-com-es-gay-porn-site-l-s-g\.blogspot\.com -https?:\/\/([^\/]*\.)?bug\.phil\.cmu\.edu -https?:\/\/([^\/]*\.)?buildercareer\.us -https?:\/\/([^\/]*\.)?bukicon-free-bisexual-s-b\.blogspot\.com -https?:\/\/([^\/]*\.)?bukkake-cum-facial-shot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?bulldog-dc86aq4l\.blogspot\.com -https?:\/\/([^\/]*\.)?bumast\.com -https?:\/\/([^\/]*\.)?bumins\.com -https?:\/\/([^\/]*\.)?bunnyteens-com-clpxyq6of\.blogspot\.com -https?:\/\/([^\/]*\.)?bunnyteens-com-gz7\.blogspot\.com -https?:\/\/([^\/]*\.)?bupropion-hcl\.1\.p2l\.info -https?:\/\/([^\/]*\.)?buruan\.dl\.pl -https?:\/\/([^\/]*\.)?business-brokers\.lkerfocu\.be -https?:\/\/([^\/]*\.)?business-school\.hotmail\.ru -https?:\/\/([^\/]*\.)?business-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?business1degree\.chat\.ru -https?:\/\/([^\/]*\.)?business2school\.chat\.ru -https?:\/\/([^\/]*\.)?businessitaly\.info -https?:\/\/([^\/]*\.)?businesx\.atspace\.com -https?:\/\/([^\/]*\.)?buspar\.1\.p2l\.info -https?:\/\/([^\/]*\.)?buspirone\.1\.p2l\.info -https?:\/\/([^\/]*\.)?busstopwhores-com-c0f\.blogspot\.com -https?:\/\/([^\/]*\.)?busstopwhores-com-ki7\.blogspot\.com -https?:\/\/([^\/]*\.)?busty-blonde-bomb-shell\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?busty-blonde-fuck\.medved\.od\.ua -https?:\/\/([^\/]*\.)?busty-escort-porn\.medved\.od\.ua -https?:\/\/([^\/]*\.)?busty-horny-milf\.protime\.in\.ua -https?:\/\/([^\/]*\.)?busty-little-girl\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?busty-mature-red-head\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?busty-sex-star\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?busty-super-girl\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?busty-thick-ebony\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?bustyadventures-com-oh518h8l\.blogspot\.com -https?:\/\/([^\/]*\.)?bustyisland-com-au\.blogspot\.com -https?:\/\/([^\/]*\.)?bustyisland-mdjgr6khy\.blogspot\.com -https?:\/\/([^\/]*\.)?bustypassion-com-bpe84\.blogspot\.com -https?:\/\/([^\/]*\.)?butalbital-apap\.1\.p2l\.info -https?:\/\/([^\/]*\.)?butalbital\.ru\.tf -https?:\/\/([^\/]*\.)?butler-h3bpdq\.blogspot\.com -https?:\/\/([^\/]*\.)?butseriouslyimprov\.com -https?:\/\/([^\/]*\.)?butt-community-type-white\.medved\.od\.ua -https?:\/\/([^\/]*\.)?butt-face-fat-her-kong-love-picture-queen-sit\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?butt-fucking-teen\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?butt-girl-rate\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?buttons-iveta\.blogspot\.com -https?:\/\/([^\/]*\.)?buwelch\.dl\.pl -https?:\/\/([^\/]*\.)?buwu-admin\.blogspot\.com -https?:\/\/([^\/]*\.)?buy-ambien-online\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-ambien\.esguay\.com -https?:\/\/([^\/]*\.)?buy-ativan\.fil\.ph -https?:\/\/([^\/]*\.)?buy-bontril\.contact\.cc -https?:\/\/([^\/]*\.)?buy-carisoprodol\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-celebrex\.bigsitecity\.com -https?:\/\/([^\/]*\.)?buy-cialis-online\.bigsitecity\.com -https?:\/\/([^\/]*\.)?buy-cialis\.1k\.pl -https?:\/\/([^\/]*\.)?buy-cialis\.esguay\.com -https?:\/\/([^\/]*\.)?buy-cialis\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-cialis20\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-cialishhb\.blogspot\.com -https?:\/\/([^\/]*\.)?buy-cialisklx\.blogspot\.com -https?:\/\/([^\/]*\.)?buy-hydrocodone-gs\.eu\.tc -https?:\/\/([^\/]*\.)?buy-hydrocodone-gs\.net\.tc -https?:\/\/([^\/]*\.)?buy-hydrocodone\.esguay\.com -https?:\/\/([^\/]*\.)?buy-hydrocodone\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-levitra\.1k\.pl -https?:\/\/([^\/]*\.)?buy-levitra\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-lipitor\.contact\.cc -https?:\/\/([^\/]*\.)?buy-lortab-911\.jo\.pl -https?:\/\/([^\/]*\.)?buy-online-tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?buy-pharmacy\.blogspot\.com -https?:\/\/([^\/]*\.)?buy-phentermine-gs\.eu\.tc -https?:\/\/([^\/]*\.)?buy-phentermine-gs\.net\.tc -https?:\/\/([^\/]*\.)?buy-phentermine\.esguay\.com -https?:\/\/([^\/]*\.)?buy-phentermine\.health-livening\.com -https?:\/\/([^\/]*\.)?buy-phentermine\.hem\.nu -https?:\/\/([^\/]*\.)?buy-phentermine\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-phentermine20\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-prozac-online\.com -https?:\/\/([^\/]*\.)?buy-soma\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-tennis-shoes\.info -https?:\/\/([^\/]*\.)?buy-tramadol-gs\.eu\.tc -https?:\/\/([^\/]*\.)?buy-tramadol-gs\.net\.tc -https?:\/\/([^\/]*\.)?buy-tramadol-online911\.jo\.pl -https?:\/\/([^\/]*\.)?buy-tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?buy-tramadol\.esguay\.com -https?:\/\/([^\/]*\.)?buy-tramadol\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-tramadol20\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-ultram\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-valium\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-viagra-online\.health-livening\.com -https?:\/\/([^\/]*\.)?buy-viagra\.esguay\.com -https?:\/\/([^\/]*\.)?buy-viagra\.health-livening\.com -https?:\/\/([^\/]*\.)?buy-viagra\.presteert\.nl -https?:\/\/([^\/]*\.)?buy-viagra20\.bravehost\.com -https?:\/\/([^\/]*\.)?buy-xanax20\.bravehost\.com -https?:\/\/([^\/]*\.)?buy4levitra\.blogspot\.com -https?:\/\/([^\/]*\.)?buy4viagra\.blogspot\.com -https?:\/\/([^\/]*\.)?buyambien\.blog\.hr -https?:\/\/([^\/]*\.)?buyambien\.guu\.pl -https?:\/\/([^\/]*\.)?buybuspar\.4\.pl -https?:\/\/([^\/]*\.)?buycialisonline\.forumlivre\.com -https?:\/\/([^\/]*\.)?buycialisonline\.sprayblog\.se -https?:\/\/([^\/]*\.)?buycialisonline\.sulekha\.com -https?:\/\/([^\/]*\.)?buycialispills00\.blogspot\.com -https?:\/\/([^\/]*\.)?buycialiss\.blogsome\.com -https?:\/\/([^\/]*\.)?buycialiss\.ovp\.pl -https?:\/\/([^\/]*\.)?buycipro\.4\.pl -https?:\/\/([^\/]*\.)?buyeffexor\.4\.pl -https?:\/\/([^\/]*\.)?buyhydrocodone\.blog\.hr -https?:\/\/([^\/]*\.)?buylevitra\.blog\.hr -https?:\/\/([^\/]*\.)?buylevitra\.forospace\.com -https?:\/\/([^\/]*\.)?buylevitraonlin\.forumlivre\.com -https?:\/\/([^\/]*\.)?buylevitraonline\.sprayblog\.se -https?:\/\/([^\/]*\.)?buymeridia\.blog\.hr -https?:\/\/([^\/]*\.)?buyonlineorder\.com -https?:\/\/([^\/]*\.)?buypaxil\.blog\.hr -https?:\/\/([^\/]*\.)?buyphentermine2\.livelog\.com -https?:\/\/([^\/]*\.)?buyphenterminee\.ovp\.pl -https?:\/\/([^\/]*\.)?buyphenterminez\.blog\.hr -https?:\/\/([^\/]*\.)?buypropecia\.blog\.hr -https?:\/\/([^\/]*\.)?buyprozac\.blog\.hr -https?:\/\/([^\/]*\.)?buyrosebowltickets\.com -https?:\/\/([^\/]*\.)?buysoma\.1majorhost\.com -https?:\/\/([^\/]*\.)?buysoma\.cay\.pl -https?:\/\/([^\/]*\.)?buysomaaonline\.ovp\.pl -https?:\/\/([^\/]*\.)?buysomaonline\.forospace\.com -https?:\/\/([^\/]*\.)?buysomaonlinez\.blogsome\.com -https?:\/\/([^\/]*\.)?buytramadolonli\.forumlivre\.com -https?:\/\/([^\/]*\.)?buytramadolonline\.sprayblog\.se -https?:\/\/([^\/]*\.)?buytramadolz\.jubiiblog\.de -https?:\/\/([^\/]*\.)?buytrazodone\.eamped\.com -https?:\/\/([^\/]*\.)?buyultram\.forospace\.com -https?:\/\/([^\/]*\.)?buyultram\.ir\.pl -https?:\/\/([^\/]*\.)?buyultramonline\.ir\.pl -https?:\/\/([^\/]*\.)?buyultramxp\.cay\.pl -https?:\/\/([^\/]*\.)?buyvalium\.one2you\.info -https?:\/\/([^\/]*\.)?buyvaliumonline\.forumlivre\.com -https?:\/\/([^\/]*\.)?buyvaliumonline\.jubiiblog\.de -https?:\/\/([^\/]*\.)?buyvaliumonline\.sprayblog\.se -https?:\/\/([^\/]*\.)?buyviagra\.seesaa\.net -https?:\/\/([^\/]*\.)?buyviagraa\.ovp\.pl -https?:\/\/([^\/]*\.)?buyviagraonline\.ovp\.pl -https?:\/\/([^\/]*\.)?buyviagraonline\.sprayblog\.se -https?:\/\/([^\/]*\.)?buyviagraxp\.cay\.pl -https?:\/\/([^\/]*\.)?buyvicodinxp\.cay\.pl -https?:\/\/([^\/]*\.)?buyvvalium\.ovp\.pl -https?:\/\/([^\/]*\.)?buyxanax\.5u\.com -https?:\/\/([^\/]*\.)?buyxanaxxonline\.ovp\.pl -https?:\/\/([^\/]*\.)?buyxanaxxp\.cay\.pl -https?:\/\/([^\/]*\.)?buyxenical\.blog\.hr -https?:\/\/([^\/]*\.)?buyxenical\.ir\.pl -https?:\/\/([^\/]*\.)?buyxenicalonline\.ir\.pl -https?:\/\/([^\/]*\.)?buyxxenical\.ovp\.pl -https?:\/\/([^\/]*\.)?buyxxenicalonline\.ovp\.pl -https?:\/\/([^\/]*\.)?buyycelexa\.ovp\.pl -https?:\/\/([^\/]*\.)?buyycialis\.ovp\.pl -https?:\/\/([^\/]*\.)?buyymeridiaonline\.ovp\.pl -https?:\/\/([^\/]*\.)?buyyphentermine\.ovp\.pl -https?:\/\/([^\/]*\.)?buyysoma\.ovp\.pl -https?:\/\/([^\/]*\.)?buyyviagra\.ovp\.pl -https?:\/\/([^\/]*\.)?buyyzithromax\.ovp\.pl -https?:\/\/([^\/]*\.)?buyzoloft\.blog\.hr -https?:\/\/([^\/]*\.)?buyzyban\.coz\.in -https?:\/\/([^\/]*\.)?buzerave\.com -https?:\/\/([^\/]*\.)?bvalium\.c24\.pl -https?:\/\/([^\/]*\.)?bvalium\.fuks\.pl -https?:\/\/([^\/]*\.)?bvalium1\.forumup\.org -https?:\/\/([^\/]*\.)?bviagra\.ovp\.pl -https?:\/\/([^\/]*\.)?bviagra1\.forumup\.org -https?:\/\/([^\/]*\.)?bvse1\.szm\.sk -https?:\/\/([^\/]*\.)?bwmi0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?bwzf6\.szm\.sk -https?:\/\/([^\/]*\.)?bx6\.blrf\.net -https?:\/\/([^\/]*\.)?bxanax\.c24\.pl -https?:\/\/([^\/]*\.)?bxanax\.gog\.pl -https?:\/\/([^\/]*\.)?bxanax1\.forumup\.org -https?:\/\/([^\/]*\.)?byhydrocodone\.blog\.espresso\.repubblica\.it -https?:\/\/([^\/]*\.)?bzxs\.org\.ua -https?:\/\/([^\/]*\.)?c-canada\.com -https?:\/\/([^\/]*\.)?c4taldron\.uy\.pl -https?:\/\/([^\/]*\.)?c4tcaget\.blogcu\.com -https?:\/\/([^\/]*\.)?c4tcoli\.td\.pl -https?:\/\/([^\/]*\.)?c4tdarrel\.dl\.pl -https?:\/\/([^\/]*\.)?c4tdronrel\.goodforum\.net -https?:\/\/([^\/]*\.)?c4tdronrel\.grafbb\.com -https?:\/\/([^\/]*\.)?c4tvarcna\.dl\.pl -https?:\/\/([^\/]*\.)?ca57sgr0h\.org -https?:\/\/([^\/]*\.)?cable-connection\.keckins\.be -https?:\/\/([^\/]*\.)?caboboc\.blogcu\.com -https?:\/\/([^\/]*\.)?cacalife\.com -https?:\/\/([^\/]*\.)?cacas\.info -https?:\/\/([^\/]*\.)?caculall\.forumzen\.com -https?:\/\/([^\/]*\.)?cadiucna\.forumzen\.com -https?:\/\/([^\/]*\.)?caeserch\.com -https?:\/\/([^\/]*\.)?cafasc\.com -https?:\/\/([^\/]*\.)?caguyea\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cahn\.mnsu\.edu -https?:\/\/([^\/]*\.)?caitlyn-d66tmgwi1\.blogspot\.com -https?:\/\/([^\/]*\.)?caked\.info -https?:\/\/([^\/]*\.)?calciatore-nudo\.hostzz\.info -https?:\/\/([^\/]*\.)?calcio-arbitri\.com -https?:\/\/([^\/]*\.)?calcio-watch\.com -https?:\/\/([^\/]*\.)?calcolo-rata-finanziamento\.ll33\.info -https?:\/\/([^\/]*\.)?calendario-vari\.freespase\.info -https?:\/\/([^\/]*\.)?calgary-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?californiamortgage-x\.com -https?:\/\/([^\/]*\.)?call-kelly-com-ky\.blogspot\.com -https?:\/\/([^\/]*\.)?call-kelly-com-tnm5k7042\.blogspot\.com -https?:\/\/([^\/]*\.)?callie-es\.blogspot\.com -https?:\/\/([^\/]*\.)?callsecurity\.blogspot\.com -https?:\/\/([^\/]*\.)?camaro-r21nu37q\.blogspot\.com -https?:\/\/([^\/]*\.)?camcrush-com-eudifxp82\.blogspot\.com -https?:\/\/([^\/]*\.)?camcrush-com-igzig\.blogspot\.com -https?:\/\/([^\/]*\.)?camcrush-com-my1v8l4\.blogspot\.com -https?:\/\/([^\/]*\.)?camel-cigarettes\.s5\.com -https?:\/\/([^\/]*\.)?camelclips-com-budun\.blogspot\.com -https?:\/\/([^\/]*\.)?camelclips-com-d3s6o2\.blogspot\.com -https?:\/\/([^\/]*\.)?camelclips-com-h6a5l\.blogspot\.com -https?:\/\/([^\/]*\.)?camelmenthe\.blogspot\.com -https?:\/\/([^\/]*\.)?cameralover\.net -https?:\/\/([^\/]*\.)?camerascams\.info -https?:\/\/([^\/]*\.)?cameron-h184o7b\.blogspot\.com -https?:\/\/([^\/]*\.)?camini\.freehostss\.info -https?:\/\/([^\/]*\.)?canada-birthday\.acb\.pl -https?:\/\/([^\/]*\.)?canadian-pharmacyfur\.blogspot\.com -https?:\/\/([^\/]*\.)?canadian-pharmacyyof\.blogspot\.com -https?:\/\/([^\/]*\.)?cancer-skin\.nm\.ru -https?:\/\/([^\/]*\.)?cancer-skin\.pochta\.ru -https?:\/\/([^\/]*\.)?cancer_skin\.chat\.ru -https?:\/\/([^\/]*\.)?candi-door-hot-mom-next\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?candylist-com-dib\.blogspot\.com -https?:\/\/([^\/]*\.)?candylist-com-ip72g5\.blogspot\.com -https?:\/\/([^\/]*\.)?canjipiao\.com -https?:\/\/([^\/]*\.)?cantante-arabe-sexy\.hostzz\.info -https?:\/\/([^\/]*\.)?cantor-dz1h733\.blogspot\.com -https?:\/\/([^\/]*\.)?caorzel\.discutforum\.com -https?:\/\/([^\/]*\.)?capasdar\.td\.pl -https?:\/\/([^\/]*\.)?car-free-insurance-quoteqch\.blogspot\.com -https?:\/\/([^\/]*\.)?car-insurance-\.blogspot\.com -https?:\/\/([^\/]*\.)?car-insurance-club\.com -https?:\/\/([^\/]*\.)?car-insurance-p4zw\.blogspot\.com -https?:\/\/([^\/]*\.)?car-insurance-ratsvex\.blogspot\.com -https?:\/\/([^\/]*\.)?car-loan-newdma\.blogspot\.com -https?:\/\/([^\/]*\.)?car-loan-neweei\.blogspot\.com -https?:\/\/([^\/]*\.)?car1home\.info -https?:\/\/([^\/]*\.)?carabidule\.net -https?:\/\/([^\/]*\.)?carbest2006\.info -https?:\/\/([^\/]*\.)?cardura-rapid-heartbeat\.tlg\.pl -https?:\/\/([^\/]*\.)?care-skin\.pochta\.ru -https?:\/\/([^\/]*\.)?career-business\.net -https?:\/\/([^\/]*\.)?carepharmasite\.info -https?:\/\/([^\/]*\.)?caribxpressparts\.com -https?:\/\/([^\/]*\.)?caricc4t\.xa\.pl -https?:\/\/([^\/]*\.)?carinsurance-x\.com -https?:\/\/([^\/]*\.)?carinsuranceshh\.blogspot\.com -https?:\/\/([^\/]*\.)?carisoprodol-online\.presteert\.nl -https?:\/\/([^\/]*\.)?carisoprodol\.1\.p2l\.info -https?:\/\/([^\/]*\.)?carisoprodol\.269g\.net -https?:\/\/([^\/]*\.)?carisoprodol\.47\.pl -https?:\/\/([^\/]*\.)?carisoprodol\.goodpharm\.info -https?:\/\/([^\/]*\.)?carisoprodol\.hav\.pl -https?:\/\/([^\/]*\.)?carisoprodol\.presteert\.nl -https?:\/\/([^\/]*\.)?carisoprodol\.seesaa\.net -https?:\/\/([^\/]*\.)?carisoprodol\.skocz\.net -https?:\/\/([^\/]*\.)?carisoprodolrx\.weboficial\.com -https?:\/\/([^\/]*\.)?carisoprodols\.blogspot\.com -https?:\/\/([^\/]*\.)?carley-m3ia3\.blogspot\.com -https?:\/\/([^\/]*\.)?carlie-a2s405\.blogspot\.com -https?:\/\/([^\/]*\.)?carol-txxhdpnt\.blogspot\.com -https?:\/\/([^\/]*\.)?carolina-w2aoe4xx\.blogspot\.com -https?:\/\/([^\/]*\.)?carolyn-gp2s5\.blogspot\.com -https?:\/\/([^\/]*\.)?carovi\.su\.pl -https?:\/\/([^\/]*\.)?carson-ko8z7\.blogspot\.com -https?:\/\/([^\/]*\.)?carspoker\.u288\.com -https?:\/\/([^\/]*\.)?cartolina-pasqua\.host24h\.info -https?:\/\/([^\/]*\.)?cartoon-free-gallery-gay\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cartoon-porn-clip-bloghvn\.blogspot\.com -https?:\/\/([^\/]*\.)?carxm\.info -https?:\/\/([^\/]*\.)?casaviva\.19mb\.info -https?:\/\/([^\/]*\.)?cascq\.szm\.sk -https?:\/\/([^\/]*\.)?casetvar\.forumzen\.com -https?:\/\/([^\/]*\.)?cashadvance-x\.com -https?:\/\/([^\/]*\.)?cashing-view\.com -https?:\/\/([^\/]*\.)?casing\.dyndns\.dk -https?:\/\/([^\/]*\.)?casino-555\.com -https?:\/\/([^\/]*\.)?casino-attraction\.com -https?:\/\/([^\/]*\.)?casino-games-wiki\.com -https?:\/\/([^\/]*\.)?casino-magyck\.mutogen\.be -https?:\/\/([^\/]*\.)?casino-ppp\.com -https?:\/\/([^\/]*\.)?casino-startup\.com -https?:\/\/([^\/]*\.)?casino-theory\.com -https?:\/\/([^\/]*\.)?casino\.requirements\.be -https?:\/\/([^\/]*\.)?casino1\.forumup\.org -https?:\/\/([^\/]*\.)?casinos-new\.com -https?:\/\/([^\/]*\.)?casinostates\.com -https?:\/\/([^\/]*\.)?casper-a3r1z2a0\.blogspot\.com -https?:\/\/([^\/]*\.)?cassay\.net -https?:\/\/([^\/]*\.)?casual-boots\.massioni\.be -https?:\/\/([^\/]*\.)?catch-c-teens\.blogspot\.com -https?:\/\/([^\/]*\.)?catherine-tu75h6w\.blogspot\.com -https?:\/\/([^\/]*\.)?catrelet\.forumzen\.com -https?:\/\/([^\/]*\.)?cats-wjbreb7e\.blogspot\.com -https?:\/\/([^\/]*\.)?cayuga-g2legvldk2\.blogspot\.com -https?:\/\/([^\/]*\.)?cazelmon\.lolforum\.net -https?:\/\/([^\/]*\.)?cazelolo\.dl\.pl -https?:\/\/([^\/]*\.)?cbbi\.cn -https?:\/\/([^\/]*\.)?cbhi8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cbkf0\.fr33webhost\.com -https?:\/\/([^\/]*\.)?cbwgkm8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cc5f\.dnyp\.com -https?:\/\/([^\/]*\.)?ccak1\.szm\.sk -https?:\/\/([^\/]*\.)?ccal\.cultureforum\.net -https?:\/\/([^\/]*\.)?ccclfak\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ccheapcelexa\.ovp\.pl -https?:\/\/([^\/]*\.)?ccheapvaliumonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ccline\.info -https?:\/\/([^\/]*\.)?ccnarac\.uy\.pl -https?:\/\/([^\/]*\.)?ccobhv7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cdq\.dzsbcn\.com -https?:\/\/([^\/]*\.)?cdsmart\.info -https?:\/\/([^\/]*\.)?cdzhs\.szm\.sk -https?:\/\/([^\/]*\.)?ceasius\.blogspot\.com -https?:\/\/([^\/]*\.)?cecily-koj\.blogspot\.com -https?:\/\/([^\/]*\.)?ceclor\.tlg\.pl -https?:\/\/([^\/]*\.)?celeb-filipina-movie-site\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?celebrex-911\.coz\.in -https?:\/\/([^\/]*\.)?celebrex-celecoxib-200mg\.tlg\.pl -https?:\/\/([^\/]*\.)?celebrex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?celebrity-sex-video-n-q-x\.blogspot\.com -https?:\/\/([^\/]*\.)?celebrity-sex-video\.0800-porn\.com -https?:\/\/([^\/]*\.)?celebrityprofiler\.com -https?:\/\/([^\/]*\.)?celelt\.dl\.pl -https?:\/\/([^\/]*\.)?celeste-mi8q701\.blogspot\.com -https?:\/\/([^\/]*\.)?celexa\.1\.p2l\.info -https?:\/\/([^\/]*\.)?celexa\.269g\.net -https?:\/\/([^\/]*\.)?celexafcy\.blogspot\.com -https?:\/\/([^\/]*\.)?celexaodt\.blogspot\.com -https?:\/\/([^\/]*\.)?celexavby\.blogspot\.com -https?:\/\/([^\/]*\.)?celexavcc\.blogspot\.com -https?:\/\/([^\/]*\.)?celexazer\.blogspot\.com -https?:\/\/([^\/]*\.)?celexxaonline\.ovp\.pl -https?:\/\/([^\/]*\.)?celine-ajha0vxo6\.blogspot\.com -https?:\/\/([^\/]*\.)?celtic-frost-ringtonedbg\.blogspot\.com -https?:\/\/([^\/]*\.)?celtic-frost-ringtonepxe\.blogspot\.com -https?:\/\/([^\/]*\.)?celtic-ring\.boom\.ru -https?:\/\/([^\/]*\.)?celtic1ring\.chat\.ru -https?:\/\/([^\/]*\.)?cemast\.com -https?:\/\/([^\/]*\.)?center-csy73nq1\.blogspot\.com -https?:\/\/([^\/]*\.)?century-21\.co\.jp -https?:\/\/([^\/]*\.)?cephalexin\.dynalias\.net -https?:\/\/([^\/]*\.)?cephalexin\.kicks-ass\.net -https?:\/\/([^\/]*\.)?cephalexinvyp\.blogspot\.com -https?:\/\/([^\/]*\.)?ceremi\.com -https?:\/\/([^\/]*\.)?cerveza\.republika\.pl -https?:\/\/([^\/]*\.)?cetki\.blogspot\.com -https?:\/\/([^\/]*\.)?cetuna\.com -https?:\/\/([^\/]*\.)?cfhc2\.szm\.sk -https?:\/\/([^\/]*\.)?cfi-tp\.blogspot\.com -https?:\/\/([^\/]*\.)?cgj-wmkd0p54ap\.blogspot\.com -https?:\/\/([^\/]*\.)?chain\.webmelia\.com -https?:\/\/([^\/]*\.)?champion-ghdm2p\.blogspot\.com -https?:\/\/([^\/]*\.)?chancec-i0\.blogspot\.com -https?:\/\/([^\/]*\.)?chandler-ozbi2l\.blogspot\.com -https?:\/\/([^\/]*\.)?chanel-ag2w\.blogspot\.com -https?:\/\/([^\/]*\.)?charity-eu\.blogspot\.com -https?:\/\/([^\/]*\.)?charles-rp7s\.blogspot\.com -https?:\/\/([^\/]*\.)?charlie-gl3ig\.blogspot\.com -https?:\/\/([^\/]*\.)?charming-kbatna2k\.blogspot\.com -https?:\/\/([^\/]*\.)?charvis-mj35\.blogspot\.com -https?:\/\/([^\/]*\.)?chase-online-bankingdir\.blogspot\.com -https?:\/\/([^\/]*\.)?chasehunt\.com -https?:\/\/([^\/]*\.)?chasity-oy2mgww10\.blogspot\.com -https?:\/\/([^\/]*\.)?chat-a7gdn35u\.blogspot\.com -https?:\/\/([^\/]*\.)?chat-gay-ohio-room\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?chat\.infty\.net -https?:\/\/([^\/]*\.)?chatelaine-free-lipstick\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?chatou\.dzsc\.com -https?:\/\/([^\/]*\.)?chatsky\.cn -https?:\/\/([^\/]*\.)?chaucer\.umuc\.edu -https?:\/\/([^\/]*\.)?chayse-c0z2untnw\.blogspot\.com -https?:\/\/([^\/]*\.)?chazuo\.dzsc\.com -https?:\/\/([^\/]*\.)?chazz-d86hk\.blogspot\.com -https?:\/\/([^\/]*\.)?cheap-cialis\.presteert\.nl -https?:\/\/([^\/]*\.)?cheap-hydrocodone\.presteert\.nl -https?:\/\/([^\/]*\.)?cheap-phentermine\.cheapills\.info -https?:\/\/([^\/]*\.)?cheap-phentermine\.esguay\.com -https?:\/\/([^\/]*\.)?cheap-phentermine\.health-livening\.com -https?:\/\/([^\/]*\.)?cheap-phentermine\.presteert\.nl -https?:\/\/([^\/]*\.)?cheap-rocky-boot\.medved\.od\.ua -https?:\/\/([^\/]*\.)?cheap-soma-online\.blogspot\.com -https?:\/\/([^\/]*\.)?cheap-tramadol-onlin\.zikforum\.com -https?:\/\/([^\/]*\.)?cheap-tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?cheap-tramadol\.cheapills\.info -https?:\/\/([^\/]*\.)?cheap-tramadol\.presteert\.nl -https?:\/\/([^\/]*\.)?cheap-trashy-lingerie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cheap-travel-deal\.globaltr\.info -https?:\/\/([^\/]*\.)?cheap-valium\.cheapills\.info -https?:\/\/([^\/]*\.)?cheap-viagra\.health-livening\.com -https?:\/\/([^\/]*\.)?cheap-viagra\.presteert\.nl -https?:\/\/([^\/]*\.)?cheap-xanax\.us\.tf -https?:\/\/([^\/]*\.)?cheapcialiss\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapest-pills\.org -https?:\/\/([^\/]*\.)?cheapest-viagra-source\.com -https?:\/\/([^\/]*\.)?cheapestlakerstickets\.com -https?:\/\/([^\/]*\.)?cheaplakertickets\.com -https?:\/\/([^\/]*\.)?cheappcialis\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapphentermine\.livelog\.com -https?:\/\/([^\/]*\.)?cheapphenterminee\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapphntermine\.ovp\.pl -https?:\/\/([^\/]*\.)?cheappvalium\.ovp\.pl -https?:\/\/([^\/]*\.)?cheappviagra\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapsuperbowltickets\.com -https?:\/\/([^\/]*\.)?cheaptramadol\.forospace\.com -https?:\/\/([^\/]*\.)?cheaptramadols\.ovp\.pl -https?:\/\/([^\/]*\.)?cheaptramadolz\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapvaliumm\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapvvalium\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapxanaxx\.ovp\.pl -https?:\/\/([^\/]*\.)?cheapxxanax\.ovp\.pl -https?:\/\/([^\/]*\.)?cheater-t3si78zbf\.blogspot\.com -https?:\/\/([^\/]*\.)?cheats-e2p3o7nhm\.blogspot\.com -https?:\/\/([^\/]*\.)?cheaviagra\.blogsome\.com -https?:\/\/([^\/]*\.)?checkers-wn88\.blogspot\.com -https?:\/\/([^\/]*\.)?checkproxy\.com -https?:\/\/([^\/]*\.)?cheerleader-child-photo\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cheerleader-dolphin\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cheerleader-gallery-naughty\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?cheerleader-upskirt-picture\.protime\.in\.ua -https?:\/\/([^\/]*\.)?cheese-ratzl\.blogspot\.com -https?:\/\/([^\/]*\.)?chellam-g2w\.blogspot\.com -https?:\/\/([^\/]*\.)?chelsey-kifs\.blogspot\.com -https?:\/\/([^\/]*\.)?chem-iv1c82\.blogspot\.com -https?:\/\/([^\/]*\.)?chemistry-mrrx5e\.blogspot\.com -https?:\/\/([^\/]*\.)?chemistry\.org\.ua -https?:\/\/([^\/]*\.)?cheng-o08if\.blogspot\.com -https?:\/\/([^\/]*\.)?chenglong\.com\.cn -https?:\/\/([^\/]*\.)?cher-aorxm1s3j7\.blogspot\.com -https?:\/\/([^\/]*\.)?cheryl-b8\.blogspot\.com -https?:\/\/([^\/]*\.)?chess-cy\.blogspot\.com -https?:\/\/([^\/]*\.)?chester1-tfkfl51eb\.blogspot\.com -https?:\/\/([^\/]*\.)?chevroletcam\.cn -https?:\/\/([^\/]*\.)?chevy-ekv8ph\.blogspot\.com -https?:\/\/([^\/]*\.)?chevy1-wwok0ww55\.blogspot\.com -https?:\/\/([^\/]*\.)?cheyanne-rnriiwno6l\.blogspot\.com -https?:\/\/([^\/]*\.)?cheyenne-g3l5fa87\.blogspot\.com -https?:\/\/([^\/]*\.)?cheyne-hm7aik5u\.blogspot\.com -https?:\/\/([^\/]*\.)?chfielde\.ifrance\.com -https?:\/\/([^\/]*\.)?chic-ks\.blogspot\.com -https?:\/\/([^\/]*\.)?chicago-kou3c7e58\.blogspot\.com -https?:\/\/([^\/]*\.)?chick-gay-kissing\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?chicken-i66t8z76\.blogspot\.com -https?:\/\/([^\/]*\.)?chico-myg8bv\.blogspot\.com -https?:\/\/([^\/]*\.)?chidneuer\.frbb\.net -https?:\/\/([^\/]*\.)?chidronrac\.ephpbb\.com -https?:\/\/([^\/]*\.)?chidronrec\.dynamicforum\.net -https?:\/\/([^\/]*\.)?chiefs-oob\.blogspot\.com -https?:\/\/([^\/]*\.)?chilacna\.td\.pl -https?:\/\/([^\/]*\.)?child-leg-pain\.medved\.od\.ua -https?:\/\/([^\/]*\.)?chilton-b82sebrrue\.blogspot\.com -https?:\/\/([^\/]*\.)?chimp-cu4gvwsceg\.blogspot\.com -https?:\/\/([^\/]*\.)?china--magnet\.com -https?:\/\/([^\/]*\.)?china-dwcuzqft6\.blogspot\.com -https?:\/\/([^\/]*\.)?china-made-door\.com\.cn -https?:\/\/([^\/]*\.)?china01\.52blog\.net -https?:\/\/([^\/]*\.)?china02\.52blog\.net -https?:\/\/([^\/]*\.)?china1\.52blog\.net -https?:\/\/([^\/]*\.)?china1\.yculblog\.com -https?:\/\/([^\/]*\.)?china2\.52blog\.net -https?:\/\/([^\/]*\.)?china2\.yculblog\.com -https?:\/\/([^\/]*\.)?china3\.yculblog\.com -https?:\/\/([^\/]*\.)?chinacarcenter\.net -https?:\/\/([^\/]*\.)?chinacid\.com -https?:\/\/([^\/]*\.)?chinafoo\.com -https?:\/\/([^\/]*\.)?chinafurnace\.net -https?:\/\/([^\/]*\.)?chinakj\.net -https?:\/\/([^\/]*\.)?chinalhcz\.com -https?:\/\/([^\/]*\.)?chinaprojectors\.com -https?:\/\/([^\/]*\.)?chinatranslation\.net -https?:\/\/([^\/]*\.)?chinayoujiu\.com -https?:\/\/([^\/]*\.)?chinese-google\.com -https?:\/\/([^\/]*\.)?chineseaids\.com -https?:\/\/([^\/]*\.)?chineseaids\.net -https?:\/\/([^\/]*\.)?chinesezhouyi\.com -https?:\/\/([^\/]*\.)?chip-thz\.blogspot\.com -https?:\/\/([^\/]*\.)?chipper-eusa\.blogspot\.com -https?:\/\/([^\/]*\.)?chippewa-work-boot\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?chiquita-wqok0t741\.blogspot\.com -https?:\/\/([^\/]*\.)?chiricc4t\.zj\.pl -https?:\/\/([^\/]*\.)?chiricdel\.fr-bb\.com -https?:\/\/([^\/]*\.)?chitr\.discutforum\.com -https?:\/\/([^\/]*\.)?chizelc\.goodforum\.net -https?:\/\/([^\/]*\.)?chizelc\.grafbb\.com -https?:\/\/([^\/]*\.)?chizelno\.cultureforum\.net -https?:\/\/([^\/]*\.)?chkawai\.cn -https?:\/\/([^\/]*\.)?chocolat-g4\.blogspot\.com -https?:\/\/([^\/]*\.)?chocolate\.my10gb\.com -https?:\/\/([^\/]*\.)?chongdianqi\.dzsc\.com -https?:\/\/([^\/]*\.)?chops-hg47n04tvi\.blogspot\.com -https?:\/\/([^\/]*\.)?choudoufu\.com -https?:\/\/([^\/]*\.)?chris-ks6u6dj\.blogspot\.com -https?:\/\/([^\/]*\.)?chrissy-oyo8z\.blogspot\.com -https?:\/\/([^\/]*\.)?christ-acczbi1t\.blogspot\.com -https?:\/\/([^\/]*\.)?christen-bttdc0kn\.blogspot\.com -https?:\/\/([^\/]*\.)?christeta\.com -https?:\/\/([^\/]*\.)?christia-ccf2e6\.blogspot\.com -https?:\/\/([^\/]*\.)?christiaan-dvb\.blogspot\.com -https?:\/\/([^\/]*\.)?christianj-t3e1j3\.blogspot\.com -https?:\/\/([^\/]*\.)?christin-ee1qjx\.blogspot\.com -https?:\/\/([^\/]*\.)?christina-aguilera-pic\.blogspot\.com -https?:\/\/([^\/]*\.)?christina-wf\.blogspot\.com -https?:\/\/([^\/]*\.)?christine-rgosvndiqw\.blogspot\.com -https?:\/\/([^\/]*\.)?christoffe-g4e\.blogspot\.com -https?:\/\/([^\/]*\.)?christop-hqhff\.blogspot\.com -https?:\/\/([^\/]*\.)?christy-kflb274n\.blogspot\.com -https?:\/\/([^\/]*\.)?chrome-it8j\.blogspot\.com -https?:\/\/([^\/]*\.)?chrykne\.info -https?:\/\/([^\/]*\.)?chrystian-mgxw3jyfb1\.blogspot\.com -https?:\/\/([^\/]*\.)?chuanganqi\.dzsc\.com -https?:\/\/([^\/]*\.)?chubby-bear-pic\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?chubby-chick\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?chubby-cum\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?chubby-teens-tus\.blogspot\.com -https?:\/\/([^\/]*\.)?chuck-oh\.blogspot\.com -https?:\/\/([^\/]*\.)?chucky-aklnscme\.blogspot\.com -https?:\/\/([^\/]*\.)?chulyt\.com -https?:\/\/([^\/]*\.)?church-b0w4\.blogspot\.com -https?:\/\/([^\/]*\.)?chuvak-org\.blogspot\.com -https?:\/\/([^\/]*\.)?chvpqa7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?chyna-c2\.blogspot\.com -https?:\/\/([^\/]*\.)?ci-video-pornograficos-download\.blogspot\.com -https?:\/\/([^\/]*\.)?cialis-for-sale\.com -https?:\/\/([^\/]*\.)?cialis-ok-1\.blogspot\.com -https?:\/\/([^\/]*\.)?cialis-online\.presteert\.nl -https?:\/\/([^\/]*\.)?cialis-pharma\.tripod\.com -https?:\/\/([^\/]*\.)?cialis-soft-tabs\.com -https?:\/\/([^\/]*\.)?cialis\.1\.p2l\.info -https?:\/\/([^\/]*\.)?cialis\.esguay\.com -https?:\/\/([^\/]*\.)?cialis\.fws1\.com -https?:\/\/([^\/]*\.)?cialis\.goodpharm\.info -https?:\/\/([^\/]*\.)?cialis\.page\.tl -https?:\/\/([^\/]*\.)?cialis\.presteert\.nl -https?:\/\/([^\/]*\.)?cialis\.rx4\.org -https?:\/\/([^\/]*\.)?cialis\.seesaa\.net -https?:\/\/([^\/]*\.)?cialis\.skocz\.net -https?:\/\/([^\/]*\.)?cialises\.us\.tf -https?:\/\/([^\/]*\.)?cialisjiq\.blogspot\.com -https?:\/\/([^\/]*\.)?cialispills\.blog\.hr -https?:\/\/([^\/]*\.)?cialisrx\.weboficial\.com -https?:\/\/([^\/]*\.)?cialisx\.host-page\.com -https?:\/\/([^\/]*\.)?ciara-d0\.blogspot\.com -https?:\/\/([^\/]*\.)?cierra-t1f0hy\.blogspot\.com -https?:\/\/([^\/]*\.)?cigar-ekelo\.blogspot\.com -https?:\/\/([^\/]*\.)?cigarettes-smoking-online\.com -https?:\/\/([^\/]*\.)?cigarettes\.4\.pl -https?:\/\/([^\/]*\.)?cilmer\.com -https?:\/\/([^\/]*\.)?cinast\.com -https?:\/\/([^\/]*\.)?cincydj\.ifrance\.com -https?:\/\/([^\/]*\.)?cinder-w6\.blogspot\.com -https?:\/\/([^\/]*\.)?cindi-ruo8\.blogspot\.com -https?:\/\/([^\/]*\.)?cindy-gdhs2i21u6\.blogspot\.com -https?:\/\/([^\/]*\.)?cinem4\.com -https?:\/\/([^\/]*\.)?cingularringtones\.269g\.net -https?:\/\/([^\/]*\.)?ciplactin\.tlg\.pl -https?:\/\/([^\/]*\.)?ciprobuy\.hop\.to -https?:\/\/([^\/]*\.)?ciprobuycheap\.firstpage\.de -https?:\/\/([^\/]*\.)?ciprobuygeneric\.move\.to -https?:\/\/([^\/]*\.)?ciprocheap\.dive\.to -https?:\/\/([^\/]*\.)?ciprofloxacin\.xwiki\.com -https?:\/\/([^\/]*\.)?ciprogeneric\.i\.am -https?:\/\/([^\/]*\.)?citdokcna\.dynamicbb\.com -https?:\/\/([^\/]*\.)?citeccit\.forumculture\.net -https?:\/\/([^\/]*\.)?citpocit\.dynamicforum\.net -https?:\/\/([^\/]*\.)?civisi\.com -https?:\/\/([^\/]*\.)?cixingcailiao\.dzsc\.com -https?:\/\/([^\/]*\.)?cjhx6\.szm\.sk -https?:\/\/([^\/]*\.)?ckalv\.szm\.sk -https?:\/\/([^\/]*\.)?ckfhhw4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ckqabl1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?claca\.blogcu\.com -https?:\/\/([^\/]*\.)?claire-k6kkha\.blogspot\.com -https?:\/\/([^\/]*\.)?clancy-i1ib\.blogspot\.com -https?:\/\/([^\/]*\.)?clara-mj6ts\.blogspot\.com -https?:\/\/([^\/]*\.)?clarissa-o14r\.blogspot\.com -https?:\/\/([^\/]*\.)?clark-asa0i3mfvr\.blogspot\.com -https?:\/\/([^\/]*\.)?classic-porn-clip-zoneykt\.blogspot\.com -https?:\/\/([^\/]*\.)?claude-blw\.blogspot\.com -https?:\/\/([^\/]*\.)?claudia-c7ut8jj4\.blogspot\.com -https?:\/\/([^\/]*\.)?clay-e-facial-mask-vitamin\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cleaner-ddiggwqy1t\.blogspot\.com -https?:\/\/([^\/]*\.)?clearmp3\.net -https?:\/\/([^\/]*\.)?clerk\.lir\.dk -https?:\/\/([^\/]*\.)?cletoac\.lolbb\.com -https?:\/\/([^\/]*\.)?cleveland-txjimr\.blogspot\.com -https?:\/\/([^\/]*\.)?clickhere2\.net -https?:\/\/([^\/]*\.)?clior\.graphforum\.com -https?:\/\/([^\/]*\.)?clip-ebony-lesbian-porn\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?clip-ebony-porn\.medved\.od\.ua -https?:\/\/([^\/]*\.)?clip-free-hand-job-movie-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?clip-free-porn-psp-newsy66\.blogspot\.com -https?:\/\/([^\/]*\.)?clip-hentai\.dreamsuit\.net -https?:\/\/([^\/]*\.)?clip-hunter-porn-blogctv\.blogspot\.com -https?:\/\/([^\/]*\.)?clip-hunter-porn-zone8y6\.blogspot\.com -https?:\/\/([^\/]*\.)?clip-malay-porn-newsgrq\.blogspot\.com -https?:\/\/([^\/]*\.)?clip-malay-porn-zone1w3\.blogspot\.com -https?:\/\/([^\/]*\.)?clipgalaxy-com-i4z645\.blogspot\.com -https?:\/\/([^\/]*\.)?clipgalaxy-com-io8ncz\.blogspot\.com -https?:\/\/([^\/]*\.)?clipper-e2buyg\.blogspot\.com -https?:\/\/([^\/]*\.)?clirol\.dl\.pl -https?:\/\/([^\/]*\.)?clit-huge-real\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?cllivers\.dl\.pl -https?:\/\/([^\/]*\.)?clobetasol-propionate\.tlg\.pl -https?:\/\/([^\/]*\.)?cloclo-w046r\.blogspot\.com -https?:\/\/([^\/]*\.)?clonazepam\.us\.tf -https?:\/\/([^\/]*\.)?clonazepamscz\.blogspot\.com -https?:\/\/([^\/]*\.)?clonazepamuej\.blogspot\.com -https?:\/\/([^\/]*\.)?clonsex\.info -https?:\/\/([^\/]*\.)?closeout-womens-rain-boot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?clothes-newborns\.loretic\.be -https?:\/\/([^\/]*\.)?cloudydayshadow\.blogspot\.com -https?:\/\/([^\/]*\.)?clover-rs04\.blogspot\.com -https?:\/\/([^\/]*\.)?clowns-gloi\.blogspot\.com -https?:\/\/([^\/]*\.)?clu\.cn -https?:\/\/([^\/]*\.)?clumsy-hl0fwl1k\.blogspot\.com -https?:\/\/([^\/]*\.)?cluster-k4ovd06ibi\.blogspot\.com -https?:\/\/([^\/]*\.)?clwilbur\.ifrance\.com -https?:\/\/([^\/]*\.)?clyaod2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cmauq\.com -https?:\/\/([^\/]*\.)?cmnanwe\.com -https?:\/\/([^\/]*\.)?cmsrt\.szm\.sk -https?:\/\/([^\/]*\.)?cmubroadway\.blogspot\.com -https?:\/\/([^\/]*\.)?cnaalget\.graphforum\.com -https?:\/\/([^\/]*\.)?cnaalget\.highforum\.net -https?:\/\/([^\/]*\.)?cnac4t-or\.bbgraf\.com -https?:\/\/([^\/]*\.)?cnadel6or6\.dl\.pl -https?:\/\/([^\/]*\.)?cnaeltbo\.discutforum\.com -https?:\/\/([^\/]*\.)?cnaeltdron\.bb-fr\.com -https?:\/\/([^\/]*\.)?cnapasou\.graphforum\.com -https?:\/\/([^\/]*\.)?cnatral\.xa\.pl -https?:\/\/([^\/]*\.)?cnbess\.com -https?:\/\/([^\/]*\.)?cnbf2\.szm\.sk -https?:\/\/([^\/]*\.)?cncarcenter\.com -https?:\/\/([^\/]*\.)?cnfibernet\.com\.cn -https?:\/\/([^\/]*\.)?cnmarketingresearch\.com -https?:\/\/([^\/]*\.)?cnplayhome\.cn -https?:\/\/([^\/]*\.)?cnticket\.net -https?:\/\/([^\/]*\.)?co-alf\.blogspot\.com -https?:\/\/([^\/]*\.)?co-video-de-sexo-gratis-download\.blogspot\.com -https?:\/\/([^\/]*\.)?co6or6bo\.dl\.pl -https?:\/\/([^\/]*\.)?coacdar\.bbfr\.net -https?:\/\/([^\/]*\.)?coachescorner\.com -https?:\/\/([^\/]*\.)?cock-and-ball-punishment\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cock-deep-huge-throat\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cock-love-teen\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?cock-petite-sucker\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?cock-roaches-picture\.medved\.od\.ua -https?:\/\/([^\/]*\.)?cock-sexy-sucker\.medved\.od\.ua -https?:\/\/([^\/]*\.)?cock-story-sucker\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cocnacna\.dl\.pl -https?:\/\/([^\/]*\.)?cocoel\.lightbb\.com -https?:\/\/([^\/]*\.)?coconel\.frbb\.net -https?:\/\/([^\/]*\.)?codarget\.dl\.pl -https?:\/\/([^\/]*\.)?codigodor\.blogspot\.com -https?:\/\/([^\/]*\.)?coiqen\.com -https?:\/\/([^\/]*\.)?cold-hard-bitch-lyric\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?college-fucking-video-free\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?college1-degree\.boom\.ru -https?:\/\/([^\/]*\.)?college1degree\.chat\.ru -https?:\/\/([^\/]*\.)?college1degree1p\.chat\.ru -https?:\/\/([^\/]*\.)?colodom\.frbb\.net -https?:\/\/([^\/]*\.)?colorado\.edu -https?:\/\/([^\/]*\.)?coloradomortgage-x\.com -https?:\/\/([^\/]*\.)?com-dick-fick-n-suck\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?comic-fetish-info-remember\.medved\.od\.ua -https?:\/\/([^\/]*\.)?comic-hardcore-info-remember-sex\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?comicvmarriage\.spycams777\.com -https?:\/\/([^\/]*\.)?commercialleaseonline\.info -https?:\/\/([^\/]*\.)?communicationagency\.com -https?:\/\/([^\/]*\.)?comontr\.bb-fr\.com -https?:\/\/([^\/]*\.)?companyforyou\.com -https?:\/\/([^\/]*\.)?competitio\.ifrance\.com -https?:\/\/([^\/]*\.)?computer-desk\.fromru\.com -https?:\/\/([^\/]*\.)?computer1degree\.chat\.ru -https?:\/\/([^\/]*\.)?computerxchange\.com -https?:\/\/([^\/]*\.)?comradealtmer\.blogspot\.com -https?:\/\/([^\/]*\.)?condition-skin\.newmail\.ru -https?:\/\/([^\/]*\.)?condition_skin\.chat\.ru -https?:\/\/([^\/]*\.)?condom-delivered-free-free-uk\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?condom-picture-penis\.protime\.in\.ua -https?:\/\/([^\/]*\.)?connecticutmortgage-x\.com -https?:\/\/([^\/]*\.)?conor2k\.007webpro\.com -https?:\/\/([^\/]*\.)?consistmay\.tripod\.com -https?:\/\/([^\/]*\.)?consolidation-loan-studentqdl\.blogspot\.com -https?:\/\/([^\/]*\.)?consultanthub\.com -https?:\/\/([^\/]*\.)?cooking-crazy\.com -https?:\/\/([^\/]*\.)?cool-mp3\.biz -https?:\/\/([^\/]*\.)?coolhost\.biz -https?:\/\/([^\/]*\.)?copasleto\.zj\.pl -https?:\/\/([^\/]*\.)?copyok\.net -https?:\/\/([^\/]*\.)?coricidin\.tlg\.pl -https?:\/\/([^\/]*\.)?cornut\.ipupdater\.com -https?:\/\/([^\/]*\.)?coro-aaliyah\.blogspot\.com -https?:\/\/([^\/]*\.)?corporategifts-guide\.com -https?:\/\/([^\/]*\.)?corsv\.fr33webhost\.com -https?:\/\/([^\/]*\.)?cortech\.cn -https?:\/\/([^\/]*\.)?cositbo\.bbgraf\.com -https?:\/\/([^\/]*\.)?cosmiboe\.forumzen\.com -https?:\/\/([^\/]*\.)?cosmicray\.umd\.edu -https?:\/\/([^\/]*\.)?coswishe\.dl\.pl -https?:\/\/([^\/]*\.)?cotton-gloves\.loretic\.be -https?:\/\/([^\/]*\.)?counciloflight\.com -https?:\/\/([^\/]*\.)?couple-fucking-photo\.medved\.od\.ua -https?:\/\/([^\/]*\.)?couple-kissing-pic\.protime\.in\.ua -https?:\/\/([^\/]*\.)?couponmountain\.com -https?:\/\/([^\/]*\.)?courses\.csusm\.edu -https?:\/\/([^\/]*\.)?courtinfroggie\.blogspot\.com -https?:\/\/([^\/]*\.)?covarou\.su\.pl -https?:\/\/([^\/]*\.)?cowei\.net -https?:\/\/([^\/]*\.)?cowlist-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?cozaar\.4\.pl -https?:\/\/([^\/]*\.)?cozaarbuy\.hello\.to -https?:\/\/([^\/]*\.)?cozaarcheap\.mysite\.de -https?:\/\/([^\/]*\.)?cozaarcheapgeneric\.warp9\.to -https?:\/\/([^\/]*\.)?cozaargeneric\.everything\.at -https?:\/\/([^\/]*\.)?cozaargenericcheap\.dive\.to -https?:\/\/([^\/]*\.)?cpayscom\.xwiki\.com -https?:\/\/([^\/]*\.)?cpkna\.szm\.sk -https?:\/\/([^\/]*\.)?cpsyy\.fr33webhost\.com -https?:\/\/([^\/]*\.)?cpyngke\.com -https?:\/\/([^\/]*\.)?cqbhn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cqfmz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cqjbjx1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cr4ix7\.com -https?:\/\/([^\/]*\.)?crabs\.isgre\.at -https?:\/\/([^\/]*\.)?cramp-hand-leg\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?crashdome\.info -https?:\/\/([^\/]*\.)?crazyvirgin\.info -https?:\/\/([^\/]*\.)?crbackus\.dl\.pl -https?:\/\/([^\/]*\.)?crcather\.dl\.pl -https?:\/\/([^\/]*\.)?cream-facial-pie\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cream-hairy-mature-movie-pie-pussy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?creampie\.coz\.in -https?:\/\/([^\/]*\.)?creating-a-boot-cd\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?credit-dreams\.com -https?:\/\/([^\/]*\.)?creditcards-x\.com -https?:\/\/([^\/]*\.)?credoninc\.com -https?:\/\/([^\/]*\.)?crestor-rx\.one2you\.info -https?:\/\/([^\/]*\.)?crestor\.dynalias\.net -https?:\/\/([^\/]*\.)?criminal-j-degre\.boom\.ru -https?:\/\/([^\/]*\.)?crimson-teens\.freeinsite\.net -https?:\/\/([^\/]*\.)?cristal-fenix\.isuisse\.com -https?:\/\/([^\/]*\.)?crookedscud\.myfreewebs\.net -https?:\/\/([^\/]*\.)?crossed-leg-gallery\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?crossed-leg-short-skirt-stocking-top\.protime\.in\.ua -https?:\/\/([^\/]*\.)?crrenee\.dl\.pl -https?:\/\/([^\/]*\.)?crsundke\.dl\.pl -https?:\/\/([^\/]*\.)?cruise-guide\.org -https?:\/\/([^\/]*\.)?cruise-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?crzvh\.szm\.sk -https?:\/\/([^\/]*\.)?cscla\.net -https?:\/\/([^\/]*\.)?cscserver\.cc\.edu -https?:\/\/([^\/]*\.)?csitdom\.bbgraf\.com -https?:\/\/([^\/]*\.)?csmwui11\.com -https?:\/\/([^\/]*\.)?csosandbox\.clemson\.edu -https?:\/\/([^\/]*\.)?ctdq0\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ctl\.csudh\.edu -https?:\/\/([^\/]*\.)?ctusxc4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?cubaka\.yi\.org -https?:\/\/([^\/]*\.)?cufgq\.szm\.sk -https?:\/\/([^\/]*\.)?cuicui\.monblog\.ch -https?:\/\/([^\/]*\.)?cuiugcg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?culinary-school\.newmail\.ru -https?:\/\/([^\/]*\.)?culinary1school\.chat\.ru -https?:\/\/([^\/]*\.)?cum-drenched-pantie\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-drink-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-dvd-face-private-private-rip-vcd\.protime\.in\.ua -https?:\/\/([^\/]*\.)?cum-ebony-face\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?cum-face-asian\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?cum-face-pic\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-face-picture\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-facial-messy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?cum-facial-video-free-clip\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cum-filled-pussy-picture\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-kiss-lick-shoes-suck-worship\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cum-mouth-ebony\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cum-nurse-sex-shot\.protime\.in\.ua -https?:\/\/([^\/]*\.)?cum-se-face-sex\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?cum-shot-movie\.dreamsuit\.net -https?:\/\/([^\/]*\.)?cum-swallow-vids\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?cuola\.goodforum\.net -https?:\/\/([^\/]*\.)?cut-xmeup-com\.blogspot\.com -https?:\/\/([^\/]*\.)?cute-ebony-girl\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?cute-girldzy\.blogspot\.com -https?:\/\/([^\/]*\.)?cutgetolo\.zikforum\.com -https?:\/\/([^\/]*\.)?cutvili\.winnerforum\.net -https?:\/\/([^\/]*\.)?cvep2\.szm\.sk -https?:\/\/([^\/]*\.)?cvipm\.com -https?:\/\/([^\/]*\.)?cxolt\.szm\.sk -https?:\/\/([^\/]*\.)?cyberlinx\.us -https?:\/\/([^\/]*\.)?cycleworldsuzuki\.info -https?:\/\/([^\/]*\.)?cyclobenzaprine\.1\.p2l\.info -https?:\/\/([^\/]*\.)?cysrf\.szm\.sk -https?:\/\/([^\/]*\.)?cytonrok\.forumculture\.net -https?:\/\/([^\/]*\.)?czelvar\.su\.pl -https?:\/\/([^\/]*\.)?czis0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?d-z-free-lesbian-movie-h\.blogspot\.com -https?:\/\/([^\/]*\.)?daddy-bear-gay\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?daddy-long-leg-venom\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?daily-porn-clip-news0we\.blogspot\.com -https?:\/\/([^\/]*\.)?dailybasis-com-cky8ax\.blogspot\.com -https?:\/\/([^\/]*\.)?dami3\.com -https?:\/\/([^\/]*\.)?danazol\.4\.pl -https?:\/\/([^\/]*\.)?dance-instruction\.lkerfocu\.be -https?:\/\/([^\/]*\.)?danga4ka\.blogspot\.com -https?:\/\/([^\/]*\.)?dansmovies-com-mu2ywho24d\.blogspot\.com -https?:\/\/([^\/]*\.)?daractr\.goodbb\.net -https?:\/\/([^\/]*\.)?darboboc\.dl\.pl -https?:\/\/([^\/]*\.)?darboctroc\.dl\.pl -https?:\/\/([^\/]*\.)?darcnaec\.dynamicbb\.com -https?:\/\/([^\/]*\.)?darcoca\.dl\.pl -https?:\/\/([^\/]*\.)?dardomcna\.blogcu\.com -https?:\/\/([^\/]*\.)?dardomdom\.darkbb\.com -https?:\/\/([^\/]*\.)?dardomzel\.blogcu\.com -https?:\/\/([^\/]*\.)?dare-poker\.com -https?:\/\/([^\/]*\.)?darelttr\.dl\.pl -https?:\/\/([^\/]*\.)?dargetou\.darkbb\.com -https?:\/\/([^\/]*\.)?darladom\.td\.pl -https?:\/\/([^\/]*\.)?darlala\.winnerforum\.net -https?:\/\/([^\/]*\.)?darlina-a1vds\.blogspot\.com -https?:\/\/([^\/]*\.)?darlina-akp4\.blogspot\.com -https?:\/\/([^\/]*\.)?darlina-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?darlina-tcifizmx\.blogspot\.com -https?:\/\/([^\/]*\.)?darmonrol\.zj\.pl -https?:\/\/([^\/]*\.)?darricer\.fr-bb\.com -https?:\/\/([^\/]*\.)?darzeltroc\.dl\.pl -https?:\/\/([^\/]*\.)?dasepluv\.dl\.pl -https?:\/\/([^\/]*\.)?dashulya\.blogspot\.com -https?:\/\/([^\/]*\.)?dastino\.republika\.pl -https?:\/\/([^\/]*\.)?data-mining\.massioni\.be -https?:\/\/([^\/]*\.)?datangid\.com -https?:\/\/([^\/]*\.)?datasol\.org -https?:\/\/([^\/]*\.)?dating-advice\.sexnation\.info -https?:\/\/([^\/]*\.)?dating-direct\.sexnation\.info -https?:\/\/([^\/]*\.)?dating\.sexnation\.info -https?:\/\/([^\/]*\.)?dave-hollister-ringtoneezm\.blogspot\.com -https?:\/\/([^\/]*\.)?dave-hollister-ringtonefoi\.blogspot\.com -https?:\/\/([^\/]*\.)?dave-hollister-ringtonewqs\.blogspot\.com -https?:\/\/([^\/]*\.)?davejackson\.com -https?:\/\/([^\/]*\.)?davte\.info -https?:\/\/([^\/]*\.)?dawsonanddadrealty\.com -https?:\/\/([^\/]*\.)?dayzve4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dbxbqb7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dc-escort-gay\.medved\.od\.ua -https?:\/\/([^\/]*\.)?dcuoo\.szm\.sk -https?:\/\/([^\/]*\.)?dcx\.org\.ua -https?:\/\/([^\/]*\.)?ddfz1\.szm\.sk -https?:\/\/([^\/]*\.)?ddlive\.info -https?:\/\/([^\/]*\.)?ddovj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ddpb6\.szm\.sk -https?:\/\/([^\/]*\.)?de-foto-gay-gratis-negros\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?dead-sea-product\.com -https?:\/\/([^\/]*\.)?deadsex\.info -https?:\/\/([^\/]*\.)?deadums\.blogspot\.com -https?:\/\/([^\/]*\.)?debk6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?debt-consolidation-care\.com -https?:\/\/([^\/]*\.)?debt-consolidation\.dd\.vg -https?:\/\/([^\/]*\.)?debtconsolidation-today\.com -https?:\/\/([^\/]*\.)?deepthroat\.coz\.in -https?:\/\/([^\/]*\.)?deerdeji\.forumzen\.com -https?:\/\/([^\/]*\.)?defacialize-com-td32\.blogspot\.com -https?:\/\/([^\/]*\.)?defi-adrian\.blogspot\.com -https?:\/\/([^\/]*\.)?degree-program\.hotmail\.ru -https?:\/\/([^\/]*\.)?degree2program\.chat\.ru -https?:\/\/([^\/]*\.)?dejablu503\.50webs\.org -https?:\/\/([^\/]*\.)?dela88\.com -https?:\/\/([^\/]*\.)?delacmon\.discutforum\.com -https?:\/\/([^\/]*\.)?delawaremortgage-x\.com -https?:\/\/([^\/]*\.)?delbocer\.dl\.pl -https?:\/\/([^\/]*\.)?delcnacna\.lolbb\.com -https?:\/\/([^\/]*\.)?delletopas\.su\.pl -https?:\/\/([^\/]*\.)?delliric\.dl\.pl -https?:\/\/([^\/]*\.)?delordel\.blogcu\.com -https?:\/\/([^\/]*\.)?delricchi\.goodforum\.net -https?:\/\/([^\/]*\.)?delricchi\.grafbb\.com -https?:\/\/([^\/]*\.)?delricou\.dl\.pl -https?:\/\/([^\/]*\.)?delserch\.com -https?:\/\/([^\/]*\.)?deltasone\.4\.pl -https?:\/\/([^\/]*\.)?deltnecca\.goodbb\.net -https?:\/\/([^\/]*\.)?delzelleto\.dl\.pl -https?:\/\/([^\/]*\.)?demingpower\.com -https?:\/\/([^\/]*\.)?denocel\.blogcu\.com -https?:\/\/([^\/]*\.)?dental-guide\.org -https?:\/\/([^\/]*\.)?dental\.gulfcoast\.edu -https?:\/\/([^\/]*\.)?dentalplans-x\.com -https?:\/\/([^\/]*\.)?deomnoou\.jconserv\.net -https?:\/\/([^\/]*\.)?depamu\.com -https?:\/\/([^\/]*\.)?depstore\.milan\.jp -https?:\/\/([^\/]*\.)?derast\.com -https?:\/\/([^\/]*\.)?derimc\.com -https?:\/\/([^\/]*\.)?description\.hostonmars\.com -https?:\/\/([^\/]*\.)?desent\.8tt\.org -https?:\/\/([^\/]*\.)?design4italy\.org -https?:\/\/([^\/]*\.)?designatchina\.com -https?:\/\/([^\/]*\.)?designer-purses\.blogspot\.com -https?:\/\/([^\/]*\.)?desk-teen-d\.blogspot\.com -https?:\/\/([^\/]*\.)?desyrel\.4\.pl -https?:\/\/([^\/]*\.)?detriot\.dtdns\.net -https?:\/\/([^\/]*\.)?deutschland-heute\.de\.tl -https?:\/\/([^\/]*\.)?devine-friend-hot-mom\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?dewall\.info -https?:\/\/([^\/]*\.)?dg\.188info\.com -https?:\/\/([^\/]*\.)?dgvy5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dial3\.szm\.sk -https?:\/\/([^\/]*\.)?diamond73\.50webs\.com -https?:\/\/([^\/]*\.)?dianchi\.dzsc\.com -https?:\/\/([^\/]*\.)?diandongji\.dzsc\.com -https?:\/\/([^\/]*\.)?dianganqi\.dzsc\.com -https?:\/\/([^\/]*\.)?dianluban\.dzsc\.com -https?:\/\/([^\/]*\.)?dianre\.dzsc\.com -https?:\/\/([^\/]*\.)?dianrong\.dzsc\.com -https?:\/\/([^\/]*\.)?dianweiqi\.dzsc\.com -https?:\/\/([^\/]*\.)?dianyuan\.dzsc\.com -https?:\/\/([^\/]*\.)?dianziguan\.dzsc\.com -https?:\/\/([^\/]*\.)?dianzu\.dzsc\.com -https?:\/\/([^\/]*\.)?diazepam\.47\.pl -https?:\/\/([^\/]*\.)?diazepam\.skocz\.net -https?:\/\/([^\/]*\.)?diazepam2\.forospace\.com -https?:\/\/([^\/]*\.)?diazepams\.ru\.tf -https?:\/\/([^\/]*\.)?dick-butkus-football-player\.protime\.in\.ua -https?:\/\/([^\/]*\.)?dick-donkey-sucking-woman\.protime\.in\.ua -https?:\/\/([^\/]*\.)?dick-fat-in-pussy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?dick-head-john-kerry\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?dick-hot-man-video\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?dicks-sporting-goods-web-site\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?didrex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?didrex\.int\.tf -https?:\/\/([^\/]*\.)?diebart\.asp2\.cz -https?:\/\/([^\/]*\.)?diesite\.com -https?:\/\/([^\/]*\.)?diet-pills-phentermine-pill-buy-cheap-online\.com -https?:\/\/([^\/]*\.)?diet-pills911\.com -https?:\/\/([^\/]*\.)?diffusersudan\.org -https?:\/\/([^\/]*\.)?diflucanbuycheap\.top\.ms -https?:\/\/([^\/]*\.)?diflucancheapbuy\.drop\.to -https?:\/\/([^\/]*\.)?diflucancheapgeneric\.notrix\.net -https?:\/\/([^\/]*\.)?diflucangeneric\.hey\.to -https?:\/\/([^\/]*\.)?diflucangenericbuy\.hp\.ms -https?:\/\/([^\/]*\.)?digilander\.libero\.it -https?:\/\/([^\/]*\.)?digital-glamour\.com -https?:\/\/([^\/]*\.)?digitalpoimt\.com -https?:\/\/([^\/]*\.)?dildo-extreme-free-movie\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?dildo-in-guys-ass\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?dilhbi7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dionysios-r\.blogspot\.com -https?:\/\/([^\/]*\.)?dir\.opank\.com -https?:\/\/([^\/]*\.)?dirare\.com -https?:\/\/([^\/]*\.)?directonlineguide\.com -https?:\/\/([^\/]*\.)?dirty-blonde-teen\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?dirty-ru-lenta\.blogspot\.com -https?:\/\/([^\/]*\.)?dirtyrhino-com-iy5ps48s\.blogspot\.com -https?:\/\/([^\/]*\.)?dirtyrhino-com-rjrotse3\.blogspot\.com -https?:\/\/([^\/]*\.)?discasegeta\.0moola\.com -https?:\/\/([^\/]*\.)?discontinued-chanel-lipstick\.protime\.in\.ua -https?:\/\/([^\/]*\.)?discount-femina-lingerie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?discount-phentermine\.health-livening\.com -https?:\/\/([^\/]*\.)?discount-phentermine\.presteert\.nl -https?:\/\/([^\/]*\.)?discounted-medications\.com -https?:\/\/([^\/]*\.)?discountphentermine\.livelog\.com -https?:\/\/([^\/]*\.)?discussions\.csbsju\.edu -https?:\/\/([^\/]*\.)?dissected-voice\.blogspot\.com -https?:\/\/([^\/]*\.)?diuvw\.szm\.sk -https?:\/\/([^\/]*\.)?diva-58\.site\.voila\.fr -https?:\/\/([^\/]*\.)?divtab\.com -https?:\/\/([^\/]*\.)?dixe-alayna\.blogspot\.com -https?:\/\/([^\/]*\.)?dixiecuties-com-av\.blogspot\.com -https?:\/\/([^\/]*\.)?dixiecuties-com-wpf1g2a\.blogspot\.com -https?:\/\/([^\/]*\.)?dka2e\.nokedem\.com -https?:\/\/([^\/]*\.)?dlaners\.blogspot\.com -https?:\/\/([^\/]*\.)?dljs5\.szm\.sk -https?:\/\/([^\/]*\.)?dltz4\.szm\.sk -https?:\/\/([^\/]*\.)?dlwlh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dlzgn\.szm\.sk -https?:\/\/([^\/]*\.)?dm-cqsf\.cn -https?:\/\/([^\/]*\.)?dm-soft\.com -https?:\/\/([^\/]*\.)?dmnft\.net -https?:\/\/([^\/]*\.)?dnk-design\.com -https?:\/\/([^\/]*\.)?do-ali\.blogspot\.com -https?:\/\/([^\/]*\.)?do-hot-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?doctorpinkerton\.ifrance\.com -https?:\/\/([^\/]*\.)?doenertreff\.de -https?:\/\/([^\/]*\.)?dogdead\.50webs\.com -https?:\/\/([^\/]*\.)?dogider-big-tit-round-a-p\.blogspot\.com -https?:\/\/([^\/]*\.)?dogzilla30\.blogspot\.com -https?:\/\/([^\/]*\.)?dohr\.joolo\.com -https?:\/\/([^\/]*\.)?dokrichi\.forumculture\.net -https?:\/\/([^\/]*\.)?dokuno-porn-clip\.blogspot\.com -https?:\/\/([^\/]*\.)?dollmovies-com-e7lqyhq\.blogspot\.com -https?:\/\/([^\/]*\.)?dom-or-dron\.jc\.pl -https?:\/\/([^\/]*\.)?domdronno\.xa\.pl -https?:\/\/([^\/]*\.)?dome-ebony-foot-herbies\.protime\.in\.ua -https?:\/\/([^\/]*\.)?domelc4t\.dl\.pl -https?:\/\/([^\/]*\.)?domest1co\.info -https?:\/\/([^\/]*\.)?domestic0\.info -https?:\/\/([^\/]*\.)?domnoor\.blogcu\.com -https?:\/\/([^\/]*\.)?domorca\.darkbb\.com -https?:\/\/([^\/]*\.)?dompasvi\.alkablog\.com -https?:\/\/([^\/]*\.)?domrelou\.discutfree\.com -https?:\/\/([^\/]*\.)?domtadom\.blogcu\.com -https?:\/\/([^\/]*\.)?domtael\.dl\.pl -https?:\/\/([^\/]*\.)?don-search\.com -https?:\/\/([^\/]*\.)?dong-sheng\.com -https?:\/\/([^\/]*\.)?dono-alaska\.blogspot\.com -https?:\/\/([^\/]*\.)?doodlepets\.net -https?:\/\/([^\/]*\.)?doormat\.ncedly\.be -https?:\/\/([^\/]*\.)?dorank\.com -https?:\/\/([^\/]*\.)?dorintop\.9999mb\.com -https?:\/\/([^\/]*\.)?dotbusinessbroker\.info -https?:\/\/([^\/]*\.)?dottorstranamore\.com -https?:\/\/([^\/]*\.)?dotwirelessinternet\.info -https?:\/\/([^\/]*\.)?double-anal-insertion\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?doubledrilled-com-ru\.blogspot\.com -https?:\/\/([^\/]*\.)?douglasgenetic\.org -https?:\/\/([^\/]*\.)?download-fisting-free-movie-pussy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?download-free-porn-clip-zone186\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-porn-movie-bb-bb-h\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-ringtonebso\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-ringtonekdw\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-ringtonekfb\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-ringtoneoug\.blogspot\.com -https?:\/\/([^\/]*\.)?download-free-ringtonesasd\.blogspot\.com -https?:\/\/([^\/]*\.)?download-ringtonevnr\.blogspot\.com -https?:\/\/([^\/]*\.)?downloadfreeringtonengp\.blogspot\.com -https?:\/\/([^\/]*\.)?downsms\.blogbus\.com -https?:\/\/([^\/]*\.)?dpfanatics-com-t7nqv\.blogspot\.com -https?:\/\/([^\/]*\.)?dqezl\.szm\.sk -https?:\/\/([^\/]*\.)?draghi\.ll11\.info -https?:\/\/([^\/]*\.)?dragonballxxx-gratis\.19mb\.info -https?:\/\/([^\/]*\.)?dragonmovies-dd2bm5sn\.blogspot\.com -https?:\/\/([^\/]*\.)?dragonmovies-rwng8vm7j\.blogspot\.com -https?:\/\/([^\/]*\.)?drbizzaro-com-r5\.blogspot\.com -https?:\/\/([^\/]*\.)?drdos\.50webs\.org -https?:\/\/([^\/]*\.)?dreamathk\.com -https?:\/\/([^\/]*\.)?dreamatsh\.com -https?:\/\/([^\/]*\.)?dreamhk\.org -https?:\/\/([^\/]*\.)?dress-jacket\.haemati\.be -https?:\/\/([^\/]*\.)?drithle\.com -https?:\/\/([^\/]*\.)?driving-school\.hotmail\.ru -https?:\/\/([^\/]*\.)?driving2school\.chat\.ru -https?:\/\/([^\/]*\.)?dronaceldar\.darkbb\.com -https?:\/\/([^\/]*\.)?dronc4tta\.blogcu\.com -https?:\/\/([^\/]*\.)?droncaca\.blogcu\.com -https?:\/\/([^\/]*\.)?dronchitr\.blogcu\.com -https?:\/\/([^\/]*\.)?drondomrac\.bb-fr\.com -https?:\/\/([^\/]*\.)?drondrontr\.zikforum\.com -https?:\/\/([^\/]*\.)?dronladar\.discutfree\.com -https?:\/\/([^\/]*\.)?dronladar\.dynamicforum\.net -https?:\/\/([^\/]*\.)?dronrelco\.td\.pl -https?:\/\/([^\/]*\.)?drownedmagenta\.50webs\.org -https?:\/\/([^\/]*\.)?drug\.prtime\.ru -https?:\/\/([^\/]*\.)?drunkgirls\.coz\.in -https?:\/\/([^\/]*\.)?dry-skin\.boom\.ru -https?:\/\/([^\/]*\.)?dry1skin\.chat\.ru -https?:\/\/([^\/]*\.)?dscw0\.szm\.sk -https?:\/\/([^\/]*\.)?dtmpdpxmsu-video\.blogspot\.com -https?:\/\/([^\/]*\.)?du-alice\.blogspot\.com -https?:\/\/([^\/]*\.)?duaroti\.50webs\.com -https?:\/\/([^\/]*\.)?dub-dom-adu\.blogspot\.com -https?:\/\/([^\/]*\.)?duckyporn-ifl4u28p\.blogspot\.com -https?:\/\/([^\/]*\.)?ducpjo3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dudoctor\.com -https?:\/\/([^\/]*\.)?dudubilz\.dl\.pl -https?:\/\/([^\/]*\.)?dumtrric\.forumzen\.com -https?:\/\/([^\/]*\.)?duncemoney\.com -https?:\/\/([^\/]*\.)?dunham-hiking-boot\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?dup-xxxfolder-com\.blogspot\.com -https?:\/\/([^\/]*\.)?dupiwu\.com -https?:\/\/([^\/]*\.)?duptv\.szm\.sk -https?:\/\/([^\/]*\.)?dushen\.net\.cn -https?:\/\/([^\/]*\.)?dusts\.info -https?:\/\/([^\/]*\.)?dutbm\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?duxbd\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?duxfhgz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dvd-vergini-economici-r\.host24h\.info -https?:\/\/([^\/]*\.)?dvdunwritten\.toplog\.nl -https?:\/\/([^\/]*\.)?dwaeaz-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?dwsyv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?dxjyb\.szm\.sk -https?:\/\/([^\/]*\.)?dykzozqlpt-video\.blogspot\.com -https?:\/\/([^\/]*\.)?dzb\.com\.cn -https?:\/\/([^\/]*\.)?dzgzm\.cn -https?:\/\/([^\/]*\.)?dzjp\.left-page\.com -https?:\/\/([^\/]*\.)?dzjp\.zxvo\.com -https?:\/\/([^\/]*\.)?dzsb\.com -https?:\/\/([^\/]*\.)?dzsc\.com -https?:\/\/([^\/]*\.)?e-dishnetworks\.com -https?:\/\/([^\/]*\.)?e-fanyi\.org -https?:\/\/([^\/]*\.)?e-holdem\.net -https?:\/\/([^\/]*\.)?e\.kth\.se -https?:\/\/([^\/]*\.)?e16\.info -https?:\/\/([^\/]*\.)?e93\.iitalia\.com -https?:\/\/([^\/]*\.)?eaby2\.szm\.sk -https?:\/\/([^\/]*\.)?eacome\.com -https?:\/\/([^\/]*\.)?eafg6\.szm\.sk -https?:\/\/([^\/]*\.)?eaglechief\.com -https?:\/\/([^\/]*\.)?eamon-fuck-it-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?eappf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?earticlesonline\.com -https?:\/\/([^\/]*\.)?easy-furniture\.org -https?:\/\/([^\/]*\.)?easygals-com-h4\.blogspot\.com -https?:\/\/([^\/]*\.)?easypic-com-if7pnmrbxd\.blogspot\.com -https?:\/\/([^\/]*\.)?easypornstars-com-b8k4y\.blogspot\.com -https?:\/\/([^\/]*\.)?easypornstars-com-subut\.blogspot\.com -https?:\/\/([^\/]*\.)?easysail\.net\.cn -https?:\/\/([^\/]*\.)?eating-free-lesbian-pussy\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?eating-lesbian-pussy\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?ebackground-checks\.com -https?:\/\/([^\/]*\.)?ebdoc\.com -https?:\/\/([^\/]*\.)?ebnjj\.info -https?:\/\/([^\/]*\.)?ebony-free-woman\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ebony-fuck-tit\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ebony-horny-hot-woman\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?ebony-hot-outdoor\.protime\.in\.ua -https?:\/\/([^\/]*\.)?ebony-info-photo-remember-sexy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?ebony-info-remember-tit\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?ebony-party-sex\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ebony-porn-trailer\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?ebony-sex-com\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?ebony-teen-pic\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?ebony-teen-tgp\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?ebonyblack-net-gf\.blogspot\.com -https?:\/\/([^\/]*\.)?ebonyblack-net-m3dy7kn\.blogspot\.com -https?:\/\/([^\/]*\.)?ebonybooty\.wehostporno\.com -https?:\/\/([^\/]*\.)?ebusiness-cards\.org -https?:\/\/([^\/]*\.)?ecar-rentals\.com -https?:\/\/([^\/]*\.)?eccellente\.info -https?:\/\/([^\/]*\.)?ececu\.com -https?:\/\/([^\/]*\.)?echayka\.com -https?:\/\/([^\/]*\.)?eclexion\.net -https?:\/\/([^\/]*\.)?eclissi-di-luna\.host24h\.info -https?:\/\/([^\/]*\.)?ecomm1\.csug\.rochester\.edu -https?:\/\/([^\/]*\.)?econtact-lens\.com -https?:\/\/([^\/]*\.)?ed2k\.net\.ua -https?:\/\/([^\/]*\.)?edasim\.com -https?:\/\/([^\/]*\.)?eddiereva\.com -https?:\/\/([^\/]*\.)?edetrali\.jconserv\.net -https?:\/\/([^\/]*\.)?edomerna\.jconserv\.net -https?:\/\/([^\/]*\.)?edonline\.ua\.edu -https?:\/\/([^\/]*\.)?edqlzct\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?education\.beta\.edgewood\.edu -https?:\/\/([^\/]*\.)?education\.uncc\.edu -https?:\/\/([^\/]*\.)?education1degree\.chat\.ru -https?:\/\/([^\/]*\.)?ee3\.be -https?:\/\/([^\/]*\.)?eelive\.info -https?:\/\/([^\/]*\.)?eenxn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ees\.ufl\.edu -https?:\/\/([^\/]*\.)?eesg8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?eeshq\.com -https?:\/\/([^\/]*\.)?eetop\.info -https?:\/\/([^\/]*\.)?eevjgn7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?effexor-xr\.1\.p2l\.info -https?:\/\/([^\/]*\.)?effexor\.b0ne\.com -https?:\/\/([^\/]*\.)?egciz\.szm\.sk -https?:\/\/([^\/]*\.)?egnadn-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?egnpgno\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?egoldhyip\.athost\.net -https?:\/\/([^\/]*\.)?egoldhyip\.sitesfree\.com -https?:\/\/([^\/]*\.)?egunteronline\.com -https?:\/\/([^\/]*\.)?eightalya\.blogspot\.com -https?:\/\/([^\/]*\.)?eighty-8088\.blogspot\.com -https?:\/\/([^\/]*\.)?eijy7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ejeesf2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ejreoonster\.blogspot\.com -https?:\/\/([^\/]*\.)?ejvyd\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ejyt9\.szm\.sk -https?:\/\/([^\/]*\.)?ekajl\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ekjms\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ekttsaj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ekviceaia\.blogspot\.com -https?:\/\/([^\/]*\.)?ekxkfyz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?el-ladies-com-m4ayb\.blogspot\.com -https?:\/\/([^\/]*\.)?elacelal\.informe\.com -https?:\/\/([^\/]*\.)?elbasbo\.dl\.pl -https?:\/\/([^\/]*\.)?elbocboc\.bbgraf\.com -https?:\/\/([^\/]*\.)?elbows-at\.blogspot\.com -https?:\/\/([^\/]*\.)?elbtoy\.realpornstar\.net -https?:\/\/([^\/]*\.)?elcnaac\.cultureforum\.net -https?:\/\/([^\/]*\.)?electric-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?electric1scooter\.chat\.ru -https?:\/\/([^\/]*\.)?electricscooterland\.com -https?:\/\/([^\/]*\.)?elephantlist-com-hozhkwuac6\.blogspot\.com -https?:\/\/([^\/]*\.)?elephantlist-com-kedi0pfbp\.blogspot\.com -https?:\/\/([^\/]*\.)?elerc4t\.blogcu\.com -https?:\/\/([^\/]*\.)?eleven-heaven0a\.blogspot\.com -https?:\/\/([^\/]*\.)?elevtenl\.blogspot\.com -https?:\/\/([^\/]*\.)?elishacuthbertfansite\.com -https?:\/\/([^\/]*\.)?eliteclips-com-c0hwm3fji\.blogspot\.com -https?:\/\/([^\/]*\.)?eliteclips-com-k5hkm6yi\.blogspot\.com -https?:\/\/([^\/]*\.)?eliteclips-com-kzjz30a5k4\.blogspot\.com -https?:\/\/([^\/]*\.)?elixirium\.ifrance\.com -https?:\/\/([^\/]*\.)?eloloac\.bbgraf\.com -https?:\/\/([^\/]*\.)?eloudar\.discutforum\.com -https?:\/\/([^\/]*\.)?elovejob\.info -https?:\/\/([^\/]*\.)?elpos\.szm\.sk -https?:\/\/([^\/]*\.)?eltalchi\.bbfr\.net -https?:\/\/([^\/]*\.)?eltalli\.zj\.pl -https?:\/\/([^\/]*\.)?eltbuzel\.forumzen\.com -https?:\/\/([^\/]*\.)?eltcer\.winnerforum\.net -https?:\/\/([^\/]*\.)?eltgetric\.uy\.pl -https?:\/\/([^\/]*\.)?eltrelboc\.bbfr\.net -https?:\/\/([^\/]*\.)?eltrical\.uy\.pl -https?:\/\/([^\/]*\.)?eltroboc\.lolforum\.net -https?:\/\/([^\/]*\.)?eltrolpas\.winnerforum\.net -https?:\/\/([^\/]*\.)?elttaacel\.heavenforum\.com -https?:\/\/([^\/]*\.)?elttaacel\.highforum\.net -https?:\/\/([^\/]*\.)?elttrocpas\.discutforum\.com -https?:\/\/([^\/]*\.)?elwg0\.szm\.sk -https?:\/\/([^\/]*\.)?elysium-ringtonebub\.blogspot\.com -https?:\/\/([^\/]*\.)?elysium-ringtonemzb\.blogspot\.com -https?:\/\/([^\/]*\.)?elzelchi\.cultureforum\.net -https?:\/\/([^\/]*\.)?emails\.ncedly\.be -https?:\/\/([^\/]*\.)?emea-consulting\.net -https?:\/\/([^\/]*\.)?emily\.slyip\.com -https?:\/\/([^\/]*\.)?eminem-suck-my-dick\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?eminem-veyb\.blogspot\.com -https?:\/\/([^\/]*\.)?eminen-lyric-ass-like-that\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?empire-holdem\.com -https?:\/\/([^\/]*\.)?empire-holdem\.net -https?:\/\/([^\/]*\.)?empire-holdem\.us -https?:\/\/([^\/]*\.)?empire-poker\.black-poker\.com -https?:\/\/([^\/]*\.)?empirepoker\.u288\.com -https?:\/\/([^\/]*\.)?emxk0\.szm\.sk -https?:\/\/([^\/]*\.)?ena-free-show\.net -https?:\/\/([^\/]*\.)?enchanted1312\.blogspot\.com -https?:\/\/([^\/]*\.)?end14april\.ifrance\.com -https?:\/\/([^\/]*\.)?enema-fetish-free-picture\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?energo\.us -https?:\/\/([^\/]*\.)?enetdrugsonline\.org -https?:\/\/([^\/]*\.)?enfoldrevel\.epinoy\.com -https?:\/\/([^\/]*\.)?engineerin2degre\.chat\.ru -https?:\/\/([^\/]*\.)?engs\.info -https?:\/\/([^\/]*\.)?enpresse\.1\.p2l\.info -https?:\/\/([^\/]*\.)?enteworld\.com -https?:\/\/([^\/]*\.)?eoglu\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?eour8\.szm\.sk -https?:\/\/([^\/]*\.)?ephedra\.269g\.net -https?:\/\/([^\/]*\.)?ephedraproduct\.seesaa\.net -https?:\/\/([^\/]*\.)?epiqq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?epointer\.freewebpage\.org -https?:\/\/([^\/]*\.)?eprom-dresses\.com -https?:\/\/([^\/]*\.)?epxxw\.szm\.sk -https?:\/\/([^\/]*\.)?erasser\.8tt\.org -https?:\/\/([^\/]*\.)?erbocco\.discutforum\.com -https?:\/\/([^\/]*\.)?erc4tget\.blogcu\.com -https?:\/\/([^\/]*\.)?erdomrol\.heavenforum\.com -https?:\/\/([^\/]*\.)?erdomrol\.highforum\.net -https?:\/\/([^\/]*\.)?ereaa\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?erealtystore\.com -https?:\/\/([^\/]*\.)?erelleta\.forumzen\.com -https?:\/\/([^\/]*\.)?eremat\.com -https?:\/\/([^\/]*\.)?erjiguan\.dzsc\.com -https?:\/\/([^\/]*\.)?erlitroc\.xa\.pl -https?:\/\/([^\/]*\.)?ernvmf7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?erotic-gay-male-sex-story\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?erotic-story-fem-dom\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?ertral\.alkablog\.com -https?:\/\/([^\/]*\.)?erw1r\.info -https?:\/\/([^\/]*\.)?escher\.isis\.vanderbilt\.edu -https?:\/\/([^\/]*\.)?eseo\.cn -https?:\/\/([^\/]*\.)?esgic\.1\.p2l\.info -https?:\/\/([^\/]*\.)?eshilzet\.forumzen\.com -https?:\/\/([^\/]*\.)?esino\.info -https?:\/\/([^\/]*\.)?esiti-gara\.hostzz\.info -https?:\/\/([^\/]*\.)?esjpd\.szm\.sk -https?:\/\/([^\/]*\.)?esmpa\.com -https?:\/\/([^\/]*\.)?esportswave\.com -https?:\/\/([^\/]*\.)?esraj\.com -https?:\/\/([^\/]*\.)?esseiwer\.dl\.pl -https?:\/\/([^\/]*\.)?estarcollector\.blogspot\.com -https?:\/\/([^\/]*\.)?etac4\.szm\.sk -https?:\/\/([^\/]*\.)?etcoq\.szm\.sk -https?:\/\/([^\/]*\.)?etgelcca\.forumzen\.com -https?:\/\/([^\/]*\.)?ethnicpassion-com-db5\.blogspot\.com -https?:\/\/([^\/]*\.)?ethnicpassion-com-ik80lyfnd\.blogspot\.com -https?:\/\/([^\/]*\.)?ethnicpassion-com-iqa3gt\.blogspot\.com -https?:\/\/([^\/]*\.)?ethnicpassion-com-itw\.blogspot\.com -https?:\/\/([^\/]*\.)?etjhechi\.forumzen\.com -https?:\/\/([^\/]*\.)?etjhetrd\.forumzen\.com -https?:\/\/([^\/]*\.)?etkrudom\.forumzen\.com -https?:\/\/([^\/]*\.)?etlitvir\.forumzen\.com -https?:\/\/([^\/]*\.)?etlurlir\.forumzen\.com -https?:\/\/([^\/]*\.)?etmuhlie\.forumzen\.com -https?:\/\/([^\/]*\.)?etnuidet\.forumzen\.com -https?:\/\/([^\/]*\.)?etofas\.com -https?:\/\/([^\/]*\.)?etrart\.com -https?:\/\/([^\/]*\.)?etrewlia\.forumzen\.com -https?:\/\/([^\/]*\.)?etshalir\.forumzen\.com -https?:\/\/([^\/]*\.)?ettamlet\.forumzen\.com -https?:\/\/([^\/]*\.)?ettimera\.forumzen\.com -https?:\/\/([^\/]*\.)?etwhiett\.forumzen\.com -https?:\/\/([^\/]*\.)?etwhiolo\.forumzen\.com -https?:\/\/([^\/]*\.)?etzvg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?etzyrpk\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?eubaspro\.com -https?:\/\/([^\/]*\.)?eudrayv\.blogspot\.com -https?:\/\/([^\/]*\.)?eueyniqott-video\.blogspot\.com -https?:\/\/([^\/]*\.)?euomtrna\.jconserv\.net -https?:\/\/([^\/]*\.)?eurosexparties-com-jezun\.blogspot\.com -https?:\/\/([^\/]*\.)?eurosexparties-com-mmnl2m\.blogspot\.com -https?:\/\/([^\/]*\.)?eva-irina\.isuisse\.com -https?:\/\/([^\/]*\.)?evamiee\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?eveqx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?everywhere-com-tpovy8exl\.blogspot\.com -https?:\/\/([^\/]*\.)?evfegl9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?evhp2\.szm\.sk -https?:\/\/([^\/]*\.)?evil-gummiworm\.blogspot\.com -https?:\/\/([^\/]*\.)?ewdnqb4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?exchange-lingerie-link-womens\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?exciting-casino\.com -https?:\/\/([^\/]*\.)?exhuq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?extrarx\.kvkb\.com -https?:\/\/([^\/]*\.)?extremeapril-com-adsm\.blogspot\.com -https?:\/\/([^\/]*\.)?extremeapril-com-woje\.blogspot\.com -https?:\/\/([^\/]*\.)?extremeapril-dhx1z\.blogspot\.com -https?:\/\/([^\/]*\.)?ez\.asn\.und\.edu -https?:\/\/([^\/]*\.)?ezjor\.com -https?:\/\/([^\/]*\.)?ezkes\.com -https?:\/\/([^\/]*\.)?ezxwc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?f-download-free-sex-video\.blogspot\.com -https?:\/\/([^\/]*\.)?f-z-a\.com -https?:\/\/([^\/]*\.)?faadney\.dl\.pl -https?:\/\/([^\/]*\.)?fabrizio-corona\.freehostss\.info -https?:\/\/([^\/]*\.)?face-lick-lickable-licker-tongue\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?facial-abuse--com\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?facial-hair-remover\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?facial-paralysis-treatment\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?facial-plastic-surgery-manhattan\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?facial-whore\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?faculty\.etsu\.edu -https?:\/\/([^\/]*\.)?faculty\.hope\.edu -https?:\/\/([^\/]*\.)?faculty\.oxy\.edu -https?:\/\/([^\/]*\.)?faculty\.ugf\.edu -https?:\/\/([^\/]*\.)?faculty\.whatcom\.ctc\.edu -https?:\/\/([^\/]*\.)?facweb\.cs\.depaul\.edu -https?:\/\/([^\/]*\.)?fadianji\.dzsc\.com -https?:\/\/([^\/]*\.)?fagin\.info -https?:\/\/([^\/]*\.)?fairy\.8888mb\.com -https?:\/\/([^\/]*\.)?faleake\.dl\.pl -https?:\/\/([^\/]*\.)?falling-anvil\.blogspot\.com -https?:\/\/([^\/]*\.)?family-viagra\.com -https?:\/\/([^\/]*\.)?famouspornstars-com-o020ss18d8\.blogspot\.com -https?:\/\/([^\/]*\.)?famvir\.1\.p2l\.info -https?:\/\/([^\/]*\.)?fangdaqi\.dzsc\.com -https?:\/\/([^\/]*\.)?fantasticnudes-com-bol80a\.blogspot\.com -https?:\/\/([^\/]*\.)?fantasticnudes-com-by8gook\.blogspot\.com -https?:\/\/([^\/]*\.)?fantasticnudes-com-qic\.blogspot\.com -https?:\/\/([^\/]*\.)?fantasticnudes-com-r60\.blogspot\.com -https?:\/\/([^\/]*\.)?fantasy-hand-job-teen\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?farmius\.org -https?:\/\/([^\/]*\.)?fascination\.my10gb\.com -https?:\/\/([^\/]*\.)?fasnty\.com -https?:\/\/([^\/]*\.)?fasoft\.com\.cn -https?:\/\/([^\/]*\.)?fast-loaneqh\.blogspot\.com -https?:\/\/([^\/]*\.)?fastmovers\.org -https?:\/\/([^\/]*\.)?fat-banging\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?fat-blonde-woman\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?fat-fuck-video\.protime\.in\.ua -https?:\/\/([^\/]*\.)?fat-porn-clip-infoecm\.blogspot\.com -https?:\/\/([^\/]*\.)?fat-porn-clip-infomyi\.blogspot\.com -https?:\/\/([^\/]*\.)?fat-tgp-com-ee\.blogspot\.com -https?:\/\/([^\/]*\.)?fat-tgp-com-g654ywug\.blogspot\.com -https?:\/\/([^\/]*\.)?fatfucks-com-kdy41nn4fr\.blogspot\.com -https?:\/\/([^\/]*\.)?fatfucks-com-t232q4\.blogspot\.com -https?:\/\/([^\/]*\.)?fatfucks-com-tf0v115rm\.blogspot\.com -https?:\/\/([^\/]*\.)?fatfucks-com-thr8\.blogspot\.com -https?:\/\/([^\/]*\.)?fathut-com-db66nw2a\.blogspot\.com -https?:\/\/([^\/]*\.)?fathut-com-hqloar2t8\.blogspot\.com -https?:\/\/([^\/]*\.)?fattythumbs-com-el24t2\.blogspot\.com -https?:\/\/([^\/]*\.)?fattythumbs-com-iq1\.blogspot\.com -https?:\/\/([^\/]*\.)?fau75\.blogspot\.com -https?:\/\/([^\/]*\.)?favorite-casino\.com -https?:\/\/([^\/]*\.)?fawninglace\.freehostingz\.com -https?:\/\/([^\/]*\.)?fbcjr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fbugy\.szm\.sk -https?:\/\/([^\/]*\.)?fcpx5\.szm\.sk -https?:\/\/([^\/]*\.)?fcuml\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fcup3\.szm\.sk -https?:\/\/([^\/]*\.)?fdjcz\.sunp\.com -https?:\/\/([^\/]*\.)?fdxyp\.szm\.sk -https?:\/\/([^\/]*\.)?fe-algebra\.blogspot\.com -https?:\/\/([^\/]*\.)?fe-whateve\.blogspot\.com -https?:\/\/([^\/]*\.)?fedems\.com -https?:\/\/([^\/]*\.)?feeltime\.cn -https?:\/\/([^\/]*\.)?feeltime\.com -https?:\/\/([^\/]*\.)?fehpks4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?feidenfurniture\.com -https?:\/\/([^\/]*\.)?fejwh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fem-dom-art-and-drawing\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?female-ass-worship\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?female-condom-sex\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?female-v\.1\.p2l\.info -https?:\/\/([^\/]*\.)?femdog\.blogspot\.com -https?:\/\/([^\/]*\.)?feq-tugjobs-com\.blogspot\.com -https?:\/\/([^\/]*\.)?ferda111\.php5\.cz -https?:\/\/([^\/]*\.)?ferer\.superprovider\.de -https?:\/\/([^\/]*\.)?feretuc\.forumculture\.net -https?:\/\/([^\/]*\.)?ferrarimaser\.info -https?:\/\/([^\/]*\.)?fest-frat-fuck\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fetish-club-in-ipswitch-uk\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?fetish-hardcore-lesbian-more\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?fetish-heel-high-in-nylon-pretty-toe\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fetish-pantie-white\.protime\.in\.ua -https?:\/\/([^\/]*\.)?fetus-free-sex-video-l\.blogspot\.com -https?:\/\/([^\/]*\.)?ffhi7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fflive\.info -https?:\/\/([^\/]*\.)?fge-teens-links-0\.blogspot\.com -https?:\/\/([^\/]*\.)?fghrf\.8888mb\.com -https?:\/\/([^\/]*\.)?fgvan\.info -https?:\/\/([^\/]*\.)?fgvzq\.szm\.sk -https?:\/\/([^\/]*\.)?fhbi5\.szm\.sk -https?:\/\/([^\/]*\.)?fhmms\.szm\.sk -https?:\/\/([^\/]*\.)?fhwl-com-dy1tbi5l\.blogspot\.com -https?:\/\/([^\/]*\.)?fhwl-com-mn8ni\.blogspot\.com -https?:\/\/([^\/]*\.)?fhwl-com-wc\.blogspot\.com -https?:\/\/([^\/]*\.)?fhwl-com-wgrog\.blogspot\.com -https?:\/\/([^\/]*\.)?fibiger\.org -https?:\/\/([^\/]*\.)?fifa2007it\.org -https?:\/\/([^\/]*\.)?fihqquj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?filipina-lesbian-teen\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?fillchill\.mybbland\.com -https?:\/\/([^\/]*\.)?film-da-scaricare\.host24h\.info -https?:\/\/([^\/]*\.)?finalteens-com-c6o0080y\.blogspot\.com -https?:\/\/([^\/]*\.)?finalteens-com-kpngsoxf\.blogspot\.com -https?:\/\/([^\/]*\.)?finanziamento-on-line\.19mb\.info -https?:\/\/([^\/]*\.)?finanziamento-personale\.hostzz\.info -https?:\/\/([^\/]*\.)?finanziamento-treviso\.host24h\.info -https?:\/\/([^\/]*\.)?findbabychick\.info -https?:\/\/([^\/]*\.)?findbabygirl\.info -https?:\/\/([^\/]*\.)?findvic\.com -https?:\/\/([^\/]*\.)?fine-lingerie-online-sexy\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?finger-fuck-clip\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fioricet\.1\.p2l\.info -https?:\/\/([^\/]*\.)?fioricet\.47\.pl -https?:\/\/([^\/]*\.)?fioricet\.edu\.tf -https?:\/\/([^\/]*\.)?fioricet\.hav\.pl -https?:\/\/([^\/]*\.)?fioricet\.skocz\.net -https?:\/\/([^\/]*\.)?fioricetrx\.weboficial\.com -https?:\/\/([^\/]*\.)?fioricets\.blogspot\.com -https?:\/\/([^\/]*\.)?firejedi\.blogspot\.com -https?:\/\/([^\/]*\.)?first-free-fuck-time-video\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?first-lesbian-experience-story\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?first-lesbian-video-xxx\.protime\.in\.ua -https?:\/\/([^\/]*\.)?first-porn\.futureblog\.org -https?:\/\/([^\/]*\.)?firstchristianbank\.info -https?:\/\/([^\/]*\.)?firstdrugstorezone\.info -https?:\/\/([^\/]*\.)?firstfriends\.us -https?:\/\/([^\/]*\.)?firsthorizonmtg\.com -https?:\/\/([^\/]*\.)?firstnightcharleston\.com -https?:\/\/([^\/]*\.)?firsttimeauditions-com-asq5m\.blogspot\.com -https?:\/\/([^\/]*\.)?firsttimeauditions-com-gxs\.blogspot\.com -https?:\/\/([^\/]*\.)?fishdor\.joolo\.com -https?:\/\/([^\/]*\.)?fishing-rod\.247ihost\.com -https?:\/\/([^\/]*\.)?fishing-rod\.hostpresso\.com -https?:\/\/([^\/]*\.)?fishing-rod\.joolo\.com -https?:\/\/([^\/]*\.)?fishins\.247ihost\.com -https?:\/\/([^\/]*\.)?fishman\.freewebhosting360\.com -https?:\/\/([^\/]*\.)?fishmpegs-com-oet5\.blogspot\.com -https?:\/\/([^\/]*\.)?fishmpegs-com-r5\.blogspot\.com -https?:\/\/([^\/]*\.)?fishmpegs-com-r87f7ui\.blogspot\.com -https?:\/\/([^\/]*\.)?fisting-gay-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?fisting-group-sex\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fisting-lesbian-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?fisting-lesson-maya\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?fistinglessons-com-dmskwfs\.blogspot\.com -https?:\/\/([^\/]*\.)?fistinglessons-com-i03p\.blogspot\.com -https?:\/\/([^\/]*\.)?fitofarm\.com -https?:\/\/([^\/]*\.)?fitvzj-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?fjp\.left-page\.com -https?:\/\/([^\/]*\.)?fjp\.zxvo\.com -https?:\/\/([^\/]*\.)?fkcvlna\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fkvvp\.szm\.sk -https?:\/\/([^\/]*\.)?flandra\.php5\.cz -https?:\/\/([^\/]*\.)?flawformed\.hostonmars\.com -https?:\/\/([^\/]*\.)?flexeril\.1\.p2l\.info -https?:\/\/([^\/]*\.)?flextra\.1\.p2l\.info -https?:\/\/([^\/]*\.)?flkkmex\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fllood\.blogspot\.com -https?:\/\/([^\/]*\.)?fllwlv6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?flnet\.org -https?:\/\/([^\/]*\.)?flonase\.1\.p2l\.info -https?:\/\/([^\/]*\.)?flooring-guide\.org -https?:\/\/([^\/]*\.)?floridamortgage-x\.com -https?:\/\/([^\/]*\.)?floridian-love\.blogspot\.com -https?:\/\/([^\/]*\.)?flower\.hostonmars\.com -https?:\/\/([^\/]*\.)?flowerdive\.info -https?:\/\/([^\/]*\.)?flqcjnw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fluffy\.hostcroc\.com -https?:\/\/([^\/]*\.)?fluoxetine\.1\.p2l\.info -https?:\/\/([^\/]*\.)?fnhtgggv\.t35\.com -https?:\/\/([^\/]*\.)?fnxsj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?foecedh3artbrat\.blogspot\.com -https?:\/\/([^\/]*\.)?foedu-de-solnil\.blogspot\.com -https?:\/\/([^\/]*\.)?folast\.com -https?:\/\/([^\/]*\.)?folcan\.my10gb\.com -https?:\/\/([^\/]*\.)?fondi-italiano\.hostzz\.info -https?:\/\/([^\/]*\.)?for-whorevideos-com\.blogspot\.com -https?:\/\/([^\/]*\.)?forbestcare\.info -https?:\/\/([^\/]*\.)?forensic1nursing\.chat\.ru -https?:\/\/([^\/]*\.)?forex\.fasthost\.pl -https?:\/\/([^\/]*\.)?fork-hief\.ibelgique\.com -https?:\/\/([^\/]*\.)?formulam\.net -https?:\/\/([^\/]*\.)?fortune-slots\.com -https?:\/\/([^\/]*\.)?forum\.kharkiv\.edu -https?:\/\/([^\/]*\.)?fos-sologals-com\.blogspot\.com -https?:\/\/([^\/]*\.)?foto-sabrina-ferilli\.host24h\.info -https?:\/\/([^\/]*\.)?foxeykie\.iespana\.es -https?:\/\/([^\/]*\.)?fozq6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fpa7kctb\.t35\.com -https?:\/\/([^\/]*\.)?fqred\.com -https?:\/\/([^\/]*\.)?fragolla\.blogspot\.com -https?:\/\/([^\/]*\.)?frbarber\.dl\.pl -https?:\/\/([^\/]*\.)?frbracco\.dl\.pl -https?:\/\/([^\/]*\.)?freakthumbs-com-bp\.blogspot\.com -https?:\/\/([^\/]*\.)?freakthumbs-com-hcmkk\.blogspot\.com -https?:\/\/([^\/]*\.)?frebnet\.com -https?:\/\/([^\/]*\.)?fredd0\.info -https?:\/\/([^\/]*\.)?free-access\.freeinsite\.net -https?:\/\/([^\/]*\.)?free-adult-porn-clip-info43c\.blogspot\.com -https?:\/\/([^\/]*\.)?free-adult-porn-clip-infopqk\.blogspot\.com -https?:\/\/([^\/]*\.)?free-amateur-hardcore-pic\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-amateur-submitted-photo\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-amateur-video-e2843\.blogspot\.com -https?:\/\/([^\/]*\.)?free-anal-blonde-sex-pic\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-anal-porn-clip\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-anal-xxx-clip\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-anime-porn-clip-info6tn\.blogspot\.com -https?:\/\/([^\/]*\.)?free-anime-porn-clips-newsyby\.blogspot\.com -https?:\/\/([^\/]*\.)?free-asian-lesbian-sex-video\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-bbw-porn-clip-blog4wm\.blogspot\.com -https?:\/\/([^\/]*\.)?free-big-ass-porn\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-big-boob-porn-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-big-boob\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-bizarre-insertion-pic\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-bizarre-porn-pic\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-black-amateur\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-black-porn-clip-blogo7t\.blogspot\.com -https?:\/\/([^\/]*\.)?free-black-porn-movie-kebi\.blogspot\.com -https?:\/\/([^\/]*\.)?free-black-porn-video-clip-newsjqj\.blogspot\.com -https?:\/\/([^\/]*\.)?free-busty-asian-movie\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-busty-blonde-pic\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-busty-porn-movie\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-busty-redhead-pic\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-butt-fucking-video\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-cartoon-porn-clip-zoneikt\.blogspot\.com -https?:\/\/([^\/]*\.)?free-cartoon-porn-clip-zonewpm\.blogspot\.com -https?:\/\/([^\/]*\.)?free-celebrity-porn-clip-infowuz\.blogspot\.com -https?:\/\/([^\/]*\.)?free-celebrity-porn-video-bo\.blogspot\.com -https?:\/\/([^\/]*\.)?free-chubby-girl-pic\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-cock-sucking-slut-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-college-fuck-fest-gallery\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-cum-blow-job-gallery\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-cum-in-mouth-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-cum-swap-video\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-ebony-porn-clip-zonek7c\.blogspot\.com -https?:\/\/([^\/]*\.)?free-ebony-porn-clip-zonelcy\.blogspot\.com -https?:\/\/([^\/]*\.)?free-ebony-pussy-pic\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-ebony-sex-video-di\.blogspot\.com -https?:\/\/([^\/]*\.)?free-fat-porn-clip-infotno\.blogspot\.com -https?:\/\/([^\/]*\.)?free-fem-dom-thumb\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-female-orgasm-video-bb-bb-h\.blogspot\.com -https?:\/\/([^\/]*\.)?free-filipina-sex-movie\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-first-time-lesbian-sex-story\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-fisting-mpeg\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-fisting-sex-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-fucking-bitch\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-fucking-gallery-hardcore\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-fucking-sex-porn-site\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-full-length-porn-mov-bb-bb-w\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gang-bang-sample\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-gay-hunk-male-movie-muscled-stud-video\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-gay-muscle\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-gay-picture-sex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-gay-porn-clips-info35a\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-porn-movie-clip-bloglor\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-porn-movie-p-d-h\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-porn-video-clip-newsa83\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-porn-video-p-v-p\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-porn-web-site\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-gay-sex-movie-bb-bb-s\.blogspot\.com -https?:\/\/([^\/]*\.)?free-gay-sex-teen-trailer\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-gay-trailer\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-granny-lesbian\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-granny-movie-old\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-granny-pic-woman\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-group-lesbian-preview-sex-video\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-hand-job-movie-bb-bb-h\.blogspot\.com -https?:\/\/([^\/]*\.)?free-hand-job-video-clip-bb-bb-c\.blogspot\.com -https?:\/\/([^\/]*\.)?free-hardcore-movie-gallery-xxx\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-hardcore-porn-clip-blog07a\.blogspot\.com -https?:\/\/([^\/]*\.)?free-hardcore-porn-clip-blogi4k\.blogspot\.com -https?:\/\/([^\/]*\.)?free-hardcore-porn-star-picture\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-hardcore-sex-mpeg\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-heel-high-leg-pic-stilettos-stocking\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-homemade-porn-clip-news22n\.blogspot\.com -https?:\/\/([^\/]*\.)?free-homemade-porn-clip-news7ro\.blogspot\.com -https?:\/\/([^\/]*\.)?free-hot-blonde-nude-pic\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-hot-leg-nude-wallpaper-woman\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-hot-mom\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-hot-web-cam-video-h-s-f\.blogspot\.com -https?:\/\/([^\/]*\.)?free-huge-black-gay-cock\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-in-lesbian-movie-nylons\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-indian-porn-clip-infok6x\.blogspot\.com -https?:\/\/([^\/]*\.)?free-interracial-sex-video-ko\.blogspot\.com -https?:\/\/([^\/]*\.)?free-latin-ass\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-lesbian-cam-chat\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-lesbian-clip-zuxi\.blogspot\.com -https?:\/\/([^\/]*\.)?free-lesbian-hentai-movie\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-lesbian-licking-pic\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-lesbian-mature-sex-video-young\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-lesbian-movie-gjqvl\.blogspot\.com -https?:\/\/([^\/]*\.)?free-lesbian-porn-clips-blogagm\.blogspot\.com -https?:\/\/([^\/]*\.)?free-lesbian-porn-video-clip-newsidt\.blogspot\.com -https?:\/\/([^\/]*\.)?free-lesbian-video-a7e8t\.blogspot\.com -https?:\/\/([^\/]*\.)?free-lesbian-xxx-picture\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-long-porn-clip-info2fo\.blogspot\.com -https?:\/\/([^\/]*\.)?free-long-porn-clip-info7pr\.blogspot\.com -https?:\/\/([^\/]*\.)?free-long-porn-movie-clip-blogxn2\.blogspot\.com -https?:\/\/([^\/]*\.)?free-long-porn-movie-clip-zoneq4f\.blogspot\.com -https?:\/\/([^\/]*\.)?free-long-porn-video-wi\.blogspot\.com -https?:\/\/([^\/]*\.)?free-male-bisexual-porn\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-mature-porn-clip-zone5bz\.blogspot\.com -https?:\/\/([^\/]*\.)?free-mature-sex-clip\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-mature-sex-story\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-mature-thumbnail-post\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?free-milf-porn-clip-zonenqn\.blogspot\.com -https?:\/\/([^\/]*\.)?free-milf-video-bb-bb-n\.blogspot\.com -https?:\/\/([^\/]*\.)?free-mmf-bisex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-naked-mature-lady\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?free-nude-bitch\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-nude-blonde-gallery\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-older-woman-fucking\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-online-poker-000\.biz -https?:\/\/([^\/]*\.)?free-orgasm-clip-supi\.blogspot\.com -https?:\/\/([^\/]*\.)?free-paris-hilton-porn-clip-infolah\.blogspot\.com -https?:\/\/([^\/]*\.)?free-personal-gay-links-tommys-favorite\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-pic-of-big-dicks\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-pic-of-busty-babes\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-pic-of-woman-kissing\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-picture-hardcore-anal\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-picture-hardcore-anal\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-picture-huge-clit\.protime\.in\.ua -https?:\/\/([^\/]*\.)?free-porn-chwd\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clip-nep\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clip-trailer-infog42\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clip-zoneil5\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clip-zonek61\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clip-zoneu7t\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-clips-newsid3\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-movie-to0r5\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-movie-zet\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-psp-video-po\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-sample-clip-infodwd\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-sample-clip-newsb26\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-sex-clip-zoneavj\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-star-movie-bb-bb-h\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-star-video-clip-blog81e\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-clip-info7km\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-clip-infoixk\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-clip-sample-newsw3t\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-clips-infooem\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-porn-clip-blogiep\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-porn-clip-zonepqd\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn-video-puz\.blogspot\.com -https?:\/\/([^\/]*\.)?free-porn\.xa\.pl -https?:\/\/([^\/]*\.)?free-pussy-fucking-movie\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?free-ringtones\.269g\.net -https?:\/\/([^\/]*\.)?free-ringtones\.aqhhhh\.info -https?:\/\/([^\/]*\.)?free-ringtoneten\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sex-clip-ceb\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sex-movie-pow\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sex-video-clip-kog\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sex-video-hup\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sex-video\.hostithere\.org -https?:\/\/([^\/]*\.)?free-sexy-leg-video\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-shemale-fucking-woman-movie\.medved\.od\.ua -https?:\/\/([^\/]*\.)?free-shemale-movie-w-r-s\.blogspot\.com -https?:\/\/([^\/]*\.)?free-skin\.newmail\.ru -https?:\/\/([^\/]*\.)?free-skin\.pochta\.ru -https?:\/\/([^\/]*\.)?free-spase\.info -https?:\/\/([^\/]*\.)?free-sprint-ringtoneija\.blogspot\.com -https?:\/\/([^\/]*\.)?free-sprint-ringtonesrha\.blogspot\.com -https?:\/\/([^\/]*\.)?free-t-mobile-ringtonehvh\.blogspot\.com -https?:\/\/([^\/]*\.)?free-teen-movie-cock-sucking\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?free-teen-porn-clip-blogpmw\.blogspot\.com -https?:\/\/([^\/]*\.)?free-teen-porn-clip-infohxv\.blogspot\.com -https?:\/\/([^\/]*\.)?free-teen-porn-video-clip-newsi5v\.blogspot\.com -https?:\/\/([^\/]*\.)?free-teens-porn-com-wod\.blogspot\.com -https?:\/\/([^\/]*\.)?free-video-sex-chat-ki\.blogspot\.com -https?:\/\/([^\/]*\.)?free-xxx-amateur-web-cam\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free-xxx-porn-clip-infoibv\.blogspot\.com -https?:\/\/([^\/]*\.)?free-xxx-porn-video-clip-infopij\.blogspot\.com -https?:\/\/([^\/]*\.)?free-young-lesbian-movie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?free2peek-com-c1iicr\.blogspot\.com -https?:\/\/([^\/]*\.)?free2peek-com-co8g24x0ee\.blogspot\.com -https?:\/\/([^\/]*\.)?free2peek-com-gi6v\.blogspot\.com -https?:\/\/([^\/]*\.)?free_skin\.chat\.ru -https?:\/\/([^\/]*\.)?freebigmovies-com-b25i040z\.blogspot\.com -https?:\/\/([^\/]*\.)?freebigmovies-com-bxf440\.blogspot\.com -https?:\/\/([^\/]*\.)?freebigmovies-com-rst\.blogspot\.com -https?:\/\/([^\/]*\.)?freebloger\.com -https?:\/\/([^\/]*\.)?freecooktop\.info -https?:\/\/([^\/]*\.)?freedirectoryv\.com -https?:\/\/([^\/]*\.)?freeforumbuilder\.com -https?:\/\/([^\/]*\.)?freegonzo-com-du\.blogspot\.com -https?:\/\/([^\/]*\.)?freegonzo-com-e8n\.blogspot\.com -https?:\/\/([^\/]*\.)?freegonzo-com-og5mpk\.blogspot\.com -https?:\/\/([^\/]*\.)?freegonzo-od5evmn\.blogspot\.com -https?:\/\/([^\/]*\.)?freeheaven-com-ap22\.blogspot\.com -https?:\/\/([^\/]*\.)?freeheaven-com-w1kx4ymi\.blogspot\.com -https?:\/\/([^\/]*\.)?freehost\.ag -https?:\/\/([^\/]*\.)?freehugemovies-com-dr\.blogspot\.com -https?:\/\/([^\/]*\.)?freehugemovies-com-hi3\.blogspot\.com -https?:\/\/([^\/]*\.)?freeinsite\.net -https?:\/\/([^\/]*\.)?freeinternetplus\.info -https?:\/\/([^\/]*\.)?freenextelringtonesupf\.blogspot\.com -https?:\/\/([^\/]*\.)?freeones-com-amrmdwb\.blogspot\.com -https?:\/\/([^\/]*\.)?freeones-com-m1fc\.blogspot\.com -https?:\/\/([^\/]*\.)?freeones-com-mb70w6\.blogspot\.com -https?:\/\/([^\/]*\.)?freeones-com-mqdm\.blogspot\.com -https?:\/\/([^\/]*\.)?freeones-com-tfirm5smvh\.blogspot\.com -https?:\/\/([^\/]*\.)?freepaintballgun\.com -https?:\/\/([^\/]*\.)?freepicseries-com-kb1\.blogspot\.com -https?:\/\/([^\/]*\.)?freepicseries-com-tfct6n\.blogspot\.com -https?:\/\/([^\/]*\.)?freeportalnow\.com -https?:\/\/([^\/]*\.)?freeringtonedgf\.blogspot\.com -https?:\/\/([^\/]*\.)?freeringtones\.seesaa\.net -https?:\/\/([^\/]*\.)?freeringtonesptl\.blogspot\.com -https?:\/\/([^\/]*\.)?freeringtoness\.fr\.funpic\.de -https?:\/\/([^\/]*\.)?frees--123clips-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--8teenfiles-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--africanvagina-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--ah-me-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--akissbetweenthelegs-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--allsitesaccess-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--amateurcurves-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--asssupply-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--atkmodels-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--auntmia-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--bigtitspalace-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--boneme-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--bootycollection-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--bustyadventures-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--camcrush-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--camelclips-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--caughtnude-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--celebrityscandal-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--cliphunter-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--cowlist-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--dirtydaughter-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--easygals-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--ebonyblack-net\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--el-ladies-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--eurosexparties-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--fuckingfreemovies-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--gallfree-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--girlfur-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--grannyplanet-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--greentits-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--hanksgalleries-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--hereistheporn-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--hornybanana-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--idealbabes-net\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--indianpassion-com\.blogspot\.com -https?:\/\/([^\/]*\.)?frees--ispycameltoe-com\.blogspot\.com -https?:\/\/([^\/]*\.)?freespaces\.com -https?:\/\/([^\/]*\.)?freesprintringtoneenx\.blogspot\.com -https?:\/\/([^\/]*\.)?freesprintringtoneswkd\.blogspot\.com -https?:\/\/([^\/]*\.)?freestyman\.com -https?:\/\/([^\/]*\.)?freetmobileringtonekaw\.blogspot\.com -https?:\/\/([^\/]*\.)?freeverizonringtonevol\.blogspot\.com -https?:\/\/([^\/]*\.)?freewebsitehosting\.net -https?:\/\/([^\/]*\.)?freexmovies-com-i1xi8s\.blogspot\.com -https?:\/\/([^\/]*\.)?freexmovies-com-ojxc1k\.blogspot\.com -https?:\/\/([^\/]*\.)?freeyaho\.com -https?:\/\/([^\/]*\.)?french-kissing-my-sister\.protime\.in\.ua -https?:\/\/([^\/]*\.)?french-kissing\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?french-lick-child-family-entertainment\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?french-tickler-condom\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?french168\.com -https?:\/\/([^\/]*\.)?frenchcum-btb\.blogspot\.com -https?:\/\/([^\/]*\.)?frenchcum-com-mzqj8hpm\.blogspot\.com -https?:\/\/([^\/]*\.)?frenchcum-com-w07ua1w7z\.blogspot\.com -https?:\/\/([^\/]*\.)?fresh-sex\.futureblog\.org -https?:\/\/([^\/]*\.)?friendsgrabber\.com -https?:\/\/([^\/]*\.)?fripcn9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?frog-sexgtw\.blogspot\.com -https?:\/\/([^\/]*\.)?frog-sexlfe\.blogspot\.com -https?:\/\/([^\/]*\.)?frogm\.info -https?:\/\/([^\/]*\.)?frogsex-com-ev4zmddt\.blogspot\.com -https?:\/\/([^\/]*\.)?frogsex-com-ivtcaqfsx\.blogspot\.com -https?:\/\/([^\/]*\.)?frogsex-gnle04e\.blogspot\.com -https?:\/\/([^\/]*\.)?frt3\.org\.ua -https?:\/\/([^\/]*\.)?fsxhl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fsyflower\.com -https?:\/\/([^\/]*\.)?ft568\.com -https?:\/\/([^\/]*\.)?ftffo\.szm\.sk -https?:\/\/([^\/]*\.)?fthaop1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ftntg\.szm\.sk -https?:\/\/([^\/]*\.)?fu-alexus\.blogspot\.com -https?:\/\/([^\/]*\.)?fuck-gallery-picture\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?fuck-her-in-mouth\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fuck-lesbian-pussy\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?fuck-pussy-suck-swallow\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?fuck-sexy-slut\.medved\.od\.ua -https?:\/\/([^\/]*\.)?fuck-the-maidens\.info -https?:\/\/([^\/]*\.)?fuckfromass\.info -https?:\/\/([^\/]*\.)?fucking-hardcore-japanese-slut\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?fucking-lesbian-licking-pussy\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?fucking-machine-thumbnail\.protime\.in\.ua -https?:\/\/([^\/]*\.)?fucking-preity-sucking-zinta\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?fucking-teen-party\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?fuckingfreemovies-com-gvps\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckingfreemovies-com-gy2\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckingfreemovies-com-qogog\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckingmachines-com-b4glo\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckingmachines-com-h3\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckingmachines-com-hqrbqh4\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckk-com-ot8wc\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckk-com-r6\.blogspot\.com -https?:\/\/([^\/]*\.)?fuckk-com-rw5485\.blogspot\.com -https?:\/\/([^\/]*\.)?fucksakes-com-ks7uskz64\.blogspot\.com -https?:\/\/([^\/]*\.)?fufpyl5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?funberry-com-meft\.blogspot\.com -https?:\/\/([^\/]*\.)?funberry-com-mkjvxl\.blogspot\.com -https?:\/\/([^\/]*\.)?funberry-com-tz8\.blogspot\.com -https?:\/\/([^\/]*\.)?funkall\.us -https?:\/\/([^\/]*\.)?funny-stuff\.3ae6ucb\.info -https?:\/\/([^\/]*\.)?funpelv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fuohcbq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?furama\.dtdns\.net -https?:\/\/([^\/]*\.)?furrysoap\.ifrance\.com -https?:\/\/([^\/]*\.)?fuvo-aimee\.blogspot\.com -https?:\/\/([^\/]*\.)?fuyinj\.ebloggy\.com -https?:\/\/([^\/]*\.)?fvinc\.4t\.com -https?:\/\/([^\/]*\.)?fvjz5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fwbhexo\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fweroze\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fwvsp\.szm\.sk -https?:\/\/([^\/]*\.)?fx120\.com -https?:\/\/([^\/]*\.)?fx120\.net -https?:\/\/([^\/]*\.)?fxxb5\.szm\.sk -https?:\/\/([^\/]*\.)?fyisy\.szm\.sk -https?:\/\/([^\/]*\.)?fylfw\.szm\.sk -https?:\/\/([^\/]*\.)?fyyvb\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?fzdlcfzh-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?g-maste\.com -https?:\/\/([^\/]*\.)?g2c2rtc\.info -https?:\/\/([^\/]*\.)?g3eros\.info -https?:\/\/([^\/]*\.)?g76\.be -https?:\/\/([^\/]*\.)?gadkj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gaeq2\.szm\.sk -https?:\/\/([^\/]*\.)?gafdyq9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gagase\.com -https?:\/\/([^\/]*\.)?gailc\.fr33webhost\.com -https?:\/\/([^\/]*\.)?galleries4free-com-e1ew\.blogspot\.com -https?:\/\/([^\/]*\.)?galleries4free-com-o8\.blogspot\.com -https?:\/\/([^\/]*\.)?gallery-jenna-jameson-blonde\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gallery-kissing-woman-woman\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gallery-lesson-milf\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?gallery-lingerie-see-teen-thru\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?gallery-mature-stocking\.protime\.in\.ua -https?:\/\/([^\/]*\.)?gallfree-com-b0uf2q0\.blogspot\.com -https?:\/\/([^\/]*\.)?gallfree-com-ra5f1d7\.blogspot\.com -https?:\/\/([^\/]*\.)?gallfree-com-teruq\.blogspot\.com -https?:\/\/([^\/]*\.)?gallview-com-a2wqsk\.blogspot\.com -https?:\/\/([^\/]*\.)?gallview-com-ahasx\.blogspot\.com -https?:\/\/([^\/]*\.)?gallview-com-wa6froqpl\.blogspot\.com -https?:\/\/([^\/]*\.)?gambling-online-theory\.com -https?:\/\/([^\/]*\.)?gamenase\.com -https?:\/\/([^\/]*\.)?gamez4less\.com -https?:\/\/([^\/]*\.)?gang-bang-free-pic-gallery\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gangsheng\.home4u\.china\.com -https?:\/\/([^\/]*\.)?gaping-ass-sex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gaqx6\.szm\.sk -https?:\/\/([^\/]*\.)?garid\.biz -https?:\/\/([^\/]*\.)?garlic\.hostonmars\.com -https?:\/\/([^\/]*\.)?garter\.nocostwebhosting\.com -https?:\/\/([^\/]*\.)?gastrointestinal\.1\.p2l\.info -https?:\/\/([^\/]*\.)?gastrw\.com -https?:\/\/([^\/]*\.)?gatalgat\.myrealboard\.com -https?:\/\/([^\/]*\.)?gatloral\.myrealboard\.com -https?:\/\/([^\/]*\.)?gatx10258\.blogspot\.com -https?:\/\/([^\/]*\.)?gay-bareback-story\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?gay-big-cock-video-clip\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gay-black-blow-job\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-blonde-twinks\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gay-cum-eater\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-gang-bang-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?gay-girl-kissing\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?gay-girl-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-hispanic-man-naked\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-hot-latinos\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-huge-thick-cock\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-hunk-sex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-man-hardcore\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gay-man-man-sex\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-man-mature-old-picture\.protime\.in\.ua -https?:\/\/([^\/]*\.)?gay-man-naked-wrestling\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?gay-marriage-benefit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-photo-personals\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?gay-porn-clip-zonehyx\.blogspot\.com -https?:\/\/([^\/]*\.)?gay-porn-video-clip-news8dd\.blogspot\.com -https?:\/\/([^\/]*\.)?gay-pride-week-in-florida\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-sex-video-on-demand\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?gay-teen-man\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-teen-sex-clip\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-themed-movie\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?gay-twinks-fucking\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gay-web-cam-site\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gay-woman-chat-rooms\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?gazwc\.szm\.sk -https?:\/\/([^\/]*\.)?gbapc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gbd-amy\.hostithere\.org -https?:\/\/([^\/]*\.)?gbtw1\.fr33webhost\.com -https?:\/\/([^\/]*\.)?gbvgxus\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gceaq\.szm\.sk -https?:\/\/([^\/]*\.)?gcqqkhx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gd-r\.com -https?:\/\/([^\/]*\.)?gdfea\.szm\.sk -https?:\/\/([^\/]*\.)?geb0cs\.nokedem\.com -https?:\/\/([^\/]*\.)?gebu-aeh\.blogspot\.com -https?:\/\/([^\/]*\.)?geddesvicente\.info -https?:\/\/([^\/]*\.)?geflamio\.dl\.pl -https?:\/\/([^\/]*\.)?genaholincorporated\.com -https?:\/\/([^\/]*\.)?generic-paxil\.contact\.cc -https?:\/\/([^\/]*\.)?genericbuy\.o-f\.com -https?:\/\/([^\/]*\.)?genoux\.dnsrd\.com -https?:\/\/([^\/]*\.)?georgiamortgage-x\.com -https?:\/\/([^\/]*\.)?germani4\.blogspot\.com -https?:\/\/([^\/]*\.)?gesrju\.com -https?:\/\/([^\/]*\.)?get6or6li\.dl\.pl -https?:\/\/([^\/]*\.)?getaer\.forumculture\.net -https?:\/\/([^\/]*\.)?getbankruptcylaw\.info -https?:\/\/([^\/]*\.)?getdeerelt\.forumzen\.com -https?:\/\/([^\/]*\.)?getdelsit\.zj\.pl -https?:\/\/([^\/]*\.)?getdomsit\.blogcu\.com -https?:\/\/([^\/]*\.)?getfemon\.dynamicforum\.net -https?:\/\/([^\/]*\.)?getgetvi\.lolbb\.com -https?:\/\/([^\/]*\.)?gethelp24x7\.net -https?:\/\/([^\/]*\.)?getkuric\.blogcu\.com -https?:\/\/([^\/]*\.)?getletovi\.winnerforum\.net -https?:\/\/([^\/]*\.)?getlimon\.discutfree\.com -https?:\/\/([^\/]*\.)?getowson\.dl\.pl -https?:\/\/([^\/]*\.)?gettaer\.ephpbb\.com -https?:\/\/([^\/]*\.)?getzelvi\.goodbb\.net -https?:\/\/([^\/]*\.)?gezu-alaina\.blogspot\.com -https?:\/\/([^\/]*\.)?gfd69\.tripod\.com -https?:\/\/([^\/]*\.)?gg0\.be -https?:\/\/([^\/]*\.)?ggfix\.com -https?:\/\/([^\/]*\.)?gglive\.info -https?:\/\/([^\/]*\.)?gguu\.com -https?:\/\/([^\/]*\.)?ggww\.dtdns\.net -https?:\/\/([^\/]*\.)?ggzhm\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ghhdh\.szm\.sk -https?:\/\/([^\/]*\.)?ghiacci0\.info -https?:\/\/([^\/]*\.)?ghnakjwcjp-video\.blogspot\.com -https?:\/\/([^\/]*\.)?ghrvu\.szm\.sk -https?:\/\/([^\/]*\.)?ghvd7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?giant-cock-shemale\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?giant-dick-sucking\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?giant-dildo-in-pussy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gifo-administrator\.blogspot\.com -https?:\/\/([^\/]*\.)?gigablast\.republika\.pl -https?:\/\/([^\/]*\.)?gigagalleries-com-c1ylawg\.blogspot\.com -https?:\/\/([^\/]*\.)?gigagalleries-com-cn4\.blogspot\.com -https?:\/\/([^\/]*\.)?gigagalleries-com-gd0a\.blogspot\.com -https?:\/\/([^\/]*\.)?gigavids-com-wcmck\.blogspot\.com -https?:\/\/([^\/]*\.)?gimps\.info -https?:\/\/([^\/]*\.)?giochi-java\.heroez\.info -https?:\/\/([^\/]*\.)?gioco-avventura-vari\.bb22\.info -https?:\/\/([^\/]*\.)?gioco-online-picchiaduro\.nnme\.info -https?:\/\/([^\/]*\.)?gipolit\.asp2\.cz -https?:\/\/([^\/]*\.)?girl-butt-in-tight-jeans\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?girl-guy-kissing\.medved\.od\.ua -https?:\/\/([^\/]*\.)?girl-kissing-video-bb-bb-j\.blogspot\.com -https?:\/\/([^\/]*\.)?girl-playing-with-dildo\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?girl-showing-there-boob\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?girl-with-big-dildo\.protime\.in\.ua -https?:\/\/([^\/]*\.)?girlfur-com-ga\.blogspot\.com -https?:\/\/([^\/]*\.)?girlfur-com-pisij\.blogspot\.com -https?:\/\/([^\/]*\.)?gisogenu\.org -https?:\/\/([^\/]*\.)?give-me-baby\.info -https?:\/\/([^\/]*\.)?gjjf\.com -https?:\/\/([^\/]*\.)?gjjp\.left-page\.com -https?:\/\/([^\/]*\.)?gjjp\.zxvo\.com -https?:\/\/([^\/]*\.)?gjqgec8\.info -https?:\/\/([^\/]*\.)?gkjxcs1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gkwzrz8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?glamouronline\.info -https?:\/\/([^\/]*\.)?glebo\.host-page\.com -https?:\/\/([^\/]*\.)?glebo1\.host-page\.com -https?:\/\/([^\/]*\.)?glebo2\.host-page\.com -https?:\/\/([^\/]*\.)?glebo3\.host-page\.com -https?:\/\/([^\/]*\.)?glebo4\.host-page\.com -https?:\/\/([^\/]*\.)?glebo5\.host-page\.com -https?:\/\/([^\/]*\.)?glebo6\.host-page\.com -https?:\/\/([^\/]*\.)?glebo7\.host-page\.com -https?:\/\/([^\/]*\.)?glebo8\.host-page\.com -https?:\/\/([^\/]*\.)?glebo9\.host-page\.com -https?:\/\/([^\/]*\.)?glmv6\.szm\.sk -https?:\/\/([^\/]*\.)?globalbartertrade\.info -https?:\/\/([^\/]*\.)?globalflights\.org -https?:\/\/([^\/]*\.)?globalrecreationguide\.com -https?:\/\/([^\/]*\.)?globegarment\.com\.cn -https?:\/\/([^\/]*\.)?glodgreen\.info -https?:\/\/([^\/]*\.)?gloryhole\.coz\.in -https?:\/\/([^\/]*\.)?glovebox\.freewebpage\.org -https?:\/\/([^\/]*\.)?gloveboxes\.cn -https?:\/\/([^\/]*\.)?gloveboxes\.com\.cn -https?:\/\/([^\/]*\.)?glover\.host-page\.com -https?:\/\/([^\/]*\.)?glover1\.host-page\.com -https?:\/\/([^\/]*\.)?glover2\.host-page\.com -https?:\/\/([^\/]*\.)?glover3\.host-page\.com -https?:\/\/([^\/]*\.)?glover4\.host-page\.com -https?:\/\/([^\/]*\.)?glover5\.host-page\.com -https?:\/\/([^\/]*\.)?glover6\.host-page\.com -https?:\/\/([^\/]*\.)?glover7\.host-page\.com -https?:\/\/([^\/]*\.)?glover8\.host-page\.com -https?:\/\/([^\/]*\.)?glover9\.host-page\.com -https?:\/\/([^\/]*\.)?gmldsb\.com -https?:\/\/([^\/]*\.)?gnsgs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?go-ansna\.ibelgique\.com -https?:\/\/([^\/]*\.)?goaie\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?goatlist-com-dk15cne\.blogspot\.com -https?:\/\/([^\/]*\.)?goatlist-com-hi\.blogspot\.com -https?:\/\/([^\/]*\.)?goatlist-com-o5\.blogspot\.com -https?:\/\/([^\/]*\.)?gobabo\.nocostwebhosting\.com -https?:\/\/([^\/]*\.)?gobald\.dtdns\.net -https?:\/\/([^\/]*\.)?gobu4\.szm\.sk -https?:\/\/([^\/]*\.)?gogllefr\.125mb\.com -https?:\/\/([^\/]*\.)?gokletvi\.dynamicbb\.com -https?:\/\/([^\/]*\.)?goko-adeline\.blogspot\.com -https?:\/\/([^\/]*\.)?gold-watch\.grimgoe\.be -https?:\/\/([^\/]*\.)?gold\.fathippohosting\.com -https?:\/\/([^\/]*\.)?goldsexcity\.info -https?:\/\/([^\/]*\.)?goldshop\.freehostia\.com -https?:\/\/([^\/]*\.)?golenord\.dl\.pl -https?:\/\/([^\/]*\.)?goler-sor1z\.blogspot\.com -https?:\/\/([^\/]*\.)?golfhq\.org -https?:\/\/([^\/]*\.)?golfshoot\.com -https?:\/\/([^\/]*\.)?gololed\.blogspot\.com -https?:\/\/([^\/]*\.)?gomy0\.szm\.sk -https?:\/\/([^\/]*\.)?gonzo-movies-com-ez\.blogspot\.com -https?:\/\/([^\/]*\.)?gonzo-movies-rkk5jq\.blogspot\.com -https?:\/\/([^\/]*\.)?good568\.com -https?:\/\/([^\/]*\.)?goodhealthjobs\.info -https?:\/\/([^\/]*\.)?goodticket\.org -https?:\/\/([^\/]*\.)?google-pharmacy\.com -https?:\/\/([^\/]*\.)?google110\.yculblog\.com -https?:\/\/([^\/]*\.)?googlepaiming\.ebloggy\.com -https?:\/\/([^\/]*\.)?googletosh\.org -https?:\/\/([^\/]*\.)?goporn\.info -https?:\/\/([^\/]*\.)?gopremen\.dl\.pl -https?:\/\/([^\/]*\.)?gor-richards-realm-com\.blogspot\.com -https?:\/\/([^\/]*\.)?gorillalinks-com-t77\.blogspot\.com -https?:\/\/([^\/]*\.)?gorillashaman\.blogspot\.com -https?:\/\/([^\/]*\.)?gorlum\.t35\.com -https?:\/\/([^\/]*\.)?gorunger\.com -https?:\/\/([^\/]*\.)?goxzk\.szm\.sk -https?:\/\/([^\/]*\.)?gpdmr\.szm\.sk -https?:\/\/([^\/]*\.)?gphv0\.szm\.sk -https?:\/\/([^\/]*\.)?gplea\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gqnzzlu\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?graduate-schools\.hotmail\.ru -https?:\/\/([^\/]*\.)?graduate1degree\.chat\.ru -https?:\/\/([^\/]*\.)?graduate2schools\.chat\.ru -https?:\/\/([^\/]*\.)?graf\.pp\.ru -https?:\/\/([^\/]*\.)?grammatica-inglese\.bb11\.info -https?:\/\/([^\/]*\.)?gran-roques\.forumhst\.info -https?:\/\/([^\/]*\.)?granny-boy-free-pic\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?granny-movie-thumb\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?grannyorgies-com-o1w34\.blogspot\.com -https?:\/\/([^\/]*\.)?grannyorgies-com-ormpubp\.blogspot\.com -https?:\/\/([^\/]*\.)?grannyorgies-com-r2on\.blogspot\.com -https?:\/\/([^\/]*\.)?grannypictures-com-a2w1\.blogspot\.com -https?:\/\/([^\/]*\.)?grannypictures-com-ak6273j85t\.blogspot\.com -https?:\/\/([^\/]*\.)?grannyplanet-com-k1bea\.blogspot\.com -https?:\/\/([^\/]*\.)?great-ass-gallery\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?greataftorless\.com -https?:\/\/([^\/]*\.)?greatbmwclub\.cn -https?:\/\/([^\/]*\.)?greatbmwparts\.cn -https?:\/\/([^\/]*\.)?greatbudgetinn\.info -https?:\/\/([^\/]*\.)?greathal\.com -https?:\/\/([^\/]*\.)?greatinsurancedirect\.info -https?:\/\/([^\/]*\.)?greatmercedescar\.info -https?:\/\/([^\/]*\.)?greatpsychology\.info -https?:\/\/([^\/]*\.)?greatusainternet\.info -https?:\/\/([^\/]*\.)?green-gradens\.org -https?:\/\/([^\/]*\.)?green-tea-300\.co\.nr -https?:\/\/([^\/]*\.)?green-tea\.co\.nr -https?:\/\/([^\/]*\.)?greentits-com-kr3h3787pt\.blogspot\.com -https?:\/\/([^\/]*\.)?greentits-com-t8xf3x5\.blogspot\.com -https?:\/\/([^\/]*\.)?greentits-com-tr242sh16\.blogspot\.com -https?:\/\/([^\/]*\.)?greet\.ipupdater\.net -https?:\/\/([^\/]*\.)?grgul\.szm\.sk -https?:\/\/([^\/]*\.)?griev\.ipupdater\.com -https?:\/\/([^\/]*\.)?griffeylaw\.com -https?:\/\/([^\/]*\.)?grimasa\.republika\.pl -https?:\/\/([^\/]*\.)?groovybus-com-cv8ry83\.blogspot\.com -https?:\/\/([^\/]*\.)?groovybus-com-gy1258kur3\.blogspot\.com -https?:\/\/([^\/]*\.)?groupforums\.com -https?:\/\/([^\/]*\.)?groups-msn-com-masturbating-site-woman\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?groups\.ku\.edu -https?:\/\/([^\/]*\.)?grrualca\.jconserv\.net -https?:\/\/([^\/]*\.)?gsaxz\.szm\.sk -https?:\/\/([^\/]*\.)?gsebook\.org -https?:\/\/([^\/]*\.)?gsloi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gsuyfy2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gsxez\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gu-amateur-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?guangdianyuanjian\.dzsc\.com -https?:\/\/([^\/]*\.)?gudtk\.fr33webhost\.com -https?:\/\/([^\/]*\.)?guess76\.blogspot\.com -https?:\/\/([^\/]*\.)?guilty-until-proven-innocent\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?gumaxxx-com-e3748i87g\.blogspot\.com -https?:\/\/([^\/]*\.)?gumaxxx-com-ow774pk74m\.blogspot\.com -https?:\/\/([^\/]*\.)?gumybear\.php5\.cz -https?:\/\/([^\/]*\.)?gunterdirect\.com -https?:\/\/([^\/]*\.)?gunterlawoffice\.com -https?:\/\/([^\/]*\.)?guruful\.stabilt\.se -https?:\/\/([^\/]*\.)?guys-butt-fucking\.medved\.od\.ua -https?:\/\/([^\/]*\.)?gvfefn3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gwebsearch\.org -https?:\/\/([^\/]*\.)?gwjsx\.szm\.sk -https?:\/\/([^\/]*\.)?gxrd3\.szm\.sk -https?:\/\/([^\/]*\.)?gyig3\.szm\.sk -https?:\/\/([^\/]*\.)?gym-equipments\.org -https?:\/\/([^\/]*\.)?gyzvpxl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gzmayz6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?gzvwa\.szm\.sk -https?:\/\/([^\/]*\.)?h0vutok\.nokedem\.com -https?:\/\/([^\/]*\.)?h15\.ru -https?:\/\/([^\/]*\.)?h3as88dw\.info -https?:\/\/([^\/]*\.)?habromjw\.dl\.pl -https?:\/\/([^\/]*\.)?haemcurio\.0moola\.com -https?:\/\/([^\/]*\.)?hahas\.info -https?:\/\/([^\/]*\.)?hairy-ass-hole\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?hairy-chubby-gallery\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?hairy-leg-pic-woman\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hairy-milf-movie\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?hairydivas-com-hg2gvyc\.blogspot\.com -https?:\/\/([^\/]*\.)?hairydivas-t150c5gmf8\.blogspot\.com -https?:\/\/([^\/]*\.)?hairyerotica-com-i4fl2x\.blogspot\.com -https?:\/\/([^\/]*\.)?hairypinktacos-com-djl\.blogspot\.com -https?:\/\/([^\/]*\.)?hairypinktacos-com-hlnfq3rea2\.blogspot\.com -https?:\/\/([^\/]*\.)?hairypussypost-com-mk0ymrj\.blogspot\.com -https?:\/\/([^\/]*\.)?hairypussypost-com-w6\.blogspot\.com -https?:\/\/([^\/]*\.)?hal\.engr\.smu\.edu -https?:\/\/([^\/]*\.)?halloween2006\.info -https?:\/\/([^\/]*\.)?halx8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hamalo\.com -https?:\/\/([^\/]*\.)?hamas2007\.republika\.pl -https?:\/\/([^\/]*\.)?hand-job-movie-x-x-d\.blogspot\.com -https?:\/\/([^\/]*\.)?hand-stained-xx\.blogspot\.com -https?:\/\/([^\/]*\.)?hangzhau\.cn -https?:\/\/([^\/]*\.)?hanksgalleries-com-b73flku8\.blogspot\.com -https?:\/\/([^\/]*\.)?hanksgalleries-com-rtuvbgdl\.blogspot\.com -https?:\/\/([^\/]*\.)?hanry\.stabilt\.se -https?:\/\/([^\/]*\.)?haole\.cn -https?:\/\/([^\/]*\.)?happy-pharma\.com -https?:\/\/([^\/]*\.)?hard-disk-esterno\.hostzz\.info -https?:\/\/([^\/]*\.)?hard-disk-esterno\.ll11\.info -https?:\/\/([^\/]*\.)?hardbabes-com-e061obbg\.blogspot\.com -https?:\/\/([^\/]*\.)?hardbabes-com-e588iqk\.blogspot\.com -https?:\/\/([^\/]*\.)?hardcore-amateur-thumbnail\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hardcore-asian-anal\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?hardcore-dancing-site-myspace-com\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hardcore-free-porn-xx\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?hardcore-lesbian-pussy-eating\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hardcore-mature-sex-young\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?hardcore-porn-clip-info73q\.blogspot\.com -https?:\/\/([^\/]*\.)?hardcore-sex-black-on-white\.protime\.in\.ua -https?:\/\/([^\/]*\.)?hardcore-xxx-video\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hardcoregangstas\.hrable\.dtdns\.net -https?:\/\/([^\/]*\.)?hardhut-com-ao8renz\.blogspot\.com -https?:\/\/([^\/]*\.)?hardhut-com-tgi\.blogspot\.com -https?:\/\/([^\/]*\.)?hardhut-com-wb8m8\.blogspot\.com -https?:\/\/([^\/]*\.)?hargd\.szm\.sk -https?:\/\/([^\/]*\.)?harley-davidson-womens-boot\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?harted\.hostpresso\.com -https?:\/\/([^\/]*\.)?haungsanok\.com -https?:\/\/([^\/]*\.)?hawaiimortgage-x\.com -https?:\/\/([^\/]*\.)?hawbij4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hawkesnest\.com -https?:\/\/([^\/]*\.)?hazell-keeley-sex-video-bb-bb-f\.blogspot\.com -https?:\/\/([^\/]*\.)?hbyfq\.fr33webhost\.com -https?:\/\/([^\/]*\.)?hcgs\.unh\.edu -https?:\/\/([^\/]*\.)?hclt-events\.blogspot\.com -https?:\/\/([^\/]*\.)?hdbj\.com\.cn -https?:\/\/([^\/]*\.)?hdchina\.com -https?:\/\/([^\/]*\.)?hdlwc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hdndeuw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?he-wells\.blogspot\.com -https?:\/\/([^\/]*\.)?he-wendy\.blogspot\.com -https?:\/\/([^\/]*\.)?head-masturbating-shower-woman\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?health-insurance-0\.blogspot\.com -https?:\/\/([^\/]*\.)?health-insurance-save\.com -https?:\/\/([^\/]*\.)?health-jack\.com -https?:\/\/([^\/]*\.)?healthinsurance-x\.com -https?:\/\/([^\/]*\.)?healthprocare\.info -https?:\/\/([^\/]*\.)?hebei-railings\.cn -https?:\/\/([^\/]*\.)?hecarabi\.info -https?:\/\/([^\/]*\.)?hefo-adrianna\.blogspot\.com -https?:\/\/([^\/]*\.)?hek-tshirthell-com\.blogspot\.com -https?:\/\/([^\/]*\.)?hellim\.3x\.ro -https?:\/\/([^\/]*\.)?heloween\.php5\.cz -https?:\/\/([^\/]*\.)?hemilton\.stabilt\.se -https?:\/\/([^\/]*\.)?hengxinbanjia\.com -https?:\/\/([^\/]*\.)?her-first-anal-fucking\.protime\.in\.ua -https?:\/\/([^\/]*\.)?her-first-cum\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?her-first-lesbian-sex-kylie\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?her-first-small-dick\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?her-sweet-ass\.protime\.in\.ua -https?:\/\/([^\/]*\.)?here\.com\.cn -https?:\/\/([^\/]*\.)?hereandnow0\.com -https?:\/\/([^\/]*\.)?hereistheporn-com-abg\.blogspot\.com -https?:\/\/([^\/]*\.)?hereistheporn-com-wxu4\.blogspot\.com -https?:\/\/([^\/]*\.)?herpes\.1\.p2l\.info -https?:\/\/([^\/]*\.)?herufip\.info -https?:\/\/([^\/]*\.)?heschlos\.dl\.pl -https?:\/\/([^\/]*\.)?hevo-alannah\.blogspot\.com -https?:\/\/([^\/]*\.)?hexingqc\.com -https?:\/\/([^\/]*\.)?hfpm\.com -https?:\/\/([^\/]*\.)?hfsflm0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hfslink\.com -https?:\/\/([^\/]*\.)?hgdpy\.szm\.sk -https?:\/\/([^\/]*\.)?hgh\.rx4\.org -https?:\/\/([^\/]*\.)?hgqz5\.szm\.sk -https?:\/\/([^\/]*\.)?hguldxxe-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?hgyxs\.szm\.sk -https?:\/\/([^\/]*\.)?hhcoh\.szm\.sk -https?:\/\/([^\/]*\.)?hhlive\.info -https?:\/\/([^\/]*\.)?hhpump\.com -https?:\/\/([^\/]*\.)?hiadadar\.forumzen\.com -https?:\/\/([^\/]*\.)?higarret\.forumzen\.com -https?:\/\/([^\/]*\.)?high-heel-western-boot\.medved\.od\.ua -https?:\/\/([^\/]*\.)?high-school-diploma\.hotmail\.ru -https?:\/\/([^\/]*\.)?high1school4dipl\.chat\.ru -https?:\/\/([^\/]*\.)?highclassblogs\.com -https?:\/\/([^\/]*\.)?hilarykallin\.50webs\.org -https?:\/\/([^\/]*\.)?hilipa\.com -https?:\/\/([^\/]*\.)?hilipy\.com -https?:\/\/([^\/]*\.)?hillery\.republika\.pl -https?:\/\/([^\/]*\.)?himd4\.szm\.sk -https?:\/\/([^\/]*\.)?himp3\.biz -https?:\/\/([^\/]*\.)?hinn8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hioctane-com-dlmv6g7y\.blogspot\.com -https?:\/\/([^\/]*\.)?hioctane-com-dq4opea\.blogspot\.com -https?:\/\/([^\/]*\.)?hioctane-com-h0un\.blogspot\.com -https?:\/\/([^\/]*\.)?hioctane-com-toxuz\.blogspot\.com -https?:\/\/([^\/]*\.)?hipoldlady\.com -https?:\/\/([^\/]*\.)?hirudaco\.forumzen\.com -https?:\/\/([^\/]*\.)?his13lessings\.blogspot\.com -https?:\/\/([^\/]*\.)?history-of-condom\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?hisyma\.dl\.pl -https?:\/\/([^\/]*\.)?hitm4n\.blogspot\.com -https?:\/\/([^\/]*\.)?hiv123\.com -https?:\/\/([^\/]*\.)?hiv987\.zj\.com -https?:\/\/([^\/]*\.)?hjia\.ebloggy\.com -https?:\/\/([^\/]*\.)?hjolmed\.com -https?:\/\/([^\/]*\.)?hkcompanyforyou\.cn -https?:\/\/([^\/]*\.)?hkfeng\.com -https?:\/\/([^\/]*\.)?hkwei\.com\.cn -https?:\/\/([^\/]*\.)?hlemizd\.republika\.pl -https?:\/\/([^\/]*\.)?hlusky\.republika\.pl -https?:\/\/([^\/]*\.)?hlxn6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hmppbw-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?hnxsv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ho-big-clip-tit-video-hox\.blogspot\.com -https?:\/\/([^\/]*\.)?hobaysin\.ifrance\.com -https?:\/\/([^\/]*\.)?hocohn\.dl\.pl -https?:\/\/([^\/]*\.)?hohoo\.cn -https?:\/\/([^\/]*\.)?hold-em-play\.com -https?:\/\/([^\/]*\.)?hold-em-play\.net -https?:\/\/([^\/]*\.)?hold-em-winner\.us -https?:\/\/([^\/]*\.)?home-made-porn-clip-blogt7y\.blogspot\.com -https?:\/\/([^\/]*\.)?home-mortgages\.bigsitecity\.com -https?:\/\/([^\/]*\.)?home-sauna\.boom\.ru -https?:\/\/([^\/]*\.)?home-secure\.org -https?:\/\/([^\/]*\.)?home-sex-video-t1ux7\.blogspot\.com -https?:\/\/([^\/]*\.)?home-spire\.com -https?:\/\/([^\/]*\.)?home\.graffiti\.net -https?:\/\/([^\/]*\.)?home\.sailormoon\.com -https?:\/\/([^\/]*\.)?home2-school\.boom\.ru -https?:\/\/([^\/]*\.)?homeequitylineofcredit-x\.com -https?:\/\/([^\/]*\.)?homeequitylineofcreditlenders\.com -https?:\/\/([^\/]*\.)?homeequityloan-now\.com -https?:\/\/([^\/]*\.)?homeequityloans-now\.com -https?:\/\/([^\/]*\.)?homeequityloans-x\.com -https?:\/\/([^\/]*\.)?homefinance-x\.com -https?:\/\/([^\/]*\.)?homeloan-now\.com -https?:\/\/([^\/]*\.)?homeloanlogic\.com -https?:\/\/([^\/]*\.)?homeloans-now\.com -https?:\/\/([^\/]*\.)?homemade-mature-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?homemade-porn-clip-infoywx\.blogspot\.com -https?:\/\/([^\/]*\.)?homesafterbankruptcy\.info -https?:\/\/([^\/]*\.)?homesbysellers\.com -https?:\/\/([^\/]*\.)?homesbysellers\.net -https?:\/\/([^\/]*\.)?homesexvideo\.org -https?:\/\/([^\/]*\.)?hometowngirls\.be -https?:\/\/([^\/]*\.)?hometwat-com-hrmml\.blogspot\.com -https?:\/\/([^\/]*\.)?homos\.php5\.cz -https?:\/\/([^\/]*\.)?homunkulus\.info -https?:\/\/([^\/]*\.)?homunkulus\.republika\.pl -https?:\/\/([^\/]*\.)?homy\.etowns\.net -https?:\/\/([^\/]*\.)?honba\.republika\.pl -https?:\/\/([^\/]*\.)?honey99\.cn -https?:\/\/([^\/]*\.)?honey99\.com -https?:\/\/([^\/]*\.)?hongjianlaw\.com -https?:\/\/([^\/]*\.)?hongqi120\.com -https?:\/\/([^\/]*\.)?hoodia\.269g\.net -https?:\/\/([^\/]*\.)?hoodiadiet\.269g\.net -https?:\/\/([^\/]*\.)?hopemarry\.com -https?:\/\/([^\/]*\.)?horizondrugs\.zaclona\.yi\.org -https?:\/\/([^\/]*\.)?hornina\.net -https?:\/\/([^\/]*\.)?horny-butt-sex\.medved\.od\.ua -https?:\/\/([^\/]*\.)?horny-grannysex-bipiw\.blogspot\.com -https?:\/\/([^\/]*\.)?horny-hailey\.hostithere\.org -https?:\/\/([^\/]*\.)?hornybanana-com-mg\.blogspot\.com -https?:\/\/([^\/]*\.)?hornybanana-com-to0b\.blogspot\.com -https?:\/\/([^\/]*\.)?hornycrocodile-com-c37c85\.blogspot\.com -https?:\/\/([^\/]*\.)?hornycrocodile-com-gmb5ev\.blogspot\.com -https?:\/\/([^\/]*\.)?hornycrocodile-com-gv3x3oxt\.blogspot\.com -https?:\/\/([^\/]*\.)?hornyduck-com-esta\.blogspot\.com -https?:\/\/([^\/]*\.)?hornyduck-com-oix7y2v\.blogspot\.com -https?:\/\/([^\/]*\.)?hornykaren-com-b16sk5\.blogspot\.com -https?:\/\/([^\/]*\.)?hornykaren-com-bl4rw4\.blogspot\.com -https?:\/\/([^\/]*\.)?hornykaren-com-rg034\.blogspot\.com -https?:\/\/([^\/]*\.)?hornyspanishflies-com-c0cx6a3bo\.blogspot\.com -https?:\/\/([^\/]*\.)?hornyspanishflies-com-ks5856vf77\.blogspot\.com -https?:\/\/([^\/]*\.)?hornytiger-com-d3\.blogspot\.com -https?:\/\/([^\/]*\.)?hornytiger-com-il0x678fwr\.blogspot\.com -https?:\/\/([^\/]*\.)?hornywolf-com-m27\.blogspot\.com -https?:\/\/([^\/]*\.)?hornywolf-com-tqwaj\.blogspot\.com -https?:\/\/([^\/]*\.)?hospitalonline\.cn -https?:\/\/([^\/]*\.)?host-page\.com -https?:\/\/([^\/]*\.)?hosting1999\.com -https?:\/\/([^\/]*\.)?hosting41\.com -https?:\/\/([^\/]*\.)?hot-anal-sex-com\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hot-asian-cock\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?hot-ass-anal\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?hot-blonde-babe-gallery\.protime\.in\.ua -https?:\/\/([^\/]*\.)?hot-brazilian-ass\.protime\.in\.ua -https?:\/\/([^\/]*\.)?hot-bubble-butt-girl\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?hot-cheerleader-getting-fucked\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?hot-dating-chat\.ifastnet\.com -https?:\/\/([^\/]*\.)?hot-latino-ass\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?hot-mature-sex-uk-woman\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?hot-mature-xxx\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?hot-mom-site-myspace-com\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?hot-nude-blonde-chick\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?hot-pussy-tit-ass\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?hot-sex-video-bb-bb-v\.blogspot\.com -https?:\/\/([^\/]*\.)?hotbigmovies-com-cd\.blogspot\.com -https?:\/\/([^\/]*\.)?hotbigmovies-com-k62que75im\.blogspot\.com -https?:\/\/([^\/]*\.)?hotchina\.org -https?:\/\/([^\/]*\.)?hotel-centro-benessere\.host24h\.info -https?:\/\/([^\/]*\.)?hotel-offerta\.nnme\.info -https?:\/\/([^\/]*\.)?hotel-shop\.info -https?:\/\/([^\/]*\.)?hotelsaccommodations\.info -https?:\/\/([^\/]*\.)?hotfunhouse-com-pevuv\.blogspot\.com -https?:\/\/([^\/]*\.)?hotfunhouse-com-r5530\.blogspot\.com -https?:\/\/([^\/]*\.)?hotgirlsplayroom-com-dl0q21\.blogspot\.com -https?:\/\/([^\/]*\.)?hotgirlsplayroom-com-isnkeded\.blogspot\.com -https?:\/\/([^\/]*\.)?hotmoko\.info -https?:\/\/([^\/]*\.)?hotorange-net-ms\.blogspot\.com -https?:\/\/([^\/]*\.)?hotpapai-com-hoc3g\.blogspot\.com -https?:\/\/([^\/]*\.)?hotty-x\.com -https?:\/\/([^\/]*\.)?hottystop-com-a252gugtk\.blogspot\.com -https?:\/\/([^\/]*\.)?hottystop-com-grn\.blogspot\.com -https?:\/\/([^\/]*\.)?house-15\.jeepsyc\.be -https?:\/\/([^\/]*\.)?houses-bahamas\.ligamic\.be -https?:\/\/([^\/]*\.)?housewifeaction-com-evv\.blogspot\.com -https?:\/\/([^\/]*\.)?housewifeaction-com-o6z0yrnat\.blogspot\.com -https?:\/\/([^\/]*\.)?housewifeaction-com-ob85\.blogspot\.com -https?:\/\/([^\/]*\.)?hovadko\.isuisse\.com -https?:\/\/([^\/]*\.)?hovass\.com -https?:\/\/([^\/]*\.)?hovi-albatross\.blogspot\.com -https?:\/\/([^\/]*\.)?how-to-catch-a-cheating-spouse\.com -https?:\/\/([^\/]*\.)?how-to-make-a-boot-disk-on-win-xp\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?how-to-make-a-boot-disk\.medved\.od\.ua -https?:\/\/([^\/]*\.)?how-to-make-a-cock-ring\.protime\.in\.ua -https?:\/\/([^\/]*\.)?hppr7\.szm\.sk -https?:\/\/([^\/]*\.)?hpua6\.szm\.sk -https?:\/\/([^\/]*\.)?hpwe6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hq-casino\.org -https?:\/\/([^\/]*\.)?hq-teens-com-aq\.blogspot\.com -https?:\/\/([^\/]*\.)?hq-teens-com-w2opp2\.blogspot\.com -https?:\/\/([^\/]*\.)?hq\.left-page\.com -https?:\/\/([^\/]*\.)?hqgal-com-eu7gbk1o\.blogspot\.com -https?:\/\/([^\/]*\.)?hqgal-com-ilxpxi0\.blogspot\.com -https?:\/\/([^\/]*\.)?hqmovs-com-k31h4x37df\.blogspot\.com -https?:\/\/([^\/]*\.)?hqmovs-com-tiou81\.blogspot\.com -https?:\/\/([^\/]*\.)?hqmovs-com-ts5\.blogspot\.com -https?:\/\/([^\/]*\.)?hrable\.ostabil\.nu -https?:\/\/([^\/]*\.)?hrhbchj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hromotlk\.asp2\.cz -https?:\/\/([^\/]*\.)?hrusky\.dtdns\.net -https?:\/\/([^\/]*\.)?hscrza1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ht120\.com -https?:\/\/([^\/]*\.)?htejj\.szm\.sk -https?:\/\/([^\/]*\.)?huaeq\.fr33webhost\.com -https?:\/\/([^\/]*\.)?huapatossu\.blogspot\.com -https?:\/\/([^\/]*\.)?huataix\.net -https?:\/\/([^\/]*\.)?hubo-aileen\.blogspot\.com -https?:\/\/([^\/]*\.)?huem-polbu\.netfirms\.com -https?:\/\/([^\/]*\.)?huge-cock-shemale\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?huge-dick-anal\.protime\.in\.ua -https?:\/\/([^\/]*\.)?huge-dildo-fucking\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?huge-mexican-ass\.protime\.in\.ua -https?:\/\/([^\/]*\.)?huge-sexy-boob\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?huge-white-dick\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?hulio\.asp2\.cz -https?:\/\/([^\/]*\.)?hulks\.info -https?:\/\/([^\/]*\.)?hummerworldusa\.info -https?:\/\/([^\/]*\.)?hupa4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hurvinek\.isuisse\.com -https?:\/\/([^\/]*\.)?huspinina\.com -https?:\/\/([^\/]*\.)?hutwistina\.com -https?:\/\/([^\/]*\.)?huynani\.mpage\.jp -https?:\/\/([^\/]*\.)?hvebjr2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hver5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hvlnb\.fr33webhost\.com -https?:\/\/([^\/]*\.)?hwantiig-yg\.blogspot\.com -https?:\/\/([^\/]*\.)?hwcw4\.szm\.sk -https?:\/\/([^\/]*\.)?hwhhw\.fr33webhost\.com -https?:\/\/([^\/]*\.)?hwkxt\.szm\.sk -https?:\/\/([^\/]*\.)?hxbqpz3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?hxlll\.net -https?:\/\/([^\/]*\.)?hydrochloride-tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?hydrocodone-911\.coz\.in -https?:\/\/([^\/]*\.)?hydrocodone-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?hydrocodone-gs\.eu\.tc -https?:\/\/([^\/]*\.)?hydrocodone-gs\.net\.tc -https?:\/\/([^\/]*\.)?hydrocodone-online\.presteert\.nl -https?:\/\/([^\/]*\.)?hydrocodone\.cheapills\.info -https?:\/\/([^\/]*\.)?hydrocodone\.conto\.pl -https?:\/\/([^\/]*\.)?hydrocodone\.esguay\.com -https?:\/\/([^\/]*\.)?hydrocodone\.fws1\.com -https?:\/\/([^\/]*\.)?hydrocodone\.guu\.pl -https?:\/\/([^\/]*\.)?hydrocodone\.presteert\.nl -https?:\/\/([^\/]*\.)?hydrocodone\.slyip\.net -https?:\/\/([^\/]*\.)?hydrocodonebxs\.blogspot\.com -https?:\/\/([^\/]*\.)?hydrocodoneq\.phpbbx\.de -https?:\/\/([^\/]*\.)?hydrocodonerx\.weboficial\.com -https?:\/\/([^\/]*\.)?hyip\.fanforum\.cc -https?:\/\/([^\/]*\.)?hz7\.org -https?:\/\/([^\/]*\.)?hzkap\.szm\.sk -https?:\/\/([^\/]*\.)?hzmeitai\.com -https?:\/\/([^\/]*\.)?hzui8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?i-truepoker\.com -https?:\/\/([^\/]*\.)?iactive\.com\.cn -https?:\/\/([^\/]*\.)?iapon\.galeon\.com -https?:\/\/([^\/]*\.)?ibizababes-com-tr\.blogspot\.com -https?:\/\/([^\/]*\.)?ic37\.com -https?:\/\/([^\/]*\.)?icdufetc\.forumzen\.com -https?:\/\/([^\/]*\.)?ickaboo\.com -https?:\/\/([^\/]*\.)?icnfr\.szm\.sk -https?:\/\/([^\/]*\.)?ict\.188info\.com -https?:\/\/([^\/]*\.)?idahomortgage-x\.com -https?:\/\/([^\/]*\.)?idc2008\.cn -https?:\/\/([^\/]*\.)?idealbabes-net-r5x1puaah0\.blogspot\.com -https?:\/\/([^\/]*\.)?iditarodhumor\.info -https?:\/\/([^\/]*\.)?iehf\.blogspot\.com -https?:\/\/([^\/]*\.)?iehffy8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?iehzup8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ifdbx\.szm\.sk -https?:\/\/([^\/]*\.)?ifmnqm6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ifyj2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ihavenourl\.com -https?:\/\/([^\/]*\.)?ihomebroker\.com -https?:\/\/([^\/]*\.)?ihrd\.blogspot\.com -https?:\/\/([^\/]*\.)?iiak2\.szm\.sk -https?:\/\/([^\/]*\.)?iio91\.net -https?:\/\/([^\/]*\.)?iisqvkk\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?iitop\.info -https?:\/\/([^\/]*\.)?ikoxf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?il4unu\.com -https?:\/\/([^\/]*\.)?ilflz\.szm\.sk -https?:\/\/([^\/]*\.)?ilfwvf2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?illcom\.com -https?:\/\/([^\/]*\.)?illinoismortgage-x\.com -https?:\/\/([^\/]*\.)?ilove-movies-com-w5nx\.blogspot\.com -https?:\/\/([^\/]*\.)?ilove-movies-com-wrde\.blogspot\.com -https?:\/\/([^\/]*\.)?iloveubaby\.info -https?:\/\/([^\/]*\.)?iltbl\.fr33webhost\.com -https?:\/\/([^\/]*\.)?im-really-cool\.blogspot\.com -https?:\/\/([^\/]*\.)?imitrex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?imitrexinjections\.sblog\.cz -https?:\/\/([^\/]*\.)?immagine-sfondo-hello-kitty\.i111i\.info -https?:\/\/([^\/]*\.)?imposingimo\.com -https?:\/\/([^\/]*\.)?impossiblemale61\.blogspot\.com -https?:\/\/([^\/]*\.)?imteen\.attacke\.ch -https?:\/\/([^\/]*\.)?incontri-amore\.19mb\.info -https?:\/\/([^\/]*\.)?incontri-amore\.you-bizz\.info -https?:\/\/([^\/]*\.)?indian-porn-clip-zone5j4\.blogspot\.com -https?:\/\/([^\/]*\.)?indian-porn-video-zo\.blogspot\.com -https?:\/\/([^\/]*\.)?indian-sex-fuck\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?indianamortgage-x\.com -https?:\/\/([^\/]*\.)?indienudes-com-h4owj60\.blogspot\.com -https?:\/\/([^\/]*\.)?infinitemonies\.com -https?:\/\/([^\/]*\.)?infinitieyewear\.info -https?:\/\/([^\/]*\.)?infinitims\.info -https?:\/\/([^\/]*\.)?infinitipianeta\.info -https?:\/\/([^\/]*\.)?infoarena\.info -https?:\/\/([^\/]*\.)?infospm\.21publish\.de -https?:\/\/([^\/]*\.)?infty\.net -https?:\/\/([^\/]*\.)?injecfu\.com -https?:\/\/([^\/]*\.)?injxx\.szm\.sk -https?:\/\/([^\/]*\.)?innocent-ass\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?innocent-busty-teen\.medved\.od\.ua -https?:\/\/([^\/]*\.)?innocent-eve-pic\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?innocentdream-com-da\.blogspot\.com -https?:\/\/([^\/]*\.)?inqygjz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?inrhqi3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?insidethecloset\.com -https?:\/\/([^\/]*\.)?inspectorgalleries-com-k5\.blogspot\.com -https?:\/\/([^\/]*\.)?insurance-leader\.com -https?:\/\/([^\/]*\.)?insurance-top\.com -https?:\/\/([^\/]*\.)?insurance\.topforyou\.net -https?:\/\/([^\/]*\.)?internal-ass-cum-shot\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?international-dating\.sexnation\.info -https?:\/\/([^\/]*\.)?interracial-gang-bang-crew\.medved\.od\.ua -https?:\/\/([^\/]*\.)?interracial-gay-anal-sex\.medved\.od\.ua -https?:\/\/([^\/]*\.)?interracial-lesbian-domination\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?interracial-teen-fucking\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?interracialpicsuux\.blogspot\.com -https?:\/\/([^\/]*\.)?intersea-fdn\.com -https?:\/\/([^\/]*\.)?inthevip-com-bc1b0kb0\.blogspot\.com -https?:\/\/([^\/]*\.)?inthevip-com-bvw\.blogspot\.com -https?:\/\/([^\/]*\.)?inthevip-com-rso\.blogspot\.com -https?:\/\/([^\/]*\.)?intll\.com -https?:\/\/([^\/]*\.)?intra\.som\.umass\.edu -https?:\/\/([^\/]*\.)?intranet\.education\.umn\.edu -https?:\/\/([^\/]*\.)?invest1\.org\.ua -https?:\/\/([^\/]*\.)?ioauaq0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ionamin\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ionizatorit\.info -https?:\/\/([^\/]*\.)?iowamortgage-x\.com -https?:\/\/([^\/]*\.)?ipeddle\.com -https?:\/\/([^\/]*\.)?ipha4\.szm\.sk -https?:\/\/([^\/]*\.)?ipod-application\.info -https?:\/\/([^\/]*\.)?ipokea\.com -https?:\/\/([^\/]*\.)?iqzyk\.szm\.sk -https?:\/\/([^\/]*\.)?iradorame\.site\.voila\.fr -https?:\/\/([^\/]*\.)?ircv6\.szm\.sk -https?:\/\/([^\/]*\.)?irenefah-gijul\.blogspot\.com -https?:\/\/([^\/]*\.)?irishlover\.info -https?:\/\/([^\/]*\.)?iron-island\.blogspot\.com -https?:\/\/([^\/]*\.)?ironing-boards\.haemati\.be -https?:\/\/([^\/]*\.)?irqs8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?isceby0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?islands-tour\.globaltr\.info -https?:\/\/([^\/]*\.)?isoway-yoga\.com -https?:\/\/([^\/]*\.)?ispycameltoe-com-cugh6n\.blogspot\.com -https?:\/\/([^\/]*\.)?ispycameltoe-com-g4s2f7vevs\.blogspot\.com -https?:\/\/([^\/]*\.)?italiagame\.org -https?:\/\/([^\/]*\.)?italianosito\.info -https?:\/\/([^\/]*\.)?italika\.info -https?:\/\/([^\/]*\.)?italizzhot\.info -https?:\/\/([^\/]*\.)?italoman\.info -https?:\/\/([^\/]*\.)?italytraffic\.info -https?:\/\/([^\/]*\.)?itchy-skin\.nm\.ru -https?:\/\/([^\/]*\.)?itchy_skin\.chat\.ru -https?:\/\/([^\/]*\.)?itcweb\.ecsu\.edu -https?:\/\/([^\/]*\.)?itdk0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?item4u\.com -https?:\/\/([^\/]*\.)?itgeecna\.forumzen\.com -https?:\/\/([^\/]*\.)?itp\.nyu\.edu -https?:\/\/([^\/]*\.)?itpvewa\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?itsum\.com\.cn -https?:\/\/([^\/]*\.)?ityh1\.szm\.sk -https?:\/\/([^\/]*\.)?iugfsvv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?iuzjbpu\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ivana-fuck-a-lot\.hoffer\.ipupdater\.com -https?:\/\/([^\/]*\.)?ivoyt\.blogspot\.com -https?:\/\/([^\/]*\.)?ivs\.com\.cn -https?:\/\/([^\/]*\.)?iwahigux\.info -https?:\/\/([^\/]*\.)?iwantmature-com-mme\.blogspot\.com -https?:\/\/([^\/]*\.)?iwuy8\.szm\.sk -https?:\/\/([^\/]*\.)?ixiixi-com-guy\.blogspot\.com -https?:\/\/([^\/]*\.)?ixllvdi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ixnl4\.szm\.sk -https?:\/\/([^\/]*\.)?ixth4\.szm\.sk -https?:\/\/([^\/]*\.)?izizyu-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?izui7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ja-rule-ringtonezad\.blogspot\.com -https?:\/\/([^\/]*\.)?jablicko\.yi\.org -https?:\/\/([^\/]*\.)?jablonec\.republika\.pl -https?:\/\/([^\/]*\.)?jadelrel\.goodbb\.net -https?:\/\/([^\/]*\.)?jagast\.com -https?:\/\/([^\/]*\.)?jahmpf3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jaja-jak-globusy\.com -https?:\/\/([^\/]*\.)?jajpip5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jamies-galleries-com-dr7itf8c\.blogspot\.com -https?:\/\/([^\/]*\.)?jamm\.host-page\.com -https?:\/\/([^\/]*\.)?janelolo\.fr-bb\.com -https?:\/\/([^\/]*\.)?janet-jackson-boob-picture\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?janisy\.republika\.pl -https?:\/\/([^\/]*\.)?jantiq\.com -https?:\/\/([^\/]*\.)?jaoqmw1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?japan-girl-sex\.com -https?:\/\/([^\/]*\.)?japan-whores-com-e28dwa2vvb\.blogspot\.com -https?:\/\/([^\/]*\.)?japan-whores-com-elay3rzsu\.blogspot\.com -https?:\/\/([^\/]*\.)?japanese-geisha-girl\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?japanese-teacher-fuck\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?japanese158\.com -https?:\/\/([^\/]*\.)?japanshanye\.com -https?:\/\/([^\/]*\.)?jarella\.goodbb\.net -https?:\/\/([^\/]*\.)?jasara-com-t6fn6k8\.blogspot\.com -https?:\/\/([^\/]*\.)?jasara-com-two5\.blogspot\.com -https?:\/\/([^\/]*\.)?jasara-com-wibeh\.blogspot\.com -https?:\/\/([^\/]*\.)?jastim\.com -https?:\/\/([^\/]*\.)?jbixc\.szm\.sk -https?:\/\/([^\/]*\.)?jblt7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jcbbxb0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jdmz\.com\.cn -https?:\/\/([^\/]*\.)?jeanniexong\.blogspot\.com -https?:\/\/([^\/]*\.)?jebmd\.fr33webhost\.com -https?:\/\/([^\/]*\.)?jed-two-lips-com\.blogspot\.com -https?:\/\/([^\/]*\.)?jeffrorocks21\.blogspot\.com -https?:\/\/([^\/]*\.)?jelatko\.republika\.pl -https?:\/\/([^\/]*\.)?jelito\.stabilt\.se -https?:\/\/([^\/]*\.)?jennifer-lopez-music-photo\.blogspot\.com -https?:\/\/([^\/]*\.)?jennifer-lopez-ringtoneqnf\.blogspot\.com -https?:\/\/([^\/]*\.)?jennysbookmarks-com-kcr\.blogspot\.com -https?:\/\/([^\/]*\.)?jessica-alba-jly9\.blogspot\.com -https?:\/\/([^\/]*\.)?jessiethebestie\.blogspot\.com -https?:\/\/([^\/]*\.)?jesuisleflet\.blogspot\.com -https?:\/\/([^\/]*\.)?jet-cold-hard-bitch-album-version-lyric\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?jetoo\.cn -https?:\/\/([^\/]*\.)?jeun\.fr -https?:\/\/([^\/]*\.)?jewels667\.blogspot\.com -https?:\/\/([^\/]*\.)?jezgy\.szm\.sk -https?:\/\/([^\/]*\.)?jfmr\.com -https?:\/\/([^\/]*\.)?jgeqhqa\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jhrxa\.szm\.sk -https?:\/\/([^\/]*\.)?jhsy0\.szm\.sk -https?:\/\/([^\/]*\.)?jiahuajipiao\.com -https?:\/\/([^\/]*\.)?jiaju88\.com -https?:\/\/([^\/]*\.)?jianfei\.cc -https?:\/\/([^\/]*\.)?jianzhi168\.com -https?:\/\/([^\/]*\.)?jiaza\.szm\.sk -https?:\/\/([^\/]*\.)?jiboki-free-lesbian-video\.blogspot\.com -https?:\/\/([^\/]*\.)?jichengdianlu\.dzsc\.com -https?:\/\/([^\/]*\.)?jidianqi\.dzsc\.com -https?:\/\/([^\/]*\.)?jieyan\.com\.cn -https?:\/\/([^\/]*\.)?jiguang\.org -https?:\/\/([^\/]*\.)?jijijo\.com -https?:\/\/([^\/]*\.)?jimbo\.php5\.cz -https?:\/\/([^\/]*\.)?jimmccarthy\.org\.uk -https?:\/\/([^\/]*\.)?jimmini\.blogspot\.com -https?:\/\/([^\/]*\.)?jinchengjipiao\.com -https?:\/\/([^\/]*\.)?jinghuigift\.com -https?:\/\/([^\/]*\.)?jingzhi-life\.com -https?:\/\/([^\/]*\.)?jipiao\.51mp4mp3\.com -https?:\/\/([^\/]*\.)?jipiaoweb\.co -https?:\/\/([^\/]*\.)?jipiaoweb\.com -https?:\/\/([^\/]*\.)?jiuwu\.com -https?:\/\/([^\/]*\.)?jizzhut-com-oq4zf\.blogspot\.com -https?:\/\/([^\/]*\.)?jizzonline-com-a3h52c1\.blogspot\.com -https?:\/\/([^\/]*\.)?jizzonline-cz0h5y1nm\.blogspot\.com -https?:\/\/([^\/]*\.)?jjfchljumf-video\.blogspot\.com -https?:\/\/([^\/]*\.)?jjuwt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jkpotv-free-video\.blogspot\.com -https?:\/\/([^\/]*\.)?jlhtj\.szm\.sk -https?:\/\/([^\/]*\.)?jlibhe9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jmjx7\.szm\.sk -https?:\/\/([^\/]*\.)?jnbxqy5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jnk713\.ifrance\.com -https?:\/\/([^\/]*\.)?jnxx3\.szm\.sk -https?:\/\/([^\/]*\.)?jobecraf\.dl\.pl -https?:\/\/([^\/]*\.)?jobruler\.com -https?:\/\/([^\/]*\.)?jocdy\.szm\.sk -https?:\/\/([^\/]*\.)?jodofiv-free-fat-ass-mo-t\.blogspot\.com -https?:\/\/([^\/]*\.)?johatch\.ifrance\.com -https?:\/\/([^\/]*\.)?joia\.com -https?:\/\/([^\/]*\.)?jointroompia\.com -https?:\/\/([^\/]*\.)?jokerupot\.blogspot\.com -https?:\/\/([^\/]*\.)?jon-a-ross\.blogspot\.com -https?:\/\/([^\/]*\.)?jonn22\.com -https?:\/\/([^\/]*\.)?jonsmovies-com-b23k3tx4h\.blogspot\.com -https?:\/\/([^\/]*\.)?joperan\.org -https?:\/\/([^\/]*\.)?journal\.eepis-its\.edu -https?:\/\/([^\/]*\.)?joycclx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jozin\.php5\.cz -https?:\/\/([^\/]*\.)?jp\.zxvo\.com -https?:\/\/([^\/]*\.)?jpeghunter-com-h6rb6\.blogspot\.com -https?:\/\/([^\/]*\.)?jpeghunter-com-hsa0g47vew\.blogspot\.com -https?:\/\/([^\/]*\.)?jpha9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jplm\.cn -https?:\/\/([^\/]*\.)?jptrip\.org -https?:\/\/([^\/]*\.)?jqri2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?jrcreations\.com -https?:\/\/([^\/]*\.)?jrqzje5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jsjgdpg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jsyuanyang\.com -https?:\/\/([^\/]*\.)?jtdh\.fuwuqituoguan\.com -https?:\/\/([^\/]*\.)?jtgq3\.szm\.sk -https?:\/\/([^\/]*\.)?jtoph\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?jtut6\.szm\.sk -https?:\/\/([^\/]*\.)?ju-alexis\.blogspot\.com -https?:\/\/([^\/]*\.)?ju-free-porn-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?juanyuancailiao\.dzsc\.com -https?:\/\/([^\/]*\.)?juggcrew-com-r4xwgs\.blogspot\.com -https?:\/\/([^\/]*\.)?jugni\.50webs\.org -https?:\/\/([^\/]*\.)?juicygals-com-c8o\.blogspot\.com -https?:\/\/([^\/]*\.)?juliatalbot\.50webs\.org -https?:\/\/([^\/]*\.)?julietsold\.info -https?:\/\/([^\/]*\.)?jumasd\.com -https?:\/\/([^\/]*\.)?jumtan\.com -https?:\/\/([^\/]*\.)?junenanney\.site\.io -https?:\/\/([^\/]*\.)?junky\.phpbb2\.us -https?:\/\/([^\/]*\.)?junyuan\.com\.cn -https?:\/\/([^\/]*\.)?jupka97\.blogspot\.com -https?:\/\/([^\/]*\.)?juruortr\.jconserv\.net -https?:\/\/([^\/]*\.)?juse-active\.blogspot\.com -https?:\/\/([^\/]*\.)?justanotherebel\.blogspot\.com -https?:\/\/([^\/]*\.)?justkor\.com -https?:\/\/([^\/]*\.)?juyi6\.szm\.sk -https?:\/\/([^\/]*\.)?jwfj8\.szm\.sk -https?:\/\/([^\/]*\.)?jwk\.cn -https?:\/\/([^\/]*\.)?jxxfl\.fr33webhost\.com -https?:\/\/([^\/]*\.)?jytpn\.szm\.sk -https?:\/\/([^\/]*\.)?jzllteva-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?jzoqn\.fr33webhost\.com -https?:\/\/([^\/]*\.)?k-teens-more\.blogspot\.com -https?:\/\/([^\/]*\.)?k98you\.info -https?:\/\/([^\/]*\.)?kabierac\.blogspot\.com -https?:\/\/([^\/]*\.)?kaejsi\.com -https?:\/\/([^\/]*\.)?kaiguan\.dzsc\.com -https?:\/\/([^\/]*\.)?kaimitech\.com -https?:\/\/([^\/]*\.)?kaizokukitsune\.blogspot\.com -https?:\/\/([^\/]*\.)?kakaloo\.dtdns\.net -https?:\/\/([^\/]*\.)?kalbongzig64\.blogspot\.com -https?:\/\/([^\/]*\.)?kamachair\.info -https?:\/\/([^\/]*\.)?kansasmortgage-x\.com -https?:\/\/([^\/]*\.)?kaopowh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kardashian\.6\.forumer\.com -https?:\/\/([^\/]*\.)?karwee\.com\.tw -https?:\/\/([^\/]*\.)?katal0g\.ru -https?:\/\/([^\/]*\.)?kates-playground-cjs61770aq\.blogspot\.com -https?:\/\/([^\/]*\.)?kates-playground-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?katie-fey-m8inou71nk\.blogspot\.com -https?:\/\/([^\/]*\.)?katie-fey\.hostithere\.org -https?:\/\/([^\/]*\.)?katsmovies-com-a4k0cr\.blogspot\.com -https?:\/\/([^\/]*\.)?kc-generator\.com -https?:\/\/([^\/]*\.)?kc\.vanderbilt\.edu -https?:\/\/([^\/]*\.)?kchaiguang\.com -https?:\/\/([^\/]*\.)?kdmj1\.fr33webhost\.com -https?:\/\/([^\/]*\.)?kedew-free-porn-movie-c\.blogspot\.com -https?:\/\/([^\/]*\.)?kedrp\.szm\.sk -https?:\/\/([^\/]*\.)?keflexbuy\.easy\.to -https?:\/\/([^\/]*\.)?keflexbuycheap\.everything\.at -https?:\/\/([^\/]*\.)?keflexcheap\.notrix\.at -https?:\/\/([^\/]*\.)?keflexcheapgeneric\.drop\.to -https?:\/\/([^\/]*\.)?keflexgeneric\.firstpage\.de -https?:\/\/([^\/]*\.)?kelley\.iu\.edu -https?:\/\/([^\/]*\.)?kellyfind-com-i1\.blogspot\.com -https?:\/\/([^\/]*\.)?kellyslovespells\.com -https?:\/\/([^\/]*\.)?kelvinova\.com -https?:\/\/([^\/]*\.)?kenji-no-sorata\.blogspot\.com -https?:\/\/([^\/]*\.)?kentuckymortgage-x\.com -https?:\/\/([^\/]*\.)?kenwoodexcelon\.com -https?:\/\/([^\/]*\.)?keps\.info -https?:\/\/([^\/]*\.)?kesdirect\.com -https?:\/\/([^\/]*\.)?keshome\.com -https?:\/\/([^\/]*\.)?kewl-links\.com -https?:\/\/([^\/]*\.)?keysplus\.com -https?:\/\/([^\/]*\.)?keyword\.net\.cn -https?:\/\/([^\/]*\.)?kfwd7\.szm\.sk -https?:\/\/([^\/]*\.)?kgbsearch\.org -https?:\/\/([^\/]*\.)?khawkslaxfan51\.blogspot\.com -https?:\/\/([^\/]*\.)?khlnbo3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ki-westly\.blogspot\.com -https?:\/\/([^\/]*\.)?kiboric\.net -https?:\/\/([^\/]*\.)?kicfmaudio\.com -https?:\/\/([^\/]*\.)?kicklikegirls\.info -https?:\/\/([^\/]*\.)?kijub-free-porn-video-v\.blogspot\.com -https?:\/\/([^\/]*\.)?kingdom\.webmelia\.com -https?:\/\/([^\/]*\.)?kingofpics-com-beib6jsm5d\.blogspot\.com -https?:\/\/([^\/]*\.)?kingofpics-com-c8f1bag\.blogspot\.com -https?:\/\/([^\/]*\.)?kipredinstitute\.org -https?:\/\/([^\/]*\.)?kiqi-airplane\.blogspot\.com -https?:\/\/([^\/]*\.)?kirsten-dunst-boob-slip\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?kiska2\.com -https?:\/\/([^\/]*\.)?kissing-foot\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?kissing-her-ass\.medved\.od\.ua -https?:\/\/([^\/]*\.)?kitchen-apron\.keckins\.be -https?:\/\/([^\/]*\.)?kitchenrebuilding\.com -https?:\/\/([^\/]*\.)?kiudcb0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kjbz0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kjor4\.szm\.sk -https?:\/\/([^\/]*\.)?kkkpd\.szm\.sk -https?:\/\/([^\/]*\.)?kkvalve\.com\.cn -https?:\/\/([^\/]*\.)?klacim\.yi\.org -https?:\/\/([^\/]*\.)?klasik111\.php5\.cz -https?:\/\/([^\/]*\.)?kleinerachel\.blogspot\.com -https?:\/\/([^\/]*\.)?klohy\.info -https?:\/\/([^\/]*\.)?kmxab\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?knkbact\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?knzfpca\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ko-paris-hilton-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?koberec\.com -https?:\/\/([^\/]*\.)?koled-porn-video-z\.blogspot\.com -https?:\/\/([^\/]*\.)?kom4um\.com -https?:\/\/([^\/]*\.)?koncatina\.dtdns\.net -https?:\/\/([^\/]*\.)?konstantine01\.blogspot\.com -https?:\/\/([^\/]*\.)?kordirect\.com -https?:\/\/([^\/]*\.)?kos123\.dtdns\.net -https?:\/\/([^\/]*\.)?kostya\.cabspace\.com -https?:\/\/([^\/]*\.)?kpdsvd9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kpqf2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kpzq6\.szm\.sk -https?:\/\/([^\/]*\.)?krakatoa\.slyip\.com -https?:\/\/([^\/]*\.)?krakon\.republika\.pl -https?:\/\/([^\/]*\.)?krasnota\.flnet\.org -https?:\/\/([^\/]*\.)?krbd2\.szm\.sk -https?:\/\/([^\/]*\.)?kreco\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ksbj5\.szm\.sk -https?:\/\/([^\/]*\.)?ksiegagosci\.info -https?:\/\/([^\/]*\.)?ktbug1373\.blogspot\.com -https?:\/\/([^\/]*\.)?ktrv2\.szm\.sk -https?:\/\/([^\/]*\.)?ku-whatnot\.blogspot\.com -https?:\/\/([^\/]*\.)?kucitok\.forumculture\.net -https?:\/\/([^\/]*\.)?kulhain\.blogspot\.com -https?:\/\/([^\/]*\.)?kunshalawyer\.com -https?:\/\/([^\/]*\.)?kvehuj8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kvywc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kwscx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kwvi\.com -https?:\/\/([^\/]*\.)?kybel\.fetftp\.nu -https?:\/\/([^\/]*\.)?kybele\.psych\.cornell\.edu -https?:\/\/([^\/]*\.)?kyjcz\.sunp\.com -https?:\/\/([^\/]*\.)?kymnruw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?kymyn\.info -https?:\/\/([^\/]*\.)?l-paris-hilton-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?l\.0s48\.info -https?:\/\/([^\/]*\.)?l1ttleblacky\.blogspot\.com -https?:\/\/([^\/]*\.)?la-ringtones\.com -https?:\/\/([^\/]*\.)?laaceler\.blogcu\.com -https?:\/\/([^\/]*\.)?labelprinter\.printer\.net\.cn -https?:\/\/([^\/]*\.)?labladar\.forumzen\.com -https?:\/\/([^\/]*\.)?lacchi\.lolforum\.net -https?:\/\/([^\/]*\.)?laconia4\.info -https?:\/\/([^\/]*\.)?ladylike\.hostcroc\.com -https?:\/\/([^\/]*\.)?lake-baikal\.info -https?:\/\/([^\/]*\.)?laked\.info -https?:\/\/([^\/]*\.)?lalisit\.heavenforum\.com -https?:\/\/([^\/]*\.)?lalisit\.highforum\.net -https?:\/\/([^\/]*\.)?lamalinks-com-ceefq\.blogspot\.com -https?:\/\/([^\/]*\.)?lamisilbuy\.drive\.to -https?:\/\/([^\/]*\.)?lamisilbuygeneric\.dive\.to -https?:\/\/([^\/]*\.)?lamisilcheap\.drink\.to -https?:\/\/([^\/]*\.)?lamisilgeneric\.drop\.to -https?:\/\/([^\/]*\.)?lamisilgenericcheap\.dive\.to -https?:\/\/([^\/]*\.)?lanasbigboobs-com-mxm7\.blogspot\.com -https?:\/\/([^\/]*\.)?lanasbigboobs-com-repif\.blogspot\.com -https?:\/\/([^\/]*\.)?laorer\.ephpbb\.com -https?:\/\/([^\/]*\.)?lapelcna\.forumzen\.com -https?:\/\/([^\/]*\.)?lapoer\.dynamicforum\.net -https?:\/\/([^\/]*\.)?large-lingerie-naughty-woman\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?las-vegas-gay-night-club\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?las-vegas-house\.nm\.ru -https?:\/\/([^\/]*\.)?laser-drilled-diamonds\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?laser-wave\.com -https?:\/\/([^\/]*\.)?laskai\.com -https?:\/\/([^\/]*\.)?lasmercedessite\.info -https?:\/\/([^\/]*\.)?lassie\.webmelia\.com -https?:\/\/([^\/]*\.)?last-minute-travel\.ebem\.info -https?:\/\/([^\/]*\.)?latex-ass\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?latex-dress\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?latex-foam-mattress-toppers\.protime\.in\.ua -https?:\/\/([^\/]*\.)?latex-mistress\.protime\.in\.ua -https?:\/\/([^\/]*\.)?latex-sluts\.protime\.in\.ua -https?:\/\/([^\/]*\.)?latex-swim-wear\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?latin\.hostaim\.com -https?:\/\/([^\/]*\.)?latina-porn-clip-blog11q\.blogspot\.com -https?:\/\/([^\/]*\.)?latina-porn-clip-blogden\.blogspot\.com -https?:\/\/([^\/]*\.)?latinata\.galeon\.com -https?:\/\/([^\/]*\.)?latoarril\.myrealboard\.com -https?:\/\/([^\/]*\.)?laus-rmore\.blogspot\.com -https?:\/\/([^\/]*\.)?lavemi\.com -https?:\/\/([^\/]*\.)?lavender-dove\.blogspot\.com -https?:\/\/([^\/]*\.)?lavor0\.info -https?:\/\/([^\/]*\.)?law-school\.hotmail\.ru -https?:\/\/([^\/]*\.)?law1degree\.chat\.ru -https?:\/\/([^\/]*\.)?law2school\.chat\.ru -https?:\/\/([^\/]*\.)?lawrencegillies\.blogspot\.com -https?:\/\/([^\/]*\.)?lawyer\.ebloggy\.com -https?:\/\/([^\/]*\.)?laynamarya\.blogspot\.com -https?:\/\/([^\/]*\.)?laythekatcom\.pupava\.dtdns\.net -https?:\/\/([^\/]*\.)?lbgetm9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lbrnrme\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lczjunf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ldrdf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?le-alma\.blogspot\.com -https?:\/\/([^\/]*\.)?le-big-free-movie-porn-cek\.blogspot\.com -https?:\/\/([^\/]*\.)?leadora\.blogspot\.com -https?:\/\/([^\/]*\.)?leannrae85\.blogspot\.com -https?:\/\/([^\/]*\.)?lebu-adidas\.blogspot\.com -https?:\/\/([^\/]*\.)?ledego\.com -https?:\/\/([^\/]*\.)?ledgiest\.xhostar\.com -https?:\/\/([^\/]*\.)?ledkrx\.com -https?:\/\/([^\/]*\.)?ledled\.nease\.net -https?:\/\/([^\/]*\.)?leebuc\.forumzen\.com -https?:\/\/([^\/]*\.)?leeticarus\.blogspot\.com -https?:\/\/([^\/]*\.)?leetvilt\.jconserv\.net -https?:\/\/([^\/]*\.)?left-leg-numbness\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?leg-exercise\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?leg-in-stocking\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?leg-in-tan-pantie-hose\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?leg-neurontin-restless-syndrome\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?leg-preteen-spread\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?leg-shaved-spread\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?leisure-suit-larry-magna-cum-laude-nudity-patch\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?leisure-suit-larry-magna-cum-laude-uncut-and-uncensored\.medved\.od\.ua -https?:\/\/([^\/]*\.)?leo-the-bastet\.site\.voila\.fr -https?:\/\/([^\/]*\.)?leopard-lady\.blogspot\.com -https?:\/\/([^\/]*\.)?leroyhotel\.com -https?:\/\/([^\/]*\.)?lesbian-anal-porn\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?lesbian-fisting-dvd\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lesbian-fucking-eachother\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?lesbian-girl-scout\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?lesbian-group-masturbation\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lesbian-oral-sex\.protime\.in\.ua -https?:\/\/([^\/]*\.)?lesbian-personals-ads\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?lesbian-personals-yahoo\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?lesbian-porn-clip-blog6e5\.blogspot\.com -https?:\/\/([^\/]*\.)?lesbian-sex-teen\.medved\.od\.ua -https?:\/\/([^\/]*\.)?lesbian-sharing-dildo\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lesbian-tit-bondage\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lesbian-web-chat-and-cam\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?lesbians\.coz\.in -https?:\/\/([^\/]*\.)?letoacel-or\.xa\.pl -https?:\/\/([^\/]*\.)?letobocpas\.frbb\.net -https?:\/\/([^\/]*\.)?letocvi\.goodbb\.net -https?:\/\/([^\/]*\.)?letomon\.graphforum\.com -https?:\/\/([^\/]*\.)?letorelpas\.xa\.pl -https?:\/\/([^\/]*\.)?lettera-di-presentazione\.zoom4x\.info -https?:\/\/([^\/]*\.)?lettersof-love\.blogspot\.com -https?:\/\/([^\/]*\.)?levitra\.1\.p2l\.info -https?:\/\/([^\/]*\.)?levitra\.rx4\.org -https?:\/\/([^\/]*\.)?levitra\.seesaa\.net -https?:\/\/([^\/]*\.)?levitra\.skocz\.net -https?:\/\/([^\/]*\.)?levitraejv\.blogspot\.com -https?:\/\/([^\/]*\.)?levitras\.eu\.tf -https?:\/\/([^\/]*\.)?levitraxpb\.blogspot\.com -https?:\/\/([^\/]*\.)?lex-interracial\.hoffer\.ipupdater\.com -https?:\/\/([^\/]*\.)?lexapro\.1\.p2l\.info -https?:\/\/([^\/]*\.)?lexaprobuyonline\.buzznet\.com -https?:\/\/([^\/]*\.)?lexpov-com\.cornut\.ipupdater\.com -https?:\/\/([^\/]*\.)?leyeager\.ifrance\.com -https?:\/\/([^\/]*\.)?lezbomovies-com-dp3256w4cb\.blogspot\.com -https?:\/\/([^\/]*\.)?lezbomovies-com-duvuv\.blogspot\.com -https?:\/\/([^\/]*\.)?lezbomovies-com-dw7q2s6l\.blogspot\.com -https?:\/\/([^\/]*\.)?lf-pm\.com -https?:\/\/([^\/]*\.)?lfamas\.com -https?:\/\/([^\/]*\.)?lhbtx\.szm\.sk -https?:\/\/([^\/]*\.)?lhnzkp9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?li-adult-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?li6or6olo\.dl\.pl -https?:\/\/([^\/]*\.)?lianjieqi\.dzsc\.com -https?:\/\/([^\/]*\.)?liaozhi\.org -https?:\/\/([^\/]*\.)?libasac\.ephpbb\.com -https?:\/\/([^\/]*\.)?libertyliga\.com -https?:\/\/([^\/]*\.)?library\.cshl\.edu -https?:\/\/([^\/]*\.)?libraryofthumbs-com-oyz1qboq\.blogspot\.com -https?:\/\/([^\/]*\.)?licecile\.dl\.pl -https?:\/\/([^\/]*\.)?licnarol\.dl\.pl -https?:\/\/([^\/]*\.)?lidaror\.blogcu\.com -https?:\/\/([^\/]*\.)?lidiarac\.forumzen\.com -https?:\/\/([^\/]*\.)?lidomca\.graphforum\.com -https?:\/\/([^\/]*\.)?lidomca\.highforum\.net -https?:\/\/([^\/]*\.)?lidompas\.td\.pl -https?:\/\/([^\/]*\.)?lidomta\.frbb\.net -https?:\/\/([^\/]*\.)?lidupett\.forumzen\.com -https?:\/\/([^\/]*\.)?lifeinsurance-x\.com -https?:\/\/([^\/]*\.)?lifewave\.com -https?:\/\/([^\/]*\.)?ligettr\.dl\.pl -https?:\/\/([^\/]*\.)?light365\.com -https?:\/\/([^\/]*\.)?lightspeed-state\.hostithere\.org -https?:\/\/([^\/]*\.)?lihach\.com -https?:\/\/([^\/]*\.)?lijoho-video-porn-gratis\.blogspot\.com -https?:\/\/([^\/]*\.)?likozrut\.stabilt\.se -https?:\/\/([^\/]*\.)?lilaleemcrightrealty\.com -https?:\/\/([^\/]*\.)?lilaliko\.dynamicbb\.com -https?:\/\/([^\/]*\.)?lile\.asp2\.cz -https?:\/\/([^\/]*\.)?lilett\.blogspot\.com -https?:\/\/([^\/]*\.)?lilhaq\.blogspot\.com -https?:\/\/([^\/]*\.)?lilo-n\.blogspot\.com -https?:\/\/([^\/]*\.)?lilotu\.com -https?:\/\/([^\/]*\.)?linarcbo\.forumzen\.com -https?:\/\/([^\/]*\.)?lincweb\.cacs\.louisiana\.edu -https?:\/\/([^\/]*\.)?lindsaylife\.com -https?:\/\/([^\/]*\.)?lineance-facial-hair-removal-cream\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?linefreeinternet\.info -https?:\/\/([^\/]*\.)?linemd\.com -https?:\/\/([^\/]*\.)?lingerie-babes-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?lingerie-girl-pic\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lingerie-guide\.org -https?:\/\/([^\/]*\.)?lingerie-sex-photo\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?lingerie-videos-com-wcu8\.blogspot\.com -https?:\/\/([^\/]*\.)?lingshengdown\.com -https?:\/\/([^\/]*\.)?lingua-francese\.host24h\.info -https?:\/\/([^\/]*\.)?link-o-rama-com-t5xhd\.blogspot\.com -https?:\/\/([^\/]*\.)?link-o-rama-com-toz5x8i2ez\.blogspot\.com -https?:\/\/([^\/]*\.)?linserch\.com -https?:\/\/([^\/]*\.)?lioral\.dl\.pl -https?:\/\/([^\/]*\.)?lioumon\.lolforum\.net -https?:\/\/([^\/]*\.)?lipitor\.skocz\.net -https?:\/\/([^\/]*\.)?lipstick-love\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?lipstick-mac\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?lipus\.org -https?:\/\/([^\/]*\.)?lirolbo\.goodforum\.net -https?:\/\/([^\/]*\.)?lirolbo\.grafbb\.com -https?:\/\/([^\/]*\.)?lisinopril\.no-ip\.info -https?:\/\/([^\/]*\.)?list\.eng\.utah\.edu -https?:\/\/([^\/]*\.)?listinna772\.galeon\.com -https?:\/\/([^\/]*\.)?listpharm\.com -https?:\/\/([^\/]*\.)?lists\.gatech\.edu -https?:\/\/([^\/]*\.)?litaacel\.lolforum\.net -https?:\/\/([^\/]*\.)?litadal\.myrealboard\.com -https?:\/\/([^\/]*\.)?litayj0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?literotica-com-t3yx\.blogspot\.com -https?:\/\/([^\/]*\.)?literotica-com-tkncy\.blogspot\.com -https?:\/\/([^\/]*\.)?litrget\.jc\.pl -https?:\/\/([^\/]*\.)?little-april-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?little-april-masturbating-movie\.medved\.od\.ua -https?:\/\/([^\/]*\.)?little-dicks-bay\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?little-teen-fuck\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?littledevildoubt\.com -https?:\/\/([^\/]*\.)?littlesunshine\.50webs\.org -https?:\/\/([^\/]*\.)?litumdet\.forumzen\.com -https?:\/\/([^\/]*\.)?liupy\.110mb\.com -https?:\/\/([^\/]*\.)?live-gay-video-chat\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?live-jasmine-cams\.com -https?:\/\/([^\/]*\.)?livejasmin-com-abc\.blogspot\.com -https?:\/\/([^\/]*\.)?livejasmin-com-abz\.blogspot\.com -https?:\/\/([^\/]*\.)?livejasmin-com-aky\.blogspot\.com -https?:\/\/([^\/]*\.)?livejasmin-com-qujef\.blogspot\.com -https?:\/\/([^\/]*\.)?livescore\.esguay\.com -https?:\/\/([^\/]*\.)?livescore\.ven\.bz -https?:\/\/([^\/]*\.)?livesupportpal\.com -https?:\/\/([^\/]*\.)?liviral\.myrealboard\.com -https?:\/\/([^\/]*\.)?lixin642\.com -https?:\/\/([^\/]*\.)?liymcc0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lizardofoz\.com -https?:\/\/([^\/]*\.)?lizas\.asp2\.cz -https?:\/\/([^\/]*\.)?lizscottrawson\.com -https?:\/\/([^\/]*\.)?lkrzfkg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ll-four-sterto\.blogspot\.com -https?:\/\/([^\/]*\.)?llillith\.blogspot\.com -https?:\/\/([^\/]*\.)?lll1l\.info -https?:\/\/([^\/]*\.)?llline\.info -https?:\/\/([^\/]*\.)?llpcoil\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?llsky\.net -https?:\/\/([^\/]*\.)?lm4nmu\.com -https?:\/\/([^\/]*\.)?lmyzm\.szm\.sk -https?:\/\/([^\/]*\.)?lnalpas\.myrealboard\.com -https?:\/\/([^\/]*\.)?lnki9\.szm\.sk -https?:\/\/([^\/]*\.)?lnqfa\.fr33webhost\.com -https?:\/\/([^\/]*\.)?lnqixlz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?loan-unsecuredcxp\.blogspot\.com -https?:\/\/([^\/]*\.)?loans-insurance\.net -https?:\/\/([^\/]*\.)?lodge\.webmelia\.com -https?:\/\/([^\/]*\.)?lodita-com-dya6s22zu\.blogspot\.com -https?:\/\/([^\/]*\.)?lodita-com-dz\.blogspot\.com -https?:\/\/([^\/]*\.)?loestrin\.1\.p2l\.info -https?:\/\/([^\/]*\.)?logast\.com -https?:\/\/([^\/]*\.)?logowap\.com -https?:\/\/([^\/]*\.)?lojlo\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lojunbas\.forumzen\.com -https?:\/\/([^\/]*\.)?lola-providence\.blogspot\.com -https?:\/\/([^\/]*\.)?lolabear1121\.blogspot\.com -https?:\/\/([^\/]*\.)?lolaparris\.freetzi\.com -https?:\/\/([^\/]*\.)?loliti-com-c5m8mt\.blogspot\.com -https?:\/\/([^\/]*\.)?lolovi\.naturalforum\.net -https?:\/\/([^\/]*\.)?lomsts\.com -https?:\/\/([^\/]*\.)?londra-ristorante\.freehostss\.info -https?:\/\/([^\/]*\.)?lonely-wolf-com-rjqlm1d6\.blogspot\.com -https?:\/\/([^\/]*\.)?long-porn-clip-info67s\.blogspot\.com -https?:\/\/([^\/]*\.)?long-porn-clip-infosm4\.blogspot\.com -https?:\/\/([^\/]*\.)?longestlist-com-b6\.blogspot\.com -https?:\/\/([^\/]*\.)?longestlist-com-b683g4ik\.blogspot\.com -https?:\/\/([^\/]*\.)?longestlist-hb\.blogspot\.com -https?:\/\/([^\/]*\.)?longestlist-hohen\.blogspot\.com -https?:\/\/([^\/]*\.)?longonline\.net -https?:\/\/([^\/]*\.)?longvideos-net-gq78qyba\.blogspot\.com -https?:\/\/([^\/]*\.)?longxiong\.ebloggy\.com -https?:\/\/([^\/]*\.)?lony\.info -https?:\/\/([^\/]*\.)?look-at-his-dick\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lookcity\.com -https?:\/\/([^\/]*\.)?lopata\.snusk\.nu -https?:\/\/([^\/]*\.)?lopressorhct\.sblog\.cz -https?:\/\/([^\/]*\.)?lorazepams\.ru\.tf -https?:\/\/([^\/]*\.)?lortab-911\.coz\.in -https?:\/\/([^\/]*\.)?lortab\.xwiki\.com -https?:\/\/([^\/]*\.)?losangelestickets\.org -https?:\/\/([^\/]*\.)?lotausch\.ifrance\.com -https?:\/\/([^\/]*\.)?loudmp3\.net -https?:\/\/([^\/]*\.)?louisianamortgage-x\.com -https?:\/\/([^\/]*\.)?lovefuckk-com-eg7gx\.blogspot\.com -https?:\/\/([^\/]*\.)?lovefuckk-com-et2x2g1sk\.blogspot\.com -https?:\/\/([^\/]*\.)?lovefuckk-com-setos\.blogspot\.com -https?:\/\/([^\/]*\.)?lovegirlsonline\.info -https?:\/\/([^\/]*\.)?lovejuliet3\.blogspot\.com -https?:\/\/([^\/]*\.)?lovetgp-com-d74h1ed3o\.blogspot\.com -https?:\/\/([^\/]*\.)?lowbudgetsuccess\.info -https?:\/\/([^\/]*\.)?lqsbjau\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lrff5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lriwaq-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?lrlep\.szm\.sk -https?:\/\/([^\/]*\.)?ltfl5\.szm\.sk -https?:\/\/([^\/]*\.)?ltntp\.szm\.sk -https?:\/\/([^\/]*\.)?lu-porn-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?lucking\.com\.cn -https?:\/\/([^\/]*\.)?lucqt\.szm\.sk -https?:\/\/([^\/]*\.)?luridess\.125mb\.com -https?:\/\/([^\/]*\.)?lusi-ada\.blogspot\.com -https?:\/\/([^\/]*\.)?lustjob\.info -https?:\/\/([^\/]*\.)?lustwork\.info -https?:\/\/([^\/]*\.)?lusvqm-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?lutaltli\.naturalforum\.net -https?:\/\/([^\/]*\.)?lutrilar\.naturalforum\.net -https?:\/\/([^\/]*\.)?lutzalvi\.naturalforum\.net -https?:\/\/([^\/]*\.)?lvanrts\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lvsi\.ebloggy\.com -https?:\/\/([^\/]*\.)?lwdf2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lwkmewp\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lycosss\.com -https?:\/\/([^\/]*\.)?lyganbaili\.com -https?:\/\/([^\/]*\.)?lyhbs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?lying-facial-expression\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?lyndawyllie\.com -https?:\/\/([^\/]*\.)?lzouv\.szm\.sk -https?:\/\/([^\/]*\.)?m-i-a-s-m-a\.blogspot\.com -https?:\/\/([^\/]*\.)?m-sr\.net -https?:\/\/([^\/]*\.)?m-teens-000\.blogspot\.com -https?:\/\/([^\/]*\.)?m\.domaindlx\.com -https?:\/\/([^\/]*\.)?m2mvc\.com -https?:\/\/([^\/]*\.)?machi-neko\.blogspot\.com -https?:\/\/([^\/]*\.)?mackenzie-kayne\.hostingtree\.org -https?:\/\/([^\/]*\.)?macromob\.com -https?:\/\/([^\/]*\.)?madesukadana\.com -https?:\/\/([^\/]*\.)?madthumbs-com-hcq1m1\.blogspot\.com -https?:\/\/([^\/]*\.)?mafy69\.blogspot\.com -https?:\/\/([^\/]*\.)?magical-casino\.com -https?:\/\/([^\/]*\.)?magneticwoman88\.blogspot\.com -https?:\/\/([^\/]*\.)?maidenpeace\.com -https?:\/\/([^\/]*\.)?main\.g2\.bx\.psu\.edu -https?:\/\/([^\/]*\.)?mainemortgage-x\.com -https?:\/\/([^\/]*\.)?maitybaba\.blogspot\.com -https?:\/\/([^\/]*\.)?makaky\.dtdns\.net -https?:\/\/([^\/]*\.)?makblxn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?make-my-dick-hard\.protime\.in\.ua -https?:\/\/([^\/]*\.)?makemoneyfast\.us -https?:\/\/([^\/]*\.)?makeup\.ifreehosts\.net -https?:\/\/([^\/]*\.)?male-hairy-leg\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?malinka\.b0b\.org -https?:\/\/([^\/]*\.)?mama-rachelbeth\.blogspot\.com -https?:\/\/([^\/]*\.)?mamaswarm\.sultryserver\.com -https?:\/\/([^\/]*\.)?man-caught-wearing-womens-lingerie\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?man-ring\.boom\.ru -https?:\/\/([^\/]*\.)?man-rings\.boom\.ru -https?:\/\/([^\/]*\.)?man-skin\.nightmail\.ru -https?:\/\/([^\/]*\.)?man-skin\.nm\.ru -https?:\/\/([^\/]*\.)?man-woman-fucking-video-clip\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?man_skin\.chat\.ru -https?:\/\/([^\/]*\.)?managementproperty\.us -https?:\/\/([^\/]*\.)?manka-kapak\.blogspot\.com -https?:\/\/([^\/]*\.)?manoke\.cn -https?:\/\/([^\/]*\.)?map4um\.com -https?:\/\/([^\/]*\.)?mapas6\.com -https?:\/\/([^\/]*\.)?maradona\.stabilt\.se -https?:\/\/([^\/]*\.)?marhula\.weedns\.com -https?:\/\/([^\/]*\.)?marinol\.xwiki\.com -https?:\/\/([^\/]*\.)?mario-lopez-gayfgg\.blogspot\.com -https?:\/\/([^\/]*\.)?marketing1degree\.chat\.ru -https?:\/\/([^\/]*\.)?marklar\.republika\.pl -https?:\/\/([^\/]*\.)?marti-adp\.iespana\.es -https?:\/\/([^\/]*\.)?marucollet\.jp -https?:\/\/([^\/]*\.)?maryannec\.com -https?:\/\/([^\/]*\.)?marylandmortgage-x\.com -https?:\/\/([^\/]*\.)?masfac\.com -https?:\/\/([^\/]*\.)?masiki\.110mb\.com -https?:\/\/([^\/]*\.)?masiti\.com -https?:\/\/([^\/]*\.)?massachusetts-hs\.newmail\.ru -https?:\/\/([^\/]*\.)?massachusettsmortgage-x\.com -https?:\/\/([^\/]*\.)?mast3t\.com -https?:\/\/([^\/]*\.)?master-z-great\.blogspot\.com -https?:\/\/([^\/]*\.)?master1degree\.chat\.ru -https?:\/\/([^\/]*\.)?master2005degree\.chat\.ru -https?:\/\/([^\/]*\.)?masterboat\.ru -https?:\/\/([^\/]*\.)?mastun\.com -https?:\/\/([^\/]*\.)?masturbating-shemale-video\.protime\.in\.ua -https?:\/\/([^\/]*\.)?masturbation-techniques1\.notlong\.com -https?:\/\/([^\/]*\.)?masvit\.com -https?:\/\/([^\/]*\.)?matching-mom-and-baby-outfit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?matrac\.loopback\.nu -https?:\/\/([^\/]*\.)?mattsvids-com-aqjt\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-bitches-com-ccvi3l\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-black-female\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?mature-blonde-fuck\.protime\.in\.ua -https?:\/\/([^\/]*\.)?mature-blonde-movie\.protime\.in\.ua -https?:\/\/([^\/]*\.)?mature-blonde-toying\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?mature-british-granny\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?mature-clip\.babubi\.net -https?:\/\/([^\/]*\.)?mature-for-you-com-mt66\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-gang-bang\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature-gay-black\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature-gay-man-gallery\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?mature-man-photo\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?mature-man-picture\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?mature-milf-milfmuffin-com\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature-nl-kss7\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-pantie-upskirt\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature-pic-post\.medved\.od\.ua -https?:\/\/([^\/]*\.)?mature-porn-clip-newsj8c\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-porn-clip-zone5s0\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-porn-movie-sihu\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-porn-video-ku\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-post-com-iecsmld78\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-redhead\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?mature-secret-com-r6t85u5\.blogspot\.com -https?:\/\/([^\/]*\.)?mature-sex-orgy\.medved\.od\.ua -https?:\/\/([^\/]*\.)?mature-sex-thumb\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature-throat-fuck\.medved\.od\.ua -https?:\/\/([^\/]*\.)?mature-wife-in-pantie-hose\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?mature-woman-vs-young\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?mature\.coz\.in -https?:\/\/([^\/]*\.)?matureandyoung-com-bgf1\.blogspot\.com -https?:\/\/([^\/]*\.)?maturedaily-net-oipq5\.blogspot\.com -https?:\/\/([^\/]*\.)?maturedaily-net-oywdf7pj0\.blogspot\.com -https?:\/\/([^\/]*\.)?maturehit-com-w8\.blogspot\.com -https?:\/\/([^\/]*\.)?maturehit-com-zifid\.blogspot\.com -https?:\/\/([^\/]*\.)?maximumsearch\.net -https?:\/\/([^\/]*\.)?maybachexelero\.org -https?:\/\/([^\/]*\.)?mayphyoe\.blogspot\.com -https?:\/\/([^\/]*\.)?maypopmusic\.cn -https?:\/\/([^\/]*\.)?mazda-6\.keckins\.be -https?:\/\/([^\/]*\.)?mazdamaindealer\.cn -https?:\/\/([^\/]*\.)?mazecreatorhosting\.net -https?:\/\/([^\/]*\.)?mba1degree\.chat\.ru -https?:\/\/([^\/]*\.)?mbiu1\.szm\.sk -https?:\/\/([^\/]*\.)?mbkxs\.szm\.sk -https?:\/\/([^\/]*\.)?mbsz0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mcfontai\.dl\.pl -https?:\/\/([^\/]*\.)?mciicvn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mckeithl\.ifrance\.com -https?:\/\/([^\/]*\.)?mcynwst\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mdfo2\.szm\.sk -https?:\/\/([^\/]*\.)?mdna8\.szm\.sk -https?:\/\/([^\/]*\.)?mdoq5\.szm\.sk -https?:\/\/([^\/]*\.)?meadelante\.blogspot\.com -https?:\/\/([^\/]*\.)?med-ph\.com -https?:\/\/([^\/]*\.)?medbig\.com -https?:\/\/([^\/]*\.)?medgarsting\.info -https?:\/\/([^\/]*\.)?medhls\.com -https?:\/\/([^\/]*\.)?medic\.kilu\.de -https?:\/\/([^\/]*\.)?medication-cheap\.com -https?:\/\/([^\/]*\.)?meds-today\.com -https?:\/\/([^\/]*\.)?megadyneinc\.com -https?:\/\/([^\/]*\.)?megan-qt-cjg\.blogspot\.com -https?:\/\/([^\/]*\.)?megaupkoad\.com -https?:\/\/([^\/]*\.)?meindies\.com -https?:\/\/([^\/]*\.)?melatrol\.podstavec\.yi\.org -https?:\/\/([^\/]*\.)?melissa-doll\.cornut\.ipupdater\.com -https?:\/\/([^\/]*\.)?melsner\.blogspot\.com -https?:\/\/([^\/]*\.)?mens\.1\.p2l\.info -https?:\/\/([^\/]*\.)?menshealth\.110mb\.com -https?:\/\/([^\/]*\.)?meoqwzr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?meridasexo\.com -https?:\/\/([^\/]*\.)?meridia\.1\.p2l\.info -https?:\/\/([^\/]*\.)?meridia\.edu\.tf -https?:\/\/([^\/]*\.)?meridia\.hav\.pl -https?:\/\/([^\/]*\.)?meridia\.skocz\.net -https?:\/\/([^\/]*\.)?meridiager\.queroumforum\.com -https?:\/\/([^\/]*\.)?meryland\.dtdns\.net -https?:\/\/([^\/]*\.)?mesothelioma-lawyer-help\.org -https?:\/\/([^\/]*\.)?meweb\.ecn\.purdue\.edu -https?:\/\/([^\/]*\.)?mewqsd\.org -https?:\/\/([^\/]*\.)?mgnzupi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mi-kkiechang\.ifrance\.com -https?:\/\/([^\/]*\.)?mia-movies-com-g2g1\.blogspot\.com -https?:\/\/([^\/]*\.)?mia-movies-e86q7ic4y7\.blogspot\.com -https?:\/\/([^\/]*\.)?miami-cose-fare\.hostzz\.info -https?:\/\/([^\/]*\.)?michelepug\.org -https?:\/\/([^\/]*\.)?michiganmortgage-x\.com -https?:\/\/([^\/]*\.)?midaslubbock\.com -https?:\/\/([^\/]*\.)?midnis\.com -https?:\/\/([^\/]*\.)?migree\.com -https?:\/\/([^\/]*\.)?mihaso\.com -https?:\/\/([^\/]*\.)?mikeinbrazil-com-k1s8higm1o\.blogspot\.com -https?:\/\/([^\/]*\.)?mikeinbrazil-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?mikesapartment-com-iwb02e1v\.blogspot\.com -https?:\/\/([^\/]*\.)?mikesapartment-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?mikewsd\.org -https?:\/\/([^\/]*\.)?miks1\.szm\.sk -https?:\/\/([^\/]*\.)?miku-thu-vilu\.110mb\.com -https?:\/\/([^\/]*\.)?mildew\.789mb\.com -https?:\/\/([^\/]*\.)?milf-blow-job-gallery\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?milf-busty-fucking\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?milf-hunter-kate\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?milf-mature-big-tit\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?milf-tgp-wife\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?milfhunter-com-h2a7q51\.blogspot\.com -https?:\/\/([^\/]*\.)?milflessons-com-bh6\.blogspot\.com -https?:\/\/([^\/]*\.)?milfnextdoor-bk23v2p4\.blogspot\.com -https?:\/\/([^\/]*\.)?milfnextdoor-w3ii\.blogspot\.com -https?:\/\/([^\/]*\.)?milkmanbook-com-o7\.blogspot\.com -https?:\/\/([^\/]*\.)?milkmanbook-com-rrup5f\.blogspot\.com -https?:\/\/([^\/]*\.)?milkmanbook-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?milkmanbook-ods016\.blogspot\.com -https?:\/\/([^\/]*\.)?milton-twins-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?mimija\.com -https?:\/\/([^\/]*\.)?miniurl\.pl -https?:\/\/([^\/]*\.)?minnesotamortgage-x\.com -https?:\/\/([^\/]*\.)?minzec\.dynamicbb\.com -https?:\/\/([^\/]*\.)?missensign\.blogspot\.com -https?:\/\/([^\/]*\.)?mississippimortgage-x\.com -https?:\/\/([^\/]*\.)?missourimortgage-x\.com -https?:\/\/([^\/]*\.)?mitsubishicarhire\.cn -https?:\/\/([^\/]*\.)?mj-net\.jp -https?:\/\/([^\/]*\.)?mj\.left-page\.com -https?:\/\/([^\/]*\.)?mjlvan4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mjqnxn1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mjspb\.szm\.sk -https?:\/\/([^\/]*\.)?mkia3\.szm\.sk -https?:\/\/([^\/]*\.)?mkiss47346\.blogspot\.com -https?:\/\/([^\/]*\.)?mksahf-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?mkzvni8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mlgta\.szm\.sk -https?:\/\/([^\/]*\.)?mlm-business-leader\.com -https?:\/\/([^\/]*\.)?mlvej\.szm\.sk -https?:\/\/([^\/]*\.)?mmm100-com-aj\.blogspot\.com -https?:\/\/([^\/]*\.)?mmm100-com-cisec\.blogspot\.com -https?:\/\/([^\/]*\.)?mmm100-com-tql1xojt\.blogspot\.com -https?:\/\/([^\/]*\.)?mnsp\.cn -https?:\/\/([^\/]*\.)?mobfiller\.com -https?:\/\/([^\/]*\.)?mobic\.sytes\.net -https?:\/\/([^\/]*\.)?mobile-phone-dealoft\.blogspot\.com -https?:\/\/([^\/]*\.)?mobile-phone-shopmgl\.blogspot\.com -https?:\/\/([^\/]*\.)?mobile-phonegsn\.blogspot\.com -https?:\/\/([^\/]*\.)?mobilefamilydental\.com -https?:\/\/([^\/]*\.)?mobilewallpaperkre\.blogspot\.com -https?:\/\/([^\/]*\.)?mobility-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?mobility2scooter\.chat\.ru -https?:\/\/([^\/]*\.)?mobprofile\.com -https?:\/\/([^\/]*\.)?modelsgroup-com-wrx\.blogspot\.com -https?:\/\/([^\/]*\.)?modelsgroup-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?modlang\.boisestate\.edu -https?:\/\/([^\/]*\.)?moju\.net\.cn -https?:\/\/([^\/]*\.)?mol-ch\.com -https?:\/\/([^\/]*\.)?mom-and-son-song\.protime\.in\.ua -https?:\/\/([^\/]*\.)?mom-music-video\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?mom-n-son\.medved\.od\.ua -https?:\/\/([^\/]*\.)?mom-vs-young\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?mommia-com-h32\.blogspot\.com -https?:\/\/([^\/]*\.)?mommia-com-hvr6wy\.blogspot\.com -https?:\/\/([^\/]*\.)?mommia-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?moms-teaching-teens-ceb\.blogspot\.com -https?:\/\/([^\/]*\.)?monbocchi\.zikforum\.com -https?:\/\/([^\/]*\.)?moncnamon\.ephpbb\.com -https?:\/\/([^\/]*\.)?moncnamon\.forumculture\.net -https?:\/\/([^\/]*\.)?monctr\.cultureforum\.net -https?:\/\/([^\/]*\.)?mondelacel\.dl\.pl -https?:\/\/([^\/]*\.)?monelal\.discutfree\.com -https?:\/\/([^\/]*\.)?moneta-algeria\.hostzz\.info -https?:\/\/([^\/]*\.)?monjco\.blogcu\.com -https?:\/\/([^\/]*\.)?monletochi\.bbgraf\.com -https?:\/\/([^\/]*\.)?monokal\.dynamicforum\.net -https?:\/\/([^\/]*\.)?monorget\.lolbb\.com -https?:\/\/([^\/]*\.)?monpasrel\.dl\.pl -https?:\/\/([^\/]*\.)?monster-cock-movie-big\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?monstersofcock-com-rvdurm2\.blogspot\.com -https?:\/\/([^\/]*\.)?montana-flugsport\.com -https?:\/\/([^\/]*\.)?montanamortgage-x\.com -https?:\/\/([^\/]*\.)?montessori-spielzeug\.com -https?:\/\/([^\/]*\.)?moody-immortal2\.blogspot\.com -https?:\/\/([^\/]*\.)?morekes\.com -https?:\/\/([^\/]*\.)?moremoms-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?moremoms-rj8f2r\.blogspot\.com -https?:\/\/([^\/]*\.)?mortgage-911\.net -https?:\/\/([^\/]*\.)?mortgagebrokers-x\.com -https?:\/\/([^\/]*\.)?mortgagecompanies-x\.com -https?:\/\/([^\/]*\.)?mortgagelenders-x\.com -https?:\/\/([^\/]*\.)?mortgageloan-x\.com -https?:\/\/([^\/]*\.)?mortgageloans-x\.com -https?:\/\/([^\/]*\.)?mortgagerates-x\.com -https?:\/\/([^\/]*\.)?mortgagerefinance-x\.com -https?:\/\/([^\/]*\.)?mortgagerefinancing-x\.com -https?:\/\/([^\/]*\.)?mortgages-411\.com -https?:\/\/([^\/]*\.)?mortgagesnrefinance\.com -https?:\/\/([^\/]*\.)?mosquito-ringtoneaee\.blogspot\.com -https?:\/\/([^\/]*\.)?mosquitoringtonewmf\.blogspot\.com -https?:\/\/([^\/]*\.)?mothershope\.com -https?:\/\/([^\/]*\.)?mothrinventor\.blogspot\.com -https?:\/\/([^\/]*\.)?motnolado\.org -https?:\/\/([^\/]*\.)?motor-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?motorized-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?motorizedscooter\.chat\.ru -https?:\/\/([^\/]*\.)?motorolaringtonesfreeucq\.blogspot\.com -https?:\/\/([^\/]*\.)?motorolaringtoneskvp\.blogspot\.com -https?:\/\/([^\/]*\.)?motorolaringtonesym\.blogspot\.com -https?:\/\/([^\/]*\.)?moviegalleries-com-gl8\.blogspot\.com -https?:\/\/([^\/]*\.)?moviepost-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?moviepost-h4s2iin\.blogspot\.com -https?:\/\/([^\/]*\.)?moviesarena-com-r42rng0\.blogspot\.com -https?:\/\/([^\/]*\.)?moviesarena-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?moviesgold-com-ig86ukjw\.blogspot\.com -https?:\/\/([^\/]*\.)?moviesgold-com-k0\.blogspot\.com -https?:\/\/([^\/]*\.)?movieshark-d0vdon27\.blogspot\.com -https?:\/\/([^\/]*\.)?moviesparade-com-a3hxnn6\.blogspot\.com -https?:\/\/([^\/]*\.)?movietitan-com-i6shde\.blogspot\.com -https?:\/\/([^\/]*\.)?movietitan-o6i14o0\.blogspot\.com -https?:\/\/([^\/]*\.)?mozzarell\.republika\.pl -https?:\/\/([^\/]*\.)?mp3ringtonerxw\.blogspot\.com -https?:\/\/([^\/]*\.)?mp3sunrise\.com -https?:\/\/([^\/]*\.)?mpdtbq8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mpeghunter-com-cyc0bec7k\.blogspot\.com -https?:\/\/([^\/]*\.)?mqirai4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mrako4\.com -https?:\/\/([^\/]*\.)?mrchewsasianbeaver-bwhmc0sk\.blogspot\.com -https?:\/\/([^\/]*\.)?mrchewsasianbeaver-com-omazvpr\.blogspot\.com -https?:\/\/([^\/]*\.)?mrntf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mrs-vette-hot-mom\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?mrwolfy49\.blogspot\.com -https?:\/\/([^\/]*\.)?ms-dos-boot-disk\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?mster6\.com -https?:\/\/([^\/]*\.)?mtaa5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mthelen\.250free\.com -https?:\/\/([^\/]*\.)?muecst9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mughalbank\.com -https?:\/\/([^\/]*\.)?mumms\.info -https?:\/\/([^\/]*\.)?murdersoul\.blogspot\.com -https?:\/\/([^\/]*\.)?murku-gunush\.110mb\.com -https?:\/\/([^\/]*\.)?mus1ca\.info -https?:\/\/([^\/]*\.)?muscle-pain-leg-cause\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?muscle-relaxers\.1\.p2l\.info -https?:\/\/([^\/]*\.)?music\.spacepur\.de -https?:\/\/([^\/]*\.)?musicguild\.bc\.edu -https?:\/\/([^\/]*\.)?mutantalias\.blogspot\.com -https?:\/\/([^\/]*\.)?muwn9\.szm\.sk -https?:\/\/([^\/]*\.)?muzyr\.szm\.sk -https?:\/\/([^\/]*\.)?mvoht\.szm\.sk -https?:\/\/([^\/]*\.)?mvsyonh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mwqbg\.fr33webhost\.com -https?:\/\/([^\/]*\.)?mwwkps6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mxmva\.szm\.sk -https?:\/\/([^\/]*\.)?mxqwnn2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?my-cashadvance\.com -https?:\/\/([^\/]*\.)?my-first-sex-teacherlbp\.blogspot\.com -https?:\/\/([^\/]*\.)?my-friends-hot-mom-free-pic\.medved\.od\.ua -https?:\/\/([^\/]*\.)?my-friends-hot-mom-lesbian\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?my-friends-hot-mom-mrs-lee\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?my-host-space\.com -https?:\/\/([^\/]*\.)?my-land\.bravehost\.com -https?:\/\/([^\/]*\.)?my-mortgagerates\.com -https?:\/\/([^\/]*\.)?my-summit\.com -https?:\/\/([^\/]*\.)?my-teensex-wikes\.blogspot\.com -https?:\/\/([^\/]*\.)?myfgj\.info -https?:\/\/([^\/]*\.)?myhost\.gb\.com -https?:\/\/([^\/]*\.)?mymitsubishiparts\.cn -https?:\/\/([^\/]*\.)?mymr\.net -https?:\/\/([^\/]*\.)?mynet-poker\.com -https?:\/\/([^\/]*\.)?myprintworks\.com -https?:\/\/([^\/]*\.)?myrotunda\.com -https?:\/\/([^\/]*\.)?mysecretmovies-com-tul73\.blogspot\.com -https?:\/\/([^\/]*\.)?myseo\.com\.cn -https?:\/\/([^\/]*\.)?myshcompany\.com -https?:\/\/([^\/]*\.)?mysmetrix\.asp2\.cz -https?:\/\/([^\/]*\.)?myspace-myspace-my\.blogspot\.com -https?:\/\/([^\/]*\.)?myteepo-3\.blogspot\.com -https?:\/\/([^\/]*\.)?myts\.vip\.sina\.com -https?:\/\/([^\/]*\.)?mywaybackwhen\.blogspot\.com -https?:\/\/([^\/]*\.)?mzaxl\.szm\.sk -https?:\/\/([^\/]*\.)?mzayxt2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mzlurz8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?mzwbifn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?n-free-porn-video-sample\.blogspot\.com -https?:\/\/([^\/]*\.)?n-free-video-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?na-hummer\.jot\.com -https?:\/\/([^\/]*\.)?naacpncnetwork\.org -https?:\/\/([^\/]*\.)?naarttrl\.forumzen\.com -https?:\/\/([^\/]*\.)?naffpqh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?naomiserge\.info -https?:\/\/([^\/]*\.)?napalerd\.forumzen\.com -https?:\/\/([^\/]*\.)?napas5\.com -https?:\/\/([^\/]*\.)?naprosyn500mg\.sblog\.cz -https?:\/\/([^\/]*\.)?naproxen\.zapto\.org -https?:\/\/([^\/]*\.)?naqowp1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nariclet\.forumzen\.com -https?:\/\/([^\/]*\.)?nas7fk\.com -https?:\/\/([^\/]*\.)?nasacort\.1\.p2l\.info -https?:\/\/([^\/]*\.)?nasonex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?nastyalien-com-dk0wnd58i\.blogspot\.com -https?:\/\/([^\/]*\.)?nastyalien-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?nastyrat-b7\.blogspot\.com -https?:\/\/([^\/]*\.)?nastyrat-com-b8mu31h87m\.blogspot\.com -https?:\/\/([^\/]*\.)?nastyrat-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?natskam\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?natural-skin\.nm\.ru -https?:\/\/([^\/]*\.)?natural-tit-cum\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?natural_skin\.chat\.ru -https?:\/\/([^\/]*\.)?naughty-com-wdk\.blogspot\.com -https?:\/\/([^\/]*\.)?naughty-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?navse\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nbay2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nbikkpb\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nbmhvbv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nbxc3\.szm\.sk -https?:\/\/([^\/]*\.)?nchqqi4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ncpx5\.szm\.sk -https?:\/\/([^\/]*\.)?ncwash\.com -https?:\/\/([^\/]*\.)?nd-tli\.com -https?:\/\/([^\/]*\.)?ndarj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ndnwrby\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nebraskamortgage-x\.com -https?:\/\/([^\/]*\.)?nedneutr\.goodbb\.net -https?:\/\/([^\/]*\.)?nedpbi3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?need-site\.com -https?:\/\/([^\/]*\.)?nefariouswraith\.blogspot\.com -https?:\/\/([^\/]*\.)?negozio-strumento-musicale\.19mb\.info -https?:\/\/([^\/]*\.)?nejqssk\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?neko-adg\.blogspot\.com -https?:\/\/([^\/]*\.)?nekoo\.cn -https?:\/\/([^\/]*\.)?nekostar3\.blogspot\.com -https?:\/\/([^\/]*\.)?nelaidla\.ifrance\.com -https?:\/\/([^\/]*\.)?nelcala\.fr-bb\.com -https?:\/\/([^\/]*\.)?nelior\.goodbb\.net -https?:\/\/([^\/]*\.)?neri-albany\.blogspot\.com -https?:\/\/([^\/]*\.)?neroj\.szm\.sk -https?:\/\/([^\/]*\.)?nerve\.zyns\.com -https?:\/\/([^\/]*\.)?net0551\.com -https?:\/\/([^\/]*\.)?netbank\.cn -https?:\/\/([^\/]*\.)?nethams\.pp\.ru -https?:\/\/([^\/]*\.)?netinternetbanking\.info -https?:\/\/([^\/]*\.)?netteak\.pp\.ru -https?:\/\/([^\/]*\.)?nettyre\.pp\.ru -https?:\/\/([^\/]*\.)?neux9\.szm\.sk -https?:\/\/([^\/]*\.)?nevadamortgage-x\.com -https?:\/\/([^\/]*\.)?nevados-hiking-boot\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?nevulo-teen-sex-video\.blogspot\.com -https?:\/\/([^\/]*\.)?new-ringtonesou\.blogspot\.com -https?:\/\/([^\/]*\.)?new-watches\.fasthost\.tv -https?:\/\/([^\/]*\.)?newae\.info -https?:\/\/([^\/]*\.)?newaf\.info -https?:\/\/([^\/]*\.)?newah\.info -https?:\/\/([^\/]*\.)?newai\.info -https?:\/\/([^\/]*\.)?newaq\.info -https?:\/\/([^\/]*\.)?newar\.info -https?:\/\/([^\/]*\.)?newau\.info -https?:\/\/([^\/]*\.)?newbabyface\.net -https?:\/\/([^\/]*\.)?newboyu\.com -https?:\/\/([^\/]*\.)?newdietpills\.bravehost\.com -https?:\/\/([^\/]*\.)?newgals-com-ean\.blogspot\.com -https?:\/\/([^\/]*\.)?newhampshiremortgage-x\.com -https?:\/\/([^\/]*\.)?newjerseymortgage-x\.com -https?:\/\/([^\/]*\.)?newmexicomortgage-x\.com -https?:\/\/([^\/]*\.)?newnewsonline\.info -https?:\/\/([^\/]*\.)?newob\.info -https?:\/\/([^\/]*\.)?newoc\.info -https?:\/\/([^\/]*\.)?newom\.info -https?:\/\/([^\/]*\.)?newov\.info -https?:\/\/([^\/]*\.)?newox\.info -https?:\/\/([^\/]*\.)?newoz\.info -https?:\/\/([^\/]*\.)?news\.101freehost\.com -https?:\/\/([^\/]*\.)?news\.engin\.brown\.edu -https?:\/\/([^\/]*\.)?newwesthonda\.info -https?:\/\/([^\/]*\.)?newworldmen\.com -https?:\/\/([^\/]*\.)?newyorkmortgage-x\.com -https?:\/\/([^\/]*\.)?nexium\.1\.p2l\.info -https?:\/\/([^\/]*\.)?nexiumbuy\.on\.to -https?:\/\/([^\/]*\.)?nexiumbuygeneric\.snap\.to -https?:\/\/([^\/]*\.)?nexiumcheap\.notrix\.ch -https?:\/\/([^\/]*\.)?nexiumcheapbuy\.notrix\.de -https?:\/\/([^\/]*\.)?nexiumgeneric\.dive\.to -https?:\/\/([^\/]*\.)?nexxx-com-r138wgeob5\.blogspot\.com -https?:\/\/([^\/]*\.)?nexxx-kc113s775\.blogspot\.com -https?:\/\/([^\/]*\.)?nfbwx\.szm\.sk -https?:\/\/([^\/]*\.)?nffnj\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nfl-cheerleader-outfit\.protime\.in\.ua -https?:\/\/([^\/]*\.)?nfme8\.szm\.sk -https?:\/\/([^\/]*\.)?nfpg4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nfyxtime\.com -https?:\/\/([^\/]*\.)?nggleb0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nginju3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nhqkyun\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nibko\.info -https?:\/\/([^\/]*\.)?nice-asian-ass-and-sex\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?nice-boob-picture\.protime\.in\.ua -https?:\/\/([^\/]*\.)?niche-porn-sites\.org -https?:\/\/([^\/]*\.)?nickdarula\.com -https?:\/\/([^\/]*\.)?nicwan\.com -https?:\/\/([^\/]*\.)?nidarim\.com -https?:\/\/([^\/]*\.)?niebn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nifedipine-solubility\.tlg\.pl -https?:\/\/([^\/]*\.)?nifjv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?niharpe\.dl\.pl -https?:\/\/([^\/]*\.)?nihosi\.com -https?:\/\/([^\/]*\.)?nika-ru\.blogspot\.com -https?:\/\/([^\/]*\.)?nikkie-cole\.blogspot\.com -https?:\/\/([^\/]*\.)?nimast\.com -https?:\/\/([^\/]*\.)?nimit-zood\.ibelgique\.com -https?:\/\/([^\/]*\.)?ninenailteen\.blogspot\.com -https?:\/\/([^\/]*\.)?ninjasidestep\.com -https?:\/\/([^\/]*\.)?ninostarto\.blogspot\.com -https?:\/\/([^\/]*\.)?ninuni\.com -https?:\/\/([^\/]*\.)?nipples-puffy-teenage\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?nipverify\.icspace\.net -https?:\/\/([^\/]*\.)?nissan-240sx\.newmail\.ru -https?:\/\/([^\/]*\.)?nissan-dealer\.newmail\.ru -https?:\/\/([^\/]*\.)?nissan-frontier\.nm\.ru -https?:\/\/([^\/]*\.)?nissan-motor\.nm\.ru -https?:\/\/([^\/]*\.)?nissan-murano\.newmail\.ru -https?:\/\/([^\/]*\.)?nissan-part\.nightmail\.ru -https?:\/\/([^\/]*\.)?nissan-pathfinder\.hotmail\.ru -https?:\/\/([^\/]*\.)?nissan-sentra\.hotmail\.ru -https?:\/\/([^\/]*\.)?nissan-titan\.hotmail\.ru -https?:\/\/([^\/]*\.)?nissan-truck\.hotmail\.ru -https?:\/\/([^\/]*\.)?nissan-xterra\.hotmail\.ru -https?:\/\/([^\/]*\.)?nissan_240sx\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_dealer\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_frontier\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_motor\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_murano1\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_part\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_pathfind\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_sentra\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_titan\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_truck\.chat\.ru -https?:\/\/([^\/]*\.)?nissan_xterra\.chat\.ru -https?:\/\/([^\/]*\.)?nixve\.blogspot\.com -https?:\/\/([^\/]*\.)?njfc\.nease\.net -https?:\/\/([^\/]*\.)?njhk\.jiuwu\.com -https?:\/\/([^\/]*\.)?njhk\.yushantang\.com -https?:\/\/([^\/]*\.)?njuta78\.125mb\.com -https?:\/\/([^\/]*\.)?njzthvq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nkkqq\.szm\.sk -https?:\/\/([^\/]*\.)?nkxow\.szm\.sk -https?:\/\/([^\/]*\.)?nkzzm\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nlexc\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nmagiietending\.blogspot\.com -https?:\/\/([^\/]*\.)?nmwj5\.szm\.sk -https?:\/\/([^\/]*\.)?nnline\.info -https?:\/\/([^\/]*\.)?no-deposit-casino-bonus\.any\.pl -https?:\/\/([^\/]*\.)?no-faxing-payday--loan\.blogspot\.com -https?:\/\/([^\/]*\.)?no-free-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?no1babes-com-juquj\.blogspot\.com -https?:\/\/([^\/]*\.)?noalzel\.blogcu\.com -https?:\/\/([^\/]*\.)?nobocli\.bbfr\.net -https?:\/\/([^\/]*\.)?nobullhardcore-com-i7mpf5i83t\.blogspot\.com -https?:\/\/([^\/]*\.)?nodb0\.szm\.sk -https?:\/\/([^\/]*\.)?noelchi\.td\.pl -https?:\/\/([^\/]*\.)?noeldar\.td\.pl -https?:\/\/([^\/]*\.)?nofatonline\.com -https?:\/\/([^\/]*\.)?nolamon\.naturalforum\.net -https?:\/\/([^\/]*\.)?noletoolo\.dl\.pl -https?:\/\/([^\/]*\.)?nomote4\.blogspot\.com -https?:\/\/([^\/]*\.)?nopasrol\.myrealboard\.com -https?:\/\/([^\/]*\.)?nord9maedchen73\.blogspot\.com -https?:\/\/([^\/]*\.)?nordette\.1\.p2l\.info -https?:\/\/([^\/]*\.)?norflex100mg\.sblog\.cz -https?:\/\/([^\/]*\.)?normanburke\.blogspot\.com -https?:\/\/([^\/]*\.)?noro-alanis\.blogspot\.com -https?:\/\/([^\/]*\.)?northcarolinamortgage-x\.com -https?:\/\/([^\/]*\.)?northdakotamortgage-x\.com -https?:\/\/([^\/]*\.)?norvasc\.coz\.in -https?:\/\/([^\/]*\.)?norwichwriters\.org -https?:\/\/([^\/]*\.)?noscudom\.forumzen\.com -https?:\/\/([^\/]*\.)?noseypets\.com -https?:\/\/([^\/]*\.)?nostawnevets53\.blogspot\.com -https?:\/\/([^\/]*\.)?not-another-teen-movie-ddw5x\.blogspot\.com -https?:\/\/([^\/]*\.)?notelymphatic\.org -https?:\/\/([^\/]*\.)?notereport\.info -https?:\/\/([^\/]*\.)?notrocli\.zj\.pl -https?:\/\/([^\/]*\.)?novanasa\.php5\.cz -https?:\/\/([^\/]*\.)?novar\.darkbb\.com -https?:\/\/([^\/]*\.)?noviac\.jc\.pl -https?:\/\/([^\/]*\.)?nox-teeniefiles-com\.blogspot\.com -https?:\/\/([^\/]*\.)?npchwp9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nqfahsc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nqkt4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nqllo\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nqlp7\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nqod6\.szm\.sk -https?:\/\/([^\/]*\.)?nqquc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nqyz6\.fr33webhost\.com -https?:\/\/([^\/]*\.)?nsstc\.uah\.edu -https?:\/\/([^\/]*\.)?nsxslk5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nthfind\.com -https?:\/\/([^\/]*\.)?nu-alicia\.blogspot\.com -https?:\/\/([^\/]*\.)?nucs2\.szm\.sk -https?:\/\/([^\/]*\.)?nuddxy-free-video\.blogspot\.com -https?:\/\/([^\/]*\.)?nude-ass-video\.protime\.in\.ua -https?:\/\/([^\/]*\.)?nude-lingerie-model-photo\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?nude-little-ass\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?nude-teacher\.com -https?:\/\/([^\/]*\.)?nudecelebritypictures-c6ob080\.blogspot\.com -https?:\/\/([^\/]*\.)?nudecelebritypictures-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?nudecelebritypictures-nu-hqb65kdn\.blogspot\.com -https?:\/\/([^\/]*\.)?nudestarz-com-xurig\.blogspot\.com -https?:\/\/([^\/]*\.)?nudistlog-com-oygsrji75\.blogspot\.com -https?:\/\/([^\/]*\.)?nugo-aerobics\.blogspot\.com -https?:\/\/([^\/]*\.)?nuje9\.szm\.sk -https?:\/\/([^\/]*\.)?numbness-in-right-leg\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?numimb\.com -https?:\/\/([^\/]*\.)?numr2\.szm\.sk -https?:\/\/([^\/]*\.)?nunikal\.stabilt\.se -https?:\/\/([^\/]*\.)?nuqfz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nurglesnymphs-com-nuxow\.blogspot\.com -https?:\/\/([^\/]*\.)?nurs-employment\.boom\.ru -https?:\/\/([^\/]*\.)?nurs2employment\.chat\.ru -https?:\/\/([^\/]*\.)?nurse-fucking-video\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?nursi2-education\.boom\.ru -https?:\/\/([^\/]*\.)?nursin-education\.boom\.ru -https?:\/\/([^\/]*\.)?nursin2education\.chat\.ru -https?:\/\/([^\/]*\.)?nursing-career\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-college\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-degree\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-degree\.fromru\.com -https?:\/\/([^\/]*\.)?nursing-degree\.pochta\.ru -https?:\/\/([^\/]*\.)?nursing-home\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-home\.land\.ru -https?:\/\/([^\/]*\.)?nursing-home\.pochta\.ru -https?:\/\/([^\/]*\.)?nursing-job\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-job\.land\.ru -https?:\/\/([^\/]*\.)?nursing-job\.pochta\.ru -https?:\/\/([^\/]*\.)?nursing-school\.fromru\.com -https?:\/\/([^\/]*\.)?nursing-school\.pochta\.ru -https?:\/\/([^\/]*\.)?nursing-scrubs\.boom\.ru -https?:\/\/([^\/]*\.)?nursing-uniform\.boom\.ru -https?:\/\/([^\/]*\.)?nursing1degree\.chat\.ru -https?:\/\/([^\/]*\.)?nursing2-school\.boom\.ru -https?:\/\/([^\/]*\.)?nursing2college\.chat\.ru -https?:\/\/([^\/]*\.)?nursing2school\.chat\.ru -https?:\/\/([^\/]*\.)?nursing2scrubs\.chat\.ru -https?:\/\/([^\/]*\.)?nursing4career\.chat\.ru -https?:\/\/([^\/]*\.)?nursing4degree\.chat\.ru -https?:\/\/([^\/]*\.)?nursing4job\.chat\.ru -https?:\/\/([^\/]*\.)?nursingeducation\.chat\.ru -https?:\/\/([^\/]*\.)?nutramigen-lipil\.leg4is\.be -https?:\/\/([^\/]*\.)?nvdwc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nwxnv\.szm\.sk -https?:\/\/([^\/]*\.)?nxbbyhc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nxnmwlh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?nxsq0\.szm\.sk -https?:\/\/([^\/]*\.)?o-medic\.tripod\.com -https?:\/\/([^\/]*\.)?o8\.aus\.cc -https?:\/\/([^\/]*\.)?oa18\.cc -https?:\/\/([^\/]*\.)?oa2010\.com -https?:\/\/([^\/]*\.)?oalink\.cn -https?:\/\/([^\/]*\.)?obesity-check\.com -https?:\/\/([^\/]*\.)?obosra\.com -https?:\/\/([^\/]*\.)?obrazok\.dtdns\.net -https?:\/\/([^\/]*\.)?obsque\.cn -https?:\/\/([^\/]*\.)?ocapk\.szm\.sk -https?:\/\/([^\/]*\.)?oceshdes\.forumzen\.com -https?:\/\/([^\/]*\.)?ockulpas\.forumzen\.com -https?:\/\/([^\/]*\.)?ocleelia\.forumzen\.com -https?:\/\/([^\/]*\.)?ocscrtro\.forumzen\.com -https?:\/\/([^\/]*\.)?oczt4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?odfxci8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?odmi1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?odqw4\.szm\.sk -https?:\/\/([^\/]*\.)?oechnxln\.tripod\.com -https?:\/\/([^\/]*\.)?oecx6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?oeqls\.szm\.sk -https?:\/\/([^\/]*\.)?offerta-volo-madrid\.19mb\.info -https?:\/\/([^\/]*\.)?officialkes\.com -https?:\/\/([^\/]*\.)?ogooch\.ifrance\.com -https?:\/\/([^\/]*\.)?ogzx4\.szm\.sk -https?:\/\/([^\/]*\.)?ohgood-com-dv8l\.blogspot\.com -https?:\/\/([^\/]*\.)?ohgood-com-isxvi72\.blogspot\.com -https?:\/\/([^\/]*\.)?ohgood-com-rv0\.blogspot\.com -https?:\/\/([^\/]*\.)?ohiomortgage-x\.com -https?:\/\/([^\/]*\.)?ohmybaby\.net -https?:\/\/([^\/]*\.)?oilpaintingkingdom\.com -https?:\/\/([^\/]*\.)?oily-skin\.newmail\.ru -https?:\/\/([^\/]*\.)?oily_skin\.chat\.ru -https?:\/\/([^\/]*\.)?oip\.org\.ua -https?:\/\/([^\/]*\.)?oirwt\.szm\.sk -https?:\/\/([^\/]*\.)?ojdo0\.szm\.sk -https?:\/\/([^\/]*\.)?ojdx7\.fr33webhost\.com -https?:\/\/([^\/]*\.)?okayhotels\.com -https?:\/\/([^\/]*\.)?okcompany\.org -https?:\/\/([^\/]*\.)?oklahomamortgage-x\.com -https?:\/\/([^\/]*\.)?okrentcar\.org -https?:\/\/([^\/]*\.)?old-lady-fuck\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?old-lady-suck-dick\.medved\.od\.ua -https?:\/\/([^\/]*\.)?old69-com-mdt71k\.blogspot\.com -https?:\/\/([^\/]*\.)?old69-k40bqc\.blogspot\.com -https?:\/\/([^\/]*\.)?older-mature-tgp\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?oldon\.info -https?:\/\/([^\/]*\.)?oldp9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?oldreboc\.forumzen\.com -https?:\/\/([^\/]*\.)?olijanko\.republika\.pl -https?:\/\/([^\/]*\.)?olml2\.szm\.sk -https?:\/\/([^\/]*\.)?olnnt\.szm\.sk -https?:\/\/([^\/]*\.)?olocnamon\.cultureforum\.net -https?:\/\/([^\/]*\.)?olocobo\.goodforum\.net -https?:\/\/([^\/]*\.)?olocobo\.grafbb\.com -https?:\/\/([^\/]*\.)?olodarelt\.heavenforum\.com -https?:\/\/([^\/]*\.)?olodarelt\.highforum\.net -https?:\/\/([^\/]*\.)?olodronric\.su\.pl -https?:\/\/([^\/]*\.)?olodronro\.blogcu\.com -https?:\/\/([^\/]*\.)?oloolovi\.ephpbb\.com -https?:\/\/([^\/]*\.)?oloorrac\.blogcu\.com -https?:\/\/([^\/]*\.)?olorelrel\.blogcu\.com -https?:\/\/([^\/]*\.)?olorodom\.blogcu\.com -https?:\/\/([^\/]*\.)?oltcha\.blogspot\.com -https?:\/\/([^\/]*\.)?olyelzet\.forumzen\.com -https?:\/\/([^\/]*\.)?omchades\.forumzen\.com -https?:\/\/([^\/]*\.)?omega\.spb\.ru -https?:\/\/([^\/]*\.)?omxmlvf\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?on-poteen-1-2\.blogspot\.com -https?:\/\/([^\/]*\.)?onac2\.szm\.sk -https?:\/\/([^\/]*\.)?one2you\.biz -https?:\/\/([^\/]*\.)?one2you\.info -https?:\/\/([^\/]*\.)?onfew\.szm\.sk -https?:\/\/([^\/]*\.)?onlin-nurs-degre\.boom\.ru -https?:\/\/([^\/]*\.)?online-blackjack-site\.com -https?:\/\/([^\/]*\.)?online-casino-l\.blogspot\.com -https?:\/\/([^\/]*\.)?online-casino-wiki\.com -https?:\/\/([^\/]*\.)?online-casinos-city\.com -https?:\/\/([^\/]*\.)?online-casinos-discovered\.com -https?:\/\/([^\/]*\.)?online-degree-4you\.com -https?:\/\/([^\/]*\.)?online-gambling-b\.blogspot\.com -https?:\/\/([^\/]*\.)?online-games24x7\.com -https?:\/\/([^\/]*\.)?online-medications24x7\.com -https?:\/\/([^\/]*\.)?online-pharm\.zmail\.ru -https?:\/\/([^\/]*\.)?online-pharmacy-24x7\.net -https?:\/\/([^\/]*\.)?online-pharmacy-4u\.net -https?:\/\/([^\/]*\.)?online-poker-game\.blogspot\.com -https?:\/\/([^\/]*\.)?online-poker-online-poker\.net -https?:\/\/([^\/]*\.)?online-poker\.black-poker\.com -https?:\/\/([^\/]*\.)?online-poker\.dd\.vg -https?:\/\/([^\/]*\.)?online-prozac\.boom\.ru -https?:\/\/([^\/]*\.)?online-shop-24x7\.com -https?:\/\/([^\/]*\.)?online-tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?online1-degree\.boom\.ru -https?:\/\/([^\/]*\.)?online1course\.chat\.ru -https?:\/\/([^\/]*\.)?online1degree\.chat\.ru -https?:\/\/([^\/]*\.)?online3course\.chat\.ru -https?:\/\/([^\/]*\.)?online4nursing\.chat\.ru -https?:\/\/([^\/]*\.)?onlineglass\.siteburg\.com -https?:\/\/([^\/]*\.)?onlinepharmacy-4u\.net -https?:\/\/([^\/]*\.)?onlinepharmacy2004\.net -https?:\/\/([^\/]*\.)?onlinesexcity\.info -https?:\/\/([^\/]*\.)?only-ringtone\.com -https?:\/\/([^\/]*\.)?only4game\.com -https?:\/\/([^\/]*\.)?onlycuties-com\.jalovica\.dtdns\.net -https?:\/\/([^\/]*\.)?onlymovies-com-e1tez\.blogspot\.com -https?:\/\/([^\/]*\.)?onlymovies-com-eczm1w\.blogspot\.com -https?:\/\/([^\/]*\.)?onlyteenstgp-com-rmn\.blogspot\.com -https?:\/\/([^\/]*\.)?onlyteenstgp-com-rrcamwws3\.blogspot\.com -https?:\/\/([^\/]*\.)?onlyteenstgp-we\.blogspot\.com -https?:\/\/([^\/]*\.)?onmycrew\.blogspot\.com -https?:\/\/([^\/]*\.)?onrueetd\.forumzen\.com -https?:\/\/([^\/]*\.)?oogqj\.szm\.sk -https?:\/\/([^\/]*\.)?oohsexy-com-hob8e5y8r\.blogspot\.com -https?:\/\/([^\/]*\.)?oohsexy-com-hpemrnff\.blogspot\.com -https?:\/\/([^\/]*\.)?oohsexy\.com -https?:\/\/([^\/]*\.)?oohsexy000\.blogspot\.com -https?:\/\/([^\/]*\.)?ooline\.info -https?:\/\/([^\/]*\.)?oolive\.info -https?:\/\/([^\/]*\.)?oonk1\.szm\.sk -https?:\/\/([^\/]*\.)?ooooi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ootop\.info -https?:\/\/([^\/]*\.)?ooyy2\.szm\.sk -https?:\/\/([^\/]*\.)?opastr\.com -https?:\/\/([^\/]*\.)?oping\.info -https?:\/\/([^\/]*\.)?opiytr\.com -https?:\/\/([^\/]*\.)?opkr1\.szm\.sk -https?:\/\/([^\/]*\.)?optbblx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?optfzj5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?opyfsen\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?oqaknky\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?oqfwt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?or-drondron\.xa\.pl -https?:\/\/([^\/]*\.)?orabc\.info -https?:\/\/([^\/]*\.)?oracelta\.lolforum\.net -https?:\/\/([^\/]*\.)?orasta\.com -https?:\/\/([^\/]*\.)?orbasolo\.dl\.pl -https?:\/\/([^\/]*\.)?orcnaac\.discutfree\.com -https?:\/\/([^\/]*\.)?orcoc\.lolbb\.com -https?:\/\/([^\/]*\.)?orcore\.graphforum\.com -https?:\/\/([^\/]*\.)?orddercelexa\.ovp\.pl -https?:\/\/([^\/]*\.)?orddercialisonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordderlevitra\.ovp\.pl -https?:\/\/([^\/]*\.)?orddertramadolonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orddervalium\.ovp\.pl -https?:\/\/([^\/]*\.)?orddervaliumonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordderviagra\.ovp\.pl -https?:\/\/([^\/]*\.)?ordderviagraonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordderzithromax\.ovp\.pl -https?:\/\/([^\/]*\.)?ordeertramadol\.ovp\.pl -https?:\/\/([^\/]*\.)?order-blue-phentermine\.coz\.in -https?:\/\/([^\/]*\.)?order-ritalin-online\.contact\.cc -https?:\/\/([^\/]*\.)?order-viagra\.health-livening\.com -https?:\/\/([^\/]*\.)?orderacyclovirr\.ovp\.pl -https?:\/\/([^\/]*\.)?orderadipexx\.ovp\.pl -https?:\/\/([^\/]*\.)?orderalbenzaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderalprazolamm\.ovp\.pl -https?:\/\/([^\/]*\.)?orderambienn\.ovp\.pl -https?:\/\/([^\/]*\.)?orderamoxicillinn\.ovp\.pl -https?:\/\/([^\/]*\.)?orderativann\.ovp\.pl -https?:\/\/([^\/]*\.)?orderccialiss\.ovp\.pl -https?:\/\/([^\/]*\.)?ordercelexaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderciaalisonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordercialisonline\.jubiiblog\.de -https?:\/\/([^\/]*\.)?ordercialiss\.ovp\.pl -https?:\/\/([^\/]*\.)?ordercializ\.blogcu\.com -https?:\/\/([^\/]*\.)?ordercializ\.spotbb\.com -https?:\/\/([^\/]*\.)?ordercymbaltaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderhydrocodonee\.ovp\.pl -https?:\/\/([^\/]*\.)?orderlevitraa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderllevitra\.ovp\.pl -https?:\/\/([^\/]*\.)?ordermeridiaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderphentermin\.phpbbx\.de -https?:\/\/([^\/]*\.)?orderphenterminee\.ovp\.pl -https?:\/\/([^\/]*\.)?orderpropeciaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrcialisonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrlevitra\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrtramadoll\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrtramadolonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrvalium\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrviagraa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderrviagraonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordersoma\.blogsome\.com -https?:\/\/([^\/]*\.)?ordersomaa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderssoma\.ovp\.pl -https?:\/\/([^\/]*\.)?ordertramadoll\.ovp\.pl -https?:\/\/([^\/]*\.)?ordertramadollonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orderultramm\.ovp\.pl -https?:\/\/([^\/]*\.)?ordervaliumm\.ovp\.pl -https?:\/\/([^\/]*\.)?orderviagraa\.ovp\.pl -https?:\/\/([^\/]*\.)?orderviagraaonline\.ovp\.pl -https?:\/\/([^\/]*\.)?ordervvalium\.ovp\.pl -https?:\/\/([^\/]*\.)?orderxanaxx\.ovp\.pl -https?:\/\/([^\/]*\.)?orderxenicalonline\.ir\.pl -https?:\/\/([^\/]*\.)?orecchino\.7god\.info -https?:\/\/([^\/]*\.)?orecchino\.freespase\.info -https?:\/\/([^\/]*\.)?oregonmortgage-x\.com -https?:\/\/([^\/]*\.)?orgetacel\.discutforum\.com -https?:\/\/([^\/]*\.)?orgeter\.cultureforum\.net -https?:\/\/([^\/]*\.)?orgs\.indianatech\.edu -https?:\/\/([^\/]*\.)?orletovar\.zikforum\.com -https?:\/\/([^\/]*\.)?ormme\.com -https?:\/\/([^\/]*\.)?ornildom\.forumzen\.com -https?:\/\/([^\/]*\.)?orrdercialisonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orrdertramadolonline\.ovp\.pl -https?:\/\/([^\/]*\.)?orsaverc\.forumzen\.com -https?:\/\/([^\/]*\.)?ortar\.com -https?:\/\/([^\/]*\.)?ortho-tri-cyclen\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ortrocrol\.heavenforum\.com -https?:\/\/([^\/]*\.)?ortrocrol\.highforum\.net -https?:\/\/([^\/]*\.)?orvict\.ephpbb\.com -https?:\/\/([^\/]*\.)?oryc0\.szm\.sk -https?:\/\/([^\/]*\.)?orzeldron\.lightbb\.com -https?:\/\/([^\/]*\.)?osakabondage\.info -https?:\/\/([^\/]*\.)?osfi5\.szm\.sk -https?:\/\/([^\/]*\.)?osthtp1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?otqsc\.szm\.sk -https?:\/\/([^\/]*\.)?oudomdar\.dl\.pl -https?:\/\/([^\/]*\.)?oudomolo\.lolbb\.com -https?:\/\/([^\/]*\.)?oudronc4t\.blogcu\.com -https?:\/\/([^\/]*\.)?ouerco\.lightbb\.com -https?:\/\/([^\/]*\.)?oufienoc\.forumzen\.com -https?:\/\/([^\/]*\.)?ouglova\.blogspot\.com -https?:\/\/([^\/]*\.)?ouhymtro\.forumzen\.com -https?:\/\/([^\/]*\.)?ouor\.lightbb\.com -https?:\/\/([^\/]*\.)?ouorrac\.bbfr\.net -https?:\/\/([^\/]*\.)?ouracdron\.discutfree\.com -https?:\/\/([^\/]*\.)?ourolal\.discutfree\.com -https?:\/\/([^\/]*\.)?outrocvar\.zj\.pl -https?:\/\/([^\/]*\.)?outward-dev\.com -https?:\/\/([^\/]*\.)?ouvier\.zj\.pl -https?:\/\/([^\/]*\.)?overseas-adventure-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?ovparnel\.dl\.pl -https?:\/\/([^\/]*\.)?ovpn2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ovrie\.szm\.sk -https?:\/\/([^\/]*\.)?ovu\.edu -https?:\/\/([^\/]*\.)?owll1\.szm\.sk -https?:\/\/([^\/]*\.)?oxpass-com-g5\.blogspot\.com -https?:\/\/([^\/]*\.)?oxpass-com-gt71a0\.blogspot\.com -https?:\/\/([^\/]*\.)?oxpass-com-hurol\.blogspot\.com -https?:\/\/([^\/]*\.)?oyspa\.szm\.sk -https?:\/\/([^\/]*\.)?oz6soqa\.nokedem\.com -https?:\/\/([^\/]*\.)?ozbk9\.szm\.sk -https?:\/\/([^\/]*\.)?ozgzm\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ozxz5\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ozyexk2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?p-free-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?p-n-lesbian-sex-video-d\.blogspot\.com -https?:\/\/([^\/]*\.)?p-teens-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?p-vi\.com -https?:\/\/([^\/]*\.)?p1v\.org -https?:\/\/([^\/]*\.)?p2l\.info -https?:\/\/([^\/]*\.)?pa19\.com -https?:\/\/([^\/]*\.)?pacfic-poker\.mutogen\.be -https?:\/\/([^\/]*\.)?pacficpoker\.xwiki\.com -https?:\/\/([^\/]*\.)?pacific-poker\.black-poker\.com -https?:\/\/([^\/]*\.)?paddedapex\.org -https?:\/\/([^\/]*\.)?paeecpx\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pafyawv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pain-medications\.us -https?:\/\/([^\/]*\.)?pain-relief\.1\.p2l\.info -https?:\/\/([^\/]*\.)?pain-relief\.2x4\.ru -https?:\/\/([^\/]*\.)?pain-relief\.fromru\.com -https?:\/\/([^\/]*\.)?pain-relief\.newmail\.ru -https?:\/\/([^\/]*\.)?pain_relief\.chat\.ru -https?:\/\/([^\/]*\.)?paisi\.com -https?:\/\/([^\/]*\.)?paisidesign\.com -https?:\/\/([^\/]*\.)?pam\.freehostia\.com -https?:\/\/([^\/]*\.)?pamlicohouse\.com -https?:\/\/([^\/]*\.)?panama2cruise\.boom\.ru -https?:\/\/([^\/]*\.)?panama2cruise\.chat\.ru -https?:\/\/([^\/]*\.)?panamacruise1\.boom\.ru -https?:\/\/([^\/]*\.)?panamacruise1\.chat\.ru -https?:\/\/([^\/]*\.)?pandamovies-com-g6lz762n76\.blogspot\.com -https?:\/\/([^\/]*\.)?pandamovies-com-tq32\.blogspot\.com -https?:\/\/([^\/]*\.)?pandamovies-o4me7xqq0f\.blogspot\.com -https?:\/\/([^\/]*\.)?panshan888\.com -https?:\/\/([^\/]*\.)?panss\.org -https?:\/\/([^\/]*\.)?panthersjaguar\.info -https?:\/\/([^\/]*\.)?panty-ass-com-w1\.blogspot\.com -https?:\/\/([^\/]*\.)?panty-ass-com-w8\.blogspot\.com -https?:\/\/([^\/]*\.)?pantybuns-com-a6ejgve\.blogspot\.com -https?:\/\/([^\/]*\.)?pantybuns-com-axeoa77ze5\.blogspot\.com -https?:\/\/([^\/]*\.)?pantybuns-com-tl0\.blogspot\.com -https?:\/\/([^\/]*\.)?pantyhose-face\.pupava\.dtdns\.net -https?:\/\/([^\/]*\.)?pantyhose-net\.com -https?:\/\/([^\/]*\.)?paola-e-chiara\.host24h\.info -https?:\/\/([^\/]*\.)?paper--shredder\.boom\.ru -https?:\/\/([^\/]*\.)?paper-s\.boom\.ru -https?:\/\/([^\/]*\.)?paper1-shredder\.boom\.ru -https?:\/\/([^\/]*\.)?paper1shredder\.chat\.ru -https?:\/\/([^\/]*\.)?paper5shredder\.chat\.ru -https?:\/\/([^\/]*\.)?paperbox\.freephpwebhosting\.net -https?:\/\/([^\/]*\.)?paperroom\.blogspot\.com -https?:\/\/([^\/]*\.)?papr-shredder\.boom\.ru -https?:\/\/([^\/]*\.)?paradisenudes-com-o71a\.blogspot\.com -https?:\/\/([^\/]*\.)?paradisenudes-com-os\.blogspot\.com -https?:\/\/([^\/]*\.)?paralegal1degree\.chat\.ru -https?:\/\/([^\/]*\.)?parench\.ifrance\.com -https?:\/\/([^\/]*\.)?parigi-appartamento-vacanza\.zoom10x\.info -https?:\/\/([^\/]*\.)?paris-hilton-huxik\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-lukuv\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-nude-tape\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-pijid\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-pojic\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-porn\.0800-porn\.com -https?:\/\/([^\/]*\.)?paris-hilton-sex-tape-xxx\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-sex-video-gf5m5\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-sex-video-sez\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-socog\.blogspot\.com -https?:\/\/([^\/]*\.)?paris-hilton-xidig\.blogspot\.com -https?:\/\/([^\/]*\.)?paris\.php5\.cz -https?:\/\/([^\/]*\.)?parishilton-paris-hilton\.blogspot\.com -https?:\/\/([^\/]*\.)?parishilton-paris\.blogspot\.com -https?:\/\/([^\/]*\.)?parnvf8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?partei-deutsches-reich\.de -https?:\/\/([^\/]*\.)?parties-supply\.jeepsyc\.be -https?:\/\/([^\/]*\.)?party-poker\.black-poker\.com -https?:\/\/([^\/]*\.)?pasacvi\.zikforum\.com -https?:\/\/([^\/]*\.)?paschiel\.blogcu\.com -https?:\/\/([^\/]*\.)?pasdronli\.winnerforum\.net -https?:\/\/([^\/]*\.)?pashkak0marov\.blogspot\.com -https?:\/\/([^\/]*\.)?paslibo\.myrealboard\.com -https?:\/\/([^\/]*\.)?pasoloro\.graphforum\.com -https?:\/\/([^\/]*\.)?pasoloro\.highforum\.net -https?:\/\/([^\/]*\.)?pasracco\.blogcu\.com -https?:\/\/([^\/]*\.)?pasrodron\.xa\.pl -https?:\/\/([^\/]*\.)?passaf\.com -https?:\/\/([^\/]*\.)?pastmagic\.blogspot\.com -https?:\/\/([^\/]*\.)?pasviric\.td\.pl -https?:\/\/([^\/]*\.)?patsytestis\.0moola\.com -https?:\/\/([^\/]*\.)?pattywhack91\.ibelgique\.com -https?:\/\/([^\/]*\.)?paulino\.greekboston\.com -https?:\/\/([^\/]*\.)?paulino\.idilis\.ro -https?:\/\/([^\/]*\.)?paxil-cr\.contact\.cc -https?:\/\/([^\/]*\.)?paxil-without-prescription\.contact\.cc -https?:\/\/([^\/]*\.)?paxil\.1\.p2l\.info -https?:\/\/([^\/]*\.)?paxil\.forospace\.com -https?:\/\/([^\/]*\.)?paxilonline\.zoomshare\.com -https?:\/\/([^\/]*\.)?payday-loan\.de\.com -https?:\/\/([^\/]*\.)?payday-loans-4us\.com -https?:\/\/([^\/]*\.)?payday-loans-ooo\.blogspot\.com -https?:\/\/([^\/]*\.)?paydayloans-guide\.com -https?:\/\/([^\/]*\.)?paydayloans-x\.com -https?:\/\/([^\/]*\.)?pcb2002\.home4u\.china\.com -https?:\/\/([^\/]*\.)?pcgzt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pdslnw6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?peace-weasel\.blogspot\.com -https?:\/\/([^\/]*\.)?peacedoorball\.blogspot\.com -https?:\/\/([^\/]*\.)?pearlibuttons\.blogspot\.com -https?:\/\/([^\/]*\.)?pebwgu0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pecilu-free-sex-video-clip\.blogspot\.com -https?:\/\/([^\/]*\.)?pee-4a\.com -https?:\/\/([^\/]*\.)?peetliel\.jconserv\.net -https?:\/\/([^\/]*\.)?pefi-albert\.blogspot\.com -https?:\/\/([^\/]*\.)?pelnp\.szm\.sk -https?:\/\/([^\/]*\.)?pendant\.hostcroc\.com -https?:\/\/([^\/]*\.)?pennsylvaniamortgage-x\.com -https?:\/\/([^\/]*\.)?people\.msoe\.edu -https?:\/\/([^\/]*\.)?percocet-without-prescription\.contact\.cc -https?:\/\/([^\/]*\.)?percocet\.xwiki\.com -https?:\/\/([^\/]*\.)?perfect-boob\.medved\.od\.ua -https?:\/\/([^\/]*\.)?permanentmagnet\.com -https?:\/\/([^\/]*\.)?persiankitty-com-kcfsibt01d\.blogspot\.com -https?:\/\/([^\/]*\.)?persiankitty-com-ksa6l1a\.blogspot\.com -https?:\/\/([^\/]*\.)?personales\.ciudad\.com\.ar -https?:\/\/([^\/]*\.)?personalserotic\.com -https?:\/\/([^\/]*\.)?petite-mature-blonde\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?petite-teen-ass\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?petiteteenager-com-cm8ku8w\.blogspot\.com -https?:\/\/([^\/]*\.)?petiteteenager-com-md6\.blogspot\.com -https?:\/\/([^\/]*\.)?petiteteenager-com-mns4n5a4\.blogspot\.com -https?:\/\/([^\/]*\.)?petiteteenager-g687rhasjq\.blogspot\.com -https?:\/\/([^\/]*\.)?peuct\.szm\.sk -https?:\/\/([^\/]*\.)?pfes7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pffl4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pgbnjja\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pharm1\.info -https?:\/\/([^\/]*\.)?pharmacies\.in\.ua -https?:\/\/([^\/]*\.)?pharmacy-experts\.org -https?:\/\/([^\/]*\.)?pharmacy-x\.ru\.ru -https?:\/\/([^\/]*\.)?pharmacy\.sovuennir\.be -https?:\/\/([^\/]*\.)?pharmacy\.t28\.net -https?:\/\/([^\/]*\.)?pharmacy05\.com -https?:\/\/([^\/]*\.)?pharmacybuy1\.angelcities\.com -https?:\/\/([^\/]*\.)?pharmaduk\.xshorturl\.com -https?:\/\/([^\/]*\.)?phendimetrazine\.1\.p2l\.info -https?:\/\/([^\/]*\.)?phendimetrazinenx\.u\.yuku\.com -https?:\/\/([^\/]*\.)?phentermine--mine\.blogspot\.com -https?:\/\/([^\/]*\.)?phentermine-911\.bee\.pl -https?:\/\/([^\/]*\.)?phentermine-911\.coz\.in -https?:\/\/([^\/]*\.)?phentermine-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?phentermine-choise\.ebloggy\.com -https?:\/\/([^\/]*\.)?phentermine-forum\.tripod\.com -https?:\/\/([^\/]*\.)?phentermine-gs\.eu\.tc -https?:\/\/([^\/]*\.)?phentermine-gs\.net\.tc -https?:\/\/([^\/]*\.)?phentermine-hcl\.org -https?:\/\/([^\/]*\.)?phentermine-online\.cheapills\.info -https?:\/\/([^\/]*\.)?phentermine-online\.presteert\.nl -https?:\/\/([^\/]*\.)?phentermine-pharmacy\.fws1\.com -https?:\/\/([^\/]*\.)?phentermine-support\.com -https?:\/\/([^\/]*\.)?phentermine\.1\.p2l\.info -https?:\/\/([^\/]*\.)?phentermine\.acbox\.com -https?:\/\/([^\/]*\.)?phentermine\.acbox\.net -https?:\/\/([^\/]*\.)?phentermine\.arkadasi\.com -https?:\/\/([^\/]*\.)?phentermine\.asistani\.com -https?:\/\/([^\/]*\.)?phentermine\.bz -https?:\/\/([^\/]*\.)?phentermine\.clubpage\.net -https?:\/\/([^\/]*\.)?phentermine\.esguay\.com -https?:\/\/([^\/]*\.)?phentermine\.flygande-apor\.com -https?:\/\/([^\/]*\.)?phentermine\.goodpharm\.info -https?:\/\/([^\/]*\.)?phentermine\.gotgeeks\.com -https?:\/\/([^\/]*\.)?phentermine\.hallonsaft\.info -https?:\/\/([^\/]*\.)?phentermine\.health-livening\.com -https?:\/\/([^\/]*\.)?phentermine\.on-4\.com -https?:\/\/([^\/]*\.)?phentermine\.ontspant\.nl -https?:\/\/([^\/]*\.)?phentermine\.presteert\.nl -https?:\/\/([^\/]*\.)?phentermine\.skocz\.net -https?:\/\/([^\/]*\.)?phentermine\.su\.pl -https?:\/\/([^\/]*\.)?phentermine\.tv -https?:\/\/([^\/]*\.)?phentermine\.websiam\.net -https?:\/\/([^\/]*\.)?phentermine2\.freewebsites\.com -https?:\/\/([^\/]*\.)?phentermine7x\.forumup\.org -https?:\/\/([^\/]*\.)?phenterminec\.phpbbx\.de -https?:\/\/([^\/]*\.)?phentermineonline\.ds4a\.com -https?:\/\/([^\/]*\.)?phentermineonline\.livelog\.com -https?:\/\/([^\/]*\.)?phentermineq\.host-page\.com -https?:\/\/([^\/]*\.)?phentermines\.int\.tf -https?:\/\/([^\/]*\.)?phoenixbrngbrt\.blogspot\.com -https?:\/\/([^\/]*\.)?phol8\.szm\.sk -https?:\/\/([^\/]*\.)?phone-service\.newmail\.ru -https?:\/\/([^\/]*\.)?phones-gsm\.haemati\.be -https?:\/\/([^\/]*\.)?photo-of-girl-boob\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?photospacefree\.com -https?:\/\/([^\/]*\.)?phots\.info -https?:\/\/([^\/]*\.)?phpbbx\.de -https?:\/\/([^\/]*\.)?phun-org-i08kd\.blogspot\.com -https?:\/\/([^\/]*\.)?phun-org-ingg0\.blogspot\.com -https?:\/\/([^\/]*\.)?pi-allyson\.blogspot\.com -https?:\/\/([^\/]*\.)?pichunter-com-bkfwk\.blogspot\.com -https?:\/\/([^\/]*\.)?pichunter-com-bzf\.blogspot\.com -https?:\/\/([^\/]*\.)?pichunter-com-hmmcyoud8\.blogspot\.com -https?:\/\/([^\/]*\.)?pichunter-com-kesip\.blogspot\.com -https?:\/\/([^\/]*\.)?picpost-com-e3xqsc6a\.blogspot\.com -https?:\/\/([^\/]*\.)?picpost-com-eu7refa3s5\.blogspot\.com -https?:\/\/([^\/]*\.)?picture-cast-on-broken-leg\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?picture-of-gay-guys-fucking\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?picture-of-used-condom\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?picture\.8tt\.org -https?:\/\/([^\/]*\.)?pictureheaven-com-ri7hn\.blogspot\.com -https?:\/\/([^\/]*\.)?pictureheaven-com-rw\.blogspot\.com -https?:\/\/([^\/]*\.)?pictures-free-org-wl0nj\.blogspot\.com -https?:\/\/([^\/]*\.)?pictures-free-org-wmmkv2w\.blogspot\.com -https?:\/\/([^\/]*\.)?piggy-soldier\.blogspot\.com -https?:\/\/([^\/]*\.)?pigtime\.net\.ru -https?:\/\/([^\/]*\.)?pigxxx-com-ctjj1\.blogspot\.com -https?:\/\/([^\/]*\.)?pigxxx-com-ge1omxgp20\.blogspot\.com -https?:\/\/([^\/]*\.)?pigxxx-com-geo8asd1i\.blogspot\.com -https?:\/\/([^\/]*\.)?pigxxx-com-nevew\.blogspot\.com -https?:\/\/([^\/]*\.)?pijjyh-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?pillalli\.info -https?:\/\/([^\/]*\.)?pillnext\.com -https?:\/\/([^\/]*\.)?pillow\.2x4\.ru -https?:\/\/([^\/]*\.)?pills-catalog\.com -https?:\/\/([^\/]*\.)?pills-pharmacy\.us -https?:\/\/([^\/]*\.)?pills\.007webpro\.com -https?:\/\/([^\/]*\.)?pills\.siemprelisto\.net -https?:\/\/([^\/]*\.)?pills1\.org -https?:\/\/([^\/]*\.)?pillsz\.com -https?:\/\/([^\/]*\.)?pimpmyblackteen-com-t6ijmwbu\.blogspot\.com -https?:\/\/([^\/]*\.)?pimpmyblackteen-com-t7d432c\.blogspot\.com -https?:\/\/([^\/]*\.)?pindosam\.com -https?:\/\/([^\/]*\.)?pine\.hostonmars\.com -https?:\/\/([^\/]*\.)?pinkpornstars-com-da3njbu\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkpornstars-com-dnjx\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkpornstars-com-drm\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkworld-com-c84agv\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkworld-com-ci8e6\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkworld-com-ge4k4kmsd\.blogspot\.com -https?:\/\/([^\/]*\.)?pinkworld-com-kp7s8i5\.blogspot\.com -https?:\/\/([^\/]*\.)?pino-daniele\.19mb\.info -https?:\/\/([^\/]*\.)?pinoyteens\.net -https?:\/\/([^\/]*\.)?piomchel\.jconserv\.net -https?:\/\/([^\/]*\.)?pisces\.8tt\.org -https?:\/\/([^\/]*\.)?pitch\.101freehost\.com -https?:\/\/([^\/]*\.)?pizda4\.com -https?:\/\/([^\/]*\.)?pizza-hut\.hotmail\.ru -https?:\/\/([^\/]*\.)?pjim6\.szm\.sk -https?:\/\/([^\/]*\.)?pjju3\.szm\.sk -https?:\/\/([^\/]*\.)?pjmykz8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pjryskur-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?pjuibhe\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pkufl\.szm\.sk -https?:\/\/([^\/]*\.)?place\.sex-jet\.net -https?:\/\/([^\/]*\.)?planetaacura\.info -https?:\/\/([^\/]*\.)?planetwatt\.republika\.pl -https?:\/\/([^\/]*\.)?plastictec\.net -https?:\/\/([^\/]*\.)?plavix\.coz\.in -https?:\/\/([^\/]*\.)?plavixbuy\.gameday\.de -https?:\/\/([^\/]*\.)?plavixbuycheap\.dive\.to -https?:\/\/([^\/]*\.)?plavixcheap\.hey\.to -https?:\/\/([^\/]*\.)?plavixcheapgeneric\.go\.to -https?:\/\/([^\/]*\.)?plavixgeneric\.change\.to -https?:\/\/([^\/]*\.)?play-777\.com -https?:\/\/([^\/]*\.)?play-online-casino\.de\.com -https?:\/\/([^\/]*\.)?play-online-poker\.newmail\.ru -https?:\/\/([^\/]*\.)?play-station-2-boot-disk\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?playandwinit777\.net -https?:\/\/([^\/]*\.)?pleasebangmywife-com-i8zdgo1\.blogspot\.com -https?:\/\/([^\/]*\.)?pleasebangmywife-com-iq\.blogspot\.com -https?:\/\/([^\/]*\.)?pleasebangmywife-com-koguq\.blogspot\.com -https?:\/\/([^\/]*\.)?pleasure\.hostonmars\.com -https?:\/\/([^\/]*\.)?ploob\.blox\.pl -https?:\/\/([^\/]*\.)?plugkblow\.pornomagnat\.net -https?:\/\/([^\/]*\.)?plumper69-com-on3664rg\.blogspot\.com -https?:\/\/([^\/]*\.)?plumper69-com-os4\.blogspot\.com -https?:\/\/([^\/]*\.)?plumper69-com-sokis\.blogspot\.com -https?:\/\/([^\/]*\.)?plxn1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pmrd2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pmyk8\.fr33webhost\.com -https?:\/\/([^\/]*\.)?po-alora\.blogspot\.com -https?:\/\/([^\/]*\.)?pobpa\.fr33webhost\.com -https?:\/\/([^\/]*\.)?pocmlaq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?podnos\.stabilt\.se -https?:\/\/([^\/]*\.)?poeller\.dl\.pl -https?:\/\/([^\/]*\.)?pogeh\.szm\.sk -https?:\/\/([^\/]*\.)?pohuym\.jo\.pl -https?:\/\/([^\/]*\.)?pointyou\.info -https?:\/\/([^\/]*\.)?poker-0\.com -https?:\/\/([^\/]*\.)?poker-24x7\.com -https?:\/\/([^\/]*\.)?poker-4all\.com -https?:\/\/([^\/]*\.)?poker-7\.com -https?:\/\/([^\/]*\.)?poker-boulevard\.com -https?:\/\/([^\/]*\.)?poker-check\.com -https?:\/\/([^\/]*\.)?poker-new\.com -https?:\/\/([^\/]*\.)?poker-party-a\.com -https?:\/\/([^\/]*\.)?poker-places-4u\.net -https?:\/\/([^\/]*\.)?poker-places\.net -https?:\/\/([^\/]*\.)?poker-pro\.us -https?:\/\/([^\/]*\.)?poker-stadium\.com -https?:\/\/([^\/]*\.)?poker-sys\.com -https?:\/\/([^\/]*\.)?poker-unique\.com -https?:\/\/([^\/]*\.)?poker-valley\.com -https?:\/\/([^\/]*\.)?poker\.black-poker\.com -https?:\/\/([^\/]*\.)?poker\.land\.ru -https?:\/\/([^\/]*\.)?poker1table\.chat\.ru -https?:\/\/([^\/]*\.)?pokera\.web\.com -https?:\/\/([^\/]*\.)?pokermaniab\.atspace\.com -https?:\/\/([^\/]*\.)?polex\.com\.cn -https?:\/\/([^\/]*\.)?police-motorcycle-boot\.medved\.od\.ua -https?:\/\/([^\/]*\.)?police\.site\.io -https?:\/\/([^\/]*\.)?polonka\.php5\.cz -https?:\/\/([^\/]*\.)?polott\.org -https?:\/\/([^\/]*\.)?polyphonic-ringtoneslsh\.blogspot\.com -https?:\/\/([^\/]*\.)?polysorb\.myoco\.be -https?:\/\/([^\/]*\.)?polyurethane-condom\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?pool-table\.hotmail\.ru -https?:\/\/([^\/]*\.)?poopoovi\.forumculture\.net -https?:\/\/([^\/]*\.)?pop\.egi\.biz -https?:\/\/([^\/]*\.)?porn-clip-blog5jc\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-clip-boj\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-clip-om16o\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-movie-clips-blogk8p\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-movie-rj8a7\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-movie-ted\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-movie\.hostingtree\.org -https?:\/\/([^\/]*\.)?porn-samples\.com -https?:\/\/([^\/]*\.)?porn-star-clip-info0n0\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-star-movie-clip-newsigj\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-star-video-clip-zone44f\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-teacher\.com -https?:\/\/([^\/]*\.)?porn-teen-pic\.com -https?:\/\/([^\/]*\.)?porn-video-clip-bb-bb-f\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-video-clip-gallery-zonehp1\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-video-clips-news5v2\.blogspot\.com -https?:\/\/([^\/]*\.)?porn-video-jef\.blogspot\.com -https?:\/\/([^\/]*\.)?porn1clip\.blogspot\.com -https?:\/\/([^\/]*\.)?pornaccess-com-k58\.blogspot\.com -https?:\/\/([^\/]*\.)?pornaccess-com-kkd1zvcobi\.blogspot\.com -https?:\/\/([^\/]*\.)?porndirectory-com-m544ar5z47\.blogspot\.com -https?:\/\/([^\/]*\.)?porndirectory-com-miyza\.blogspot\.com -https?:\/\/([^\/]*\.)?porneskimo-com-hizrd2on\.blogspot\.com -https?:\/\/([^\/]*\.)?porneskimo-com-hr1frq8hrr\.blogspot\.com -https?:\/\/([^\/]*\.)?porneskimo-d4p5\.blogspot\.com -https?:\/\/([^\/]*\.)?porneskimo-diheh\.blogspot\.com -https?:\/\/([^\/]*\.)?pornfreeusa\.info -https?:\/\/([^\/]*\.)?pornno-com-cdtkjmj\.blogspot\.com -https?:\/\/([^\/]*\.)?pornno-com-cz5dknpwc\.blogspot\.com -https?:\/\/([^\/]*\.)?pornogames4\.com -https?:\/\/([^\/]*\.)?pornoho-com-d7f\.blogspot\.com -https?:\/\/([^\/]*\.)?pornoho-com-db2ge0p\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstar-com-be1mbdy0l1\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstar-com-bsrzs22gn\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstar-com-nuvor\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstar-dz8j\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarbook-com-ag3477t\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarbook-com-agrpd\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarfinder-net-wp2lsr0\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarfinder-net-wuag8\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstargals-com-tj\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstargals-com-tk7hoxv36\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstars\.hostingtree\.org -https?:\/\/([^\/]*\.)?pornstarvid-com-dinif\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarvid-com-h5\.blogspot\.com -https?:\/\/([^\/]*\.)?pornstarvid-com-h8xe\.blogspot\.com -https?:\/\/([^\/]*\.)?pornweek-com\.isabel\.dtdns\.net -https?:\/\/([^\/]*\.)?portal777\.com -https?:\/\/([^\/]*\.)?portalrate\.info -https?:\/\/([^\/]*\.)?portcityhonda\.info -https?:\/\/([^\/]*\.)?portly\.byinter\.net -https?:\/\/([^\/]*\.)?porzo-com-dsmefbsl\.blogspot\.com -https?:\/\/([^\/]*\.)?porzo-com-gxo\.blogspot\.com -https?:\/\/([^\/]*\.)?poshlo\.com -https?:\/\/([^\/]*\.)?postdream\.org -https?:\/\/([^\/]*\.)?potulnik\.php5\.cz -https?:\/\/([^\/]*\.)?povicyt\.dynamicforum\.net -https?:\/\/([^\/]*\.)?powerlevelingweb\.com -https?:\/\/([^\/]*\.)?pozorvostoka\.250free\.com -https?:\/\/([^\/]*\.)?pp-shredd\.boom\.ru -https?:\/\/([^\/]*\.)?pppsp\.szm\.sk -https?:\/\/([^\/]*\.)?ppuhldv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pqis2\.szm\.sk -https?:\/\/([^\/]*\.)?prakashcommunication\.com -https?:\/\/([^\/]*\.)?prama\.info -https?:\/\/([^\/]*\.)?prasut\.com -https?:\/\/([^\/]*\.)?prearnha\.dl\.pl -https?:\/\/([^\/]*\.)?prednisone\.3d-game\.com -https?:\/\/([^\/]*\.)?prenotazione-albergo-rimini\.host24h\.info -https?:\/\/([^\/]*\.)?prestito-taranto\.robzz\.info -https?:\/\/([^\/]*\.)?prettyhair24-7\.blogspot\.com -https?:\/\/([^\/]*\.)?prettyhotbabes-com-r2lu08uojn\.blogspot\.com -https?:\/\/([^\/]*\.)?prettyhotbabes-com-rkgrt\.blogspot\.com -https?:\/\/([^\/]*\.)?prettymob\.com -https?:\/\/([^\/]*\.)?prevacid\.1\.p2l\.info -https?:\/\/([^\/]*\.)?price-top\.com -https?:\/\/([^\/]*\.)?price100\.info -https?:\/\/([^\/]*\.)?prilosec\.1\.p2l\.info -https?:\/\/([^\/]*\.)?prilosecbuycheap\.turn\.to -https?:\/\/([^\/]*\.)?prilosecbuygeneric\.redirect\.to -https?:\/\/([^\/]*\.)?priloseccheap\.turn\.to -https?:\/\/([^\/]*\.)?priloseccheapgeneric\.redirect\.to -https?:\/\/([^\/]*\.)?prilosecgeneric\.come\.to -https?:\/\/([^\/]*\.)?primer\.fidosoft\.de -https?:\/\/([^\/]*\.)?primojerky\.cn -https?:\/\/([^\/]*\.)?primonona\.info -https?:\/\/([^\/]*\.)?princesscruises\.chat\.ru -https?:\/\/([^\/]*\.)?princesskariboo\.blogspot\.com -https?:\/\/([^\/]*\.)?printer\.net\.cn -https?:\/\/([^\/]*\.)?printingok\.net -https?:\/\/([^\/]*\.)?private-porn-clip-newsmzm\.blogspot\.com -https?:\/\/([^\/]*\.)?proactive-facial-product\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?problem-skin\.nm\.ru -https?:\/\/([^\/]*\.)?problem_skin\.chat\.ru -https?:\/\/([^\/]*\.)?prodotti-cosmetico\.nnme\.info -https?:\/\/([^\/]*\.)?projectvoyeur-com-ec15a\.blogspot\.com -https?:\/\/([^\/]*\.)?projectvoyeur-com-eq2w\.blogspot\.com -https?:\/\/([^\/]*\.)?projectvoyeur-com-eyyd4q\.blogspot\.com -https?:\/\/([^\/]*\.)?projectvoyeur-t3j\.blogspot\.com -https?:\/\/([^\/]*\.)?prom\.createforum\.us -https?:\/\/([^\/]*\.)?propecia\.1\.p2l\.info -https?:\/\/([^\/]*\.)?propecia\.esguay\.com -https?:\/\/([^\/]*\.)?propecia\.skocz\.net -https?:\/\/([^\/]*\.)?protonixbuy\.stick\.by -https?:\/\/([^\/]*\.)?protonixbuycheap\.redirect\.to -https?:\/\/([^\/]*\.)?protonixcheap\.connect\.to -https?:\/\/([^\/]*\.)?protonixcheapgeneric\.soft-ware\.de -https?:\/\/([^\/]*\.)?protonixgenericbuy\.cut\.by -https?:\/\/([^\/]*\.)?provigilweight\.sblog\.cz -https?:\/\/([^\/]*\.)?prozac\.rx4\.org -https?:\/\/([^\/]*\.)?prsl4\.szm\.sk -https?:\/\/([^\/]*\.)?prznic\.dtdns\.net -https?:\/\/([^\/]*\.)?psfc\.mit\.edu -https?:\/\/([^\/]*\.)?psmorrison\.blogspot\.com -https?:\/\/([^\/]*\.)?psnuni\.com -https?:\/\/([^\/]*\.)?psrq4\.szm\.sk -https?:\/\/([^\/]*\.)?psychology-degre\.boom\.ru -https?:\/\/([^\/]*\.)?psychology1degre\.chat\.ru -https?:\/\/([^\/]*\.)?pszdc\.szm\.sk -https?:\/\/([^\/]*\.)?ptpm9\.szm\.sk -https?:\/\/([^\/]*\.)?ptrip\.net -https?:\/\/([^\/]*\.)?pttqt\.szm\.sk -https?:\/\/([^\/]*\.)?publicinvasion-com-bhtum2\.blogspot\.com -https?:\/\/([^\/]*\.)?publicinvasion-com-bj\.blogspot\.com -https?:\/\/([^\/]*\.)?publicinvasion-com-furok\.blogspot\.com -https?:\/\/([^\/]*\.)?publicsaftor\.com -https?:\/\/([^\/]*\.)?pued-com-maxu1g7\.blogspot\.com -https?:\/\/([^\/]*\.)?pued-com-mf3\.blogspot\.com -https?:\/\/([^\/]*\.)?pued-com-r0078gie\.blogspot\.com -https?:\/\/([^\/]*\.)?pued-ox5y12mn7s\.blogspot\.com -https?:\/\/([^\/]*\.)?puffybet\.sultryserver\.com -https?:\/\/([^\/]*\.)?pulaskiterm\.info -https?:\/\/([^\/]*\.)?pulse-squad\.com -https?:\/\/([^\/]*\.)?pumpthatass-com-a78juz38f2\.blogspot\.com -https?:\/\/([^\/]*\.)?pumpthatass-com-a7ouybe\.blogspot\.com -https?:\/\/([^\/]*\.)?pumpthatass-com-xudeb\.blogspot\.com -https?:\/\/([^\/]*\.)?punguinodoom\.110mb\.com -https?:\/\/([^\/]*\.)?punjqm0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?punk-ass-bitch-wheatus\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?puppykibble-com-o7\.blogspot\.com -https?:\/\/([^\/]*\.)?puppykibble-com-oh0w2te3k\.blogspot\.com -https?:\/\/([^\/]*\.)?puppykibble-com-oqm7hu8d\.blogspot\.com -https?:\/\/([^\/]*\.)?purextc-com-i8\.blogspot\.com -https?:\/\/([^\/]*\.)?purextc-com-iy\.blogspot\.com -https?:\/\/([^\/]*\.)?pussy-ass-bitch\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?pussy-org-kjsb51la\.blogspot\.com -https?:\/\/([^\/]*\.)?pussy-org-km5\.blogspot\.com -https?:\/\/([^\/]*\.)?putsta\.com -https?:\/\/([^\/]*\.)?pvfws\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pvqoa\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pvsiwi7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pvudt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pvzj1\.szm\.sk -https?:\/\/([^\/]*\.)?pwqx0\.szm\.sk -https?:\/\/([^\/]*\.)?pymiw\.szm\.sk -https?:\/\/([^\/]*\.)?pyr0lys1s\.blogspot\.com -https?:\/\/([^\/]*\.)?pyrebi\.blogspot\.com -https?:\/\/([^\/]*\.)?pyujxu0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?pzch0\.szm\.sk -https?:\/\/([^\/]*\.)?pzek6\.szm\.sk -https?:\/\/([^\/]*\.)?pzif1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?q-n-homemade-sex-video-z\.blogspot\.com -https?:\/\/([^\/]*\.)?qbzmbwz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qctbue2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qdhr9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qdojv\.fr33webhost\.com -https?:\/\/([^\/]*\.)?qe-hentai-sex-video-sun\.blogspot\.com -https?:\/\/([^\/]*\.)?qek-wetplace-com\.blogspot\.com -https?:\/\/([^\/]*\.)?qfoo7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qgre5\.szm\.sk -https?:\/\/([^\/]*\.)?qgtdivl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qhiqu\.fr33webhost\.com -https?:\/\/([^\/]*\.)?qhprfm6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qhyvt\.szm\.sk -https?:\/\/([^\/]*\.)?qietingqi\.ebloggy\.com -https?:\/\/([^\/]*\.)?qingpao\.com -https?:\/\/([^\/]*\.)?qinjq\.szm\.sk -https?:\/\/([^\/]*\.)?qiqiu\.org -https?:\/\/([^\/]*\.)?qite-alanna\.blogspot\.com -https?:\/\/([^\/]*\.)?qjok9\.szm\.sk -https?:\/\/([^\/]*\.)?qjt230\.com -https?:\/\/([^\/]*\.)?qjvkvcd\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qklb4\.szm\.sk -https?:\/\/([^\/]*\.)?qklhtf0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qknfl\.szm\.sk -https?:\/\/([^\/]*\.)?qknpl\.info -https?:\/\/([^\/]*\.)?qkpple2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qlpkce6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qltx2\.szm\.sk -https?:\/\/([^\/]*\.)?qmjrpuo\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qnax1\.szm\.sk -https?:\/\/([^\/]*\.)?qo-video-porn-gratis-download\.blogspot\.com -https?:\/\/([^\/]*\.)?qoclick\.com -https?:\/\/([^\/]*\.)?qoeg6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qojodeh-bdsm-post-video-f\.blogspot\.com -https?:\/\/([^\/]*\.)?qosmwx9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qpdoc\.com -https?:\/\/([^\/]*\.)?qqdaj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qqer6\.szm\.sk -https?:\/\/([^\/]*\.)?qqnbon4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qqwgp\.szm\.sk -https?:\/\/([^\/]*\.)?qrvkof5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qsc7\.org\.ua -https?:\/\/([^\/]*\.)?qsskk\.info -https?:\/\/([^\/]*\.)?qtru3\.szm\.sk -https?:\/\/([^\/]*\.)?qu-free-latina-sex-vide-wiv\.blogspot\.com -https?:\/\/([^\/]*\.)?quails\.ipupdater\.us -https?:\/\/([^\/]*\.)?quandugift\.com -https?:\/\/([^\/]*\.)?queryguild\.com -https?:\/\/([^\/]*\.)?quqob\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qutgmzbuje-video\.blogspot\.com -https?:\/\/([^\/]*\.)?qvewr\.szm\.sk -https?:\/\/([^\/]*\.)?qvrzi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qvulp\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qwhhmaj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qwrn6\.fr33webhost\.com -https?:\/\/([^\/]*\.)?qxmk2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?qyda0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qyf99\.com -https?:\/\/([^\/]*\.)?qypv5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qz\.informs\.com -https?:\/\/([^\/]*\.)?qzjeqcv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?qzrhj\.fr33webhost\.com -https?:\/\/([^\/]*\.)?r-t-free-porn-video-clip-c\.blogspot\.com -https?:\/\/([^\/]*\.)?racelleto\.dl\.pl -https?:\/\/([^\/]*\.)?racer\.graphforum\.com -https?:\/\/([^\/]*\.)?racerboc\.ephpbb\.com -https?:\/\/([^\/]*\.)?rachel-hunter-as-stacys-mom\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?racnelelt\.fr-bb\.com -https?:\/\/([^\/]*\.)?racoloboc\.graphforum\.com -https?:\/\/([^\/]*\.)?racoloboc\.highforum\.net -https?:\/\/([^\/]*\.)?racoloor\.dl\.pl -https?:\/\/([^\/]*\.)?racrella\.dl\.pl -https?:\/\/([^\/]*\.)?racsitli\.dl\.pl -https?:\/\/([^\/]*\.)?ractrcna\.bb-fr\.com -https?:\/\/([^\/]*\.)?racviget\.blogcu\.com -https?:\/\/([^\/]*\.)?raezey\.blogspot\.com -https?:\/\/([^\/]*\.)?raged\.info -https?:\/\/([^\/]*\.)?rajzhze\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ramandrom\.com -https?:\/\/([^\/]*\.)?randomlogik\.blogspot\.com -https?:\/\/([^\/]*\.)?rappture\.blogspot\.com -https?:\/\/([^\/]*\.)?raruzeol\.jconserv\.net -https?:\/\/([^\/]*\.)?rate-boob-pic\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?ratonhteroad\.blogspot\.com -https?:\/\/([^\/]*\.)?rawpussy-b0q\.blogspot\.com -https?:\/\/([^\/]*\.)?rawpussy-com-t3l\.blogspot\.com -https?:\/\/([^\/]*\.)?rawpussy-com-tawon6x\.blogspot\.com -https?:\/\/([^\/]*\.)?raxm2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?razor-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?razor2scooter\.chat\.ru -https?:\/\/([^\/]*\.)?rboub\.szm\.sk -https?:\/\/([^\/]*\.)?rdavisinc\.com -https?:\/\/([^\/]*\.)?re-advertising\.boom\.ru -https?:\/\/([^\/]*\.)?re\.rutan\.org -https?:\/\/([^\/]*\.)?readworld\.com -https?:\/\/([^\/]*\.)?real-gay-sex-story\.medved\.od\.ua -https?:\/\/([^\/]*\.)?real-ringtoneserd\.blogspot\.com -https?:\/\/([^\/]*\.)?realitsen\.info -https?:\/\/([^\/]*\.)?realitypassplus-com-e34pddwt1\.blogspot\.com -https?:\/\/([^\/]*\.)?realitypassplus-com-e7y\.blogspot\.com -https?:\/\/([^\/]*\.)?realityporn\.coz\.in -https?:\/\/([^\/]*\.)?realtimewatches\.info -https?:\/\/([^\/]*\.)?realtors-x\.com -https?:\/\/([^\/]*\.)?reboteen5\.blogspot\.com -https?:\/\/([^\/]*\.)?rebuildsanmateohighschool\.org -https?:\/\/([^\/]*\.)?recipe4you\.info -https?:\/\/([^\/]*\.)?recupero-dati-hard-disk\.ll11\.info -https?:\/\/([^\/]*\.)?redder\.my-wifi\.info -https?:\/\/([^\/]*\.)?redfxo\.blogspot\.com -https?:\/\/([^\/]*\.)?redsex4\.info -https?:\/\/([^\/]*\.)?redtcyw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?reductildrug\.coz\.in -https?:\/\/([^\/]*\.)?redway-org-d8u\.blogspot\.com -https?:\/\/([^\/]*\.)?redway-org-dtxz0863\.blogspot\.com -https?:\/\/([^\/]*\.)?redway-rla\.blogspot\.com -https?:\/\/([^\/]*\.)?reeringtonesptl\.blogspot\.com -https?:\/\/([^\/]*\.)?refinance-x\.com -https?:\/\/([^\/]*\.)?reggdr\.org -https?:\/\/([^\/]*\.)?regsh\.com -https?:\/\/([^\/]*\.)?reiw9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rejoicing\.gigsweb\.com -https?:\/\/([^\/]*\.)?rekara\.com -https?:\/\/([^\/]*\.)?relagen\.orkan\.yi\.org -https?:\/\/([^\/]*\.)?relalract\.lolforum\.net -https?:\/\/([^\/]*\.)?relcadron\.bbgraf\.com -https?:\/\/([^\/]*\.)?relcoli\.lightbb\.com -https?:\/\/([^\/]*\.)?relics\.hackers-unite\.info -https?:\/\/([^\/]*\.)?relmonric\.lolforum\.net -https?:\/\/([^\/]*\.)?reloading-software\.lycan\.be -https?:\/\/([^\/]*\.)?relsitelt\.darkbb\.com -https?:\/\/([^\/]*\.)?relsitrel\.xa\.pl -https?:\/\/([^\/]*\.)?reltaro\.lolbb\.com -https?:\/\/([^\/]*\.)?remiza\.dtdns\.net -https?:\/\/([^\/]*\.)?renova\.1\.p2l\.info -https?:\/\/([^\/]*\.)?rentbuscompany\.net -https?:\/\/([^\/]*\.)?rentcarcenter\.com -https?:\/\/([^\/]*\.)?rentcarok\.org -https?:\/\/([^\/]*\.)?replacement-batteries\.loretic\.be -https?:\/\/([^\/]*\.)?repq7\.szm\.sk -https?:\/\/([^\/]*\.)?rerdiq4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?reshall\.iweb\.bsu\.edu -https?:\/\/([^\/]*\.)?responderpal\.com -https?:\/\/([^\/]*\.)?restless-leg--com\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?restless-leg-syndrome-com\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?retin-a\.1\.p2l\.info -https?:\/\/([^\/]*\.)?retirement1comm\.chat\.ru -https?:\/\/([^\/]*\.)?returboc\.forumculture\.net -https?:\/\/([^\/]*\.)?revitolantiaging\.com -https?:\/\/([^\/]*\.)?rfjn0\.szm\.sk -https?:\/\/([^\/]*\.)?rgvlg\.szm\.sk -https?:\/\/([^\/]*\.)?rhdhh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rhinotickets\.com -https?:\/\/([^\/]*\.)?rhn45\.nokedem\.com -https?:\/\/([^\/]*\.)?rhodeislandmortgage-x\.com -https?:\/\/([^\/]*\.)?rhooh\.flnet\.org -https?:\/\/([^\/]*\.)?ri-hardcore-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?ricacelco\.dl\.pl -https?:\/\/([^\/]*\.)?ricaldneu\.fr-bb\.com -https?:\/\/([^\/]*\.)?riceltleto\.dl\.pl -https?:\/\/([^\/]*\.)?ricetta-cucina\.host24h\.info -https?:\/\/([^\/]*\.)?rich-r\.blogspot\.com -https?:\/\/([^\/]*\.)?richards-realm-com-c4h\.blogspot\.com -https?:\/\/([^\/]*\.)?richards-realm-com-cs\.blogspot\.com -https?:\/\/([^\/]*\.)?riclarol\.dl\.pl -https?:\/\/([^\/]*\.)?ricostruzione-unghia\.hostzz\.info -https?:\/\/([^\/]*\.)?ricrelnel\.frbb\.net -https?:\/\/([^\/]*\.)?rictaget\.uy\.pl -https?:\/\/([^\/]*\.)?rictrocvar\.zikforum\.com -https?:\/\/([^\/]*\.)?riczelur\.forumzen\.com -https?:\/\/([^\/]*\.)?ridiaulctions\.blogspot\.com -https?:\/\/([^\/]*\.)?right-leg-swelling\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?rigour\.info -https?:\/\/([^\/]*\.)?rijulina\.dl\.pl -https?:\/\/([^\/]*\.)?ring-tonecti\.blogspot\.com -https?:\/\/([^\/]*\.)?ring2man\.chat\.ru -https?:\/\/([^\/]*\.)?ring4man\.chat\.ru -https?:\/\/([^\/]*\.)?ring4tel\.com -https?:\/\/([^\/]*\.)?ringg\.info -https?:\/\/([^\/]*\.)?ringtones-4phone\.com -https?:\/\/([^\/]*\.)?ringtones-dir\.com -https?:\/\/([^\/]*\.)?ringtones-dir\.net -https?:\/\/([^\/]*\.)?ringtones-for-a-samsungtwt\.blogspot\.com -https?:\/\/([^\/]*\.)?ringtones-rate\.com -https?:\/\/([^\/]*\.)?ringtones\.blogharbor\.com -https?:\/\/([^\/]*\.)?ringts\.269g\.net -https?:\/\/([^\/]*\.)?risajno\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?risque-sexy-plus-size-lingerie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?rit\.edu -https?:\/\/([^\/]*\.)?ritalin-without-prescription\.contact\.cc -https?:\/\/([^\/]*\.)?ritalin\.myvnc\.com -https?:\/\/([^\/]*\.)?river-road-motorcycle-boot\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?river\.greatfreehosting\.com -https?:\/\/([^\/]*\.)?rivotril\.int\.tf -https?:\/\/([^\/]*\.)?rm-ast-pants\.blogspot\.com -https?:\/\/([^\/]*\.)?rmsq9\.szm\.sk -https?:\/\/([^\/]*\.)?rmuuur3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rndk1\.szm\.sk -https?:\/\/([^\/]*\.)?rnmg6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ro-westin\.blogspot\.com -https?:\/\/([^\/]*\.)?robotqueen\.250free\.com -https?:\/\/([^\/]*\.)?rochili\.alkablog\.com -https?:\/\/([^\/]*\.)?rodar6or6\.dl\.pl -https?:\/\/([^\/]*\.)?rodvww7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rogetou\.dl\.pl -https?:\/\/([^\/]*\.)?rojeracr\.forumzen\.com -https?:\/\/([^\/]*\.)?roketplanet\.weedns\.com -https?:\/\/([^\/]*\.)?rokminric\.dynamicbb\.com -https?:\/\/([^\/]*\.)?rokzecdok\.dynamicbb\.com -https?:\/\/([^\/]*\.)?rolccna\.dl\.pl -https?:\/\/([^\/]*\.)?rolcnac\.td\.pl -https?:\/\/([^\/]*\.)?rolex\.heberg-forum\.net -https?:\/\/([^\/]*\.)?rolexreplica\.269g\.net -https?:\/\/([^\/]*\.)?rolica\.blogcu\.com -https?:\/\/([^\/]*\.)?rollaolo\.blogcu\.com -https?:\/\/([^\/]*\.)?rollatobas\.naturalforum\.net -https?:\/\/([^\/]*\.)?rolracboc\.bb-fr\.com -https?:\/\/([^\/]*\.)?roltrsit\.bbfr\.net -https?:\/\/([^\/]*\.)?rom\.dl\.pl -https?:\/\/([^\/]*\.)?romahotel\.org -https?:\/\/([^\/]*\.)?romandie\.com -https?:\/\/([^\/]*\.)?romanticmaui\.net -https?:\/\/([^\/]*\.)?room-house\.jeepsyc\.be -https?:\/\/([^\/]*\.)?root\.dns\.bz -https?:\/\/([^\/]*\.)?roouvar\.dl\.pl -https?:\/\/([^\/]*\.)?roricdom\.lightbb\.com -https?:\/\/([^\/]*\.)?roseofgold52\.50webs\.com -https?:\/\/([^\/]*\.)?rotl\.info -https?:\/\/([^\/]*\.)?rotrocrol\.darkbb\.com -https?:\/\/([^\/]*\.)?roundandbrown-com-bkb03g0hi\.blogspot\.com -https?:\/\/([^\/]*\.)?roundandbrown-com-kp04\.blogspot\.com -https?:\/\/([^\/]*\.)?roundandbrown-com-wqzj337l\.blogspot\.com -https?:\/\/([^\/]*\.)?roundandbrown-com-wus56c\.blogspot\.com -https?:\/\/([^\/]*\.)?routan\.org -https?:\/\/([^\/]*\.)?roxyobsessed7\.blogspot\.com -https?:\/\/([^\/]*\.)?rphqj\.szm\.sk -https?:\/\/([^\/]*\.)?rqhdnj4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rqpwn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rrefr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rrgr4\.fr33webhost\.com -https?:\/\/([^\/]*\.)?rrlive\.info -https?:\/\/([^\/]*\.)?rrsfmw7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rseo7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?rshu2\.szm\.sk -https?:\/\/([^\/]*\.)?rsmy8\.szm\.sk -https?:\/\/([^\/]*\.)?rthl0\.fr33webhost\.com -https?:\/\/([^\/]*\.)?rtugwoy\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ruanjian\.cwrjcn\.com -https?:\/\/([^\/]*\.)?rucowdena\.ifrance\.com -https?:\/\/([^\/]*\.)?rudecomputing\.com -https?:\/\/([^\/]*\.)?rudu-adam\.blogspot\.com -https?:\/\/([^\/]*\.)?ruimingwei\.com\.cn -https?:\/\/([^\/]*\.)?rulurbuc\.forumzen\.com -https?:\/\/([^\/]*\.)?runutr\.forumzen\.com -https?:\/\/([^\/]*\.)?russiannudesgirlszxa\.blogspot\.com -https?:\/\/([^\/]*\.)?russiapreteen\.com -https?:\/\/([^\/]*\.)?russiavista\.sitiasp\.it -https?:\/\/([^\/]*\.)?rwfe5\.szm\.sk -https?:\/\/([^\/]*\.)?rxdate\.net -https?:\/\/([^\/]*\.)?rxdfh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ryehfpz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ryhgsb\.com -https?:\/\/([^\/]*\.)?ryryj\.szm\.sk -https?:\/\/([^\/]*\.)?ryu-jounetsu\.blogspot\.com -https?:\/\/([^\/]*\.)?rzwj8\.szm\.sk -https?:\/\/([^\/]*\.)?s-r-free-porn-movie-clip-x\.blogspot\.com -https?:\/\/([^\/]*\.)?s1xbucksamonkey\.blogspot\.com -https?:\/\/([^\/]*\.)?s32\.bilsay\.com -https?:\/\/([^\/]*\.)?saaaaa\.52blog\.net -https?:\/\/([^\/]*\.)?safety-product\.hotmail\.ru -https?:\/\/([^\/]*\.)?safety-product\.pochta\.ru -https?:\/\/([^\/]*\.)?safety_product\.chat\.ru -https?:\/\/([^\/]*\.)?sahezzz\.blogspot\.com -https?:\/\/([^\/]*\.)?saibon\.com\.cn -https?:\/\/([^\/]*\.)?sakura-watanuki\.blogspot\.com -https?:\/\/([^\/]*\.)?salewroughtiron\.cn -https?:\/\/([^\/]*\.)?sample-porn-clip-newst1x\.blogspot\.com -https?:\/\/([^\/]*\.)?sample-porn-clip-zoneapa\.blogspot\.com -https?:\/\/([^\/]*\.)?samsung-ringtonedta\.blogspot\.com -https?:\/\/([^\/]*\.)?sand-stars\.blogspot\.com -https?:\/\/([^\/]*\.)?sandra-teen-model-qux\.blogspot\.com -https?:\/\/([^\/]*\.)?sangrandy\.com -https?:\/\/([^\/]*\.)?sanhy\.com -https?:\/\/([^\/]*\.)?sanpaulo\.flnet\.org -https?:\/\/([^\/]*\.)?santjhon\.php5\.cz -https?:\/\/([^\/]*\.)?sapphiceroticacom\.klose\.ipupdater\.com -https?:\/\/([^\/]*\.)?sapphicparadise-com-r00asy\.blogspot\.com -https?:\/\/([^\/]*\.)?sarobo\.com -https?:\/\/([^\/]*\.)?satellite-tv\.hotmail\.ru -https?:\/\/([^\/]*\.)?sauna-eq\.boom\.ru -https?:\/\/([^\/]*\.)?sauna-heater\.boom\.ru -https?:\/\/([^\/]*\.)?sauna-kit\.boom\.ru -https?:\/\/([^\/]*\.)?sauna-room\.boom\.ru -https?:\/\/([^\/]*\.)?saunaguide\.org -https?:\/\/([^\/]*\.)?save-on-auto-insurance\.info -https?:\/\/([^\/]*\.)?saved\.ddns\.info -https?:\/\/([^\/]*\.)?sbarzn3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?scanthenet\.com -https?:\/\/([^\/]*\.)?scat-fetish-story\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?school-driving\.info -https?:\/\/([^\/]*\.)?school-girl-butt\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?school2home\.chat\.ru -https?:\/\/([^\/]*\.)?sciensezero\.republika\.pl -https?:\/\/([^\/]*\.)?scnh6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?scooter11\.chat\.ru -https?:\/\/([^\/]*\.)?scooter2\.hotmail\.ru -https?:\/\/([^\/]*\.)?screwedupmovies-com-a5wj\.blogspot\.com -https?:\/\/([^\/]*\.)?screwedupmovies-com-ax\.blogspot\.com -https?:\/\/([^\/]*\.)?scripts-cert\.mit\.edu -https?:\/\/([^\/]*\.)?scscj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sdao7\.szm\.sk -https?:\/\/([^\/]*\.)?sdfr0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sdfsfssss\.com -https?:\/\/([^\/]*\.)?se4u\.net -https?:\/\/([^\/]*\.)?seafordmed\.info -https?:\/\/([^\/]*\.)?seainsurancegroup\.info -https?:\/\/([^\/]*\.)?search4sex\.us -https?:\/\/([^\/]*\.)?searchbigtits-com-apxd1hwatd\.blogspot\.com -https?:\/\/([^\/]*\.)?searchbigtits-com-obraj\.blogspot\.com -https?:\/\/([^\/]*\.)?searcheng\.com -https?:\/\/([^\/]*\.)?searcheon\.com -https?:\/\/([^\/]*\.)?searchgalleries-com-i7\.blogspot\.com -https?:\/\/([^\/]*\.)?searchgalleries-com-ib2bi6on5\.blogspot\.com -https?:\/\/([^\/]*\.)?searchgals-com-gu1810j\.blogspot\.com -https?:\/\/([^\/]*\.)?searcholdies-com-msa\.blogspot\.com -https?:\/\/([^\/]*\.)?searchsuperhit\.com -https?:\/\/([^\/]*\.)?searchvids-com-h47g8mf\.blogspot\.com -https?:\/\/([^\/]*\.)?seasonale\.1\.p2l\.info -https?:\/\/([^\/]*\.)?secure-network\.info -https?:\/\/([^\/]*\.)?seeallhomes\.com -https?:\/\/([^\/]*\.)?seeallnatural\.com -https?:\/\/([^\/]*\.)?seeallsite\.com -https?:\/\/([^\/]*\.)?seecomplete\.com -https?:\/\/([^\/]*\.)?seehersquirt-com-k0\.blogspot\.com -https?:\/\/([^\/]*\.)?seehersquirt-com-k3\.blogspot\.com -https?:\/\/([^\/]*\.)?seekcounty\.com -https?:\/\/([^\/]*\.)?seeyo\.info -https?:\/\/([^\/]*\.)?segbqj1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sege-addison\.blogspot\.com -https?:\/\/([^\/]*\.)?seho-aiyana\.blogspot\.com -https?:\/\/([^\/]*\.)?sekapad\.info -https?:\/\/([^\/]*\.)?sekbad\.info -https?:\/\/([^\/]*\.)?selfbuying\.com -https?:\/\/([^\/]*\.)?semarqua\.dl\.pl -https?:\/\/([^\/]*\.)?senapier\.dl\.pl -https?:\/\/([^\/]*\.)?send-flowers\.acb\.pl -https?:\/\/([^\/]*\.)?sendon\.net\.cn -https?:\/\/([^\/]*\.)?senlu\.com -https?:\/\/([^\/]*\.)?sensorscity\.marshall\.edu -https?:\/\/([^\/]*\.)?seo\.ohsu\.edu -https?:\/\/([^\/]*\.)?seo88\.com -https?:\/\/([^\/]*\.)?seomdahi\.jconserv\.net -https?:\/\/([^\/]*\.)?seozone\.net -https?:\/\/([^\/]*\.)?seranton\.blogspot\.com -https?:\/\/([^\/]*\.)?sercheng\.com -https?:\/\/([^\/]*\.)?serchlid\.com -https?:\/\/([^\/]*\.)?serious-skin\.boom\.ru -https?:\/\/([^\/]*\.)?serts\.blogshot\.nl -https?:\/\/([^\/]*\.)?servemp3\.com -https?:\/\/([^\/]*\.)?serversolutions\.us -https?:\/\/([^\/]*\.)?servitch\.com -https?:\/\/([^\/]*\.)?ses1\.info -https?:\/\/([^\/]*\.)?sestrenish\.biografi\.org -https?:\/\/([^\/]*\.)?setara\.dl\.pl -https?:\/\/([^\/]*\.)?seventeenlive-com-bado3i\.blogspot\.com -https?:\/\/([^\/]*\.)?seventeenlive-com-bmg\.blogspot\.com -https?:\/\/([^\/]*\.)?seventeenlive-com-h4dw652dzl\.blogspot\.com -https?:\/\/([^\/]*\.)?severnfollow\.info -https?:\/\/([^\/]*\.)?sevtentoe\.blogspot\.com -https?:\/\/([^\/]*\.)?sewingmachinesusa\.com -https?:\/\/([^\/]*\.)?sex--x\.com -https?:\/\/([^\/]*\.)?sex-clip-ce872\.blogspot\.com -https?:\/\/([^\/]*\.)?sex-dating\.sexnation\.info -https?:\/\/([^\/]*\.)?sex-movie-e8qbm\.blogspot\.com -https?:\/\/([^\/]*\.)?sex-movie-qig\.blogspot\.com -https?:\/\/([^\/]*\.)?sex-video-clip-haq3r\.blogspot\.com -https?:\/\/([^\/]*\.)?sex-video-juz\.blogspot\.com -https?:\/\/([^\/]*\.)?sex-without-condom\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?sex-woman-only-fuck\.protime\.in\.ua -https?:\/\/([^\/]*\.)?sex-xxx-free\.100freemb\.com -https?:\/\/([^\/]*\.)?sex\.yeahost\.com -https?:\/\/([^\/]*\.)?sex1movie\.blogspot\.com -https?:\/\/([^\/]*\.)?sexadultdating\.com -https?:\/\/([^\/]*\.)?sexape-bpb0\.blogspot\.com -https?:\/\/([^\/]*\.)?sexape-com-chdaj7\.blogspot\.com -https?:\/\/([^\/]*\.)?sexape-com-cz4z44iud3\.blogspot\.com -https?:\/\/([^\/]*\.)?sexape-com-kw7623jxvd\.blogspot\.com -https?:\/\/([^\/]*\.)?sexape-com-qipil\.blogspot\.com -https?:\/\/([^\/]*\.)?sexape-mte7jm\.blogspot\.com -https?:\/\/([^\/]*\.)?sexdirectory-com-tbt0\.blogspot\.com -https?:\/\/([^\/]*\.)?sexegirls\.net -https?:\/\/([^\/]*\.)?sexgrannies-com-d17v0sa\.blogspot\.com -https?:\/\/([^\/]*\.)?sexgrannies-com-dvg3lh0\.blogspot\.com -https?:\/\/([^\/]*\.)?sexmaxx-com-w2aoe7q\.blogspot\.com -https?:\/\/([^\/]*\.)?sexmaxx-com-w7\.blogspot\.com -https?:\/\/([^\/]*\.)?sexmaxx-com-wy23e2588\.blogspot\.com -https?:\/\/([^\/]*\.)?sexmaxx-kvhilzx76\.blogspot\.com -https?:\/\/([^\/]*\.)?sexnemo-com-joxud\.blogspot\.com -https?:\/\/([^\/]*\.)?sexnemo-com-r7iv5\.blogspot\.com -https?:\/\/([^\/]*\.)?sexnemo-com-rpj18ot\.blogspot\.com -https?:\/\/([^\/]*\.)?sexo-anal-teen\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?sexoasis-a00r68ac\.blogspot\.com -https?:\/\/([^\/]*\.)?sexoasis-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?sexoasis-hkz6z4fmr6\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-com-e2zci5\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-com-ew426c7qej\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-com-itvux\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-com-r6fjn1dz\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean-ibf53b\.blogspot\.com -https?:\/\/([^\/]*\.)?sexocean000\.blogspot\.com -https?:\/\/([^\/]*\.)?sexy-ass-and-leg\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?sexy-blonde-big-tit\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?sexy-busty-hot\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?sexy-knee-high-boot\.protime\.in\.ua -https?:\/\/([^\/]*\.)?sexy-leg-xxx\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?sexy-lesbian-having-sex\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?sexy-models-net-g13hqljr0\.blogspot\.com -https?:\/\/([^\/]*\.)?sexy-teacher\.net -https?:\/\/([^\/]*\.)?sexy\.dastish\.org -https?:\/\/([^\/]*\.)?sexyst\.info -https?:\/\/([^\/]*\.)?sfjo7\.szm\.sk -https?:\/\/([^\/]*\.)?sftic\.szm\.sk -https?:\/\/([^\/]*\.)?sfzone\.cn -https?:\/\/([^\/]*\.)?sgkr3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?shaffelrecords\.com -https?:\/\/([^\/]*\.)?shahang\.net -https?:\/\/([^\/]*\.)?shakira-pa3t\.blogspot\.com -https?:\/\/([^\/]*\.)?shakirafortner\.hostingweb\.us -https?:\/\/([^\/]*\.)?shampoo\.moistri\.be -https?:\/\/([^\/]*\.)?shavedgoat-com-hlfai1dvfb\.blogspot\.com -https?:\/\/([^\/]*\.)?shbuscenter\.com -https?:\/\/([^\/]*\.)?shcarcenter\.com -https?:\/\/([^\/]*\.)?shdianjiang\.cn -https?:\/\/([^\/]*\.)?sheji\.paim123\.com -https?:\/\/([^\/]*\.)?shemale-action\.net -https?:\/\/([^\/]*\.)?shemale-ebony-fuck\.protime\.in\.ua -https?:\/\/([^\/]*\.)?shemale-fuck-guys-com\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?shemale-no-cock\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?shemalefuckguy\.isabel\.dtdns\.net -https?:\/\/([^\/]*\.)?shemales\.coz\.in -https?:\/\/([^\/]*\.)?shemp-com-k1yng8\.blogspot\.com -https?:\/\/([^\/]*\.)?shemp-com-kcutd\.blogspot\.com -https?:\/\/([^\/]*\.)?shemp-com-zuhig\.blogspot\.com -https?:\/\/([^\/]*\.)?shenzhenjp\.com -https?:\/\/([^\/]*\.)?shesexy-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy-com-i1xf\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy-com-rugok\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy-com-w0dffbvzz\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy-gogub\.blogspot\.com -https?:\/\/([^\/]*\.)?shesexy000\.blogspot\.com -https?:\/\/([^\/]*\.)?shetelel\.jconserv\.net -https?:\/\/([^\/]*\.)?shexpo2010\.com -https?:\/\/([^\/]*\.)?shijiren\.com -https?:\/\/([^\/]*\.)?shinylights\.org -https?:\/\/([^\/]*\.)?shipeng\.net -https?:\/\/([^\/]*\.)?shmoorge\.tripod\.com -https?:\/\/([^\/]*\.)?shoesnike\.cn -https?:\/\/([^\/]*\.)?shoesorder\.biz -https?:\/\/([^\/]*\.)?shoesshop\.biz -https?:\/\/([^\/]*\.)?shop24x7\.net -https?:\/\/([^\/]*\.)?short-porn-clip-news8rj\.blogspot\.com -https?:\/\/([^\/]*\.)?shoujicaixin\.com -https?:\/\/([^\/]*\.)?shplaycenter\.cn -https?:\/\/([^\/]*\.)?shredder-4paper\.boom\.ru -https?:\/\/([^\/]*\.)?shredder-paper\.boom\.ru -https?:\/\/([^\/]*\.)?shredder\.boom\.ru -https?:\/\/([^\/]*\.)?shredder4paper\.chat\.ru -https?:\/\/([^\/]*\.)?shrentcar\.com -https?:\/\/([^\/]*\.)?shrudant\.jconserv\.net -https?:\/\/([^\/]*\.)?shticketcenter\.com -https?:\/\/([^\/]*\.)?shtiklmiaou\.fizwig\.com -https?:\/\/([^\/]*\.)?shtranslate\.com -https?:\/\/([^\/]*\.)?shufflequince\.org -https?:\/\/([^\/]*\.)?siamforum\.com -https?:\/\/([^\/]*\.)?siek2\.szm\.sk -https?:\/\/([^\/]*\.)?sifa600\.com -https?:\/\/([^\/]*\.)?sigla-cartoni-animati\.19mb\.info -https?:\/\/([^\/]*\.)?sijalik\.blogspot\.com -https?:\/\/([^\/]*\.)?sik-sapphicparadise-com\.blogspot\.com -https?:\/\/([^\/]*\.)?sildenafil-citrate\.perso\.tc -https?:\/\/([^\/]*\.)?siliconpulse\.info -https?:\/\/([^\/]*\.)?silly-n\.blogspot\.com -https?:\/\/([^\/]*\.)?simply-gamine\.hostingweb\.us -https?:\/\/([^\/]*\.)?simtershrapnel\.blogspot\.com -https?:\/\/([^\/]*\.)?sinbiom\.blogspot\.com -https?:\/\/([^\/]*\.)?sindyhalliday\.com -https?:\/\/([^\/]*\.)?sinequanwithdrawal\.sblog\.cz -https?:\/\/([^\/]*\.)?sineto\.net -https?:\/\/([^\/]*\.)?sinfulcurves-com-obh\.blogspot\.com -https?:\/\/([^\/]*\.)?singova\.org -https?:\/\/([^\/]*\.)?siq-xxlmovies-com\.blogspot\.com -https?:\/\/([^\/]*\.)?sirloincentury\.org -https?:\/\/([^\/]*\.)?sisus\.org -https?:\/\/([^\/]*\.)?sitacsit\.goodforum\.net -https?:\/\/([^\/]*\.)?sitacsit\.grafbb\.com -https?:\/\/([^\/]*\.)?sitchi-or\.xa\.pl -https?:\/\/([^\/]*\.)?sitdelcna\.lightbb\.com -https?:\/\/([^\/]*\.)?sitdelta\.jc\.pl -https?:\/\/([^\/]*\.)?sitdeltroc\.bbfr\.net -https?:\/\/([^\/]*\.)?site\.voila\.fr -https?:\/\/([^\/]*\.)?siteapts\.info -https?:\/\/([^\/]*\.)?sitedating\.org -https?:\/\/([^\/]*\.)?sitel\.goodforum\.net -https?:\/\/([^\/]*\.)?sitel\.grafbb\.com -https?:\/\/([^\/]*\.)?sitladar\.dl\.pl -https?:\/\/([^\/]*\.)?sitorsit\.discutfree\.com -https?:\/\/([^\/]*\.)?sittazel\.bb-fr\.com -https?:\/\/([^\/]*\.)?sj-qh\.com -https?:\/\/([^\/]*\.)?sjzwz\.com -https?:\/\/([^\/]*\.)?skbrql5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?skelaxin\.1\.p2l\.info -https?:\/\/([^\/]*\.)?skelaxin800mg\.sblog\.cz -https?:\/\/([^\/]*\.)?skin-care-tip\.boom\.ru -https?:\/\/([^\/]*\.)?skin-care\.1\.p2l\.info -https?:\/\/([^\/]*\.)?skin-diseas\.boom\.ru -https?:\/\/([^\/]*\.)?skin-disease\.boom\.ru -https?:\/\/([^\/]*\.)?skin-disease\.fromru\.com -https?:\/\/([^\/]*\.)?skin-disease\.newmail\.ru -https?:\/\/([^\/]*\.)?skin-product\.hotmail\.ru -https?:\/\/([^\/]*\.)?skin-treat\.boom\.ru -https?:\/\/([^\/]*\.)?skin-treatm\.boom\.ru -https?:\/\/([^\/]*\.)?skin-treatment\.boom\.ru -https?:\/\/([^\/]*\.)?skin-trt\.boom\.ru -https?:\/\/([^\/]*\.)?skin1-disease\.boom\.ru -https?:\/\/([^\/]*\.)?skin1disease\.chat\.ru -https?:\/\/([^\/]*\.)?skin1tip4care\.chat\.ru -https?:\/\/([^\/]*\.)?skin1treatment\.chat\.ru -https?:\/\/([^\/]*\.)?skin_product\.chat\.ru -https?:\/\/([^\/]*\.)?skincare\.ixdm\.info -https?:\/\/([^\/]*\.)?skodasite\.info -https?:\/\/([^\/]*\.)?skvonk\.blogspot\.com -https?:\/\/([^\/]*\.)?skvvdm2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sleep-aids\.1\.p2l\.info -https?:\/\/([^\/]*\.)?sleepingsex\.coz\.in -https?:\/\/([^\/]*\.)?slickgalleries-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?slickgalleries-com-acf4a01s86\.blogspot\.com -https?:\/\/([^\/]*\.)?slots-wiki\.com -https?:\/\/([^\/]*\.)?slutsvideos-com-mwnyvb2\.blogspot\.com -https?:\/\/([^\/]*\.)?smack-dvd\.mutogen\.be -https?:\/\/([^\/]*\.)?smackinghotlips\.blogspot\.com -https?:\/\/([^\/]*\.)?smal\.php5\.cz -https?:\/\/([^\/]*\.)?small-bubble-butt\.protime\.in\.ua -https?:\/\/([^\/]*\.)?smart\.45\.kg -https?:\/\/([^\/]*\.)?smbay\.cn -https?:\/\/([^\/]*\.)?smithtownelementarypta\.org -https?:\/\/([^\/]*\.)?smkpe\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?smlwqj2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?smnvapnd-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?smolyak\.isuisse\.com -https?:\/\/([^\/]*\.)?sms\.bjicp\.net -https?:\/\/([^\/]*\.)?smsdown\.blogbus\.com -https?:\/\/([^\/]*\.)?smut-house-com-c6t8hcv1be\.blogspot\.com -https?:\/\/([^\/]*\.)?smutgremlins-com-a46sull\.blogspot\.com -https?:\/\/([^\/]*\.)?smutgremlins-com-w6d7m6ji\.blogspot\.com -https?:\/\/([^\/]*\.)?smutmaestro\.net -https?:\/\/([^\/]*\.)?snafusurfer\.net -https?:\/\/([^\/]*\.)?snakesworld-com-bye\.blogspot\.com -https?:\/\/([^\/]*\.)?sneakercool\.com -https?:\/\/([^\/]*\.)?sneakernice\.com -https?:\/\/([^\/]*\.)?sneck\.info -https?:\/\/([^\/]*\.)?snkfbl1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?snmcq\.szm\.sk -https?:\/\/([^\/]*\.)?snorting-ritalin\.contact\.cc -https?:\/\/([^\/]*\.)?snymk\.szm\.sk -https?:\/\/([^\/]*\.)?so-big-tit-video-clip-kos\.blogspot\.com -https?:\/\/([^\/]*\.)?so-home-sex-clip-god\.blogspot\.com -https?:\/\/([^\/]*\.)?so-so-young-com-kk727o82n\.blogspot\.com -https?:\/\/([^\/]*\.)?so1di\.info -https?:\/\/([^\/]*\.)?soafacil\.com -https?:\/\/([^\/]*\.)?socalmovies-com-enr61t\.blogspot\.com -https?:\/\/([^\/]*\.)?socalmovies-com-oy08pp72i\.blogspot\.com -https?:\/\/([^\/]*\.)?soccer-mom-sticker\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?socialsciencedeg\.chat\.ru -https?:\/\/([^\/]*\.)?socsci\.mccneb\.edu -https?:\/\/([^\/]*\.)?sodo0\.szm\.sk -https?:\/\/([^\/]*\.)?sofiefie\.blogspot\.com -https?:\/\/([^\/]*\.)?soft17-com-d1577f\.blogspot\.com -https?:\/\/([^\/]*\.)?softcore-erotica\.net -https?:\/\/([^\/]*\.)?software-engine\.org -https?:\/\/([^\/]*\.)?softwarematrix\.org -https?:\/\/([^\/]*\.)?sohardcore-com-r56bt\.blogspot\.com -https?:\/\/([^\/]*\.)?soho0\.szm\.sk -https?:\/\/([^\/]*\.)?solacemysoul\.blogspot\.com -https?:\/\/([^\/]*\.)?solder\.lowestprices\.at -https?:\/\/([^\/]*\.)?soler\.net\.cn -https?:\/\/([^\/]*\.)?sologals-com-hs2xad\.blogspot\.com -https?:\/\/([^\/]*\.)?sologals-grr5g3\.blogspot\.com -https?:\/\/([^\/]*\.)?soma\.1\.p2l\.info -https?:\/\/([^\/]*\.)?soma\.homelinux\.com -https?:\/\/([^\/]*\.)?soma\.int\.tf -https?:\/\/([^\/]*\.)?soma\.php5\.cz -https?:\/\/([^\/]*\.)?soma1\.skocz\.net -https?:\/\/([^\/]*\.)?someshit\.ru -https?:\/\/([^\/]*\.)?somqyxli-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?sonata\.1\.p2l\.info -https?:\/\/([^\/]*\.)?sonr4\.fr33webhost\.com -https?:\/\/([^\/]*\.)?sotremont\.ru -https?:\/\/([^\/]*\.)?soulswallo\.blogspot\.com -https?:\/\/([^\/]*\.)?soundandmossl\.com -https?:\/\/([^\/]*\.)?southcarolinamortgage-x\.com -https?:\/\/([^\/]*\.)?southdakotamortgage-x\.com -https?:\/\/([^\/]*\.)?southtecrepair\.com -https?:\/\/([^\/]*\.)?spacedim68\.blogspot\.com -https?:\/\/([^\/]*\.)?spamim\.net -https?:\/\/([^\/]*\.)?spawww\.info -https?:\/\/([^\/]*\.)?spcw3\.szm\.sk -https?:\/\/([^\/]*\.)?special-ringtones\.net -https?:\/\/([^\/]*\.)?specific911\.biz -https?:\/\/([^\/]*\.)?specific911\.org -https?:\/\/([^\/]*\.)?speed-casino\.com -https?:\/\/([^\/]*\.)?speens\.pass\.as -https?:\/\/([^\/]*\.)?spermicide-trojan-condom\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?spermshack-al\.blogspot\.com -https?:\/\/([^\/]*\.)?spermshack-com-bef\.blogspot\.com -https?:\/\/([^\/]*\.)?spermshack-com-gee1\.blogspot\.com -https?:\/\/([^\/]*\.)?spermshack-com-gtafrogps\.blogspot\.com -https?:\/\/([^\/]*\.)?spermshack-g01u1\.blogspot\.com -https?:\/\/([^\/]*\.)?spewie-com-mbntjlrkk\.blogspot\.com -https?:\/\/([^\/]*\.)?spfwq\.zhengstar\.com -https?:\/\/([^\/]*\.)?spice-girlpkg\.blogspot\.com -https?:\/\/([^\/]*\.)?spirit-of-llama\.blogspot\.com -https?:\/\/([^\/]*\.)?spirit-psyki\.ifrance\.com -https?:\/\/([^\/]*\.)?spiserch\.com -https?:\/\/([^\/]*\.)?splashka\.xhostar\.com -https?:\/\/([^\/]*\.)?splendid-casino\.com -https?:\/\/([^\/]*\.)?spoilzone\.epinoy\.com -https?:\/\/([^\/]*\.)?spqi6\.fr33webhost\.com -https?:\/\/([^\/]*\.)?sprint-ringtonenot\.blogspot\.com -https?:\/\/([^\/]*\.)?sprintringtonesxvt\.blogspot\.com -https?:\/\/([^\/]*\.)?sprintringtoneuad\.blogspot\.com -https?:\/\/([^\/]*\.)?spstestfree\.com\.com -https?:\/\/([^\/]*\.)?spunkmonster\.net -https?:\/\/([^\/]*\.)?spwnk\.szm\.sk -https?:\/\/([^\/]*\.)?spxqly9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?spyware-adware-killer\.com -https?:\/\/([^\/]*\.)?sqoi8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?squall\.my10gb\.com -https?:\/\/([^\/]*\.)?sqvde\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sralua\.com -https?:\/\/([^\/]*\.)?srarware\.com -https?:\/\/([^\/]*\.)?srkyyca\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?srtongje\.republika\.pl -https?:\/\/([^\/]*\.)?sruqsz3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ssdcard\.info -https?:\/\/([^\/]*\.)?sslive\.info -https?:\/\/([^\/]*\.)?sspwye7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sswingersss-777\.tripod\.com -https?:\/\/([^\/]*\.)?st-pharmacy\.com -https?:\/\/([^\/]*\.)?staa8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?staff\.jccc\.edu -https?:\/\/([^\/]*\.)?stainlesssteelpipe\.net -https?:\/\/([^\/]*\.)?stampa-foto-digitale\.ll11\.info -https?:\/\/([^\/]*\.)?starcelebs-com-ewe5\.blogspot\.com -https?:\/\/([^\/]*\.)?starcelebs-com-i3a2mxf\.blogspot\.com -https?:\/\/([^\/]*\.)?starcelebs-wihuk\.blogspot\.com -https?:\/\/([^\/]*\.)?starryland\.com\.cn -https?:\/\/([^\/]*\.)?startchicks\.info -https?:\/\/([^\/]*\.)?state-gay-marriage-legal\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?state-of-germany\.com -https?:\/\/([^\/]*\.)?statisticpal\.com -https?:\/\/([^\/]*\.)?stcc9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?steeen-s-bl\.blogspot\.com -https?:\/\/([^\/]*\.)?steel-table-leg\.medved\.od\.ua -https?:\/\/([^\/]*\.)?stocking-fetish-video\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?stocking-movies-com-du1\.blogspot\.com -https?:\/\/([^\/]*\.)?stocking-tease-b7gl\.blogspot\.com -https?:\/\/([^\/]*\.)?stocking-tease-com-bm6h145g\.blogspot\.com -https?:\/\/([^\/]*\.)?stockings\.coz\.in -https?:\/\/([^\/]*\.)?stop-smoking\.1\.p2l\.info -https?:\/\/([^\/]*\.)?stpetersburg\.it -https?:\/\/([^\/]*\.)?stphipps\.dl\.pl -https?:\/\/([^\/]*\.)?strakac\.dtdns\.net -https?:\/\/([^\/]*\.)?strange-bizarre-things\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?stranieriinitalia\.org -https?:\/\/([^\/]*\.)?straponpost\.net -https?:\/\/([^\/]*\.)?street-poker\.com -https?:\/\/([^\/]*\.)?streetmp3\.com -https?:\/\/([^\/]*\.)?strega\.us -https?:\/\/([^\/]*\.)?strip-tease-video-bb-bb-z\.blogspot\.com -https?:\/\/([^\/]*\.)?strongsong\.republika\.pl -https?:\/\/([^\/]*\.)?structure-settlement\.hotmail\.ru -https?:\/\/([^\/]*\.)?sts\.ucsd\.edu -https?:\/\/([^\/]*\.)?students\.hsc\.unt\.edu -https?:\/\/([^\/]*\.)?study-us\.cn -https?:\/\/([^\/]*\.)?stvincent\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?stydx\.szm\.sk -https?:\/\/([^\/]*\.)?sublimedirectory-com-otb\.blogspot\.com -https?:\/\/([^\/]*\.)?sublimemovies-com-wdvh2wmm3\.blogspot\.com -https?:\/\/([^\/]*\.)?sublimepie-com-e8g3dw2\.blogspot\.com -https?:\/\/([^\/]*\.)?sudanportal\.mrcc\.aast\.edu -https?:\/\/([^\/]*\.)?suede-cowboy-boot\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?suicidexlove\.blogspot\.com -https?:\/\/([^\/]*\.)?sumeshi0206\.dyndns\.org -https?:\/\/([^\/]*\.)?sunaseth\.blogspot\.com -https?:\/\/([^\/]*\.)?sunp\.com -https?:\/\/([^\/]*\.)?sunporno-com-avbxn\.blogspot\.com -https?:\/\/([^\/]*\.)?sunporno-com-go5\.blogspot\.com -https?:\/\/([^\/]*\.)?sunsetdreamscondo\.com -https?:\/\/([^\/]*\.)?sunsky365\.net -https?:\/\/([^\/]*\.)?superadultdirect\.info -https?:\/\/([^\/]*\.)?supercalcinhas-com-rij\.blogspot\.com -https?:\/\/([^\/]*\.)?superdiosas-com-tm5k7f1v3\.blogspot\.com -https?:\/\/([^\/]*\.)?superfinancesolutions\.com -https?:\/\/([^\/]*\.)?supergirls\.pochta\.ru -https?:\/\/([^\/]*\.)?superha\.angelcities\.com -https?:\/\/([^\/]*\.)?superinsuranceworld\.info -https?:\/\/([^\/]*\.)?superinternetexplorer\.info -https?:\/\/([^\/]*\.)?supershare\.cn -https?:\/\/([^\/]*\.)?suphost\.info -https?:\/\/([^\/]*\.)?supplements\.1\.p2l\.info -https?:\/\/([^\/]*\.)?supplements\.mylonso\.be -https?:\/\/([^\/]*\.)?supplierlist\.com -https?:\/\/([^\/]*\.)?surfacing\.101freehost\.com -https?:\/\/([^\/]*\.)?surmontil\.sblog\.cz -https?:\/\/([^\/]*\.)?suxwyj-free-porn\.blogspot\.com -https?:\/\/([^\/]*\.)?suzoro-amateur-sex-video\.blogspot\.com -https?:\/\/([^\/]*\.)?suzulan\.blogspot\.com -https?:\/\/([^\/]*\.)?svetys9i\.125mb\.com -https?:\/\/([^\/]*\.)?svike\.info -https?:\/\/([^\/]*\.)?swdella\.ifrance\.com -https?:\/\/([^\/]*\.)?swechat\.republika\.pl -https?:\/\/([^\/]*\.)?sweet-krissy\.babubi\.net -https?:\/\/([^\/]*\.)?sweetpniangel87\.blogspot\.com -https?:\/\/([^\/]*\.)?swingersadult\.net -https?:\/\/([^\/]*\.)?sx\.nazari\.org -https?:\/\/([^\/]*\.)?sx\.z0rz\.com -https?:\/\/([^\/]*\.)?sxwliwe\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?sy-casino\.com -https?:\/\/([^\/]*\.)?sygz\.51mp4mp3\.com -https?:\/\/([^\/]*\.)?sylvan-queen\.iespana\.es -https?:\/\/([^\/]*\.)?symphony\.8tt\.org -https?:\/\/([^\/]*\.)?symptom-of-allergic-reaction-to-latex-condom\.protime\.in\.ua -https?:\/\/([^\/]*\.)?symy\.jp -https?:\/\/([^\/]*\.)?synnin-viemaa\.blogspot\.com -https?:\/\/([^\/]*\.)?sz-cj\.com -https?:\/\/([^\/]*\.)?sz-dongtai\.com -https?:\/\/([^\/]*\.)?sz-tianyicn\.com -https?:\/\/([^\/]*\.)?sz4a\.cn -https?:\/\/([^\/]*\.)?szarts\.com -https?:\/\/([^\/]*\.)?szbeiyang\.net -https?:\/\/([^\/]*\.)?szhangkong\.com -https?:\/\/([^\/]*\.)?szhjc\.net -https?:\/\/([^\/]*\.)?szhowfine\.com -https?:\/\/([^\/]*\.)?szhx\.ebloggy\.com -https?:\/\/([^\/]*\.)?szhxseo\.com -https?:\/\/([^\/]*\.)?szjiuli\.com -https?:\/\/([^\/]*\.)?szjiuli\.ebloggy\.com -https?:\/\/([^\/]*\.)?szjpnet\.ebloggy\.com -https?:\/\/([^\/]*\.)?szjyhk\.com -https?:\/\/([^\/]*\.)?szlawyer\.home4u\.china\.com -https?:\/\/([^\/]*\.)?szlichuang\.cn -https?:\/\/([^\/]*\.)?szlszx\.com -https?:\/\/([^\/]*\.)?sznuts\.cn -https?:\/\/([^\/]*\.)?szpptc\.com -https?:\/\/([^\/]*\.)?szsc-car\.com -https?:\/\/([^\/]*\.)?szsfbq\.com -https?:\/\/([^\/]*\.)?szyongjin\.ebloggy\.com -https?:\/\/([^\/]*\.)?szzhuce\.home4u\.china\.com -https?:\/\/([^\/]*\.)?t-sonnaya\.blogspot\.com -https?:\/\/([^\/]*\.)?t-teens-for\.blogspot\.com -https?:\/\/([^\/]*\.)?t\.tl -https?:\/\/([^\/]*\.)?tabarlie\.forumzen\.com -https?:\/\/([^\/]*\.)?tabgand\.info -https?:\/\/([^\/]*\.)?tablitki\.xwiki\.com -https?:\/\/([^\/]*\.)?taboo-porn-clip-blogeq2\.blogspot\.com -https?:\/\/([^\/]*\.)?tackle\.247ihost\.com -https?:\/\/([^\/]*\.)?tacomanissansubaru\.info -https?:\/\/([^\/]*\.)?tactroc\.dl\.pl -https?:\/\/([^\/]*\.)?tadalafil-\.ql\.st -https?:\/\/([^\/]*\.)?tadalafil\.scanthenet\.com -https?:\/\/([^\/]*\.)?tadalafil\.skocz\.net -https?:\/\/([^\/]*\.)?tadalafil35\.lookscool\.com -https?:\/\/([^\/]*\.)?taefis\.com -https?:\/\/([^\/]*\.)?tagetboc\.darkbb\.com -https?:\/\/([^\/]*\.)?talj5\.szm\.sk -https?:\/\/([^\/]*\.)?tanoli\.su\.pl -https?:\/\/([^\/]*\.)?tanorol\.dl\.pl -https?:\/\/([^\/]*\.)?taouolo\.dl\.pl -https?:\/\/([^\/]*\.)?tapz3\.szm\.sk -https?:\/\/([^\/]*\.)?taracdom\.heavenforum\.com -https?:\/\/([^\/]*\.)?tarfol\.com -https?:\/\/([^\/]*\.)?target-oo6qbtx\.blogspot\.com -https?:\/\/([^\/]*\.)?taria-m4j\.blogspot\.com -https?:\/\/([^\/]*\.)?taricdam\.dynamicbb\.com -https?:\/\/([^\/]*\.)?tarkupu\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?taroelt\.bb-fr\.com -https?:\/\/([^\/]*\.)?tarra-i6vqa54v\.blogspot\.com -https?:\/\/([^\/]*\.)?tart0938\.blogspot\.com -https?:\/\/([^\/]*\.)?taryn-hgxikm27y\.blogspot\.com -https?:\/\/([^\/]*\.)?tarzuf\.com -https?:\/\/([^\/]*\.)?tasculio\.forumzen\.com -https?:\/\/([^\/]*\.)?tasha-rup0n3a\.blogspot\.com -https?:\/\/([^\/]*\.)?tashia-w1evjakk7\.blogspot\.com -https?:\/\/([^\/]*\.)?tasia-emtoy\.blogspot\.com -https?:\/\/([^\/]*\.)?tasimd\.com -https?:\/\/([^\/]*\.)?tasizuwann-tm7y\.blogspot\.com -https?:\/\/([^\/]*\.)?tasnin\.com -https?:\/\/([^\/]*\.)?tate-dt\.blogspot\.com -https?:\/\/([^\/]*\.)?tateyana-c8s1ms4ai\.blogspot\.com -https?:\/\/([^\/]*\.)?tateyona-br48\.blogspot\.com -https?:\/\/([^\/]*\.)?tatrocbas\.dl\.pl -https?:\/\/([^\/]*\.)?tatrocmon\.dl\.pl -https?:\/\/([^\/]*\.)?tattoo-ojqmc35d\.blogspot\.com -https?:\/\/([^\/]*\.)?tatum-mlzsfqw\.blogspot\.com -https?:\/\/([^\/]*\.)?tatumn-i4anj15\.blogspot\.com -https?:\/\/([^\/]*\.)?tatyiana-kwg0ud8fqf\.blogspot\.com -https?:\/\/([^\/]*\.)?tauntianna-h6\.blogspot\.com -https?:\/\/([^\/]*\.)?taurus-gx\.blogspot\.com -https?:\/\/([^\/]*\.)?tayamarn\.blogspot\.com -https?:\/\/([^\/]*\.)?taydem-wdm6rxd328\.blogspot\.com -https?:\/\/([^\/]*\.)?taydra-ejk45\.blogspot\.com -https?:\/\/([^\/]*\.)?tayla-t7b\.blogspot\.com -https?:\/\/([^\/]*\.)?tayler-cfez\.blogspot\.com -https?:\/\/([^\/]*\.)?taylor-bof5\.blogspot\.com -https?:\/\/([^\/]*\.)?taylorbow-com-il3f4ae\.blogspot\.com -https?:\/\/([^\/]*\.)?taylorbow-com-inbg2nw\.blogspot\.com -https?:\/\/([^\/]*\.)?taynafrates\.freetzi\.com -https?:\/\/([^\/]*\.)?taysha-avsm8\.blogspot\.com -https?:\/\/([^\/]*\.)?tazman-m6\.blogspot\.com -https?:\/\/([^\/]*\.)?tbgbnt5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tbns\.net -https?:\/\/([^\/]*\.)?tbrgxjv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tcsgn\.szm\.sk -https?:\/\/([^\/]*\.)?tczxwwz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tczxxm6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tdzkzkt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tdzl\.sunp\.com -https?:\/\/([^\/]*\.)?tea-imk7ry1\.blogspot\.com -https?:\/\/([^\/]*\.)?tea-pot\.keckins\.be -https?:\/\/([^\/]*\.)?teacher-fucking-free\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?teacher-km\.blogspot\.com -https?:\/\/([^\/]*\.)?teaching1degree\.chat\.ru -https?:\/\/([^\/]*\.)?teainfo\.org -https?:\/\/([^\/]*\.)?teamsquirt-com-kjcj3u3i\.blogspot\.com -https?:\/\/([^\/]*\.)?tear\.hostcroc\.com -https?:\/\/([^\/]*\.)?tech-txyvo8\.blogspot\.com -https?:\/\/([^\/]*\.)?tech\.china\.com -https?:\/\/([^\/]*\.)?techinpet\.blogspot\.com -https?:\/\/([^\/]*\.)?technical-school\.fromru\.com -https?:\/\/([^\/]*\.)?technical-school\.hotmail\.ru -https?:\/\/([^\/]*\.)?technical-school\.newmail\.ru -https?:\/\/([^\/]*\.)?technical1school\.chat\.ru -https?:\/\/([^\/]*\.)?teen-anal-cum-shot\.protime\.in\.ua -https?:\/\/([^\/]*\.)?teen-blonde-beauty\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?teen-blow-job-movie\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?teen-boob-fuck\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?teen-boob-porn\.medved\.od\.ua -https?:\/\/([^\/]*\.)?teen-buff\.net -https?:\/\/([^\/]*\.)?teen-chick-masturbating\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?teen-facial-fuck\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?teen-feet-bew\.blogspot\.com -https?:\/\/([^\/]*\.)?teen-internal-cum-shot\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?teen-kelly-lesbian\.medved\.od\.ua -https?:\/\/([^\/]*\.)?teen-movie\.freeinsite\.net -https?:\/\/([^\/]*\.)?teen-porn-clip-newsyk6\.blogspot\.com -https?:\/\/([^\/]*\.)?teen-sex-movie-f-d-t\.blogspot\.com -https?:\/\/([^\/]*\.)?teen-sex-video-w8jpk\.blogspot\.com -https?:\/\/([^\/]*\.)?teen-zips\.babubi\.net -https?:\/\/([^\/]*\.)?teen6\.vdforum\.ru -https?:\/\/([^\/]*\.)?teenax-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?teenax-com-pidoq\.blogspot\.com -https?:\/\/([^\/]*\.)?teenax-com-rh0ssu62yh\.blogspot\.com -https?:\/\/([^\/]*\.)?teenax-com-rke6\.blogspot\.com -https?:\/\/([^\/]*\.)?teenbe-com-bdp\.blogspot\.com -https?:\/\/([^\/]*\.)?teenbe-com-mb6x\.blogspot\.com -https?:\/\/([^\/]*\.)?teenbe-com-mh03o\.blogspot\.com -https?:\/\/([^\/]*\.)?teenblowjobs\.vdforum\.ru -https?:\/\/([^\/]*\.)?teenboat-com-g6\.blogspot\.com -https?:\/\/([^\/]*\.)?teenboat-com-g6f103r\.blogspot\.com -https?:\/\/([^\/]*\.)?teenboat-com-mu1s7p\.blogspot\.com -https?:\/\/([^\/]*\.)?teenboat-e76l\.blogspot\.com -https?:\/\/([^\/]*\.)?teenboys-wel\.blogspot\.com -https?:\/\/([^\/]*\.)?teenel-com-hhd\.blogspot\.com -https?:\/\/([^\/]*\.)?teenel-com-hq0sgbm\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniefiles-com-g84lu\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniefiles-com-o43\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniefiles-com-ob782u\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniemovies-com-aptqg\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniemovies-com-as\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniemovies-com-hinof\.blogspot\.com -https?:\/\/([^\/]*\.)?teeniesxxx-b00\.blogspot\.com -https?:\/\/([^\/]*\.)?teenmodels\.hostingtree\.org -https?:\/\/([^\/]*\.)?teenporn\.vdforum\.ru -https?:\/\/([^\/]*\.)?teenpornrur\.blogspot\.com -https?:\/\/([^\/]*\.)?teenpussyfhv\.blogspot\.com -https?:\/\/([^\/]*\.)?teens-chat\.info -https?:\/\/([^\/]*\.)?teens-list-b-all\.blogspot\.com -https?:\/\/([^\/]*\.)?teenseven-com-c0jvb2z\.blogspot\.com -https?:\/\/([^\/]*\.)?teensex-com-c4w3g\.blogspot\.com -https?:\/\/([^\/]*\.)?teensex-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?teensex\.adultserv\.info -https?:\/\/([^\/]*\.)?teensss-com-b8s44\.blogspot\.com -https?:\/\/([^\/]*\.)?teensss-com-tds\.blogspot\.com -https?:\/\/([^\/]*\.)?teensss-com-thrd\.blogspot\.com -https?:\/\/([^\/]*\.)?teentera-com-d5j3qqs\.blogspot\.com -https?:\/\/([^\/]*\.)?teentera-com-dyty5cv\.blogspot\.com -https?:\/\/([^\/]*\.)?teentera-com-w65\.blogspot\.com -https?:\/\/([^\/]*\.)?teentiger-com-e4e6i2f\.blogspot\.com -https?:\/\/([^\/]*\.)?teentiger-com-eo602\.blogspot\.com -https?:\/\/([^\/]*\.)?teentiger-com-fozol\.blogspot\.com -https?:\/\/([^\/]*\.)?teeny-boppers-club-beg\.blogspot\.com -https?:\/\/([^\/]*\.)?teenybopperclub-com-bgqk6ejjv\.blogspot\.com -https?:\/\/([^\/]*\.)?teenybopperclub-com-bukb\.blogspot\.com -https?:\/\/([^\/]*\.)?teenybopperclub-segod\.blogspot\.com -https?:\/\/([^\/]*\.)?tegan-d1yagb\.blogspot\.com -https?:\/\/([^\/]*\.)?tehxm\.szm\.sk -https?:\/\/([^\/]*\.)?tehya-csxo8\.blogspot\.com -https?:\/\/([^\/]*\.)?tehyana-bg3\.blogspot\.com -https?:\/\/([^\/]*\.)?tekd8\.szm\.sk -https?:\/\/([^\/]*\.)?tekiartur\.xhostar\.com -https?:\/\/([^\/]*\.)?tekila-a5x7\.blogspot\.com -https?:\/\/([^\/]*\.)?tela-ou3khz\.blogspot\.com -https?:\/\/([^\/]*\.)?telenglish\.com\.cn -https?:\/\/([^\/]*\.)?telephone-ip\.blogspot\.com -https?:\/\/([^\/]*\.)?telnushka\.blogspot\.com -https?:\/\/([^\/]*\.)?temazepam\.xwiki\.com -https?:\/\/([^\/]*\.)?temma-k1n03ege\.blogspot\.com -https?:\/\/([^\/]*\.)?temp-h33\.blogspot\.com -https?:\/\/([^\/]*\.)?temptation-gujlu2\.blogspot\.com -https?:\/\/([^\/]*\.)?ten-ra66722hs5\.blogspot\.com -https?:\/\/([^\/]*\.)?tenea-w1\.blogspot\.com -https?:\/\/([^\/]*\.)?tenisha-e6f\.blogspot\.com -https?:\/\/([^\/]*\.)?tennasa-ttk2oqe4m\.blogspot\.com -https?:\/\/([^\/]*\.)?tennesseemortgage-x\.com -https?:\/\/([^\/]*\.)?tennille-dm\.blogspot\.com -https?:\/\/([^\/]*\.)?tennis-ca8swtk\.blogspot\.com -https?:\/\/([^\/]*\.)?tenor-saxophone-fingering\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?tenuate\.1\.p2l\.info -https?:\/\/([^\/]*\.)?teopoo\.dynamicforum\.net -https?:\/\/([^\/]*\.)?teplomer\.dtdns\.net -https?:\/\/([^\/]*\.)?tequila-be5\.blogspot\.com -https?:\/\/([^\/]*\.)?teresanict-oorzzsxmjd\.blogspot\.com -https?:\/\/([^\/]*\.)?teri-m84ywv38\.blogspot\.com -https?:\/\/([^\/]*\.)?terika-i10\.blogspot\.com -https?:\/\/([^\/]*\.)?term-paper\.fromru\.com -https?:\/\/([^\/]*\.)?term-paper\.nm\.ru -https?:\/\/([^\/]*\.)?term_paper\.chat\.ru -https?:\/\/([^\/]*\.)?terminal-h0o2cfsibt\.blogspot\.com -https?:\/\/([^\/]*\.)?terri-gqdjfrm33d\.blogspot\.com -https?:\/\/([^\/]*\.)?terrianna-ru\.blogspot\.com -https?:\/\/([^\/]*\.)?terrin-wmwxu3v\.blogspot\.com -https?:\/\/([^\/]*\.)?terriona-erbvdaj\.blogspot\.com -https?:\/\/([^\/]*\.)?terry-tqzto0ek\.blogspot\.com -https?:\/\/([^\/]*\.)?terryikah-dhw46164c2\.blogspot\.com -https?:\/\/([^\/]*\.)?terryiona-czcng\.blogspot\.com -https?:\/\/([^\/]*\.)?terryn-b8p04mxhn2\.blogspot\.com -https?:\/\/([^\/]*\.)?tess-oybaa0ng\.blogspot\.com -https?:\/\/([^\/]*\.)?tessa-mugg\.blogspot\.com -https?:\/\/([^\/]*\.)?test1\.com -https?:\/\/([^\/]*\.)?test123-kpgwe3vie4\.blogspot\.com -https?:\/\/([^\/]*\.)?test2-h6qofysx\.blogspot\.com -https?:\/\/([^\/]*\.)?test2\.com -https?:\/\/([^\/]*\.)?test3\.com -https?:\/\/([^\/]*\.)?testmutherfucker\.com -https?:\/\/([^\/]*\.)?testtest-g14\.blogspot\.com -https?:\/\/([^\/]*\.)?tetteteent\.blogspot\.com -https?:\/\/([^\/]*\.)?tettgwk\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?texas-hold-em-winner\.net -https?:\/\/([^\/]*\.)?texas-hold-em\.black-poker\.com -https?:\/\/([^\/]*\.)?texas-holdem-poker\.us\.com -https?:\/\/([^\/]*\.)?texas-holdem-winner\.com -https?:\/\/([^\/]*\.)?texas-holdem\.black-poker\.com -https?:\/\/([^\/]*\.)?texas-rvmu1a0\.blogspot\.com -https?:\/\/([^\/]*\.)?texas-va-loan\.com -https?:\/\/([^\/]*\.)?texasdad\.com -https?:\/\/([^\/]*\.)?texasholdem2\.com -https?:\/\/([^\/]*\.)?texasholdemcenteral\.com -https?:\/\/([^\/]*\.)?texasholdemsite\.net -https?:\/\/([^\/]*\.)?texasmortgage-x\.com -https?:\/\/([^\/]*\.)?teyana-wtpu\.blogspot\.com -https?:\/\/([^\/]*\.)?teylore-ew24\.blogspot\.com -https?:\/\/([^\/]*\.)?tez-teenybopperclub-com\.blogspot\.com -https?:\/\/([^\/]*\.)?tgao2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tgksg\.szm\.sk -https?:\/\/([^\/]*\.)?tgp-movie-facial\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?tgpprincess\.net -https?:\/\/([^\/]*\.)?tgpseeker\.net -https?:\/\/([^\/]*\.)?thailand-t865\.blogspot\.com -https?:\/\/([^\/]*\.)?thalia-d125yh\.blogspot\.com -https?:\/\/([^\/]*\.)?thalya-cgjm\.blogspot\.com -https?:\/\/([^\/]*\.)?thbxg\.szm\.sk -https?:\/\/([^\/]*\.)?the-amberlady\.blogspot\.com -https?:\/\/([^\/]*\.)?the-craftman\.blogspot\.com -https?:\/\/([^\/]*\.)?the-female-orgasm-com-h1sx\.blogspot\.com -https?:\/\/([^\/]*\.)?the-female-orgasm-com-h8qf5l27j\.blogspot\.com -https?:\/\/([^\/]*\.)?the-most-biggest-boob-in-the-world\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?the-murderer\.blogspot\.com -https?:\/\/([^\/]*\.)?the-roulette\.net -https?:\/\/([^\/]*\.)?theaddedtouch\.net -https?:\/\/([^\/]*\.)?theaf\.info -https?:\/\/([^\/]*\.)?theaftor\.com -https?:\/\/([^\/]*\.)?theag\.info -https?:\/\/([^\/]*\.)?theap\.info -https?:\/\/([^\/]*\.)?theas\.info -https?:\/\/([^\/]*\.)?theat\.info -https?:\/\/([^\/]*\.)?theaw\.info -https?:\/\/([^\/]*\.)?thebestjaguar\.info -https?:\/\/([^\/]*\.)?thebigswallow-com-khcs\.blogspot\.com -https?:\/\/([^\/]*\.)?thebigswallow-com-kp3hmbl2e\.blogspot\.com -https?:\/\/([^\/]*\.)?thebondbroker\.info -https?:\/\/([^\/]*\.)?thecardinaleempire\.com -https?:\/\/([^\/]*\.)?thechryslerjeep\.info -https?:\/\/([^\/]*\.)?thedailywash\.blogspot\.com -https?:\/\/([^\/]*\.)?thedrivingsite\.info -https?:\/\/([^\/]*\.)?theente\.com -https?:\/\/([^\/]*\.)?thefiatspider\.info -https?:\/\/([^\/]*\.)?thehomeworkco\.com -https?:\/\/([^\/]*\.)?theiconclub\.info -https?:\/\/([^\/]*\.)?theillegalcause\.blogspot\.com -https?:\/\/([^\/]*\.)?thejaguarracing\.cn -https?:\/\/([^\/]*\.)?thejaguarracing\.info -https?:\/\/([^\/]*\.)?theking-ox0p87\.blogspot\.com -https?:\/\/([^\/]*\.)?theluckyman\.magnesia\.dtdns\.net -https?:\/\/([^\/]*\.)?theman-mbvc\.blogspot\.com -https?:\/\/([^\/]*\.)?themazdaspeed\.info -https?:\/\/([^\/]*\.)?themoblogs\.com -https?:\/\/([^\/]*\.)?theofe\.com -https?:\/\/([^\/]*\.)?theorless\.com -https?:\/\/([^\/]*\.)?theorrent\.com -https?:\/\/([^\/]*\.)?thepartyplaza\.info -https?:\/\/([^\/]*\.)?theresa-ipvfeka0y\.blogspot\.com -https?:\/\/([^\/]*\.)?thesam118\.blogspot\.com -https?:\/\/([^\/]*\.)?theseeall\.com -https?:\/\/([^\/]*\.)?theslots\.biz -https?:\/\/([^\/]*\.)?thesmart-casino\.com -https?:\/\/([^\/]*\.)?thesportspark\.net -https?:\/\/([^\/]*\.)?thessaloni-ka8qpmq7\.blogspot\.com -https?:\/\/([^\/]*\.)?thestartrekuniverse\.net -https?:\/\/([^\/]*\.)?thetexasholdpoker\.com -https?:\/\/([^\/]*\.)?thetrafficproject\.com -https?:\/\/([^\/]*\.)?thetruevoyeur-com-gkjz2m\.blogspot\.com -https?:\/\/([^\/]*\.)?thetruevoyeur-com-gy0\.blogspot\.com -https?:\/\/([^\/]*\.)?thetruevoyeur-com-iuswifnlo\.blogspot\.com -https?:\/\/([^\/]*\.)?thewarhal\.com -https?:\/\/([^\/]*\.)?thexe\.info -https?:\/\/([^\/]*\.)?thexo\.info -https?:\/\/([^\/]*\.)?thg\.org\.ua -https?:\/\/([^\/]*\.)?thick-ass-movie\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?thick-ass-stripper\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?thick-black-ass-pic\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?thigh-boot-movie\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?thiyanna-hl74o5m\.blogspot\.com -https?:\/\/([^\/]*\.)?thomarina-gt\.blogspot\.com -https?:\/\/([^\/]*\.)?thomas-r6ik\.blogspot\.com -https?:\/\/([^\/]*\.)?thomasina-wpcw\.blogspot\.com -https?:\/\/([^\/]*\.)?thongbattle-com-rtrllksm\.blogspot\.com -https?:\/\/([^\/]*\.)?thongbattle-com-rx2f2tcqrm\.blogspot\.com -https?:\/\/([^\/]*\.)?thongdreams-com-w0r16sf\.blogspot\.com -https?:\/\/([^\/]*\.)?thongdreams-com-wq50\.blogspot\.com -https?:\/\/([^\/]*\.)?thongdreams-com-wx67\.blogspot\.com -https?:\/\/([^\/]*\.)?thongdreams-com-xehiw\.blogspot\.com -https?:\/\/([^\/]*\.)?thornblack-eq3a55o4\.blogspot\.com -https?:\/\/([^\/]*\.)?three-to8p73\.blogspot\.com -https?:\/\/([^\/]*\.)?threesforest\.blogspot\.com -https?:\/\/([^\/]*\.)?thugs-djaox\.blogspot\.com -https?:\/\/([^\/]*\.)?thugz-cqi0x7wkb6\.blogspot\.com -https?:\/\/([^\/]*\.)?thumbzilla-com-mq\.blogspot\.com -https?:\/\/([^\/]*\.)?thumbzilla-com-mqtw65e\.blogspot\.com -https?:\/\/([^\/]*\.)?thumper-bs3t1\.blogspot\.com -https?:\/\/([^\/]*\.)?thunder-aq\.blogspot\.com -https?:\/\/([^\/]*\.)?thunder\.hostonmars\.com -https?:\/\/([^\/]*\.)?thursday-om2jka\.blogspot\.com -https?:\/\/([^\/]*\.)?thusqus\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?thx1138-mh86v55t2\.blogspot\.com -https?:\/\/([^\/]*\.)?tia-icc0gbqhya\.blogspot\.com -https?:\/\/([^\/]*\.)?tiahaat\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tiahnna-kf24x7i4n\.blogspot\.com -https?:\/\/([^\/]*\.)?tiaja-hr4ci\.blogspot\.com -https?:\/\/([^\/]*\.)?tiana-g12f0\.blogspot\.com -https?:\/\/([^\/]*\.)?tianna-r4s2r44e50\.blogspot\.com -https?:\/\/([^\/]*\.)?tianti\.com\.cn -https?:\/\/([^\/]*\.)?tiava-com-i60\.blogspot\.com -https?:\/\/([^\/]*\.)?tiava-com-i73ph\.blogspot\.com -https?:\/\/([^\/]*\.)?tiava-fiduh\.blogspot\.com -https?:\/\/([^\/]*\.)?tiava-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?tiava-tqfgkv74\.blogspot\.com -https?:\/\/([^\/]*\.)?tibisa-e5d1w5g\.blogspot\.com -https?:\/\/([^\/]*\.)?ticket\.hostaim\.com -https?:\/\/([^\/]*\.)?ticketcenter\.cn -https?:\/\/([^\/]*\.)?tied-gay-bondage\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?tiepin\.my10gb\.com -https?:\/\/([^\/]*\.)?tieteler\.jconserv\.net -https?:\/\/([^\/]*\.)?tiffani-dvy3\.blogspot\.com -https?:\/\/([^\/]*\.)?tiffany-b5arc\.blogspot\.com -https?:\/\/([^\/]*\.)?tiffany-teen-video-ces\.blogspot\.com -https?:\/\/([^\/]*\.)?tiffanyteen-a75atrdr\.blogspot\.com -https?:\/\/([^\/]*\.)?tigers-ows\.blogspot\.com -https?:\/\/([^\/]*\.)?tigger-muhul2h8\.blogspot\.com -https?:\/\/([^\/]*\.)?tight-ik340a6f\.blogspot\.com -https?:\/\/([^\/]*\.)?tight-tranny-ass\.medved\.od\.ua -https?:\/\/([^\/]*\.)?tightdelights-com-bayzdrm4r\.blogspot\.com -https?:\/\/([^\/]*\.)?tightdelights-com-bproar5r\.blogspot\.com -https?:\/\/([^\/]*\.)?tigre-k0qdp\.blogspot\.com -https?:\/\/([^\/]*\.)?tijldebie\.net -https?:\/\/([^\/]*\.)?tilneshia-r1\.blogspot\.com -https?:\/\/([^\/]*\.)?timank\.com -https?:\/\/([^\/]*\.)?timelee\.pp\.ru -https?:\/\/([^\/]*\.)?timetopaynow\.com -https?:\/\/([^\/]*\.)?timewill\.pp\.ru -https?:\/\/([^\/]*\.)?timex-ironman\.leg4is\.be -https?:\/\/([^\/]*\.)?timothy-tkd\.blogspot\.com -https?:\/\/([^\/]*\.)?timsmovies-com-ck0iq6v\.blogspot\.com -https?:\/\/([^\/]*\.)?timsmovies-com-cui64k6qv\.blogspot\.com -https?:\/\/([^\/]*\.)?timyra-dy\.blogspot\.com -https?:\/\/([^\/]*\.)?tina-ce\.blogspot\.com -https?:\/\/([^\/]*\.)?tinman-bb4k610\.blogspot\.com -https?:\/\/([^\/]*\.)?tintin-abz\.blogspot\.com -https?:\/\/([^\/]*\.)?tiny-cock-blow-job\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?tiny18-net-e5zw0x8\.blogspot\.com -https?:\/\/([^\/]*\.)?tiny18-net-thb44\.blogspot\.com -https?:\/\/([^\/]*\.)?tiny18-net-tq5qwp\.blogspot\.com -https?:\/\/([^\/]*\.)?tinyeve-net-d8ejy5\.blogspot\.com -https?:\/\/([^\/]*\.)?tinyeve-net-dzjflb1\.blogspot\.com -https?:\/\/([^\/]*\.)?tinysblackadventures-com-a61px\.blogspot\.com -https?:\/\/([^\/]*\.)?tinysblackadventures-com-a638lqrud\.blogspot\.com -https?:\/\/([^\/]*\.)?tipw\.org\.ua -https?:\/\/([^\/]*\.)?tise2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?titanium-ring\.boom\.ru -https?:\/\/([^\/]*\.)?titanium-rings\.boom\.ru -https?:\/\/([^\/]*\.)?titanium1ring\.chat\.ru -https?:\/\/([^\/]*\.)?titanium4ring\.chat\.ru -https?:\/\/([^\/]*\.)?titkis\.com -https?:\/\/([^\/]*\.)?tittypalace-com-o352hny\.blogspot\.com -https?:\/\/([^\/]*\.)?tiye-e5rhl\.blogspot\.com -https?:\/\/([^\/]*\.)?tiyona-t4m7cq\.blogspot\.com -https?:\/\/([^\/]*\.)?tizanidine\.1\.p2l\.info -https?:\/\/([^\/]*\.)?tj-d04qczfk\.blogspot\.com -https?:\/\/([^\/]*\.)?tjbb1\.szm\.sk -https?:\/\/([^\/]*\.)?tjjp\.left-page\.com -https?:\/\/([^\/]*\.)?tjjp\.zxvo\.com -https?:\/\/([^\/]*\.)?tjzhh\.com\.cn -https?:\/\/([^\/]*\.)?tjzrr\.com -https?:\/\/([^\/]*\.)?tkml\.tblog\.com -https?:\/\/([^\/]*\.)?tknani\.50webs\.com -https?:\/\/([^\/]*\.)?tkzrb\.szm\.sk -https?:\/\/([^\/]*\.)?tladies\.net -https?:\/\/([^\/]*\.)?tlchjhs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tldley4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tlhd3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tljsrq\.com -https?:\/\/([^\/]*\.)?tlkdb\.szm\.sk -https?:\/\/([^\/]*\.)?tmhbj\.com -https?:\/\/([^\/]*\.)?tmobilenfn\.blogspot\.com -https?:\/\/([^\/]*\.)?tmooeen-six\.blogspot\.com -https?:\/\/([^\/]*\.)?tneccotnec\.fr-bb\.com -https?:\/\/([^\/]*\.)?tnt163\.com -https?:\/\/([^\/]*\.)?toggle-c0t3\.blogspot\.com -https?:\/\/([^\/]*\.)?tohj3\.szm\.sk -https?:\/\/([^\/]*\.)?tohqy\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tokuctro\.forumzen\.com -https?:\/\/([^\/]*\.)?tom-b56vx6b48\.blogspot\.com -https?:\/\/([^\/]*\.)?tomato-a7e\.blogspot\.com -https?:\/\/([^\/]*\.)?tomems\.125mb\.com -https?:\/\/([^\/]*\.)?tommys-bookmarks-com-eeb0\.blogspot\.com -https?:\/\/([^\/]*\.)?tommys-bookmarks-com-ev\.blogspot\.com -https?:\/\/([^\/]*\.)?tomng\.info -https?:\/\/([^\/]*\.)?tomsthumbs-com-ihj\.blogspot\.com -https?:\/\/([^\/]*\.)?tomsthumbs-com-iqkobr\.blogspot\.com -https?:\/\/([^\/]*\.)?ton4all\.com -https?:\/\/([^\/]*\.)?tonea-m3t\.blogspot\.com -https?:\/\/([^\/]*\.)?tonegativeone\.blogspot\.com -https?:\/\/([^\/]*\.)?toniann-kr3\.blogspot\.com -https?:\/\/([^\/]*\.)?tony-h3xs1\.blogspot\.com -https?:\/\/([^\/]*\.)?tonya-g0x1\.blogspot\.com -https?:\/\/([^\/]*\.)?toons-fuck-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?toor3\.szm\.sk -https?:\/\/([^\/]*\.)?tootsie-rjg323oj2\.blogspot\.com -https?:\/\/([^\/]*\.)?top-hold-em\.us -https?:\/\/([^\/]*\.)?top-holdem\.com -https?:\/\/([^\/]*\.)?top-holdem\.us -https?:\/\/([^\/]*\.)?top-mp3\.biz -https?:\/\/([^\/]*\.)?top\.pcanywhere\.net -https?:\/\/([^\/]*\.)?topacio-w3fpzg\.blogspot\.com -https?:\/\/([^\/]*\.)?topairlines\.ifrance\.com -https?:\/\/([^\/]*\.)?topcelebs-com-hf34tmj\.blogspot\.com -https?:\/\/([^\/]*\.)?topdasar\.com -https?:\/\/([^\/]*\.)?topee\.info -https?:\/\/([^\/]*\.)?topege\.com -https?:\/\/([^\/]*\.)?topfarmasearch\.info -https?:\/\/([^\/]*\.)?topgun-ef7gc204\.blogspot\.com -https?:\/\/([^\/]*\.)?topless-babes-com-mq6hbe5uvq\.blogspot\.com -https?:\/\/([^\/]*\.)?topo20\.org -https?:\/\/([^\/]*\.)?topography-tuowheetle\.blogspot\.com -https?:\/\/([^\/]*\.)?topozo\.org -https?:\/\/([^\/]*\.)?topworldauto\.info -https?:\/\/([^\/]*\.)?torey-dr343r\.blogspot\.com -https?:\/\/([^\/]*\.)?tori-cmg8\.blogspot\.com -https?:\/\/([^\/]*\.)?toriana-baui\.blogspot\.com -https?:\/\/([^\/]*\.)?tornado-axe8uch1ar\.blogspot\.com -https?:\/\/([^\/]*\.)?toronto-ox7aprp\.blogspot\.com -https?:\/\/([^\/]*\.)?toropiz\.125mb\.com -https?:\/\/([^\/]*\.)?torri-mrmj\.blogspot\.com -https?:\/\/([^\/]*\.)?tortoise-iz\.blogspot\.com -https?:\/\/([^\/]*\.)?torucnro\.jconserv\.net -https?:\/\/([^\/]*\.)?tosuralz\.forumzen\.com -https?:\/\/([^\/]*\.)?tottiona-k1zx8juj\.blogspot\.com -https?:\/\/([^\/]*\.)?touya012\.blogspot\.com -https?:\/\/([^\/]*\.)?town-china\.cn -https?:\/\/([^\/]*\.)?toxic-h8jasyqt1\.blogspot\.com -https?:\/\/([^\/]*\.)?toyota-g8\.blogspot\.com -https?:\/\/([^\/]*\.)?tpwyc\.szm\.sk -https?:\/\/([^\/]*\.)?tqdd7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tqnkaoi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tqrkf\.szm\.sk -https?:\/\/([^\/]*\.)?traci-r30narn\.blogspot\.com -https?:\/\/([^\/]*\.)?tracie-wskg17md\.blogspot\.com -https?:\/\/([^\/]*\.)?trackting\.com -https?:\/\/([^\/]*\.)?tractor-etae7hau1y\.blogspot\.com -https?:\/\/([^\/]*\.)?tracy-kae\.babubi\.net -https?:\/\/([^\/]*\.)?tracy-toe7\.blogspot\.com -https?:\/\/([^\/]*\.)?traesha-d8u3731bb6\.blogspot\.com -https?:\/\/([^\/]*\.)?traffit\.info -https?:\/\/([^\/]*\.)?tralina-bvqz366sv\.blogspot\.com -https?:\/\/([^\/]*\.)?tramadol-4u\.net -https?:\/\/([^\/]*\.)?tramadol-911\.coz\.in -https?:\/\/([^\/]*\.)?tramadol-bznz\.blogspot\.com -https?:\/\/([^\/]*\.)?tramadol-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?tramadol-gs\.eu\.tc -https?:\/\/([^\/]*\.)?tramadol-gs\.net\.tc -https?:\/\/([^\/]*\.)?tramadol-online\.presteert\.nl -https?:\/\/([^\/]*\.)?tramadol-wiki\.com -https?:\/\/([^\/]*\.)?tramadol\.1\.forogratis\.es -https?:\/\/([^\/]*\.)?tramadol\.1\.p2l\.info -https?:\/\/([^\/]*\.)?tramadol\.esguay\.com -https?:\/\/([^\/]*\.)?tramadol\.fws1\.com -https?:\/\/([^\/]*\.)?tramadol\.goodpharm\.info -https?:\/\/([^\/]*\.)?tramadol\.knopkabablo\.info -https?:\/\/([^\/]*\.)?tramadol\.presteert\.nl -https?:\/\/([^\/]*\.)?tramadol\.skocz\.net -https?:\/\/([^\/]*\.)?tramadol\.su\.pl -https?:\/\/([^\/]*\.)?tramadol\.weboficial\.com -https?:\/\/([^\/]*\.)?tramadol7\.php5\.cz -https?:\/\/([^\/]*\.)?tramadolnx\.u\.yuku\.com -https?:\/\/([^\/]*\.)?tramadolonline\.ovp\.pl -https?:\/\/([^\/]*\.)?tramadolonlinez\.blogsome\.com -https?:\/\/([^\/]*\.)?tramadolq\.bloggingmylife\.com -https?:\/\/([^\/]*\.)?tramadols\.us\.tf -https?:\/\/([^\/]*\.)?trami-a7oq4k1\.blogspot\.com -https?:\/\/([^\/]*\.)?tramika-o4no\.blogspot\.com -https?:\/\/([^\/]*\.)?tran-ma86bq3\.blogspot\.com -https?:\/\/([^\/]*\.)?tranici\.info -https?:\/\/([^\/]*\.)?tranlaura-ktn\.blogspot\.com -https?:\/\/([^\/]*\.)?trannysurprise-com-ghn6k4r88\.blogspot\.com -https?:\/\/([^\/]*\.)?trannysurprise-com-gq\.blogspot\.com -https?:\/\/([^\/]*\.)?trannysurprise-com-i05csl\.blogspot\.com -https?:\/\/([^\/]*\.)?transbiding\.com -https?:\/\/([^\/]*\.)?transchinese\.com -https?:\/\/([^\/]*\.)?transfer-h56d4zxl4\.blogspot\.com -https?:\/\/([^\/]*\.)?translateatsh\.cn -https?:\/\/([^\/]*\.)?translatebbs\.com -https?:\/\/([^\/]*\.)?translateforcompany\.cn -https?:\/\/([^\/]*\.)?traore-guh68nn\.blogspot\.com -https?:\/\/([^\/]*\.)?trashnx\.datadiri\.cc -https?:\/\/([^\/]*\.)?trastian-r1\.blogspot\.com -https?:\/\/([^\/]*\.)?travel-blast\.com -https?:\/\/([^\/]*\.)?travel-wa4g2\.blogspot\.com -https?:\/\/([^\/]*\.)?travel\.globaltr\.info -https?:\/\/([^\/]*\.)?travel2nursing\.chat\.ru -https?:\/\/([^\/]*\.)?travelmarket\.mytravelsearch\.info -https?:\/\/([^\/]*\.)?travis-ez8v\.blogspot\.com -https?:\/\/([^\/]*\.)?tray-t5\.blogspot\.com -https?:\/\/([^\/]*\.)?trbodel\.frbb\.net -https?:\/\/([^\/]*\.)?trbusget\.forumzen\.com -https?:\/\/([^\/]*\.)?trcchi\.td\.pl -https?:\/\/([^\/]*\.)?trcota\.bb-fr\.com -https?:\/\/([^\/]*\.)?trdombas\.blogcu\.com -https?:\/\/([^\/]*\.)?trerdron\.discutfree\.com -https?:\/\/([^\/]*\.)?trerdron\.dynamicforum\.net -https?:\/\/([^\/]*\.)?tressa-a7w83sb\.blogspot\.com -https?:\/\/([^\/]*\.)?tretinoingelbuy\.move\.to -https?:\/\/([^\/]*\.)?tretinoingelbuycheap\.move\.to -https?:\/\/([^\/]*\.)?tretinoingelbuygeneric\.drive\.to -https?:\/\/([^\/]*\.)?tretinoingelcheap\.rulestheweb\.com -https?:\/\/([^\/]*\.)?tretinoingelgeneric\.germany\.ms -https?:\/\/([^\/]*\.)?trevisos\.org -https?:\/\/([^\/]*\.)?trevor-obp5qlgdb\.blogspot\.com -https?:\/\/([^\/]*\.)?trhlina\.republika\.pl -https?:\/\/([^\/]*\.)?tribuna\.asp2\.cz -https?:\/\/([^\/]*\.)?trident-m6wm\.blogspot\.com -https?:\/\/([^\/]*\.)?trinbagoauto\.com -https?:\/\/([^\/]*\.)?trinity-ikvstb\.blogspot\.com -https?:\/\/([^\/]*\.)?triobuy\.vtost\.com -https?:\/\/([^\/]*\.)?triphasil\.1\.p2l\.info -https?:\/\/([^\/]*\.)?tripto\.com -https?:\/\/([^\/]*\.)?trisha-ksmv\.blogspot\.com -https?:\/\/([^\/]*\.)?tristen-h2b1b1\.blogspot\.com -https?:\/\/([^\/]*\.)?trivial-gk13on\.blogspot\.com -https?:\/\/([^\/]*\.)?trixie-rkn\.blogspot\.com -https?:\/\/([^\/]*\.)?trkucorc\.forumzen\.com -https?:\/\/([^\/]*\.)?trlicut\.winnerforum\.net -https?:\/\/([^\/]*\.)?trocacsit\.dl\.pl -https?:\/\/([^\/]*\.)?troccvi\.darkbb\.com -https?:\/\/([^\/]*\.)?trocdarc\.bb-fr\.com -https?:\/\/([^\/]*\.)?troceltolo\.dl\.pl -https?:\/\/([^\/]*\.)?trocoches\.info -https?:\/\/([^\/]*\.)?trocrolac\.dl\.pl -https?:\/\/([^\/]*\.)?troctrocro\.zj\.pl -https?:\/\/([^\/]*\.)?trombone-wafnt\.blogspot\.com -https?:\/\/([^\/]*\.)?trorolo\.ephpbb\.com -https?:\/\/([^\/]*\.)?trorta\.blogcu\.com -https?:\/\/([^\/]*\.)?trte2\.szm\.sk -https?:\/\/([^\/]*\.)?trtrocli\.uy\.pl -https?:\/\/([^\/]*\.)?trucks-t5rikxk1yk\.blogspot\.com -https?:\/\/([^\/]*\.)?trumpet-d5846b6u\.blogspot\.com -https?:\/\/([^\/]*\.)?trumst\.com -https?:\/\/([^\/]*\.)?trzelor\.bbfr\.net -https?:\/\/([^\/]*\.)?ts998\.com -https?:\/\/([^\/]*\.)?tsc-clara\.hostingtree\.org -https?:\/\/([^\/]*\.)?tsfzia5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tshirthell-com-h4dd14cx0g\.blogspot\.com -https?:\/\/([^\/]*\.)?tshirthell-com-wbc\.blogspot\.com -https?:\/\/([^\/]*\.)?tshirthell-com-wvayrpu2\.blogspot\.com -https?:\/\/([^\/]*\.)?tslist-com-rwwi8zl\.blogspot\.com -https?:\/\/([^\/]*\.)?tslist-com-ry\.blogspot\.com -https?:\/\/([^\/]*\.)?tsoy7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tss-car\.com -https?:\/\/([^\/]*\.)?tssuih5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tsvibak\.blogspot\.com -https?:\/\/([^\/]*\.)?tt001\.com -https?:\/\/([^\/]*\.)?tt002\.com -https?:\/\/([^\/]*\.)?tt003\.com -https?:\/\/([^\/]*\.)?tt004\.com -https?:\/\/([^\/]*\.)?tt005\.com -https?:\/\/([^\/]*\.)?tthumvir\.forumzen\.com -https?:\/\/([^\/]*\.)?ttjpm\.szm\.sk -https?:\/\/([^\/]*\.)?ttlive\.info -https?:\/\/([^\/]*\.)?ttrgb\.szm\.sk -https?:\/\/([^\/]*\.)?ttvpkp0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tu-wendi\.blogspot\.com -https?:\/\/([^\/]*\.)?tubas-bc45h\.blogspot\.com -https?:\/\/([^\/]*\.)?tuesday-anx780we1\.blogspot\.com -https?:\/\/([^\/]*\.)?tufa\.info -https?:\/\/([^\/]*\.)?tugjobs-com-kmr4pm\.blogspot\.com -https?:\/\/([^\/]*\.)?tuhe-advil\.blogspot\.com -https?:\/\/([^\/]*\.)?tulip123456\.ifrance\.com -https?:\/\/([^\/]*\.)?turbo-o3f520u0jd\.blogspot\.com -https?:\/\/([^\/]*\.)?turl\.jp -https?:\/\/([^\/]*\.)?turtle-m6pr6y\.blogspot\.com -https?:\/\/([^\/]*\.)?tuttle-i5\.blogspot\.com -https?:\/\/([^\/]*\.)?tuttosport\.freespase\.info -https?:\/\/([^\/]*\.)?tuubu\.szm\.sk -https?:\/\/([^\/]*\.)?tv-bazzar\.com -https?:\/\/([^\/]*\.)?twam0\.fr33webhost\.com -https?:\/\/([^\/]*\.)?tweety-k8z4spyz\.blogspot\.com -https?:\/\/([^\/]*\.)?twelvalve\.blogspot\.com -https?:\/\/([^\/]*\.)?twilightsex-cixeh\.blogspot\.com -https?:\/\/([^\/]*\.)?twilightsex-com-o31qd\.blogspot\.com -https?:\/\/([^\/]*\.)?twilightsex-com-op\.blogspot\.com -https?:\/\/([^\/]*\.)?twins-hzhz\.blogspot\.com -https?:\/\/([^\/]*\.)?twist-ga\.blogspot\.com -https?:\/\/([^\/]*\.)?twister-r4\.blogspot\.com -https?:\/\/([^\/]*\.)?two-lips-com-cfvn7fu3\.blogspot\.com -https?:\/\/([^\/]*\.)?two-lips-com-cwk\.blogspot\.com -https?:\/\/([^\/]*\.)?two-teen-kissing\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?two-wgn3t3\.blogspot\.com -https?:\/\/([^\/]*\.)?twoq5\.szm\.sk -https?:\/\/([^\/]*\.)?twxtbqn\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?txnpgc2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?txvfpo7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tyepobv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?tyj\.cwrjcn\.com -https?:\/\/([^\/]*\.)?tyra-dna0lnjav\.blogspot\.com -https?:\/\/([^\/]*\.)?tytiana-bjag\.blogspot\.com -https?:\/\/([^\/]*\.)?tyvj5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uaobs\.szm\.sk -https?:\/\/([^\/]*\.)?ub-mongolia\.mn -https?:\/\/([^\/]*\.)?ubasak\.stabilt\.se -https?:\/\/([^\/]*\.)?ubpmr\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ucdrun\.forumzen\.com -https?:\/\/([^\/]*\.)?ucol2\.szm\.sk -https?:\/\/([^\/]*\.)?udqhh\.szm\.sk -https?:\/\/([^\/]*\.)?udtm7\.szm\.sk -https?:\/\/([^\/]*\.)?uemhpgv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uglyjezz\.asp2\.cz -https?:\/\/([^\/]*\.)?ugmhq\.szm\.sk -https?:\/\/([^\/]*\.)?ukbettingweb\.com -https?:\/\/([^\/]*\.)?ukek-hin\.isuisse\.com -https?:\/\/([^\/]*\.)?ukrosi\.com -https?:\/\/([^\/]*\.)?uksr9\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ulqj9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ultimateairpurifier\.com -https?:\/\/([^\/]*\.)?ultimatesurrender-com-bkio\.blogspot\.com -https?:\/\/([^\/]*\.)?ultimatesurrender-com-bm8z1b\.blogspot\.com -https?:\/\/([^\/]*\.)?ultimatesurrender-com-c75r71j2e\.blogspot\.com -https?:\/\/([^\/]*\.)?ultracet\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ultradonkey-com-acp\.blogspot\.com -https?:\/\/([^\/]*\.)?ultradonkey-com-ag0\.blogspot\.com -https?:\/\/([^\/]*\.)?ultram-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?ultram\.1\.p2l\.info -https?:\/\/([^\/]*\.)?ultram\.47\.pl -https?:\/\/([^\/]*\.)?ultram\.goodpharm\.info -https?:\/\/([^\/]*\.)?ultram\.hav\.pl -https?:\/\/([^\/]*\.)?ultram\.is-a-geek\.com -https?:\/\/([^\/]*\.)?ultram\.serveftp\.com -https?:\/\/([^\/]*\.)?ultram\.skocz\.net -https?:\/\/([^\/]*\.)?ultrameds\.dtdns\.net -https?:\/\/([^\/]*\.)?ultrams\.eu\.tf -https?:\/\/([^\/]*\.)?ultrasexmovies-com-dm2dmh\.blogspot\.com -https?:\/\/([^\/]*\.)?ultrasexmovies-com-dz02q7\.blogspot\.com -https?:\/\/([^\/]*\.)?ultrasexmovies-com-zujuz\.blogspot\.com -https?:\/\/([^\/]*\.)?umax-forum\.com -https?:\/\/([^\/]*\.)?umax-ppc\.com -https?:\/\/([^\/]*\.)?umax-se\.com -https?:\/\/([^\/]*\.)?umax-se\.info -https?:\/\/([^\/]*\.)?umax-search-ppc-se-board\.com -https?:\/\/([^\/]*\.)?umax-search-se\.com -https?:\/\/([^\/]*\.)?umax-search\.net -https?:\/\/([^\/]*\.)?umaxppc\.com -https?:\/\/([^\/]*\.)?umaxse\.net -https?:\/\/([^\/]*\.)?umaxse\.org -https?:\/\/([^\/]*\.)?umaxsearch-search-engine\.com -https?:\/\/([^\/]*\.)?umojucd\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?umsbm\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?un-fois\.blogspot\.com -https?:\/\/([^\/]*\.)?un-nachrichten\.de -https?:\/\/([^\/]*\.)?unbelievable-poker\.com -https?:\/\/([^\/]*\.)?uncledeadly83\.blogspot\.com -https?:\/\/([^\/]*\.)?understandish\.50webs\.org -https?:\/\/([^\/]*\.)?unglaublichkeiten\.com -https?:\/\/([^\/]*\.)?unicom\.027168\.com -https?:\/\/([^\/]*\.)?uniform2nursing\.chat\.ru -https?:\/\/([^\/]*\.)?unit01\.com -https?:\/\/([^\/]*\.)?united-airline\.boom\.ru -https?:\/\/([^\/]*\.)?united24\.com -https?:\/\/([^\/]*\.)?unitedinchristchurch\.org -https?:\/\/([^\/]*\.)?universal-hosting\.net -https?:\/\/([^\/]*\.)?university-degre\.boom\.ru -https?:\/\/([^\/]*\.)?university1degre\.chat\.ru -https?:\/\/([^\/]*\.)?unixbrewers\.org -https?:\/\/([^\/]*\.)?unka\.su\.pl -https?:\/\/([^\/]*\.)?unseenoyster\.blogspot\.com -https?:\/\/([^\/]*\.)?unwqs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uobasdel\.fr-bb\.com -https?:\/\/([^\/]*\.)?uokx8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uous6\.fr33webhost\.com -https?:\/\/([^\/]*\.)?up-skirt-butt\.medved\.odessa\.ua -https?:\/\/([^\/]*\.)?updatenames\.dtdns\.net -https?:\/\/([^\/]*\.)?upskirt-ebony-teen\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?upskirt-gallery-leg\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?upskirtsexxfh\.blogspot\.com -https?:\/\/([^\/]*\.)?upwaldru\.ifrance\.com -https?:\/\/([^\/]*\.)?uraharaben1hime\.blogspot\.com -https?:\/\/([^\/]*\.)?urkrdh5\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?urky5\.szm\.sk -https?:\/\/([^\/]*\.)?us-senator-dick-durbin\.protime\.in\.ua -https?:\/\/([^\/]*\.)?us-viagra\.us -https?:\/\/([^\/]*\.)?us\.kopuz\.com -https?:\/\/([^\/]*\.)?usa-online-pharmacy\.net -https?:\/\/([^\/]*\.)?usa568\.com -https?:\/\/([^\/]*\.)?usaah\.com -https?:\/\/([^\/]*\.)?usbestlawyer\.org -https?:\/\/([^\/]*\.)?usbuorl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?usednotebooks\.ru -https?:\/\/([^\/]*\.)?ushoh\.szm\.sk -https?:\/\/([^\/]*\.)?uskbbb9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?usuc\.us -https?:\/\/([^\/]*\.)?uszfp\.szm\.sk -https?:\/\/([^\/]*\.)?utahmortgage-x\.com -https?:\/\/([^\/]*\.)?utranslate\.org -https?:\/\/([^\/]*\.)?utranslation\.net -https?:\/\/([^\/]*\.)?uucwsw7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uulitr\.forumzen\.com -https?:\/\/([^\/]*\.)?uulive\.info -https?:\/\/([^\/]*\.)?uvfotuc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uvgpy\.szm\.sk -https?:\/\/([^\/]*\.)?uvndhxh\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uwacadweb\.uwyo\.edu -https?:\/\/([^\/]*\.)?uwek\.info -https?:\/\/([^\/]*\.)?uxyei\.szm\.sk -https?:\/\/([^\/]*\.)?uyjdrg3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?uzfde\.fr33webhost\.com -https?:\/\/([^\/]*\.)?uzzclm9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?v-f-sex-video-clip-g\.blogspot\.com -https?:\/\/([^\/]*\.)?v-j-big-movie-tit-v\.blogspot\.com -https?:\/\/([^\/]*\.)?v1h\.com -https?:\/\/([^\/]*\.)?v5wednesday\.info -https?:\/\/([^\/]*\.)?v7njlwgd\.nokedem\.com -https?:\/\/([^\/]*\.)?vacanza-barcellona\.zoom10x\.info -https?:\/\/([^\/]*\.)?vacanza-montagna\.freespase\.info -https?:\/\/([^\/]*\.)?vacanza-neve\.zoom4x\.info -https?:\/\/([^\/]*\.)?vacanza-toscana\.host24h\.info -https?:\/\/([^\/]*\.)?vacuums\.be -https?:\/\/([^\/]*\.)?vahitchc\.dl\.pl -https?:\/\/([^\/]*\.)?valiubusines\.blogcu\.com -https?:\/\/([^\/]*\.)?valium-911\.coz\.in -https?:\/\/([^\/]*\.)?valium-cc\.blogspot\.com -https?:\/\/([^\/]*\.)?valium-cheap\.18\.to -https?:\/\/([^\/]*\.)?valium-online\.cheapills\.info -https?:\/\/([^\/]*\.)?valium-qrxo\.blogspot\.com -https?:\/\/([^\/]*\.)?valium\.269g\.net -https?:\/\/([^\/]*\.)?valium\.47\.pl -https?:\/\/([^\/]*\.)?valium\.goodpharm\.info -https?:\/\/([^\/]*\.)?valium\.skocz\.net -https?:\/\/([^\/]*\.)?valium\.su\.pl -https?:\/\/([^\/]*\.)?valiumnx\.u\.yuku\.com -https?:\/\/([^\/]*\.)?valiums\.eu\.tf -https?:\/\/([^\/]*\.)?valleyswap\.info -https?:\/\/([^\/]*\.)?valtrex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?vametase\.com -https?:\/\/([^\/]*\.)?vands88\.blogspot\.com -https?:\/\/([^\/]*\.)?vanhelsingsgirl\.datadiri\.cc -https?:\/\/([^\/]*\.)?vaniqa\.1\.p2l\.info -https?:\/\/([^\/]*\.)?varac\.heavenforum\.com -https?:\/\/([^\/]*\.)?varac\.highforum\.net -https?:\/\/([^\/]*\.)?varelvi\.discutfree\.com -https?:\/\/([^\/]*\.)?varnish\.8888mb\.com -https?:\/\/([^\/]*\.)?varnotr\.naturalforum\.net -https?:\/\/([^\/]*\.)?varoracel\.bbfr\.net -https?:\/\/([^\/]*\.)?varracleto\.dl\.pl -https?:\/\/([^\/]*\.)?vazicoj\.info -https?:\/\/([^\/]*\.)?vboya\.9999mb\.com -https?:\/\/([^\/]*\.)?vcjwc\.fr33webhost\.com -https?:\/\/([^\/]*\.)?vcpk9\.szm\.sk -https?:\/\/([^\/]*\.)?vcsps\.com -https?:\/\/([^\/]*\.)?vdpf4\.szm\.sk -https?:\/\/([^\/]*\.)?ve-alisa\.blogspot\.com -https?:\/\/([^\/]*\.)?vegetnuks\.blogspot\.com -https?:\/\/([^\/]*\.)?veggis\.org\.cn -https?:\/\/([^\/]*\.)?vehal\.com -https?:\/\/([^\/]*\.)?vek-xxxpower-net\.blogspot\.com -https?:\/\/([^\/]*\.)?velvetimalice\.ibelgique\.com -https?:\/\/([^\/]*\.)?vemiles\.ifrance\.com -https?:\/\/([^\/]*\.)?verba\.dyndns\.dk -https?:\/\/([^\/]*\.)?verfolva\.blogspot\.com -https?:\/\/([^\/]*\.)?veriel\.dl\.pl -https?:\/\/([^\/]*\.)?verizonringtonersy\.blogspot\.com -https?:\/\/([^\/]*\.)?verizonringtonesdvf\.blogspot\.com -https?:\/\/([^\/]*\.)?vermontmortgage-x\.com -https?:\/\/([^\/]*\.)?vertyg\.org -https?:\/\/([^\/]*\.)?veryge\.com -https?:\/\/([^\/]*\.)?veryprivatebanking\.info -https?:\/\/([^\/]*\.)?vestuk\.com -https?:\/\/([^\/]*\.)?veterinar\.spb\.ru -https?:\/\/([^\/]*\.)?vets\.appliedphysics\.swri\.edu -https?:\/\/([^\/]*\.)?vfrkiv6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vfrrto\.org -https?:\/\/([^\/]*\.)?vhuekxi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vi-allo\.blogspot\.com -https?:\/\/([^\/]*\.)?viadele\.dl\.pl -https?:\/\/([^\/]*\.)?viagaravaegra\.com -https?:\/\/([^\/]*\.)?viaggi-del-ventaglio\.forumhst\.info -https?:\/\/([^\/]*\.)?viagra-4u\.us -https?:\/\/([^\/]*\.)?viagra-online\.presteert\.nl -https?:\/\/([^\/]*\.)?viagra-soft-tabs\.1\.p2l\.info -https?:\/\/([^\/]*\.)?viagra\.1\.p2l\.info -https?:\/\/([^\/]*\.)?viagra\.cheapills\.info -https?:\/\/([^\/]*\.)?viagra\.edu\.tf -https?:\/\/([^\/]*\.)?viagra\.esguay\.com -https?:\/\/([^\/]*\.)?viagra\.inc5\.com -https?:\/\/([^\/]*\.)?viagra\.rx4\.org -https?:\/\/([^\/]*\.)?viagra\.skocz\.net -https?:\/\/([^\/]*\.)?viagrai\.blogspot\.com -https?:\/\/([^\/]*\.)?viagraorder\.mail15\.com -https?:\/\/([^\/]*\.)?viagraq\.bloggingmylife\.com -https?:\/\/([^\/]*\.)?viagrarx\.weboficial\.com -https?:\/\/([^\/]*\.)?vicodin-pharm\.fws1\.com -https?:\/\/([^\/]*\.)?vicodin\.269g\.net -https?:\/\/([^\/]*\.)?vicodin\.conto\.pl -https?:\/\/([^\/]*\.)?vicodin\.esguay\.com -https?:\/\/([^\/]*\.)?vicodin\.guu\.pl -https?:\/\/([^\/]*\.)?vicodin88\.tblog\.com -https?:\/\/([^\/]*\.)?victoria-silvstedt\.freehostss\.info -https?:\/\/([^\/]*\.)?videlric\.dl\.pl -https?:\/\/([^\/]*\.)?video-comico\.host24h\.info -https?:\/\/([^\/]*\.)?video-porn-caseros-ju\.blogspot\.com -https?:\/\/([^\/]*\.)?video-porn-gratis-sod\.blogspot\.com -https?:\/\/([^\/]*\.)?video-post-com-bejiq\.blogspot\.com -https?:\/\/([^\/]*\.)?video-post-com-bfoybt\.blogspot\.com -https?:\/\/([^\/]*\.)?video-post-com-my\.blogspot\.com -https?:\/\/([^\/]*\.)?video-post-com-thumbview-rehif\.blogspot\.com -https?:\/\/([^\/]*\.)?video-spot-sexy\.19mb\.info -https?:\/\/([^\/]*\.)?video-spot-sexy\.you-bizz\.info -https?:\/\/([^\/]*\.)?video-whore-bb-bb-b\.blogspot\.com -https?:\/\/([^\/]*\.)?videosection-com-h0xon\.blogspot\.com -https?:\/\/([^\/]*\.)?videosection-com-w1w\.blogspot\.com -https?:\/\/([^\/]*\.)?videosection-com-w62l\.blogspot\.com -https?:\/\/([^\/]*\.)?videosharez\.com -https?:\/\/([^\/]*\.)?vidgals-com-e13sc4yv0\.blogspot\.com -https?:\/\/([^\/]*\.)?vidgals-com-e6ig7a\.blogspot\.com -https?:\/\/([^\/]*\.)?vidgals-com-edvo\.blogspot\.com -https?:\/\/([^\/]*\.)?vidronla\.blogcu\.com -https?:\/\/([^\/]*\.)?vielsit\.su\.pl -https?:\/\/([^\/]*\.)?vietnamparadisetravel\.com -https?:\/\/([^\/]*\.)?viewerswives-net-c4\.blogspot\.com -https?:\/\/([^\/]*\.)?viewerswives-net-oc\.blogspot\.com -https?:\/\/([^\/]*\.)?viewgals-com-ah\.blogspot\.com -https?:\/\/([^\/]*\.)?viewgals-com-il253r\.blogspot\.com -https?:\/\/([^\/]*\.)?vigduk30\.xshorturl\.com -https?:\/\/([^\/]*\.)?vigetleto\.heavenforum\.com -https?:\/\/([^\/]*\.)?vihl6\.szm\.sk -https?:\/\/([^\/]*\.)?viliolo\.winnerforum\.net -https?:\/\/([^\/]*\.)?village\.asp2\.cz -https?:\/\/([^\/]*\.)?villaggio-ischia\.ll11\.info -https?:\/\/([^\/]*\.)?vinnie-1-hit\.blogspot\.com -https?:\/\/([^\/]*\.)?vintage\.sexcluborgy\.net -https?:\/\/([^\/]*\.)?vioxx\.1\.p2l\.info -https?:\/\/([^\/]*\.)?vioxx\.3d-game\.com -https?:\/\/([^\/]*\.)?vipasrel\.cultureforum\.net -https?:\/\/([^\/]*\.)?vipcrew-com-bj\.blogspot\.com -https?:\/\/([^\/]*\.)?vipcrew-com-r0w\.blogspot\.com -https?:\/\/([^\/]*\.)?vipcrew-com-rs74r7iy5\.blogspot\.com -https?:\/\/([^\/]*\.)?viphls\.com -https?:\/\/([^\/]*\.)?vipliz\.com -https?:\/\/([^\/]*\.)?vipmsite\.com -https?:\/\/([^\/]*\.)?virgin-porn\.futureblog\.org -https?:\/\/([^\/]*\.)?virgin-sexy\.com -https?:\/\/([^\/]*\.)?virginfucked-com-h200n1lxcg\.blogspot\.com -https?:\/\/([^\/]*\.)?virginiamortgage-x\.com -https?:\/\/([^\/]*\.)?viricrel\.lolbb\.com -https?:\/\/([^\/]*\.)?virinok\.dynamicforum\.net -https?:\/\/([^\/]*\.)?virtualeinfiniti\.cn -https?:\/\/([^\/]*\.)?vitalitymax\.1\.p2l\.info -https?:\/\/([^\/]*\.)?vivino\.ephpbb\.com -https?:\/\/([^\/]*\.)?vizelvar\.frbb\.net -https?:\/\/([^\/]*\.)?vjkavu6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vjsgby0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vjuk7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vjwm2\.fr33webhost\.com -https?:\/\/([^\/]*\.)?vkblq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vksfucm\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vmdes\.com -https?:\/\/([^\/]*\.)?vmpi4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vmvip\.com -https?:\/\/([^\/]*\.)?vmvip\.net -https?:\/\/([^\/]*\.)?vmvip\.org -https?:\/\/([^\/]*\.)?vo-free-oral-movie-clip-toc\.blogspot\.com -https?:\/\/([^\/]*\.)?voip-guide\.org -https?:\/\/([^\/]*\.)?vol-soft17-com\.blogspot\.com -https?:\/\/([^\/]*\.)?voli-amsterdam\.freespase\.info -https?:\/\/([^\/]*\.)?voli-argentina\.zoom10x\.info -https?:\/\/([^\/]*\.)?voli-londra\.freespase\.info -https?:\/\/([^\/]*\.)?voli-spagna\.freespase\.info -https?:\/\/([^\/]*\.)?volume5\.8888mb\.com -https?:\/\/([^\/]*\.)?voxn2\.szm\.sk -https?:\/\/([^\/]*\.)?voyeur-video-amateur-free\.protime\.in\.ua -https?:\/\/([^\/]*\.)?voyeurzine-com-af2\.blogspot\.com -https?:\/\/([^\/]*\.)?voyeurzine-com-dbhx1q\.blogspot\.com -https?:\/\/([^\/]*\.)?voyiu\.szm\.sk -https?:\/\/([^\/]*\.)?vpbu1\.szm\.sk -https?:\/\/([^\/]*\.)?vrlw9\.szm\.sk -https?:\/\/([^\/]*\.)?vrnjgk1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vstqfs3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vtop\.fateback\.com -https?:\/\/([^\/]*\.)?vtop\.kilu\.de -https?:\/\/([^\/]*\.)?vtop\.topcities\.com -https?:\/\/([^\/]*\.)?vtrxzzwj-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?vttolldd\.org -https?:\/\/([^\/]*\.)?vttthtgg\.org -https?:\/\/([^\/]*\.)?vtwm7\.szm\.sk -https?:\/\/([^\/]*\.)?vu-alias\.blogspot\.com -https?:\/\/([^\/]*\.)?vu-aliases\.blogspot\.com -https?:\/\/([^\/]*\.)?vu-free-big-sex-movie-fen\.blogspot\.com -https?:\/\/([^\/]*\.)?vud-vipcrew-com\.blogspot\.com -https?:\/\/([^\/]*\.)?vue\.uit\.tufts\.edu -https?:\/\/([^\/]*\.)?vulgarisprime\.50webs\.org -https?:\/\/([^\/]*\.)?vuqi-alana\.blogspot\.com -https?:\/\/([^\/]*\.)?vutwwd6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vuzeq-sex-video-d\.blogspot\.com -https?:\/\/([^\/]*\.)?vvaliumonline\.ovp\.pl -https?:\/\/([^\/]*\.)?vvline\.info -https?:\/\/([^\/]*\.)?vwjr2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vwzm6\.szm\.sk -https?:\/\/([^\/]*\.)?vyqdvf1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?vyuf9\.szm\.sk -https?:\/\/([^\/]*\.)?vzevz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?w-q-elmo-extreme-video-n\.blogspot\.com -https?:\/\/([^\/]*\.)?w-s-free-gay-sex-video-l\.blogspot\.com -https?:\/\/([^\/]*\.)?w2\.ftpcn\.cn -https?:\/\/([^\/]*\.)?w528\.com -https?:\/\/([^\/]*\.)?wacks\.info -https?:\/\/([^\/]*\.)?wak1ngmel0dies\.blogspot\.com -https?:\/\/([^\/]*\.)?walker-ross\.com -https?:\/\/([^\/]*\.)?walkerproconsulting\.com -https?:\/\/([^\/]*\.)?walt-disney-world-travel\.globaltr\.info -https?:\/\/([^\/]*\.)?wanadoo-fr-eyn6u1yt0\.blogspot\.com -https?:\/\/([^\/]*\.)?wanadoo-fr-gsz\.blogspot\.com -https?:\/\/([^\/]*\.)?wanadoo-fr-i0iq\.blogspot\.com -https?:\/\/([^\/]*\.)?wannawatch-com-k1rckf8\.blogspot\.com -https?:\/\/([^\/]*\.)?wannawatch-com-krz7dxd5a\.blogspot\.com -https?:\/\/([^\/]*\.)?wannawatch-com-oaeedr\.blogspot\.com -https?:\/\/([^\/]*\.)?wapzhijia\.com -https?:\/\/([^\/]*\.)?waserk\.com -https?:\/\/([^\/]*\.)?washingtonmortgage-x\.com -https?:\/\/([^\/]*\.)?watch-free-porn-clip-zone43l\.blogspot\.com -https?:\/\/([^\/]*\.)?watch-free-porn-clip-zonekjl\.blogspot\.com -https?:\/\/([^\/]*\.)?watch-free-porn-video-bu\.blogspot\.com -https?:\/\/([^\/]*\.)?watchersweb-com-t61o4wrr4h\.blogspot\.com -https?:\/\/([^\/]*\.)?watchersweb-com-tnwrlyoqk\.blogspot\.com -https?:\/\/([^\/]*\.)?watchingthetube\.com -https?:\/\/([^\/]*\.)?water\.toxhost\.com -https?:\/\/([^\/]*\.)?waxen\.kwik\.to -https?:\/\/([^\/]*\.)?wbun7\.szm\.sk -https?:\/\/([^\/]*\.)?wc1\.worldcrossing\.com -https?:\/\/([^\/]*\.)?we-alfred\.blogspot\.com -https?:\/\/([^\/]*\.)?we-alondra\.blogspot\.com -https?:\/\/([^\/]*\.)?we-lesbian-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?web\.missouri\.edu -https?:\/\/([^\/]*\.)?web\.scc\.losrios\.edu -https?:\/\/([^\/]*\.)?web\.skku\.edu -https?:\/\/([^\/]*\.)?web55\.info -https?:\/\/([^\/]*\.)?webhost11\.com -https?:\/\/([^\/]*\.)?webhosting-x\.com -https?:\/\/([^\/]*\.)?weblog\.xanga\.com -https?:\/\/([^\/]*\.)?webmd-drugs\.com -https?:\/\/([^\/]*\.)?websz\.com -https?:\/\/([^\/]*\.)?wedding-knot\.com -https?:\/\/([^\/]*\.)?weddingactions\.com -https?:\/\/([^\/]*\.)?wedner\.info -https?:\/\/([^\/]*\.)?weekly-pay\.com -https?:\/\/([^\/]*\.)?weersa\.com -https?:\/\/([^\/]*\.)?weight-loss\.1\.p2l\.info -https?:\/\/([^\/]*\.)?weixing\.hk\.cn -https?:\/\/([^\/]*\.)?welisi\.hk -https?:\/\/([^\/]*\.)?welivetogether-com-ek6boac\.blogspot\.com -https?:\/\/([^\/]*\.)?welivetogether-com-oc7yzd4ev\.blogspot\.com -https?:\/\/([^\/]*\.)?welivetogether-com-wcu8\.blogspot\.com -https?:\/\/([^\/]*\.)?wellbutrin\.1\.p2l\.info -https?:\/\/([^\/]*\.)?wellbutrin\.php5\.cz -https?:\/\/([^\/]*\.)?wenmasterworld\.com -https?:\/\/([^\/]*\.)?werdq\.com -https?:\/\/([^\/]*\.)?wess\.250free\.com -https?:\/\/([^\/]*\.)?westvirginiamortgage-x\.com -https?:\/\/([^\/]*\.)?wet-mature-slut\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?wet-pussy-cum-shot\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?wet-teen-panties-wen\.blogspot\.com -https?:\/\/([^\/]*\.)?wetplace-com-g16jfp6\.blogspot\.com -https?:\/\/([^\/]*\.)?wfkd3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wgxq2\.szm\.sk -https?:\/\/([^\/]*\.)?whipped-ass-slut\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?whipsnorkel\.275mb\.com -https?:\/\/([^\/]*\.)?white-guys-fucking-black-teen\.medved\.od\.ua -https?:\/\/([^\/]*\.)?whitehole\.republika\.pl -https?:\/\/([^\/]*\.)?wholesale-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?whorevideos-com-hj8shgp\.blogspot\.com -https?:\/\/([^\/]*\.)?whorevideos-com-wddx\.blogspot\.com -https?:\/\/([^\/]*\.)?whorevideos-txe5g0x\.blogspot\.com -https?:\/\/([^\/]*\.)?whpsjw1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?whss0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wierdporno-com-kur70yvrl0\.blogspot\.com -https?:\/\/([^\/]*\.)?wifi-planet\.org -https?:\/\/([^\/]*\.)?wiku-aikman\.blogspot\.com -https?:\/\/([^\/]*\.)?wild-party-fuck\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?wild-poker\.com -https?:\/\/([^\/]*\.)?willeyfordmazda\.info -https?:\/\/([^\/]*\.)?win-for-italy\.info -https?:\/\/([^\/]*\.)?wind\.8888mb\.com -https?:\/\/([^\/]*\.)?winter-gossamer\.blogspot\.com -https?:\/\/([^\/]*\.)?winter\.12gbfree\.com -https?:\/\/([^\/]*\.)?wired-shemales\.lampa\.ipupdater\.com -https?:\/\/([^\/]*\.)?wiremesh-guanda\.com -https?:\/\/([^\/]*\.)?wisconsinmortgage-x\.com -https?:\/\/([^\/]*\.)?wisdom123\.com -https?:\/\/([^\/]*\.)?wisewomanguide\.com -https?:\/\/([^\/]*\.)?wisnp\.szm\.sk -https?:\/\/([^\/]*\.)?wix-timsmovies-com\.blogspot\.com -https?:\/\/([^\/]*\.)?wizingsh\.dl\.pl -https?:\/\/([^\/]*\.)?wjch5\.szm\.sk -https?:\/\/([^\/]*\.)?wjhh9\.szm\.sk -https?:\/\/([^\/]*\.)?wjjk0\.szm\.sk -https?:\/\/([^\/]*\.)?wjsueg-free-video\.blogspot\.com -https?:\/\/([^\/]*\.)?wkelleylucas\.com -https?:\/\/([^\/]*\.)?wkfsi774k\.org -https?:\/\/([^\/]*\.)?wljp9\.szm\.sk -https?:\/\/([^\/]*\.)?wm-u\.com -https?:\/\/([^\/]*\.)?wmis\.com\.cn -https?:\/\/([^\/]*\.)?wmlpv\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wmtnd\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wnwr5\.szm\.sk -https?:\/\/([^\/]*\.)?woilco6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wolflist-com-rkj7d3\.blogspot\.com -https?:\/\/([^\/]*\.)?wolverine-steel-toe-work-boot\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?woman-masturbating-man\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?woman-who-can-lick-their-own-pussy\.gameover\.in\.ua -https?:\/\/([^\/]*\.)?woman-who-fuck-donkey\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?woman-with-prosthetic-leg\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?womansmith\.com -https?:\/\/([^\/]*\.)?women-fitness\.org -https?:\/\/([^\/]*\.)?womens-hard-nipples\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?womens-snake-boot\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?woolygrrl\.blogspot\.com -https?:\/\/([^\/]*\.)?worldsex-com-byzv1xjl\.blogspot\.com -https?:\/\/([^\/]*\.)?worldsex-com-eqn4b\.blogspot\.com -https?:\/\/([^\/]*\.)?worldtalktv\.net\.ru -https?:\/\/([^\/]*\.)?worldufo\.net\.ru -https?:\/\/([^\/]*\.)?worldwide-games\.net -https?:\/\/([^\/]*\.)?worldwide-online-pharmacy\.net -https?:\/\/([^\/]*\.)?worldwide-tramadol\.net -https?:\/\/([^\/]*\.)?woro-adriana\.blogspot\.com -https?:\/\/([^\/]*\.)?wot-smutgremlins-com\.blogspot\.com -https?:\/\/([^\/]*\.)?wow-gold\.dinmo\.cn -https?:\/\/([^\/]*\.)?wow-powerleveling-wow\.com -https?:\/\/([^\/]*\.)?wowgold\.org\.cn -https?:\/\/([^\/]*\.)?wowtgp-com-ap4y\.blogspot\.com -https?:\/\/([^\/]*\.)?wowvids-com-ooiofshz5\.blogspot\.com -https?:\/\/([^\/]*\.)?woww0\.szm\.sk -https?:\/\/([^\/]*\.)?wpgt1\.szm\.sk -https?:\/\/([^\/]*\.)?wpnvjk9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wqhnog2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wqr\.cn -https?:\/\/([^\/]*\.)?wrnf9\.szm\.sk -https?:\/\/([^\/]*\.)?wshcroq\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wsuonline\.weber\.edu -https?:\/\/([^\/]*\.)?wszqc\.szm\.sk -https?:\/\/([^\/]*\.)?wtrpfpa\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wuconweb\.wustl\.edu -https?:\/\/([^\/]*\.)?wujin\.dzsc\.com -https?:\/\/([^\/]*\.)?wulzi\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wvuf0\.szm\.sk -https?:\/\/([^\/]*\.)?wvwd6\.szm\.sk -https?:\/\/([^\/]*\.)?wwfedgechristian\.com -https?:\/\/([^\/]*\.)?wwlive\.info -https?:\/\/([^\/]*\.)?wwtop\.info -https?:\/\/([^\/]*\.)?www-girlygangbang-com\.magnesia\.dtdns\.net -https?:\/\/([^\/]*\.)?www-loadmymouth-com\.klose\.ipupdater\.com -https?:\/\/([^\/]*\.)?www-shemales-from-hell-com\.magnesia\.dtdns\.net -https?:\/\/([^\/]*\.)?www\.aet\.cup\.edu -https?:\/\/([^\/]*\.)?www\.ags\.uci\.edu -https?:\/\/([^\/]*\.)?www\.chaco\.gov\.ar -https?:\/\/([^\/]*\.)?www\.coe\.ohio-state\.edu -https?:\/\/([^\/]*\.)?www\.csulb\.edu -https?:\/\/([^\/]*\.)?www\.cucsur\.udg\.mx -https?:\/\/([^\/]*\.)?www\.depts\.ttu\.edu -https?:\/\/([^\/]*\.)?www\.elie\.com\.cn -https?:\/\/([^\/]*\.)?www\.forourbano\.gov\.ar -https?:\/\/([^\/]*\.)?www\.grad\.english\.ttu\.edu -https?:\/\/([^\/]*\.)?www\.hcs\.harvard\.edu -https?:\/\/([^\/]*\.)?www\.health-livening\.com -https?:\/\/([^\/]*\.)?www\.imperial\.edu -https?:\/\/([^\/]*\.)?www\.isis\.vanderbilt\.edu -https?:\/\/([^\/]*\.)?www\.leal-alfa\.upc\.edu -https?:\/\/([^\/]*\.)?www\.ns\.ui\.edu -https?:\/\/([^\/]*\.)?www\.oswego\.edu -https?:\/\/([^\/]*\.)?www\.oznet\.ksu\.edu -https?:\/\/([^\/]*\.)?www\.polisci\.berkeley\.edu -https?:\/\/([^\/]*\.)?www\.redwingnet\.com -https?:\/\/([^\/]*\.)?www\.rit\.edu -https?:\/\/([^\/]*\.)?www\.rso\.cmich\.edu -https?:\/\/([^\/]*\.)?www\.sccs\.swarthmore\.edu -https?:\/\/([^\/]*\.)?www\.sportsbackers\.org -https?:\/\/([^\/]*\.)?www\.tamug\.edu -https?:\/\/([^\/]*\.)?www\.ug\.it\.usyd\.edu\.au -https?:\/\/([^\/]*\.)?www\.uky\.edu -https?:\/\/([^\/]*\.)?www\.wvup\.edu -https?:\/\/([^\/]*\.)?www1\.freehostingguru\.com -https?:\/\/([^\/]*\.)?www2\.cs\.washington\.edu -https?:\/\/([^\/]*\.)?www3\.ddns\.ms -https?:\/\/([^\/]*\.)?www4\.epac\.to -https?:\/\/([^\/]*\.)?www4\.nau\.edu -https?:\/\/([^\/]*\.)?www4\.vjc\.edu -https?:\/\/([^\/]*\.)?www6\.ezua\.com -https?:\/\/([^\/]*\.)?www6\.ns1\.name -https?:\/\/([^\/]*\.)?www69\.bestdeals\.at -https?:\/\/([^\/]*\.)?www69\.byinter\.net -https?:\/\/([^\/]*\.)?www69\.dynu\.com -https?:\/\/([^\/]*\.)?www69\.findhere\.org -https?:\/\/([^\/]*\.)?www69\.fw\.nu -https?:\/\/([^\/]*\.)?www69\.ugly\.as -https?:\/\/([^\/]*\.)?www7\.25u\.com -https?:\/\/([^\/]*\.)?www7\.ygto\.com -https?:\/\/([^\/]*\.)?www8\.ns01\.us -https?:\/\/([^\/]*\.)?www9\.servequake\.com -https?:\/\/([^\/]*\.)?www9\.trickip\.org -https?:\/\/([^\/]*\.)?www99\.bounceme\.net -https?:\/\/([^\/]*\.)?www99\.zapto\.org -https?:\/\/([^\/]*\.)?wwweazol\.znamka\.yi\.org -https?:\/\/([^\/]*\.)?wwwmenozac\.gumaky\.yi\.org -https?:\/\/([^\/]*\.)?wwwpeterscumshotscom\.jalovica\.dtdns\.net -https?:\/\/([^\/]*\.)?wwwpornweekcom\.lampa\.ipupdater\.com -https?:\/\/([^\/]*\.)?wwwtheluckymancom\.hrable\.dtdns\.net -https?:\/\/([^\/]*\.)?wxcl6\.szm\.sk -https?:\/\/([^\/]*\.)?wxmbv\.fr33webhost\.com -https?:\/\/([^\/]*\.)?wxsbjx\.com -https?:\/\/([^\/]*\.)?wxzgyb\.com -https?:\/\/([^\/]*\.)?wy-ls\.com -https?:\/\/([^\/]*\.)?wyeax\.szm\.sk -https?:\/\/([^\/]*\.)?wyloguj\.php5\.cz -https?:\/\/([^\/]*\.)?wyomingmortgage-x\.com -https?:\/\/([^\/]*\.)?wywurxj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wzcub\.szm\.sk -https?:\/\/([^\/]*\.)?wzhj\.com\.cn -https?:\/\/([^\/]*\.)?wzhjom6\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?wzlsx\.com -https?:\/\/([^\/]*\.)?x-cialis\.be -https?:\/\/([^\/]*\.)?x-ho-com-m23lsy\.blogspot\.com -https?:\/\/([^\/]*\.)?x-ho-com-mlk2tai422\.blogspot\.com -https?:\/\/([^\/]*\.)?x-orgy-com-in7nn0o1\.blogspot\.com -https?:\/\/([^\/]*\.)?x24\.xxuz\.com -https?:\/\/([^\/]*\.)?x25\.2mydns\.com -https?:\/\/([^\/]*\.)?x25\.plorp\.com -https?:\/\/([^\/]*\.)?x4\.lov3\.net -https?:\/\/([^\/]*\.)?x6x\.a\.la -https?:\/\/([^\/]*\.)?x888x\.myserver\.org -https?:\/\/([^\/]*\.)?x8x\.trickip\.net -https?:\/\/([^\/]*\.)?xadultpersonals\.com -https?:\/\/([^\/]*\.)?xafengyuan\.com -https?:\/\/([^\/]*\.)?xaltc\.szm\.sk -https?:\/\/([^\/]*\.)?xanax-911\.coz\.in -https?:\/\/([^\/]*\.)?xanax-acpq\.blogspot\.com -https?:\/\/([^\/]*\.)?xanax-ccc\.blogspot\.com -https?:\/\/([^\/]*\.)?xanax-lyiy\.blogspot\.com -https?:\/\/([^\/]*\.)?xanax-online\.cheapills\.info -https?:\/\/([^\/]*\.)?xanax\.esguay\.com -https?:\/\/([^\/]*\.)?xanax\.goodpharm\.info -https?:\/\/([^\/]*\.)?xanax\.skocz\.net -https?:\/\/([^\/]*\.)?xanax\.su\.pl -https?:\/\/([^\/]*\.)?xanaxnx\.u\.yuku\.com -https?:\/\/([^\/]*\.)?xawcj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xboct13\.blogspot\.com -https?:\/\/([^\/]*\.)?xbyzkngo-teensite\.blogspot\.com -https?:\/\/([^\/]*\.)?xcp\.51mp4mp3\.com -https?:\/\/([^\/]*\.)?xd-fw\.com -https?:\/\/([^\/]*\.)?xdwxs\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xdzs\.com\.cn -https?:\/\/([^\/]*\.)?xef-publicinvasion-com\.blogspot\.com -https?:\/\/([^\/]*\.)?xejedot-sophie-marceau-c\.blogspot\.com -https?:\/\/([^\/]*\.)?xelby0\.blogspot\.com -https?:\/\/([^\/]*\.)?xenical\.1\.p2l\.info -https?:\/\/([^\/]*\.)?xenical\.1k\.pl -https?:\/\/([^\/]*\.)?xenicallem\.queroumforum\.com -https?:\/\/([^\/]*\.)?xfdr7\.szm\.sk -https?:\/\/([^\/]*\.)?xfokcw0\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xgdlfj\.com -https?:\/\/([^\/]*\.)?xhttp\.net -https?:\/\/([^\/]*\.)?xian-hua\.nease\.net -https?:\/\/([^\/]*\.)?xiangyujipiao\.com -https?:\/\/([^\/]*\.)?xibch\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xih-snakesworld-com\.blogspot\.com -https?:\/\/([^\/]*\.)?xih-topless-babes-com\.blogspot\.com -https?:\/\/([^\/]*\.)?xihdl\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xionny\.cn -https?:\/\/([^\/]*\.)?xitokiry\.blogspot\.com -https?:\/\/([^\/]*\.)?xiwhr\.szm\.sk -https?:\/\/([^\/]*\.)?xjenhx\.blogspot\.com -https?:\/\/([^\/]*\.)?xlala\.com -https?:\/\/([^\/]*\.)?xlale\.com -https?:\/\/([^\/]*\.)?xlalu\.com -https?:\/\/([^\/]*\.)?xlvc3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xlxx-com-i0xeru\.blogspot\.com -https?:\/\/([^\/]*\.)?xlxx-fokiq\.blogspot\.com -https?:\/\/([^\/]*\.)?xlxx-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?xmail\.net -https?:\/\/([^\/]*\.)?xmodem-mal\.blogspot\.com -https?:\/\/([^\/]*\.)?xnbs1\.szm\.sk -https?:\/\/([^\/]*\.)?xnews\.soad\.umich\.edu -https?:\/\/([^\/]*\.)?xnxx-com-e06t\.blogspot\.com -https?:\/\/([^\/]*\.)?xnxx-crcdfs0jy6\.blogspot\.com -https?:\/\/([^\/]*\.)?xnxxmovies-com-bv10g2\.blogspot\.com -https?:\/\/([^\/]*\.)?xnxxmovies-com-wv\.blogspot\.com -https?:\/\/([^\/]*\.)?xo-whatever\.blogspot\.com -https?:\/\/([^\/]*\.)?xolz4\.szm\.sk -https?:\/\/([^\/]*\.)?xometi\.com -https?:\/\/([^\/]*\.)?xonlinedating\.com -https?:\/\/([^\/]*\.)?xoomer\.alice\.it -https?:\/\/([^\/]*\.)?xparamacy\.org -https?:\/\/([^\/]*\.)?xpharmacy\.org -https?:\/\/([^\/]*\.)?xqnqh\.szm\.sk -https?:\/\/([^\/]*\.)?xr\.bz -https?:\/\/([^\/]*\.)?xsecrets-com-kyms\.blogspot\.com -https?:\/\/([^\/]*\.)?xsgr7\.szm\.sk -https?:\/\/([^\/]*\.)?xshorturl\.info -https?:\/\/([^\/]*\.)?xsyvh\.szm\.sk -https?:\/\/([^\/]*\.)?xt168\.com -https?:\/\/([^\/]*\.)?xudo-akira\.blogspot\.com -https?:\/\/([^\/]*\.)?xujwy\.szm\.sk -https?:\/\/([^\/]*\.)?xun-screwedupmovies-com\.blogspot\.com -https?:\/\/([^\/]*\.)?xvbbols\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?xvec\.com -https?:\/\/([^\/]*\.)?xvnj5\.szm\.sk -https?:\/\/([^\/]*\.)?xwsdr\.szm\.sk -https?:\/\/([^\/]*\.)?xxellaxx\.250free\.com -https?:\/\/([^\/]*\.)?xxhk2\.szm\.sk -https?:\/\/([^\/]*\.)?xxlmovies-com-gswie\.blogspot\.com -https?:\/\/([^\/]*\.)?xxlmovies-com-m7rg0g8viu\.blogspot\.com -https?:\/\/([^\/]*\.)?xxlmovies-mcorb4\.blogspot\.com -https?:\/\/([^\/]*\.)?xxufdm-free-video\.blogspot\.com -https?:\/\/([^\/]*\.)?xxx-mature-movie-gallery\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?xxx-pic-blonde\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?xxx-porn-clip-blogn0y\.blogspot\.com -https?:\/\/([^\/]*\.)?xxx0movie\.info -https?:\/\/([^\/]*\.)?xxx1adult1video\.blogspot\.com -https?:\/\/([^\/]*\.)?xxx1clip\.blogspot\.com -https?:\/\/([^\/]*\.)?xxx1movie\.blogspot\.com -https?:\/\/([^\/]*\.)?xxx1video\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxdessert-com-rl7e3\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxfolder-com-h3126\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxkey-com-ma\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxlost\.info -https?:\/\/([^\/]*\.)?xxxphenterm1nen0w\.tripod\.com -https?:\/\/([^\/]*\.)?xxxpornstarclassics-com-cezx51lw8\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxpornstarclassics-com-d2ttwy\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxpower-net-aped3c1xa\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxproposal-com-b06etpw\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxvogue-hux\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxvogue-net-oe2t1p081c\.blogspot\.com -https?:\/\/([^\/]*\.)?xxxvogue-net-qerij\.blogspot\.com -https?:\/\/([^\/]*\.)?xyz-i2\.blogspot\.com -https?:\/\/([^\/]*\.)?xyzzy-k7c37b5tuw\.blogspot\.com -https?:\/\/([^\/]*\.)?xzc\.org\.ua -https?:\/\/([^\/]*\.)?xzgang-bangorgy\.hav\.pl -https?:\/\/([^\/]*\.)?xznylonlycra\.hav\.pl -https?:\/\/([^\/]*\.)?xzrapeextreme\.hav\.pl -https?:\/\/([^\/]*\.)?xzzoodogsex\.hav\.pl -https?:\/\/([^\/]*\.)?y--e--s\.com -https?:\/\/([^\/]*\.)?ya\.ru -https?:\/\/([^\/]*\.)?yaahoeu\.com -https?:\/\/([^\/]*\.)?yaco-hbkklx6ltp\.blogspot\.com -https?:\/\/([^\/]*\.)?yahia-g3x\.blogspot\.com -https?:\/\/([^\/]*\.)?yaho-rei6\.blogspot\.com -https?:\/\/([^\/]*\.)?yahoochat-w11g7\.blogspot\.com -https?:\/\/([^\/]*\.)?yale-eui5rgcu\.blogspot\.com -https?:\/\/([^\/]*\.)?yamaha-scooter\.hotmail\.ru -https?:\/\/([^\/]*\.)?yamaha-t46nzou\.blogspot\.com -https?:\/\/([^\/]*\.)?yamaha2scooter\.chat\.ru -https?:\/\/([^\/]*\.)?yamel-da\.blogspot\.com -https?:\/\/([^\/]*\.)?yamil-c1n2ob52\.blogspot\.com -https?:\/\/([^\/]*\.)?yamonee-bqcyojq\.blogspot\.com -https?:\/\/([^\/]*\.)?yang-as\.blogspot\.com -https?:\/\/([^\/]*\.)?yankees-o3\.blogspot\.com -https?:\/\/([^\/]*\.)?yasashisa\.blogspot\.com -https?:\/\/([^\/]*\.)?yashun-i63\.blogspot\.com -https?:\/\/([^\/]*\.)?yasin-kfn0g\.blogspot\.com -https?:\/\/([^\/]*\.)?yaskap\.com -https?:\/\/([^\/]*\.)?yasmin-hovn5q\.blogspot\.com -https?:\/\/([^\/]*\.)?yasmin\.1\.p2l\.info -https?:\/\/([^\/]*\.)?yazar-rnzt\.blogspot\.com -https?:\/\/([^\/]*\.)?yblwoh-free-video\.blogspot\.com -https?:\/\/([^\/]*\.)?ycft3\.szm\.sk -https?:\/\/([^\/]*\.)?ycixxgt\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ycsv1\.szm\.sk -https?:\/\/([^\/]*\.)?ydyofrj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ydyp\.left-web\.com -https?:\/\/([^\/]*\.)?ydyp\.zxvo\.com -https?:\/\/([^\/]*\.)?yehuo\.cn -https?:\/\/([^\/]*\.)?yell0w-n1njaman\.blogspot\.com -https?:\/\/([^\/]*\.)?yellow-wc4pxnc\.blogspot\.com -https?:\/\/([^\/]*\.)?yellowstone-e4b\.blogspot\.com -https?:\/\/([^\/]*\.)?yes-t2cfk28\.blogspot\.com -https?:\/\/([^\/]*\.)?yesenia-dip5700iq\.blogspot\.com -https?:\/\/([^\/]*\.)?yessenia-c0ue443\.blogspot\.com -https?:\/\/([^\/]*\.)?yetbarek-b31fe\.blogspot\.com -https?:\/\/([^\/]*\.)?yfojo\.szm\.sk -https?:\/\/([^\/]*\.)?yfxy2\.szm\.sk -https?:\/\/([^\/]*\.)?yhmh\.vip\.myrice\.com -https?:\/\/([^\/]*\.)?yi-gan\.com -https?:\/\/([^\/]*\.)?yicloqd\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?yiqiyibiao\.dzsc\.com -https?:\/\/([^\/]*\.)?yisroel-a5dk2rzyvx\.blogspot\.com -https?:\/\/([^\/]*\.)?yjyvm\.szm\.sk -https?:\/\/([^\/]*\.)?ymaby\.info -https?:\/\/([^\/]*\.)?yncharm\.com -https?:\/\/([^\/]*\.)?ynij1\.szm\.sk -https?:\/\/([^\/]*\.)?ynkbb\.szm\.sk -https?:\/\/([^\/]*\.)?ynndy\.szm\.sk -https?:\/\/([^\/]*\.)?ynztp\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?yoda-oz08ueg\.blogspot\.com -https?:\/\/([^\/]*\.)?yoel-mu5ej\.blogspot\.com -https?:\/\/([^\/]*\.)?yogee\.info -https?:\/\/([^\/]*\.)?yojany-iu3bpg2\.blogspot\.com -https?:\/\/([^\/]*\.)?yolanda-k1\.blogspot\.com -https?:\/\/([^\/]*\.)?yomama-hmsa\.blogspot\.com -https?:\/\/([^\/]*\.)?yongxun\.net -https?:\/\/([^\/]*\.)?yosemite-gf77c0ggp\.blogspot\.com -https?:\/\/([^\/]*\.)?yoshi-in-black\.blogspot\.com -https?:\/\/([^\/]*\.)?yosuke-r8aua1\.blogspot\.com -https?:\/\/([^\/]*\.)?young-anal-fuck\.travel-ag\.od\.ua -https?:\/\/([^\/]*\.)?young-anal-sex\.travel-ag\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?young-blonde-slut\.medved\.uzhgorod\.ua -https?:\/\/([^\/]*\.)?young-britney\.babubi\.net -https?:\/\/([^\/]*\.)?young-cheerleader-pic\.medved\.od\.ua -https?:\/\/([^\/]*\.)?young-chubby-pussy\.protime\.in\.ua -https?:\/\/([^\/]*\.)?young-ffm\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?young-lesbian-having-sex\.protime\.in\.ua -https?:\/\/([^\/]*\.)?young-sex\.futureblog\.org -https?:\/\/([^\/]*\.)?young-teen-girl-anal\.aroundworld\.in\.ua -https?:\/\/([^\/]*\.)?young-tender\.info -https?:\/\/([^\/]*\.)?young-wqn\.blogspot\.com -https?:\/\/([^\/]*\.)?youngerbabes-com-d1fem\.blogspot\.com -https?:\/\/([^\/]*\.)?youngerbabes-com-dpdc\.blogspot\.com -https?:\/\/([^\/]*\.)?youngerbabes-freesite\.blogspot\.com -https?:\/\/([^\/]*\.)?youngleafs-eh2a6kcze\.blogspot\.com -https?:\/\/([^\/]*\.)?youngpervs-com-wdh\.blogspot\.com -https?:\/\/([^\/]*\.)?youngshemalesex\.com -https?:\/\/([^\/]*\.)?your-online-health\.com -https?:\/\/([^\/]*\.)?your-starry-sky\.blogspot\.com -https?:\/\/([^\/]*\.)?yourbudgetcar\.info -https?:\/\/([^\/]*\.)?yourbusinesshouston\.info -https?:\/\/([^\/]*\.)?yourchryslersebring\.info -https?:\/\/([^\/]*\.)?yourgunter\.com -https?:\/\/([^\/]*\.)?yourhealthypharmacy\.com -https?:\/\/([^\/]*\.)?yourlust-com-rttu8a0a\.blogspot\.com -https?:\/\/([^\/]*\.)?yourmazdacar\.info -https?:\/\/([^\/]*\.)?yourmerchandise\.org -https?:\/\/([^\/]*\.)?yourofe\.com -https?:\/\/([^\/]*\.)?yrada\.flnet\.org -https?:\/\/([^\/]*\.)?yrecnfz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?yrgs2\.szm\.sk -https?:\/\/([^\/]*\.)?yronc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ysvc0\.szm\.sk -https?:\/\/([^\/]*\.)?ytdebao\.com -https?:\/\/([^\/]*\.)?ytgf84j\.nokedem\.com -https?:\/\/([^\/]*\.)?ythsq\.com -https?:\/\/([^\/]*\.)?ytifexil\.org -https?:\/\/([^\/]*\.)?ytlmc\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ytwoqlj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?yucaibooks\.com -https?:\/\/([^\/]*\.)?yuebing\.com -https?:\/\/([^\/]*\.)?yume-taira\.blogspot\.com -https?:\/\/([^\/]*\.)?yuniel-ebyd5\.blogspot\.com -https?:\/\/([^\/]*\.)?yunmak\.com -https?:\/\/([^\/]*\.)?yushantang\.com -https?:\/\/([^\/]*\.)?yvette-tshq577\.blogspot\.com -https?:\/\/([^\/]*\.)?yvonte-dyv02l\.blogspot\.com -https?:\/\/([^\/]*\.)?yvpwh\.szm\.sk -https?:\/\/([^\/]*\.)?ywnid\.szm\.sk -https?:\/\/([^\/]*\.)?ywuyuan\.com -https?:\/\/([^\/]*\.)?ywxjm\.com -https?:\/\/([^\/]*\.)?yycp\.com -https?:\/\/([^\/]*\.)?yylive\.info -https?:\/\/([^\/]*\.)?yyys\.com\.cn -https?:\/\/([^\/]*\.)?z411\.net -https?:\/\/([^\/]*\.)?za\.spamim\.net -https?:\/\/([^\/]*\.)?zabavna9sy4ka\.biografi\.org -https?:\/\/([^\/]*\.)?zaccary-ciworog\.blogspot\.com -https?:\/\/([^\/]*\.)?zachariah-bebg88d2x\.blogspot\.com -https?:\/\/([^\/]*\.)?zacharias-a0kmh1em7\.blogspot\.com -https?:\/\/([^\/]*\.)?zacharygen-okno4540\.blogspot\.com -https?:\/\/([^\/]*\.)?zacherie-m82qs0617\.blogspot\.com -https?:\/\/([^\/]*\.)?zack-ir368\.blogspot\.com -https?:\/\/([^\/]*\.)?zackari-kkcdz8\.blogspot\.com -https?:\/\/([^\/]*\.)?zackarylee-h4qu\.blogspot\.com -https?:\/\/([^\/]*\.)?zackerize-ge\.blogspot\.com -https?:\/\/([^\/]*\.)?zahtavia-riy3\.blogspot\.com -https?:\/\/([^\/]*\.)?zaid-wi0g\.blogspot\.com -https?:\/\/([^\/]*\.)?zaidimar-ej\.blogspot\.com -https?:\/\/([^\/]*\.)?zainab-t46we0w3y\.blogspot\.com -https?:\/\/([^\/]*\.)?zakaria-c5j57crpj7\.blogspot\.com -https?:\/\/([^\/]*\.)?zanaflex\.1\.p2l\.info -https?:\/\/([^\/]*\.)?zanuda-juja\.blogspot\.com -https?:\/\/([^\/]*\.)?zap-ar2fzu\.blogspot\.com -https?:\/\/([^\/]*\.)?zara-oze5dt\.blogspot\.com -https?:\/\/([^\/]*\.)?zarat\.php5\.cz -https?:\/\/([^\/]*\.)?zatowana-m5hsah3h\.blogspot\.com -https?:\/\/([^\/]*\.)?zaxswq\.com -https?:\/\/([^\/]*\.)?zayfa\.com -https?:\/\/([^\/]*\.)?zazu-ikzc0402\.blogspot\.com -https?:\/\/([^\/]*\.)?zbbi8\.fr33webhost\.com -https?:\/\/([^\/]*\.)?zbifhoep\.t35\.com -https?:\/\/([^\/]*\.)?zbjyzm1\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zbrown\.org -https?:\/\/([^\/]*\.)?zbwk\.com -https?:\/\/([^\/]*\.)?zcld\.net -https?:\/\/([^\/]*\.)?zdei\.nokedem\.com -https?:\/\/([^\/]*\.)?zdpid\.fr33webhost\.com -https?:\/\/([^\/]*\.)?ze-sex-video-download\.blogspot\.com -https?:\/\/([^\/]*\.)?zebbiejohnson\.blogspot\.com -https?:\/\/([^\/]*\.)?zebra-ka8g\.blogspot\.com -https?:\/\/([^\/]*\.)?zebutal\.1\.p2l\.info -https?:\/\/([^\/]*\.)?zeds\.info -https?:\/\/([^\/]*\.)?zeku-airhead\.blogspot\.com -https?:\/\/([^\/]*\.)?zelalal\.darkbb\.com -https?:\/\/([^\/]*\.)?zelalli\.blogcu\.com -https?:\/\/([^\/]*\.)?zelbasleto\.heavenforum\.com -https?:\/\/([^\/]*\.)?zeldomric\.dl\.pl -https?:\/\/([^\/]*\.)?zelekah-h5u4yo\.blogspot\.com -https?:\/\/([^\/]*\.)?zella\.grafbb\.com -https?:\/\/([^\/]*\.)?zelladar\.bb-fr\.com -https?:\/\/([^\/]*\.)?zellapask\.lolbb\.com -https?:\/\/([^\/]*\.)?zelpasacel\.dl\.pl -https?:\/\/([^\/]*\.)?zelrelacel\.su\.pl -https?:\/\/([^\/]*\.)?zelrelli\.zj\.pl -https?:\/\/([^\/]*\.)?zelrelzel\.blogcu\.com -https?:\/\/([^\/]*\.)?zelrictr\.lolforum\.net -https?:\/\/([^\/]*\.)?zelvaracel\.zikforum\.com -https?:\/\/([^\/]*\.)?zelviacel\.frbb\.net -https?:\/\/([^\/]*\.)?zelvicat\.fr-bb\.com -https?:\/\/([^\/]*\.)?zemiacik\.yi\.org -https?:\/\/([^\/]*\.)?zena-grmhf3shi\.blogspot\.com -https?:\/\/([^\/]*\.)?zenaidalee-rm0p6t8md\.blogspot\.com -https?:\/\/([^\/]*\.)?zenda-wszf1\.blogspot\.com -https?:\/\/([^\/]*\.)?zennie-ey5i633f\.blogspot\.com -https?:\/\/([^\/]*\.)?zenw7\.szm\.sk -https?:\/\/([^\/]*\.)?zephyr-tk1\.blogspot\.com -https?:\/\/([^\/]*\.)?zepporah-dypvn5g3\.blogspot\.com -https?:\/\/([^\/]*\.)?zerks\.info -https?:\/\/([^\/]*\.)?zfbfbs9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zfkmaei\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zghy2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zgzr\.com -https?:\/\/([^\/]*\.)?zhenrong\.com\.cn -https?:\/\/([^\/]*\.)?zhihehotel\.com -https?:\/\/([^\/]*\.)?zhiju\.home4u\.china\.com -https?:\/\/([^\/]*\.)?zhkaw\.com -https?:\/\/([^\/]*\.)?zhkuj\.fr33webhost\.com -https?:\/\/([^\/]*\.)?zhopaitalii\.info -https?:\/\/([^\/]*\.)?zhuxg\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zhw35iida\.org -https?:\/\/([^\/]*\.)?ziahya-cbqb\.blogspot\.com -https?:\/\/([^\/]*\.)?zimg4\.szm\.sk -https?:\/\/([^\/]*\.)?zimmerman-a4shi\.blogspot\.com -https?:\/\/([^\/]*\.)?zippedurl\.com -https?:\/\/([^\/]*\.)?zisai\.com\.cn -https?:\/\/([^\/]*\.)?ziseq-sex-movie-x\.blogspot\.com -https?:\/\/([^\/]*\.)?zithromaxbuycheap\.drive\.to -https?:\/\/([^\/]*\.)?zithromaxbuygeneric\.cut\.by -https?:\/\/([^\/]*\.)?zithromaxcheap\.drive\.to -https?:\/\/([^\/]*\.)?zithromaxgenericbuy\.drive\.to -https?:\/\/([^\/]*\.)?zithromaxgenericcheap\.dive\.to -https?:\/\/([^\/]*\.)?zithromaxxonline\.ovp\.pl -https?:\/\/([^\/]*\.)?zivuc-free-sex-movie-l\.blogspot\.com -https?:\/\/([^\/]*\.)?zjeyu\.com -https?:\/\/([^\/]*\.)?zjpgxo4\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zjudeyah-m2r38d\.blogspot\.com -https?:\/\/([^\/]*\.)?zjww\.com -https?:\/\/([^\/]*\.)?zlid3\.szm\.sk -https?:\/\/([^\/]*\.)?zljekr8\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zlocztw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zmga3\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zmodem-isjrjd\.blogspot\.com -https?:\/\/([^\/]*\.)?zocor\.bad-food\.net -https?:\/\/([^\/]*\.)?zocor\.barnkalas\.net -https?:\/\/([^\/]*\.)?zocor\.blomberg\.nu -https?:\/\/([^\/]*\.)?zocor\.bokmarke\.nu -https?:\/\/([^\/]*\.)?zocor\.bredbandsfabriken\.nu -https?:\/\/([^\/]*\.)?zocor\.center\.nu -https?:\/\/([^\/]*\.)?zocor\.hellstrom\.nu -https?:\/\/([^\/]*\.)?zocor\.hem\.nu -https?:\/\/([^\/]*\.)?zocor\.infosajt\.net -https?:\/\/([^\/]*\.)?zocor\.internetreklam\.nu -https?:\/\/([^\/]*\.)?zocor\.jacobson\.nu -https?:\/\/([^\/]*\.)?zoe-ktd\.blogspot\.com -https?:\/\/([^\/]*\.)?zofarl\.com -https?:\/\/([^\/]*\.)?zofia-hkn\.blogspot\.com -https?:\/\/([^\/]*\.)?zoie-g2h02z5mta\.blogspot\.com -https?:\/\/([^\/]*\.)?zoklaku\.forumculture\.net -https?:\/\/([^\/]*\.)?zoklapec\.dynamicbb\.com -https?:\/\/([^\/]*\.)?zoloft\.1\.p2l\.info -https?:\/\/([^\/]*\.)?zoloft\.1k\.pl -https?:\/\/([^\/]*\.)?zoloft\.skocz\.net -https?:\/\/([^\/]*\.)?zombie-r7ye\.blogspot\.com -https?:\/\/([^\/]*\.)?zovirax\.esdemasiado\.com -https?:\/\/([^\/]*\.)?zovirax\.inicioya\.com -https?:\/\/([^\/]*\.)?zovirax\.ole\.to -https?:\/\/([^\/]*\.)?zovirax\.redireccion\.com -https?:\/\/([^\/]*\.)?zoya-w1tebgqbtr\.blogspot\.com -https?:\/\/([^\/]*\.)?zpbvsng\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zpco4\.szm\.sk -https?:\/\/([^\/]*\.)?zpykbi9\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zqit6\.szm\.sk -https?:\/\/([^\/]*\.)?zqxss\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zsbupdo\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zswok\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zsxqgv2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ztauk\.szm\.sk -https?:\/\/([^\/]*\.)?ztkvz\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ztlztpj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?ztnqok7\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zuleima-epbxv\.blogspot\.com -https?:\/\/([^\/]*\.)?zulema-tsaieb\.blogspot\.com -https?:\/\/([^\/]*\.)?zulmarie-dk8\.blogspot\.com -https?:\/\/([^\/]*\.)?zuri-ch0\.blogspot\.com -https?:\/\/([^\/]*\.)?zurysarai-bykp\.blogspot\.com -https?:\/\/([^\/]*\.)?zusette-ai2\.blogspot\.com -https?:\/\/([^\/]*\.)?zvcqr\.szm\.sk -https?:\/\/([^\/]*\.)?zvnaw\.szm\.sk -https?:\/\/([^\/]*\.)?zvoh2\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zvzsxqw\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zxtpets\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zya9\.info -https?:\/\/([^\/]*\.)?zyban\.1\.p2l\.info -https?:\/\/([^\/]*\.)?zyban\.controlando\.com -https?:\/\/([^\/]*\.)?zybans\.blogspot\.com -https?:\/\/([^\/]*\.)?zyrtec\.1\.p2l\.info -https?:\/\/([^\/]*\.)?zyrtec\.1k\.pl -https?:\/\/([^\/]*\.)?zyrtec\.coz\.in -https?:\/\/([^\/]*\.)?zywyn\.info -https?:\/\/([^\/]*\.)?zzcwj\.myfreewebhost\.org -https?:\/\/([^\/]*\.)?zzdx\.com +# Words +s-e-x +zoofilia +xqit +ganzaoji +aot[eu]bang +sonnerie +sexyongpin +grusskarte +geburtstagskarten +sex(cam|chat|-with|-plugin|-zone) +adult(chat|live|porn|web\.) # dot for adultweblaw.com +(animal|cam|chat|dog|hardcore|live|online|voyeur)sex +(hardcore|teen|xxx)porn +lesbiansex\. #dot for lesbiansexmafia.org +(live|cam)girl +spycam +casino-online +online-casino +kontaktlinsen +cheapest-phone +laser-eye +eye-laser +fuelcellmarket +lasikclinic +cragrats\. +AFmbb\. +exicornt +paris-hilton +2large +oa274 +-horoskop +fuel(ing)?-dispenser +huojia +jinxinghj +telemati[ck]sone +a-mortgage +diamondabrasives +reuterbrook +lazy-stars +eblja +liuhecai +\bsexkanjer\.nl # sexspammer on nl (added by andre) +show-your-pussy # (added by andre) + +# Added by shizhao 7/4/05 to 7/9/05 +\btencent\.cc +\b00856\.com + +#spamming lots of wikis from different IPs +\bfidosoft\.de + +# Added by shizhao 7/19/05 +\bzggift\.com +\b51flower\.cn +\b1car\.cn +\bbjshunsui\.com +\bqhycchina\.com +\b9s6\.com +\bfullmelon\.com +\bxuemeipaper\.com + +# Added by Andre Engels 7/20/05 +\bnerdcamp\.net + +# Added by Datrio 8/4/05 +\bnonews\.ru +\bstatic\.net + +# Added by UninvitedCompany 8/5/05 +-handys\.de +handy-(fun|kaufhaus)\.tk + +# Replacing overly broad ones above - Andre Engels, 2005-08-09 +\b(heavytools|spyware|carisoprodol|sexforfree)\.webzdarma\.cz\b +viagra\.newmail\.ru +(donewhere|olonline|spyware)\.bigsitecity\.com + +# added by brion +about-travels\.host\.sk + +# Added by Yann on 25-8-2005 (from Meta) +hotsex\.free-pussy\.org + +# Annoying user on fr: +\.etunisie\.net + +# from zh +\.ltdcr\.(com|net|org|cn) +\.hkccr\.org +\.hkce\.(org|net) +\.cegcr\.(com|net) +\.hktmr\.com +\.hkltdcr\.org +\.tradeinvests\.com +\.ovecr\.cn +\.bjicp\.com +\.tvsou\.com +\.54163\.com + +# Mar 05 +\.rockphiles\.com +\.omninerd\.com # Do not remove\. See http://meta.wikimedia.org/wiki/Spam_blacklist/recurring_requests +detoxiy\.com + +# Apr 06 +bestcardshop\.pushline\.com + +# Jun 06 +eaeaq\.info + +#11 Jul 06 - bot spamming en.wp +clicnetwork\.com + +#17 Jul 06 - spamming en.wp +\.at/aaoffers + +#7 October 05 Hashar (spam on fr:) +fuckfactor\.com + +# Requested by Ta bu shi da yu, added by Tim Starling +nastydollars\.com + +# elian's + +# dec 05 +\.cyberthug\.de +# Amgine's +\b98\.to # Hégésippe's list +\.be\.ma\b +1stOK\.com +3xforum\.ro +\bservik\.com +executiveshuttleservice\.com +\.girls\.info #disabled by Naconkantari - re-instated with dot in front by Andre Engels +efl-law\.com +myflooring\.org +efl-law\.org +\bkonecco\.com +\b51hc\.(com|net) +\.365igo\.cn +\.8009999008\.com +\.bj-huayang\.com +\.bjyhtf\.com +\.cato\.co\.jp +\.chasedream\.com +\.cn-frp\.com +\.cnjunhe\.com +\.cnsunway\.com +\.dshow\.com\.cn +\.evergreen-aloe\.cn +\.game-level\.com +\.guanfiu\.jp +\.hailide\.com\.cn +\.jipiao258\.com +\.jwac\.net +\.lipin258\.com +\.lykwell\.com +\.replica(?:-watch-center|shopping)\.com +\.shjiankong\.com +\.shmenjin\.com +\.stonephenix\.com +\.tuiguang\.org +\.wlchem\.com +\.wowgoldvip\.com +\.xinyitong\.net +\.xylww\.com +\.yn578\.com +\.ynkmty\.com +\.zjunited\.com +\.zuche258\.com +hothouse\.linux\.dk +\.true-search\.net +\.wikipedia\.741\.com +freesexxx[1-4]?\.blog-city\.com +club[1-4]?\.blog-city\.com +\.comunalia\.com/replica +gaestebuch\.007box\.de +\.sove\.info +sexypinoy\.50webs\.com +\.gayhomes\.net +\.gozilla\.info +canadian-pharmacy-portal\.com +algohio\.com +altavista\.in\.ua +\.artezia\.net +\.q1\.ohost\.de +freehostonline\.com +websamba\.com +\.luckysportsmanagement\.com +\.steveyzerman\.com +levitra\.webzdarma\.cz +jarmyl\.tripod\.com +lunesta\.tripod\.com +xanax-pills\.tripod\.com +valium-online\.tripod\.com +sex4you\.webzdarma\.cz +s-sex4you\.tripod\.com +works(?:1\.netfirms|-at-home14\.tripod)\.com +green-tea\w*\.netfirms\.com +lunesta\.netfirms\.com +where\.netfirms\.com +best-weight-loss-diet\.netfirms\.com +ephedra-weight-loss\.netfirms\.com +incognitto\.tripod\.com +slow-weight-loss\.netfirms\.com +weight-loss-for-women\.netfirms\.com +on-line\.tripod\.com +medicine\.netfirms\.com +\.xf\.cz +xmail\.net +site\.voila\.fr/cine-passion +cine-passion\.site\.voila\.fr +nezumi\.dumousseau\.free\.fr +ann\.ledoux\.free\.fr +cechail\.site\.voila\.fr +datasheet4u\.com +\.digchip\.com +datasheet\.org\.uk +\.icbank\.com +bestincosmetics\.com +videposters\.es +josiemodel\.ca +brookesbedroom\.ca +top20man\.in\.ua +ringtonemaker\.blogs\.eurosport\.com +blog\.yukonho\.com +blogs\.wwwcoder\.com +ringtone\.forumco\.com +novogate\.com +4898\.rapidforum\.com +blogs\.heraldextra\.com +blog\.investing\.com +buddyprofile\.com +\.missoula\.com +justachat\.com +westwoodbapt\.org +toutelapoesie\.com +topsites\.blog\.expedia\.fr +buysanfranciscotours\.com +buyalcatraztours\.com +\bwhale\.to\b +vaccination\.org\.uk +pharma-store\.docspages\.com +tablets\.php5\.cz +no-amazon\.com +benefits-of-honey\.com +cartier-glasses\.personal-watercraft-loan\.info +iamtv\.tv +nigeria\.mooo\.com +lagospicture\.mooo\.com +aishwaryalife\.com +jessicaalbalife\.com +shakiralife\.com +terapatricklife\.com +adrianalimapics\.org +wifi(-world|-planet|guide)\.org +university-canada\.net +zwai\.stikipad\.com +hawksquawk\.net +maclenet\.com +\.enacre\.net + +# D\.M\.: used for shock links +goatse\.ca + +# Aphaia: +\.fengshui-xuankong\.com +\.chineseart\.com/feng-shui\.htm +\.smilingbamboo\.com +\bsplashblog\.com/order(ambien|carisoprodol)\b +www\.debt-money\.com +831rec\.blog99\.fc2\.com +www\.fm99\.com/implant_vote\.asp +julebyen\.com +apocalyptism\.ru +dolmen\.es\.iespana\.es +bburunestetik\.com\.tr +bestetik(?:forum\.net|ameliyat\.org|\.name|cerrahi\.biz) +bgogusestetigi\.com +bburunestetigi\.biz +bpsclinic\.biz +bteomandogan\.com +bkralsiteler\.Com +besiteekle\.com +bahsap\.gen\.tr +bfixarkadas\.com +biyimirc\.com +biyisohbet\.gen\.tr +bsohbetli\.net +biyi-sohbet\.com +bsohbete\.net +btrcafe\.com +bossanovamusic\.net +au-(feminin|masculin)\.blogspot\.com +millionnairedeluxe\.com +praguedailyphoto\.blogspot\.com +hotelsinweb\.com +cityweb\.gr +yahotels\.gr +heraklio\.gr +mykonosweb\.gr +astipalea\.gr +delmar\.gr +kithnos\.gr +alexandros-skopelos\.gr +yahotels\.(net|eu) +stripshowclubs\.com +nissiros\.gr +findhotels\.gr +travelsites\.gr +kardamilivillas\.com +beelinetv\.com +wwitv\.com +webtv-club\.com +tv-cb\.com +www\.incatech\.net/TR/productlist.asp +# Aphaia chinese spams 2007-08 +www\.2dou3\.com +www\.global-study\.jp +topbearing\.cn +jiadev\.com +hs-pv\.com +yg-pump\.com +086pm\.cn +m-sr.net/wld39n2r/immunity +www\.51ticket\.net +www\.21gctt\.com +www\.57usa\.com +www\.gt-stair\.com +www\.bjlaibao\.com +# Aphaia Job offering spams 2007-09 +vacancy@intershipco.com +info@acglogistics.net +# Aph. OTRS ticket #2007072110009211 +caiquecrazy\.spreebb\.com +# Aph Sep 2007 +dogbreedsdirectory\.co\.uk +# "Saibanin stop" spam +\bno-saiban-in\.org\b +\bwww5f\.biglobe\.ne\.jp/~kokumin-shinbun/H16/1601/1601002devilsystem.html +\bmaebashi\.cool\.ne\.jp/saibanin +\binterq\.or\.jp/enka/svkoya + + +# Brian0918 +\.look4vacation\.com +bulgaria-houses\.com +hawaiicity\.com +postersinc\.com +\.asn\.und\.edu +bbs-bscw\.nibis\.de +simple\.trustbee\.com +fulfillmentinformation\.com +hotnewdesign\.blogspot\.com +\.nova68\.com +tempurpedicshop\.com +investing-central\.com +licescabiesandbedbugs\.com + +# Datrio +adult\.dynu\.net +celika\.dynu\.net #add by Suisui +vendweb\.com + +# Massive spam +f9zs\.info + +# Suisui +\.raus\.de/crashme/ +northwestairlines\.bravehost\.com +news\.scenecritique\.com +mp3\.com/users/ +2ch\.bufuu\.mnw\.jp +\.16ch\.net +\.remus\.dti\.ne\.jp/~wings/ +\.angelplace\.jp #20060418 +\.eronavi\.st +\.ark-web\.net +\.porn-host\.org +\.kurumaerabi\.com +keytoart\.org\.ua +users\.iptelecom\.net +nihonjustice\.hp\.infoseek\.co\.jp + +# Datrio, spam on Commons and Wikinews +ijijiji\.com +\.5g6y\.info + +#Kylu +#req by Ryulong +animesongs\.com\.br + +#as per request on talk:spam_blacklist page - User:M7 (M\/) +adult-contact\.info +7-24porn\.com +cybartv\.org +gruntmuskielures\.com +ringtones-dir\.com +myglobaldir\.com +k98you\.info +gamenase\.com +w4t3r\.com +zekesbodyworks\.com +alfredo-braga\.pro\.br +members\.comteche\.com +softecare\.com +megaupkoad\.com +factorywhores\.com +dod1\.info + +#old inserts and direct requests to User:M7 +signoraggio\.com +\.1go\.it +wikipediaitalia\.blogspot\.com +megabustybimbos\.com +tropeaonline\.it +\.tuoip\.net +\.new-media\.it +sanzioniamministrative\.it +chicercatrova2000\.it +ajcarvelli\.com +mitopositano\.it +animemanga\.de +\.bleach\.de +detektivconan\.de +digitalmonsters\.de +dragonballz\.de +gundam(wing|seed)\.de +hikarunogo\.de +inuyasha\.de +\.naruto\.de +onepiece\.de +princeoftennis\.de +\.ranma\.de +shaman-king\.de +yugioh\.de +\.fanart\.de +(freeonlinecasinoslots|vip-freeonlineslots|vip-bestonlinecasinos|atlanticcitycasinos|car-insurance-)\.blogspot\.com + +#commons +health-medical\.be +freewebs\.com/diet-about-diet + +#Added by Raul654 on Jan 25 2006 - constant spamming on en main page +all\.yard\.ru +sleepgoodmusic\.com +w9uh\.info +\bnimp\.org\b +loldongs +# URL shorteners +\b0rz\.tw\b +\bleenk\.org +\bdwarfurl\.com +\.1tiny\.com +\.all\.at +andmuchmore\.com +ataja\.es +babyurl\.com +\.back\.to +\.beam\.at +\.been\.at +biglnk\.com +\.bite\.to +\.board\.to +\.bounce\.to +\.bowl\.to +\.break\.at +\.browse\.to +\bbrowser\.to\b +\.change\.to +\.chip\.ms +compactURL\.com +\.connect\.to +\.crash\.to +\.cut\.by +\bdigbig\.com\b +\.direct\.at +\.dive\.to +\.dri(?:nk|ve)\.to +\.drop\.to +\.easy\.to +\.eb\.cx +\beasyurl\.jp\b +escape\.to +\.everything\.at +\.fade\.to +\.fanclub\.ms +\.firstpage\.de +\.fly(?:ing)?\.to +fornovices\.com +\.forward\.to +\.fullspeed\.to +\bfun\.to +\.fun\.ms +\.gameday\.de +gentleurl\.net +\.germany\.ms +\.get\.to +\.getit\.at +glinki\.com +\bgot\.to\b +\.hard-ware\.de +\.hello\.to +\.hey\.to +\.hop\.to +hottestpix\.com +\.how\.to +\.hp\.ms +imegastores\.com +jeeee\.net/url +\.jump\.to +\.kiss\.to +latest-info\.com +\blearn\.to\b +\.lin\.kz +link\.toolbot\.com +linkezy\.com +linktrim\.com +ln-s\.net # silsor +lznk\.com +makeashorterlink\.com +\.mediasite\.de +\.megapage\.de +\.messages\.to +\.mine\.at +\.minilien\.com +\.more\.(at|by) +\.move\.to +moviefever\.com +mp3-archives\.com +\.musicpage\.de +\.mypage\.org +myprivateidaho\.com +\.mysite\.de +\bmyurl\.com\.tw\b +\.nav\.to +nlug\.org/url +\.notrix\.(at|ch|de|net) +\bnow\.to\b +\.on\.to +\.page\.to +\.pagina\.de +\.played\.by +\.playsite\.de +\.privat\.ms +\.quickly\.to +\.qrl\.be +\bqurl\.com +\.qurl\.net +\bradpages\.com\b +\.redirect\.to +\bremember\.to\b +\bresourcez\.com\b +\breturn\.to\b +rubyurl\.com +\.rulestheweb\.com +\.run\.to +\.runurl\.com +\bsail\.to\b +\.scroll\.to +\.seite\.ms +\.shortcut\.to +shurl\.(net|org) +\.skip\.to +skocz\.pl +\.snap\.to +\bsnipurl\.com +\.soft-ware\.de +\bsports-reports\.com\b +\.start\.at +\.stick\.by +\bstop\.to\b +\.surf\.to +s-url\.net +\.switch\.to +thrill\.to +tiny\.cc +tiny(click|link)\.com +\.tinyr\.us +\btinyurl\.(co\.uk|com)\b +tiny\.vj\.e\.pl +\.tip\.nu +\.tny\.se +\.top\.ms +tophonors\.com +\.tra(?:nsfer|vel)\.to +turl\.jp +\.turn\.to +\burlalarm\b.com\b +uncutuncensored.com +\.url123\.com +url\.fibiger\.org +\.url\.fm +urlcut\.(com|net) +\burl(?:freeze|ic)\.com\b +urlin\.it +url(?:mask|ser)\.com +vacations\.to +veryweird\.com +videopage\.de +virtualpage\.de +\.w3\.to +\.walk\.to +\.warp9\.to +web-freebies\.com +webalias\.com +webdare\.com +\.window\.to +xrl\.us +xxx-posed\.com +\.yours\.at +\.zap\.to +\.zip\.to +\bzuso\.tw +\belfurl\.com +\bdoiop\.com +\b301url\.com +\bkuso\.cc +\burlx\.org +\burl(?:snip|bee|logs)\.com +\bsx\.am\b +\btrimurl\.com\b +\btiniuri\.com\b +\bxn6\.net\b +\b9ax\.ne\b +\b(hot|tiny)?short(enurl|url|text|erlink)\.com\b +\bnot2long\.net\b +\biceglow\.com\b +\birotator\.com\b +\bigoto\.co\.uk\b +\bdl\.am\b +\bzwap\.to\b +\bexplode\.to\b +\bunonic\.com\b +\bnet\.tf\b +\bus\.tf\b +\bint\.tf\b +\bc[ahz]\.tf\b +\bedu\.tf\b +\bru\.tf\b +\bpl\.tf\b +\bbg\.tf\b +\bsg\.tf\b +\bkickme\.to\b +\blovez\.it\b +\bneedz\.it\b +\bcraves\.it\b +\bmeans\.it\b +\bdigs\.it\b +\badores\.it\b +\bchills\.it\b +\bis-(chillin|groovin)\.it\b +\bdrives\.it\b +\breads\.it\b +\bsurfs\.it\b +\bswims\.it\b +\bplayz\.it\b +\bsingz\.it\b +\bdances\.it\b +\bhas\.it\b +\bdoes\.it\b +\bshows\.it\b +\brules\.it\b +\brocks\.it\b +\bmakes\.it\b +\bsays\.it\b +\bowns\.it\b +\bzor\.org\b +\b(1024|128|16|256|32|512|64|8)bit\.at\b +\bagain\.at\b +\ballday\.at\b +\balone\.at\b +\baltair\.at\b +\bamerican\.at\b +\bamiga500\.at\b +\bammo\.at\b +\bamplifier\.at\b +\bamstrad\.at\b +\banglican\.at\b +\bangry\.at\b +\baround\.at\b +\barrange\.at\b +\baustralian\.at\b +\bbaptist\.at\b +\bbasque\.at\b +\bbattle\.at\b +\bbazooka\.at\b +\bberber\.at\b +\bblackhole\.at\b +\bbooze\.at\b +\bbosnian\.at\b +\bbrainiac\.at\b +\bbrazilian\.at\b +\bbummer\.at\b +\bburn\.at\b +\bc-64\.at\b +\bcatholic\.at\b +\bcatalonian\.at\b +\bchapel\.at\b +\bchristiandemocrats\.at\b +\bcname\.at\b +\bcolors\.at\b +\bcommodore(64)?\.at\b +\bcommunists\.at\b +\bcons(ervatives|piracy)\.at\b +\bcooldude\.at\b +\bcroatian\.at\b +\bcuteboy\.at\b +\bdance(mix|party)\.at\b +\bdanish\.at\b +\bdealing\.at\b +\bdeep\.at\b +\bdemocrats\.at\b +\bd(ivx|vd)(links|movies|stuff)\.at\b +\bdizzy\.at\b +\bdork\.at\b +\bdutch\.at\b +\bemulaaaaars\.at\b +\bend\.at\b +\benglish\.at\b +\beniac\.at\b +\berror40[34]\.at\b +\bevangelism\.at\b +\bexhibitionist\.at\b +\bfaith\.at\b +\bfight\.at\b +\bfinn?ish\.at\b +\bforward\.at\b +\bfree(bie|mp3)\.at\b +\bfrench\.at\b +\bgraduatejobs\.at\b +\bgreenparty\.at\b +\bgrunge\.at\b +\bhacked\.at\b +\bhang(up)?\.at\b +\bhide\.at\b +\bhindu\.at\b +\bhtmlpage\.at\b +\bhungarian\.at\b +\bicelandic\.at\b +\bindependents\.at\b +\binvisible\.at\b +\bjapanese\.at\b +\bjive\.at\b +\bkickass\.at\b +\bkindergarden\.at\b +\bkurd\.at\b +\blabour\.at\b +\bleech\.at\b +\bliberals\.at\b +\blinuxserver\.at\b +\bliqour\.at\b +\bmaxed\.at\b +\bmeltdown\.at\b +\bmethodist\.at\b +\bmicrocomputers\.at\b +\bmingle\.at\b +\bmirror\.at\b +\bmoan\.at\b +\bmormons\.at\b +\bmusicmix\.at\b +\bnationalists\.at\b +\bnerds\.at\b +\bneuromancer\.at\b +\bnewbie\.at\b +\bnicepage\.at\b +\bninja\.at\b +\bnorwegian\.at\b +\bntserver\.at\b +\bpaint\.at\b +\bpalestinian\.at\b +\bphoneme\.at\b +\bphreaking\.at\b +\bpolish\.at\b +\bpopmusic\.at\b +\bportuguese\.at\b +\bpowermac\.at\b +\bpro(cessor|testant|spects)\.at\b +\brapmusic\.at\b +\braveparty\.at\b +\breachme\.at\b +\breboot\.at\b +\brelaxed\.at\b +\brepublicans\.at\b +\brese(archer|t)\.at\b +\bresolve\.at\b +\bretrocomputers\.at\b +\brockparty\.at\b +\brollover\.at\b +\brough\.at\b +\brumble\.at\b +\brussian\.at\b +\bscared\.at\b +\bseikh\.at\b +\bserbian\.at\b +\bshort\.as\b +\bsilence\.at\b +\bsimpler\.at\b +\bsinclair\.at\b +\bslowdown\.at\b +\bsocialists\.at\b +\bspanish\.at\b +\bsplit\.at\b +\bstand\.at\b +\bsaaaaned\.at\b +\bstumble\.at\b +\bsupercomputer\.at\b +\bswedish\.at\b +\bsynagogue\.at\b +\bsyntax(error)?\.at\b +\btechie\.at\b +\btemple\.at\b +\bthinkbig\.at\b +\bthirsty\.at\b +\bthrow\.at\b +\baaaaplist\.at\b +\btrekkie\.at\b +\btrouble\.at\b +\bturkish\.at\b +\bunexplained\.at\b +\bunixserver\.at\b +\bvegetarian\.at\b +\bventure\.at\b +\bverycool\.at\b +\bvic-20\.at\b +\bviewing\.at\b +\bvintagecomputers\.at\b +\bvirii\.at\b +\bvodka\.at\b +\bwannabe\.at\b +\bwebpagedesign\.at\b +\bwheels\.at\b +\bwhisper\.at\b +\bwhiz\.at\b +\bwonderful\.at\b +\bzx(8[01]|spectrum)\.at\b +\b15h\.com\b +\b1dr\.biz\b +\b2url\.org\b +\b7ref\b +\b8rf\.com\b +\bactive\.ws\b +\bbydl\.com\b +\bbittyurl\.com\b +\bbizz\.cc\b +\bbriefurl\.com\b +\bc-o\.in\b +\bchopurl\.com\b +\bko168\.com\b +\bcool1[56]8\.com\b +\bontheinter\.net\b +\bcutalink\.com\b +\bdephine\.org\b +\bfx\.to\b +\bdrlinky\.com\b +\bfireme\.to\b +\bontheway\.to\b +\bnextdoor\.to\b +\bfancyurl\.com\b +\bget2\.us\b +\bspotted\.us\b +\bwent2\.us\b +\bhasballs\.com\b +\bglobalredirect\.com\b +\bgo\.cc\b +\bgonow\.to\b +\bgowwwgo\.com\b +\bhere\.is\b +\bhothere\.com\b +\bcoolhere\.com\b +\bhomepagehere\.com\b +\bmustbehere\.com\b +\bonlyhere\.net\b +\bpagehere\.com\b +\bsurfhere\.net\b +\bzonehere\.com\b +\biscool\.net\b +\bl8t\.com\b +\b5ux\.xom\b +\b9irl\.com\b +\b9uy\.com\b +\blink(frog|zip)\.net\b +\blispurl\.com\b +\bmidgeturl\.com\b +\br8\.org\b +\bnanoref\.com\b +\bozonez\.com\b +\bppcredirect\.com\b +\bquickurl\.net\b +\bqwer\.org\b +\bred\.tc\b +\bsky\.tc\b +\btnx\.be\b +\blol\.la\b +\bthe\.vg\b +\bredirectfree\.com\b +\bsurl\.ws\b +\bsg5\.co\.uk\b +\bfreegaming\.org\b +\bfreebiefinders\.net\b +\bop7\.net\b +\b2cd\.net\b +\b0kn\.com\b +\bv9z\.com\b +\bsimurl\.com\b +\bpassingg\.as\b +\bredirect\.hm\b +\brr\.nu\b +\bkwik\.to\b +\bfw\.nu\b +\bontheweb\.nu\b +\bisthebe\.st\b +\bbyinter\.net\b +\bfindhere\.org\b +\bonthenet\.as\b +\bugly\.as\b +\bassexy\.as\b +\bpass\.as\b +\bath(?:is|er)site\.com\b +\bisgre\.at\b +\blookin\.at\b +\bbeastdeals\.at\b +\blowestprices\.at\b +\bspydar\.com\b +\btz4\.com\b +\bcemper\.com\b +\burlproxy\.com\b +\bi\.am\b +\blisten\.to\b +\bxaddr\.com\b +\burlot\.com\b + +# spyware +\bntsearch\.com\b + +# spam +kapitalism\.net + +#Delphine's little list +a85\.no-ip\.biz + +#Essjay's list +xanax\.umaxnet\.com +free-web-polls\.com +superlongpenis\.com +therealincome\.com +doubleblue\.info +virtualneopetz\.com +stvincent\.od\.ua +\.pru\.in\.ua +uzhgorod\.ua +pornogames4\.com +jewsdidwtc\.com +bestv\.forenserver\.net +satellitetvtopc\.com +parts4euro\.com +\.getlazy\.tk + +#Jon Harald Søby's list +\.wsite\.org +janedoe0911\.tripod\.com +etnapark\.com + +#requests +coinable\.com #by epopt +\.meltemi\.pl +cheap-airline-tickets\.be +pills-pharmacy\.us +www-search\.be +bestdeals\.at +girlswantmore\.info +\.qiiq\.info +putinbay\.com +pibinfo\.com +putinbayphotos\.com +put-in-bayonline\.com +bizorigin\.com # DM +haber18\.com +\.kimim\.com +misterwatchonline\.com +lopezzz\.be +putinbayresort\.com +furosemide\.be +\.toprol\.be +lisinopril\.be +synthroid\.be +norvasc\.be +physicsarchives\.com +xenon-hebergement\.net +adultclub\.adultserving\.com +nigeriaplanet\.proboards43\.com +e-economysolutions\.com +friendscyberclub\.com +virginporn\.info #Requested on talkpage +qklinkserver\.com #Requested on talkpage +don-search\.com #Requested by freakofnurture +find-web\.info #Requested by freakofnurture +bypills\.net #Requested by freakofnurture +web-best\.info #Requested by freakofnurture +fisheaters\.com # requested by JzG +kensmen\.com/catholic # requested by JzG +enterfin\.net\.ru #requested by Sjakkalle + +# from zh wp 2006-5-30 +stanleyng\.net +\.etpass\.com + +##Nakon + +##The reasons for adding the links below is located at +##http://meta.wikimedia.org/wiki/Spam_blacklist/Log/Nakon/sbl + +#New +\bgiovannardierontini\.it\b +\bbusfoto\.nl\b +\bwsiadaj\.pl\b +\bmymusiki\.com\b +\bhadiths\.eu\b +\bgermanplaces\.com\b +\bistinitisti\.com\b +\bslacker\.ch\b +\bkanusur\.com\.ar\b +\breve-de-bagages\.fr\b +\bgooglekaydi\.com\b +\bla-malle-en-coin\.com\b + +#Old + +mesothelioma-fyi\.blogspot\.com +mygeneralhospital\.com +myabcsoaps\.com +justin-timberlake-news\.blogspot\.com +my-whitney-houston\.blogspot\.com +terminator-chronicles\.blogspot\.com +2008-american-idol\.blogspot\.com +aspsupergirls\.phpnet\.us +users\.libero\.it/seza +hifrienddd\.info +childharness\.net +self-defender\.net +girls4fuking\.com +spaland\.googlepages\.com +\.ho\.com\.ua +biki4\.com +\.rdos\.net +casino\.realdiscounts\.be +sessocities\.net +nigeria(?:one\.com|planet\.tk) +geocities\.com/seelagos +securefta\.com +freewaretown\.com +sharewareisland\.com +\.box\.net/public/4y0dyzya43 +discutfree\.com +\.coz\.in +fulltimewebmaster\.com +\.5[34]\.pl +\.internationalpenfriends\.net +rockdd\.beeplog\.com +nfhtt\.info +fo4n\.com +de\.kakiko\.com +bloomingtonnormal\.com +glow-sticks\.org +glowsticks\.co\.uk +partners\.webmasterplan\.com +\.hepi\.pl +hometown\.aol\.com/(kolakq|cup2006fifa|fokann) +\.hentai\.com +\.xhost\.ro +nigeria\.chickenkiller\.com +pharisees\.org +xhostar\.com +\.sufx\.net +\.pochta\.ru +hometown\.aol\.com/viagriu +ooqwe\.info +gabenewell\.com +\.tvhosted\.com +theglowcompany\.co\.uk +forum\.bodybuilding\.com +bodybuilding\.com/fun/bigron +guide-(phytosante|proteines|vitamines)\.org +all-musculation\.com +forums\.2cpu\.com +g00ns\.net +lastoa\.cat +1golod\.org +1jolla\.org +1ebalo\.org +1ibanusiks\.org +1domiks\.org +\bipoo\.org +american-eagle-gold-coins\.com +thefreepornking\.com +\byu\.to +onlineph\.info +digitalpoimt\.com +quotesandpoem\.com +kikks\.info +qp16\.com +webcamhelp\.redirectme\.net +adult\.csx\.jp +ad\.zanox\.com +1narodoo\.org +fort-myers-florida-real-estate\.com +bbtttgg\.org +brrddd\.org +jhyujik\.org +kktthhyy\.org +lliippoo\.org +mewqsd\.org +mmuukkii\.org +nnyykkii\.org +nnntttl\.org +nnwwddrr\.org +polott\.org +ssddffrr\.org +ttuuoopp\.org +vfrrto\.org +vttolldd\.org +vttthtgg\.org +download\.reggdr\.org +mikewsd\.org +1kioskoo\.org +ifa-space\.de/host/pills +freeforen\.com/wss/host/pills +space\.webshells\.de/host/pills +\.thima\.org +kingmegames\.com +pyrobilia\.com +faragauss\.com +\.accim\.org +free-forums\.org +\.anzwers\.net +\.jw0\.info +groto\.info +bjdyzs\.com +zgxbw\.cn +shfldz\.com +home-trade\.net +home4u\.china\.com +mhgzs\.com +lkcx\.com +webtest-community\.canoo\.com +\.jo\.pl +\.blog\.naszemiasto\.pl +pardoschiken\.info +parent(leaders|directorymp3|soasis|ingliving|sreportcard)\.info +parejaslibeales\.info +paripori\.info +paris(officedetourisme|tennessenews|roller|texasnewspaper)\.info +park(11|avemassage|avenuecoc|blvdwest|crossingpoker)\.info +\.abukir\.info +bao(jiti|leys|limingdu|linzhai|lize)\.info +admmission\.info +ad(mmusicgroup|musics|musicacademy)\.info +nychesskids\.com +makinamuhendisi\.com +u288\.com +bxava\.prv\.pl +imsn\.biz +piranho\.com +top\.netfirms\.com +homes\.aol\.com +tfitj\.info +espacioblog\.com +(udtgt|pzkyy|pxjhh)\.info +21publish\.de +chezmoi\.aol\.ca +\.cs\.com +mpsong1\.info +mpmusik2\.info +mp-song3\.info +mp-musik4\.info +super10sites\.info +mopstravel\.com +forumgratis\.com +phpbbforfree\.com +tekcities\.com +freehostpro\.com +batcave\.net +finance-on-line\.biz +trade-soft\.biz +aba2ad\.info +acac3ad\.info +kvadratdvd\.com +proinvestment\.biz +drivecleaner\.com +editthis\.info/the_alternative_universe +1foleks\.org +chronicpainresourcecenter\.com +shihhsin\.com\.tw +\.westlord\.com +realfierotech\.com +fieronews\.com +skincarecity\.com +kleeneze-information\.co\.uk +earningsboost\.com +kleeneze-information\.com +\.slum\.in +\.iwde\.de +shop-links\.info +\.rapa\.jp +airports\.org\.ua +logicgame\.com\.ua +putivnyk\.com +ishipress\.com +jbactors\.com +greysanatomyinsider\.com +hometown\.aol\.co\.uk +\.ewebet\.com +softherenow\.org +\.aswev\.info +penispillinfo\.com +blog\.expresso\.repubblica\.it +rss99\.com +pvcblue\.com +bitefight\.it +adsense-wissen\.de +nueva-acropolis\.org\.ar +body-builder-pro\.com +structuredsettlementtips\.com +findlocalguide\.com +tvmilk\.com +5191victims\.com +\.za\.pl +bigestass\.info +ibdanswers\.com +greiff\.org +devrosareas\.waw\.pl +banki-online\.info +searchadv\.com +topmeds10\.com +freewebspace\.com +opensourcearmenia\.com/members +bloopdiary\.com +\.lenta\.com\.ua +corona4\.info +medicine-center\.info +111porno\.com +myautomaticlinkexchange\.com +islands-n-beaches\.com +animals-pictures-dictionary\.com +\.ses1\.info +\.nif1\.com +\.45\.kg +\.ledes\.net +\.thea[spt]\.info +xoomer\.alice\.it/(dynamixpro|iokimo) +yearlykos\.org +rootg\.org +\.comlive\.biz +\.rubite\.net +accki\.com +bapki\.com +\.xvec\.com +xlal[0-9a-z-]*\.com +extrasound\.net +urlcutter\.com +\.rollyo\.com +mixtapeman\.net +beatclappaz\.com +download-mixtapes\.net +\.ton4all\.com +\.topege\.com +wiretappro\.com +relytec\.com +cap3lxrw\.info +\.mnoga\.com +nascarspace\.com +freehost\.pl +greatestjournal\.com +e4ls6p2\.com +\.new[aeiouy][0-9a-z-]\.info +artbennett\.net +\.allall\.org +freewebsitehosting\.net +fqred\.com +streamload\.com +kipredinstitute\.org +woodking24(?:\.exporterindias|india(\.b2bquote)?)\.com +geocities\.com/woodking24 +(indoor|outdoor|rustic|indian|home)furniture\.co\.in +20six\.co\.uk +\.pill[0-9]\.info +funchain\.com +\.soduko\.org +monforum\.fr +megspace\.com +topozo\.org +medbucks\.info +techblog\.net\.ru +\.dv8\.com +shoes(ebuy|order|shop)\.(com|biz) # shoesshop added in Spam blacklist cleanup +xoomer\.virgilio\.it/insurance* +slsae\.org +anzwers\.org +ashanet\.ru +kapills\.com +freerhost\.com +sosovica\.info +pelendrek\.com +yarsity\.com +kuznetsova\.net +cocaine-drink\.com +tmx-elmo\.org +nitrousdirect\.com +penny-stock\.org +house-mortgage\.org +DieselSmoke\.com +blogsit\.ru +blogmania\.ru +vnunetblogs\.com +blog\.kataweb\.it +wmjblogs\.ru +sledtv\.org +donate-eggs\.com +acne-b5\.org +peter-leeds\.org +badcredit-loan\.org +foto-julius\.at +sexandcum\.info +\.astore\.amazon\.(com|co\.uk|fr) +srisathyasaibookcentre\.org\.uk +liveeyetv\.org +lonympics\.co\.uk +lyricsandsongs\.com +bellproxy\.com +kitzor\.com +zluf\.com +bettersolutions\.com +extranomical\.com +yosemitetours\.travel +coffeereview\.net +auto-insurance-company\.net +isbn-check\.(com|de) +pimpblog\.nl +reciter\.com +blogagotchi\.com +classic-car-insurance\.biz +free-mortgage-calculator\.info +christine-hanson\.com +topjobnet\.org +bet-at-home\.com +bet365\.com +10bet\.com +israelnewsagency\.com +cheridinovo\.com +zhitomirhost\.com +wrestlingobserver\.com/wo/news/headlines/default\.asp\?aID=19419 +yamour\.com +\.hour\.ws +wainscoting\.info +\.ostuni\.tv +painkillers\.com +wheelsinternational\.com +appraisalcenter\.com +www\.mashup\.com +bastardpop\.com +tqscore\.com +it-aly\.com +usatn\.com +australiagate\.com +cana-da\.com +fr-ance\.com +turkeygate\.com +uk-time\.com +usaak\.com +usamn\.com +lapiazzetta\.lecce\.it +greenlandtravel\.com +dailyyoutubeblog\.blogspot\.com +npizlog\.org\.yu +globaljihad\.net +germanygate\.com +bookistanbul\.com +j-apan\.com +egypt-Ian\.com +cafeDeyIm\.com +\.minibus\.ws +allstarnba\.es +truehealthy\.com +\.ybay1\.co\.il +gamegoldspace\.com +mergerinvesting\.com +look-for-albania\.com +alldatasheet\.com +datasheet\.kr +ethanol-news\.de +unleashmypower\.com +prosumersystems\.com +dreamcrowd\.com +arkleywatch\.blogspot\.com +ronpaulforum\.com +quotaless\.com + +#Brass India +aksharmetal\.com +appleeou\.com +appleinternational(enggworks)?\.(com|in|co\.in) +appleworldwide\.com +autobrassonline\.com +brass(turnedcomponents|terminalconnectors|-screws-bolts-nuts|precisionparts|partsindia|nuts-brassbolts|neutrallinks|-inserts-fasteners-india|insertsbrassnutsbrassbolts|buildinghardware|cableglands|electrical|electricalaccessories|electricalcomponents|fastenersindia|-fasteners|-fasteners-india|fittingcomponents)\.com +brassparts\.ind\.in +cable(glandsworldwide|-glands-asia|glands-india)\.com +hindustanimpex\.com +jamnagaronline\.com +rathodind\.com +sahajanandbrass\.com +skynetindia\.info +siliconbronzefasteners\.com +shivombrass\.com +webnettechindia\.com + +#req on ANI http://en.wikipedia.org/wiki/Wikipedia:Administrators'_noticeboard/IncidentArchive120#New_York_City_blackout_of_1977 +\.acmedias\.org +aquinox\.net +\.ballfolio\.com +clantemplates\.com +\.compagnons\.org +dragonflyeast\.com +\.easl\.info +erisfree\.com +\.iaa-dc\.org +\.j-mayer\.org +jouvence\.com + +rockthedesert\.com +soargbsc\.com +somber-resplendence\.net +starfan\.lamost\.org +\.abook4all\.com +applausestore\.com +comfortinndowntown\.com +creativesplendors\.com +\.doggroups\.com +emulnation\.info +flyingpirate\.com +infinet\.net +kit2fit\.com +mi-aime-a-ou\.com +\.mohid\.com +pulverradio\.com +quiz-zone\.co\.uk +simplefuture\.org +splendidshirt\.com +systemtek\.net +vegas-coupons\.org +webdistributionltd\.com + +#end of ANI + +#Universe Daily (en.wiki redir spam) +alien(life|news)\.info +amateurspaceflight\.com +\.artofwar\.name +atomicrockets\.com +\bbadastronomer\.com\b +bindiirwin\.info +carlsagan\.info +chloemurdoch\.com +\.dalek\.name +\.dinosaurs\.name +everythings(?:cience\.org|pace\.com) +fuckamerica\.info +fuckisrael\.org +james-?packer\.(info|net|org) +jamie-packer\.(com|net|org) +jamiepacker\.(com|net) +janogibson\.com +jeeperscreepers3\.net +jerrypournelle\.(net|org) +jodhi(meares|packer)\.com +jodiemeares\.com +lachlanmurdoch\.(net|org) +lochnessmonster\.name +manpoweredflight\.com +\.minotaur\.name +monster(hunter|news)\.org +nuclear(?:(australia|starships)\.com|space\.org) +projectorion\.(proboards28\.com|info|net|org) +richardfinnila\.com +rupertmurdoch\.ws +robertzubrin\.com +\.science(?:(?:geek|weekly)\.info|news\.(?:name|ws)) +sciforums\.info +space4peace\.com +\.space(?:daily\.info|forums\.(?:info|org)) +stephenhawkingsuniverse\.com +\.terrorismnews\.info +universe(?:daily\.(?:com|info|net|org)|today\.(?:info|net)) +wendideng\.(net|org) +wendimurdoch\.com +wikipedia[clm]\.(info|net) +\.wikipedian\.info +yowiehunter\.com +\bganjagrower\.com\b +\balienstarships\.com\b +\bterriirwin\.(?:info|name)\b +\bmasterwho\.com\b +\bdalekinvasion\.com\b + +#end UD + +##Gastrich +jcsm\.org +jasongastrich\.com +(la|sd)musiclessons\.com +\.golbu\.com +maleboge\.com # added by JzG ~~~~~ + +#end G + +##redirection spam on simple\.wiki +\.computersci\.net/wwwboard +\.hemsida\.net/wwwboard +\.shieldofprayer\.org/Requests +\.evilcycling\.com/evilcrap +redmondcyclingclub\.com/evilmessages +\.novurengoi\.ru/wwwboard +\.charm\.ru/wwwboard +wiki\.esm\.co\.jp:8080/myswiki +objectclub\.esm\.co\.jp:8080/myswiki +\.fukuikenren\.or\.jp/wwwboard +\.terrybozzio\.com/wwwboard +swiki\.nadir\.org/refs +japanese-girl-xxx\.com + +##spam on catux\.org +doc\.svp-info\.com +weer\.blogs\.(eurosport\.es/files|com/f) +figgles\.8k\.com +privetparis\.com + +##spam on sonikmatter\.com +\.trafu\.com +\.pantyhose-net\.com + +##fsorward +needlustgirl\.org + +##phrases +(online|discount|best)(md|rx) +cheap-xanax +bestviag +buycheap +llpharm +phvonline +wikipharm +bobbyboulders +imwithbobby +dronnoal +tprehj +cheap-airfares +myzenegra +netftpblya +payday-loan +consolidatedebt +onlinecollegedegree +cashadvance +rentersinsurance +businesscreditcards +freeblowjobvideo +freexmovies +010897078278572180631 + +#urlredir +\.short\.be +\.n3t\.nl +\.f2b\.be +\.n0\.be +\.ssr\.be +zapto\.org +redirectme\.com +\.myftp\.(biz|org) +bounceme\.net +\.hopto\.org +myvnc\.com +serve(beer|blog|counterstrike|ftp|game|halflife|mp3|pics|quake)\.com +sytes\.net +clipurl\.com +wapurl\.co\.uk +liteurl\.com +zippedurl\.com +32url\.com +\btinyurl\.us\b +relurl\.com +urlkick\.com +1url\.org +masl\.to +lnk\.in + +##End of Naconkantari + +# Added by MaxSem + +## August 2006 +\.ipfox\.com +\.opticsplanet\.net +thesexlane\.com +herhairlosshelp\.com +kittenbootie\.info +carrotjuice\.com +pineapplejuice\.com +aceshowbiz\.com +\.fiero\.nl +alexeykaz\.boom\.ru +\.rxhj\.net +lop\.netfirms\.com +\.nokedem\.com +booksmusicfilmstv\.com +freehardcorevideo\.org + +## Sept +freewebs\.com/pool-supply1 +pharmacy-on-line\.org +abcfreeringtones\.com +\.allln\.com +plone\.akl\.lt + +## Oct +the2ndmortgagehelp\.com +encyclopediadramatica\.(?:com(?!/Main_Page)|net|org) + +## Nov +offshoreincorporation101\.com +earthanduniverse\.net + +##Jan 2007 +milstd\.net +my-spaces\.org +parishiltontoday\.com +aim-search\.com +gocurrency\.com +fxwords\.com +forextradingllc\.com +##Mar 2007 +beam\.to +##May 2007 +mobipocket\.ru +excitesearch\.info +##December 2007 +\bsommelier\.dn\.ua + +# Eloquence, August 2006 +rexcurry\.net +\.2surf\.eu +122mb\.com +neopets\.com/refer\.phtml\?username= # requested by Ryulong +zetapets\.com/register\.php\?ref= # requested by Ryulong +\.lotoplay\.com + +# Walter +web247\.s5\.netcup\.net # German linkspammer + +#http://en.wikipedia.org/w/index.php?title=User_talk%3ACool_Cat%2FArchive%2F2006%2F09&diff=77994772&oldid=75840958 +\.webhosting\.gs +hottest-host\.com +www4free\.de +wingisp\.com + +# http://fr.wikipedia.org/w/index.php?title=Licence_publique_g%C3%A9n%C3%A9rale_GNU&diff=10489059&oldid=10479749&rcid=10039037 +parishilton-paris\.blogspot\.com +lifestylemagic\.com #en spamming +strumpette\.com #en spamming; discussed by arbcom + +#The following sites are being used to get around the scroogle.org spam blacklisting (above) +being-ones-self\.org +myegotimes\.com + +# from zh wp +\.x4hk\.com +\.gogameland\.com +\.x-shopz\.org +\.banan\.net\.ua + +#added by Darkoneko 27/01/07, due to spambot on fr:wp +daimonds\.php5\.cz + +# 1/29/07 -- Dmcdevit +jeder-tag\.de +gooya\.co\.uk +freemasonrywatch\.org +old-classics\.info +dsbworldwide\.com +LasVegasBaby\.net +mycraigranch\.com +mylocallink\.com +planoland\.com +professionalhooker\.com +SinCityBaby\.net +texomaland\.com +thongtalking\.com +webitems(pro)?\.com +ingenieur-verlag\.de + +#added by Redux on February 1st 2007 +elodiscovery\.com + +# [[Spam blacklist/Log]] + +## Unknown +(gui.*|chai?r|lamp.*|cook.*|visa.*)\.white\.prohosting\.com +buy-cheap-meds\.us +julie\.xxserv\.com +pills-pharmacy\.net +searchterror\.com +\.lycos1\.com +\.0s48\.info +torontonian\.com +vacarreno\.net +wiki\.servetown\.com +cumfiesta4\.us +stadianet\.com +(alprazolam|ambien|diazepam|valium|xanax|zolpidem)\.daj\.pl +sex\.hut1\.ru +vanjatka\.be +\.vorbo\.com +stdhost\.net +kelly-hosting\.com +101hosters\.com +cvh100\.com +onix1000\.com +\.k6je\.info +\.w0qb\.info +drugs\.(?:(?:mooo|ignorelist|chickenkiller)\.com|strangled\.net) +\.lol\.to +loprox\.atwork\.to +niaspan\.mrfriendly\.com +tricor\.athome\.to +\.7726\.info +\.cc3\.be +freesexyhouse\.com +skozlozop\.com +z0rder\.tripod\.com +smuttygirls\.info +f3so\.info +(allmed|comeds)\.blogs\.eurosport\.com +\.dare14\.com +ourtrinity\.net +oxrash\.com +cell-phones-store\.net +order-online\.50webs\.com +casino-(flower|baron)\.com +pornzonehost\.com +meenan1\.com +west263\.com +firmasiden\.com +\.ttmr\.com +gangchenpa\.com +\.ibada\.org +sd1718\.com +huaxianame\.com +\.tour[0-9]+\.com +chinese-pesticide\.com +\.jsgmt\.com +\.rmbrmb\.com +\.ndtek\.com +ynkm-trip\.com +\.euyn\.com +e-fanyi\.com +\bhuangshan\.com(?!\.cn\b) +hssight\.com +changyuansh\.com +\.ynsw\.com +datianmachine\.com +microzovd\.com +haugeprint\.co\.uk +logical-planet\.co\.uk +-luxuries\.co\.uk +\.playbest\.de +ja-ac\.com +attapulgite\.org +international-pharma\.com +51crab\.com +touchcn\.net +cmd365\.com +sensmagnets\.com +cnliandong\.com +szsuun\.com +blueattain\.com +color4day\.com +\.rorta\.com +worldinternational\.co\.uk +\.abiao\.name +\.aaff\.net +\.aagg\.net +\.atb\.name +attapulgite\.com +yucaibooks\.com +bjicp\.net +[0-9]+epson\.com +newboyu\.com +digital-projector\.net +\.ponytest\.com +nbflashlights\.com +-bidet\.com +google163\.net +geciwu\.com +enjoyguilin\.com +burningcar\.net +csetouch\.com +lvhang\.com +cnttec\.com +sinosyn\.com +black-eyes\.net +86ieta\.com +bjyiwang\.com +reputek\.com +autumncom\.com +sun-sand-sea\.com +jiatugz\.com +chenguang-cn\.com +shangguanhong\.com +payono\.com +anttm\.com +sharella\.com +yesmeaning\.com +bj-dzjp\.com +cn-fireplace\.com +si-bay\.com +overseas-edu\.com +iron-world\.com +cnyunge\.com +cnwinch\.com +rongpeng\.com +pasco-stationery\.com +accessories-car\.com +chinese-suppliers\.com +chinalifting\.com +blogletters\.com +uvinewine\.co\.uk +couponmountain\.com +hukuki\.net +gift800\.net +\.mmyou\.com +chinamimi\.net +fimdainternet\.com\.br +allwoodoxford\.com +cornishholidaysuk\.com +\.169xp\.com +silberhochzeit\.de\.nr +-diaeten\.de\.vu +-testen\.de\.ms +malvorlagen\.de\.ms +-kochrezepte\.de\.vu +abnehmen\.freeweb-hosting\.com +hintergrundbilder\.us\.ms +waycn\.com +dealcn\.com +\.artsdeal\.com +\.stonedeal\.com +decorationsexport\.com +nikeproduct\.com +shoesbuynow\.com +seekcn\.net +tupianwu\.com +\.ling8\.com +\.ok8\.org +dirhot\.com +kan365\.com +yuding\.org +sex-fu\.com +geneostar\.com +a--e\.com +card-lottery\.org +nikesupplier\.com +top-point\.net +ukex\.net +yedian\.com +\.contake\.com +ulcer\.by\.ru +\.ulcer\.ws +gt-lite\.com +flowerwish\.com +sec-battery\.co\.uk +-hire\.co\.uk +tcom-control\.co\.uk +parkersexecutivecar\.co\.uk +beaumont-bar\.co\.uk +owaceilings\.co\.uk +jgc-network\.co\.uk +execsoft-software\.co\.uk +bodet-clocks\.co\.uk +buzz-hotels\.co\.uk +longcrossgroup\.co\.uk +pantandsocks\.co\.uk +bjrealcolor\.com +efuchina\.com +21cnmanager\.com +xunte\.com +\.aclas\.com +radi-instrument\.com +wbzj\.com +marketingbetter\.com +topcel-battery\.com +23mr\.com +bennettchina\.com +luckyarn\.com +\.shgoto\.com +battery-oem\.com +kingview\.com +hlhologram\.com +haiz\.com +jiasongmachine\.com +fiporter\.com +brightking\.com +lily-bearing\.com +waysvalves\.com +hy-chem\.net +v2tech\.com +pumpvalveworld\.com +flashfun\.com +eastdb\.com +[0-9]+fang\.com +\.omnia\.co\.uk +shopper-jobs\.us +bjedin\.com +vivaful\.com +googlead\.com +21cnbj\.com +packmc\.com +dnsvhost\.com +2kdata\.com +raiddata\.com +nactech\.com +markemiah\.com +jobbnu\.com +ifamen\.com +hrbyly\.com +bpzj\.com +bnuteacher\.com +datasoon\.com +butianshi\.com +iqwork\.com +uswebdata\.com +bnuol\.com +hddata\.com +by-and-by\.com +egyway\.com +xxx\.biz +bucuo\.net +cqhyjx\.com +qjfy\.com +guilintour\.net +360e\.net +chinajack\.com +jiefo\.com +web136\.net +hyey\.com +china-crestron\.com +fif-relay\.com +power-steering-pump\.com +xiaogang\.com +happysport\.com +\.cn006\.com +ittea\.net +mysunmun\.com +luck-star\.com +hailuo\.net +jnjlnet\.com +\.sx98\.com +cnsepm\.com +\.pdjt\.com +\.hjbt\.com +\.jsags\.com +\.bzsf\.com +cn-mzc\.com +yi-tong\.com +runtudyes\.com +cghyjx\.com +\.hegao\.com +star-machinery\.net +jitianmachine\.com +fultrust\.com +\.wx-e\.com +nahoku\.com +blogeasy\.com +paidsurveysforall\.com +isourceindia\.com +thuriam\.com +swellongtools\.com +\.tlup\.com +szhicom\.net +inflatables-china\.com +yourgoogle\.com +transcosmo\.com +ty9run\.com +\.ad-www\.com +\.10000s\.com +\.allwally\.com +\.togoogle\.net +jiayinte\.com +pkuyy\.com +\.ebani\.com +52wenxue\.com +eczz\.com +211\.157\.35\.153 +musica\.org\.es +\.y365\.com +-cam-chat\.com +-chat-(room|live)\.(us|com) +-webcams\.com +xyzdown\.com +boxget\.net +swan-storage\.com +china57\.com +touch168\.com +fly-sky\.com +ancientmoods\.com +\.zhanao\.com +easthome\.com +putixin\.com +d-secure\.com +dadaposter\.com +gongsizhuce\.com +huifu\.com +cnnttm\.com +soonlink\.net +cnbjflower\.com +sexeach\.com +branson-china\.com +lycos\.(?:co\.uk/elo575|es/migmigmig|nl/pierre141) +easyspace\.com/hkl +\.lj5\.net +beijingxinfa\.com +\.88888\.net +xzyrack\.com +sinrui\.com +bjjingtu\.com +\.dfrog\.be +-frauentag\.de\.sr +zonemu\.com +ama-son\.com +ad-ope\.com +lariska-porn\.com +-topliste\.com +tintenpatronen\.tv +strapse\.tv +zhongzhibiotech\.com +creator-cg\.com +sfcomm\.com +dnsasp\.com +100free\.com +sixmarklhc\.org +-casino-chips\.com +pv365\.com +365pv\.com +pump365\.com +valve365\.com +bengfawang\.com +magnus-automation\.com +thaistudy\.net +think-t\.com +newstyle-w\.com +writerlw\.com +ly-yufeng\.com +lnhbsb\.com +\.dfhb\.com +xinpushihua\.com +casters-net\.com +amwaypower\.com +vita-biotech\.com +google123\.net +900house\.com +globalfbc\.com +xiloo\.com +xagoogle\.com +dvdcn\.net +xiaji\.net +guilinhotel\.info +nanting\.com +news123\.org +midiwu\.com +huola\.com +bjhsdx\.com +51zhengxing\.net +dongdao\.net +kredit-magazin\.com +dprktime\.com +lookupcars\.co\.uk +china2house\.com +buch5\.com +-watch-china\.org +dacash\.com +omeida\.com +huihualin\.com +chindata\.com +tonzh\.com +raise-win\.com +approachina\.com +bjacca\.com +tmrr\.com +1annonce\.com +sunstar\.ws +\.cock\.ws +adp6\.co\.uk +gatewaytotheorient\.com +domesticgear\.com +aajj\.net +aauu\.net +kykdz\.com +china-crawfish\.com +in-net\.ws +yahoo\.com/(a1likostar|a0cany_2004|a00poleroid|a00asaz|a0_00leksa|stoons_cartoon|skystarpilot|klirinc|fhkdfohjdfhk|freekeramika|aikishot) +les-mas-de-provence\.com +mp3prof\.com +fullhentaimovies\.net +-hentai\.net +tartkartong\.com +macdostu\.com +disney-toons\.com +cn4e\.com +hzsaite\.com +shjiajiao\.com +myetang\.com +locloso\.com +bzzt\.net +zoosex\.net +knasweb\.se +marnkad\.nu +\.84g\.com +\.4acn\.com +in-sexstory\.com +pics69\.com +rp-story\.com +-preisvergleich\.de +price-comparison\.com +cupfart\.net +categoryshop\.com +rake-back\.com +clubducati\.com +virgoans\.co\.uk +grandads\.co\.uk +\.5p\.org\.uk +noisybrain\.tv +\.3xx\.org +baby-sleep\.us +eq-1\.usrecipes +online-web-detective\.com +pop-the-question\.us +gooddy-images\.com +catering\.better-living\.us +ultrawiredsex\.com +apache-stuff\.com +css-stuff\.com +pythoninfo\.com +ushummingbirds +usfederal-firearms-license +black-sex-teen\.com +wislearn\.tv +popkalaset\.nu +tgpoverdose\.com +porrposten\.com +helena\.lindskog\.ws +vscorp\.com +realestatecds\.com +letscompareit\.com +archive4mail\.com +funeral-planning\.us +spytek\.tv +annonsplatsen\.nu +internet-world\.nu +de-lete\.tv +\.puttel\.com +\.vastra\.nu +\.quality\.nu +nudotnetguy +save-money\.ws +\.brig\.nu +pics-of\.(com|org) +pictures-free\.org +\.wic\.nu +\.xvil\.tv +vetskapskoltema\.nu +mauraders\.nu +usstop-your-divorce +etrafik\.com +everythingonweb\.net +a-z-how-to\.us +day0\.comcatch-a-cheat +states\.hostrocket\.com +sew-roman-shades\.com +medica-center\.com +google8\.net +websitedesigningpromotion\.com +bahraichfun\.com +thewebbrains\.com +overseaspharmacy\.com +biztravels\.com +ceramic-mugs\.com +governmentgrants-us\.com +justsweatshirts\.com +tmlawoffices\.com +gccgle\.com +lingeriesex\.org +monolove\.org +sweetadultpics\.com +pansat2300\.com +dvbcardgroup\.com +bsdseek\.com +flashworm\.com +kkktv\.com +qqbug\.com +drusearch\.com +\.gopages\.net +pornxxxsearch\.com +divaporn\.com +virginsplanet\.com +\.porn\.(?:biz|us) +realyoungboy\.com +olderlady\.net +dominatrix-domination\.com +mailorder-steroids\.com +contactlensesprice\.com +\.xmyyz\.com +lct3000\.com +\.wuyue\.cn +curtainnet\.com +toobis\.com +netsurf\.ru +xxx-me\.info +\.thirty-one\.info + +# A whole bunch from http://en.wikipedia.org/wiki/User:A._B./pressreleasegold.com +pressreleasegold\.com +asiannet\.com +deerelkhunting\.com +etanklesshotwaterheater\.com +firsthearingaids\.com +\.malektips\.com +medicalhairtransplantation\.org +southbeach-diet-plan\.info +toxicblackmoldhelp\.org +treat(acidreflux|genitalwarts|nailfungus)\.org +\.aatrax\.com +\.abilogic\.com +alaska(?:-adventures\.net|trophyadventures\.com) +allthewebsites\.org +bangkoksmiledental\.com +biohealthchip\.com +\.cancerhelponline\.org +captainjacksalaska\.com +essential-sugar\.com +\.datingsoftware\.org +delllaptopreviews\.info +disability-resource\.com +drug-rehabcenter\.com +fishswiftsure\.com +\.fjaproducts\.com +glycoexpert\.com +globaltelesis\.com +h57-hoodia\.net +homehealthcaredepot\.com +\.jpidata\.com +kenai-guides\.com +kuuloakai\.com +link-pimp\.com +\.linkhelpers\.net +\.medipro\.com +mysolitaire\.com +online-shopping-catalogs\.com +phonecardsmile\.com +profish-n-sea\.com +purehealthsystems\.com +\.riverpirate\.com +seattlefishing\.com +selfhealingexpressions\.com +skagwayfishing\.com +skincancernet\.info +skoobe\.biz +smartwomensupplements\.com +surgeryconcerns\.com +\.tgfusa\.com +thehyips\.info +yearstoyourhealth\.com + +## 2004 +7csun\.(com|org|net) +\.8cx\.net +17train\.com +18show\.(cn|org|net) +88aabb\.com +100comm\.com +100jjy\.com +5118\.net\.cn +\.b2m\.cn +cashmerebiz\.com +consumeralertsystem\.com +\.cp868\.com +dongyiqi\.com +ebook2u\.com +\.ec[59]1\.com +\.emay\.cn +\.emmss\.(net|com) +free-porn-friend-finder-adult\.info +ganzao\.68l\.com +gerhard\.paducktions\.net +hanlang88\.com +home\.graffiti\.net/grafikdesign +jlsun\.com +kgc-networks\.com +\.king(?:network\.(org|net)|online\.org) +lemai\.com +lingshengdown\.com +ltjz2000\.com +mmyoucomtypee\.51\.net +mongolie\.mn +nakurka\.ru +nnuuoo\.51\.net +\.no-1\.org\.cn +nuoya-hd\.com +ny528\.51\.net +ohhmybaby\.info +oskceo\.com +paperlessarchives\.com +property2u\.com +renzhengwang\.com +riba\.unixserverhosting\.com +\.s018\.(org|net) +scandinavia-pictures\.com +searchmiracle\.com +shop263\.com +shouji\.com +\.sj55\.com +sjzyxh\.com +smokaz\.com +sudokusweb\.com +targetwords\.com +ticketsmyway\.com +ultimasurf\.net +\.uusky\.com +voip99\.(com|net) +webrank\.cn +wines-cellar\.info +www1\.com\.cn +\.zw88\.com +\.to8\.com + +## sometime 2005 ([[Spam blacklist/Log]]) +(duranmania|kajagoogoomania)\.proboards[0-9][0-9]\.com +\.0302\.net +51dragon\.com +\.888\.web\.com +25340\.rapidforum\.com +5782601\.net +13288888888 +\.aazman\.com +acmetranslation\.com +adipex +artmtm\.nease\.net +autospectator\.com +azzacash +b2\.boards2go\.com +big\.de\.com +boenicke-keramik\.de +book-translation\.com +buy-(valium|ambien)-online\.fuks\.pl +celebrities\.evac4\.com +cheapholidayaccommodation +chinaplay\.org +cn80051\.1816\.net +commerce-translation\.com +crazymaidens\.info +cruise-guide\.org +degrassi\.dumbbaby\.net +didrex +\.dimmo\.net +discuss\.freeforumsite\.com +dmoz\.org/(Bookmarks/S/spaland|profiles/spaland\.html) +ebackground-checks\.com +ebusiness-cards\.org +ecar-rentals\.com +enhancemysearch\.com +\.fiberia\.com +fibromyalgie-treffpunkt\.de +flats\.h1\.ru +freewebs\.com/home-business-0 +games\.net4free\.org +ganzao\.88118888\.com +geocities\.com/(enspaland|hungarybusiness/spaland\.htm|railwayguide|spalandhu) +gghggh\.com +glmf33\.fr\.fm +globalflights\.org +golfcards\.com +golftour\.de +google-seo\.net +green-tea\.airmode\.de +guizang\.net +handycool\.de +home-business-0\.t35\.com +\.arcor(?:-online)?\.de/eberhard\.liss +\.tiscali\.be/wallpaperheaven +hornyblog\.org +house(?:263\.com|so\.cn) +hydrocodone +hz\.livingchina\.cn +\.lau\.biz +law-translation\.com +losthorizons\.com +lucky7\.to +\.mq6\.info +mycompiere\.(com|net) +newsmotion\.com +notlong\.com +online-shopping\.wb\.st +paper-translation\.com +pharmacy\.pumag\.net +phentermine +pokera\.web\.com +predictive-dialers\.org +presidentcard\.com +prtime\.ru +purchase-xanax-online\.daj\.pl +pxxi100\.51\.net +rackstorage\.cn +robbeklobbe +rx-seote\.com +secure-network\.info +seov\.net +serverlogic3\.com +sexyladies\.eroticalservers\.net +\.sowang\.com +sultryserver +taichifollowme +teneriferesorts\.com +torrie-wilson\.org +ubtt\.org +vbzx\.net +villepin2007\.org +viprape\.com +voip-guide\.org +web524\.beta\.web\.expressmedia\.de +webloga\.com +wedding-knot\.com +\.welcome\.to +\.wik1\.info +wikidragon\.net +\.biglobe\.ne\.jp/~kokumin-shinbun/S47/4708 +\.02188888888\.com/itcp009 +\.2adultflashgames\.com/ +\.1177888888\.com +\.a688\.net +\.angelfire\.com/poetry/seidel +\.copychina\.cn +\.dzsc\.com +\.epackshop\.net +\.games-soft\.net/sex_games\.html +\.h345\.com/Hotel +\.hsfangzhen\.com +\.hzyage\.com +\.isoway-yoga\.com/ +\.jifamark\.com/xhj\.htm +\.kufurao\.net +\.liss-kompendium\.de +\.MatchstickCats\.com +\.myseo\.com\.cn +\.seo88\.com +free-adult-webcam-live-chat +\.zhkaw\.com +\.zya9\.inf +xazl\.net +xh008\.com +zymq\.com +\.asso\.ws +\.b3\.nu +\.can\.ac +\.clan\.ac +\.cool\.ac +\.corp\.st +\.euro\.tm +\.freewebpage\.org +\.golft\.nl +\.go\.51\.net +\.hot\.ac +\.just-go\.to +\.mx\.gs +\.perso\.tc +\.propel\.to +\.site\.tc +\.societe\.st +\.xs3\.com +\.zlap\.to +\.zlip\.to +\.zmack\.to +\.znap\.to +\.zwitch\.to +\.go\.to +\.shengen\.ru +\.visa-usa\.ru +\.2x4\.ru +\.town-china\.cn +\.anteyi\.cn +\.atetech\.com\.cn +\.ic37\.com +91yg\.com +51wisdom\.com +56918\.com +air520\.com +021boy\.com +ywxjm\.com +\.haole\.cn +\.gguu\.com +idc2008\.cn +google-in-china\.org +\.lxhost\.com +\.125mb\.com +\.linemd\.com +\.buyremedy\.com +\.fineaction\.com +online-(?:levitra-4sale\.com|poker\.webpark\.pl) +gambling-forums\.net +adultfriend\.404host\.com +homedb\.slife\.com +info-for-home\.slife\.com +WTHP[0-9]\.disney\.com +\.p21\.info +\.forexhsi\.com +\.sexy-maidens\.info +\.tempurpedics\.org +\.kanod\.com +\.hilbort\.com +\.guvax\.com +\.leronex\.com +\.sekob\.com +\.usefulresults\.com +\.welllook\.com +\.18servers\.com +\.ds4a\.com +\.sexus\.host +\.1min\.us +allfioricet\.com +allvicodin\.com +diazepampill\.com +russia\.webmatrixhosting\.net +zya9\.info +\.p2l\.info +m0re\.net +utenti\.lycos\.it/pills1 +hagensafrika\.de +b0ne\.com +slyip\.net +gotgeeks\.com +3d-game\.com +soma\.homelinux\.com + +## 2005-05 ([[Spam blacklist/Log]]) +\.qx5\.net +\.117000\.com +\.126hao\.com +\.51lac\.com +\.52lac\.net +\.563000\.com +\.606162\.com +\.70678\.com +\.77556\.net +\.borncompany\.com +\.chinacarcenter\.net +\.cncarcenter\.com +\.cnticket\.net +\.companyforyou\.com +\.curevitiligo\.com +\.dela88\.com +\.designatchina\.com +\.dreamat(?:hk|sh)\.com +\.dreamhk\.org +\.duweb\.w2\.ftpcn\.cn +\.goodticket\.org +\.googletosh\.org +\.haungsanok\.com +\.jptrip\.org +\.myshcompany\.com +\.okcompany\.org +\.okrentcar\.org +\.postdream\.org +\.printingok\.net +\.ptrip\.net +\.regsh\.com +\.rentbuscompany\.net +\.rentcarcenter\.com +\.rentcarok\.org +\.shbuscenter\.com +\.shcarcenter\.com +\.shrentcar\.com +\.shticketcenter\.com +\.shtranslate\.com +\.ticketcenter\.cn +\.translatebbs\.com +\.tripto\.com +\.tt00[1-5]\.com +\.utranslat(?:e\.org|ion\.net) + +## 2005-06 ([[Spam blacklist/Log]]) +bjicp\.org +lucking\.com\.cn +17ip\.com +bj-united\.com\.cn +carlack\.cn +cnpeonyflowers\.com +hsdvi\.com +husemachinery\.com +tzonline\.cn +tzpet\.com\.cn +x-rainbow\.com\.cn +yorkinstrument\.com +hg-fix\.com +hg-?fix\.org +wxzgyb\.com +yy-ls\.com +xd-fw\.com +hdchina\.com +gmldsb\.com +tljsrq\.com +ryhgsb\.com +crazypussy\.info +\.mysweetie\.info +\.xl\.ru +readnovel\.com +\.4394\.com +\.48123\.com +\.tm003\.com +\.18019\.com +5ball\.org +\.001003\.com +\.67067\.com +\.15016\.com +\.6y7y\.com +\.p003\.com +\.2y3y\.com +\.tm259\.com +\.33044\.com +\.11033\.com +\.49sms\.com +530sms\.com +goodasses\.info +crazyabouttv\.com + +## 2006-06 ([[Spam blacklist/Log]]) +academiccalendar\.info +allsexxdomain\.com +art-passion\.site\.voila\.fr +chocolateplanet\.org +coffee-guide\.us +freesex\.com +ipfeurope\.(eu|com|net|org) +\bkreuz\.net\b +lunesta\.wz\.cz +perso\.orange\.fr/jf\.dumousseaux +\bsmut\.com\b +teainfo\.org +\.to\.pl +toporol\.be +topsearch10\.com +zocor-1\.be +\.spaingate\.com + +## 2006-07 ([[Spam blacklist/Log]]) +hoops(vibe|stats)\.com +adsbus\.com +freebao\.com + +## 2006-09 ([[Spam blacklist/Log]]) +(dojo|ecole)-miyamoto-musashi\.com +bmd-certificates\.co\.uk +casinoforumu\.com +chabad(?:(?:east|usa|world)\.(?:am|com|org)|\.am) +easytobook\.com +favyr\.fa\.funpic\.org +gamenline\.ga\.funpic\.org +klavato\.kl\.funpic\.de +home\.kimo\.com\.tw/pager1114/ +kingmessiah\.com +lubavitchnetworks\.com +memorial-niten-ichy-ryu\.com +pharmacy-school\.info +\.share\.ws +tattoos\.phpnet\.us +teradewunmer\.com +thetrueheroes\.org +\.webex\.com\.cn +inspectore\.net + +## 2006-10 ([[Spam blacklist/Log]]) +hpc1\.biblog\.ru +\.ytmnd\.com +succodimelone\.it +(debt|financ|loan|morgage).*\.blogspot\.com +rosnersquared\.com +code-interactive\.com +ideamappingsuccess\.com +(cup|league|football|wayne|premiership|steven|united|athletic).*years\.com +ilsonline\.it +engagementring-4u\.com +\.forumcommunity\.net +loan\.just2006\.info +\.glyangshuo\.com +complexxon\.org +scheerer-software\.de +free-game-downloads\.mosw\.com +lepetitsaintjames\.com +halflife2\.zoy\.org +aiccon\.it +thebookstandard\.typepad\.com +torrentmania\.info +zigiweb\.com +\.pope\.com +wikipediia\.info + +## 2006-11 ([[Spam blacklist/Log]]) +killerstore\.(it|net) +\.mliii\.info +savealbertparkcollege\.com +amantea\.net +bt-blog\.net\.ru +salvador-dali\.net +meatspin\.com +wikipedia-download\.org +digiads\.com\.au +webcam-[a-z]+-sms\.info +videochat-porno-sms\.info +webcam-sexo-[a-z]+\.info +shareinvestornz\.jconserv\.net +theshadowsun\.(com|net) +amantea(?:(?:online|radio|calcio)\.it|ninelmondo\.info) +(zzw2z|myjhy|ngvjj|eqqwsa|ccxxsg|weewss)\.info +(uskupi|klzuydg|abradco|xddme|dicmh)\.com +(prosaleshop|bestbidbuy|adirect)\.org +(oduuy|aiipa|lyvyl|moank|anagl|ankyl|gergv|clapn|tigri|teeti|sabd|scyb|iifooi|qsskk|csddj|ddl8i|afdss|oberl|ykkkh|tdfsf|zfdfs)\.info +special-ringtones\.net +\.xxell\.com +blackcomb\.co\.uk +ezpicking\.com +song-book\.info +anysubs\.com +pichunter\.com +suite101\.com +federazionepagana\.(it|com) +free-ringtones\.aqhhhh\.info +loan\.ododf\.info +yourmerchandise\.org +exploring-[a-z]+\.com +melano(?:(?:corp|planet)\.com|tan\.com\.au) +12987\.rapidforum\.com +teens\.fr33host\.net +blackburnroversyears\.com +woodland-bunkbeds\.com +silent-?night\.info +board123\.com +\bholocaustresearchproject\.(net|org)\b +hs4free\.info +easths\.info +judicial-inc\.biz +ghosttracker\.50webs\.com +mortgage-refinance\.rubylq2\.com +refinance-mortgage-4you\.com +mobprofile\.com +mobeditor\.com +megapornstarvids\.com +1esbian\.org +4pk\.de\.tl +jeuverbal\.com +prettymob\.com +rutaverdebolivia\.com +librie\.boom\.ru +hhwtyt\.info +recipes\.keralaz\.info +v-tarot\.com +a-ait\.com +lemonparty\.org +bestpornvideosonline\.info +dreamsexy\.info +bestwinantivirus\.info +metalgearsolidforums\.com +muhammaddressup\.com + +## 2006-12 ([[Spam blacklist/Log]]) +freefind\.com +diesel-diesel\.com +thewebcity\.com +10dollarwine\.com +adcentercode\.net +africanhousesnake\.blogspot\.com +broad(?:-band-phone|band-phone-future\.blogspot|band-phone-info|bandphoneservices)\.com +carefreecom\.com +celestineview\.com +chrishdaughtryfans\.com +comtechnews\.net +cutthatbill\.com +dishnetworkordirectv\.com +\.gethd\.tv +infinitephone\.net +internetpro\.ws +jackspirko\.com +magnumsandbass\.com +mamasmarketplace\.com +marketingpitbull\.net +nflipod\.com +pagenetagent\.com +providetechnology\.com +sagelocalphone\.com +sagetelecom\.net +search-engine-positioning-experts\.com +shopfort1\.com +t1quotes\.net +\.telebay\.com +voipblogs\.blogspot\.com +voiphunt\.com +kewlestsites\.com +\bcognigen\.(com|net) +\.envy\.nu +halychen\.com +just2buy\.com +bestmine\.com +(.*/)?18speedtranny +urlbounce\.com +\.xbuv\.info +sveti-stefan\.net +carauto-insurance\.org +italy-info\.org +\.heiten\.info +newsitaly\.org +auswirt\.info +\.preins\.info +coolwb\.com +\.pnope\.com +\.xort\.in +\.url4\.net +geocities\.com/nozomsite +autoworldcare\.com +sexy-chat-rooms\.org +grotteriaonline\.com +med911\.t35\.com +\.middlesell\.com +\.thewallpapers\.us +\.e-business-pages\.com +thehotelheiress\.com +\.sexotica\.info +roorex\.net +infinite(?:hosting|s)\.net +attorneys-online\.org +animations-games-india\.com +\.bras(?:components|parts)\.com +\bbrass(fast|-parts-india|-nuts-screws-fasteners|-inserts|-fittings-india|-fastener-india|-copper-castings|-components-india)\.com\b +bronze-castings-fittings\.com +\.cable(?:accs|glandsindia)\.com +\.conex(?:india|metals|techno)\.com +diamond-(rings-india|ring-diamond-rings|pendants-india|earrings-india|jewellery-india|ring-rings\.tripod)\.com +\.elecaccs\.com +electrical(?:-brass-components|brass\.f2s)\.com +engagement-rings-india\.com +fittingsindia\.com +jambrass\.com +jamnagar-brass-parts\.com +myjewelz\.com +pipefitindia\.com +primemumbai\.com +screwfastindia\.com +stai?nlesssteel-fittings\.com +205\.234\.131\.76/ + +## 2007-01 ([[Spam blacklist/Log]]) +sohbetchat\.tc +trsohbet\.com +canliizle\.tv +traductionportugais\.net +fashiony\.it +creativeinvest\.com +carouto-insurance\.org +101pharmacy\.org +electro-funk\.de +myspace\.com/3933516 +hoodia.*\.blogspot\.com +party-poker.*\.blogspot\.com +casino-gam.*\.blogspot\.com +soyde(barakaldo|portugalete|santurtzi)\.com +\.waslan\.de +chiquitania\.com +\.kensavage\.com +aminmaalouf\.ifrance\.com +dahmaneelharrachi\.narod\.ru +gadelmaleh\.narod\.ru +guyalepage\.narod\.ru +in-gridsite\.ifrance\.com +jeandujardin\.narod\.ru +jonathanlittell\.narod\.ru +josegarcia\.narod\.ru +naguibmahfouz\.narod\.ru +o-zone-website\.narod\.ru +sachabaroncohen\.narod\.ru +aminmaalouf\.narod\.ru +in-gridsite\.narod\.ru +\.sapes[ow]\.com +\.sanpsw\.com +\.free-?wishes\.com +\.old-games\.com +\.ogpaper\.com +tourettesguy\.com +bhmjikhkumhh\.blogspot\.com +\.ipetitions\.com +\.freevideo\.cz +\.gamend\.net +\.turkishweekly\.net/turkce +adult-cam-chat\.info +gideononline\.net +krakow-apartments\.biz +ring-tones\.dgo5d\.info +google\.com/group/watdet +probuzz\.wordpress\.com +\.kalakendra\.com +blueplanetsurfmaps\.com +asphost4free\.com +\.lame\.name +geocities.com/stymets +blog?\.myspace\.com +videochat-xl\.com\.ru +prizee-free\.narod\.ru +brawl-hall\.com +worldtopix\.com +xs4all\.nl/~wichm +chello\.nl/a\.wichmann +/ibtimes\.com +ghazporkindustrial\.com +royalessence\.com +\.medi-vet\.com +zeligfilm\.it +queroumforum\.com +makeminemarvel\.com +thefairproject\.com +morefori\.org +\.merypop\.org +\.tedyypor\.org +\.linaster\.org +\.selectitve\.org +\.thisit\.org +\.mercuty\.org +\.cialikan\.org +\.velikaze\.org +\.retructi\.org +\.minipik\.org +boogiestreet\.com +adult-sex-chat\.info +declarationofindependents\.net +beginwork\.by\.ru +testftp\.by\.ru +\.odele\.ru +\.chr\.ru +\.atst\.ru +\.iapb\.ru +\.kamaztorg\.ru +amazon\.com/chuvashiaportal +\.poldow\.com +\.nbaoh\.com +\.nobelpr\.com +npcart\.com +\.nobmer\.com +shumilloff\.jino-net\.ru +modlibrary\.net/proxy +waterfordhomeschool\.org +\b(mk8|dy9|b80|t63|m32|80i|b65|bz8|68t|51a|z56|z95|7rg|74a|mr7|98f|i38|d4x)\.org\b +clandrake\.org +(ninja|fastfree|getmyspace|school|myinternet|ship|water|les|grand|dirty|cgiweb|arandom|angry|fully)proxy\.com +drpruxy\.net +prxy\.co\.uk +freetoview\.net +workbrowse\.com +hideip\.be +surfatschool\.com +phproxy5\.com +surfonsteroids\.com +browsefrom\.com +letmepast\.com +proxy(77|80|88|aliens|bat|devil|drop|eye|ez|flame|flux|foxy|friend|guy|index|lla|ly|mess|mix|mummy|nanny|offer|pulse|raptor|snow|spy|theweb|tips|tiger|void|work|zap)\.com +proxycover\.(com|net) +bypassproxy\.net +gostealthy\.com +shannen\.info +redlandsclassic\.org +avpas\.org +atomblog\.org +(3ga|6ad|bx3|2ry|23a|43j|4j4|5b5|70m|78n|8hj|9rb|20d|68u|73r|d39|3xa|k1d)\.org +pr0xy\.us +connypug\.org +ipdefend\.com +\bproxy(atwork|atschool|allow)\.com\b +cloakme\.net +proxies\.bz +\b(eco|ano|el)proxy\.com +shadowsurf\.com +nevercaught\.com +unblockweb\.com +daveproxy\.co\.uk +72\.232\.68\.234 +blockmy\.info +sctta\.org +privprox\.com +underfirewall\.com +iphide\.com +blairstownnj\.org +atunnel\.com +thejays\.org +proxee\.net +instantunblock\.com +foxyproxy\.net +yourportal\.us +hiddenwebbrowser\.com +ucacanada\.org +3tiered\.org +backfox\.com +goproxing\.com +blockmenot\.co\.uk +dunkindonuts\.be +myproxy\.ca +myspaceproxysite\.net +w00tage\.com +schoolmyspace\.com +confusedyeti\.com +75i\.net +ageautam\.org +dejacey\.com +guardster\.com +proxy\.tl +atmnetwork\.org +concealmy\.info +atedplace\.org +thecamelclub\.org +proxyplanet\.info +realtimeproxy\.com +aniscartujo\.com +getaroundfilters\.com +proxies\.gr +proxypro\.info +roboproxy\.com +schooloflostarts\.org +no-block\.com +proxers\.com +shoutproxy\.com +bypasslive\.com +stealthclick\.com +myproxybox\.com +zeroproxy\.com +gopast\.net +xeaq\.com +palsys\.ca/proxy +libertyproxy\.com +provacy\.com/phproxy +browseatwork1\.com +gmprs\.org +proxy\.info +nchausa\.org +rockproxy\.com +anonymouscamp\.org +webwarper\.net +officeproxy\.net +rdcumd\.org +adamworks\.org +crazyarabs\.moonfruit\.com +xx-viewer\.com +airport-shuttle\.com +global.*warming.*awareness2007 +home\.no/all4ass +megaupload\.kayyo\.com +travelscope\.co\.uk +hhent\.com +citronpaper\.it +supermortgagerate\.info +abolishthegmc\.blogspot\.com +searchtexoma\.com +nationwidebillrelief\.com +surfquotes\.com +\bcarinsurance\.com +old-classics\.com +\.by\.ru\.ru +myspace\.com/anchoredcross +joseplacido\.(net|com) +onlineloanofficers\.com +shaadibliss\.com +crazysportsfan\.com +gurusofdating\.com +yourmoviepal\.com +presidentpolls2008\.com +amifobornot\.com +nflsystems\.com +camsfaq\.com +didbarrycheat\.com +lasvegasbuyeragent\.com +\.sportus\.com +easybaseballbetting\.com +(manchester|birmingham)cityyears\.com +arsenalfcyears\.com +plymouthargyleyears\.com +sunderlandafcyears\.com +fulhamfcyears\.com +portsmouthfcyears\.com +\.240sx\.org +240sx(?:convertible|tech)\.com +350zclub\.org +altimacoupe\.com +g35club\.org +\.gtrclub.org +hybridaltima\.com +infiniti(?:cx|onlinemechanic)\.com +\.j30club\.com +\.m30club\.com +\.muranoclub\.com +\.m35forum\.com +\.m45forum\.com +\.maximaclub\.org +\bnissan(commercials|foria|onlinemechanic|tech|terranaut)\.com\b +\bnissanversa\.org\b +\.q45\.org +\.qx56club\.org +\.rb26dett\.com +\.vq35de\.com +\.vh45de\.com +\.vq35hr\.com +\.azhitman\.com +\.z32club\.org +webbrainiac\.com +\.nicoclub\.com +\.iyisozluk\.com # Jdforrester # pan-wiki spam +loans.mortgagerefinancedot\.info +homeloancourse\.info +besttradelink\.info +usadaytrade\.biz +superrefinancerate\.info +myblog\.es +\.gaudi\.cat +geekissues\.org # contains redirect pages to porn/shock sites +manutd-clip\.blogspot\.com +barcagoal\.blogspot\.com +italiagame\.org +siamforum\.com +oseculoprodigioso\.blogspot\.com + +## 2007-02 ([[Spam blacklist/Log]]) +monicabelluccionline\.com +turkudostlari\.net +gravinaoggi\.it +moviesofsex\.info +sexfreevideos\.info +pussy\.phpbbx\.de +pendant\.php5\.cz +jewellery\.php5\.cz +1001nights\.net/free-porn +(virtual-grub-street|vgs-pbr-reviews|vgs-index-and-specialty|gilbert-wesley-purdy|vgs-wiki-watchdog|gilbertwesleypurdy)\.blogspot\.com +vgscomputerarchive\.myblogsite\.com +catalyzerjournal\.com +studentville\.it +digital-synthesizer\.info +hostingphpbb\.com +emptynosesyndrome\.org +classicpcgames\.info +myscreensavers\.net +dailycelebsearch\.com +\.opa\.com +\bmarta\.com +kalamita\.php5\.cz +telefanatic\.com +users\.berexa\.info +elliottgann\.com +welikehorses\.com +socrates\.run2\.ws +\bhem\.fyristorg\.com/kraftwerk +\binfonet\.com\.br/mozart +\bAutoInsuranceCarInsurance\.net +\bauto-insurance-rate\.biz +\bbadcredit-mortgagerefinance\.info +\bcar-insurance-comparison\.net +\bCheapCarInsuranceQuote\.biz +\bclipboardgenie\.com +\bFreewareCity\.com +\binsureme\.com +\blynxtrack\.com +\buiopq\.com +\bvsis(?:oftware|systems)\.com +\bdavincisketches\.com +all-car-photos\.com +unitedfutures\.com +brightcommoditybroker\.com +\bvandvis\.com +firewalldown\.com +\bScarlettJohanssonworld\.net +\bbiometrie-online\.net +\blifeandtrend\.com +\bwordpress\.web\.tr +\bauuuu\.com +\brayvan\.net +\bwarspawn\.com +\bragnarev\.com +\bwefotyou\.com +\blees-estate\.com +\becomarchenews\.com +\bbusinesscardsexpress\.net +\bgenghiskhan\.yatb\.info +\basiairas\.com +\bberjayahotels-resorts\.com +\bchinese\.net\.my +\bdirectb2b\.biz +\be-my\.net\.my +\beplace21\.com\.sg +\bfurnituremanufacturer\.biz +\bhowtofrenchkiss\.net +\bkopitiammalaysia\.com +\bksuria\.com +\blycosasia\.com +\bmagicwin\.com\.my +\bmalaysia(?:-(?:supplier|webdesign)\.com|seo\.net) +\bmanufacturer-supplier\.com +\bmaximus\.com\.my +\bmicci\.com\.my +\bmipe\.com\.my +\bmodularfurn\.com +\bmydotmobi\.com +\bmyhydro1\.com +\bnewmalaysia\.com\.my +\bnstpi\.com\.my/ +\bonlinefloristmalaysia\.com +\bpersonalimagegrooming\.com +\bpestcontrol-malaysia\.com +\bplasticproductmanufacturer\.net +\bsgbroadband\.com\.sg +\bstainlesssteelblh\.com +\bsupplier-manufacturer\.com +\btravelhotelmalaysia\.com +\bwebhosting-malaysia\.com +\bwelfordmedical\.com +\bworldsites\.net\.my +\blangmaker\.com.*Modern_Latin +\bbled\.net +\bfotoplatforma\.pl +\bschoolkorfball\.org +\bgamesff\.com +\bsimone-numismatica-e-storia\.blogspot\.com +\bbestwaytoinvest\.com +\bpussy(?:mania\.(?:com|info|net)|ass\.(?:com|info|net|org)) +\bfavorite-games\.com +\binstant-car-insurance-quote\.net +\balessia-ventura\.net\.ms +\bvoyager1\.h80\.org +\byoyita\.com +\btour-europe\.org +\bcromaps\.com +\bdomusmea-nekretnine\.info +\bsexinitaly\.com +\bHairLossAdvisory\.com +\blaserhairremovalanswers\.com +\bStudentLoanAdvisory\b +\bAcneTreatmentForum\.com +\btopmeds10\.tu1\.ru +\bchoosemalta\.com +\bronago\.net +\bsmg-italia\.com +\bautoinsurancequoteonline\.us +\bprofrios\.hpg\.ig\.com\.br +\bsima\.kit\.net +\bgelsenkirchen-im-blick\.de +\blastmeasure.zoy.org +\bjobpilto\.de +\bcdjuridico\.com + +# 2007-02-10, Datrio +republika\.pl/stranasmer + +# All these additions can be found properly logged. +\b40weekspregnancystages\.com +\babout(?:-credit-(?:card|report)\.com|bodybuilding\.net) +\bacneskincareinfo\.com +\bair-purifier-and-filter\.com +\ball-soccer-info\.com +\basbestos-mesothelioma-cancer-info\.com +\batkin(?:dietplan\.com|s-diet\.cc) +\bbenefit-green-tea\.com +\bbreast-augmentation-(and-enlargement|implants)\.com +\bcabbage-soup-diet-plan\.com +\bcarpetsearch\.org +\bcell-phone-blog\.net +\bcredit-cards-n-debt\.com +\bdiabetes-diabetic-diet\.com +\bdietpills-information\.com +\bdigital-camera-technology\.com +\bdsl-(broadband-isp|link)\.com +\bedi-guide\.com +\bfitness-health-plan\.com +\bgrapefruit-diet\.org +\bhdtv-lcd-plasma\.com +\blasik(-surgery-info|lasereyesurgeries)\.com +\blowcarb\.ca +\bnewyork-architects\.com +\bswiss-architects\.com +\bbelgium-architects\.com +\bworld-architects\.com +\baustriaarchitects\.com +\bchinese-architects\.com +\bsardiniaholidayrentals\.com +\bsatellite-service-providers\.com +\bskincaresinformation\.com +\bsouth(?:-beach-diet-information|beachdietprogram)\.com +\btech-guide\.org +\bteleconferencing-technology\.com +\bthe-atkins-diet\.info +\bvpn-info\.com +\baffiliatedirectorysite\.com +\bfurniture-asian\.com +\bnetbiz(?:asia|solutions)\.com +\bsixco\.ws +\btemplatesnew\.com +\badfunk\.blog-city\.com +\bf1rezone\.tblog\.com +\bfiucer\.blogsome\.com +\bwtslink\.com +\bmylink\.tblog\.com +\btech2\.blogsome\.com +\byellowpages1\.blogspot\.com +\bhealth1011\.blogspot\.com +\bekhye\.blogspot\.com +\binternumber\.blogspot\.com +\bconniefrancis\.nl +\bLost\.eu +\bgeocities\.com/xpw5yearslater +\bmodiarte\.it +\bmondeducirquelausanne87\.blogspot\.com +\bruswar\.com +\bcharlie-parker\.org +\bkit-direito\.com +\bxatpro\.com +\bgratuliermir\.de +\bforumfree\.net +\bstatisticsoftheworld\.page\.tl +\bparkourstyle\.com +\btexaspoker\.tk +\bcosplay(\.de|x\.com) +\bkatardat\.org +\bnefac\.net +\bnapolinelmondo\.org +\bpetrophoto\.net +\basociacionjacob52\.com +\bharmonica\.it +\bwga\.hu/html/t/tintoret +\bworld-cat\.org +\bindiabroadband\.net +\bmake-money-online4\.tripod\.com +\bvisitdaugavpils\.lv +\bulkerfenerbahce\.com +\bantu\.com +\bbukkake\.com +\bgo-sierra-nevada\.com +\bnarutokage\.135\.it +\bgo-passau-land\.com +\bbratz\.tv +\bvoila\.fr/bharatanatyam-dance +\bgeocities\.com/medhahari +\bmedha\.info +\bguatemalahist\.com +\bnamibianhistory\.com +\bcroatiahis\.com +\bzimbab\.net +\bxz5\.org +\bz4o\.net +\bpxy1\.net +\bagablog\.com +\bakoblog\.com +\bfamilyincestbiz\.com +\b(cqhfs|cqfnc|ackue|aqhfc)\.info\b +\b(aepwd|aexqq|cxqqc|foxqq)\.org +\b(xcjas|xcjei|xcjin)\.com +\bamantea\.eu +\boutrate\.net +\btutorialspoint\.com +\bbonuslover\.com +\bjeffsfamilypharmacy\.com +\bthereddoorstore\.com +\bbluevelvet\.com +\bobsessedwithwrestling\.com/columns/jonathanbarber +\bfffans-fr\.com +\bmoviesbuzz\.com +\bpornoass\.iespana\.es +\btvsylt\.com +\b321books\.co\.uk +\bhaber80\.net +ultime-notizie\.eu +\byahoo\.335-i\.com/(BMW|Mercedes_Benz) +\bgeiz-gorilla\.com + +# 20070314 by Shizhao add +\bible\.ttsite\.com + +# Smartdots.com redirect sites Nick1915 +\b(au|es|h[ku]|i[et]|kr|mx|pl|se|th|u[as]|shop)\.tc\b +\bcom?\.at\.t[ct]\b +\b(co|me|borg)\.uk\.tc\b +\bu[ks]\.tt\b + +#Back to proper logging... +\bfree-car-insurance-quote\.net +\bchabad-baden\.de +\baffordable-car-insurance\.net +\bcontrolling21\.(de|eu|net|com|org|biz|at|ch|info) +\bmultimedia-beratung\.de +\bmortgagequeen\.us +\banemony\.info +\bnasturciya\.info +\bkolokolchiki\.info +\borchideya\.info +\bmagnoliya\.info +\btyulpan\.info +\bvasilyok\.info +\blandysh\.info +\bazaliya\.info +\blutik\.info +\baffordable-auto-insurance\b.biz +\bpressarchive\.net +\ballthingschina\.(com|org)\b +\balternateroutestravel\.com +\bbusinessesi\.(com|org) +\bchinaschoolreview\.org +\bchina(hearts|travelfacts|visaservice)\.com\b +\besl(franchise|jobschina|schoolreview|z)\.com\b +\bhunanteach\.com +\bjourney(east|west)\.org\b +\blearnchinesenow\.net +\bstudenttravelchina\.org +\bteach-(and-travel|in-zhejiang)\.org +\bteach-in-Beijing\.com +\bTEFLjobs\.org +\bz-visa\.com +\baffordable-car-insurance\.biz +\binstant-auto-insurance-quote\.net +\bvulcano(?:consult|vacanze)\.it +\bmysergeybrin\.com +\bmoviemirth\.com +\bgeocities\.com/anxietydetective +\banxietydetective\.org +\bproducerdb\.com +\bfreemasonwatch\.freepress-freespeech\.com +\blaurenphoenix\.net +\blanitodd\.org +\bmasonmarconi\.org +\bmonicasweet\.org +\bnicolevoss\.org +\brayveness\.org +\bsydneecapri\.net +\bterabond\.org +\btianalynn\.org +\bmyopia\.org +\bnearsightedness\.org +\bpinholeglasses\.org +\bpreventmyopia\.org +\bthebestof\.co\.uk +\bmusiciandictionary\.com +\bcelebritydictionary\.com +\bspysurfing\.com +\bproxyhole\.com +\btvsylt\.de +\bhomejobsite\.com +\bmccallsnotes\.live\.spaces +\bagloco(test)?\.com +\bjohnchow\.com +\bwegetpaidtosurf\.com +\bxfile007\.blogspot\.com +\blinksynergy\.com +\besperantio\.com +\bamericandiscoverytrail\.org +\bepaleo\.com +\bnorthernforestcanoetrail\.com +\bsurvivaltopics\.com +\bwhitemountainsworld\.com +\bweb\.archive\.org.{0,50}obsessedwithwrestling\.com #to stop prior spamming with OWW columnist linking to deleted pages. +\bmyinternetaccess\.net +\bsteelecommerce\.com +\bmyphoneservice\.net +\bcheap-online\.net +\bdsl-internet-service\.blogspot\.com +\bld\.net +\bmyld\.net +\bwebmaxsearch\.com +\belrelojdesol\.com/classical-music-online +\bbunnyluv\.net +\bchantarose\.net +\bharleydavis\.net +\bjoanneguest\.net +\bkarinschubert\.net +\bkristarabarrington\.net +\bkrystaldeboor\.net +\bleademae\.net +\bnadianyce\.org +\btiffanymillion\.net +\bveronicabrazil\.org +\bvictoriaparis\.org +\bxxxena\.org. +\bnicoladugo\.com +\bthe-planets\.com +\bmyclassiclyrics\.com +\bpornstarbucks\.com +\bmilos(-island|isforlovers)\.com +\bmilos-hotels\.org +\biMilos\.com +\brashi12\.com +\brefspace\.com +\bwww\.hkcoolsam\.com +\bcarandbikeforum\.com +\btozsdesed\.googlepages\.com +\bfasturl\.it +\bzootit\.com +\bumatlantide\.it +\bsis007\.org +\bgargoyles\.dracandros\.com +\bversatilclassic\.com +\bamojoo\.com +\bGamedogs\.org +\bgoodoldtoronto\.com +\bdoctorscloset\.com +\bhiphopjazzproductions?\.com +\bracetotheright\.com +\bLearning-Theories\.com +\blearninginvideogames\.com +\basianink\.com +\bgroup-games\.com +\bbamboo-blinds\.org +\bcelebritygetmeoutofhere\.co\.uk +\bhomeinteriors\.co\.uk +\bitsnature\.org +\bsecretofmana\.info +\bsnesclassics\.com +\bsonycarstereos\.co\.uk +\btranslatedarticles\.com +\bquetzal\.4t\.com +\bdmv\.org +\baffiliateprograms\.com +\bunitedstates\.org +\bdepartmentofmotorvehicles\.com +\bsforzesca\.it +\bbrookebiggs\.net +\bkrisztinasereny\.net +\bcassideyrae\.net +\bautumnhaze\.net +\bangel(?:adangelo|icabella)\.net +\banitablonde\.org +\balexisfire\.net +\bbritannyandrews\.net +\bchrissymoran\.org +\bgillianbonner\.net +\blucithai\.net +\blittleoralannie\.org +\blillythai\.org +\bkittyfoxx\.org +\bFRESHswing\.com +\bharmonicazone\.com +\bflo2flo\.com +\barchive\.org/details/Bharatanatyam_dance +\bkalakendra\.wordpress\.com +\barchive\.org/details/Bharatanatyam-Bharathanatyam +\bbharatanatyam-bharathanatyam\.blogspot\.com +\bhtmlgear\.tripod\.com/event/control\.event\?a=render&style=event&u=promiserani&i=1&rec=349 #Note I think I have this regex right +\bpwp\.netcabo\.pt/jmmg\b +\blionfree\.altervista\.org\b +\bartericerca\.com\b +\bmikafanclub\.com +\bkartingextra\.com +\byourmycrush\.com +\bdateburn\.com +\bbrightonvibes\.com +\bwaterutopia\.com +\beatingbritain\.com +\bhyundaisportsclub\.com +\bredclaim\.com +\bdashboardmonkey\.com +\burbanindustry\.co\.uk +\bmercedesbenzcarinsurance\.com +\bduvetland\.com +\blacieg2s\.ca +\bw3terra\.(?:ca|net) +\baina-model\.net +\balfd\.net +\bchranenka\.net +\bdarla\.ca +\bdarling-model\.net +\bdearly-loved-one\.net +\beternal-girl\.net +\bforever-(?:girl\.|sabrina-)net +\bforevermydarling\.com +\bicon-girl\.net +\bkyra-model-star\.net +\bliving-spirit\.ca +\bmaeve-model\.net +\bmar(?:ie|y)-model\.net +\bophelia-model\.net +\bveronica-model\.net +\beasylnk\.com +\bus-banks\.info +\bquickbabysite\.com +\bmexicotravel\.in\b +\bfederbukkake\.com\b +\bhealth\.cleeck\.com +\bamericansharemarket\.com +\barticles(?:4free|bridge)\.com +\baustraliastockexchange\.net +\bblogsbasket\.com +\bcanadastockexchange\.biz +\bdubaistock\.info +\behealthguide\.info +\bexplorearticle\.com +\bezinevalley\.com +\bkarachistock\.info +\bpaycents\.com +\btext2read\.com +\bthekarachi\.com +\btopnasdaqstocks\.com +\bportal\.ismaili-net\.com +\bsaree\.50webs\.com +\bminiweblink\.com +\bsubmitlink\.biz +\bhd-dvd-key\.com +\babruzzoturismo\.net +traditio[\..]ru +\bcais-soas\.com +\bsardimpex\.it +\bantiwrap\.com\b +\btheigdb\.com +\blysting\.com +\bautocrust\.blogspot\.com +\bafif(?:(?:2|chat|poem|up)\.com|\.ws) +\blocation\.essaouira-voyage\.com +\bworkforall\.net +\bhealthadel\.com +\bsouthsurvey\.com +\bkitzor\.net +\bxlurl\.net +\bamoo\.org +\bmyfreepaysite\.com\b +\bwikisucks\.blogspot\.com #spamming [[en:Criticism of Wikipedia]] +\bgaypornlinx\.com\b +\bbest-cartuning\.com +\bfd\.tc\.co\.uk\b +\bsurl\.co\.uk\b +\bslingshot\.to\b +\bcontinue\.to\b +\bcommitted\.to\b +\bget-me\.to\b +\bdestined\.to\b +\bembark\.to\b +\bwakeup\.to\b +\btra[kx]\.to\b +\bdear\.to\b +\btakeoff\.to\b +\bchild-support-laws-state-by-state\.com\b +\b(ronpaulpresident|cometobeyondbabylon|beyondbabylon|christmascondemned|templemountjerusalem|kemplervideo|armstrongherbert|toledo-race-riots|two-witnesses-revelation|europeunitedstates|unresolution181|tentribes|herbert-w-armstrong|david-ben-ariel|shimonperes|yitzhakrabin|plaintruthabouteaster|christmasandeaster|lifeisatrek|losttentribes|daniel-911|daniel911|sharon-ariel)\.blogspot\.com\b +\balanasoares\.net\b +\balenaseredova\.org\b +\balinavacariu\.net\b +\bangieeverhart\.org\b +\bannafalchi\.org\b +\bannetteschwarz\.net\b +\baprilhunter\.org\b +\bbrittanydaniel\.net\b +\bchristinemendoza\.org\b +\bdanielacicarelli\.org\b +\bericarosecampbell\.org\b +\berikamichellebarre\.net\b +\bfedericafontana\.org\b +\bgiulianamarino\.org\b +\bhannaverboom\.net\b +\bheather(?:renesmith|thomas)\.org\b +\bjenniferhurt\.net\b +\bjennsterger\.org\b +\bjerilee\.org\b +\bjessicastam\.org\b +\bkarrinesteffans\.net\b +\bleannaheart\.net\b +\blisasparxx\.net\b +\bmeganhauserman\.net\b +\bmonicabelucci\.net\b +\bnatashayi\.org\b +\bnormastitz\.net\b +\bpatriciavelasquez\.org\b +\braicaoliveira\.org\b +\brebekahteasdale\.org\b +\brobertasmallwood\.net\b +\bryouehara\.net\b +\btatjanasimic\.net\b +\btinytove\.org\b +\btorilane\.org\b +\bjijija\.com #from zh wp +\bcriccawikipediaitaliana\.blogspot\.com +\bscpanel\.net\b +\bgoogle\..{1,5}/cse\b +\bxshorturl\.info\b +\bchrismorris\.ws\b +\bcli[kx]\.to\b +\bdevoted\.to\b +\byoutube\.ag\b +\bsearchtravel\.biz/countrylist/italy\.php\b +\bwowomg\.com\b +\bwatchbritneyspears\.com\b +\bclokwise\.com\b +\bredknob\.teamdot\.com\.au\b +\bterminalvelocityparkour\.tk\b +\beq2nation\.tk\b +\bffconsultancy\.com\b +\blg-sl\.net\b +\banti2ch\.blog61\.fc2\.com\b +\barvel7aico\.btblog\.jp\b +\bAdvisorsDirectory\.com\b +\bdebbiedoesdallasagain\.net\b +\bjennafilms\.com\b +\bkimkardashiandvd\.net\b +\boliviatape\.com\b +\bart\.lojadeluxo\.com\b +\bSinghsandKaurs\.com\b +\bYoungSikhs\.net\b +\bggssc\.net\b +\bnokiastore\.in\b +\btrack\.vivid\.com\b +\bchildrensangelflight\.org/images\b +\bcanadianmedsworld\.com\b +\barabti\.com\b +\btarjan\.uw\.hu\b +\benglandandenglishhistory\.com\b +\bezinearticles\.com\b +\bskimall\.net\b +\btellurideofficialguide\.org\b +\bscpanel\.com\b +\bnewslimited\.org\b +\bwesmannion\.Com\b +\bziggyswitkowski\.com\b +\bhoodiagordoniiplus\.com\b +\betclinic\.com\b +\bcrocsclub\.(com|info)\b +\bmobiways\.com\b +\bankor\.info\b +\bbems\.info\b +\bbsbs\.biz\b +\bcinn\.info\b +\bconm\.info\b +\bcret\.info\b +\bdiplomov\.net\b +\bdufy\.info\b +\befraim\.info\b +\bendre\.info\b +\bfard\.org\b +\bfederalcreditunion\.biz\b +\b(vodu|toed|tios|salp|olid|nulo|muci|kapi|juho|jaki)\.info\b +\bpape\.us\b +\bseacartel\.com\b +\bsnns\.biz\b +\byogacentre\.info\b +\bandorraz\.org\b +\bkwfm\.net\b +\bluketheking\.(2page|zweipage)\.de\b +\bdui-trix\.com\b +\bsigord\.blogfa\.com\b +\bpargatravel\.eu\b +\bdlel\.2s2s\.com +\bwikipedia\.un\.mythe\.over-blog\.com\b +\btourismindochina\.com\b +\bpassioncambodia\.com\b +\bbayontours\.com\b +\bitaly-lowcost\.com\b +\bfilcoo\.com\b +\b50centfanforum\.com\b +\bacademyawardsfan\.com\b +\bakonfan\.com\b +\bannanicolesmithfan\.com\b +\bbachelorfan\.com\b +\bbeyonceknowlesfan\.com\b +\bbigbrotherfansite\.com\b +\bchanningtatumfan\.com\b +\bchrisbrownclub\.com\b +\bclarksonfan\.com\b +\bcolinjamesfarrell\.com\b +\bdogshowclub\.com\b +\beminemfanforum\.com\b +\bgooglefansite\.com\b +\bhilaryerhardduff\.com\b +\bhiltonfan\.com\b +\bholydaysofobligation\.com\b +\bidolfansite\.com\b +\bjamesbluntfan\.com\b +\bkatharinemcpheeforum\.com\b +\bkeirachristinaknightley\.com\b +\bmadonnafansite\.com\b +\bmannypacquiaofan\.com\b +\bmaumarcelo\.org\b +\bmichellewingkwan\.com\b +\bpamelaandersonclub\.com\b +\bpbbfan\.com\b +\bpgatourforum\.com\b +\brachaelrayweb\.com/\b +\brichardbrucecheney\.com\b +\brunescapefanclub\.com\b +\bsmalltownlottery\.com\b +\bstacyannmariekeibler\.com\b +\bterilynnhatcher\.com\b +\btheprojectrunway\.com\b +\btonigonzaga\.org\b +\bmankatowebdesign\.com\b +\bboredboard\.org\b +\bcaffeinemarketing\.com\b +\bjohnmarkkarrblog\.com\b +\bmarketresearchmarketing\.com\b +\bemailmonk\.com\b +\bbanfacebook\.com\b +\bsmellywasher\.com\b +\bsoulfinder\.eu\b +\baishwaryaraifan\.com\b +\bamandapeetforum\.com\b +\bamyelizabethfisher\.com\b +\bangellocsin\.org\b +\barnoldaloisschwarzenegger\.com\b +\bashleesimpsonclub\.com\b +\bburberryworld\.com\b +\bcaptainbarbell\.org\b +\bcassieforum\.com\b +\bchanelworld\.com\b +\bcherylburke\.net\b +\bchristi(?:anbautista\.org|naaguilerafan\.com)\b +\bclayaikenforum\.com\b +\bdanitykanelyric\.com\b +\bdavidblainefan\.com\b +\bdemimoorefan\.com\b +\bdixiechicksonline\.com\b +\bdondforum\.com\b +\bdooneybourke\.info\b +\bevalongoriaforum\.com\b +\bfalloutboyforum\.com\b +\bfergieclub\.com\b +\bgofaithhill\.com\b +\bgreysanatomyclub\.com\b +\bgucciweb\.com\b +\bhalleberryforum\.com\b +\bhi5-friend\.com\b +\bhowardallanstern\.com\b +\binthedb\.com\b +\bjasminetrias\.org\b +\bjeanreesewitherspoon\.com\b +\bjennifer(?:anistonforum|joanneaniston)\.com\b +\bjeriryanfan\.com\b +\bjessicaalbaclub\.com\b +\bjustintimberlakeforum\.com\b +\bkapamilya(?:\.org|dealornodeal\.net)\b +\bkapuso\.net\b +\bkatieholmesweb\.com\b +\bkeithurbanforum\.com\b +\bkelliepicklerforum\.com\b +\bkimchiu\.(net|org)\b +\bkirstendunstforum\.com\b +\bleasalonga\.net\b +\bmariahfansite\.com\b +\bmariasharapovapicture\.org\b +\bmariolopez\.info\b +\bmarthastewartfans\.com\b +\bmauitaylor\.org\b +\bmichellerodriguezforum\.com\b +\bmimirogersonline\.com\b +\bmyangelinajolie\.com\b +\bmycarrieunderwood\.com\b +\bmyfendi\.com\b +\bmypanicatthedisco\.com\b +\bmyspacefansite\.com\b +\bnascarfish\.com\b +\bnatalieportmanclub\.com\b +\bncaafansite\.com\b +\bnellykimfurtado\.com\b +\bneopetsfansite\.com\b +\bnflfansite\.com\b +\bnicklacheyforum\.com\b +\bnicole(?:kidmanworld|richiefan)\.com\b +\boprahfansite\.com\b +\bphilippine(?:-idol\.com|idol\.org)\b +\bpinoydreamacademy\.info\b +\bpiolopascual\.org\b +\bpradafan\.com\b +\bpurseboard\.com\b +\bpussycatdollsforum\.com\b +\brihannaforum\.com\b +\brock-star-supernova\.com\b +\bsalmahayekworld\.com\b +\bsammilby\.org\b +\bscarlettforum\.com\b +\bshakirafanforum\.com\b +\bsharonstoneforum\.com\b +\bsimpsonfan\.com\b +\bsouthparkclub\.com\b +\bsoyouthinkyoucandance\.info\b +\bspearsfan\.com\b +\bstephencolbertonline\.com\b +\bthe(?:amazingrace|apprentice|facebook|lost|nba)fan\.com\b +\bthemasters-tournament\.com\b +\btigerwoodsforum\.com\b +\btomcruiseforum\.com\b +\btopmodelfan\.com\b +\btriciahelferfansite\.com\b +\btylerchristopher\.org\b +\bufcheaven\.com\b +\bvanessaminnillofan\.com\b +\bwikipediafan\.com\b +\bwwefanforum\.com\b +\byoutubefan\.com\b +\bzacefronforum\.com\b +\bzhangziyiweb\.com\b +\bzoesaldana\.org\b +\bdatasheet(4u|s)?\.(net|co\.kr|in)\b +\.orkut\.com/Comm +\bphilosopedia\.org +\bmysh-game\.de +compact\.exe\.su +\bgobacolod\.com +\bway\.to +\bup\.to +\bcordbloodhub\.com +\bexpert-dog-training\.com +\b100studentloans\.com +\bacnexpert\.com +\ball-(carparts|digitalreviews|home-security|pcgames)\.com\b +\barthritis-hub\.com +\basthmaxpert\.com +\bbulimia-expert\.com +\bcartoon-secrets\.com +\bcerebral-palsy-med\.com +\bcruise-heaven\.com +\bdating-guru\.com +\bdefibrillatorhub\.com +\bengagementringreview\.com +\beurope-top100\.com +\bexerciseheaven\.com +\bhidrosiscure\.com +\bmortgage-top100\.com +\bmylol\.ro +\bplatinum-first\.com +\brehabcourse\.com +\bweb2earn\.com +\ball-usajobs\.com +\bacdc-forum\.de +\bclogsclub\.com +\bvoobys\.com +\bgemisimo\.com +\bdidim(?:rehberim\.com|(?:beachresort|estate|homes|property)\.net|elmak\.org) +\baltinkumhomes\.net +\bdidymapartotel\.com +\bstudiando\.it\b +\bwebalice\.it/pigionantialfio\b +\becemaml\.(blogia\.)?com +\bgeocities\.com/(wikipedia_bibliotecarios|censura_no) +\bspain\.info/cn/TourSpain # spam on zh wp +\bfredthompsonforum\.com +\bmenwith\.blogspot\.com +\bae18\.com +\beconomichostels\.com\b +\bmuratpasa\.com\b +\bithelpdesksolutions\.com #requested by Ta bu shi da yu +\bhezarbareshgh\.blogfa\.com +\btheocseries\.com\b +\btelefilmseries\.com\b +\bautonomica4\.info\b +\bsega-univers\.de +\bcarnifest\.com +\bjobklub\.com +\bmsoe\.edu/~millerni +\bnews\.engin\.brown\.edu/forums +\bwc1\.worldcrossing\.com +\bpsfc\.mit\.edu/~jinseok +\bees\.ufl\.edu/alumni/forums +\bitcweb\.ecsu\.edu/portal/forums +\bhassock\.org +\bclogsclub\.info +\bkinzparty\.com +\bacmeporn\.com +\bamerican-idol-show\.info +\banrdoezrs\.net +\bdpbolvw\.net +\beasymdpharm\.com +\bfertilizer-information\.info +get-mortgage-refinancing\.info +\bjuicybooty\.net +\bkerismart\.com +mobile-(content-news|ringbacks)\.info +second-mortgage-refinance\.net +\bspokenwordz\.com +\boperafiles\.com +\btop-seo\.cn +\bdinmoseo\.com +powerleveling(?:web|-wow)\.com +\bbeijingimpression\.com +\bdeqinfy\.com +\bruanjianceshi\.cn +\bxowow\.com +\bbjcaihongbj\.com +\bsino-jipiao\.com\.cn +\bchinalipin\.com\.cn +\bcnvacation\.com +\bllegalemapas\.com +\bgeocities\.com/celebrityspaghetti +\bulink\.co\.nr/ +\bpropeciahelp\.com +\bandrewjohns\.ca +\bsanpedrodeatacama\.net +\blatuaautomobile\.com +\bfishingnotes\.com +\bmavirize\.com +\blanguedoc-france\.info +\bsearchmusiconline\.com +\bglobal-itv\.com +\ble\.puy43\.free\.fr +\bbrtravel\.com\.br +\bgamerosters\.com +\bil.*\.interfree\.it +\bla.*\.interfree\.it +\bbabyhold\.com +\bworldchesslinks\.net +\bsustainablesystemsinternational\.org +\bncaa2008rosters\.com +\bsohbetoyun\.com +\bbensohbet\.com +\bduygum\.com +\basksozlerim\.com +\bvatanlar\.gen\.tr +\bhaydichat\.net +\bsohbetsu\.com +\bhotels99\.net +\bindependencia\.net +\bmqblog\.cn +\bmendean\.net +\bcelsnet\.cn +\bcthb\.com\.cn +\bcaws\.cn +\bchongshang\.com\.cn +\btimeyiqi\.com\.cn +\beachost\.com +\bhauyut\.com +\bsino-biyan\.cn +\bnanqu-dental\.com +\batchina\.com\.cn +\bhollycrm\.com +\bstacent\.com\.cn +\bcaipirinha\.us\b +\banna-marly\.narod\.ru\b +volgota\.com +\b5min\.com\b +\bminiville\.fr +\bwinupdatesserv\.com +\bcronologia\.it +www\.google\.com/search\?source=ig&hl=en&q=music\+education\+by\+color +\.privatesalepartners\.com +\.visaforu\.com +\bcilanie\.com\b +\bpumppump\.cn\b +\brecphone\.cn\b +\bchina-byt\.com\b +\bsh-dzbc\.cn\b +\bofficezx\.com\b +\bvcd-dvd168\.com\.cn\b +\bdmseo\.cn\b +\benrichuk\.com\b +\bgoodpolisher\.com\b +\bleexi\.com\b +\btx-bridge\.com\b +\bmyperpignan\.com\b +\bperpignanfr\.com\b +# Thai sexy +\balexandre-pato-fanclub\.blogspot\.com\b +\bcristianoronaldoworld\.com\b +\bfernando-torres-fan\.info\b +\bfrancesc-fabregas\.net\b +\bjapan-sexygirls\.blogspot\.com\b +\bsergio-aguero\.blogspot\.com\b +\bthai-sexygirls\.blogspot\.com\b +\bwallpaper-football\.com\b +# painters +\bbypainters\.com\b +\bjeditoo\.com\b +\bmysundial\.ca\b +\bhells-angels\.pagina\.nl\b +\bbodypaint\.startpagina\.nl\b +\bpinstriping\.startpagina\.nl\b +\bairbrush\.pagina\.nl\b +\bhenna\.pagina\.nl\b +\bred-light-district\.nl\b +\bbowtrol(coloncleanse)?\.org\.ua\b +\bbuyhghproduct\.org\.ua\b +\bchronicpainrelief\.org\.ua\b +\begipt\.org\.ua\b +\bhairrestoration\.org\.ua\b +\bmelatrol\.org\.ua\b +\bnitka\.org\.ua\b +\bquitsmoking\.org\.ua\b +\bthyrominethyroid\.org\.ua\b +\bcathar\.info\b +\brenneslechateaubooks\.info\b +\bbestfrenchfilms\.com\b +\bst-ferriol\.com\b +\bheretication\.info\b +\bvotejedi\.co(\.uk|m)\b +\bspringald\.com\b +\brealstandards\.info\b +\bobservacionesfilosoficas\.net\b +\bpsikeba.com\.ar\b +\bwroclaw-online\.eu\b +\bwarsaw-online\.eu\b +\bpoznan-online\.net\b +\bcracowonline\.com\b +\bgdansk-online\.eu\b +\bzakopane-online\.eu\b +\ballkrakowhotels\.com\b +\bkrakaddict\.com\b +\btorunonline\.com\b +\bhotelewkrakowie\.pl\b +\bkrakowlife\.pl\b +\bhotele(?:wtoruniu\.pl|-warszawa\.eu|wgdansku\.eu)\b +\bnoclegi-wroclaw\.pl\b +\bzakopane-noclegi\.eu\b +\bbellazon\.org\b +\bchilax\.de\b +\bfsffm\.com\b +\bwft-forum\.de\b +\bbellazon\.de\b +\bana-claudia-michels\.com\b +\braica-oliveira\.com\b +\balessandra-ambrosio\.eu\b +\badriana-lima(-forum\.com|\.eu)\b +\breisbegeleider\.com\b +\bmeinliedfuerdich\.com\b #Added by Yann: porn +\bcanurl\.com\b +\bgu\.ma\b +\bakmokanzen\.ifrance\.com\b +\bbroadwaylili\.ifrance\.com\b +\bdemurediablo\.ifrance\.com\b +\bdeviantrus\.ifrance\.com\b +\bgirlwho-is\.ifrance\.com\b +\bhighbulp\.ifrance\.com\b +\bigaros\.ifrance\.com\b +\bjdawsona\.ifrance\.com\b +\bkalian42\.ifrance\.com\b +\blordsander\.ifrance\.com\b +\blovereceier\.ifrance\.com\b +\bnoxuhax\.ifrance\.com\b +\boiyaoi\.ifrance\.com\b +\bsingaporepets\.ifrance\.com\b +\bspeedofsoun\.ifrance\.com\b +\btat-ooin\.ifrance\.com\b +\btizolaa\.ifrance\.com\b +\btoofarfrommaybe\.ifrance\.com\b +\bvoltia\.ifrance\.com\b +\byeeden\.ifrance\.com\b +\bceilingworld\.com\b +\bfindsignal\.com\b +\bfineroof\.com\b +\bfreemobilefun\.net\b +\bhairremovalarea\.com\b +\bhosearea\.com\b +\binsulationhelp\.com\b +\bledplace\.com\b +\blocaltreatment\.com\b +\bmovable-wall\.com\b +\bnicebath\.com\b +\bplayground-world\.com\b +\broomflooring\.com\b +\bthebestinsulation\.com\b +\btitaniumarea\.com\b +\bweldingarea\.com\b +\ball(?:myringtones|phonegames)\.com\b +\barchitectspot\.com\b +\barturnikitin\.com\b +\bbargainhammocks\.com\b +\bbenedict-xvi-pope\.com\b +\bbest-(mortgage-quotes|sex-enhancers|sunless-tanning)\.com\b +\bbobbleheadfinder\.com\b +\bbreast-enhancement-help\.com\b +\bbuy-cruise\.com\b +\bcell(?:-phone-wallpapers|ularservicehelp)\.com\b +\bcheap-(playstation|x-box)\.com\b +\bcloset-world\.com\b +\beroticsexylingerie\.com\b +\bfindfurnace\.com\b +\bfree(?:currencycalculator|desktopfun)\.com\b +\bget-(degree-online|fast-money)\.com\b +\bgetaircompressors\.com\b +\bgypsumus\.com\b +\bhairextensionhelp\.com\b +\bhybridcartoday\.com\b +\bkitchen-remodeling-help\.com\b +\blastcasket\.com\b +\bletmeconvert\.com\b +\bmylogoland\.com\b +\bmytiny(?:baby|phone)\.com\b +\bmywifiphones\.com\b +\bonline-(auto|car)-quotes\.com\b +\border-drugs-online\.com\b +\bphone-screensavers\.com\b +\bpoolsarea\.com\b +\brastagear\.com\b +\breal(?:fiberglass|truetones)\.com\b +\brecreational-vehicles-insurance\.com\b +\bseektires\.com\b +\bskinarea\.com\b +\bstressrelievertools\.com\b +\bthecladdaghrings\.com\b +\bvideoclipcards\.com\b +\bwindow-tinting-info\.com\b +\bfiorano\.com\b +\bnetforu\.org\b +\busome\.com\b +\bbiblewalks\.com\b +\bmyspace\.com/universedaily\b +\bericapacker\.com\b +\bstickycarpet\.com\b +\bvolvosellsdamagedcars\.com\b +\bbratislava-info\.sk\b +\bmts\.net/~sabanski + +\bsimplelink\.php5\.sk\b +\bleggievai\.it\b +\btelavivguide\.net\b +\bmoolamusic\.co\.il\b +\bporto-guide\.com\b +\bbjdyg\.com\.cn\b +\bikyoku-jinji\.com\b +\bvisaforu\.awardspace\.com\b +\bgirafa\.com\b +\brawartint\.com\b +\bboxing-memorabilia\.com\b +\bredtopbg\.com\b +\b1tm\.de\b +\biil\.be\b +\bcarnivalservice\.com\b +\bgtabeauties\.com\b +\bgoascii\.(com|de)\b +\bsnurl\.com\b +\b(sk|hr|hu)\.tl\b +\bshim\.net\b +\b(au|br|fr|hk|shop)\.ms\b +\bhowtocrowd\.com\b +\bremedycrowd\.com\b +\brumorcrowd\.com\b +\brantcrowd\.com\b +\bpredictcrowd\.com\b +\bpalavas\.blog4ever\.com\b +\b12-Steps\.info\b +\bAfricaCo\.com\b +\bBankAccountsCo\.com\b +\bCaymanBankingServices\.com\b +\bClickSwiss\.com\b +\bSwiss(?:BankAccount\.biz|(?:Bank(?:Names|services)|PrivateBank)\.com)\b +\bTaxHavenco\.com\b +\bAnonymousDebitCard\.com\b +\bAtozOfWatches\.com\b +\bBillyFitz\.com\b +\bChannelIslandsCo\.com\b +\bCompanyFormations?Co\.com\b +\bDebitCard24-7\.com\b +\bDelawareCo\.com\b +\bDubai24-7\.com\b +\bMediterraneanCo\.com\b +\bMerchantAccountCo\.com\b +\bOffshoreExclusive\.com\b +\bPrestigeAdverts\.com\b +\bPrivateBankAccount\.com\b +\bWeKnowAbout\.com\b +\balishca-st\.ifrance\.com\b +\batrayah\.ifrance\.com\b +\bcall-shotgun\.ifrance\.com\b +\bcocopuff66\.ifrance\.com\b +\bdejablu503\.ifrance\.com\b +\bflawedamythyst\.ifrance\.com\b +\bgabe95\.ifrance\.com\b +\bgajar\.ifrance\.com\b +\bhorcrionebay\.ifrance\.com\b +\bjoshuaw-wise\.ifrance\.com\b +\bkrychan\.ifrance\.com\b +\blekusya\.ifrance\.com\b +\blightmyfire0214\.ifrance\.com\b +\bmfirishka\.ifrance\.com\b +\bnokros\.ifrance\.com\b +\bsm4\.ifrance\.com\b +\bsmegmacheez\.ifrance\.com\b +\bsquoi-oop\.ifrance\.com\b +\btrumanburb\.ifrance\.com\b +\beakk\.ifrance\.com\b +\bkonthaitours?\.com\b +\b(hiphop|reggae)-radio\.50webs\.com\b +\bcrowdspin\.com\b +\breviewcrowd\.com\b +\bcomedycrowd\.com\b +\bgoldenseconds\.com\b +\bquotescrowd\.com\b +\bideascrowd\.com\b +\bkinzparty\.info\b +\bisra(loft|medicine)\.com\b +\bwebkinz-(recipes|cheat)\.net\b +\bworld-religion\.org\b +\botazoj\.nl\b +\bcaiuszip\.com\b +\bsciarthistory\.com\b +\bstartingiseasy\.com\b +\bmunfitnessblog\.com\b +\bmunblog\.com\b +\btweetl\.com\b +\bcaiozip\.com\b +\bmundoceleste\.ch\b +\bvideo\.olympus\.ru\b +\b2-www\.de\b +\b2go4\.de\b +\b2see\.de\b +\b3rdlevel\.de\b +\b4sports\.de\b +\bbesucht\.de\b +\bcheck-page\.net\b +\bclick(-fun|-page|-?url)\.net\b +\bclickdown\.de\b +\bclubpage\.de\b +\bdirect2\.de\b +\be33\.de\b +\bfast-(here|visit)\.com\b +\bfast2\.de\b +\bfly(?:-page|url)\.net\b +\bfun-url\.(com|net)\b +\bfun-visit\.com\b +\bfunhome\.de +\bfwd2\.de\b +\bgo4me\.de\b +\bhateuchlieb\.de\b +\bhere(?:4u)?\.de\b +\bhere(?:-fast|url)\.com\b +\bhispeed\.de\b +\bist-(hier|im-netz)\.de\b +\bixy\.de\b +\bkurz-url\.de\b +\blikesmusic\.de\b +\blook2\.de\b +\bnetjump\.de\b +\bnice-click\.com\b +\bp-a-g-e\.de\b +\bpage-visit\.com\b +\bpage(?:fun|show|url)\.net\b +\bpage(?:jump|me)\.de\b +\bshow-(fast|url)\.com\b +\bshowurl\.net\b +\bsub-page\.com\b +\bsub\.cc\b +\bsub4u\.de\b +\bsubdomains\.(at|ch|de)\b +\btvsite\.de\b +\buserpage\.de\b +\bvisit-page\.com\b +\bwwwjump\.de\b +\bexasystem\.com\b +\bturkey-industry\.com\b +\bindustrieinderturkei\.com\b +\bsubaru-impreza\.it\b +\bcasinobonusdeposit\.com\b +\bturkcemirc\.org\b +\bbunchofphotosabout\.com\b +\bbicycle-adventures\.com\b +\bmy-island-penang\.com\b +\bpulau-pangkor\.com\b +\byangshuo-travel-guide\.com\b +\bmalaysiavacationguide\.com\b +\befn\.org/~(fotozone|hkrieger)\b +\bwithyouitspossible\.com\b +\bcontigoesposible\.com\b +\bdrugstoretm\.com\b +\bonline-pharmacy-drugstore\.blogspot\.com\b +\bamericapharmacyworld\.com\b +\bhoganrx\.net\b +\bmypharma(?:(?:1|cyworld)\.net|n(?:ow)?\.com|(?:stop|usa)\.(?:biz|net))\b +\bmyrxunited\.com\b +\bpharma1\.net\b +\bhibiny\.ru\b +\bgervaisworld\.com\b +\bjimmycarr\.net\b +\bdbtalk\.co\.uk\b +\bderren-brown\.net\b +\binternetbabel\.com\b +\bdrivingmadeeasy\.co\.uk\b +\ballkeyword\.org\b +\bxml-rss\.com\b +\btry\.hu\b +\bvoip-services-provider\.co\.uk\b +\bminorurl\.com\b +\bgourl\.biz\b +\bflowers-photos\.eu\b +\bendangeredspeciesinternational\.org\b +\bwikimages\.org\b +\banimalstube\.com\b +\bbunchofvideosabout\.com\b +\bbiz-vision\.org\b +\bworldwidealbums\.tk\b +\bzonow\.com\b +\bkurl\.nl\b +\burlsie\.com\b +\blix\.in\b +\bhref\.to\b +\bkuerzer\.de\b +\braghunathmanet\.com\b +\bmecatiss\.(com|info)\b +\bsmartlabs\.pl\b +losethegame\.com #encouraging page vandalism which includes this URL +\beclipse-glasses\.(com|net)\b +\b(?:england-|chester|york|bath)360\.co\.uk\b +\bhandster\.com\b +\bbeatbox\.be\b +\bbeatoxic\.com\b +\beclipse-glasses\.eu\b +\bvenuscope\.com\b +\bblpurl\.com\b +\bcmsimple\.com\.br\b +\bsudpontino\.net\b +\buarticles\.blogspot\.com\b +\bdokuwiki\.com\.br\b +digilander\.libero\.it/andrea\.nardo1977 +\badultcliks\.com\b +\bav-videos\.com\b +\bbabecollector\.com\b +\bbaseballsexgames\.com\b +\bcelebrityinferno\.com\b +\beurohotbabes\.com\b +\bfcnudes\.com\b +\bkbabe\.com\b +\bkbitches\.com\b +\bkcastings\.com\b +\bkerotic\.com\b +\bkfetish\.com\b +\bkfisting\.com\b +\bklivecam\.com\b +\bkpeeing\.com\b +\bkporns\.com\b +\bkscans(-germany)?\.com\b +\bkteama.info\b +\bmouthpee\.net\b +\bpuppetcams\.com\b +\br-back\.com\b +\bsexmetaltoys\.com\b +\btop-nude\.com\b +\bvipbeauties\.net\b +\bvipclash\.com\b +\bwatchmyexbabes\.com\b +\bx-proxy\.com\b +\bamazon\.de/First-Class-Nudes-Marketa-Belonoha\b +\bcentroherbalife\.com\b +\burl\.vg\b +\bhappybuyer\.org\b +\bmicholita\.com\b +\bcyndilauperuk\.com/ReissuesPage.html\b +\bhumanthermodynamics\.com\b +\bhumanchemistry\.net\b +\bendeav\.org\b +\bwebalice\.it/giubizza1\b +\bgiubizza\.blogspot\.com\b +\bxoomer\.alice\.it/giubizza\b +\bgiubizza\.tk\b +\bborgenproject\.(com|org)\b +\b(facel-vega|facel.*\.wanadoo)\.fr\b +\bshanghai2010\.hu\b +\bapurogol\.com\b +\badvisorsdirectory\.(net|org)\b +\bexpo2010china\.hu\b +\bbahamas(-beach-rental|-bookstore|-diving|-honeymoon|-rental|-store|-travel|-villa-rental|homesite)\.com\b +\bcaribbean-rental\.com\b +\bcat-island(?:-rental\.com|\.net)\b +\beleu\.net\b +\beleuthera-(bahamas|bahamas-rental|rental)\.com\b +\beleuthera\.(biz|com)\b +\bkafkas-cafe\.com\b +\bout-island-wedding\.com\b +\btheduckinn\.com\b +\bwww-saand\.com\b +\bagrigento\.ag\b +\bgelalive\.com\b +\blogisticsclub\.com\b +\blojistikkulubu\.(com|org)\b +\blogisticsclub\.org\b +\bmyspace\.com/terriirwin\b +\bbombingscience\.com\b +\bitalien-gastgeber\.com\b +\btravexpert\.net\b +\btopsiter\.net\b +\bparis-prisoner\.com\b +\bilwebmaster\.net\b +\bnoemy\.net\b +\bbayern-gastgeber\.de\b +\btheflowersofromance\.tk\b +\bdcc\.ttu\.ee/Bands/get\.asp\?ident=2555\b +\bmyspace\.com/(tfor|vennaskond)\b +\bgportal\.hu\b +\bexpo2010kina\.hu\b +\bbeginner-sql-tutorial\.com\b +\brxmedsoffer\.com\b +\bbudapestpocketguide\.com\b +\bfreelancer\.com\.ar\b +\bfaeroerne\.dk\b +\b2008-beijingolympics\.(com|org)\b +\b2010shanghaiworldexpo\.com\b +\balternateroutestravel\.org\b +\bausteach\.(com|org)\b +\bbusinessesl\.(com|org)\b +\bbuxiban\.(biz|net)\b +\bchina-(2008-beijing|study-in|teach-in)\.com\b +\bchinacam\.net\b +\bchinaeducationexchange\.com\b +\bchinatravelfacts\.org\b +\bchinavisaapplication\.org\b +\besljobschina\.org\b +\beslschoolreview\.org\b +\beslschoolwatch\.com\b +\beslteachercafe\.(com|net|org)\b +\beslteachersboard\.(net|org)\b +\beslteacherscafe\.net\b +\bflooring(?:-contractor|supply)\.biz\b +\bflooring(?:-laminate|fromchina)\.net\b +\bfootprintsrecruiting\.net\b +\bhunanteach\.(net|org)\b +\bjourneywest\.net\b +\blearnchinesenow\.org\b +\bmarksesl\.org\b +\bmikescreel\.com\b +\bmychinesewife\.com\b +\bpandasteps\.(com|net)\b +\bstudent-travel-china\.org\b +\bstudyinchina\.biz\b +\bsummerinchina\.(net|org)\b +\bteach-and-travel\.com\b +\bteach-in-(asia|beijing|shanghai)\.org\b +\bteachcn\.org\b +\bteachinasia\.org\b +\btesolmax\.(net|org)\b +\btravel-insurance-quote\.org\b +\buschina-edu\.com\b +\bvolunteer-jobs-abroad\.com\b +\bz-visa\.(net|org)\b +\bnicole-scherzinger\.bizs\.pl\b +\bhalongbay-vietnam\.com\b +\bsofraser\.com\b +\bmetro-subway-train-list\.com\b +\borigamivideos\.net +\bmetalhead\.ro\b +\bbestmusic\.ro\b +\brockon\.ro\b +\bmetalheadtv\.com\b +\bbilgipara\.com\b +\bpataraexcavations\.com\b +\brhodiapolis\.com\b +\bfree-lock-picking-guide\.com\b +\ballmartialart\.com\b +\bfreefighting\.org\b +\bclosedefenceart\.org\b +\beirikur\.info\b +\bmesothelioma\.pl\b +\bcube2007\.com\b +\bwypadek\.info\b +\bglowicki\.pl\b +\bwypadki\.fotolog\.pl\b +\bthisdaythatyear\.com\b +\bvizaginfo\.(com|net)\b +\belectionsinfo\.com\b +\bpincodesindia\.com\b +\bastrologyforu\.com\b +\bvijaytechnologies\.com\b +\bindia(?:hostingreview|studycenter)\.com\b +\biitisnapur\.com\b +\bgajuwakainfo\.com\b +\bedcetinfo\.com\b +\baucet\.com\b +\bicetinfo\.com\b +\bandhranews\.com\b +\bchitoor\.com\b +\btelanganauniv\.com\b +\bsrikakulaminfo\.com\b +\btollywood\.info\b +\bvizagclassifieds\.com\b +\bsoftwaretalk\.info\b +\bgetpaidindia\.com\b +\basuku\.com\b +\bbanks-atms\.com\b +\bcollegezones\.com\b +\bcricketfun\.com\b +\bgreatpersonalities\.com\b +\bknowledgeisfun\.com\b +\bvizagnews\.com\b +\bandhranews\.net\b +\burbantrash\.(net|altervista\.org)\b +\bstatisticum\.org\b +\bhurghada(?:homes\.co\.uk|-tourism\.com)\b +\beasy-forex\.com\b +\btuttotempolibero\.(com|altervista\.org)\b +\be-zeus.narod\.ru\b +\ballhostinginfo\.com\b +\bnedvarticles\.narod\.ru\b +\bfirewall-pi\.narod\.ru\b +\bnedcruise\.info\b +\bfreewebs\.com/tradeforeignexchange\b +\bdirectoryforex\.com\b +\beasyforexforum\.com\b +\bseology\.co\.il\b +\bbookkeeping-course\.com\b +\bcanaseed\.com\b +\bfancydiamonds\.net\b +\bworldwide-tax\.com\b +\bkwizcom\.com\b +\bseo1site\.com\b +\bwao\.co\.il\b +\bmustangranch\.com\b +\bdeu\.edu\.tr/yot\b +\bkisi\.deu\.edu\.tr/dogan\.gunay\b +\b2girls1cup\.com\b +\bpatanibook\.blogspot\.com\b +\bmilostravel\.com\b +\bkimolos-island\.com\b +\bfolegandros\.com\b +\bislands-greece\.com\b +\bvilla-kapari\.com\b +\bconnexia\.com\b +\bisolegreche\.com\b +\bbirgersandzengallery\.com\b +\bedgarpaynegallery\.com\b +\belmerwachtelpaintings\.com\b +\bgranvilleredmondgallery\.com\b +\bguyrosegallery\.com\b +\bguywigginspaintings\.com\b +\bjohnmarshallgamble\.com\b +\bjoseph(?:kleitschgallery|raphaelgallery)\.com\b +\blawrencebeebe\.com\b +\bmauricebraungallery\.com\b +\bsvenbirgersandzen\.com\b +\bwilliamwendtgallery\.com\b +\bguidetocissp\.com\b +\bzoabonito\b.com\b +\bsteadycam(?:\.ws|-pro\.com)\b +\beurobiler\.dk\b +\bbig(?:bmw|onlinegames)\.com\b +\bchristmas\.bizhat.com\b +\beurope\.bizhat\.com\b +\bkeywords\.bizhat\.com\b +\bmmorpg\.bizhat\.com\b +\bonlinegames\.bizhat\.com\b +\bdating-tip\.org\b +\bdealertruck\.net\b +\bfastestcar\.net\b +\bflightlondon\.net\b +\bhosting15\.com\b +\borpgames\.com\b +\btopcelebrityphoto\.com\b +\btophybridcar\.net\b +\bbbsggames\.net\b +\bfreeogames\.com\b +\bwebhostingspotter\.com\b +\bdm-(cqsf|lietou)\.cn +\bhosting-pi\.narod\.ru\b +\bstroit-info\.narod\.ru\b +\bcmsarticles\.awardspace\.com\b +\bkompinfo\.com\b +\bcmsarticles\.narod\.ru\b +\bhardwax\.net\b +\bmyminicity\.com\b +\bchinayuntong\.cn\b +\bhungarybudapestguide\.com\b +\btouristguide\.gyuli\.com\b +\bmarvaoguide\.com\b +\bipoconsult\.info\b +\bhow-to-tie-a-tie-video\.com\b +\bmetapedia\.org\b +\bpugliarooms\.com\b +\bthelolicon\.com\b +\bgallipolibedbreakfast\.it\b +\bmusicserver\.us\b +\biccco\.org\b +\bpeace-diplomacy\.org\b +\bsynpolis\.org\b +\beufpc\.org\b +\bdiplomacy-advisory\.org\b +\bcanadaliving.org\b +\bdouggilmour\.com\b +\bsemexpertise\.com\b +\btax-services\.ca\b +\blocalsearchcanada\.com\b +\blyrikline\.(com|net|org)\b +\bmyrize\.org\b +\brizebilisim\.com\b +\brizeresimleri\.blogcu\.com\b +\brize-resimleri\.blogspot\.com\b +\brize\.fukuku\.com\b +\bcay\.fukuku\.com\b +\byoutube-seo\.blogspot\.com\b +\btapp\.it\b +\bsillyurl\.com\b +\businglinux\.org\b +\bkeskinmavi\.com\b +\bkemaliye\.net\b +\barsaofisi\.net\b +\barsaborsa\.com\b +\bkiemlak\.com\b +\bemlaknetwork\.net\b +\binformation-center\.biz\b +\bkemaliye\.eu\b +\bflatsinistanbul\.net\b +\b1st-cheapest-domain-names-registration-best-price-hosting\.com\b +\bkitdesign\.eu\b +\bizmir\.us\b +\btatilrehberiniz\.us\b +\bkellekci\.net\b +\begin\.us\b +\brehberiniz\.org\b +\bprojevi\.com\b +\brehberi\.us\b +\bclickbank\.net\b +\btrrap\.net\b +boylovernet +\bbigforexlive\.com\b +\bdatashaping\.com\b +\bsearchsmart\.net\b +\bnewprinceton\.com\b +\bclickscoring\.blogspot\.com\b +\blanguageshaping\.com\b +\bclick(?:scoring|-audit)\.com\b +\bqueryintelligence\.com\b +\btext(?:raction|shaping)\.com\b +\banalytic(?:consulting|group)\.com\b +\bbed-breakfastpuglia\.it\b +\bplay-asia\.com/SOap\b +\bpacino\.narod\.ru\b +\bmustang\.te\.ua\b +\bcaesarstone(us)?\.com\b +\blacalabria\.biz\b +\bvacanzeatropea\.biz\b +\bcapovaticano\.info\b +\boutdoorebooks\.com\b +\bd3m-host\.com\b +\busabirds\.free\.fr\b +\bperrin.olivier\.free\.fr\b +\bnewyork\.drawing\.free\.fr\b +\bevry-daily-photo\.blogspot\.com\b +\bwalkinnewyork\.blogspot\.com\b +\bnewyorkbirds\.free\.fr\b +\bnyc2006\.free\.fr\b +\bclickok\.co\.uk\b +\bmanaging-creativity\.com\b +\bfile-splitter-by-lines\.com\b +\bsqaji\.com\b +\bheros-journey\.info\b +\bscreenplay-structure\.com\b +\bstory-structure\.org\b +\bamede\.nyc\.free\.fr\b +\btk\.kelly\.free\.fr\b +\bthetimeshareforum\.com\b +\btenerifedreams\.com\b +\bresortproperties-world\.com\b +\blovingdubai\.com\b +\bisland-korcula\.info\b +\briviera-makarska\.info\b +\bisland-hvar\.info\b +\bvis-island\.info\b +\bsucuraj(-hvar)?\.com\b +\bisland-of-brac\.info\b +\bgeocities\.yahoo\.com\.br/gotaelbr\b +\bforeverpemba\.blogspot\.com\b +\bplaneta\.terra\.com\.br/turismo/pesodaregua\b +\bfunctionpointmodeler\.com\b +\bbsunsweetskin\.com\b +\bbasbestos-cancer\.sk\b +\bbarchitecture\.sk\b +\bbpsychoworld\.sk\b +\bbasbestosdoc\.com\b +\bbaboutmodafinil\.com\b +\bbadaphostin\.com\b +\bbampakines\.org\b +\bbastirmarketing\.com\b +\bbbarleylake\.com\b +\bbburntreatment\.org\b +\bbhedgefundquestions\.org\b +\bbhmo-lawsuits\.com\b +\bbhyperstrategy\.com\b +\bbmalignesmesotheliom\.de\b +\bbmesoteliomamaligno\.(es|it)\b +\bbmesotheliomainternational\.org\b +\bbmesotheliome\.fr\b +\bbmigrainemanager\.com\b +\bbnalmefene\.org\b +\bbprodrax\.com\b +\bbprovigilweb\.org\b +\bbsiteco(?:ach|mpass)\.com\b +\bbsleepdex\.org\b +\bbstatinanswers\.com\b +\bdalekozor\.com\b +\bfunctionpointmodeler\.de\b +\bvilasta\.com\b +\bpteelien\.net\b +\bajalehed\.com\b +\bavisernorge\.com\b +\bceskenoviny\.net\b +\bdanskeaviser\.com\b +\befimerides\.net\b +\bgazet(?:eler\.com|at\.net)\b +\bgiornaliitalia\.com\b +\bjornais(?:\.net|dobrasil\.com)\b +\bjornaisportugueses\.com\b +\bjournaux\.net\b +\bnederlandsekranten\.com\b +\bnewspapersin(?:ireland|nigeria|theuk)?\.com\b +\bperiodikos\.com\b +\bpolskiegazety\.net\b +\bsuomensanomalehdet\.com\b +\btidningarsverige\.com\b +\btouslesjournaux\.com +\bzeitungen(?:deutschland|osterreich|schweiz)\.com +\bziareromanesti\.net +\btshaberler\.com +\bfmbb\.livreforum\.com +\bseksmarketim\.biz\b +\bextremesportsvideos\.org\b +\beuropedia\.moussis\.eu\b +\blegambientecorato\.it\b +\bhiphop-reggae-radio\.we\.bs\b +\bpresident-star\.blogspot\.com\b +\bmetallica\.su\b +\bplaymates\.su\b +\bvideophone\.nu\b +\blive-station\.org\b +\bdruk(?:werken|kerij-drukwerk)\.nl\b +\btrouwkaartjes\.com\b +\btagate\.com\b +\bfactasy\.com\b +\bcommonpurpose\.org\b +\blibertas(?:\.sm|-newssanmarino\.blogspot\.com)\b +\bvirtual\.oradea\.net\b +\bmoneybookers\.com/app/\?rid= +\bamazon.com/gp/redirect\.html +\brcm\.amazon\.com/cm\?t= +\bamazon\.com.*(\?|&)tag= +\bbastore\.amazon\.com\b +\beclipse-china\.com\b +\bdeath-?camps\.org\b + +## URL shorteners 2 +\bsmileurl\.com\b +\bhumbleurl\.(com|net)\b +\burlhash\.(com|org)\b +\burlsmash\.com\b +\boffto\.net\b +\balgart\.net +\bye-s\.com\b +# End of URL shorteners 2 + +\bdotcominfoway\.com\b +\bgalatta\.com\b +\bshriyaonline\.(com|info)\b +\bmalavika\.info\b +\bnayantaraonline\.info\b +\bbhavanaonline\.info\b +\bnishakothari\.info\b +\bsandya\.info\b +\basinonline\.info\b +\bsnehaonline\.info\b +\brenukamenon\.info\b +\bkanihaa\.com\b +\bjyotikaonline\.com\b +\bvellitheraithemovie\.com\b +\bjithanramesh\.com\b +\bsherin-online\.com\b +\bjothika-online\.com\b +\bkettavanthe(movie|film)\.com\b +\b2checkout\.com\b +\bdashaavtaram\.com\b +\bvaaranamaayiram\.com\b +\bbheema(?:\.info|a\.com)\b +\bsultan-the-film\.com\b +\bkuruvi\.info\b +\bbillathemovie\.com\b +\bgraphwise\.com\b +\bpazhani\.com\b +\bparuthiveeranthemovie\.com\b +\bilayathalapathyvijay\.com\b +\bsimbuonline\.com\b +\baaryamovie\.com\b +\bsivaji-the-film\.com\b +\batmthefilm\.com\b +\bazhakiyathamizhmagan\.info\b +\bzerust\.com\b +\bkireedom\.info\b +\bmadurai4u\.com\b +\biltsource\.com\b +\bxyleme\.com\b +\bjothikaonline\.com\b +\bpriyamudansneha\.com\b +\bmy-bharath\.blogspot\.com\b +\bgalatta\.tv\b +\borampo\.com\b +\bbilla2007\.info\b +\bkaalai\.com\b +\bdebtfin\.com\b +\bamericandreamwine\.com\b +\bactorvijay\.com\b +\bgauthammenon\.com\b +\bdirectorbalumahendra\.com\b +\bactresspooja\.com\b +\bactor(?:suriya|arya)?\.com\b +\bmachakkaaran\.com\b +\brskworld\.com\b +\b75yearstamilcinema\.com\b +\bsuriya-online\.com\b +\bsneha-online\.com\b +\bbackwatersthefilm\.com\b +\bjeevaonline\.com\b +\bkannumkannum\.com\b +\bactorvijayonline\.com\b +\bjeeva-online\.com\b +\bgalattaglobalevents\.com\b +\bmeeravasudevan\.com\b +\bchiyaanvikramonline\.com\b +\bthoondilthefilm\.com\b +\bpoothefilm\.com\b +\bramanthediyaseethai\.com\b +\brmadhavan\.com\b +\btrsimbu\.com\b +\bbhavana-online\.com\b +\bvannathupoochi\.com\b +\bprashanthonthenet\.com\b +\binbathefilm\.com\b +\bnaankadavul\.com\b +\blailaonline\.info\b +\bharrisjayaraj\.com\b +\byaaradineemohini\.com\b +\bthiruvasagamthemovie\.com\b +\bactorvishal\.com\b +\blaila\.net\b +\btamilmathefilm\.com\b +\brameshwaramthemovie\.com\b +\bdirectorbala\.com\b +\bvalavaan\.com\b +\bsathyamthemovie\.com\b +\bnandita-das\.com\b +\bnepalithefilm\.com\b +\bdhaamdhoom\.com\b +\bnandalalathefilm\.com\b +\bdesirable-pleasur\.info\b +\bviyabari\.com\b +\bsathyaraj\.com\b +\bsajinithefilm\.com\b +\bkiranonline\.info\b +\bsibiraj\.com\b +\brssurya\.com\b +\bmeenaonthenet\.com\b +\bthottathefilm\.com\b +\banandapictures\.com\b +\bdhurai\.com\b +\babhiyumnaanum\.com\b +\bvedikundumurugesan\.com\b +\bthalaimagan\.com\b +\brenukamenon\.com\b +\bradikaa\.com\b +\btrishakrishnan\.com\b +\bsangavi\.com\b +\breggae-hiphop-radio\.we\.bs\b +\bierasmus\.com\b +\bplaneterasmus\.net\b +\bparapara-doga\.seesaa\.net\b +\bvinatown\.org\b +\bazqq\.com\b +\bbags-4u\.co\.uk\b +\bcheap-tv-uk\.co\.uk\b +\bcomputer(?:forstudentuk|partuk)\.co\.uk\b +\bcredit-card4u\.com\b +\bentrepreneurs4u\.com\b +\bgifts-occasions-4u\.co\.uk\b +\bproperty-and-real-estate-4u3\.co\.uk\b +\bsmart-traffic\.co\.uk\b +\bstudent(?:computers|find)\.co\.uk\b +\baccommodation-4u\.co\.uk\b +\barts-crafts-4u\.co\.uk\b +\bautocar4u\.com\b +\bbabies-children-resource\.co\.uk\b +\bbeanbagfactory\.co\.uk\b +\bbroadband-4u\.com\b +\bbusiness-services-4u\.co\.uk\b +\bcebu-food\.com\b +\bcheap-(flights4u|sat-nav)\.com\b +\bcheap(-travel-4u|computeruk|laptopuk|notebookuk)\.co\.uk\b +\bclothing-4u\.co\.uk\b +\bcommunication4\.co\.uk\b +\bcomputer(caseuk|computeruk|monitoruk)\.co\.uk\b +\bconsumer-(electronics|goods|services)-4u\.co\.uk\b +\bdating-service-4u\.com\b +\bdiscountcomputeruk\.co\.uk\b +\becommerce-asia\.co(\.uk|m)\b +\becommercebuddy\.co\.uk\b +\bexhibitions-promotions-4u\.co\.uk\b +\bfinancialservice4u\.com\b +\bfind-homes-4u\.com\b +\bgaming-activities-4u\.co\.uk\b +\bgarmin4u\.com\b +\bgiantcod\.com\b +\bhealthonline4u\.com\b +\bholiday-4u\.com\b +\bhome-improvements-4u\.co\.uk\b +\binternet(-services-4u|buyerdirect)\.co\.uk\b +\binternetcomputersdirect\.co(\.uk|m)\b +\bjust-diamond-jewellery\.co\.uk\b +\bkitesurfing4u\.com\b +\blaptop(battery|computer|laptop)uk\.co\.uk\b +\bloans-online4u\.com\b +\bmoalboal-travel-guide\.com\b +\bnews-4u3\.co\.uk\b +\bnotebookcomputeruk\.co\.uk\b +\bonline(?:-insurance|gambling-)4u\.com\b +\bpocket-bikes\.co\.uk\b +\bprofessional-services-4u\.co\.uk\b +\brecreation-4u\.co\.uk\b +\brecruitment-4u\.com\b +\brefurbished(?:computerlaptop|notebook)uk\.co\.uk\b +\bregional-info-uk\.co\.uk\b +\bringtones-logos-4u\.com\b +\bshopping-guides-4u\.co\.uk\b +\bsports-stuff-4u\.co\.uk\b +\bstudentcomputer\.org\.uk\b +\bstudentkiss\.co\.uk\b +\bstudentmachines\.co(\.uk|m)\b +\btransport-4u\.co\.uk\b +\busbfactory\.co\.uk\b +\bused(?:computer|laptop(?:computer)?|notebook)uk\.co\.uk\b +\bweb-services-4u\.co\.uk\b +\bweddings-cebu\.com\b +\bautomarkhistory\.com\b +\breizen-(portugal|duitsland)\.info/\b +\bportugal-travel-guide\.info/\b +\bviaggi-(germania|portogallo)\.info/\b +\bviagens-alemanha\.info/\b +\bviajes-(alemania|portugal)\.info/\b +\bbaccara-forever\.de\b +\bvoyage-(portugal|allemagne)\.info/\b +\bgermany-travel-guide\.info/\b +\bseguente\.com\b +\bbursahalter\.com\b +\bprovenmodels\.com\b +\bvizads\.com\b +\bamorrow.wikidot\.com\b +\bkizilsungurdefender\.jimdo\.com\b +\bsuedtirol-tirol\.com\b +\bfree-proxy\.org\.ua\b +\bmeloteca\.com\b +\bjosefov\.com\b +\bpevnostjosefov\.wz\.cz\b +\bmyclassifiedads\.net\b +\blogosphera\.com\b +upload\.wikimedia\.org/.*XRumer.screenshot\.gif +\btremulous\.net\.ru\b +\bcroatia-map\.net\b +\balfpoker\.com\b +\bayvalikda\.com\b +\bbikerosario\.com\.ar\b +\bcundadan\.com\b +\bimg352\.imageshack\.us\b +\bkarvinsko\.eu\b +\bsarimsaklida\.com\b +\bvidiac\.com\b +\bworldmapfinder\.com\b +\byarak(?:web\.com|\.co\.uk)\b +\bjava-certification-tutorial\.com\b +\bplsql-tutorial\.com\b +\bs9\.bitefight\.ru\b +\babdul(?:matic|paula)\.com\b +\bpaula(?:abdul\.tk|-abdul\.eu)\b +\brandyjackson\.de\b +\bpaulapaula\.com\b +\bthecosplayworld\.com\b +\bfrancenepal\.info\b +\bfine-art-images\.net\b +\breggae-auction\.com\b +\bkomendant\.cal\.pl\b +\bsexidate\.com\b +\bvision\.chobirich\.com\b +\bpuroibiza\.com\b +\bhuntforantiques\.com\b +\bmother-surrogate\.(com|net)\b +\bsurrogate-mother(?:-cost\.com|(?:hood|s)\.net)\b +\bsquidoo\.com\b +\bboardthesun\.com\b +\bpolskiswiat\.com\b +\bworldmartialartsfederation\.org\b +\bconflictologist\.narod\.ru\b +\btipsity\.com\b +\bthenokian96\.com\b +\bvoipguides\.blogspot\.com\b +\bdishwashersreview\.com\b +\bair-conditioner-review\.com\b +\bmodelsobserver\.com\b +\bdetector\.org\.ua\b +\botopsi\.gen\.tr\b +\bdarkjuva\.com\b +\bplcteknoloji\.com\b +\bwinxoyun\.net\b +\balemi\.biz\b +\bminikperi\.biz\b +\bfulldizi\.net\b +\bzirvesi\.net\b +\bdiziniz\.net\b +\bhitkazan\.info\b +\bmovie-net\.org\b +\bprovacylonline\.com\b +\bfdapharmacy\.org\b +\bacneshoponline\.com\b +\bpharmacyrx\.org\b +\biasa\.ir\b +\baluminiumleader\.com\b +\bmiysvit\.info\b +\bmetallian\.com\b +\bhotel-5\.net\b +\binca-cola\.com\b +\bhotelclick\.org\b +\bhurtigruten\.tk\b +\bemedialive\.com\b +\bsantabot\.com\b +\bisraelinphotos\.com\b +\belvisromania\.ro\b +\bturismo-prerromanico\.es\b +\blabel\.fr\b +\bgastreferenten\.de\b +\bradiopapesse\.org\b +\bit-servizi\.it\b +\bdvdfilmler\.net\b +\biltuobenessere\.com\b +\bmircmerkez\.net\b +\bpolonia\.asia\b +\bcachacastore\.com\b +\bcutehoneys\.com\b +\bweb-bearn\.fr\b +\blucadea\.com\b +\bpresstv\.asia\b +\bovablastic\.blogspot\.com\b +\bsunfrance\.com\b +\bnews\.nikito\.su\b +\bpamparam\.md\b +\bradiotecktonik\.ro\b +\bpetrsoukal\.profitux\.cz\b +\bjaponsko\.profitux\.cz\b +\bpetrsoukal\.php5\.cz\b +\bbjornborgfanforever2\.free\.fr\b +\bdavidbisbalbrowser\.com\b +\bmembers\.lycos\.co\.uk/davidbisbal/ +\bmaluw\.flyfolder\.ru\b +\bpeons4hire-4mmo\.com\b +\bbrogame\.com\b +\bitemrate\.com\b +\bwowgold1078\.com\b +\bshshenyang\.com\b +\bminghsing\.com\b +\bmj-net\.jp\b +\bsenior-work\.jp\b +\bcaxa\.com\b +\bmarucollet\.jp\b +\bdocs\.weblog\.ro\b +\bblog\.goo\.ne\.jp/umineko300\b +\bborderterriers\.xooit\.fr\b +\bsolobale\.com\b +\brakastar\.com\b +\bmarylinmonroe\.it\b +\blogos\.com\b +\bpasiontango\.net\b +\bskyscrapervideos\.com\b +\bthomas(carlyle)?\.eu\b +\bfunkyukrainian\.com\b +\bjapan-architects\.com\b +\badslteknikservis\.com\b +\bhandresearch\.com\b +\babers-tourisme\.com\b +\bprison-break\.org\.ua\b +\bchatsohbetodasi\.net\b +\bnews\.architectures\.sk\b +\bmarshall\.charles\.googlepages\.com\b +\bpasiphae\.poems.googlepages\.com\b +\buntoldtales\.googlepages\.com\b +\bbibblish\.blogspot\.com\b +\bvzugadi\.googlepages\.com\b +\bdeluxecruises\.com\b +\bseabourn\.us\b +\bcroisieresdeluxe\.com\b +\bjustcrystalcruises\.com\b +\bsilversea\.info\b +\bluxury-cruises\.info\b +\bbantanges\.com\b +\bbourgogneimmo\.biz\b +\bcuisery\.com\b +\bporquerolles\.biz\b +\bregentcruises\.us\b +\briomavuba\.com\b +\bsilversea-luxury-cruises\.com\b + +\b3-immo\.com\b +\b7seas\.com\b +\ballsuitecruiseships\.us\b +\bchateauxdeluxe\.com\b +\bcroisiere(?:-de-luxe\.net|sdeluxe\.biz)\b +\bcrucero-de-lujo\.com\b +\bcruisebalconiesandsuites\.(com|us)\b +\bcruise(?:bids|saroundtheworld)\.com\b +\bcrystal-luxury-cruises\.com\b +\bcunard-(luxury-cruises|queen-mary-2us|queens-grillus)\.com\b +\bcunardqueenelizabeth(\.biz|(?:blog|home|online|site)\.com|\.info|\.net|\.org|\.us)\b +\bcunardqueenvictoria\.(biz|com|info|net|org)\b +\bdeluxe(?:-cruises\.(info|net)|cruises\.(biz|info))\b +\bdemeuresdeluxe\.com\b +\beurope-annonce\.com\b +\bjust(?:cunard|radisson)cruises\.com\b +\bjustsilversea(cruises)?\.com\b +\bluxury(-castles|-cruises-single|-world-cruises|cruisesforless)\.com\b +\bmiami-beach-condos\.org\b +\bmichelinechaneac\.com\b +\bnewcunardqueenelizabeth\.com\b +\bofficialcunardqueenelizabeth\.com\b +\bprestiges-?autos\.com\b +\bqvcruises\.com\b +\bradisson-luxury-cruises\.com\b +\brestaurant(-le-|le)tilleul\.com\b +\bseabourn-luxury-cruises\.com\b +\bthecunardqueenelizabeth\.com\b +\bvoituresdeluxe\.(info|net|us)\b +\bzmaxtravel\.com\b +\bbydinka\.ucoz\.ru\b +\bpersonalstructures\.org\b +\bmyresistor\.com\b +\bmeikk\.com\b +\btcfaces\.com\b +\bmusique\.arabe\.over-blog\.com\b +\belusiva\.com\b +\binformacitta\.vi\.it\b +\bbonjovideos\.com\b +\bic1\.it\b +\binformagiovani\.vi\.it\b +\bbreton\.brezhoneg\.free\.fr\b +\bfr\.youtube\.com/(profile\?user=|user/)Languages1001\b +\blang\.(?:arabe|deutsch|esperanto|farsi|gaeilge|hebraic|italiano|neerlandais|neerlandais|occitan|polski|russe|shqip|svenska|swahili|turk|yiddish)\.free\.fr\b +\bmacedonian\.free\.fr\b +\bpince31\.free\.fr\b +\bportuguesa\.lingua\.free\.fr\b +\bcertlobby\.com\b +\bhot-air-ballooning\.org\b +\bimaseo\.com\b +\binesystems\.com\b +\bsemguru\.wordpress\.com\b +\bsohachawla\.blogspot\.com\b +\bwhizlabs\.com\b +\bziceholidays\.com\b +\bdaldorfer\.info\b +\bmusicvmix\.com\b +\bnew-beat\.musicblog\.be\b +\bantalya-web(cam)?\.com\b +\bfotobox24\.com\b +\bprisonbreak\.org\.ua\b +\bhotelsworld\.pl\b + +#E-library +\be-library\.(net|us)\b +# drini: croswiki spam seo +\bhzgames\.com\b +\btopowerleveling\.com\b +\bgowowpowerleveling\.com\b +\bhigh-replica\.com\b +\bgame-win\.com\b +\byszdh\.com\b +#end drini +\bprefabrike\.net\b +\bartiajans\.net\b +\bprefabrik(?:\.tv|yapi\.com)\b +\bartiajans\.info\b +\bhekim(?:holding|madencilik|sirketlergrubu|boya|plastik|sut|yapi)\.com\b +\bozgeyapi\.com\b +\bheboyapi\.com\b +\bilportaleditrieste\.(com|it)\b +\bnakedafrica\.net\b +\bnahaafrika\.cz\b +\bfotoplantas\.110mb\.com\b +\babkhazia\.nu\b +\byouporn\.com\b +\binternet-srs\.biz\b +\burlgen\.com\b +\bsmalur\.com\b +\bindirdur\.blogcu\.com\b +\bsitetiny\.com\b +\bbloomsdaynyc\.com\b +\bkosovo-law\.org\b +\bnavarra\.net\b +\bpamplona\.com\b +\bsex(?:doctor4|info4wo)men\.blogspot\.com\b +\bpeniss-size\.blogspot\.com\b +\bwomen-menses\.blogspot\.com\b +\bbreast-info12\.blogspot\.com\b +\bdating-tips08\.blogspot\.com\b +\bmoney-making12\.blogspot\.com\b +#url shorteners +\bshorl\.com\b +\bshort(er)?links?\.co\.uk\b +\b6url\.com\b +\bflingk\.com\b +\bmetamark\.net\b +\bpaulding\.net\b +\bsmcurl\.com\b +\btighturl\.com\b +\byatuc\.com\b +\byep\.it\b +#end of url shorteners +\binnojairja\.blogspot\.com\b +\btiibet\.org\b +\bmsapubli\.com\b +\ballaahuakbar\.net\b +\btroid\.org\b +\bmuslims\.ws\b +\basipak\.com\b +\bclaasfamily\.org\b +\bcocktailteam\.net\b +\bindicatoreamaranto\.it\b +\bthatsqingdao\.com\b +\bqingdao(?:china|official)guide\.com\b +\bmyred(guide|sail|star)\.com\b +\bportale(?:pienza|valdorcia)\.it\b +\bfototoscana\.it\b +\bwebamiata\.it\b +\bimmaginasas\.it\b +\bilovekatsuni\.com\b +\bkatsunihardcore\.com\b +\bspirited-expeditions\.com\b +\bsearchx\.1gb\.in\b +\bkelis-pics\.com\b +\baliciakeys-pics\.com\b +\bshakira-pictures\.net\b +\bseomarket\.info\b +\bonherown\.net\b +\belephant-batyr\.livejournal\.com\b +\bingush-studio\.com\b +\blafee\.net\.ru\b +\bwienbilder\.at\b +\bucadhadi\.fr\.gd\b +# CTKohl section +\bchristianthomaskohl\.(?:wordpress|googlepages)\.com\b +\bctkohl\.googlepages\.com\b +\blankalibrary\.com/phpBB/viewtopic\.php\?t=3618\b +\bboloji\.com/buddhism/00119\.htm\b +nagarjuna.*?\.goo?glepages\.com\b +\bnagarjunafreiburg\.wordpress\.com\b +\bbuddhismandquantumphysics\.blogspot\.com\b +\brationalvedanta\.net/node/137\b +\bscribd\.com/doc/3245023/Buddhism-and-Quantum-Physics\b +\bblog\.civilisations-matter\.org/(2008/01/15/east-meets-west|category/blog-von-christian-thomas-kohl)\b +\bcm-germany\.org/wordpress/2008/02/09/east-meets-west/\b +\bnewdualism\.org/papers/C\.Kohl/Buddhism-QP-Parallel\.htm\b +\bkohl12345\.googlepages\.com\b +\borient\.ruf\.uni-freiburg\.de\/dotpub\/kohl\.pdf\b +\bchina-observer\.de\/druckansicht\/entry081022-130003\.htm\b +\bconceptsofphysics\.net\/V_3/517\.pdf\b +\blarousse\.fr\/ref\/contrib\/Bouddhisme-et-Physique-quantique_11003609\.htm\b +\bcientificosconscientes\.com\/cc\/articulos\/budismo_fisica\.html\b +\blacoctelera.com\/kohl\/post\/2008\/06\/05\/budismo-y-fisica-cuantica +\bbuddhachannel\.tv\/portail\/spip\.php\?article907\b +# End CTKohl section +\bcristinascabbia\.jino-net\.ru\b +\bgaliza\.indymedia\.org\b +\boffisteria\.com\b +\bradiovazogasy\.com\b +\bthemza\.com\b +\bdesigneeroaarnio\.com\b +\bhedge(lender|loan)(\.wordpress)?\.(com|net|org)\b +\bstock-load\.org\b +\bsecuritiesfinance\.com\b +\bpipe-replacement\.com\b +\bloan-stock\.org\b +\bbidmonfa\.com\b +\bis\.gd\b +\bkamasyworkamanda\.info\b +\bpoker(loco|tars)\.com\b +\beverestpoker\.com\b +\bultimatepoker\.com\b +\bcarmasutra\.fr\.gd\b +\bmysticquestontheweb\.free\.fr\b +\bnatsume-hyuga\.net\b +\bdrugslink\.info\b +\bgiannanannini\.fan-club\.it\b +\bspanish\.online-spanisch\.com\b +\bnoticiasmusicais\.com\b +\beclipse-china\.cn\b +\bcardcounting\.com\.br\b +\bstorz-bickel\.com\b +\bflash-ascript\.blogspot\.com\b +\beberhard-dilba\.homepage\.t-online\.de\b +\bdiplomaticsociety\.org\b +\bcomicradioshow\.com\b +\bkurz\.es\b +\bderindusunce\.org\b +\bcasadoxadrez\.com\.br\b +\bffxii\.us\b +\bgeorge-michael\.nl\b +\bspeereo\.com\b +\bdraftydraft\.com\b +\bletzlearn\.org\b +\baberystwyth-online\.co\.uk\b +\bhomonym(e\.eu|es\.fr|-list\.com)\b +\bedom\.co\.uk\b +\bcopenhagencity\.org\b +\bjamsankoski\.com\b +\bbucegi\.info\b +\bmyrtle-beach-guide\.org\b +\bdiscoverlausanne\.com\b +\babout(porto|lausanne|sheffield|liverpool)\.com\b +\bnurnberg\.biz\b +\bbigorchestra\.com\b +\bmandelbrot\.ovh\.org\b +\bsms\.ie\.ma\b +\bphony\.ie\.ma\b +\busd4ever\.com\b +\bhotusd\.com\b +\bhkc22\.com\b +\bhow-to-make-money-easily\.com\b +\blinkedin\.com/in/nguyenta\b +\bthemilli\.com/ta\b +\bsiciliasud\.it\b +\bviticciodeironchi\.it\b +\bporno-izlee\.com\b +\bcontroversi\.org\b +\bstadtfuehrung-magdeburg\.de\b +\bmyoyvey\.com\b +\bbasketter1991\.wsnw\.net\b +\bcgi\.sfu\.ca/~gpeters\b +\babsolutregis\.com\b +\bdebruk\.pl\b +\bqpc\.ro\b +\bburcuyum\.com\b +\bmodeltravestiler\.com\b +\brenkarenk\.net\b +\btravesti(?:\.(?:bz|mn)|(?:cik|evi|sohbet)\.net|(?:evi|i|nilsu|esmerayasil|mujde)\.com|yim\.(?:org|com))\b +\bclupforsbar\.com\b +\bcindydila\.net\b +\brekli\.com\b +\bmedyumhabermerkezi\.com\b +\brenkarenk\.com\b +\bserapserap\.com\b +\binterkariyer\.com\b +\btrv(canan|seren|hazal|sabrina|helinay|kardelen)\.com\b +\btrvjanset\.net\b +\bsmartlinktrade\.com\b +\bankara(?:travestileri\.net|newsworld\.com)\b +\btoplis\.in\b +\biyi-dershane\.info\b +\bmerveiletisim\.com\b +\bdeniztube\.com\b +\byoutube(?:53\.com|city\.net)\b +\bkokoliko\.com\b +\bgribanov\.ru\b +\bexpekt\.com\b +\btradedoubler\.com\b +\bsbaffiliates\.com\b +\bnhatrang\.hotels\.officelive\.com\b +\bactive-domain\.com\b +\bautofinance-ez\.com\b +\bgimnazjum2\.tomaszow-maz\.pl\b +\baviaworld\.com\b +\bsexyunderwear-weddingdresses\.com\b +\bhealthcarebeauty\.org\b +\bzangao518\.com\b +\bgayfriend\.free-datings\.com\b +\bfree-jsf-components\.net\b +\bhip-hop\.net/member/Luna%20Musik\b +\bguzmanconstruction\.webs\.com\b +\blunamusik\.webs\.com\b +\bezber\.org\b +\bkenehastaligi\.com\b +\bolgu\.org\b +\bvideocix\.com\b +\bkikindai\.hu\b +\bdiegovelazquez\.(110mb\.com|webcindario\.com|about\.vg)\b +\bnachobenjumea\.atspace\.org\b +\bcosmoetica\.com\b +\bswinoujscie\.travel\.pl\b +\bceyiz\.com\b +\b51icjm\.com\b +\bcascadafan\.de\b +\bexhauss-ibnkhaldoun\.com\.tn\b +\bstencils\.ch\b +\bcasesdecastalla(\.blogspot)?\.com\b +\bgazipasam\.com\b +\badriatic\.wikidot\.com\b +\bandroid-phone\.org\b +\biaindustrie\.fr\.nf\b +\bwohnprojekte-berlin\.info\b +\bkoningin-wilhelmina\.hyves\.nl\b +\bgarbagefan\.8k\.com\b +\boutofthedark\.net\.ms\b +\brociomarquez\.com\b +\bbrazilthinks\.blogspot\.com\b +\bdelta-cimic\.com\b +\bverder\.cn\b +\bhumanity\.sh\.cn\b +\bsourmath\.com\b +\bcupvid\.com\b +\bbouncecup\.com\b +\bp-navigator\.com\b +\baudi-a1\.(org|com)\b +\bbulgarien\.(se|nu)\b +\b(redarmy|heavymetal|grandonline|(black|white|blue|red)devils|cska|bollywood|redarmy|holland|montecarlo|greekcasino|india|ganges|gibraltar|bangalore|greatwall|flamingo|goldenpalace|bellavista|germany|hongkong)(casino|poker(club)?)\.(com|biz|org|net|info)\b +\bsevenluckystars\.info\b +\b24karatgold\.org\b +\bpanama-pictures\.com\b +\boxidativstress\.se\b +\bcasino4e\.com\b +\bopus-info\.org\b +\bturkiyemirc\.org\b +\bircsohbet\.com\b +\bfotosalhambra\.es\b +\bchanneldb2\.com\b +\bplanetdb2\.com\b +\bmknk\.net\b +\bvivien-leigh\.info\b +\blepabrena\.biz\b +\bkuniyoshi\.fastmail\.fm\b +\bsearchoptima\.com\b +\btheclickinfo\.com\b +\binfoom\.se\b +\bclumber-spaniel\.(eu|nl)\b +\btourmycountry\.com\b +\bmonetpainting\.net\b +\bzeta\.torrent\.googlepages\.com\b +\bpitbuehler\.ch\b +\blamazmorraabandon\.com\b +\buaeuro2012\.com\b +\btoledo-travelguide\.com\b +\bjudetulgorj\.info\b +\bshakira\.in\.rs\b +\baccounts-rs2\.net\b +\b(hero|star)questgame\.com\b +\bcheryclub\.com\b +\bshibuimarkets\.com\b +\bveryglamour\.com\b +\btwisturl\.com\b +\bwikijava\.org\b +\bayfer\.org\b +\bayakizi\.com\.tr\b +\bplay-win-rummy\.com\b +\brummyportal\.com\b +\broomsinscotland\.com\b +\bwhitexx\.ru\b +\bbluecruisesturkey\.com\b +\bbayrams\.com\b +\banzacgallipolitour\.com\b +\bhotairballooncappadocia\.com\b +\bolympostreehouse\.com\b +\bzesttravel\.com\b +\bolymposturkey\.com\b +\bv-go(hotel)?\.(com|co\.uk)\b +\bboatcruiseturkey\.com\b +\banzacdaytoursturkey\.co\.(uk|nz)\b +\bmarmaris\.kalemguzeli\.net\b +\bdtools\.net\b +\bsuvn\.net\b +\blabeouf\.ru\b +\btanolis\.onesite\.com\b +\bmilitarygnome\.com\b +\brajasthantourism-india\.com\b +\blogialafayette\.blogspot\.com\b +\bmelandroweb\.it\b +\bmakulit\.info\b +\b2d-code\.co\.uk\b +\blasvegas-nevada\.com\.ar\b +\bmagnitiendum\.com\.mx\b +\btrademark-1\.com\b +\bmegarotic\.com\b +\brankingoogle\.com\b +\bwebseos\.5gigs\.com\b +\bgeocities\.com/search_engine_ranker\b +\bwebseos\.com\b +\bnew-york-divorce-attorney\.com\b +\bpharmacareerguide\.com\b +\btheactivechild\.com\b +\badriaticglobal\.net\b +\berosramazzotti\.biz\b +\burbanlive\.org\b +\balcoholaddiction\.org\b +\bvipflux\.com\b +\bjourneyetc\.com\b +\bluv-emo\.com\b +\bmusicflux\.net\b +\bbacalaureat2008\.net\b +\bsoccerbro\.com\b +\bmp3pls\.com\b +\bmyimg\.org\b +\baudado\.com\b +\bvector\.com\.pl\b +\bweb-app\.net\b +\becommerce[a-z]\.blogspot\.com\b +\bcommerceusa\.blogspot\.com\b +\biran(home|learn)\d?\.(blogfa|blogspot|blogtak)?\.(com|ir|net)\b +\bbuyuyenicerik\.com\b +\bweb-app\.us\b +\bmlapp\.org\b +\bwdalaw\.com\b +\banti-jw\.chat\.ru\b +\bnatureperu\.com\b +\bciovo\.eu\b +\bamanda-bynes\.tv\b +\bvanessa-hudgens\.tv\b +\brwitherspoon\.net\b +\bashley-tisdale\.tv\b +\bjennifer-pics\.com\b +\bsharapova-pics\.com\b +\baniston-pics\.com\b +\bgeocities\.com/(satanismresource|spiritualsatanist)\b +\bimmovableproperty\.com\b +\bbanknotes\.com\b +\bequay\.com\b +\bfloridah\.com\b +\bnortherncarolina\.com\b +\breserve-bank\.com\b +\bsingle2\.com\b +\buinternet\.com\b +\bbanknote\.biz\b +\bworldcurrency\.biz\b +\badrian-valles\.com\b +\bantalyahomes\.com\b +\bgroups\.yahoo\.com/group/satanismresource\b +\bCelebPoker\.com\b +\bimaginationtakeover\.blogspot\.com\b +\bmultiquiz\.net\b +\berosramazzottiweb\.com\b +\bwikifipau\.org\b +\bnukinavi-212\.com\b +\bdeli-spot\.net\b +\bza-hitonotsuma.co\b +\bnightlifepartner\.com\b +\boka-3\.com\b +\bfuzokudx\.com\b +\bpropaganda-web\.com\b +\bfolkmusicindia\.com\b +\bgiacomo\.lorenzoni\.name\b +\bviartis\.net\b +\bthingyurl\.com\b +\bcocateaperu\.com\b +\bincaperu\.org\b +\bminibooksworld\.com\b +\bsatanismresource\.fortunecity\.com\b +\bapartmani\.soko-banja\.org\b +\bgeocities\.com/Peces20 +\bzhengyexing\.com\b +\b1kez\.com\b +\badslkurulum\.com\b +\bcityairportrain\.com\b +\bkiralik-oto-ankara\.com\b +\bmuzikfakultesi\.com\b +\bpechakucha\.org\b +\bseoogle\.(com\.tr|net)\b +\bsomethingunpredictable\.com\b +\bvoxml\.org\b +\bcasino(?:gun|mundi)\.com\b +\bgallo(?:(?:eros|geo|sexy|shop|vip)\.com|mania\.it|media\.net)\b +\bpokerinweb\.com\b +\bsmsfusion\.com\b +\btreatmentcenters\.org\b +\bdrugrehabcenter\.com\b +\bcccb\.org\b +\bmaskmelin\.livejournal\.com\b +\bstadiumzone\.net\b +\bpedagogy\.ir\b +\bronaldoweb\.com\b +\balizee-latino\.com\b +\bossolaland\.com\b +\bm-monroe\.org\b +\bw3\.coh\.arizona\.edu/french/accueil\b +\bqaraim\.eu\.googlepages\.com\b +\bvideo-globe\.com\b +\bjehovah-shamah\.wikidot\.com\b +\banimal-sex\.com\.ua\b +\bvilnius1\.com\b +\badmiroutes\.asso\.fr/larevue/2007/83/kohl\.htm +\bla-palma\.de\b +\bblack-imari\.com\b +\bnil\.su\b +\baccessoarerdesign\.se\b +\btownbridgecom\.com\b +\bmuzioclementi\.org\b +\banadubawi\.com\b +\bphotomaxi\.com\b +#temporary to stop ongoing cross-wiki spam +\bbudterence\.it\b +\bitem4u\.com\b +\biphone\.click2creation\.com\b +\bachterhoek-promotie\.nl\b +\bpatagoniaschool\.com\b +\ball-pokersites\.com\b +\bautomovil\.cc\b +\bpowerplaymanager\.com\b +\bone2many\.eu\b +\bmonkeysee\.com\b +\bstavanger-guide\.no\b +\bsandnes-guide\.(com|no)\b +\bundeadcf\.info\b +\bkaralahana\.net\b +\bbaccara2007\.moonfruit\.com\b +\bbaccara-web\.de\b +\bboards\.melodysoft\.com/baccara2000\b +\bczejarek\.pl/baccara\b +\bmayte-mateos\.cabanova\.de\b +\bmondakalendaro\.org\b +\bklaku\.net\b +\bjameslastfan\.de\b +\beturbo\.net\b +\bdieselevante\.com\b +\brastaforum\.org\b +\bforexinvestor\.(se|de|nl|us|es)\b +\bseo-info\.nl\b +\bkavlak\.net\b +\badoraphoto\.com\b +\bmhbox\.cn\b +\bfm9001\.com\b +\bbjjnmc\.com\b +\bdaliprinting\.com\b +\bzstrans\.com\b +\b198m\.com\b +\bbendery-600\.ru\b +\bsheetmusicarchive\.net\b +\bmusicdumper\.com\b +\boil-community\.blogspot\.com\b +\bdesigparis\.com\b +\brapmatix\.com/musics/music527\.mp3\b +\breadysteadygirls\.eu\b +\bvipaocgold\.com\b +\baocsale\.com\b +\bbuyfastgold\.com\b +\baocgold10\.com\b +\bhellgate-pd\.com\b +\brgtrcredit\.com\b +\bbuy-cheap-aoc-gold\.com\b +\bgold4power\.com\b +\bgame4power\.com\b +\bmmop\.com\b +\bitemchannel\.com\b +\bgo4guide\.com\b +\bitemstores\.com\b +\bmmocdk\.com\b +\bbuyaccounts\.net\b +\bcheapsneakersb2b\.com\b +\bminu\.ws\b +\bwallpaper(-3d\.tripod|-new\.0catch|-new\.100freemb|\.totalh|\.66ghz)\.com\b +\bwallpaper\.0fees\.net\b +\btopsearch\.ws\b +\bpicturesofaruba\.com\b +\budinesechannel\.it\b +\btravel2macedonia\.com\.mk\b +\bmorrodesaopaulo(brasil)?\.com\.br\b +\bpousadamarraro\.com\.br\b +\b1host\.in\b +\bventimiglia\.biz\b +\byoutube\.com/watch\?v=tqedszqxxzs\b +\bolympiakosnicosia\.tk\b +\barcocarib\.com\b +\ball-tourism\.com\b +\bcheapestwowgold\.org\b +\bpharma(?:shell\.com|zon\.gr)\b +\bpha24\.com\b +\bfx-daytrader\.blogspot\.com +\bvuoialonsoinmclaren\.sitonline\.it\b +\baustrians\.at\b +\brosari\.eu\b +\bplantaospicegirls\.com\b +\bparroquiadepalafrugell\.com\b +\bhomonym\.fr\b +\bstreamingtheolympics\.com\b +\blluisllach\.pl\b +\bonline-roulette-gambling\.com\b +\bhuguesdepayns\.fr\b +\bfree-training-tutorial\.com\b +\bnijmegennieuws\.nl\b +\bdoetinchemnieuws\.nl\b +\beasypostjob4u\.com\b +\bfabianswebworld\.fa\.funpic\.de\b +\btheamazingsysrem\.ws\b +\bezy-money\.ws\b +# \binternationalbadminton\.org\b +\btarkanfunclub\.com\b +\bmeatsalad\.ru +\bphoneall\.ru +\breceptsous\.ru +\bsalad(?:meat|veg)\.ru +\bsiteons\.ru +\bsousrecept\.ru +\bvegsalad\.ru +\bweb-(?:hostings|siteon)\.ru + +##Highhi spam - See every contrib @ http://toolserver.org/~vvv/sulutil.php?user=Highhi +##Kylu 8/12/08 +\bhkcbn\.org\b +\bnavmc\.com\b +\b16885\.com\b +\bchaosantiques\.com\b +\btravelchinaplanner\.com\b +\bbellisimasexshop\.com\b +\bcinselticaret\.com\b +\bgulyeri\.com\b +\bhikayelersex\.com\b +\bkaliterehberi.com\.tr\b +\brealist(?:ikbebek|shop)\.com\b +\bsibersonic\.com\b +\bencostablanca\.com\b +\bgrupoesmeralda\.com\b +\bunitursa\.com\b +\bgal(?:axtur|etamar)\.com\b +\brocaesmeralda\.com\b +\bimperialpark\.org\b +\bdiamantebeach\.com\b +\bfirme\.rs\b +\bdtpwiz\.com\b +\bfirme.co\.yu\b +\bonlineseo\.info\b +\bfihaa\.com\b +\bcgarab\.com\b +\bmysmp\.com\b +\brich-media-project\.com\b +\bweb-anatomy\.com\b +\bmagicurl\.net\b +\bpaul-gauguin\.net\b +\bedgar-degas\.org\b +\bkatsushikahokusai\.org\b +\bgabrielmetsu\.org\b +\banderszorn\.org\b +\bvincent-van-gogh-gallery\.org\b +\brembrandtonline\.org\b +\beugenedelacroix\.org\b +\bwilliam-turner\.org\b +\bpierre-auguste-renoir\.org\b +\bgiottodibondone\.org\b +\bclaudemonetgallery\.org\b +\bcreepsmash\.de\b +\bur1\.ca\b +\b8xhost\.com/automativerepair\b +\bautoguide\.gigacities\.net\b +\bautomotiverepair\.co\.nr\b +\bautorepair\.netfast\.org\b +\bcureacne\.koolhost\.com\b +\bdedicatedhosting\.com\b +\be-tutes\.com\b +\bfastservers\.net\b +\bfreetutes\.com\b +\bfriendfinder\.com/go\b +\bgeocities\.com/cooltutorials\b +\bkqzyfj\.com\b +\bmaligant-mesothelioma\.co\.nr\b +\boxado\.com\b +\bprogrammersheaven\.com\b +\brealdownload\.webng\.com\b +\bresellerspanel\.com\b +\brhapsodydownload\.webng\.com\b +\bsystemanalysis\.(co\.nr|freehostpro\.com)\b +\btutes\.webng\.com\b +\btutorial(-index|ized)\.com\b +\bvbplanet\.gigacities\.net\b +\bwebng\.com/(pcnow|tutes)\b +\btnij\.org\b +\blegalmenu\.com\b +\bcalculate-linux\.org\b +\bbfcoffgeorgebush-yu\.blogspot\.com\b +\boinakarin\.com\b +\bitour(?:schina|beijing|stibet)\.com\b +\btripbus\.com\b +\btraveltibettours\.com\b +\bchinayak\.com\b +\btibetinchina\.com\b +\bpanda-tour\.net\b +\byangtzeriver-cruise\.net\b +\bseoloji\.org\b +\bguzelcekoyu\.org\b +\bvidovix\.com\b +\btarzoyun\.com\b +\bkurbaga\.net\b +\bsinematik\.org\b +\brehberblog\.com\b +\bibrahimari\.net\b +\bsuperoyunx\.com\b +\bibrahimerdogan\.com\b +\bkemalist-iz\.com\b +\bara-bux\.com\b +\bcaracal-pistol\.info\b +\bhost\.co\.in\b +\bfrancizor\.ro\b +\bchannelf\.ro\b +\bexploremychina\.com\b +\bhuntforjustice\.com\b +\benergie\.numeriblog\.fr\b +\bstaderennais1901\.com\b +\bnig\.gr\b +\bnike(?:888|888\.en\.ec21|xyz|-jordan-shoes)\.com\b +\bshoesprovision\.com\b +\bglobaltrademarket\.org\b +\bwmsg-draughts\.org\b +\bwikio\.com\b +\bfootball(?:-talents\.(org|fr|co\.uk)|-?talent\.net)\b +\bfutbal-talentos\.es\b +\bfussball-talente\.com\b +\bvoetbal-talenten\.nl\b +\bvissen-barramundi\.nl\b +\buseurl\.us\b +\bmemurl\.com\b +\bix\.lt\b +\bturo\.us\b +\bfreeitsolutions\.com\b +\bnederlandnieuws\.nl\b +\bforeignelegion\.blogspot\.com\b +\bbariloche(argentina\.blogspot\.com|\.esp\.br)\b +\bbombinhas\.org\b +\bhomero-simpson\.com\b +\bkillersites(design\.com|\.com\.ar)\b +\bonline(?:-hoteles\.com\.ar|hoteles\.com)\b +\bsimpsonstrivia\.com\.ar\b +\bvillalaangostura\.com\.br\b +\bonlinehoteles\.com\.ar\b +\bshop\.ebay\.com\b +\bbuk\.me\b +\bfuseurl\.com\b +\bgofrom\.us\b +\bprevurl\.com\b +\bshrink2one\.com\b +\btinycurl\.com\b +\bu95\.ru\b +\bxedurl\.com\b +\bquickfilepost\.com\b +\bjacksonstreet\.nl\b +\bfirenzebb\.net\b +\bisoladiburano\.it\b +\bmembers\.home\.nl/robtenberge\b +\brobtenberge\.nl\b +\byoutube.com\/watch\?v=XePjp-H3TBI\b +\bartstamps\.dk\b +\bflickr\.com/(79/250582482_305b4c1817_b|88/243534260_bf5d79f1f7_o|120/250582489_502d133364_o|1282/1344096823_c25a593078_b|1315/1332889069_b98e8bffea_o)\.jpg\b +\bvallenajerilla\.com\b +\bpowerleveling2000\.com\b +\bwhy(?:peoplesnore|getlasik)\.com\b +\bizits\.com\b +\bburiguri\.com\b +\bdailydiablo\.com\b +\bvqte\.com\b +\bxporntubex\.com\b +\bexetuning\.com\b +\btuttofassa\.stepdev\.org\b +\bconsultant-legros\.fr\b +\bsantapost\.fi\b +\bakenna\.net\b +\bcuri222\.blogspot\.com\b +\btrainpetdog\.com\b +\bdogpottytrain\.com\b +\bparrotsecrets\.com\b +\b(dogtraining|pug|akita|corgi|poodle|shihtzu|papillon|chihuahua|bordercollie|pomeranian|siberianhuskey|goldenretriever|germanshepard)institute\.(com|org)\b +\b0rg\.fr\b +\bpodhuri-sumavy\.cz\b +\balojamientosrurales(decantabria)?\.(com|net)\b +\bcuevamuseoaltamira\.com\b +\bsantillana-del-mar\.(com|es)\b +\bhellwars\.com\b +\bceo-europe\.com\b +\bmykonostour\.com\b +\bavsasitesi\.com\b +\bayurvedasite\.it\b +\bberlin-stadtfuehrung\.de\b +\bstallone-the-best\.piczo\.com\b +\bhardmob\.com\.br\b +\b(fotos|mapa)cantabria\.es\b +\bturismocantabria\.net\b +\bayonix\.com\b +\bclickmenorca\.com\b +\bbarradatijuca\.com\.br\b +\bdisfrutamallorca\.es\b +\bevarkadasi\.org\b +\bevertonfc\.ru\b +\bfurifuri\.org\b +\bfuroshiki\.com\b +\bgermany\.mygreatworld\.com\b +\bgoisproperty\.co\.uk\b +\balestevinos\.com\b +\bianchel\.nhveldh\.org\b +\bthe-mafia\.de\b +\bgreenshop\.hu\b +\bhackersunisel\.blogspot\.com\b +\bpokemonyaoi\.net\b +\btoolquarter\.com\b +\bstudiodiruggiero\.it\b +\bibneyiz\.biz\b +\bst-pauli-hamburg\.de\b +\bprincevaliant\.net\b +\b1(3485|4000|6949)store\.com\b +\b22000-(blog|tools)\.com\b +\b9001(-info|-training|resource)\.com\b +\bas9100(resource|store)\.com\b +\biso(?:-9000-2000|9000store)\.com\b +\bknol\.google\.com\/k\/cynthia-weber\b +\bnormas9000\.com\b +\bthe9000store\.com\b +\bts16949resource\.com\b +\bproduccionsblau\.com\b +\bsandhaan\.com\b +\bsilivriliyiz\.com\b +\bsodaquick\.com\b +\bplwha\.com\b +\bwebshabab\.com\b +\brapedaily\.com\b +\bhotmale\.com\b +\bkawase-market\.com\b +\b(baldwinchuck|bidenobama|clintonhillary|heres-your-chance-to-apologize|jewjewsjewish|jewsforjoseph|nationalmessenger|philadelphiachurchgod|plaintruthmagazine|sorry-iam|thepeoplewe|worldwidechurchgod|wrightjeremiah)\.blogspot\.com\b +\bdavidbenariel\.(blogspot\.com|wordpress\.com|org)\b +\bbingifm\.com\b +\bhindimirchi\.com\b +\bideasnext\.com\b +\bloksangeet\.com\b +\bmarathi(fm|fun|spice|zone)\.com\b +\bmasalaads\.com\b +\bmazafm\.com\b +\bmeemarathi\.tv\b +\bteluguclick\.com\b +\bbstat\.(e[su]|fr|org)\b +\bcomiris(-international)?\.com\b +\bsportig(g\.com|g?\.fr|g\.net)\b +\bcavenaghi\.artelista\.com\b +\baerobaticteams\.net\b +\bharptabs\.com\b +\bseinfeldx\.net\b +\bonlinerummikub\.com\b +\brummy(royal|-500)\.com\b +\bwinner-horse\.com\b +\bremi\.co\.il\b +\bhindyugm\.com\b +\b(merekavimitra|niyamawamsharten|hindyugmparichay|niyamawamsharten|kaviparichay|baaludyan|kahanikalash)\.blogspot\.com\b +\bhindyugm\.mypodcast\.com\b +\bgoalmaniac\.com\b +\bapelosurgentes\.com\.br\b +\bipbdesign\.ru\b +\beurodance4ever\.blogspot\.com\b +\bwilliamlong\.info\b +\bmzlit\.cn\b +\bmovv\.com\b +\bbstat\.(it|co\.uk)\b +\b34rock\.com\b +\beasyreikilearning(\.homestead)?\.com\b +\bturksevdasi\.com\b +\b70b(bs|log)\.com\b +\bhouhai\.(com|net)\b +\bi70s\.com\b +\bi928\.net\b +\bfotoambar\.com\b +\brott(forum\.com|der\.org\.tr)\b +\bokeytek\.com\b +\bweblence\.com\b +\beziyetsiz\.com\b +\bromanticapart\.com\b +\brapclips\.net\b +\bokeycafe\.com\b +\bnetarac\.com\b +\baylak\.com\b +\bzoomcad\.com\b +\bbranddaze\.com\b +\b(cool|nike)jordanshoes(onsale)?\.com\b +\bcamp\.wcbo\.org\b +\bhotel-neue-post\.de\b +\bparkguell\.net84\.net\b +\bcyinterview\.com\b +\bthesportsinterview\.com\b +\bdiaday\.com\b +\bmarrakech\.net\b +\bteletextonline\.de\b +\bsoft82\.fu8\.com\b +\bjproshin\.info\b +\btube-dudes\.net\b +\bcheck-antivir-tool\.net\b +\bdavemckay\.co\.uk\b +\bekomobiili\.fi\b +\bflachlaender\.fl\.ohost\.de\b +\bpixeljoint\.com\b +\bwayofthepixel\.net\b +\bbubleland\.nl\b +\bfrance-voyage\.com\b +\bmentorelio\.com\b +\bicanhaz\.com\b +\bvivaxp\.com\b +\byoutube-?hostels\.com\b +\bfacebookster\.com\b +\blogobench\.com\b +\bsalactive\.com\b +\b123seotalk\.com\b +\bdigital-kaos\.co\.uk\b +\bplanetlotto\.co\.uk\b +\btalk-scotland\.com\b +\buknationallottery\.net\b +\bpiurl\.com\b +\bwikimatera\.it\b +\b101pills\.org\b +\b10rx\.net\b +\b168hours\.us\b +\b1997pharmacy\.com\b +\b24h-drugs\.com\b +\b24x7pharmacy-online\.com\b +\b7{1,3}pills\.(net|com)\b +\babsulutepills\.com\b +\ball(thedrugs|medshop|amateur)\.(net|org|info)\b +\bamerican-drug-shop\.com\b +\bbargainmedsplace\.com\b +\bbeeimmo\.com\b +\bbest(medsplace|drugdirect|cheapmedsworld|canadianmed|-us-drugs)\.com\b +\bbonpharm\.com\b +\bbrandpills4u\.com\b +\bbuy(valuemeds|pillsstore|pharmonline|med24|bestdrug)\.com\b +\bca-(pharma|pills)\.com\b +\bcad(pharmacy|meds|meds-support|med-support|med-support|med-support)\.(info|com|net)\b +\bcanada(m[ea]nhealth|cheapmed|-rxpharmacy|-online-pharmacy|-best-drugs)\.com\b +\bcanadian(pillshop|s-drugstore|s-health|s-medication|s-pharmacy|s-pills|s-support|pharma?(world)?|pharmacystore|pharmacy-ltd|choicemeds|-meds-shop|-med-shop|-drug-pharmacy|-drug-meds|-discount-med)\.(com|biz|net|info|org)\b +\bcertified-pharmacy\.com\b +\bcheapestpill\.net\b +\bcheapvaluemeds\.com\b +\bcheckeddrug\.com\b +\bcialischeap\.info\b +\bdiscountmedsplace\.com\b +\bdoctorkrez\.com\b +\bdontsupply\.info\b +\bdoroven\.(org|info)\b +\bdrug(zdirect|storeforall|shopforyou|s4love|l|inshop|-x|-shop-online)\.com\b +\be-med(ical)?support.com\b +\beagle-pharmacy\.com\b +\bed-(megamall|medstore|medshop|meds-store)\.com\b +\beurohealthshop\.com\b +\bevgenycherkasovstore\.com\b +\bexpress-health\.info\b +\beyzempills\.com\b +\bfastpharmacies\.com\b +\bfeelfreetocontact\.com\b +\bfindallhere\.info\b +\bfinestmedications\.com\b +\bgeneric(pharm|-or-brand)\.org\b +\bgoodvaluemeds\.com\b +\bhealthcare7x24\.com\b +\bhousepills\.com\b +\bi(am)?bestlover\.com\b +\biii(pharmacy|drugstore)\.com\b +\bimpotencekiller\.com\b +\bjnouri\.com\b +\bkillmydisease\.com\b +\blegris\.org\b +\bli[vn]e-pharm(acy)?\.com\b +\blovetabs\.org\b +\bm-pills\.com\b +\bmdcagencies\.com\b +\bmed(sup|sthrifty|sportal|spill|5top|s-store|pills|icinestorerx|icinemartworld|icationscompany|icaredrugmart|icalonline24)\.(biz|com|us)\b +\bmegapharm\.biz\b +\bmens-medication\.com\b +\bminepills\.com\b +\bmy(pillguide|internetmedications|erectionpills|drugtablets|-drugstoreonline)\.com\b +\bnationalwebmeds\.com\b +\bnicetoolforu\.info\b +\bofficial(viagra|pharmacy|meds(world)?|drugstore)\.(net|com|org)\b +\boksek\.info\b +\bolanc\.com\b +\bon1ysex\.com\b +\bonline-(?:pharm(-?rx|-store)\d{0,2}|drug-shop)\.com\b +\bonline(medstoday|medshop|medscentral)\.info\b +\bonlinepharmacyltd\.com\b +\bonlypharmacy\.net\b +\bontario-drugs\.(com|biz)\b +\bonxe\.net\b +\bpdrugstore\.com\b +\bpendoz\.com\b +\bph24\.com\b +\bpharm-commerce\d{0,2}\.com\b +\b(blqtoiocihyuivbjytkedpmc|zmdzubgoqyzwjjntmutrccscxgcw)\.blogspot\.com\b +\bxykribwams\.com\b +\bprofessionalmedicines\.com\b +\brelaxin(italy|spain)\.ru\b +\btravelto(france|prague)\.ru\b +\bruicona\.ru\b +\bnewbluepill\.com\b +\bphentrimine-shop\.com\b +\bus-ds\.com\b +\bdeepforestmusic\.com\b +\bcyndilauper\.com\.br\b +\bdeepforest\.gotdns\.com\b +\bbillevans\.nl\b +\boprah-fansite\.com\b +\bgraffiti\.cx\b +\bteknoloji\.tc\b +\balternativemedicineseminars\.com\b +\bdaciaclub\.eu\b +\bteatropovero\.it\b +\bislantillaplaya\.com\b +\beloquentbooks\.com\b +\bspacephoto\.org\b +\bpol-and\.eu\b +\blittlebritainfan\.com\b +\btwilightsaga\.altervista\.org\b +\bpirucha\.net\b +\bvoler\.com\.tr\b +\bdekortas\.com\.tr\b +\bplwha\.org\b +\bhandandaily\.com\b +\bkaixin110\.cnblogs\.com\b +\bbit\.ly\b +\byanjiecao\.com\b +\bterryananny\.com\b +\bd-addicts\.com\b +\bolshansky\.sitecity\.ru\b +\bamisdecolette\.fr\b +\baspergeritjns\.suntuubi\.com\b +\bcbsystematics\.com\b +\bdivrigibayirlikoyu\.com\b +\bgaliffasyndrome\.com\b +\bgallery\.kunzweb\.net\b +\bhotclassic\.net\b +\bimaginate1057\.com\.ar\b +\bloiselet\.com\b +\bigrandiviaggidellagtf\.net\b +\byesemm\.com\b +\barchitectour\.net\b +\bmobilya\.wordpress\.com\b +\bteletext-online\.de\.vu\b +\bgolokbuday\.com\b +\bezmapfinder\.com\b +\bprincealwaleed\.blog\.mongenie\.com\b +\bstock-seller\.com\b +\bdavid-walliams\.co\.uk\b +\bhamachicity\.com\b +\b39pf\.com\.cn\b +\b51qimo\.com\b +\b91wxds\.cn\b +\bairgreat\.com\b +\bbeautyspacenter\.com\b +\bbjx(ps|ytx)\.com\b +\bchieftech\.net\.cn\b +\bchinakain\.com\b +\bclamandarin\.com\b +\bcnjcy999\.cn\b +\bcqdingyao\.com\b +\bdyhhly\.cn\b +\bdxjbzy\.com\b +\bfsjbkf\.com\b +\bgztao\.net\b +\bhblc123\.com\b +\bhelenarubinstein\.cc\b +\bhyshusongdai\.com\b +\bja010\.com\b +\bjiushun\.com\.cn\b +\bjxfilter\.com\b +\bks8code\.com\b +\blaw-ssc\.com\b +\bmlkq\.com\b +\bqm8881\.com\b +\bsako-or\.cn\b +\bshanghai(anfeng\.com|huayu\.cn)\b +\btfkfw\.com\.cn\b +\btkglc\.net\b +\bts-ky\.com\b +\bvipnikeshoes\.com\b +\bwellforcesbj\.com\b +\bwxboleda\.com\b +\bxcbzy\.com\b +\bxhhome\.com\b +\byyxingke\.com\b +\bzhuoyueenglish\.com\b +\bbaili-rollforming\.com\b +\bbeijing(808\.com|tour\.cc)\b +\bchuangliandsj\.com\b +\bchun-dance\.cn\b +\bdragonorient\.com\b +\bgd96\.com\b +\bhzxyck\.cn\b +\bshengxinan\.com\b +\bsssty\.cn\b +\bvaot\.com\.cn\b +\byanzifei\.cn\b +\bzhefiry\.com\b +\bzibohengtai\.com\.cn\b +\b31kv\.cn\b +\blinkbee\.com\b +\bdwz\.tw\b +\bppt\.cc\b +\bfree6\.com\b +\byoubt\.com\b +\bpornomotore\.it\b +\beroticbeauties\.cnet\b +\btrunc\.me\b +\bboxersrosadelosvientos\.com\b +\bjdv-trc\.blogspot\.com\b +\bmarquesdetamaron\.blogspot\.com\b +\bneta\.ge\b +\bd3aia\.(net|com)\b +\bwikivel\.org\b +\bcalculadoras\.com\.mx\b +\bnhal\.net\b +\bvitamincesitleri\.blogspot\.com\b +\bfrancescogeminiani\.com\b +\bsilviofioravanti\.it\b +\bchildren-behavior\.com\b +\bhedel\.info\b +\biles-de-lerins\.info\b +\binfoslash\.net\b +\bevancamp\.com\b +function/c_urlredirect\.asp\?url= +\brover\.ebay\.com\b +\bqlbi\.com\b +\bynrc\.net\b +\bkmhr\.net\b +\bchenghai\.com\.cn\b +\bbansko\.org\b +\bamericageo\.com\b +\bzalimcafe\.com\b +\bmesajlarsozler\.com\b +\bislamisohbetciler\.com\b +\bmotokolik\.com\b +\bgizliarkadas\.com\b +\bfikraz\.com\b +\bsohbetozel\.org\b +\bmotorlive\.org\b +\bogameilk\.com\b +\bsohbet15\.com\b +\bulix\.ucoz\.ru\b +\btolong\.in\b +\bapoke\.com\b +\bprojeksiyon\.com\.tr\b +\bcentralbohemia\.cz\b +\bnatal-live\.com\b +\burlsh\.com\b +\bicadsales\.com\b +\bhalf-lifebrasil\.com\b +\bblog\.fuku-heiwa\.main\.jp\b +\bredtube\.com\b +\bwebcam\.cap-d-agde\.com\b +\bhotelen\.net\b +\bporno\.ru\b +\bnaturist\.de\b +\bphoto\.sing365\.com\b +\bfreewebtown\.com\b +\b3iny3ink\.com\b +\b777z\.net\b +\b9down\.com\b +\ba7asisqtr\.com\b +\babhxlxeplc\.com\b +\badma1\.com\b +\baguileraundresse\.sprayblog\.se\b +\bahluae\.net\b +\bal1lg\.net\b +\banalmatureorgies\.net\b +\banti(-virus-live-scanner|virus-protectionscan)\.com\b +\bar-tra(vian)?\.com\b +\bartcateringbyjenn\.com\b +\bavxp-2008\.us\b +\bayda\.ru\b +\bbeautyxxx\.net\b +\bbigtits(\.yoll\.net|vision\.com)\b +\bbobsmetalworks\.com\b +\bbuterik\.com\b +\bcameos\.ca\b +\bclicks(agent\.net|overview\.com)\b +\bcold-live\.net\b +\bcomphost\.info\b +\bcykaqcpi\.mail15\.su\b +\bdajjh\.com\b +\bdarkstarhosting\.net\b +\bdefence-live-scan\.com\b +\be4e\.pl\b +\bext1\.pl\b +\bfoneplanet\.com\b +\bfreephpnuke\.org\b +\bfreewebhosting360\.com\b +\bfull-pc-scan\.com\b +\bgarnabudin\.ifrance\.com\b +\bgeltraffic\.com\b +\bgoogleimproved\.com\b +\bgreatnuke\.com\b +\bgulfup\.com\b +\bgwengalerevealed\.blogspot\.com\b +\bh1\.ripway\.com\b +\bhikayeler99\.com\b +\bhostdandy\.info\b +\bhotusa\.org\b +\biblogger\.org\b +\biconadserver\.com\b +\bincestlessons\.net\b +\binvisioni\.com\b +\bisuisse\.com\b +\bkernell\.freeo\.net\b +\bkitchen-moms\.com\b +\bklik\.in\b +\blesbian-hotties\.biz\b +\blineacount\.info\b +\bmooon-light\.com\b +\bmov(shighway|zline|iezlibs)\.com\b +\bms-avc\.com\b +\bmy(bikerz|okhost)\.com\b +\bnoirgroup\.org\b +\bnssim\.com\b +\bp2h\.info\b +\bpawka111\.info\b +\bpineridgehouse\.com\b +\bpluscount\.net\b +\bporndreams\.info\b +\bprivatewebsphere\.com\b +\bpro-scanner-online\.com\b +\bprogramlar\.org\b +\bproscribedsites\.info\b +\bredir\.to\b +\bs2a2s\.com\b +\bsaklanbac\.net\b +\bsalahws\.com\b +\bscorebee\.com\b +\bsecond-reason\.com\b +\bseedrecords\.co\.uk\b +\bselectedclipz\.com\b +\bsfntop\.com\b +\bshawya\.(43i\.net|freetzi\.com)\b +\bsvinushka\.net\b +\bteenlotto\.com\b +\btobikat\.com\b +\btrlist\.gen\.tr\b +\bturbo-player\.com\b +\btxdnl\.com\b +\bunetworks\.biz\b +\bviacodecright---\d\.com\b +\bvidzd(aily|evice)\.com\b +\bvsatforums\.com\b +\bwackystone\.com\b +\bwar3z\.to\b +\bwarezrocker\.net\b +\bweb1counter\.cn\b +\bwebmed\.com\b +\bwindoffresh\.ru\b +\bwmpinstrument\.com\b +\bwp-stats-php\.info\b +\bwwwinfoclick\.com\b +\bxdxbx\.com\b +\bxxxstarvideo\.com\b +\byieldmanager\.com\b +\bz4ar\.com\b +\bzlzaluae\.com\b +\bzzw\.pl\b +\be-zgierz\.eu\b +\bdifferentangle\.info\b +\bfarmersdaughterhotel\.com\b +\bgm-rus\.ru\b +\bsmileycentral\.com\b +\bwest-alliierte-in-berlin\.de\b +\buser-guides\.co\.uk\b +\bspritzlandia\.it\b +\bsintanna\.eu\b +\balkhabar\.tv\b +\bwww\.pinspenyes\.com\b +\btrampero\.com\b +\barab-sex\.org\b +\baskell\.com\b +\bmarinedataservice\.com\b +\bpatagonia(adventure|adventureracing|expedition)race\.com\b +\bmysiyaset\.com\b +\bmelitopol-realty\.com\b +\bluigitenco60s\.it\b +\bushebtisegipcios\.blogia\.com\b +\bgirlswallpaper\.net\b +\bturkgayclub\.com\b +\bbabes2babes\.net\b +\bmyweb\.io\b +\bmiarroba\.com\b #replaces \bnacho\.miarroba\.com\b +\bsuche-vorwahl\.de\b +\barcadvisor\.com\b +\besyurl\.com\b +\bnanoshop\.ir\b +\bfestivalbeckett\.com\.ar\b +\bbitgle\.com\b +\brealgems\.org\b +\bsixxs\.org\b +\bibis\.experimentals\.de\b +\bsheqel\.info\b +\blamborghiniaddicted\.fr\b +\blittl(ink|eurl)\.com\b +\bskinnylink\.com\b +\bsmallurls\.com\b +clubevfrportugal(\.freehostia)?\.com +\bannenurmi\.cl\.gd\b +\bthemoviesareus\.com\b +\bclubsimca\.fr\b +\btorokkanizsa\.extra\.hu\b +\bfizy\.org\b +\bgorodetc\.ru\b +\bnarcotics\.su\b +\bseesplit\.com\b +\bkarakalpak\.com\b +\bstrivinglife\.com\b +\bsouvenir-dvd\.com\b +\bzurl\.ws\b +\burlpire\.com\b +buzz\.igg\.com +\bellibrodelmensajero\.blogspot\.com\b +\bfirmypuchov\.sk\b +\bugg4sale\.com\b +\bimagenes\.condenet\.es\b +\bfarecompare\.com\b +\bak-kelebek\.com\b +\bmaselectromedicina\.com\b +\bsurmedical\.com\b +\byayinakisi\.com\b +\binugg\.com\b +\bbyfiles\.storage\.live\.com\b +\bashtalakshmi\.com\b +\bte\.tl\b +\bw3tag\.com\b +\bvillemagne\.net\b +\brosarioonline\.altervista\.org\b +\bshotokai\.com\.br\b +\bpuratimba\.com\b +\bpetardas\.com\b +ferienwohnungen-auf-sizilien\.de +\bvova\.cz\b +\binxs\.phpbbforum\.eu\b +\bhotel-erb\.de\b +\bbestwestern\.de\b +\bhotel-am-borsigturm\.de\b +\bteosofia-liberdade\.org\.br\b +\balestewines\.com\b +\bthebusschedule\.com\b +\blinksemulacao\.googlepages\.com\b +\btsmservice\.fr\b +\bcamilla-belle-picture\.blogspot\.com\b +\bgroohashpazi\.blogfa\.com\b +\bmiata\.es\b +\baccumalaga\.es\b +\bpatagonia-web\.com\b +\btorrevieja24\.com\b +\bxtreme-corp\.net\b +hitlerbunker\.com +\bsnapmaze\.com\b +\bdreamscreators\.com\b +\blenr-canr\.org\b +\bal-wlaah\.com\b +\bborgloon\.com\b +\bbredene\.com\b +\bbruggebusiness\.com\b +\bdehaanonline\.com\b +\bdilsen-stokkem\.com\b +\bheusden-zolder\.com\b +\bizegem\.com\b +\bkruibeke\.com\b +\blanaken\.com\b +\bmaas(?:eik|mechelen)\.com\b +\bmortsel\.com\b +\bpoperinge\.com\b +\bpuurs\.com\b +\briemst\.com\b +\brotselaar\.com\b +\btemse\.com\b +\btielt-winge\.com\b +\bveurne\.com\b +\bvlaams-brabant\.com\b +\bflandersonline\.com\b +\bwenduine\.com\b +\bwervik\.com\b +\bwetteren\.com\b +\bzonhoven\.com\b +\befuengirola\.com\b +\bbenalmadenacosta\.com\b +\bsotograndecosta\.com\b +\bleopoldsburg\.com\b +\bua-teens\.com\b +\bcorazondepuebla\.com\.mx\b +\bportalcadista\.com\b +\bberlinertageszeitung\.de\b +\binstantocr\.com\b +\bsematild\.qsh\.eu\b +\blofaako\.strefa\.pl\b +\bgolxando\.0lx\.net\b +\bmysafelink\.com\b +\brachmaninow\.narod\.ru\b +setif\.forumactif\.info +giurgiuro\.blogspot\.com +\bnegox\.com\b +\boomoto\.ucoz\.ru\b +\btalk\.to\b +\bklimenro\.0fees\.net\b +\bw-ru\.com\b +(russian-?|\bru-)(bride|girls|ladies|lady|single|wife|wives|wom[ae]n) +(on-?line-?|ua|own|okfree|go4)dating(\b|\d|site) +\b(vipgirlie|brides(finder|inrussia)|visa2russia|matchingsite|my-wife)\.net\b +\b(russ-love|myfreecupid|princessbridesite|asterot|mygourds|fianceefromrussia)\.com\b +\bwomenrussia\.eu\b +\beroticvisits?\.com\b +\blove-r\.info\b +\b(jorge150|jorgesoftware)\.blogspot.com\b +\bihateliz\.com\b +muselius\.com +\bkelebeknakliyat\.com\b +\byandex\.ru/redir\b +\bexvaluere\.com\b +\bzilnic\.net\b +\bgreencard-vision\. +\bkanqateam\.com\b +\bcanoesport\.ru\b +\bglobalflight\.net\b +\bfajelacicevidvorizapresic\.blog\.hr\b +\bgeckoleo\.com\b +\byoujizz\.com\b +\bminyurl\.net\b +\bautomania\.it\b +\bfff\.to\b +\blink4seo\.com\b +zurnafinal\.net +\bski-russia\.net\b +\bymap\.ru\b +\bsomkutin\.fw\.hu\b +\bnewdigitalsouth\.org\b +\bmoggames\.net +(buy|cheap)-?viagra +viagra-?(drugs|online|billig) +\bearth4energy(z|-solarhome.blogspot)?\.(tk|com|net)\b +\bhome-energy\.tk\b +\bearth-energy4home\.tk\b +\bfile-factory\.co\.uk/energy\.html\b +\bterrastraniera\.de\b +\bwww-2\.net\b +\bcyborg-on-smallville\.tk\b +\bhome-made-energy\.tk\b +\bweight-loss-pros\.tk\b +\bimg\.yandex\.net\b +\bla-biznaga\.com\b +\bannneftin\.com\b +\bnlpls\.com\b +\byammypix\.com\b +\blettercredit\.com\b +\blacrimosaforever\.com\b +\bhotel-cezar\.com\b +\bapartments-makarska\.com\b +\bexotour\.ge\b +\bafricainquirer\.com\b +\b3dmax-tutorials\.com\b +\banatoliangifts\.com\b +\barchicad-tutorials\.info\b +\bautomatic-level\.com\b +\bbatik-tulis\.com\b +\bbloomsandbaskets\.com\b +\bcharacter-studio\.net\b +\bchinawholesale247\.com\b +\bconstruction-laser\.com\b +\bcosmeproud\.com\b +\bdigitaltheodolite\.com\b +\bdistanciometro\.com\b +\beastalgarvevilla\.com\b +\bechosounder\.org\b +\becommerce-designer\.com\b +\ben-ru\.org\b +\bfreelanceprogrammers\.org\b +\bgeminispanishproperties\.com\b +\blalamirr\.com\b +\bmeasuring-wheels\.com\b +\bnxs4\.com\b +\botakuhouse\.com\b +\bpdesigner\.net\b +\brtks82\.com\b +\bsmsmp3\.co\.uk\b +\bstonex(italia\.it|surveying\.com)\b +\bteodolito\.org\b +\btopografico\.net\b +\btotalstation(shop\.com|\.org)\b +\btravelbaku\.com\b +\b(ay7agh|linkat)\.l9l\.org\b +\bmobileey\.blogspot\.com\b +\basbestos4info\.blogspot\.com\b +\bizucardematamoros\.net\b +\b3x3\.in\b +\bgeocenter\.es\b +\bborat-bruno\.com\b +\baviatorsale\.com\b +\bzlatwork\.ru\b +\bparisairportguide\.com\b +\bexvaluere\.(co\.uk|eu|us)\b +\b4uaf\.com\b +\bair-(max-shoes|shox)\.com\b +\baj2u\.com\b +\bmax-sky\.com\b +\bnbajs\.com\b +\bnike-star-shoes\.com\b +\bphoneworth\.com\b +\bugg2u\.net\b +\bcheap-air-jordan\.cn\b +\bdunk2u\.com\b +\bsilver-tiffany\.com\b +\bdiaghilev\.org\b +\bwellness-heaven\.net\b +\bversicherungs-check\.info\b +\bdax-prognose\.de\b +\b3dtour\.eu\b +\bihtiandr\.info\b +\btrakomedia\.com\b +\bdivxsubtitles\.net\b +\bandroid-phones\.ru\b +\bfreebiesms\.co\.uk\b +\b301\.am\b +\bturkishcoffeehouse\.blogspot\.com\b +\bsystem-linux\.eu\b +\bchitinshield\.blogspot\.com\b +\bsturly\.com\b +\bturkeytravelinfo\.net\b +\bhidro-teknik\.com\b +\bapolitik\.org\b +\b123(?:biotech|goa|indiaonline)\.com\b +\bamericansharemarket\.info\b +\basiansharemarket\.com\b +\basianstockmarket\.ws\b +\bawesomehomilies\.com\b +\bbestin(diancooking|diancuisines|dianfilms|tourism)\.com\b +\bbest(?:healthtourism|seoguide)\.com\b +\bblackpoollive\.net\b +\bbrainees\.com\b +\bbuyseolinks\.com\b +\bexamtoolkits\.com\b +\bh1bmarriages\.com\b +\bindianhoneymoonspots\.com\b +\bindianshare(market\.net|sonline\.com)\b +\bindiaweblinks\.com\b +\binvestingstock\.info\b +\bjustworldcup\.com\b +\bkeralanews\.co\.uk\b +\bmanchesterlive\.net\b +\bmortgagetoolsandtips\.com\b +\bmyworldcupinfo\.com\b +\bprestononline\.net\b +\bprojectmanagementideas\.com\b +\brealdummies\.com\b +\bstockandsharemarket\.com\b +\bthodupuzha\.(info|net)\b +\btourism-worldwide\.com\b +\buksharemarket\.com\b +\bukstockmarket\.info\b +\bukvisit\.net\b +\bvallarpadam(port|terminal)\.com\b +\bvcode(4u|infosystems|infotech)\.(com|net)\b +\bvismayamax\.com\b +\bworldwondersweb\.com\b +\bblog-teachingsolutions\.org\b +\b(ca|texas-)teachingsolutions\.com\b +\btest-help\.org\b +\bpraxis-test-coaching\.com\b +\bduparts\.com\b +\bfarmsandvillas\.com\b +\bantonioolinto\.co\.nr\b +\bseecornwall\.eu\b +\bcornwall\.rgds\.pl\b +\bvkusnyblog\.ru\b +\biremetforlag\.tripod\.com\b +\btriviabot\.galeon\.com\b +\bgenovagay\.com\b +\bexamjunction\.blogspot\.com\b +\bquijuve\.com\b +\bhostingdnz.com\b +\b[dh]enizhost\.net\b +\bhostingclub\.tk\b +\balanadial\.net\b +\bbereketnikahseker(i|leri)\.com\b +\bhostclub\.tk\b +\bbagrut\.org\b +\bclassicalhebrew(blog)?\.com\b +\bjewish-greetings\.com\b +\blearn-hebrew-names\.com\b +\bmy-chinese-name\.com\b +\bmy-christmas-card\.com\b +\bbible-name\.com\b +\bchinese-character\.com\b +\bchinesevoice\.co(m|\.il)\b +\be-teacher\.co\.il\b +\benglishonline\.co\.il\b +\beteachergroup\.com\b +\bhebrewonline(\.co\.il|(blog|shop)?\.com)\b +\bhomeworkhelp\.co\.il\b +\blearn-(chinese-blog\.com|hebrew-phrases\.com|hebrew\.co\.il)\b +\bb23\.ru\b +\bfarmcliff\.com\b +\bzlatni-bol\.com\b +\bzabranjenaljubavblog\.blog\.hr\b +\bbol-croatia-apartments\.com\b +\bdiromo\.com\b +\bdvdkaraokejukebox\.com\b +\baccountsbay\.com\b +\bblog\.mook\.com\.tw/wow_account\b +\bblogs\.albawaba\.com/wowaccount\b +\bgamemobile\.com\b +\bgoldups\.com\b +\bitem4sale\.com\b +\bsamyibiz\.com\b +\bthsale\.com\b +\bwow-accounts?\.(net|org)\b +\bwow\.xtrablog\.dk\b +\bwowaccount\d?\.(obolog|xtrablog|indiainteracts)\.(com|dk)\b +\bwowgold51\.net\b +\bairdestroyer\.ru\b +\bchatarkadas\.net\b +\bceppaloni\.info\b +\bforexfacile\.it\b +\bdoramovie\.blogspot\.com\b +\bcardollarsforall\.com\b +\bcarmoneyrealfast\.com\b +\bcarloan123\.net\b +\bsuper-avi-converter\.com\b +\bauto-loan-refinance\.net\b +\ballmyhealth\.net\b +\bguiaderoses\.net\b +\b104-game\.blogspot\.com\b +\b168games\.blogspot\.com\b +\b8591-game\.blogspot\.com\b +\bfree(-games|onlinegames|title)\.net\.ru\b +\bfreegamesbase\.com\b +\bfun-games\.net\.ru\b +\bgameswu\.pixnet\.net\b +\bharry-potter\.pp\.ru\b +\binkheart\.net\.ru\b +\bminiclip\.net\.ru\b +\bmlb\.net\.ru\b +\bonlinegames\.net\.ru\b +\bplaygames\.pp\.ru\b +\bsecondlife\.pp\.ru\b +\bvideogames\.net\.ru\b +\bzkaskay\.com\b +\balizeeclub\.ucoz\.ru\b +\bzonemediafire\.tk\b +\bkrabi\.info\b +\bbaalart\.com\b +\bxr\.com\b +\bgrancanarias\.wordpress\.com\b +\bsexshopdf\.com\.mx\b +\broyalhouseofportugal\.org\b +\bcasareal(deportugal|portuguesa)\.org\b +\bzi\.ma\b +\bmylottoadserv\.com\b +(ireland|(euro|mega)mil|canada|the)lotter(wiz)?\.com\b +\bknightrider\.3dn\.ru\b +\bfunctionpointmodeller\.com\b +\bgost-ukrsepro\.com\b +\bpag-kolan-novalja\.com\b +\bchinatravelvip\.com\b +\bhowtogold\.com\b +\bacupuncture(-points)?\.medicalspecialists\.info\b +\bbuy-mmorpg-money\.com\b +\bbuycd-key\.com\b +\bcheap(-vanguard-gold|est4ffxigil|estwowgoldworld|wow-gold-us-eu)\.com\b +\bcolleges\.findyourschool\.info\b +\bdetox(ification\.findhealthinfo\.net|treatments\.medicalspecialists\.info)\b +\bepicwower\.com\b +\bffxi(-sale|4gil)\.com\b +\bfindgamecheats\.net\b +\bflightschools\.aircraftdata\.net\b +\bgame(isok|rsell)\.com\b +\bgoldcheapest\.com\b +\bgolf-swing-instructions\.thegolfplanet\.info\b +\bgosuperplayers\.com\b +\bgp4runescape\.com\b +\bguildwars-sale\.com\b +\bhaomianfei\.com\b +\bibuymils\.com\b +\bidspire\.com\b +\bmmorpg-currency-store\.com\b +\bmygamestock\.com\b +\bpurchaser(s2money|unescapemoney)\.com\b +\brs(2moneystore|4sale)\.com\b +\brunescape4gold\.com\b +\bshoppingrs2\.com\b +\bvanguard-gold-sell\.com\b +\bwatches\.realbeauty\.info\b +\bwow(-paypal\.com|suibian\.com|game\.cn|china\.us)\b +\bwowgold((-?shopping|order|sell|service|vip\.wordpress)\.com|\.org\.cn|price\.org)\b +\byogawww\.com\b +\bgame15\.tk +\bbaixllobregat\.tv\b +\bwalernov\.narod\.ru\b +\bmandalaseverler\.somee\.com\b +\bscavidiercolanopompei\.jimdo\.com\b +\bantitub\.com\b +\bwedmi\.ru\b +\bgoodquotes\.org\b +\bsestosenso\.com\b +\b888\.com\b +\btanquesyblindados\.tk\b +\bcanon(\d+[a-z]+|[a-z]+\d+)\w*\.ru\b +\bgreenpower\.com\.ua\b +\buglezhog\.ru\b +\bthermoscan\.in\.th\b +\bnightvision\.in\.th\b +\bvibration\.in\.th\b +\binfrared(training)?\.in\.th\b +\bsafety\.in\.th\b +\bfilipina4u\.net\b +\bghumlo\.com\b +\bciill\.com\b +\b10bux\.net +\b5centminimum\.com +\ba-n-cash\.com +\baaa-mails\.com +\bad(5\.biz(ad-fortune\.com)?|-fortune\.com|onlyptc\.us|qds\.com|sbux\.org|smaker\.net|sneed\.com|vertisingcentral\.biz) +\baglocomails\.com +\bahacash\.com +\balertpay\.com +\bal(lcashmail|lyousubmitters|miyachts|tsurf|wayspay)\.com +\bam(erican-mails|igoemail|ity-cash)\.com +\ban(-cash|nies-biz|s-advertising)\.com +\bap(ache|pealing|ple|polo)mails?\.com +\bar(ab-gpt|abbux|adiasgarden|cane-mails|csurvey|cticmails|rowheadptr)\.com +\basonewishes\.com +\ba(tom[-s]|uction-e)mails\.com +\bawsurveys\.com +\bba(byloncash|n-mail|nboocash|ybux)\.com +\bbank-mails\.(com|net) +\bbe(anybux|arshare-mails|autymails|eptr|etrmails|stflymails|ta-cash|ttybucks|yondemails)\.com +\bbest-hyip\.be +\bbgpaymails?\.com +\bbi(gdollar-mails|ggestdollars|gluck-mails|gpaymail|lliondollarmails|zbizs|zsonline)\.com +\bblacklistptc\.blogspot\.com +\bblue(maniacs|rwebmail)\.com +\bbo(a-|bo|ffopaid|rat|ss-)mails?\.com +\bbondjamesbond\.net +\bbournemouthbreeze\.com +\bbravevolitation\.com +\bbu(gcash|sinessptr)\.com +\bbux(\.to|a\.in|euro\.com|galore\.com|junction\.com|out\.com) +\bcamel-mails\.com +\bca(n-discount|ndy-mail|nnabismails|t-mails|t-ptr|tch-cash)\.com +\bcash(-kitty|4(all|hits)|n?bux|eden|fiesta|nclicks|origin|out|pointclicks|posse|read|sea)\.(com|org|net) +\bcasino-mails\.com +\bcgcash\.info +\bch(arm-mail|erokeeptr|icago-ptr)\.(biz|com) +\bchobit[-s]?mails\.(com|net) +\bclass(-act-clicks|ical-mail)\.com +\bclick(-mails|-monkey|-wizard|2earnmoney|4coins|buxx?|cent|evolution|fantasy|ingmoney4u|oly|s(-4-cash)?|topsites)\.(biz|com|net|org) +\bclixy\.net +\bclo(nebux|set-clickers|udmails|verclicks)\.(com|net) +\bco(ast-?mail|inclicks|lor-mail|mpactmails|okie-mails|operativemail|pymails|smicwealth|splaymails|verclicks|wboy-mail)\.(com|info) +\bcr(abmails|ash-cash|azy-4-cash|azyclicks|eam-mails)\.(com|us) +\bcy-mails\.com +\bearn3\.com +\begyptp(ost\.org|tc\.com) +\bisabelmarco\.com +\bneobux\.to +\bp2cdaily\.com +\bperfectbux\.com +\brocashbux\.info +\broudycash\.com +\bsandraclicks\.com +\bthinkbux\.com +\bcropcirclesdatabase\.org\b +\bfilipina4u\.proboards83\.com\b +\bshrinktheweb\.com\b +\bpaiagua\.com\b +\bw3c-at\.org\b +\bkaysericity\.net\b +\bhadiseacikgoz\.net\b +\bingsys\.com\.ua\b +\bnigelkennedyonline\.com\b +\bdonada\.it\.gg\b +\bsexyemilie\.com\b +\bhamspirit\.org\b +\bpostrockxchange\.com\b +\bbecollared\.com\b +\bsamui-samui\.org\b +\bsamuitiger\.de\b +\bno2low\.com\b +\bfortalezaapartments\.net\b +\bharz-unterkunft\.eu\b +#Croatian tourism-spammer +\bhvarinfo\.com\b +\bmakarskainfo\.com\b +\bvisinfo\.org\b +\bikorculainfo\.com\b +\bbracinfo\.com\b +\btrogirinfo\.com\b +\bomisinfo\.com\b +\bciovoinfo\.com\b +#End of Croatian tourism spammer +\bklikhierniet\.net\b +\bscaffolddesigns\.com\b +\bvisualtarot\.com\b +\basianmediawiki\.com\b +\blunapark6\.com\b +\bcadstudio\.ru\b +\bcarhiredubrovnik\.com\b +\b6starescort\.blogspot\.com\b +\b6-star-escort\.rare-escort\.com\b +\beberhardfritz\.de\.tl\b +\bventspils\.info\b +\bvinilosrock\.blogspot\.com\b +\bharmonicafans\.com\b +ayahuascadistribution\.org +\blaslomitasvirtual\.com\b +\btigerdogskingdom\.com\b +\bregression\.nl\b +\bsvetlanov\.ru\b +\bmons\.hr\b +\bcredit-calc\.com\b +\bgoogle\.(com|(com\.)?[a-z]{2})/.*[?&]btnl=1 +\b(lmgtfy|letmegooglethatforyou)\.com.*[?&]l=1 +\bhacibektas\.de\b +\bkaracaahmet\.com\b +\balevi\.com\b +\bgeminimanagementnv\.com\b +\b4images\.gen\.tr\b +\bpublic-domain-image\.com\b +\bgrantorinoteam\.blogspot\.com\b +\balovize\.com\b +\bmymoneymarket2009\.blogspot\.com\b +\bshadmehraghili\.ws\b +\bvirginiacuellar\.spaces\.live\.com\b +\.kproxy\.com\b +\bsilav\.net\b +\btinyarro\.ws\b +\bkiyipansiyon\.com\b +\bsilvento\.kiev\.ua\b +\brealultimatepower\.net\b +xxxxxx/ +\bpresaleswiki\.com\b +\b7p-e\.com\b +\b(good|very|goin|demo|auto)\.to\b +\b(hit|just|key|forever)\.as\b +\btestmasters\.net\b +\bkerryshine\.com\b +\bjudyspence\.com\b +\bjuliagillard\.org\b +\bpetergarrett\.org\b +\bliberalnationalparty\.org\b +\blaborparty\.info\b +\brossgarnaut\.com\b(?!\.au) +\bworldrecession\.org\b +\blivetribun\.com\b +\ba-to-z-artists\.blogspot\.com\b +\baquitaine\.wikidot\.com\b +\bartists\.wikidot\.com\b +\bauvergne\.wikidot\.com\b +\bbirmingham\.wikidot\.com\b +\bbretagne\.wikidot\.com\b +\bbristol\.wikidot\.com\b +\bbrittany\.wikidot\.com\b +\bburgundy\.wikidot\.com\b +\bcentre\.wikidot\.com\b +\bcharente\.wikidot\.com\b +\bdevon\.wikidot\.com\b +\bdor(dogne|set)\.wikidot\.com\b +\bfrench-property\.wikidot\.com\b +\bgeoff-bunn\.wikidot\.com\b +\bgloucestershire\.wikidot\.com\b +\bherefordshire\.wikidot\.com\b +\blanguedoc\.wikidot\.com\b +\blimousin\.wikidot\.com\b +\bloire\.wikidot\.com\b +\bmidi-pyrenees\.wikidot\.com\b +\bnormandy\.wikidot\.com\b +\boxford\.wikidot\.com\b +\bpoitou-charentes\.wikidot\.com\b +\bshropshire\.wikidot\.com\b +\bsomerset\.wikidot\.com\b +\bwiltshire\.wikidot\.com\b +\bworcester\.wikidot\.com\b +\baustralia(npoliticians\.com|ncorruption\.com|npolice\.net|zoo\.us)\b +\bbindiirwin\.name\b +\bcavingaustralia\.org\b +\bdavidtennant\.org\b +\bdivingaustralia\.org\b +\bhangglidingaustralia\.org\b +\bhelenclark\.org\b +\bkevin(michaelrudd|ruddmyspace)\.com\b +\bkylieannminogue\.com\b +\blegalisemarijuanaparty\.com\b +\bliberalnationalparty\.com\b +\bnewdrwho\.com\b +\bnewgallifrey\.com\b +\bstevenmoffat\.org\b +\bprojectorlampsworld\.com\b +\b(sandoftime|rare)-mv\.(ucoz|narod)\.ru\b +\bevrekaegitim\.com\b +\bjaponcakonus\.com\b +\berciyesgazetesi\.com\b +\balbelda\.info\b +\barm\.in\b +\bchat\.com\.tr\b +\botagyorukcadirlari\.com\b +\bfinance\.asia\b +\bag0ga\.com\b +\barticleiq\.com\b +\bbeijingrealestate\.eu\b +\bcentralasianews\.eu\b +\bdiamonds\.uz\b +\beurasianews\.eu\b +\bfainvestment\.com\b +\bfinancing\.asia\b +\bhotelnikko\.com\b +\binsure\.asia\b +\blonelyplanet\.org\b +\bmytyshi\.co\b +\boption\.us\b +\brefinance\.mobi\b +\bsatte\.com\b +\btaliban\.asia\b +\btext\.asia\b +\btours\.asia\b +\bunicycletrials\.com\b +\buzairways\.eu\b +\buzbekistanairways\.eu\b +\bvip\.asia\b +\bmyspace\.com/zhoroscop\b +\besnips\.com/zhoroscop\b +\bzhoroscop\.hi5\.com\b +\bnonameno\.com\b +\bwissensbilanz\.ch\b +\blarafabiannews\.kit\.net\b +\bmanavgatim\.net\b +\bmegasuits\.wordpress\.com\b +\bmens-fashions\.blogspot\.com\b +\belegant-mens-apparel\.blogspot\.com\b +\bfondane\.eu\b +\bblogven\.net\b +\bbustersbuzz\.com\b +\bsexoroid\.com\b +\bhotelslloret\.com\b +\bcorluhaber\.com\b +\bhelptranslation\.com\b +\blabottegadimartone\.it\b +\bstilnakliyat\.com\b +\bidiomfox\.com\b +\bfrmcix\.com\b +\bshadyrunstudios\.tripod\.com\b +\bin-grid\.com\.pl\b +\bmorandi\.one.pl\b +\bcascada\.xt\.pl\b +\bingrid\.wot\.pl\b +\bin-grid\.xt\.pl\b +\bmardelbuscador\.com\b +\bsuper-masini-tuning\.blogspot\.com\b +\bramabeach\.com\b +\bzambales(?:philippines\.com|\.net\.ph)\b +\bantoniocarlosmachado\.com\b +\bciaux\.com\b +\bguia(?:imoveis|saopaulo|viajar)\.com\b +\bguidesaopaulo\.com\b +\biberovision\.com\b +\bleamachado\.com\b +\bnegocioreal\.net\b +\bnetsaopaulo\.com\b +\bportalsaopaulo\.com\b +\bpremiumflats\.com\b +\bsaopaulo(?:aero|artes|autos|bares|bus|channel|cidades|cinemas|estradas|eventos|gallery|gallery|gaytravel|invest|links|mall|mapas|market|metro|moda|museus|night|noticias|parques|photo|praias|relax|restaurantes|ruas|shuttle|sites|suites|teatros|town|work)\.com\b +\bweb(?:carnaval|saopaulo|taubate)\.com\b +\bnutshellurl\.com\b +\bcjb\.net\b +\buni\.cc\b +\bvai\.la\b +\bk6\.com\.br\b +\bs9k\.net\b +\bv3\.com\b +\bcab8\.net\b +\brg3\.net\b +\brg9\.(?:net|org)\b +\brg10\.net\b +\bbr30\.com\b +\besmiweb\.com\b +\bmidominiogratis\.com\b +\b1br\.net\b +\bsitio\.de\b +\bclic3\.net\b +\burl\.ie\b +\bdunesdugolf\.eu\b +\bavsam\.com\.tr\b +\bavsaadasi\.gen\.tr\b +\bzoodl\.com\b +\bwww\.x\.se\b +\babc1\.eu\b +\baquisitions\.asia\b +\barriba\.asia\b +\barticle19\.eu\b +\bbankoflatvia\.eu\b +\bbankofsweden\.eu\b +\bbecali\.asia\b +\bbeira\.(?:asia|us)\b +\bbesides\.tv\b +\bbetting\.uz\b +\bbingo\.uz\b +\bblasphemy\.asia\.com\b +\bboobs\.uz\b +\bborderline\.asia\.com\b +\bbritish\.(?:asia|tv)\b +\bbritneyspears\.asia\b +\bbrought\.tv\b +\bbsiness\.net\b +\bbuckhead\.asia\b +\bburberry\.org\b +\bcareerbuilding\.net\b +\bcasinowise\.net\b +\bcentralasia\.asia\.com\b +\bcepf\.eu\b +\bchinese\.uz\b +\bclickpage\.net\b +\bcnlhotels\.com\b +\bdepress\.asia\b +\bdiscover-places\.com\b +\bdnguards\.com\b +\be-shopping\.asia\.com\b +\bemcef\.eu\b +\bemissions\.asia\.com\b +\beuromalt\.eu\b +\bexclusive\.asia\.com\b +\bexpress247\.com\b +\bfertile\.mobi\b +\bfinished\.tv\b +\bflights\.uz\b +\bfrenchbank\.eu\b +\bgateway\.us\b +\bgermanbank\.eu\b +\bggeat\.com\b +\bglitch\.asia\.com\b +\bhappened\.tv\b +\bholidaybug\.com\b +\bhomesaid\.com\b +\bhoping\.tv\b +\bhostile\.asia\.com\b +\binstore\.net\b +\bkarshi\.asia\.com\b +\blawforum\.asia\b +\bloan\.uz\b +\bloans\.uz\b +\blohdon\.com\b +\bloneon\.net\b +\blottery\.uz\b +\bmeant\.tv\b +\bmeccahotels\.eu\b +\bmoonlight\.asia\.com\b +\bmortgages\.uz\b +\bnamecout\.com\b +\bnbsp\.us\b +\bneither\.tv\b +\bnewyorkrealestate\.eu\b +\bnioc\.eu\b +\bnizhenvartovsk\.com\b +\bonlinecasinoreview\.biz\b +\boparis\.com\b +\bparishilton\.asia\b +\bpdf\.uz\b +\bphotosuites\.com\b +\bpolandworldcup\.com\b +\bprais\.org\b +\bprelinia\.com\b +\bpyzza\.net\b +\bqatargas\.eu\b +\bratar\.com\b +\bsand\.mobi\b +\bsatte\.asia\.com\b +\bseen\.asia\b +\bseikh\.com\b +\bsenliscouncil\.eu\b +\bsitting\.tv\b +\bspread\.mobi\b +\bstan\.asia\.com\b +\bstaying\.tv\b +\bstriper\.asia\.com\b +\bsupposed\.asia\b +\bsurprised\.tv\b +\bswf\.asia\.com\b +\btaliban\.asia\.com\b +\btaschenlampe\.net\b +\bterminus\.asia\.com\b +\bthinks\.tv\b +\btokyorealestate\.eu\b +\btora\.asia\b +\btripadviser\.info\b +\bukenergy\.eu\b +\bukraineworldcup\.com\b +\buk(?:style|water)\.eu\b +\bvisa-card\.asia\b +\bvisit(?:afghanistan|armenia|azerbaijan|bahrain|bangladesh|bhutan|bosnia|brunei|cambodia|china|christmasisland|centralasia|cocosislands|croatia|cyprus|egypt|india|indonesia|iran|israel|jordan|kiev|korea|kosovo|kuwait|kyrgyzstan|laos|latvia|macedonia|malaysia|maldives|mongolia|nepal|northkorea|oman|pakistan|philippines|russia|saudiarabia|southkorea|switzerland|tajikistan|turkmenistan|uae|uzbekistan)\.(?:asia|eu)\b +\bvisit(?:chn|capena|car|esp|solomonislands)\.com\b +\bvisit(?:bombay|world)\.info\b +\bvisit-london\.eu\b +\bvvjz\.com\b +\bwhitepapers\.asia\b +\bwikiaction\.com\b +\bwondering\.tv\b +\byalta\.asia\.com\b +\bindustrialstrengthstaging\.com\b +\bgbcattani\.com\b +\bespadrilles(?:\.ca|distribution\.com)\b +\beasyurl\.net\b +\banti-virus-trojan-worm\.com\b +\bfilminformation\.blogspot\.com\b +\bilook\.tw\b +\bw3t\.org\b +\balturl\.com\b +\shorturl\.com\b +\brussianworld\.com\.au\b +\bweatherpage\.(?:co\.nz|com\.au)\b +\btripleme\.com\b +\brussianworld\.co\.nz\b +\bonlybest\.com\.au\b +\bnewpeoplefinder\.com\b +\brussiannewzealand\.com\b +\bantratel\.com\b +\btriplemecom\.blogspot\.com\b +\bpeopleschocolate\.com\b +\bsearchenginegreyfalcon\.com\b +\bcwill1\.com\b +\bjosoleil\.com\b +\bfaucongris\.com\b +\bgrey-falcon\.com\b +\baxebet\.com\b +\bsanyaweb\.com\b +\bmundo-ocio\.es\b +\bputin\.ru\b +\bxurl\.jp\b +\bcloakedlink\.com\b +\bmillesabords\.net\b +\btharmada\.net\b +\bmihaisora\.eu\b +\bquran\.waraqat\.net\b +\brs2pl\.com\b +\bnelioguerson\.palcomp3\.com\.br\b +\bmyspace\.com/fantomenk\b +\b5alej\.com\b +\barb7b\.com\b +\bvente-privee\.com/vp4/Registration/Registration\.aspx\? +\bmistureca\.blogspot\.com\b +\bgivemeknol\.com\b +\bmaxreading\.com\b +\btrucchi-e-consigli-msn\.spaces\.live\.com\b +\bphilatino\.com\b +\bspeechcorrector\.org\b +\basuka-team\.ru\b +\bmcdo3333\.blogspot\.com\b +\blitlurl\.net\b +\bbozkir\.com\b +\b1classical\.com\b +\bcomoj\.com\b +\bmoushumy\.tk\b +\bpsychology\.tk\b +\bpayel\.tk\b +\bazpayel\.blogspot\.com\b +\bmircd\.org\b +\bplagecorse\.com\b +\bgamewatch\.com\.es\b +\bmigre\.me\b +\bcabinas\.net\b +\bseekinusa\.com\b +\belargentino\.net\b +\bkomik-fikralar\.net\b +\bthe-locos\.com\b +\bgoldengate\.w2c\.in\b +\bsatelliteview\.org\b +\bsecure-x-001\.net\b +\bpornoxo\.com\b +\bladonia\.net\b +\bcyborg009\.it\b +\babbr\.com\b +\babe5\.com\b +\bgospelhearts\.synthasite\.com\b +\bbusty\.pl\b +\bmoourl\.com\b +\borospuporno\.com\b +\bpepekanavis\.org\b +\bserkann\.com\b +\bvinosearchwine\.com\b +\bstrongvpn\.com\b +\bgentefresa\.com\b +\bown3d\.es\b +\bmasfresa\.com\b +\brecaero\.fr\b +\byfrog\.com\b +\baforismi\.awardspace\.com\b +\btebesirim\.com\b +\bplayerswin-casino\.com\b +\bvinyland\.com\b +\bciquestudios\.com\b +\bpageditorpro\.com\b +\bsiremfc\.marlito\.com\b +\bkaspersky-key\.net\b +\bspikey\.com\b +\blearningrussian\.net\b +\beuropeopen\.org\.uk\b +\bgraffiti\.cs\.brown\.edu\b +\baekition\.blogspot\.com\b +\bsufifinder\.com\b +\btr\.im\b +\bmmafight\.ru\b +\brealestatesky\.net\b +\borchidea\.com\.ua\b +\bcatalanschool\.com\b +\bwebweevers\.com\b +\burlmin\.com\b +\binvx\.com\b +\btaturkey\.net\b +\bmoya-shkola\.info\b +\bjimmywales\.(info|net|org)\b +\b(jimmywales|projectorion)\.proboards\.com\b +\bbindiirwin\.com\b +\bnataliebassingthwaighte\.(net|org)\b +\b(vickydarling|jeffseeney|andrewcripps|john-paullangbroek|howardhobbs)\.com\b +\bhugeurl\.com\b +\bfreakinghugeurl\.com\b +\bfacebook\.com/l\.php\b +\btangodans\.com\b +(? diff --git a/data/pages/wiki/syntax.txt b/data/pages/wiki/syntax.txt index fbe1fe060..7b29b9ad5 100644 --- a/data/pages/wiki/syntax.txt +++ b/data/pages/wiki/syntax.txt @@ -74,7 +74,6 @@ DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]]. - ==== Windows Shares ==== Windows shares like [[\\server\share|this]] are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate [[wp>Intranet]]. @@ -84,7 +83,7 @@ Windows shares like [[\\server\share|this]] are recognized, too. Please note tha Notes: * For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone"). - * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_don't_work|Mozilla Knowledge Base]]. + * For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Firefox_:_Issues_:_Links_to_Local_Pages_Don't_Work|Mozilla Knowledge Base]]. ==== Image Links ==== diff --git a/doku.php b/doku.php index ddee8c902..3f930a965 100644 --- a/doku.php +++ b/doku.php @@ -7,7 +7,7 @@ */ // update message version -$updateVersion = 25; +$updateVersion = 26; // xdebug_start_profiling(); diff --git a/install.php b/install.php index e2f301f27..5a53070a0 100644 --- a/install.php +++ b/install.php @@ -46,7 +46,7 @@ $dokuwiki_hash = array( '2008-05-04' => '1e5c42eac3219d9e21927c39e3240aad', '2009-02-14' => 'ec8c04210732a14fdfce0f7f6eead865', '2009-12-25' => '993c4b2b385643efe5abf8e7010e11f4', - 'devel' => 'f065247541c4041e5f103b41b393fcb3' + '2010-08-29rc' => '7921d48195f4db21b8ead6d9bea801b8' ); -- cgit v1.2.3 From 5479a8c3341247ca228026819f20f3ab5c34a80f Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 29 Aug 2010 14:13:47 +0200 Subject: fixed page lookup when useheading is disabled this was broken by d0bdf7659fce98c2922b151766d51d5c7e8814d6 --- inc/fulltext.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/inc/fulltext.php b/inc/fulltext.php index cac2de4a4..e90205e9c 100644 --- a/inc/fulltext.php +++ b/inc/fulltext.php @@ -243,11 +243,11 @@ function _ft_pageLookup(&$data){ $titles = array_map('rtrim', idx_getIndex('title', '')); $pages = array_combine($pages, $titles); - if ($id !== '' && cleanID($id) !== '') { - $cleaned = cleanID($id); + $cleaned = cleanID($id); + if ($id !== '' && $cleaned !== '') { foreach ($pages as $p_id => $p_title) { if ((strpos($in_ns ? $p_id : noNSorNS($p_id), $cleaned) === false) && - ($in_title && stripos($p_title, $id) === false)) { + (!$in_title || (stripos($p_title, $id) === false)) ) { unset($pages[$p_id]); } } -- cgit v1.2.3