From ef8409af117f408fdf08bfde089f00a9bd8b94c0 Mon Sep 17 00:00:00 2001 From: YuCheng Hu Date: Wed, 30 Jun 2010 05:28:02 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=BA=86=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E4=B8=AD=E7=9A=84=204=20?= =?UTF-8?q?=E5=A4=84=E6=8F=8F=E8=BF=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后台配置文件,增加了 8 个字段 修改了登录错误的提示语句。 +YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@404 a2543c7e-f6e9-4f8a-8bff-1ffc34733512 --- .../b1f3ab3f0c3282ec2b2d60caebd1f4e7.spc | 135 +- .../com_jdownloads/ProgressBar.class.php | 316 +++ .../com_jdownloads/admin.jdownloads.html.php | 313 ++- .../com_jdownloads/admin.jdownloads.php | 378 ++- .../check.restore.jdownloads.php | 109 +- .../com_jdownloads/install.jdownloads.php | 2428 +++++++++-------- .../components/com_jdownloads/install.sql | 8 +- .../components/com_jdownloads/jdownloads.xml | 682 ++--- .../com_jdownloads/mod_jdownloads_top_1.5.zip | Bin 4876 -> 4906 bytes .../components/com_jdownloads/scan.php | 772 ++++++ .../toolbar.jdownloads.html.php | 45 +- .../com_jdownloads/toolbar.jdownloads.php | 41 +- .../com_jdownloads/uninstall.jdownloads.php | 57 +- .../language/en-GB/_notes/dwsync.xml | 8 - .../language/en-GB/en-GB.com_jdownloads.ini | 142 +- .../language/zh-CN/_notes/dwsync.xml | 54 - .../language/zh-CN/zh-CN.com_jdownloads.ini | 124 +- .../language/zh-CN/zh-CN.com_languages.ini | 31 +- .../language/zh-CN/zh-CN.com_login.ini | 31 +- .../language/zh-CN/zh-CN.com_massmail.ini | 33 +- .../language/zh-CN/zh-CN.com_media.ini | 32 +- .../language/zh-CN/zh-CN.com_menus.ini | 40 +- 22 files changed, 3850 insertions(+), 1929 deletions(-) create mode 100644 oss/joomla/trunk/administrator/components/com_jdownloads/ProgressBar.class.php create mode 100644 oss/joomla/trunk/administrator/components/com_jdownloads/scan.php delete mode 100644 oss/joomla/trunk/administrator/language/en-GB/_notes/dwsync.xml delete mode 100644 oss/joomla/trunk/administrator/language/zh-CN/_notes/dwsync.xml diff --git a/oss/joomla/trunk/administrator/cache/b1f3ab3f0c3282ec2b2d60caebd1f4e7.spc b/oss/joomla/trunk/administrator/cache/b1f3ab3f0c3282ec2b2d60caebd1f4e7.spc index 3edbf910..7085cb0d 100644 --- a/oss/joomla/trunk/administrator/cache/b1f3ab3f0c3282ec2b2d60caebd1f4e7.spc +++ b/oss/joomla/trunk/administrator/cache/b1f3ab3f0c3282ec2b2d60caebd1f4e7.spc @@ -29,7 +29,7 @@ a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:4:" - ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:3:{s:0:"";a:9:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:25:"OSS 计算技术 - Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:57:"http://forums.hawebs.net/computer/forumdisplay.php?fid=37";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:27:"Latest 20 threads of Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"copyright";a:1:{i:0;a:5:{s:4:"data";s:29:"Copyright(C) OSS 计算技术";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:13:"HX WEBSYSTEMS";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:13:"lastBuildDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 28 Jun 2010 18:34:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:3:"ttl";a:1:{i:0;a:5:{s:4:"data";s:2:"30";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:5:"image";a:1:{i:0;a:6:{s:4:"data";s:26:" + ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:3:{s:0:"";a:9:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:25:"OSS 计算技术 - Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:57:"http://forums.hawebs.net/computer/forumdisplay.php?fid=37";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:27:"Latest 20 threads of Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"copyright";a:1:{i:0;a:5:{s:4:"data";s:29:"Copyright(C) OSS 计算技术";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:13:"HA WEBSYSTEMS";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:13:"lastBuildDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 30 Jun 2010 03:44:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:3:"ttl";a:1:{i:0;a:5:{s:4:"data";s:2:"30";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:5:"image";a:1:{i:0;a:6:{s:4:"data";s:26:" @@ -40,6 +40,59 @@ a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:4:" + ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:53:"Joomla JCE 所见即所得编辑器快速插入连接";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=845";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:836:"在进行文章的编辑的时候,我们希望能能够为文章插入一些连接。 + +如,下面我们希望能够对选择的文字插入连接。 + +首先你需要选择需要连接的文字。 + +1466[/attach] + +单击插入连接 + +1467[/attach] + +在弹出的窗口中,输入要插入的连接。 + +随后单击插入。 + +1468[/attach] ... +


+

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 29 Jun 2010 04:55:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:47:" + + + + + + + ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:52:"Joomla 可以为不同的用户指定默认的语言";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=838";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:663:"登录 Joomla 的后台。 + +选择要修改的用户后,对用户的属性进行修改。 + +我们可以为这个用户指定前台和后台的的语言。 + +1463[/attach] +


+

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 28 Jun 2010 19:12:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:47:" + + + + + + + ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:72:"Joomla 默认页语言的读取是读取语言包里面的 xml 文件的";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=837";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:611:"如果需要在进行语言选择时候的显示。 + +那么需要修改语言文件包里面的文件。 + +1462[/attach] +


+

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 28 Jun 2010 18:25:35 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:47:" + + + + + + ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:41:"Joomal 1.5 的生命周期和维护时间";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=836";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:831:"2010年6月,Joomla! 1.6 已经进入 Bate 版本的测试了。 在 Joomla 1.6 版本进入稳定发行后, 1.5 版的 Joomla 可能会保持 1 年左右的维护时间。 @@ -48,7 +101,7 @@ a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:4:" Joomla 1.5 从正式发行到现在,已经总共超过了 3.5 年的维护 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 28 Jun 2010 06:40:59 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 28 Jun 2010 06:40:59 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:47:" @@ -63,7 +116,7 @@ Joomla 1.5 从正式发行到现在,已经总共超过了 3.5 年的维护 ... 这是因为丢了一个名为 trans.gif 的文件,你需要将这个文件拷贝到你模板的 images 目录下。 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Jun 2010 01:29:23 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Jun 2010 01:29:23 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:47:" @@ -80,7 +133,7 @@ URL 静态化便于搜索引擎更加容易的的处理的内容,也便于你 http://news.hawebs.net/index.php?option=com_conten ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 22:26:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 22:26:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:47:" @@ -97,7 +150,7 @@ http://news.hawebs.net/index.php?option=com_conten ... 如果你需要进行重新安装 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 04:21:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 04:21:25 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:47:" @@ -114,7 +167,7 @@ http://news.hawebs.net/index.php?option=com_conten ... 那 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 02:50:12 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 02:50:12 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:47:" @@ -127,7 +180,7 @@ http://news.hawebs.net/index.php?option=com_conten ... 1361[/attach]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 02:38:07 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 15 Jun 2010 02:38:07 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:47:" @@ -146,7 +199,7 @@ http://news.hawebs.net/index.php?option=com_conten ... 修改路 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 16:10:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 16:10:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:47:" @@ -172,7 +225,7 @@ http://news.hawebs.net/index.php?option=com_conten ... 这样安装的时候 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 04:07:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 04:07:48 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:47:" @@ -191,7 +244,7 @@ http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&frs_pac 1353[/attach] ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 01:25:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 14 Jun 2010 01:25:24 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:47:" @@ -208,7 +261,7 @@ http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&frs_pac 建议使用字体 Droid Sans Fallback,首先这个字体是开源的,没有版权限制,其次字体不大,不至于 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 13 Jun 2010 20:21:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:10;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 13 Jun 2010 20:21:32 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:47:" @@ -221,7 +274,7 @@ http://joomlacode.org/gf/project/joomla/frs/?action=FrsReleaseBrowse&frs_pac 1343[/attach]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 13 Jun 2010 20:09:41 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:11;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 13 Jun 2010 20:09:41 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:47:" @@ -236,7 +289,7 @@ joomlacode 的项目地址为 http://joomlacode.org/gf/project/ha4chs/[/url]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 07 Jun 2010 04:20:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:12;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 07 Jun 2010 04:20:42 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:15;a:6:{s:4:"data";s:47:" @@ -255,7 +308,7 @@ Not Acceptable An appropriate representation of the requested resource /index.php could not be found on this serve ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 06 Jun 2010 03:34:58 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:13;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 06 Jun 2010 03:34:58 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:16;a:6:{s:4:"data";s:47:" @@ -270,7 +323,7 @@ An appropriate representation of the requested resource /index.php could not be 1240[/attach]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 05 Jun 2010 17:05:17 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:14;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 05 Jun 2010 17:05:17 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:17;a:6:{s:4:"data";s:47:" @@ -289,7 +342,7 @@ An appropriate representation of the requested resource /index.php could not be 这是因为,源程序有问题。 ...


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 06:15:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:15;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 06:15:55 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:18;a:6:{s:4:"data";s:47:" @@ -298,7 +351,7 @@ An appropriate representation of the requested resource /index.php could not be ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:34:"Joomla 1.5.x 数据库关系图表";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=691";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:505:"1206[/attach]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 02:12:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:16;a:6:{s:4:"data";s:47:" +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 02:12:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:19;a:6:{s:4:"data";s:47:" @@ -307,50 +360,4 @@ An appropriate representation of the requested resource /index.php could not be ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:21:"Joomla中的CSS图示";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=690";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:505:"1205[/attach]


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 02:12:12 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:17;a:6:{s:4:"data";s:47:" - - - - - - - ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:68:"Joomla 投票插件 Apoll 的语言文件已经 SVN 到 SF.net上了";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=688";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:797:"Joomla 投票插件 Apoll 的语言文件已经 SVN 到 SF.net上了。 - -如果你希望你的 Apoll 插件能够在你的网站上显示中文,请下载 zh-CN.mod_apoll.ini - -下载地址如下 - -http://hawebs.svn.sourceforge.net/viewvc/hawebs/cms/joomla/trunk/language/zh-CN/zh-CN.mod_apoll.ini?vie ... -


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 31 May 2010 23:35:13 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:18;a:6:{s:4:"data";s:47:" - - - - - - - ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:50:"Joomla 代码语法高亮显示插件 CodeCitation";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=492";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:708:"CodeCitation是Joomla中比较好的语法高亮代码显示插件。 - -可以到下面的地址: -http://www.smartsoftwarebits.com/codecitation[/url] - -进行下载安装。 - -运行结果如下图显示 - -830[/attach] -


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 25 Apr 2010 14:34:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:19;a:6:{s:4:"data";s:47:" - - - - - - - ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:24:"Joomla Apoll插件运行";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:56:"http://forums.hawebs.net/computer/viewthread.php?tid=420";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:620:"在安装Apoll插件后,你可以通过Apoll组件新建一个投票。 - -在完成后,注意发布你的投票 - -739[/attach] -


-

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 16 Apr 2010 02:57:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:2:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";s:4:"href";s:40:"http://feeds.feedburner.com/Moose-Joomla";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:2:{s:3:"rel";s:3:"hub";s:4:"href";s:32:"http://pubsubhubbub.appspot.com/";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:42:"http://rssnamespace.org/feedburner/ext/1.0";a:1:{s:4:"info";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:1:{s:3:"uri";s:12:"moose-joomla";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:10:{s:13:"last-modified";s:29:"Mon, 28 Jun 2010 18:34:01 GMT";s:4:"etag";s:27:"gleW4fmIEEac3PnxELSJmPc4cxo";s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:4:"date";s:29:"Mon, 28 Jun 2010 18:34:01 GMT";s:7:"expires";s:29:"Mon, 28 Jun 2010 18:34:01 GMT";s:13:"cache-control";s:18:"private, max-age=0";s:22:"x-content-type-options";s:7:"nosniff";s:16:"x-xss-protection";s:13:"1; mode=block";s:6:"server";s:3:"GSE";s:17:"transfer-encoding";s:7:"chunked";}s:5:"build";s:14:"20090627192103";} \ No newline at end of file +

";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:1:{i:0;a:5:{s:4:"data";s:6:"Joomla";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"author";a:1:{i:0;a:5:{s:4:"data";s:10:"honeymoose";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 02 Jun 2010 02:12:12 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:2:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";s:4:"href";s:40:"http://feeds.feedburner.com/Moose-Joomla";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:2:{s:3:"rel";s:3:"hub";s:4:"href";s:32:"http://pubsubhubbub.appspot.com/";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:42:"http://rssnamespace.org/feedburner/ext/1.0";a:1:{s:4:"info";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:1:{s:3:"uri";s:12:"moose-joomla";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:10:{s:12:"content-type";s:23:"text/xml; charset=UTF-8";s:4:"etag";s:27:"uh/jdydPZdWXEXaFqJ5kIcZp4+k";s:13:"last-modified";s:29:"Wed, 30 Jun 2010 03:44:27 GMT";s:4:"date";s:29:"Wed, 30 Jun 2010 03:44:27 GMT";s:7:"expires";s:29:"Wed, 30 Jun 2010 03:44:27 GMT";s:13:"cache-control";s:18:"private, max-age=0";s:22:"x-content-type-options";s:7:"nosniff";s:16:"x-xss-protection";s:13:"1; mode=block";s:6:"server";s:3:"GSE";s:17:"transfer-encoding";s:7:"chunked";}s:5:"build";s:14:"20090627192103";} \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/ProgressBar.class.php b/oss/joomla/trunk/administrator/components/com_jdownloads/ProgressBar.class.php new file mode 100644 index 00000000..34d225fb --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/ProgressBar.class.php @@ -0,0 +1,316 @@ + + * require_once 'ProgressBar.class.php'; + * $bar = new ProgressBar(); + * + * $elements = 100000; //total number of elements to process + * $bar->initialize($elements); //print the empty bar + * + * for($i=0;$i<$elements;$i++){ + * //do something here... + * $bar->increase(); //calls the bar with every processed element + * } + * + * + * Another example: + * + * require_once 'ProgressBar.class.php'; + * $bar = new ProgressBar(); + * $bar->setMessage("Let's talk to the user!"); + * + * $bar->initialize(3); //initialize the bar with the total number of elements to process + * + * //do something time consuming here... + * $bar->increase(); //call for first element + * + * //do something time consuming here... + * $bar->increase(); //call for second element + * $bar->setMessage("Tell the user what you are doing!"); + * + * //do something time consuming here... + * $bar->increase(); //call for third element. end of bar... + * + * + * @changes + * Version 1.2 + * - added method setMessage() to change the message at runtime (JavaScript) + * - minor changes in HTML-code + * - refactoring: added new setter-methods + * + * Version 1.1: Use $bar->stop(true) stop the bar instantly at any time. + * + */ + +defined( '_JEXEC' ) or die( 'Restricted access-class' ); + +class ProgressBar { + /** + * Flag for class initialization. + * @param bool $initialized true=class initialized + */ + private $initialized; + + /** + * Flag for start of the progress bar. + * @started bool $started true=progress bar has been started. + */ + private $started; + + /** + * Flag for the end of the progress bar. + * @param bool $finished true=progress bar has reached the end. + */ + private $finished; + + private $firstStep; + + /** + * Constructor + * + * @param str $message Message shown above the bar eg. "Please wait...". Default: '' + * @param bool $hide Hide the bar after completion (with JavaScript). + * Default: false + * @param int $sleepOnFinish Seconds to sleep after bar completion. Default: 0 + * @param int $barLength Length in pixels. Default: 200 + * @param int $precision Desired number of steps to show. Default: 20. Precision will become $numElements when greater than $numElements. $barLength will increase if $precision is greater than $barLength. + * @param str $backgroundColor Color of the bar background + * @param str $foregroundColor Color of the actual progress-bar + * @param str $domID Html-Attribute "id" for the bar + * @param str $stepElement Element the bar is build from + */ + function ProgressBar($message='', $hide=false, $sleepOnFinish=0, $barLength=300, $precision=20, + $backgroundColor='#cccccc', $foregroundColor='blue', $domID='progressbar', + $stepElement='
') + { + global $pb_instance; + $this->instance = $pb_instance++; + + $this->setAutohide($hide); + $this->setSleepOnFinish($sleepOnFinish); + $this->setDomIDs($domID); + $this->setMessage($message); + $this->setStepElement($stepElement); + $this->setPrecision($precision); + $this->setBackgroundColor($backgroundColor); + $this->setForegroundColor($foregroundColor); + $this->setBarLength($barLength); + + //Initialization + $this->initialized = false; + $this->started = false; + $this->finished = false; + $this->firstStep = null; + } + + + /** + * Print the empty progress bar + * @param int $numElements Number of Elements to be processed and number of times $bar->initialize() will be called while processing + */ + function initialize($numElements) + { + //increase time limit if allowed + if(!ini_get('safe_mode')){ + set_time_limit(0); + } + + $this->StepCount = 0; + $this->CallCount = 0; + + $numElements = (int) $numElements ; + + if($numElements == 0){ + $numElements = 1; + } + + //calculate the number of calls for one step + $this->CallsPerStep = ceil(($numElements/$this->precision)); // eg. 1000/200 = 100 + + //calculate the total number of steps + if($numElements >= $this->CallsPerStep){ + $this->numSteps = round($numElements/$this->CallsPerStep); + }else{ + $this->numSteps = round($numElements); + } + + //calculate the length of one step + $this->stepLength = floor($this->barLength/$this->numSteps); // eg. 100/10 = 10 + + //the rest is the first step + $this->rest = $this->barLength-($this->stepLength*$this->numSteps); + + if($this->rest > 0){ + $this->firstStep = $this->getStep($this->rest); + } + + //build bar background + $backgroundLength = $this->rest+($this->stepLength*$this->numSteps); + $this->backgroundBar = sprintf($this->stepElement,$backgroundLength,$this->backgroundColor); + + //stop buffering (only when a buffer is active) + if (count(ob_list_handlers()) != 0) { + ob_end_flush(); + } + + //start buffering + ob_start(); + + echo '
'. + ''.$this->message.''. + '
'.$this->backgroundBar.'
' . + '
'; + + ob_flush(); + flush(); + + $this->initialized = true; + } + + /** + * Count steps and increase bar length + * + */ + function increase() + { + $this->CallCount++; + + if(!$this->started){ + //rest output + echo $this->firstStep; + ob_flush(); + flush(); + } + + if($this->StepCount < $this->numSteps + &&(!$this->started || $this->CallCount == $this->CallsPerStep)){ + + //add a step + echo $this->getStep(); + ob_flush(); + flush(); + + $this->StepCount++; + $this->CallCount=0; + } + $this->started = true; + + if(!$this->finished && $this->StepCount == $this->numSteps){ + $this->stop(); + } + } + + function stop($error=false) + { + // close the bar + echo '
'; + ob_flush(); + flush(); + + //sleep x seconds before ending the script + if(!$error){ + if($this->sleepOnFinish > 0){ + sleep($this->sleepOnFinish); + } + + //hide the bar + if($this->hide){ + echo ''; + ob_flush(); + flush(); + } + } + $this->finished = true; + } + + function setMessage($text) + { + if($this->initialized){ + echo ''; + ob_flush();flush(); + }else{ + $this->message = $text; + } + } + + function setAutohide($hide) + { + $this->hide = (bool) $hide; + } + + function setSleepOnFinish($sleepOnFinish) + { + $this->sleepOnFinish = (int) $sleepOnFinish; + } + + function setDomIDs($domID) + { + $this->domID = strip_tags($domID).$this->instance; + $this->domIDMessage = $this->domID.'_message'; + } + + function setStepElement($stepElement) + { + $this->stepElement = $stepElement; + } + + function setBarLength($barLength) + { + $this->barLength = (int) $barLength; + + if($this->barLength < $this->precision){ + $this->barLength = $this->precision; + } + } + + function setPrecision($precision) + { + $this->precision = (int) $precision; + } + + function setBackgroundColor($color) + { + $this->backgroundColor = strip_tags($color); + } + + function setForegroundColor($color) + { + $this->foregroundColor = strip_tags($color); + } + + function getStep($length=null) + { + if($length==null){ + $length = $this->stepLength; + } + return sprintf($this->stepElement,$length,$this->foregroundColor); + } +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.html.php b/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.html.php index cbc54327..6f57cbda 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.html.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.html.php @@ -315,7 +315,8 @@ function categoriesEdit($option, $row, $inputbox_pic, $access_box, $last_dir_ent - + + @@ -730,6 +731,39 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_FILESEDIT_TABTITLE_2'),'daten2'); + +
+ + + + + + +
+ +
+ use_timeframe) ? 1:0);?> + + + + + +
+ + + + + + + +
+ + + + + + + file_id) { ?>
@@ -1056,11 +1090,11 @@ function filesList($rows, $option, $pageNav, $search, $filter, $task, $limitstar - + - + - + + @@ -1132,11 +1167,14 @@ function filesList($rows, $option, $pageNav, $search, $filter, $task, $limitstar file_pic){ ?> - + - cat_title;?> + cat_id; ?> + cat_title; ?> + + price;?> date_added, $jlistConfig['global.datetime'] ,$offset = NULL),0,10); ?> downloads;?> @@ -1189,10 +1228,10 @@ function filesList($rows, $option, $pageNav, $search, $filter, $task, $limitstar - getPagesLinks(); ?> + getPagesLinks(); ?> - getPagesCounter(); ?> + getPagesCounter(); ?> @@ -1277,6 +1316,75 @@ function filesCopy($option, $files_id, $files, $cat_id){ } +// Dateien kopieren (ohne dateizuordnung) +function filesMove($option, $files_id, $files, $cat_id){ + $database = &JFactory::getDBO(); + + ?> + + + +
+ + + + + + + + + + + + + + + + + +


+ setQuery( $query ); + $cats2 = $database->loadObjectList(); + $preload = array(); + $catlist= treeSelectList( $cats2, 0, $preload, 'cat_id2', 'class="inputbox" size="10"', 'value', 'text', $row->cat_id); + echo $catlist; + + ?> +
+
+
    + '.$file->file_title.''; + } + ?>
+
+ +
+
+ + // get stats data + $database->setQuery('SELECT COUNT(*) FROM #__jdownloads_cats'); + $sum_cats = intval($database->loadResult()); + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_files"); + $sum_files = intval($database->loadResult()); + $database->setQuery("SELECT SUM(downloads) FROM #__jdownloads_files"); + $sum_downloads = intval($database->loadResult()); + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_files WHERE published = 0"); + $sum_files_unpublished = intval($database->loadResult()); + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_cats WHERE published = 0"); + $sum_cats_unpublished = intval($database->loadResult()); + $color = '#990000'; + $stats = str_replace('#1', ''.$sum_files.'', JText::_('JLIST_BACKEND_CP_STATS_TEXT')); + $stats = str_replace('#2', ''.$sum_cats.'', $stats); + $stats = str_replace('#3', ''.$sum_downloads.'', $stats); + $stats = str_replace('#4', ''.$sum_cats_unpublished.'', $stats); + $stats = str_replace('#5', ''.$sum_files_unpublished.'', $stats); + +?> + @@ -1422,10 +1549,12 @@ function controlPanel($option, $task) { echo JText::_('JLIST_BACKEND_PANEL_STATUS_ONLINE'); ?>



+ } + echo $stats; ?> + - + @@ -1439,7 +1568,9 @@ function controlPanel($option, $task) { } ?>
-
+
+ +
@@ -2768,9 +2899,26 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_DOWNLOADS'),'dow
- + + - + + + + + + + + + @@ -2892,16 +3040,16 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron - + - + - + + + + + + + + + + + + + + + + + - + - + + @@ -3039,7 +3223,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron - + + + + + + +


+

+
+
+ +

+ +

+


@@ -2876,7 +3024,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron
- + '.JText::_('JLIST_BACKEND_SETTINGS_FRONTEND_HEADER_DESC2');?>

- +



- +

@@ -2910,13 +3058,13 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron

- +



@@ -2976,7 +3124,42 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron

+ +
+
+ +

+ +
+
+ +


+ +
+
+ +

+
+
+ +


@@ -3003,7 +3186,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron


@@ -3021,7 +3204,8 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron




startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_FRONTEND'),'fron


+ +
+ +
@@ -3544,7 +3743,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_MEDIA_TAB_TITLE'),'multi
- +
@@ -3563,7 +3762,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_MEDIA_TAB_TITLE'),'multi
- +
@@ -3698,7 +3897,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_FE_UPLOAD_TAB_TITLE'),'u
- +
@@ -3929,7 +4128,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_EMAIL'),'email')
- +
@@ -3986,7 +4185,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_EMAIL'),'email')
- +
@@ -4014,7 +4213,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_SPECIALS'),'spec - +
@@ -4034,7 +4233,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_SPECIALS'),'spec + + + + + + + + +

- +

@@ -4077,7 +4276,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_SPECIALS'),'spec

- +

@@ -4088,6 +4287,52 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_SPECIALS'),'spec
+ + + + + + + + + + + + + + + + + +

+ +
+
+ +

+ +
+
+ +

+ +

+

+ +
+
+ +
+
@@ -4215,7 +4460,7 @@ echo $pane->startPanel(JText::_('JLIST_BACKEND_SETTINGS_TABTEXT_PLUGINS'),'plugi
- +
diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.php b/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.php index 37a17a44..2aaba68f 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/admin.jdownloads.php @@ -21,6 +21,16 @@ require_once( $mainframe->getPath( 'admin_html' ) ); require_once( $mainframe->getPath( 'class' ) ); require_once(EL_ADMIN_PATH.'/../../includes/pageNavigation.php'); +?> + + +]", $searchdirs[$i])) { - // prüfen ob dir als cat vorhanden + // pruefen ob dir als cat vorhanden $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_cats WHERE cat_dir = '$searchdirs[$i]'"); $cat_da = $database->loadResult(); - // wenn nicht - hinzufügen + // wenn nicht - hinzufuegen if (!$cat_da) { $new_dirs_found++; // neue cat anlegen @@ -474,7 +492,7 @@ function checkFiles($task) { $row->cat_title = $dirs[$sum - 1]; $row->cat_pic = $jlistConfig['cat.pic.default.filename']; if ($sum > 1) { - // cat_id für parent_id holen + // cat_id fuer parent_id holen $parent = substr($searchdirs[$i], 0, strrpos($searchdirs[$i] , '/') ); $database->setQuery("SELECT cat_id FROM #__jdownloads_cats WHERE cat_dir = '$parent'"); $row->parent_id = $database->loadResult(); @@ -485,6 +503,13 @@ function checkFiles($task) { $datenow =& JFactory::getDate(); $row->cat_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); } + // when file autopublish is set on - also categories autopublished + if ($jlistConfig['autopublish.founded.files']){ + $row->published = 1; + } else { + $row->published = 0; + } + $row->cat_dir = $searchdirs[$i]; // get a correct ordering value if (!$row->ordering) { @@ -505,7 +530,7 @@ function checkFiles($task) { } } - // Prüfen ob alle publishte cat-dirs existieren + // Pruefen ob alle publishte cat-dirs existieren $mis_cats = 0; $database->setQuery("SELECT * FROM #__jdownloads_cats WHERE published=1"); $cats = $database->loadObjectList(); @@ -540,7 +565,7 @@ function checkFiles($task) { $only_dirs = substr($restpath, 0, strlen($restpath) - 1); // existiert filename in files? $exist_file = false; - $database->setQuery("SELECT * FROM #__jdownloads_files WHERE url_download = '$filename'"); + $database->setQuery("SELECT * FROM #__jdownloads_files WHERE url_download = '".utf8_encode($filename)."'"); $row_file_exists = $database->loadObjectList(); // wenn da - in cats suchen if ($row_file_exists) { @@ -565,12 +590,16 @@ function checkFiles($task) { if ($task != 'restore.run'){ $filename_new = checkFileName($filename); if ($filename_new != $filename) { - $success = @rename($startdir.$only_dirs.'/'.$filename, $startdir.$only_dirs.'/'.$filename_new); - if ($success) { - $filename = $filename_new; - } else { - // could not rename filename - } + if (utf8_decode($filename_new) != $filename){ + $success = @rename($startdir.$only_dirs.'/'.$filename, $startdir.$only_dirs.'/'.$filename_new); + if ($success) { + $filename = $filename_new; + } else { + // could not rename filename + } + } else { + $filename = $filename_new; + } } } $database->setQuery("SELECT cat_id FROM #__jdownloads_cats WHERE cat_dir = '$only_dirs'"); @@ -579,6 +608,8 @@ function checkFiles($task) { $file_extension = strtolower(substr(strrchr($filename,"."),1)); $file_obj = new jlist_files($database); $file_obj->url_download = $filename; + $test = utf8_decode($filename); + $str = mb_convert_encoding($filename, "ISO-8859-1"); $file_obj->file_title = str_replace('.'.$file_extension, '', $filename); $file_obj->size = $files[$key3]['size']; $file_obj->description = ''; @@ -610,13 +641,24 @@ function checkFiles($task) { $file_obj->ordering = $file_obj->getNextOrder(); $reorder = false; } + $file_obj->store(); if ($reorder){ $res = $file_obj->reorder(''); } + +/* $database->setQuery("INSERT INTO #__jdownloads_files (`file_id`, `file_title`, `file_alias`, `description`, `description_long`, `file_pic`, `thumbnail`, `price`, `release`, `language`, `system`, `license`, `url_license`, `update_active`, `cat_id`, `metakey`, `metadesc`, `size`, `date_added`, `file_date`, `publish_from`, `publish_to`, `url_download`, `extern_file`, `url_home`, `author`, `url_author`, `created_by`, `created_mail`, `modified_by`, `modified_date`, `submitted_by`, `downloads`, `ordering`, `published`, `checked_out`, `checked_out_time`) + VALUES ('', ' $file_obj->file_title', '$file_obj->file_alias', '', '', '$file_obj->file_pic', '', '', '', '', '', '', '', '', '$file_obj->cat_id', '', '', '$file_obj->size ', '$file_obj->date_added', '', '', '', '$file_obj->url_download', '', '', '', '', '$file_obj->created_by', '', '', '', '', '', '$file_obj->ordering', '$file_obj->published', '0', '0000-00-00 00:00:00')"); + if (!$database->query()) { + echo $database->stderr(); + exit; + } + */ + + $new_files++; - $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_ADDED').' '.$only_dirs.'/'.$filename.'
'; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_ADDED').' '.$only_dirs.'/'.utf8_decode($filename).'
'; } else { // cat dir not exist or invalid name @@ -627,7 +669,7 @@ function checkFiles($task) { } } - //prüfen ob download dateien alle physisch vorhanden - sonst unpublishen + //pruefen ob download dateien alle physisch vorhanden - sonst unpublishen $mis_files = 0; $database->setQuery("SELECT * FROM #__jdownloads_files WHERE published=1"); $files = $database->loadObjectList(); @@ -636,13 +678,13 @@ function checkFiles($task) { if ($file->url_download <> ''){ $database->setQuery("SELECT cat_dir FROM #__jdownloads_cats WHERE cat_id = '$file->cat_id'"); $cat_dir = $database->loadResult(); - $cat_dir_long = $startdir.$cat_dir.'/'.$file->url_download; + $cat_dir_long = $startdir.$cat_dir.'/'.utf8_decode($file->url_download); // wenn nicht da - unpublishen if(!is_file($cat_dir_long)){ $database->setQuery("UPDATE #__jdownloads_files SET published = 0 WHERE file_id = '$file->file_id'"); $database->query(); $mis_files++; - $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_DISABLED').' '.$cat_dir.'/'.$file->url_download.'
'; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_DISABLED').' '.$cat_dir.'/'.utf8_decode($file->url_download).'
'; } } } @@ -664,30 +706,30 @@ function checkFiles($task) { } if ($task == '' or $task == 'scan.files') { - echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_TITLE').'

'; + echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_TITLE').'
'; if ($new_cats_create > 0){ - echo ''.$new_cats_create.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_CATS').'
'; + echo ''.$new_cats_create.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_CATS').'
'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_CATS').'
'; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_CATS').'
'; } if ($new_files > 0){ echo ''.$new_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_FILES').'
'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_FILES').'
'; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_FILES').'
'; } if ($mis_cats > 0){ - echo ''.$mis_cats.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_CATS').'
'; + echo ''.$mis_cats.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_CATS').'
'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_CATS').'
'; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_CATS').'
'; } if ($mis_files > 0){ - echo ''.$mis_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_FILES').'
'; + echo ''.$mis_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_FILES').'

'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_FILES').'
'; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_FILES').'
'; } if ($log_message) echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_LOG_TITLE').'
'.$log_message.'
'; @@ -697,14 +739,14 @@ function checkFiles($task) { if ($task == 'files.list') { echo ''; if ($new_files > 0){ - echo ''; + echo ''; } else { - echo ''; + echo ''; } if ($mis_files > 0){ - echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_TITLE').''.$new_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_FILES').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'.$new_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_FILES').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_FILES').''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_FILES').''.$mis_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_FILES').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'; + echo ''.$mis_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_FILES').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_FILES').''; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_FILES').''; } if ($log_message) echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_LOG_TITLE').'
'.$log_message.'
'; @@ -713,14 +755,14 @@ function checkFiles($task) { if ($task == 'categories.list') { echo ''; if ($new_cats_create > 0){ - echo ''; + echo ''; } else { - echo ''; + echo ''; } if ($mis_cats > 0){ - echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_TITLE').''.$new_cats_create.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_CATS').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'.$new_cats_create.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_CATS').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_CATS').''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_CATS').''.$mis_cats.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_CATS').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'; + echo ''.$mis_cats.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_CATS').'
'.JText::_('JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE').'
'; } else { - echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_CATS').''; + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_CATS').''; } if ($log_message) echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_LOG_TITLE').'
'.$log_message.'
'; @@ -731,7 +773,7 @@ function checkFiles($task) { } else { // error upload dir not exists - echo ''.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST').'

'.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST_2').'
'; + echo ''.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST').'

'.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST_2').'
'; } } @@ -739,15 +781,15 @@ function checkFiles($task) { /** - * Füllt das Array mit den Dateiinformationen - * (Pfad, Verzeichnisname, Dateiname, Dateigröße, letzte Aktualisierung + * Fuellt das Array mit den Dateiinformationen + * (Pfad, Verzeichnisname, Dateiname, Dateigroesse, letzte Aktualisierung * * @param string $dir Pfad zum Verzeichnis - * @param string $file enthält den Dateinamen - * @param string $onlyDir Enthält nur den Verzeichnisnamen + * @param string $file enthaelt den Dateinamen + * @param string $onlyDir Enthaelt nur den Verzeichnisnamen * @param array $type Suchmuster dateitypen - * @param bool $allFiles Listet alle Dateien in den Verzeichnissen auf ohne Rücksicht auf $type - * @param array $files Enthält den Inhalt der Verzeichnisstruktur + * @param bool $allFiles Listet alle Dateien in den Verzeichnissen auf ohne Ruecksicht auf $type + * @param array $files Enthaelt den Inhalt der Verzeichnisstruktur * @return array Das Array mit allen Dateinamen */ function buildArray($dir,$file,$onlyDir,$type,$allFiles,$files) { @@ -772,14 +814,14 @@ function buildArray($dir,$file,$onlyDir,$type,$allFiles,$files) { } /** - * Durchläuft rekursiv das zu durchsuchende Verzeichnis + * Durchlaeuft rekursiv das zu durchsuchende Verzeichnis * * @param string $dir Pfad zum Verzeichnis * @param array $type aufzulistende Dateitypen - * @param bool $allFiles Listet alle Dateien in den Verzeichnissen auf ohne Rücksicht auf $type - * @param bool $recursive Durchläuft rekursiv alle Verzeichnisse und Unterverzeichnisse - * @param string $onlyDir Enthält nur den Verzeichnisnamen - * @param array $files Enthält als Verweis(Referenz) den Inhalt der Verzeichnisstruktur + * @param bool $allFiles Listet alle Dateien in den Verzeichnissen auf ohne Ruecksicht auf $type + * @param bool $recursive Durchlaeuft rekursiv alle Verzeichnisse und Unterverzeichnisse + * @param string $onlyDir Enthaelt nur den Verzeichnisnamen + * @param array $files Enthaelt als Verweis(Referenz) den Inhalt der Verzeichnisstruktur * @return mixed false im Fehlerfall, ansonsten ein Array mit allen Dateinamen */ @@ -929,7 +971,7 @@ function categoriesPublish( $cid=null, $publishform=1, $option ) { $mainframe->redirect( 'index2.php?option='.$option.'&task=categories.list', $msg ); } -// Reihenfolge ändern über orderup/orderdown +// Reihenfolge aendern ueber orderup/orderdown function categoriesOrder( $uid, $inc, $option ) { global $mainframe; $database = &JFactory::getDBO(); @@ -939,7 +981,7 @@ function categoriesOrder( $uid, $inc, $option ) { $mainframe->redirect( "index2.php?option=com_jdownloads&task=categories.list" ); } -// Reihenfolge ändern über saverorder symbol +// Reihenfolge aendern ueber saverorder symbol function categoriesSaveOrder( &$cid ) { global $mainframe; $database = &JFactory::getDBO(); @@ -993,13 +1035,13 @@ function categoriesDelete($option, $cid){ $del_error = false; $delerror = ''; - // testen ob subcats existieren - dann nicht löschen + // testen ob subcats existieren - dann nicht loeschen $database->setQuery("SELECT count(*) FROM #__jdownloads_cats WHERE parent_id IN ($cats)"); if ($subcats_exist = $database->loadResult()){ $msg = JText::_('JLIST_BE_NO_DEL_SUBCATS_EXISTS'); } - // testen ob files hierzu existieren - dann nicht löschen + // testen ob files hierzu existieren - dann nicht loeschen $database->setQuery("SELECT count(*) FROM #__jdownloads_files WHERE cat_id IN ($cats)"); if ($files_exist = $database->loadResult()){ $msg =JText::_('JLIST_BE_NO_DEL_FILES_EXISTS'); @@ -1151,7 +1193,7 @@ function categoriesSave($option,$apply=0){ $move_to_root_cat = true; $row->parent_id = 0; } else { - // ändern als subcat bzw. zu anderer subcat verschieben + // aendern als subcat bzw. zu anderer subcat verschieben // get dir from parent cat $move_to_sub_cat = true; @@ -1370,7 +1412,7 @@ function categoriesEdit($option, $cid){ if ($cid) { $row->checkout( $user->get('id') ); - // alle cats sperren für edit - falls dateioperationen laufen sollen + // alle cats sperren fuer edit - falls dateioperationen laufen sollen // all cats checked out !!! $database->SetQuery("SELECT cat_id FROM #__jdownloads_cats WHERE cat_id != $cid"); $lock_cat = $database->loadResultArray(); @@ -1382,14 +1424,14 @@ function categoriesEdit($option, $cid){ $row->published = 1; } - // auswahlliste für zugriffskontrolle + // auswahlliste fuer zugriffskontrolle $access_list[] = JHTML::_('select.option', '00', JText::_('JLIST_BACKEND_CATSEDIT_CAT_ACCESS_LEVEL_1')); $access_list[] = JHTML::_('select.option', '01', JText::_('JLIST_BACKEND_CATSEDIT_CAT_ACCESS_LEVEL_2')); $access_list[] = JHTML::_('select.option', '11', JText::_('JLIST_BACKEND_CATSEDIT_CAT_ACCESS_LEVEL_3')); $access_list[] = JHTML::_('select.option', '22', JText::_('JLIST_BACKEND_CATSEDIT_CAT_ACCESS_LEVEL_4')); $access_box = JHTML::_('select.genericlist', $access_list, 'cat_access', 'class="inputbox" size="4" ', 'value', 'text', $row->cat_access ); - // auswahlliste für catsymbol + // auswahlliste fuer catsymbol $cat_pic_dir = '/images/jdownloads/catimages/'; $pic_files = JFolder::files( JPATH_SITE.$cat_pic_dir ); $cat_pic_list[] = JHTML::_('select.option', '', JText::_('JLIST_BACKEND_SETTINGS_FRONTEND_PIC_TEXT')); @@ -1415,7 +1457,7 @@ function categoriesEdit($option, $cid){ $path_dir_entry = substr($row->cat_dir, 0, $path_pos + 1); } - // standard pic wenn als option ausgewählt + // standard pic wenn als option ausgewaehlt if ($jlistConfig['cat.pic.default.filename'] && !$row->cat_pic) { $row->cat_pic = $jlistConfig['cat.pic.default.filename']; } @@ -1545,6 +1587,14 @@ function filesPublish( $cid=null, $publishform=1, $option, $cat_id ) { $msg = $total .JText::_('JLIST_BACKEND_FILESEDIT_SUC_PUBL').' - '.$nofiles_sum.' '.JText::_('JLIST_BACKEND_EDIT_FILES_CAN_NOT_PUBLISH_INFO').' '; } else { $msg = $total .JText::_('JLIST_BACKEND_FILESEDIT_SUC_PUBL')." "; + } + // add alphauserpoints when published user upload files + $database->setQuery("SELECT * FROM #__jdownloads_files WHERE file_id IN ( $cids ) AND set_aup_points = '1'"); + $add_points = $database->loadObjectList(); + foreach ($add_points as $add_point){ + addAUPPoints($add_point->submitted_by, $add_point->file_title); + $database->setQuery("UPDATE #__jdownloads_files SET set_aup_points = 0 WHERE file_id = '$add_point->file_id'"); + $database->query(); } break; case 0: @@ -1687,6 +1737,10 @@ function filesSave($option, $cat_id, $apply=0){ // pic auswahl vom server $pic_server = JArrayHelper::getValue($_POST,'file_thumb', ''); $row->published = intval(JArrayHelper::getValue($_POST, 'publish', 0)); + if ($row->published && $row->set_aup_points){ + addAUPPoints($row->submitted_by, $row->file_title); + $row->set_aup_points = 0; + } $row->update_active = intval(JArrayHelper::getValue($_POST, 'update', 0)); if (empty($marked_cat_id)) { @@ -1984,8 +2038,8 @@ function filesCopySave($option, $cat_id_act){ $database->SetQuery("SELECT * FROM #__jdownloads_files WHERE file_id IN ($files_id)"); $files = $database->loadObjectList(); - $cid = explode(',', $file_id); - $sum = count(cid); + $cid = explode(',', $files_id); + $sum = count($cid); $cat_id = intval(JArrayHelper::getValue($_REQUEST, 'cat_id2', array())); if ($cat_id){ @@ -2024,6 +2078,60 @@ function filesCopySave($option, $cat_id_act){ $mainframe->redirect("index2.php?option=".$option."&task=files.list&cat_id=".$cat_id_act, $sum.' '.JText::_('JLIST_BACKEND_FILES_COPY_SAVED')." "); } +// move files to other category +function filesMove($option, $cid, $cat_id){ + $database = &JFactory::getDBO(); + if (!is_array( $cid ) || count( $cid ) < 1) { + //$action = $publishcat ? 'publish' : 'unpublish'; + echo "\n"; + exit; + } + $files_id = implode(',', $cid); + $database->SetQuery("SELECT * FROM #__jdownloads_files WHERE file_id IN ($files_id)"); + $files = $database->loadObjectList(); + jlist_HTML::filesMove($option, $files_id, $files, $cat_id); +} + +function filesMoveSave($option, $cat_id_act){ + global $mainframe, $jlistConfig; + $database = &JFactory::getDBO(); + + //$cid = array(); + $files_id = JArrayHelper::getValue($_REQUEST, 'cid2', 0); + + $database->SetQuery("SELECT * FROM #__jdownloads_files WHERE file_id IN ($files_id)"); + $files = $database->loadObjectList(); + //$cid = explode(',', $files_id); + $sum = 0; + + $cat_id = intval(JArrayHelper::getValue($_REQUEST, 'cat_id2', array())); + if ($cat_id){ + $database->SetQuery("SELECT cat_dir FROM #__jdownloads_cats WHERE cat_id = $cat_id"); + $cat_dir_new = $database->loadResult(); + foreach($files as $file){ + if ($cat_id != $file->cat_id){ + // move only when other cat is given + $database->SetQuery("SELECT cat_dir FROM #__jdownloads_cats WHERE cat_id = $file->cat_id"); + $cat_dir = $database->loadResult(); + $old_dir = JPATH_SITE.'/'.$jlistConfig['files.uploaddir'].'/'.$cat_dir.'/'.utf8_decode($file->url_download); + $new_dir = JPATH_SITE.'/'.$jlistConfig['files.uploaddir'].'/'.$cat_dir_new.'/'.utf8_decode($file->url_download); + if ( is_file ( $old_dir ) ){ + @copy($old_dir, $new_dir); + @unlink($old_dir); + } + $database->setQuery("UPDATE #__jdownloads_files SET cat_id = '$cat_id' WHERE file_id = '$file->file_id'"); + if (!$database->query()) { + // fehler beim erstellen in DB + echo $database->stderr(); + exit; + } + $sum++; + } + + } + } + $mainframe->redirect("index2.php?option=".$option."&task=files.list&cat_id=".$cat_id_act, $sum.' '.JText::_('JLIST_BACKEND_FILES_MOVE_SAVED')." "); +} // files edit function filesEdit($option, $cid, $cat_id){ @@ -2059,7 +2167,7 @@ function filesEdit($option, $cid, $cat_id){ $row->date_added = JHTML::_('date', 'now','%Y.%m.%d %H:%M:%S'); } - // standard pic wenn als option ausgewählt + // standard pic wenn als option ausgewaehlt if ($jlistConfig['file.pic.default.filename'] && !$row->file_pic) { $row->file_pic = $jlistConfig['file.pic.default.filename']; } @@ -3237,7 +3345,26 @@ function saveConfig($option){ $jlistConfig['download.pic.mirror_2'] = JArrayHelper::getValue($_POST,'mirror_2_pic', 'mirror_blue2.png'); $jlistConfig['pad.folder'] = JArrayHelper::getValue($_POST,'pad.folder', 'padfiles'); $reset_couter = $jlistConfig['reset.counters']; - $jlistConfig['reset.counters'] = 0; + $jlistConfig['reset.counters'] = 0; + + $jlistConfig['offline.text'] = stripslashes($jlistConfig['offline.text']); + $jlistConfig['google.adsense.code'] = stripslashes($jlistConfig['google.adsense.code']); + $jlistConfig['downloads.titletext'] = stripslashes($jlistConfig['downloads.titletext']); + $jlistConfig['downloads.footer.text'] = stripslashes($jlistConfig['downloads.footer.text']); + $jlistConfig['mp3.info.layout'] = stripslashes($jlistConfig['mp3.info.layout']); + $jlistConfig['upload.form.text'] = stripslashes($jlistConfig['upload.form.text']); + $jlistConfig['send.mailto.template.download'] = stripslashes($jlistConfig['send.mailto.template.download']); + $jlistConfig['send.mailto.template.upload'] = stripslashes($jlistConfig['send.mailto.template.upload']); + $jlistConfig['fileplugin.offline_title'] = stripslashes($jlistConfig['fileplugin.offline_title']); + $jlistConfig['user.message.when.zero.points'] = stripslashes($jlistConfig['user.message.when.zero.points']); + $jlistConfig['countdown.text'] = stripslashes($jlistConfig['countdown.text']); + $jlistConfig['limited.download.reached.message'] = stripslashes($jlistConfig['limited.download.reached.message']); + + // make sure that all AUP options are set back to default, when the main option is set off. + if (!$jlistConfig['use.alphauserpoints']){ + $jlistConfig['use.alphauserpoints.with.price.field'] = '0'; + $jlistConfig['user.can.download.file.when.zero.points'] = '1'; + } // remove spaces from lists $jlistConfig['file.types.view'] = str_replace(' ', '', $jlistConfig['file.types.view']); @@ -3274,6 +3401,12 @@ function saveConfig($option){ $jlistConfig['fe.upload.view.select.file'] = '1'; } + // make sure, that only one from the comments addons are activated + if ($jlistConfig['view.jom.comment'] && $jlistConfig['jcomments.active']){ + $jlistConfig['view.jom.comment'] = '0'; + $jlistConfig['jcomments.active'] = '0'; + } + // anti-leech option // if activated - copy and rename the htaccess $source = JPATH_SITE.'/administrator/components/com_jdownloads/htaccess.txt'; @@ -3299,7 +3432,7 @@ function saveConfig($option){ } foreach($jlistConfig as $setting_name=>$setting_value){ - $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$setting_value' WHERE setting_name = '$setting_name'"); + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '".$database->getEscaped($setting_value)."' WHERE setting_name = '$setting_name'"); $database->query(); } @@ -3347,7 +3480,7 @@ function runBackup($option){ $database = &JFactory::getDBO(); $prefix = $database->_table_prefix; - $tabellen = array($prefix.'jdownloads_config', $prefix.'jdownloads_cats', $prefix.'jdownloads_files', $prefix.'jdownloads_license', $prefix.'jdownloads_templates'); + $tabellen = array($prefix.'jdownloads_config', $prefix.'jdownloads_cats', $prefix.'jdownloads_files', $prefix.'jdownloads_license', $prefix.'jdownloads_templates', $prefix.'jdownloads_groups', $prefix.'jdownloads_log', $prefix.'jdownloads_rating'); $ausgabe = 'setQuery("TRUNCATE TABLE `'.$tabellen[$i].'`") ;$database->query();'."\r\n"; @@ -3362,6 +3495,9 @@ function runBackup($option){ case $prefix.'jdownloads_files': $id_name = 'file_id'; break; + case $prefix.'jdownloads_rating': + $id_name = 'file_id'; + break; default: $id_name = 'id'; break; @@ -3386,6 +3522,15 @@ function runBackup($option){ case $prefix.'jdownloads_templates': $object = new jlist_templates($database); break; + case $prefix.'jdownloads_groups': + $object = new jlist_groups($database); + break; + case $prefix.'jdownloads_log': + $object = new jlist_log($database); + break; + case $prefix.'jdownloads_rating': + $object = new jlist_rating($database); + break; } switch($id_name){ case 'cat_id': @@ -3441,7 +3586,7 @@ function runRestore($option, $task){ $file = JArrayHelper::getValue($_FILES,'restore_file',array('tmp_name'=>'')); if($file['tmp_name']!= ''){ $i = 0; - // auf korrekte version (>= 1.4) prüfen - + // auf korrekte version (>= 1.4) pruefen - @$datei = fopen($file['tmp_name'],"r") or die ("Can not open File!"); $muster = "/\bjd.version\b/i"; $muster2 = "/\bcat_top_id\b/i"; @@ -3449,7 +3594,7 @@ function runRestore($option, $task){ $zeile = fgets($datei, 4096); if (preg_match($muster, $zeile)) { if ($pos = strpos($zeile, "jd.version'", 100)){ - if ($vers = floatval(substr($zeile, 123, 3)) < 1.4){ + if ($vers = floatval(substr($zeile, 123, 3)) < 1.7){ fclose($datei); echo "\n"; exit(); @@ -3478,7 +3623,7 @@ function runRestore($option, $task){ $database->query(); } - // auto überwachung deaktivieren + // auto ueberwachung deaktivieren if ($jlistConfig['files.autodetect'] == 1 ){ $monitoring = true; $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '0' WHERE setting_name = 'files.autodetect'"); @@ -3486,11 +3631,11 @@ function runRestore($option, $task){ $jlistConfig['files.autodetect'] = 0; } - // falls backup von alter version - prüfen + // falls backup von alter version - pruefen require_once(EL_ADMIN_PATH.'/check.restore.jdownloads.php'); $output = checkAfterRestore(); $log_messages = checkFiles($task); - $sum = ''.sprintf(JText::_('JLIST_BACKEND_RESTORE_MSG'),(int)$i).''; + $sum = ''.sprintf(JText::_('JLIST_BACKEND_RESTORE_MSG'),(int)$i).''; if ($log_messages){ $output = addslashes($sum.'
'.$output.'
'.JText::_('JLIST_AFTER_RESTORE_TITLE_3').'
'.$log_messages.'
'.JText::_('JLIST_CHECK_FINISH').''); @@ -3501,7 +3646,7 @@ function runRestore($option, $task){ $database->query(); $jlistConfig['last.restore.log'] = stripslashes($output); } - // auto überwachung aktivieren + // auto ueberwachung aktivieren if ($monitoring){ $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '1' WHERE setting_name = 'files.autodetect'"); $database->query(); @@ -3664,7 +3809,7 @@ function getFiles() { } // Kopiert alle dirs inkl. subdirs und files nach $dest -// und löscht abscchliessend das $source dir +// und loescht abscchliessend das $source dir function moveDirs($source, $dest, $recursive = true, $message) { $error = false; @@ -3700,7 +3845,7 @@ function moveDirs($source, $dest, $recursive = true, $message) { } @closedir($handle); - // $source löschen wenn KEIN error + // $source loeschen wenn KEIN error if (!$error) { $res = delete_dir_and_allfiles ($source); if ($res) { @@ -3738,7 +3883,7 @@ function checkTemplatesStatus($total,$cid) { return $error_msg; } -// delete_dir_and_allfiles - rekursiv löschen +// delete_dir_and_allfiles - rekursiv loeschen // Rueckgabewerte: // 0 - ok // -1 - kein Verzeichnis @@ -3805,7 +3950,7 @@ function sampleInstall($option){ if (is_writable(JPATH_SITE.'/'.$root_dir)) { if (!is_dir(JPATH_SITE.'/'.$root_dir.'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'))){ // daten speichern - // dirs für cats + // dirs fuer cats $makdir = @mkdir(JPATH_SITE.'/'.$root_dir.'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'), 0777); $makdir = @mkdir(JPATH_SITE.'/'.$root_dir.'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB'), 0777); // cat erstellen in db @@ -3847,7 +3992,7 @@ function sampleInstall($option){ echo '

'.JText::_('JLIST_SAMPLE_DATA_BACK_TO_PANEL').'
'; } -// Dateigröße einer externen Datei ermitteln +// Dateigroesse einer externen Datei ermitteln function urlfilesize($url) { if (substr($url,0,4)=='http' || substr($url,0,3)=='ftp') { // for php 4 users @@ -3916,7 +4061,7 @@ function create_new_thumb($picturepath) { return true; } - /* Prüfen ob Datei existiert */ + /* Pruefen ob Datei existiert */ if(!file_exists($picturepath)) { return false; } @@ -3936,10 +4081,10 @@ function create_new_thumb($picturepath) { default: return false; } - /* Alte Maße auslesen */ + /* Alte Groesse auslesen */ $width = $size[0]; $height = $size[1]; - /* Neue Maße errechnen */ + /* Neue Groesse errechnen */ if($width>=$height) { $newwidth = $newsize; $newheight = $newsize*$height/$width; @@ -3947,7 +4092,7 @@ function create_new_thumb($picturepath) { $newheight = $newsize; $newwidth = $newsize*$width/$height; } - /* Neues Bild erstellen mit den neuen Maßen */ + /* Neues Bild erstellen mit den neuen Groesse */ // png fix $img = imagecreatefrompng($picturepath); imagesavealpha($img,true); @@ -3956,7 +4101,7 @@ function create_new_thumb($picturepath) { imagesavealpha($newpic,true); /* Jetzt wird das Bild nur noch verkleinert */ - imagecopyresized($newpic,$oldpic,0,0,0,0,$newwidth,$newheight,$width,$height); + imagecopyresampled($newpic,$oldpic,0,0,0,0,$newwidth,$newheight,$width,$height); // Bild speichern switch($size[2]) { case "1": return imagegif($newpic, $thumbfilename); @@ -3976,7 +4121,7 @@ function set_rights_to_tree($p_catid, $p_right, $p_right_from, &$p_changed){ // Funktion welche die Rechte eines Kategoriebaum setzt. Achtung REKURSIV !!! // $p_catid = ID der Kategorie deren Rechte gesetzt werden soll. // $p_right = Die Rechte welche gesetzt werden. -// $p_right_from = Die ursprünglichen Rechte +// $p_right_from = Die urspruenglichen Rechte // $p_changed = Anzahl der Korrekturen // echo $p_catid.' p_right_from:'.$p_right_from.' p_right:'.$p_right.'
'; $database = &JFactory::getDBO(); @@ -3987,10 +4132,10 @@ function set_rights_to_tree($p_catid, $p_right, $p_right_from, &$p_changed){ // Hier werden die eigentlichen Rechte der aktuellen Kategorie gesetzt. // Falls die Rechte der aktuellen Kategorie KLEINER sind als die zu setzenden Rechte. - // Damit wird verhindert, dass Unterkategorien welche schon höhere Rechte haben nicht überschrieben werden. + // Damit wird verhindert, dass Unterkategorien welche schon hoehere Rechte haben nicht ueberschrieben werden. // Oder - // Falls die Rechte der aktuellen Kategorie kleiner oder gleich sind als die ursprünglichen Rechte. - // Sonst können kleinere Werte (=höhere Rechte) nicht gesetzt werden. + // Falls die Rechte der aktuellen Kategorie kleiner oder gleich sind als die urspruenglichen Rechte. + // Sonst koennen kleinere Werte (=hoehere Rechte) nicht gesetzt werden. if (($r_catrow[0]->cat_access < $p_right) || ($r_catrow[0]->cat_access <= $p_right_from)){ $l_sql = "UPDATE #__jdownloads_cats SET cat_access = '".$p_right."' WHERE cat_id = ".$p_catid; $database->setQuery($l_sql); @@ -4007,15 +4152,15 @@ function set_rights_to_tree($p_catid, $p_right, $p_right_from, &$p_changed){ $l_childrows = $database->loadObjectList(); if (!isset($l_childrows[0])){ // Keine Unterkategorien gefunden, d.h. das Ende des aktuellen Kategorienbaumes ist erreicht. Die Funktion verlassen. - // Falls die Funktion in der Rekursivität ist, wird in der unteren foreach-Schleife die nächste Unterkategorie aufgerufen. + // Falls die Funktion in der Rekursivitaet ist, wird in der unteren foreach-Schleife die naechste Unterkategorie aufgerufen. return; } // Alle Unterkategorien abfahren. foreach ($l_childrows as $l_childrow){ // Zuerst: Automatische Korrektur von Fehlern. - // D.h. Eine Unterkategorie welche schon niedrigere Rechte hat (=höheren Wert in cat_access) müsste eigentlich nicht abgefahren werden. - // Es könnte aber sein, dass diese Fehlern aufweist (z.B. bei einem Update von 1.3 nach 1.4). - // Fehler heisst in diesem Fall, dass eine Unter-Unter-Kategorie grössere Rechte hat (=niedriger Wert in cat_access). + // D.h. Eine Unterkategorie welche schon niedrigere Rechte hat (=hoeheren Wert in cat_access) muesste eigentlich nicht abgefahren werden. + // Es koennte aber sein, dass diese Fehlern aufweist (z.B. bei einem Update von 1.3 nach 1.4). + // Fehler heisst in diesem Fall, dass eine Unter-Unter-Kategorie groessere Rechte hat (=niedriger Wert in cat_access). // Dies ist ja verboten und muss korrigiert werden. // Dazu: // Die aktuelle Unterkategorie aus der Datenbank lesen @@ -4026,48 +4171,48 @@ function set_rights_to_tree($p_catid, $p_right, $p_right_from, &$p_changed){ $l_right = $p_right; $l_right_from = $p_right_from; - // Falls die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access grösser) als die ursprünglichen Rechte - // Und: die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access grösser) als die zu setzenden Rechte - // Dann: die eigenen Rechte der Unterkategorie ihr selbst als neu zu setzende Rechte übergeben. + // Falls die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access groesser) als die urspruenglichen Rechte + // Und: die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access groesser) als die zu setzenden Rechte + // Dann: die eigenen Rechte der Unterkategorie ihr selbst als neu zu setzende Rechte uebergeben. if (($l_child[0]->cat_access > $p_right_from) && ($l_child[0]->cat_access > $p_right)){ $l_right = $l_child[0]->cat_access; $l_right_from = $l_child[0]->cat_access; } - // Für alle Unterkategorien die Funktion nochmals aufrufen. + // Fuer alle Unterkategorien die Funktion nochmals aufrufen. set_rights_to_tree($l_childrow->cat_id, $l_right, $l_right_from, $p_changed); } } function get_lowest_rights($p_catid, $p_suggest_right){ // function coded by pelma -// Funktion welche alle darüberliegenden Kategorien nach niedrigeren Rechten (=höhere Werte) durchsucht, -// und den höchsten Wert zurückgibt. Diese Funktion ist nicht rekursiv. +// Funktion welche alle darueberliegenden Kategorien nach niedrigeren Rechten (=hoehere Werte) durchsucht, +// und den hoechsten Wert zurueckgibt. Diese Funktion ist nicht rekursiv. // $p_catid = KategorienID, von welcher aus nach oben durchsucht wird. -// $p_suggested_right = Die rechte welche gesetzt werden sollen, und hier überprüft werden. +// $p_suggested_right = Die rechte welche gesetzt werden sollen, und hier ueberprueft werden. $database = &JFactory::getDBO(); // Kategorie laden aus Datenbank $l_sql = "SELECT cat_id, parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$p_catid; $database->setQuery($l_sql); $l_catrow = $database->loadObjectList(); if (!isset($l_catrow[0])){ - // Die Kategorie existiert nicht. Nicht weiterfahren, aber die vorgeschlagenen Rechte zurückgeben. + // Die Kategorie existiert nicht. Nicht weiterfahren, aber die vorgeschlagenen Rechte zurueckgeben. // (Dies sollte eigentlich nie vorkommen) return $p_suggest_right; } - // Initialiseren der Rechte welche von der Funktion zurückgegeben werden. + // Initialiseren der Rechte welche von der Funktion zurueckgegeben werden. $l_therights = $p_suggest_right; - // Den Kategorien-Baum solange hochfahren bis keine höhere Kategorie mehr existiert. (d.h. bis die Hauptkategorie erreicht ist) + // Den Kategorien-Baum solange hochfahren bis keine hoehere Kategorie mehr existiert. (d.h. bis die Hauptkategorie erreicht ist) while ($l_catrow[0]->parent_id > 0 ){ - // Nächsthöhere Parent-Kategorie aus Datenbank lesen. + // Naechst hoehere Parent-Kategorie aus Datenbank lesen. $l_sql = "SELECT parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$l_catrow[0]->parent_id; $database->setQuery($l_sql); $l_catrow = $database->loadObjectList(); - // Wenn die geladene Parent-Kategorie einen höheren Wert hat, diesen übernehmen. + // Wenn die geladene Parent-Kategorie einen hoeheren Wert hat, diesen uebernehmen. if ($l_catrow[0]->cat_access > $l_therights){ $l_therights = $l_catrow[0]->cat_access; } } - // Zurück mit höchstem gefundenem Wert (=niedrigstes Recht) + // Zurueck mit hoechstem gefundenem Wert (=niedrigstes Recht) return $l_therights; } @@ -4076,7 +4221,7 @@ function set_rights_of_cat($p_catid, $p_suggest_right, &$p_changed){ // Hauptprozedur. Diese wird aufgerufen um die Rechte einer Kategorie zu setzen, inklusive deren Unterkategorien. // $p_catid = KategorienID, welche gesetzt werden soll. // $p_suggested_right = Die rechte welche gesetzt werden sollen. -// $p_changed = Anzahl der Korrekturen oder (-1): Gewünschte Änderung war nicht zulässig! +// $p_changed = Anzahl der Korrekturen oder (-1): Gewuenschte aenderung war nicht zulaessig! $database = &JFactory::getDBO(); // Kategorie laden aus Datenbank. $l_sql = "SELECT parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$p_catid; @@ -4086,14 +4231,14 @@ function set_rights_of_cat($p_catid, $p_suggest_right, &$p_changed){ // Die Kategorie existiert nicht. Nicht weiterfahren. return ''; } - // Ursprüngliche Rechte der Kategorie lesen. + // Urspruengliche Rechte der Kategorie lesen. $l_rights_from = $l_catrow[0]->cat_access; if ($l_catrow[0]->parent_id == 0){ - // Es ist eine Hauptkategorie. Darüberliegende Kategorien müssen nicht nach niedrigen Rechten durchsucht werden. + // Es ist eine Hauptkategorie. Darueberliegende Kategorien muessen nicht nach niedrigen Rechten durchsucht werden. $l_rights_to_set = $p_suggest_right; } else { - // Es ist eine Unterkategorie. Darüberliegenden Kategoriebaum nach niedrigen Rechten (=höherer Wert) durchsuchen. - // Damit wird gewährleitet, dass eine Unterkategorie keine höheren Rechte erhalten kann. + // Es ist eine Unterkategorie. Darueberliegenden Kategoriebaum nach niedrigen Rechten (=hoeherer Wert) durchsuchen. + // Damit wird gewaehrleitet, dass eine Unterkategorie keine hoeheren Rechte erhalten kann. $l_rights_to_set = get_lowest_rights($p_catid, $p_suggest_right); if ($l_rights_to_set > $p_suggest_right) $p_changed = -1; } @@ -4104,7 +4249,7 @@ function set_rights_of_cat($p_catid, $p_suggest_right, &$p_changed){ function checkFileName($name){ global $jlistConfig; if ($name) { - $name = utf8_decode($name); + $name = utf8_encode($name); // change to uppercase if ($jlistConfig['fix.upload.filename.uppercase']){ $name = strtolower($name); @@ -4115,11 +4260,11 @@ function checkFileName($name){ } if ($jlistConfig['fix.upload.filename.specials']){ // change special chars - $name = strtr($name, array( "'" => "", 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe', 'Ä' => 'ae', 'Ü' => 'ue', 'Ö' => 'oe', 'ß' => 'ss', 'Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u')); + $name = strtr($name, array( "'" => "", 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe', 'Ä' => 'ae', 'Ü' => 'ue', 'Ö' => 'oe', 'Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u')); // remove invalid chars - $name = preg_replace('#[^a-z0-9_.-]#', '', $name); + $name = preg_replace('#[^A-Za-z0-9 _.-]#', '', $name); } - $name = utf8_encode($name); + //$name = utf8_decode($name); } return $name; } @@ -4173,5 +4318,24 @@ function deleteRestoreLog($option){ $database->query(); $jlistConfig['last.restore.log'] = ''; $mainframe->redirect("index2.php?option=com_jdownloads"); -} +} + +function addAUPPoints($submitted_by, $file_title){ + // added new points to the alphauserpoints when is activated in the jD config + // $submitted_by = user ID after upload a file + global $jlistConfig; + if ($jlistConfig['use.alphauserpoints'] && $submitted_by){ + $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; + if (file_exists($api_AUP)){ + require_once ($api_AUP); + $aupid = AlphaUserPointsHelper::getAnyUserReferreID( $submitted_by ); + if ($aupid){ + $text = JText::_('JLIST_BACKEND_SET_AUP_UPLOAD_TEXT'); + $text = sprintf($text,$file_title); + AlphaUserPointsHelper::newpoints('plgaup_jdownloads_user_upload_published', $aupid, $file_title, $text); + } + } + } +} + ?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/check.restore.jdownloads.php b/oss/joomla/trunk/administrator/components/com_jdownloads/check.restore.jdownloads.php index f5e406c4..7327351d 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/check.restore.jdownloads.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/check.restore.jdownloads.php @@ -18,9 +18,9 @@ function checkAfterRestore() { //********************************************* // JD VERSION: - $jd_version = '1.6'; - $jd_version_state = 'Stable'; - $jd_version_svn = '730'; + $jd_version = '1.7.1'; + $jd_version_state = 'RC'; + $jd_version_svn = '754'; //********************************************* $output = ''; @@ -304,8 +304,58 @@ function checkAfterRestore() { $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('rating.only.for.regged', '0')"); $database->query(); $sum_configs++; - } - + } + + // added in version 1.7.0 + // ********************** + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.also.download.link.text'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.also.download.link.text', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('auto.file.short.description', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('auto.file.short.description.value', '200')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.jom.comment', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.lightbox.function', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.alphauserpoints', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.alphauserpoints.with.price.field', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('user.can.download.file.when.zero.points', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('user.message.when.zero.points', '".JText::_('JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD')."')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('limited.download.number.per.day', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('limited.download.reached.message', '".JText::_('JLIST_FE_MESSAGE_AMOUNT_FILES_LIMIT')."')"); + $database->query(); + $sum_configs++; + + } if ($sum_configs == 0) { $output .= ' '.JText::_('JLIST_INSTALL_1').'
'; @@ -333,6 +383,8 @@ function checkAfterRestore() { } // new alias fields + $tables = array( $prefix.'jdownloads_cats' ); + $result = $database->getTableFields( $tables ); if (!$result[$prefix.'jdownloads_cats']['cat_alias']){ $database->SetQuery("ALTER TABLE #__jdownloads_cats ADD cat_alias varchar(255) NOT NULL default '' AFTER cat_title"); if ($database->query()) { @@ -340,13 +392,60 @@ function checkAfterRestore() { } } // new alias fields + $tables = array( $prefix.'jdownloads_files' ); + $result = $database->getTableFields( $tables ); if (!$result[$prefix.'jdownloads_files']['file_alias']){ $database->SetQuery("ALTER TABLE #__jdownloads_files ADD file_alias varchar(255) NOT NULL default '' AFTER file_title"); if ($database->query()) { $sum_added_fields++; } + } + // new field for created file user-id - submitted by id + if (!$result[$prefix.'jdownloads_files']['submitted_by']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD submitted_by INT(11) NOT NULL default '0' AFTER modified_date"); + if ($database->query()) { + $sum_added_fields++; + } } + + // new field for add AUP points when published + if (!$result[$prefix.'jdownloads_files']['set_aup_points']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD set_aup_points TINYINT(1) NOT NULL default '0' AFTER submitted_by"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for file date + if (!$result[$prefix.'jdownloads_files']['file_date']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD file_date datetime NOT NULL default '0000-00-00 00:00:00' AFTER date_added"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for publish date + if (!$result[$prefix.'jdownloads_files']['publish_from']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD publish_from datetime NOT NULL default '0000-00-00 00:00:00' AFTER file_date"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for publish date + if (!$result[$prefix.'jdownloads_files']['publish_to']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD publish_to datetime NOT NULL default '0000-00-00 00:00:00' AFTER publish_from"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for use publish from and end date + if (!$result[$prefix.'jdownloads_files']['use_timeframe']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD use_timeframe TINYINT(1) NOT NULL default '0' AFTER publish_to"); + if ($database->query()) { + $sum_added_fields++; + } + } + + if ($sum_added_fields == 0) { $output .= " ".JText::_('JLIST_INSTALL_1_2')."
"; } else { diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/install.jdownloads.php b/oss/joomla/trunk/administrator/components/com_jdownloads/install.jdownloads.php index 6e285c84..441385f6 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/install.jdownloads.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/install.jdownloads.php @@ -1,1152 +1,1228 @@ - * - * GNU GENERAL PUBLIC LICENSE - * - * ---------------------------------------------------------------------------------- - */ - +* @version 1.6 +* @package JDownloads +* @copyright (C) 2010 www.jdownloads.com +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* +* +*/ defined( '_JEXEC' ) or die( 'Restricted access' ); Error_Reporting(E_ERROR); function com_install() { - $params = JComponentHelper::getParams('com_languages'); - $frontend_lang = $params->get('site', 'zh-CN'); - $language = JLanguage::getInstance($frontend_lang); - - // get language file for default layouts - $language = &JFactory::getLanguage(); - $language->load('com_jdownloads'); - $database = &JFactory::getDBO(); - - //********************************************* - // JD VERSION: - $jd_version = '1.6'; - $jd_version_state = 'Stable'; - $jd_version_svn = '730'; - //********************************************* + $params = JComponentHelper::getParams('com_languages'); + $frontend_lang = $params->get('site', 'en-GB'); + $language = JLanguage::getInstance($frontend_lang); + // get language file for default layouts + $language = &JFactory::getLanguage(); + $language->load('com_jdownloads'); + $database = &JFactory::getDBO(); + + //********************************************* + // JD VERSION: + $jd_version = '1.7.1'; + $jd_version_state = 'RC'; + $jd_version_svn = '754'; + //********************************************* - ?> -
- - - - - -
jDownloads Logo
-

- - _table_prefix; - $tablelist = $database->getTableList(); - if ( !in_array ( $prefix.'jdownloads_config', $tablelist ) ){ - echo '

'.JText::_('JLIST_INSTALL_ERROR_NO_TABLES').'

'; - } else { - - - // make only as update when prior version is >= 1.4 - // ************************************************* - $database->setQuery("SELECT setting_value FROM #__jdownloads_config WHERE setting_name = 'jd.version'"); - $version = floatval($database->loadResult()); - if ($version && $version < 1.4) { - // update not supported - echo '--> '.JText::_('JLIST_INSTALL_ABORT').'
'; - - } else { - - // install component - - - - //******************************************************************************************** - // move all images dirs to joomla images dir when not exists - // - // ******************************************************************************************* - $source_dir = array(); - $message = ''; - $ok = 0; - $create_root_ok = true; - - $image_root = JPATH_SITE.'/images/jdownloads/'; - $source_root = JPATH_SITE.'/components/com_jdownloads/'; - $source_dir[] = 'catimages/'; - $source_dir[] = 'fileimages/'; - $source_dir[] = 'miniimages/'; - $source_dir[] = 'hotimages/'; - $source_dir[] = 'newimages/'; - $source_dir[] = 'updimages/'; - $source_dir[] = 'downloadimages/'; - $source_dir[] = 'headerimages/'; - $source_dir[] = 'screenshots/'; - - if (!is_dir($image_root)){ - if (!@mkdir($image_root, 0755)){ - // wwwrun problems? - echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_CREATE_ROOT_DIR_ERROR').'
'; - $create_root_ok = false; - } - } - if ($create_root_ok){ - $error = false; - foreach($source_dir as $source){ - $sourcedir = $source_root.$source; - if (@is_dir($sourcedir)){ - $destdir = $image_root.$source; - if (!is_dir($destdir)){ - $res = moveDirs($sourcedir, $destdir, true, $message); - if ($message != '') { - // Fehler - echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_ERROR').' '.$message.'
'; - $error = true; - $message = ''; - } else { - // ok - $ok ++; - } - } - } - } - } - if ($ok > 0){ - echo '--> '.$ok.' '.JText::_('JLIST_INSTALL_MOVE_IMAGES_OK').'
'; - } else { - if (!$error) { - echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_DEST_DIR_EXIST').'
'; - } - } - - if ($create_root_ok){ - // dirs l�schen falls nicht verschoben wurde, da schon da - foreach($source_dir as $source){ - if (is_dir($source_root.$source)){ - delete_dir_and_allfiles($source_root.$source); - } - } - } - - //******************************************************************************************** - // insert default config data - if not exist - // - // ******************************************************************************************* - - $sum_configs = 0; - $root_dir = ''; - $is_update = false; - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'files.uploaddir'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.uploaddir', 'downloads')"); - $database->query(); - $sum_configs++; - } else { - $database->setQuery("SELECT setting_value FROM #__jdownloads_config WHERE setting_name = 'files.uploaddir'"); - $dir = $database->loadResult(); - $root_dir = JPATH_SITE.'/'.$dir.'/'; - $is_update = true; - } - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'global.datetime'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('global.datetime', '".JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT')."')"); - $database->query(); - $sum_configs++; - } else { - $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '".JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT')."' WHERE setting_name = 'global.datetime'"); - $database->query(); - $jlistConfig['global.datetime'] = JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT'); - } - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'files.autodetect'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.autodetect', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto', '".JText::_('JLIST_SETTINGS_INSTALL_5')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.option', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.betreff', '".JText::_('JLIST_SETTINGS_INSTALL_3')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.from', '".JText::_('JLIST_SETTINGS_INSTALL_4')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.fromname', 'JDownloads')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.html', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('zipfile.prefix', 'downloads_')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.order', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('checkbox.top.text', '".JText::_('JLIST_SETTINGS_INSTALL_1')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('downloads.titletext', '')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('layouts.editor', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('licenses.editor', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.editor', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('categories.editor', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('info.icons.size', '20')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cat.pic.size', '48')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.pic.size', '32')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('offline', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('offline.text', '".JText::_('JLIST_BACKEND_OFFLINE_MESSAGE_DEFAULT')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('system.list', '".JText::_('JLIST_BACKEND_FILESEDIT_SYSTEM_DEFAULT_LIST')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('language.list', '".JText::_('JLIST_BACKEND_FILESEDIT_LANGUAGE_DEFAULT_LIST')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.types.view', 'html,htm,txt,pdf,doc,jpg,jpeg,png,gif')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('directories.autodetect', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mail.cloaking', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('tempfile.delete.time', '20')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('frontend.upload.active', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.upload.file.types', 'zip,rar')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.upload.file.size', '2048')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.access', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.per.side', '10')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.form.text','".JText::_('JLIST_BACKEND_SETTINGS_FRONTEND_UPLOADS_FORM_TEXT_LAYOUT')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.header.title', 'Downloads')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.per.side.be', '15')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('last.log.message', '')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('last.restore.log', '')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('show.header.catlist', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('anti.leech', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('direct.download', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('days.is.file.new', '15')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.new', 'blue.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('loads.is.file.hot', '100')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.hot', 'red.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.details', 'download_blue.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.auto.publish', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cats.order', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('autopublish.founded.files', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('all.files.autodetect', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.types.autodetect', 'zip,rar,exe,pdf,doc,gif,jpg,png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jcomments.active', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.defaultlayout','".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_hot', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_new', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.enable_plugin', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_jdfiledisabled', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.layout_disabled','".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_downloadtitle', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.offline_title','".JText::_('JLIST_FRONTEND_SETTINGS_FILEPLUGIN_OFFLINE_FILETITLE')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.offline_descr','".JText::_('JLIST_FRONTEND_SETTINGS_FILEPLUGIN_DESCRIPTION')."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cat.pic.default.filename','folder.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.pic.default.filename','zip.png')"); - $database->query(); - $sum_configs++; - } - // new param f�r versionsnummer von jd - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version','$jd_version')"); - $database->query(); - $sum_configs++; - } else { - // set new value - $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version' WHERE setting_name = 'jd.version'"); - $database->query(); - } - - // new param f�r versions status von jd - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version.state'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version.state','$jd_version_state')"); - $database->query(); - $sum_configs++; - } else { - // set new value - $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version_state' WHERE setting_name = 'jd.version.state'"); - $database->query(); - } - - // new param f�r svn version von jd - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version.svn'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version.svn','$jd_version_svn')"); - $database->query(); - $sum_configs++; - } else { - // set new value - $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version_svn' WHERE setting_name = 'jd.version.svn'"); - $database->query(); - } - - // for send mails after frontend uploads - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'send.mailto.upload'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.upload', '".JText::_('JLIST_SETTINGS_INSTALL_5' )."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.option.upload', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.betreff.upload', '".JText::_('JLIST_SETTINGS_INSTALL_6' )."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.from.upload', '".JText::_('JLIST_SETTINGS_INSTALL_4' )."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.fromname.upload', 'JDownloads')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.html.upload', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.template.upload', '".JText::_('JLIST_BACKEND_SETTINGS_GLOBAL_MAIL_UPLOAD_TEMPLATE' )."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.template.download', '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_MAIL_DEFAULT' )."')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.mirror_1', 'mirror_blue1.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.mirror_2', 'mirror_blue2.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.updated', 'green.png')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('days.is.file.updated', '15')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.size.width', '100')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.size.height', '100')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.view.placeholder', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.view.placeholder.in.lists', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('backend.manager.access', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('option.navigate.bottom', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('option.navigate.top', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.category.info', '0')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('save.monitoring.log', '1')"); - $database->query(); - $sum_configs++; - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.subheader', '1')"); - $database->query(); - $sum_configs++; - } - - // new in 1.5 - - // options for config: view detail information site - default on - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.detailsite'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.detailsite', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('check.leeching', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.leeching.sites', '')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('block.referer.is.empty', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.author', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.author.url', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.release', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.price', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.license', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.language', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.system', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.pic.upload', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.desc.long', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.player.config', 'loop=0;showvolume=1;showstop=1;bgcolor1=006699;bgcolor2=66CCFF')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.view.id3.info', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.php.script.for.download', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.info.layout', '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_ID3TAG')."')"); - $database->query(); - $sum_configs++; - } - // added in v1.5.1 - // for pad file support - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'pad.exists'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.exists', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.use', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.folder', 'padfiles')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.language', 'English')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('google.adsense.active', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('google.adsense.code', '')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.active', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.start.value', '60')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.text', '".JText::_('JLIST_BACKEND_SETTINGS_WAITING_NOTE_TEXT')."')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.extern.file', '0')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.select.file', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.desc.short', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.blanks', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.uppercase', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.specials', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.report.download.link', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.report', '')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.files', 'download2.png')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.sum.jcomments', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('change.cyrillic.chars', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('be.new.files.order.first', '1')"); - $database->query(); - $sum_configs++; - } - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'downloads.footer.text'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('downloads.footer.text', '')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.back.button', '1')"); - $database->query(); - $sum_configs++; - - } - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'create.auto.cat.dir'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('create.auto.cat.dir', '1')"); - $database->query(); - $sum_configs++; - - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('reset.counters', '0')"); - $database->query(); - $sum_configs++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'report.link.only.regged'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('report.link.only.regged', '1')"); - $database->query(); - $sum_configs++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.ratings'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.ratings', '1')"); - $database->query(); - $sum_configs++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'rating.only.for.regged'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('rating.only.for.regged', '0')"); - $database->query(); - $sum_configs++; - } - - if ($sum_configs == 0) { - echo "--> ".JText::_('JLIST_INSTALL_1')."
"; - } else { - echo "--> ".$sum_configs." ".JText::_('JLIST_INSTALL_2')."
"; - } - - //***************************** config data end ********************************************** - - //******************************************************************************************** - // alter tables - insert here new fields from 1.5 for update from 1.4 - // ******************************************************************************************* - $sum_added_fields = 0; - $prefix = $database->_table_prefix; - - $tables = array( $prefix.'jdownloads_templates' ); - $result = $database->getTableFields( $tables ); - if (!$result[$prefix.'jdownloads_templates']['template_header_text']){ - $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_header_text LONGTEXT NOT NULL AFTER template_typ"); - if ($database->query()) { - $sum_added_fields++; - } - } - if (!$result[$prefix.'jdownloads_templates']['template_subheader_text']){ - $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_subheader_text LONGTEXT NOT NULL AFTER template_header_text"); - if ($database->query()) { - $sum_added_fields++; - } - } - if (!$result[$prefix.'jdownloads_templates']['template_footer_text']){ - $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_footer_text LONGTEXT NOT NULL AFTER template_subheader_text"); - if ($database->query()) { - $sum_added_fields++; - } - } - if (!$result[$prefix.'jdownloads_templates']['cols']){ - $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD cols TINYINT(1) NOT NULL DEFAULT 1 AFTER note"); - if ($database->query()) { - $sum_added_fields++; - } - } - // false fieldname delete from prior svn if exist - if ($result[$prefix.'jdownloads_templates']['columns']){ - $database->SetQuery("ALTER TABLE #__jdownloads_templates DROP columns"); - } - - // new alias fields - if (!$result[$prefix.'jdownloads_cats']['cat_alias']){ - $database->SetQuery("ALTER TABLE #__jdownloads_cats ADD cat_alias varchar(255) NOT NULL default '' AFTER cat_title"); - if ($database->query()) { - $sum_added_fields++; - } - } - // new alias fields - if (!$result[$prefix.'jdownloads_files']['file_alias']){ - $database->SetQuery("ALTER TABLE #__jdownloads_files ADD file_alias varchar(255) NOT NULL default '' AFTER file_title"); - if ($database->query()) { - $sum_added_fields++; - } - } - - if ($sum_added_fields == 0) { - echo "--> ".JText::_('JLIST_INSTALL_1_2')."
"; - } else { - echo "--> ".$sum_added_fields." ".JText::_('JLIST_INSTALL_2_2')."
"; - } - - //***************************** alter table end ********************************************** - - //******************************************************************************************** - // write default layouts in database - // ******************************************************************************************* - - - $sum_layouts =0; - $active = 0; - - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '1' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT_NAME')."'"); - $temp = $database->loadResult(); - if (!$temp) { - // exist active layout? - $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '1' AND template_active = '1'"); - $active = $database->loadResult(); - if (!$active) { - $active = 1; - } else { - $active = 0; - } - $cat_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT_NAME')."', 1, '".$cat_layout."', ".$active.", 1)"); - $database->query(); - $sum_layouts++; - } - // files - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."', 2, '".$file_layout."', 0, 1)"); - $database->query(); - $sum_layouts++; - } - - // summary - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '3' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."'"); - $temp = $database->loadResult(); - if (!$temp) { - // exist active layout? - $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '3' AND template_active = '1'"); - $active = $database->loadResult(); - if (!$active) { - $active = 1; - } else { - $active = 0; - } - $summary_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_SUMMARY_DEFAULT')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."', 3, '".$summary_layout."', ".$active.", 1)"); - $database->query(); - $sum_layouts++; - } - - // layout for download details - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '5' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT_NAME')."'"); - $temp = $database->loadResult(); - if (!$temp) { - // exist active layout? - $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '5' AND template_active = '1'"); - $active = $database->loadResult(); - if (!$active) { - $active = 1; - } else { - $active = 0; - } - $detail_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT_NAME')."', 5, '$detail_layout', ".$active.", 1)"); - $database->query(); - $sum_layouts++; - } - - // Simple layout with Checkboxes for files - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1_NAME')." 1.4'"); - $temp = $database->loadResult(); - if (!$temp) { - // exist active layout? - $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '2' AND template_active = '1'"); - $active = $database->loadResult(); - if (!$active) { - $active = 1; - } else { - $active = 0; - } - $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, checkbox_off, symbol_off) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1_NAME')." 1.4', 2, '".$file_layout."', ".$active.", 1, '', 0, 1)"); - $database->query(); - $sum_layouts++; - } - - // Simple layout without Checkboxes for files - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2_NAME')." 1.4'"); - $temp = $database->loadResult(); - if (!$temp) { - $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, checkbox_off, symbol_off) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2_NAME')." 1.4', 2, '".$file_layout."', 0, 1, '', 1, 1)"); - $database->query(); - $sum_layouts++; - } - - // new categories layout with 4 columns - $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '1' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_DEFAULT')); - $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, cols) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_TITLE')."', 1, '".$file_layout."', 0, 1, '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_NOTE')."', 4)"); - $database->query(); - $sum_layouts++; - } - - if ($sum_layouts == 0) { - echo "--> ".JText::_('JLIST_INSTALL_3')."
"; - } else { - echo "--> ".$sum_layouts." ".JText::_('JLIST_INSTALL_4')."
"; - } - - - //*************************************** end layouts **************************************** - - //******************************************************************************************** - // Write default licenses in database - // - // Get it from language file and checked if exists in DB - // - //******************************************************************************************** - - $lic_total = (int)JText::_('JLIST_SETTINGS_LICENSE_TOTAL'); - $sum_licenses = 0; - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE1_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE1_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE1_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE1_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE2_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE2_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE2_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE2_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE3_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE3_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE3_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE3_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE4_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE4_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE4_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE4_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE5_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE5_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE5_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE5_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE6_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE6_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE6_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE6_URL')."')"); - $database->query(); - $sum_licenses++; - } - - $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE7_TITLE')."'"); - $temp = $database->loadResult(); - if (!$temp) { - $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE7_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE7_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE7_URL')."')"); - $database->query(); - $sum_licenses++; - } - - if ($sum_licenses == 0) { - echo "--> ".JText::_('JLIST_INSTALL_5')."
"; - } else { - echo "--> ".$sum_licenses." ".JText::_('JLIST_INSTALL_6')."
"; - } - - //***************************** end licenses ************************************************* - - //******************************************************************************************** - // Checked if exist joomfish - // if yes, move the files - //******************************************************************************************** - if (@is_dir(JPATH_SITE.'/administrator/components/com_joomfish/contentelements')){ - $fishresult = 1; - @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_cats.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_cats.xml"); - @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_config.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_config.xml"); - @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_files.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_files.xml"); - @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_layouts.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_layouts.xml"); - @rmdir ( JPATH_SITE."/administrator/components/com_jdownloads/joomfish"); - } else { - $fishresult = 0; - } - - if ($fishresult) { - echo "--> ".JText::_('JLIST_INSTALL_17')." ".JPATH_SITE.'/administrator/components/com_joomfish/contentelements'.'
'; - } else { - echo "--> ".JText::_('JLIST_INSTALL_18')." ".JPATH_SITE.'/administrator/components/com_jdownloads/joomfish'.'
'.JText::_('JLIST_INSTALL_19').'

'; - } - - //***************************** end joomfish ************************************************* - - //******************************************************************************************** - // Checked default directories - //******************************************************************************************** - - // downloads - $dir_exist = is_dir(JPATH_SITE."/downloads"); - - if($dir_exist) { - if (is_writable(JPATH_SITE."/downloads")) { - echo "--> ".JText::_('JLIST_INSTALL_7')."
"; - } else { - echo "--> ".JText::_('JLIST_INSTALL_8')."
"; - } - } else { - if ($makedir = @mkdir(JPATH_SITE."/downloads/", 0777)) { - echo "--> ".JText::_('JLIST_INSTALL_9')."
"; - } else { - echo "--> ".JText::_('JLIST_INSTALL_10')."
"; - } - } - - // tempzipfiles - $dir_existzip = is_dir(JPATH_SITE."/downloads/tempzipfiles"); - - if($dir_existzip) { - if (is_writable(JPATH_SITE."/downloads/tempzipfiles")) { - echo "--> ".JText::_('JLIST_INSTALL_11')."
"; - } else { - echo "--> ".JText::_('JLIST_INSTALL_12')."
"; - } - } else { - if ($makedir = @mkdir(JPATH_SITE."/downloads/tempzipfiles/", 0777)) { - echo "--> ".JText::_('JLIST_INSTALL_13')."
"; - } else { - echo "--> ".JText::_('JLIST_INSTALL_14')."
"; - } - } - - // beispieldaten speichern - wenn neuinstallation - if ($root_dir == ''){ - $dir_exist = is_dir(JPATH_SITE."/downloads"); - if($dir_exist) { - if (is_writable(JPATH_SITE."/downloads")) { - if (!is_dir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'))){ - // daten speichern - // dirs f�r cats - $makdir = @mkdir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'), 0777); - $makdir = @mkdir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB'), 0777); - // cat erstellen in db - if ($makdir) { - $database->setQuery("INSERT INTO #__jdownloads_cats (cat_title, cat_description, cat_dir, parent_id, cat_pic, published) VALUES ('".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_ROOT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT')."', 0, 'joomla.png', 1)"); - $database->query(); - $database->setQuery("INSERT INTO #__jdownloads_cats (cat_title, cat_description, cat_dir, parent_id, cat_pic, published) VALUES ('".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_SUB')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB')."', 1, 'joomla.png', 1)"); - $database->query(); - // file kopieren nach catdir - $source_path = JPATH_SITE."/administrator/components/com_jdownloads/mod_jdownloads_top_1.5.zip"; - $dest_path = JPATH_SITE.'/downloads/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB').'/mod_jdownloads_top_1.5.zip'; - @copy($source_path, $dest_path); - // downloads erstellen - $database->setQuery("INSERT INTO #__jdownloads_files (`file_id`, `file_title`, `description`, `description_long`, `file_pic`, `price`, `release`, `language`, `system`, `license`, `url_license`, `size`, `date_added`, `url_download`, `url_home`, `author`, `url_author`, `created_by`, `created_mail`, `modified_by`, `modified_date`, `downloads`, `cat_id`, `ordering`, `published`, `checked_out`, `checked_out_time`) VALUES (NULL, '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME')."', '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME_TEXT')."', 'joomla.png', '', '1.0', '2', '1', '1', '', '1.92 KB', '".date('Y-m-d H:i:s')."', 'mod_jdownloads_top_1.5.zip', 'www.jDownloads.com', 'Arno Betz', 'info@jDownloads.com', 'Installer', '', '', '0000-00-00 00:00:00', '0', '2', '0', '1', '0', '0000-00-00 00:00:00')"); - $database->query(); - checkAlias(); - echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_OK')."
"; - } - } else { - // daten existieren schon - echo " ".JText::_('JLIST_SAMPLE_DATA_EXISTS')."
"; - } - } else { - // fehlermeldung: daten konnten nicht gespeichert werden - echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_ERROR')."
"; - } - } else { - // fehlermeldung: daten konnten nicht gespeichert werden - echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_ERROR')."
"; - } - } - checkAlias(); - - echo "--> ".JText::_('JLIST_INSTALL_DB_TIP')."
"; - ?>
-
- - - -
-
- - +
+ + + + + +
+ jDownloads Logo
+
+
+ + _table_prefix; + $tablelist = $database->getTableList(); + if ( !in_array ( $prefix.'jdownloads_config', $tablelist ) ){ + echo '

'.JText::_('JLIST_INSTALL_ERROR_NO_TABLES').'

'; + } else { + + + // make only as update when prior version is >= 1.4 + // ************************************************* + $database->setQuery("SELECT setting_value FROM #__jdownloads_config WHERE setting_name = 'jd.version'"); + $version = floatval($database->loadResult()); + if ($version && $version < 1.4) { + // update not supported + echo '--> '.JText::_('JLIST_INSTALL_ABORT').'
'; + + } else { + + // install component + + + +//******************************************************************************************** +// move all images dirs to joomla images dir when not exists +// +// ******************************************************************************************* + $source_dir = array(); + $message = ''; + $ok = 0; + $create_root_ok = true; + + $image_root = JPATH_SITE.'/images/jdownloads/'; + $source_root = JPATH_SITE.'/components/com_jdownloads/'; + $source_dir[] = 'catimages/'; + $source_dir[] = 'fileimages/'; + $source_dir[] = 'miniimages/'; + $source_dir[] = 'hotimages/'; + $source_dir[] = 'newimages/'; + $source_dir[] = 'updimages/'; + $source_dir[] = 'downloadimages/'; + $source_dir[] = 'headerimages/'; + $source_dir[] = 'screenshots/'; + + if (!is_dir($image_root)){ + if (!@mkdir($image_root, 0755)){ + // wwwrun problems? + echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_CREATE_ROOT_DIR_ERROR').'
'; + $create_root_ok = false; + } + } + if ($create_root_ok){ + $error = false; + foreach($source_dir as $source){ + $sourcedir = $source_root.$source; + if (@is_dir($sourcedir)){ + $destdir = $image_root.$source; + if (!is_dir($destdir)){ + $res = moveDirs($sourcedir, $destdir, true, $message); + if ($message != '') { + // Fehler + echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_ERROR').' '.$message.'
'; + $error = true; + $message = ''; + } else { + // ok + $ok ++; + } + } + } + } + } + if ($ok > 0){ + echo '--> '.$ok.' '.JText::_('JLIST_INSTALL_MOVE_IMAGES_OK').'
'; + } else { + if (!$error) { + echo '--> '.JText::_('JLIST_INSTALL_MOVE_IMAGES_DEST_DIR_EXIST').'
'; + } + } + + if ($create_root_ok){ + // dirs löschen falls nicht verschoben wurde, da schon da + foreach($source_dir as $source){ + if (is_dir($source_root.$source)){ + delete_dir_and_allfiles($source_root.$source); + } + } + } + +//******************************************************************************************** +// insert default config data - if not exist +// +// ******************************************************************************************* + + $sum_configs = 0; + $root_dir = ''; + $is_update = false; + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'files.uploaddir'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.uploaddir', 'downloads')"); + $database->query(); + $sum_configs++; + } else { + $database->setQuery("SELECT setting_value FROM #__jdownloads_config WHERE setting_name = 'files.uploaddir'"); + $dir = $database->loadResult(); + $root_dir = JPATH_SITE.'/'.$dir.'/'; + $is_update = true; + } + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'global.datetime'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('global.datetime', '".JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT')."')"); + $database->query(); + $sum_configs++; + } else { + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '".JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT')."' WHERE setting_name = 'global.datetime'"); + $database->query(); + $jlistConfig['global.datetime'] = JText::_('JLIST_INSTALL_DEFAULT_DATE_FORMAT'); + } + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'files.autodetect'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.autodetect', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto', '".JText::_('JLIST_SETTINGS_INSTALL_5')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.option', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.betreff', '".JText::_('JLIST_SETTINGS_INSTALL_3')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.from', '".JText::_('JLIST_SETTINGS_INSTALL_4')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.fromname', 'JDownloads')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.html', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('zipfile.prefix', 'downloads_')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.order', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('checkbox.top.text', '".JText::_('JLIST_SETTINGS_INSTALL_1')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('downloads.titletext', '')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('layouts.editor', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('licenses.editor', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.editor', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('categories.editor', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('info.icons.size', '20')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cat.pic.size', '48')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.pic.size', '32')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('offline', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('offline.text', '".JText::_('JLIST_BACKEND_OFFLINE_MESSAGE_DEFAULT')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('system.list', '".JText::_('JLIST_BACKEND_FILESEDIT_SYSTEM_DEFAULT_LIST')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('language.list', '".JText::_('JLIST_BACKEND_FILESEDIT_LANGUAGE_DEFAULT_LIST')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.types.view', 'html,htm,txt,pdf,doc,jpg,jpeg,png,gif')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('directories.autodetect', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mail.cloaking', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('tempfile.delete.time', '20')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('frontend.upload.active', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.upload.file.types', 'zip,rar')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.upload.file.size', '2048')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.access', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.per.side', '10')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.form.text','".JText::_('JLIST_BACKEND_SETTINGS_FRONTEND_UPLOADS_FORM_TEXT_LAYOUT')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.header.title', 'Downloads')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('files.per.side.be', '15')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('last.log.message', '')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('last.restore.log', '')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('show.header.catlist', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('anti.leech', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('direct.download', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('days.is.file.new', '15')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.new', 'blue.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('loads.is.file.hot', '100')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.hot', 'red.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.details', 'download_blue.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('upload.auto.publish', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cats.order', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('autopublish.founded.files', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('all.files.autodetect', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.types.autodetect', 'zip,rar,exe,pdf,doc,gif,jpg,png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jcomments.active', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.defaultlayout','".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_hot', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_new', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.enable_plugin', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_jdfiledisabled', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.layout_disabled','".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.show_downloadtitle', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.offline_title','".JText::_('JLIST_FRONTEND_SETTINGS_FILEPLUGIN_OFFLINE_FILETITLE')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fileplugin.offline_descr','".JText::_('JLIST_FRONTEND_SETTINGS_FILEPLUGIN_DESCRIPTION')."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('cat.pic.default.filename','folder.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('file.pic.default.filename','zip.png')"); + $database->query(); + $sum_configs++; + } + // new param für versionsnummer von jd + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version','$jd_version')"); + $database->query(); + $sum_configs++; + } else { + // set new value + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version' WHERE setting_name = 'jd.version'"); + $database->query(); + } + + // new param für versions status von jd + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version.state'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version.state','$jd_version_state')"); + $database->query(); + $sum_configs++; + } else { + // set new value + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version_state' WHERE setting_name = 'jd.version.state'"); + $database->query(); + } + + // new param für svn version von jd + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'jd.version.svn'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('jd.version.svn','$jd_version_svn')"); + $database->query(); + $sum_configs++; + } else { + // set new value + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$jd_version_svn' WHERE setting_name = 'jd.version.svn'"); + $database->query(); + } + + // for send mails after frontend uploads + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'send.mailto.upload'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.upload', '".JText::_('JLIST_SETTINGS_INSTALL_5' )."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.option.upload', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.betreff.upload', '".JText::_('JLIST_SETTINGS_INSTALL_6' )."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.from.upload', '".JText::_('JLIST_SETTINGS_INSTALL_4' )."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.fromname.upload', 'JDownloads')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.html.upload', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.template.upload', '".JText::_('JLIST_BACKEND_SETTINGS_GLOBAL_MAIL_UPLOAD_TEMPLATE' )."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.template.download', '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_MAIL_DEFAULT' )."')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.mirror_1', 'mirror_blue1.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.mirror_2', 'mirror_blue2.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('picname.is.file.updated', 'green.png')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('days.is.file.updated', '15')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.size.width', '100')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.size.height', '100')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.view.placeholder', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('thumbnail.view.placeholder.in.lists', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('backend.manager.access', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('option.navigate.bottom', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('option.navigate.top', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.category.info', '0')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('save.monitoring.log', '1')"); + $database->query(); + $sum_configs++; + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.subheader', '1')"); + $database->query(); + $sum_configs++; + } + + // new in 1.5 + + // options for config: view detail information site - default on + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.detailsite'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.detailsite', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('check.leeching', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('allowed.leeching.sites', '')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('block.referer.is.empty', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.author', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.author.url', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.release', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.price', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.license', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.language', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.system', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.pic.upload', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.desc.long', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.player.config', 'loop=0;showvolume=1;showstop=1;bgcolor1=006699;bgcolor2=66CCFF')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.view.id3.info', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.php.script.for.download', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('mp3.info.layout', '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_ID3TAG')."')"); + $database->query(); + $sum_configs++; + } + // added in v1.5.1 + // for pad file support + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'pad.exists'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.exists', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.use', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.folder', 'padfiles')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('pad.language', 'English')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('google.adsense.active', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('google.adsense.code', '')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.active', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.start.value', '60')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('countdown.text', '".JText::_('JLIST_BACKEND_SETTINGS_WAITING_NOTE_TEXT')."')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.extern.file', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.select.file', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fe.upload.view.desc.short', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.blanks', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.uppercase', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('fix.upload.filename.specials', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.report.download.link', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('send.mailto.report', '')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('download.pic.files', 'download2.png')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.sum.jcomments', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('change.cyrillic.chars', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('be.new.files.order.first', '1')"); + $database->query(); + $sum_configs++; + } + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'downloads.footer.text'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('downloads.footer.text', '')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.back.button', '1')"); + $database->query(); + $sum_configs++; + + } + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'create.auto.cat.dir'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('create.auto.cat.dir', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('reset.counters', '0')"); + $database->query(); + $sum_configs++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'report.link.only.regged'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('report.link.only.regged', '1')"); + $database->query(); + $sum_configs++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.ratings'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.ratings', '1')"); + $database->query(); + $sum_configs++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'rating.only.for.regged'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('rating.only.for.regged', '0')"); + $database->query(); + $sum_configs++; + } + // added in version 1.7.0 + // ********************** + $database->setQuery("SELECT * FROM #__jdownloads_config WHERE setting_name = 'view.also.download.link.text'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.also.download.link.text', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('auto.file.short.description', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('auto.file.short.description.value', '200')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('view.jom.comment', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.lightbox.function', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.alphauserpoints', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('use.alphauserpoints.with.price.field', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('user.can.download.file.when.zero.points', '1')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('user.message.when.zero.points', '".JText::_('JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD')."')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('limited.download.number.per.day', '0')"); + $database->query(); + $sum_configs++; + + $database->SetQuery("INSERT INTO #__jdownloads_config (setting_name, setting_value) VALUES ('limited.download.reached.message', '".JText::_('JLIST_FE_MESSAGE_AMOUNT_FILES_LIMIT')."')"); + $database->query(); + $sum_configs++; + } + + if ($sum_configs == 0) { + echo "--> ".JText::_('JLIST_INSTALL_1')."
"; + } else { + echo "--> ".$sum_configs." ".JText::_('JLIST_INSTALL_2')."
"; + } + +//***************************** config data end ********************************************** + +//******************************************************************************************** +// alter tables - insert here new fields from 1.5 for update from 1.4 +// ******************************************************************************************* + $sum_added_fields = 0; + $prefix = $database->_table_prefix; + + $tables = array( $prefix.'jdownloads_templates' ); + $result = $database->getTableFields( $tables ); + if (!$result[$prefix.'jdownloads_templates']['template_header_text']){ + $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_header_text LONGTEXT NOT NULL AFTER template_typ"); + if ($database->query()) { + $sum_added_fields++; + } + } + if (!$result[$prefix.'jdownloads_templates']['template_subheader_text']){ + $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_subheader_text LONGTEXT NOT NULL AFTER template_header_text"); + if ($database->query()) { + $sum_added_fields++; + } + } + if (!$result[$prefix.'jdownloads_templates']['template_footer_text']){ + $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD template_footer_text LONGTEXT NOT NULL AFTER template_subheader_text"); + if ($database->query()) { + $sum_added_fields++; + } + } + if (!$result[$prefix.'jdownloads_templates']['cols']){ + $database->SetQuery("ALTER TABLE #__jdownloads_templates ADD cols TINYINT(1) NOT NULL DEFAULT 1 AFTER note"); + if ($database->query()) { + $sum_added_fields++; + } + } + // false fieldname delete from prior svn if exist + if ($result[$prefix.'jdownloads_templates']['columns']){ + $database->SetQuery("ALTER TABLE #__jdownloads_templates DROP columns"); + } + + // new alias fields + $tables = array( $prefix.'jdownloads_cats' ); + $result = $database->getTableFields( $tables ); + if (!$result[$prefix.'jdownloads_cats']['cat_alias']){ + $database->SetQuery("ALTER TABLE #__jdownloads_cats ADD cat_alias varchar(255) NOT NULL default '' AFTER cat_title"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new alias fields + $tables = array( $prefix.'jdownloads_files' ); + $result = $database->getTableFields( $tables ); + if (!$result[$prefix.'jdownloads_files']['file_alias']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD file_alias varchar(255) NOT NULL default '' AFTER file_title"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for created file user-id - submitted by id + if (!$result[$prefix.'jdownloads_files']['submitted_by']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD submitted_by INT(11) NOT NULL default '0' AFTER modified_date"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for add AUP points when published + if (!$result[$prefix.'jdownloads_files']['set_aup_points']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD set_aup_points TINYINT(1) NOT NULL default '0' AFTER submitted_by"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for file date + if (!$result[$prefix.'jdownloads_files']['file_date']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD file_date datetime NOT NULL default '0000-00-00 00:00:00' AFTER date_added"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for publish date + if (!$result[$prefix.'jdownloads_files']['publish_from']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD publish_from datetime NOT NULL default '0000-00-00 00:00:00' AFTER file_date"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for publish date + if (!$result[$prefix.'jdownloads_files']['publish_to']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD publish_to datetime NOT NULL default '0000-00-00 00:00:00' AFTER publish_from"); + if ($database->query()) { + $sum_added_fields++; + } + } + // new field for use publish from and end date + if (!$result[$prefix.'jdownloads_files']['use_timeframe']){ + $database->SetQuery("ALTER TABLE #__jdownloads_files ADD use_timeframe TINYINT(1) NOT NULL default '0' AFTER publish_to"); + if ($database->query()) { + $sum_added_fields++; + } + } + + if ($sum_added_fields == 0) { + echo "--> ".JText::_('JLIST_INSTALL_1_2')."
"; + } else { + echo "--> ".$sum_added_fields." ".JText::_('JLIST_INSTALL_2_2')."
"; } + +//***************************** alter table end ********************************************** + +//******************************************************************************************** +// write default layouts in database +// ******************************************************************************************* + + + $sum_layouts =0; + $active = 0; + + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '1' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT_NAME')."'"); + $temp = $database->loadResult(); + if (!$temp) { + // exist active layout? + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '1' AND template_active = '1'"); + $active = $database->loadResult(); + if (!$active) { + $active = 1; + } else { + $active = 0; + } + $cat_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_DEFAULT_NAME')."', 1, '".$cat_layout."', ".$active.", 1)"); + $database->query(); + $sum_layouts++; + } + // files + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."', 2, '".$file_layout."', 0, 1)"); + $database->query(); + $sum_layouts++; + } + + // summary + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '3' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."'"); + $temp = $database->loadResult(); + if (!$temp) { + // exist active layout? + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '3' AND template_active = '1'"); + $active = $database->loadResult(); + if (!$active) { + $active = 1; + } else { + $active = 0; + } + $summary_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_SUMMARY_DEFAULT')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NAME')."', 3, '".$summary_layout."', ".$active.", 1)"); + $database->query(); + $sum_layouts++; + } + + // layout for download details + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '5' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT_NAME')."'"); + $temp = $database->loadResult(); + if (!$temp) { + // exist active layout? + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '5' AND template_active = '1'"); + $active = $database->loadResult(); + if (!$active) { + $active = 1; + } else { + $active = 0; + } + $detail_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DEFAULT_NAME')."', 5, '$detail_layout', ".$active.", 1)"); + $database->query(); + $sum_layouts++; + } + + // Simple layout with Checkboxes for files + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1_NAME')." 1.4'"); + $temp = $database->loadResult(); + if (!$temp) { + // exist active layout? + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_templates WHERE template_typ = '2' AND template_active = '1'"); + $active = $database->loadResult(); + if (!$active) { + $active = 1; + } else { + $active = 0; + } + $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, checkbox_off, symbol_off) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_1_NAME')." 1.4', 2, '".$file_layout."', ".$active.", 1, '', 0, 1)"); + $database->query(); + $sum_layouts++; + } + + // Simple layout without Checkboxes for files + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '2' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2_NAME')." 1.4'"); + $temp = $database->loadResult(); + if (!$temp) { + $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, checkbox_off, symbol_off) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DEFAULT_NEW_SIMPLE_2_NAME')." 1.4', 2, '".$file_layout."', 0, 1, '', 1, 1)"); + $database->query(); + $sum_layouts++; + } + + // new categories layout with 4 columns + $database->setQuery("SELECT * FROM #__jdownloads_templates WHERE template_typ = '1' AND locked = '1' AND template_name ='".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $file_layout = stripslashes(JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_DEFAULT')); + $database->setQuery("INSERT INTO #__jdownloads_templates (template_name, template_typ, template_text, template_active, locked, note, cols) VALUES ('".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_TITLE')."', 1, '".$file_layout."', 0, 1, '".JText::_('JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_COL_NOTE')."', 4)"); + $database->query(); + $sum_layouts++; + } + + if ($sum_layouts == 0) { + echo "--> ".JText::_('JLIST_INSTALL_3')."
"; + } else { + echo "--> ".$sum_layouts." ".JText::_('JLIST_INSTALL_4')."
"; + } + + +//*************************************** end layouts **************************************** + +//******************************************************************************************** +// Write default licenses in database +// +// Get it from language file and checked if exists in DB +// +//******************************************************************************************** + + $lic_total = (int)JText::_('JLIST_SETTINGS_LICENSE_TOTAL'); + $sum_licenses = 0; + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE1_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE1_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE1_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE1_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE2_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE2_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE2_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE2_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE3_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE3_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE3_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE3_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE4_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE4_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE4_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE4_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE5_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE5_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE5_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE5_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE6_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE6_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE6_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE6_URL')."')"); + $database->query(); + $sum_licenses++; + } + + $database->setQuery("SELECT * FROM #__jdownloads_license WHERE license_title = '".JText::_('JLIST_SETTINGS_LICENSE7_TITLE')."'"); + $temp = $database->loadResult(); + if (!$temp) { + $database->setQuery("INSERT INTO #__jdownloads_license (license_title, license_text, license_url) VALUES ('".JText::_('JLIST_SETTINGS_LICENSE7_TITLE')."', '".JText::_('JLIST_SETTINGS_LICENSE7_TEXT')."', '".JText::_('JLIST_SETTINGS_LICENSE7_URL')."')"); + $database->query(); + $sum_licenses++; + } + + if ($sum_licenses == 0) { + echo "--> ".JText::_('JLIST_INSTALL_5')."
"; + } else { + echo "--> ".$sum_licenses." ".JText::_('JLIST_INSTALL_6')."
"; + } + +//***************************** end licenses ************************************************* + +//******************************************************************************************** +// Checked if exist joomfish +// if yes, move the files +//******************************************************************************************** + if (@is_dir(JPATH_SITE.'/administrator/components/com_joomfish/contentelements')){ + $fishresult = 1; + @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_cats.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_cats.xml"); + @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_config.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_config.xml"); + @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_files.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_files.xml"); + @rename( JPATH_SITE."/administrator/components/com_jdownloads/joomfish/jdownloads_layouts.xml", JPATH_SITE."/administrator/components/com_joomfish/contentelements/jdownloads_layouts.xml"); + @rmdir ( JPATH_SITE."/administrator/components/com_jdownloads/joomfish"); + } else { + $fishresult = 0; + } + + if ($fishresult) { + echo "--> ".JText::_('JLIST_INSTALL_17')." ".JPATH_SITE.'/administrator/components/com_joomfish/contentelements'.'
'; + } else { + echo "--> ".JText::_('JLIST_INSTALL_18')." ".JPATH_SITE.'/administrator/components/com_jdownloads/joomfish'.'
'.JText::_('JLIST_INSTALL_19').'

'; + } + +//***************************** end joomfish ************************************************* + +//******************************************************************************************** +// Checked default directories +//******************************************************************************************** + + // downloads + $dir_exist = is_dir(JPATH_SITE."/downloads"); + + if($dir_exist) { + if (is_writable(JPATH_SITE."/downloads")) { + echo "--> ".JText::_('JLIST_INSTALL_7')."
"; + } else { + echo "--> ".JText::_('JLIST_INSTALL_8')."
"; + } + } else { + if ($makedir = @mkdir(JPATH_SITE."/downloads/", 0777)) { + echo "--> ".JText::_('JLIST_INSTALL_9')."
"; + } else { + echo "--> ".JText::_('JLIST_INSTALL_10')."
"; + } + } + + // tempzipfiles + $dir_existzip = is_dir(JPATH_SITE."/downloads/tempzipfiles"); + + if($dir_existzip) { + if (is_writable(JPATH_SITE."/downloads/tempzipfiles")) { + echo "--> ".JText::_('JLIST_INSTALL_11')."
"; + } else { + echo "--> ".JText::_('JLIST_INSTALL_12')."
"; + } + } else { + if ($makedir = @mkdir(JPATH_SITE."/downloads/tempzipfiles/", 0777)) { + echo "--> ".JText::_('JLIST_INSTALL_13')."
"; + } else { + echo "--> ".JText::_('JLIST_INSTALL_14')."
"; + } + } + + // beispieldaten speichern - wenn neuinstallation + if ($root_dir == ''){ + $dir_exist = is_dir(JPATH_SITE."/downloads"); + if($dir_exist) { + if (is_writable(JPATH_SITE."/downloads")) { + if (!is_dir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'))){ + // daten speichern + // dirs für cats + $makdir = @mkdir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT'), 0777); + $makdir = @mkdir(JPATH_SITE."/downloads/".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB'), 0777); + // cat erstellen in db + if ($makdir) { + $database->setQuery("INSERT INTO #__jdownloads_cats (cat_title, cat_description, cat_dir, parent_id, cat_pic, published) VALUES ('".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_ROOT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT')."', 0, 'joomla.png', 1)"); + $database->query(); + $database->setQuery("INSERT INTO #__jdownloads_cats (cat_title, cat_description, cat_dir, parent_id, cat_pic, published) VALUES ('".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_SUB')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB')."', 1, 'joomla.png', 1)"); + $database->query(); + // file kopieren nach catdir + $source_path = JPATH_SITE."/administrator/components/com_jdownloads/mod_jdownloads_top_1.5.zip"; + $dest_path = JPATH_SITE.'/downloads/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_ROOT').'/'.JText::_('JLIST_SAMPLE_DATA_CAT_FOLDER_SUB').'/mod_jdownloads_top_1.5.zip'; + @copy($source_path, $dest_path); + // downloads erstellen + $database->setQuery("INSERT INTO #__jdownloads_files (`file_id`, `file_title`, `description`, `description_long`, `file_pic`, `price`, `release`, `language`, `system`, `license`, `url_license`, `size`, `date_added`, `url_download`, `url_home`, `author`, `url_author`, `created_by`, `created_mail`, `modified_by`, `modified_date`, `downloads`, `cat_id`, `ordering`, `published`, `checked_out`, `checked_out_time`) VALUES (NULL, '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME')."', '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME_TEXT')."', '".JText::_('JLIST_SAMPLE_DATA_FILE_NAME_TEXT')."', 'joomla.png', '', '1.0', '2', '1', '1', '', '1.92 KB', '".date('Y-m-d H:i:s')."', 'mod_jdownloads_top_1.5.zip', 'www.jDownloads.com', 'Arno Betz', 'info@jDownloads.com', 'Installer', '', '', '0000-00-00 00:00:00', '0', '2', '0', '1', '0', '0000-00-00 00:00:00')"); + $database->query(); + checkAlias(); + echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_OK')."
"; + } + } else { + // daten existieren schon + echo " ".JText::_('JLIST_SAMPLE_DATA_EXISTS')."
"; + } + } else { + // fehlermeldung: daten konnten nicht gespeichert werden + echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_ERROR')."
"; + } + } else { + // fehlermeldung: daten konnten nicht gespeichert werden + echo "--> ".JText::_('JLIST_SAMPLE_DATA_CREATE_ERROR')."
"; + } + } + checkAlias(); + + echo "--> ".JText::_('JLIST_INSTALL_DB_TIP')."
"; + ?> + +
+
+ + + + +

+ + setQuery("SELECT cat_id, cat_title, cat_alias FROM #__jdownloads_cats WHERE cat_alias = ''"); - $cats = $database->loadObjectList(); - if ($cats){ - foreach ($cats as $cat){ - $cat->cat_alias = $cat->cat_title; - $cat->cat_alias = JFilterOutput::stringURLSafe($cat->cat_alias); - if(trim(str_replace('-','',$cat->cat_alias)) == '') { - $datenow =& JFactory::getDate(); - $cat->cat_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); - } - $database->setQuery("UPDATE #__jdownloads_cats SET cat_alias = '$cat->cat_alias' WHERE cat_id = '$cat->cat_id'"); - $database->query(); - } - } - $database->setQuery("SELECT file_id, file_title, file_alias FROM #__jdownloads_files WHERE file_alias = ''"); - $files = $database->loadObjectList(); - if ($files){ - foreach ($files as $file){ - $file->file_alias = $file->file_title; - $file->file_alias = JFilterOutput::stringURLSafe($file->file_alias); - if(trim(str_replace('-','',$file->file_alias)) == '') { - $datenow =& JFactory::getDate(); - $file->file_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); - } - $database->setQuery("UPDATE #__jdownloads_files SET file_alias = '$file->file_alias' WHERE file_id = '$file->file_id'"); - $database->query(); - } - } -} + $database = &JFactory::getDBO(); + // check alias field + $database->setQuery("SELECT cat_id, cat_title, cat_alias FROM #__jdownloads_cats WHERE cat_alias = ''"); + $cats = $database->loadObjectList(); + if ($cats){ + foreach ($cats as $cat){ + $cat->cat_alias = $cat->cat_title; + $cat->cat_alias = JFilterOutput::stringURLSafe($cat->cat_alias); + if(trim(str_replace('-','',$cat->cat_alias)) == '') { + $datenow =& JFactory::getDate(); + $cat->cat_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); + } + $database->setQuery("UPDATE #__jdownloads_cats SET cat_alias = '$cat->cat_alias' WHERE cat_id = '$cat->cat_id'"); + $database->query(); + } + } + $database->setQuery("SELECT file_id, file_title, file_alias FROM #__jdownloads_files WHERE file_alias = ''"); + $files = $database->loadObjectList(); + if ($files){ + foreach ($files as $file){ + $file->file_alias = $file->file_title; + $file->file_alias = JFilterOutput::stringURLSafe($file->file_alias); + if(trim(str_replace('-','',$file->file_alias)) == '') { + $datenow =& JFactory::getDate(); + $file->file_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); + } + $database->setQuery("UPDATE #__jdownloads_files SET file_alias = '$file->file_alias' WHERE file_id = '$file->file_id'"); + $database->query(); + } + } +} // Kopiert alle dirs inkl. subdirs und files nach $dest -// und l�scht abscchliessend das $source dir +// und löscht abscchliessend das $source dir function moveDirs($source, $dest, $recursive = true, $message) { - $error = false; - if (!is_dir($dest)) { - mkdir($dest); - } - $handle = @opendir($source); - if(!$handle) { - $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_COPY_ERROR'); - return $message; - } - while ($file = @readdir ($handle)) { - if (eregi("^\.{1,2}$",$file)) { - continue; - } - if(!$recursive && $source != $source.$file."/") { - if(is_dir($source.$file)) - continue; - } - if(is_dir($source.$file)) { - moveDirs($source.$file."/", $dest.$file."/", $recursive, $message); - } else { - if (!@copy($source.$file, $dest.$file)) { - $error = true; - } - } - } - @closedir($handle); - // $source l�schen wenn KEIN error - if (!$error) { - $res = delete_dir_and_allfiles ($source); - if ($res) { - $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_DEL_AFTER_COPY_ERROR'); - } - } else { - $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_COPY_ERROR'); - } - return $message; -} + $error = false; + if (!is_dir($dest)) { + mkdir($dest); + } + $handle = @opendir($source); + if(!$handle) { + $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_COPY_ERROR'); + return $message; + } + while ($file = @readdir ($handle)) { + if (eregi("^\.{1,2}$",$file)) { + continue; + } + if(!$recursive && $source != $source.$file."/") { + if(is_dir($source.$file)) + continue; + } + if(is_dir($source.$file)) { + moveDirs($source.$file."/", $dest.$file."/", $recursive, $message); + } else { + if (!@copy($source.$file, $dest.$file)) { + $error = true; + } + } + } + @closedir($handle); + // $source löschen wenn KEIN error + if (!$error) { + $res = delete_dir_and_allfiles ($source); + if ($res) { + $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_DEL_AFTER_COPY_ERROR'); + } + } else { + $message = JText::_('JLIST_INSTALL_MOVE_IMAGES_COPY_ERROR'); + } + return $message; +} -// delete_dir_and_allfiles - rekursiv l�schen +// delete_dir_and_allfiles - rekursiv löschen // Rueckgabewerte: // 0 - ok // -1 - kein Verzeichnis @@ -1154,50 +1230,50 @@ function moveDirs($source, $dest, $recursive = true, $message) { // -3 - Ein Eintrag war keine Datei/Verzeichnis/Link function delete_dir_and_allfiles ($path) { - if (!is_dir ($path)) { - return -1; - } - $dir = @opendir ($path); - if (!$dir) { - return -2; - } - while (($entry = @readdir($dir)) !== false) { - if ($entry == '.' || $entry == '..') continue; - if (is_dir ($path.'/'.$entry)) { - $res = delete_dir_and_allfiles ($path.'/'.$entry); - // manage errors - if ($res == -1) { - @closedir ($dir); - return -2; - } else if ($res == -2) { - @closedir ($dir); - return -2; - } else if ($res == -3) { - @closedir ($dir); - return -3; - } else if ($res != 0) { - @closedir ($dir); - return -2; - } - } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) { - // delete file - $res = @unlink ($path.'/'.$entry); - if (!$res) { - @closedir ($dir); - return -2; - } - } else { - @closedir ($dir); - return -3; - } - } - @closedir ($dir); - // delete dir - $res = @rmdir ($path); - if (!$res) { - return -2; - } - return 0; + if (!is_dir ($path)) { + return -1; + } + $dir = @opendir ($path); + if (!$dir) { + return -2; + } + while (($entry = @readdir($dir)) !== false) { + if ($entry == '.' || $entry == '..') continue; + if (is_dir ($path.'/'.$entry)) { + $res = delete_dir_and_allfiles ($path.'/'.$entry); + // manage errors + if ($res == -1) { + @closedir ($dir); + return -2; + } else if ($res == -2) { + @closedir ($dir); + return -2; + } else if ($res == -3) { + @closedir ($dir); + return -3; + } else if ($res != 0) { + @closedir ($dir); + return -2; + } + } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) { + // delete file + $res = @unlink ($path.'/'.$entry); + if (!$res) { + @closedir ($dir); + return -2; + } + } else { + @closedir ($dir); + return -3; + } + } + @closedir ($dir); + // delete dir + $res = @rmdir ($path); + if (!$res) { + return -2; + } + return 0; } ?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/install.sql b/oss/joomla/trunk/administrator/components/com_jdownloads/install.sql index e8b26d49..5835fea9 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/install.sql +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/install.sql @@ -39,6 +39,10 @@ `url_license` varchar(255) NOT NULL default '', `size` varchar(255) NOT NULL default '', `date_added` datetime NOT NULL default '0000-00-00 00:00:00', + `file_date` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_from` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_to` datetime NOT NULL default '0000-00-00 00:00:00', + `use_timeframe` tinyint(1) NOT NULL default '0', `url_download` varchar(255) NOT NULL default '', `extern_file` varchar(255) NOT NULL default '', `extern_site` tinyint(1) NOT NULL default '0', @@ -52,7 +56,9 @@ `created_by` varchar(255) NOT NULL default '', `created_mail` varchar(255) NOT NULL default '', `modified_by` varchar(255) NOT NULL default '', - `modified_date` datetime NOT NULL default '0000-00-00 00:00:00', + `modified_date` datetime NOT NULL default '0000-00-00 00:00:00', + `submitted_by` int(11) NOT NULL default '0', + `set_aup_points` tinyint(1) NOT NULL default '0', `downloads` int(11) NOT NULL default '0', `cat_id` int(11) NOT NULL default '0', `metakey` TEXT NOT NULL default '', diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/jdownloads.xml b/oss/joomla/trunk/administrator/components/com_jdownloads/jdownloads.xml index f5b11d84..963f0158 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/jdownloads.xml +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/jdownloads.xml @@ -1,337 +1,349 @@ - + - jDownloads - 04/2010 - YUCHENG HU - (C) 2009 www.hawebs.net - service@hawebs.net - www.hawebs.net - 1.0 - Download Management Component for Joomla! 1.5.x Native - - - - jdownloads.php - jdownloads.html.php - jdownloads.class.php - router.php - jdownloads.js - jdownloads_fe.css - mp3_player_maxi.swf - index.html - language/index.html - lightbox/index.html - lightbox/lightbox.js - lightbox/lightbox.css - lightbox/loading.gif - lightbox/overlay.png - lightbox/close.gif - lightbox/blank.gif - rating/index.html - rating/ajax.php - rating/css/index.html - rating/css/ajaxvote.php - rating/css/ajaxvote.css - rating/css/ajaxvote2.css - rating/images/index.html - rating/images/loading.gif - rating/images/star.png - rating/images/star.gif - rating/js/index.html - rating/js/ajaxvote.js - rating/js/ajaxvote.php - - - images/index.html - images/button_bg.png - images/new_window.png - images/upload.png - images/link_extern.gif - images/upload_ok.png - images/upload_stop.png - images/search.png - images/home_fe.png - images/summary.png - images/offline.png - images/form_no_value.png - fileimages/index.html - fileimages/doc.png - fileimages/xml.png - fileimages/real.png - fileimages/rtf.png - fileimages/ps.png - fileimages/pdf.png - fileimages/7z.png - fileimages/aiff.png - fileimages/arj.png - fileimages/bzip.png - fileimages/iso.png - fileimages/tgz.png - fileimages/java.png - fileimages/java-archive.png - fileimages/lhz.png - fileimages/perl.png - fileimages/rar.png - fileimages/tarz.png - fileimages/wma.png - fileimages/zip.png - fileimages/wav.png - fileimages/binary.png - fileimages/document.png - fileimages/font_truetype.png - fileimages/font_type1.png - fileimages/excel.png - fileimages/bmp.png - fileimages/gif.png - fileimages/png.png - fileimages/tiff.png - fileimages/psd.png - fileimages/jpeg.png - fileimages/jpg.png - fileimages/txt.png - fileimages/archive.png - fileimages/lha.png - fileimages/script.png - fileimages/tar.png - fileimages/mp3.png - fileimages/ogg.png - fileimages/font.png - fileimages/joomla.png - fileimages/html.png - fileimages/template.png - fileimages/calendar.png - fileimages/php.png - catimages/index.html - catimages/internet.png - catimages/video.png - catimages/office.png - catimages/multimedia.png - catimages/multimedia2.png - catimages/dictionary.png - catimages/audio.png - catimages/sound.png - catimages/font.png - catimages/desktop.png - catimages/graphics.png - catimages/games.png - catimages/accessories.png - catimages/folder.png - catimages/folder_net.png - catimages/folder_doc.png - catimages/folder_blue.png - catimages/folder_grey.png - catimages/folder_green.png - catimages/folder_public.png - catimages/folder_music.png - catimages/folder_images.png - catimages/folder_html.png - catimages/folder_documents.png - catimages/folder_video.png - catimages/folder_blue_2.png - catimages/dictionary2.png - catimages/guitar.png - catimages/joomla.png - catimages/bible.png - catimages/book.png - catimages/heart.png - catimages/hint.png - catimages/chess.png - catimages/blackjack.png - catimages/desktop2.png - catimages/graphics2.png - catimages/design.png - catimages/tools.png - miniimages/index.html - miniimages/stuff.png - miniimages/currency.png - miniimages/license.png - miniimages/weblink.png - miniimages/contact.png - miniimages/date.png - miniimages/language.png - miniimages/system.png - miniimages/download.png - downloadimages/index.html - downloadimages/download2.png - downloadimages/download3.gif - downloadimages/download.gif - downloadimages/blue_01.gif - downloadimages/blue_02.gif - downloadimages/blue_03.gif - downloadimages/blue_04.gif - downloadimages/blue_05.gif - downloadimages/blue_06.gif - downloadimages/brown_01.gif - downloadimages/brown_02.gif - downloadimages/brown_03.gif - downloadimages/green_01.gif - downloadimages/grey_01.gif - downloadimages/grey_02.gif - downloadimages/download_blue.png - downloadimages/download_green.png - downloadimages/download_red.png - downloadimages/mirror_green.png - downloadimages/mirror_green1.png - downloadimages/mirror_green2.png - downloadimages/mirror_blue.png - downloadimages/mirror_blue1.png - downloadimages/mirror_blue2.png - downloadimages/mirror_red.png - downloadimages/mirror_red1.png - downloadimages/mirror_red2.png - downloadimages/mirror.gif - downloadimages/mirror1.gif - downloadimages/mirror2.gif - hotimages/index.html - hotimages/hotfile.gif - hotimages/green_01.gif - hotimages/grey_01.gif - hotimages/blue_03.gif - hotimages/red.png - hotimages/blue.png - hotimages/green.png - hotimages/green2.png - hotimages/yellow.png - hotimages/orange.png - hotimages/grey.png - hotimages/sephia.png - newimages/index.html - newimages/newfile.gif - newimages/green_01.gif - newimages/grey_01.gif - newimages/blue_03.gif - newimages/blue.png - newimages/green.png - newimages/green2.png - newimages/orange.png - newimages/yellow.png - newimages/red.png - newimages/sephia.png - newimages/grey.png - updimages/index.html - updimages/blue.png - updimages/green.png - updimages/green2.png - updimages/yellow.png - updimages/orange.png - updimages/sephia.png - updimages/grey.png - updimages/red.png - screenshots/index.html - screenshots/no_pic.gif - screenshots/thumbnails/index.html - screenshots/thumbnails/no_pic.gif - headerimages/index.html - headerimages/upload_aqua.png - headerimages/upload_blue.png - headerimages/home.png - - - - - install.sql - - - - - language/zh-CN/zh-CN.com_jdownloads.ini - - language/en-GB/en-GB.com_jdownloads.ini - - - install.jdownloads.php - uninstall.jdownloads.php - - jDownloads - - 控制面板 - 下载文件列表 - 分类 - 许可证 - 布局管理 - 属性配置 - 创建备份 - 备份恢复 - 使用条款 - - - - admin.jdownloads.php - admin.jdownloads.html.php - check.restore.jdownloads.php - toolbar.jdownloads.php - toolbar.jdownloads.html.php - index.html - htaccess.txt - style.css - jdownloads.xml - install.sql - joomfish/jdownloads_config.xml - joomfish/jdownloads_cats.xml - joomfish/jdownloads_files.xml - joomfish/jdownloads_templates.xml - mod_jdownloads_top_1.5.zip - pad/index.html - pad/padfile.php - pad/padspec.php - pad/padvalidator.php - pad/xmlfile.php - - - images/jdownloads.jpg - images/categories.png - images/downloads.png - images/support.png - images/config.png - images/licenses.png - images/template.png - images/layouts.png - images/active.png - images/addedit.png - images/backup.png - images/restore.png - images/m_active.png - images/m_jdownloads.gif - images/m_downloads.gif - images/m_home.gif - images/m_categories.gif - images/m_licenses.gif - images/m_templates.gif - images/m_config.gif - images/m_backup.gif - images/m_restore.gif - images/m_info.gif - images/warning.png - images/help.png - images/home.png - images/css.png - images/info.png - images/downloads_2.png - images/categories_2.png - images/config_2.png - images/dir_edit.png - images/dir_edit_2.png - images/downloads_cats.gif - images/downloads_files.gif - images/downloads_details.gif - images/langmanager.png - images/summary.gif - images/email.gif - images/jd_logo_small.png - images/jd_logo_48.png - images/index.html - - - - language/zh-CN/zh-CN.com_jdownloads.ini - language/zh-CN/zh-CN.com_jdownloads.menu.ini - language/en-GB/en-GB.com_jdownloads.ini - language/en-GB/en-GB.com_jdownloads.menu.ini - language/us-US/us-US.com_jdownloads.ini - language/us-US/us-US.com_jdownloads.menu.ini - language/de-DE/de-DE.com_jdownloads.ini - language/de-DE/de-DE.com_jdownloads.menu.ini - - +jDownloads +2010-06-04 +Arno Betz +(C) 2009 www.jdownloads.com +info@jdownloads.com +www.jdownloads.com +1.7.1 RC Build 754 +Download Management Component for Joomla! 1.5.x Native + + + jdownloads.php + jdownloads.html.php + jdownloads.class.php + router.php + jdownloads.js + jdownloads_fe.css + mp3_player_maxi.swf + index.html + language/index.html + lightbox/index.html + lightbox/lightbox.js + lightbox/lightbox.css + lightbox/loading.gif + lightbox/overlay.png + lightbox/close.gif + lightbox/blank.gif + rating/index.html + rating/ajax.php + rating/css/index.html + rating/css/ajaxvote.php + rating/css/ajaxvote.css + rating/css/ajaxvote2.css + rating/images/index.html + rating/images/loading.gif + rating/images/star.png + rating/images/star.gif + rating/js/index.html + rating/js/ajaxvote.js + rating/js/ajaxvote.php + views/upload/index.html + views/upload/metadata.xml + views/upload/tmpl/index.html + views/upload/tmpl/default.xml + views/viewcategories/index.html + views/viewcategories/metadata.xml + views/viewcategories/tmpl/index.html + views/viewcategories/tmpl/default.xml + views/viewcategory/index.html + views/viewcategory/metadata.xml + views/viewcategory/tmpl/index.html + views/viewcategory/tmpl/default.xml + views/view.download/index.html + views/view.download/metadata.xml + views/view.download/tmpl/index.html + views/view.download/tmpl/default.xml + + + images/index.html + images/button_bg.png + images/new_window.png + images/upload.png + images/link_extern.gif + images/upload_ok.png + images/upload_stop.png + images/search.png + images/home_fe.png + images/summary.png + images/offline.png + images/form_no_value.png + fileimages/index.html + fileimages/doc.png + fileimages/xml.png + fileimages/real.png + fileimages/rtf.png + fileimages/ps.png + fileimages/pdf.png + fileimages/7z.png + fileimages/aiff.png + fileimages/arj.png + fileimages/bzip.png + fileimages/iso.png + fileimages/tgz.png + fileimages/java.png + fileimages/java-archive.png + fileimages/lhz.png + fileimages/perl.png + fileimages/rar.png + fileimages/tarz.png + fileimages/wma.png + fileimages/zip.png + fileimages/wav.png + fileimages/binary.png + fileimages/document.png + fileimages/font_truetype.png + fileimages/font_type1.png + fileimages/excel.png + fileimages/bmp.png + fileimages/gif.png + fileimages/png.png + fileimages/tiff.png + fileimages/psd.png + fileimages/jpeg.png + fileimages/jpg.png + fileimages/txt.png + fileimages/archive.png + fileimages/lha.png + fileimages/script.png + fileimages/tar.png + fileimages/mp3.png + fileimages/ogg.png + fileimages/font.png + fileimages/joomla.png + fileimages/html.png + fileimages/template.png + fileimages/calendar.png + fileimages/php.png + catimages/index.html + catimages/internet.png + catimages/video.png + catimages/office.png + catimages/multimedia.png + catimages/multimedia2.png + catimages/dictionary.png + catimages/audio.png + catimages/sound.png + catimages/font.png + catimages/desktop.png + catimages/graphics.png + catimages/games.png + catimages/accessories.png + catimages/folder.png + catimages/folder_net.png + catimages/folder_doc.png + catimages/folder_blue.png + catimages/folder_grey.png + catimages/folder_green.png + catimages/folder_public.png + catimages/folder_music.png + catimages/folder_images.png + catimages/folder_html.png + catimages/folder_documents.png + catimages/folder_video.png + catimages/folder_blue_2.png + catimages/dictionary2.png + catimages/guitar.png + catimages/joomla.png + catimages/bible.png + catimages/book.png + catimages/heart.png + catimages/hint.png + catimages/chess.png + catimages/blackjack.png + catimages/desktop2.png + catimages/graphics2.png + catimages/design.png + catimages/tools.png + miniimages/index.html + miniimages/stuff.png + miniimages/currency.png + miniimages/license.png + miniimages/weblink.png + miniimages/contact.png + miniimages/date.png + miniimages/language.png + miniimages/system.png + miniimages/download.png + downloadimages/index.html + downloadimages/download2.png + downloadimages/download3.gif + downloadimages/download.gif + downloadimages/blue_01.gif + downloadimages/blue_02.gif + downloadimages/blue_03.gif + downloadimages/blue_04.gif + downloadimages/blue_05.gif + downloadimages/blue_06.gif + downloadimages/brown_01.gif + downloadimages/brown_02.gif + downloadimages/brown_03.gif + downloadimages/green_01.gif + downloadimages/grey_01.gif + downloadimages/grey_02.gif + downloadimages/download_blue.png + downloadimages/download_green.png + downloadimages/download_red.png + downloadimages/mirror_green.png + downloadimages/mirror_green1.png + downloadimages/mirror_green2.png + downloadimages/mirror_blue.png + downloadimages/mirror_blue1.png + downloadimages/mirror_blue2.png + downloadimages/mirror_red.png + downloadimages/mirror_red1.png + downloadimages/mirror_red2.png + downloadimages/mirror.gif + downloadimages/mirror1.gif + downloadimages/mirror2.gif + hotimages/index.html + hotimages/hotfile.gif + hotimages/green_01.gif + hotimages/grey_01.gif + hotimages/blue_03.gif + hotimages/red.png + hotimages/blue.png + hotimages/green.png + hotimages/green2.png + hotimages/yellow.png + hotimages/orange.png + hotimages/grey.png + hotimages/sephia.png + newimages/index.html + newimages/newfile.gif + newimages/green_01.gif + newimages/grey_01.gif + newimages/blue_03.gif + newimages/blue.png + newimages/green.png + newimages/green2.png + newimages/orange.png + newimages/yellow.png + newimages/red.png + newimages/sephia.png + newimages/grey.png + updimages/index.html + updimages/blue.png + updimages/green.png + updimages/green2.png + updimages/yellow.png + updimages/orange.png + updimages/sephia.png + updimages/grey.png + updimages/red.png + screenshots/index.html + screenshots/no_pic.gif + screenshots/thumbnails/index.html + screenshots/thumbnails/no_pic.gif + headerimages/index.html + headerimages/upload_aqua.png + headerimages/upload_blue.png + headerimages/home.png + + + + + install.sql + + + + + language/en-GB/en-GB.com_jdownloads.ini + language/de-DE/de-DE.com_jdownloads.ini + + install.jdownloads.php + uninstall.jdownloads.php + + jDownloads + + Control Panel + Downloads + Categories + Licenses + Layouts Administration + Configuration + Backup Creation + Backup Restoration + Terms of use + + + + admin.jdownloads.php + admin.jdownloads.html.php + check.restore.jdownloads.php + toolbar.jdownloads.php + toolbar.jdownloads.html.php + scan.php + ProgressBar.class.php + index.html + htaccess.txt + style.css + jdownloads.xml + install.sql + joomfish/jdownloads_config.xml + joomfish/jdownloads_cats.xml + joomfish/jdownloads_files.xml + joomfish/jdownloads_templates.xml + mod_jdownloads_top_1.5.zip + pad/index.html + pad/padfile.php + pad/padspec.php + pad/padvalidator.php + pad/xmlfile.php + + + images/jdownloads.jpg + images/categories.png + images/downloads.png + images/support.png + images/config.png + images/licenses.png + images/template.png + images/layouts.png + images/active.png + images/addedit.png + images/backup.png + images/restore.png + images/m_active.png + images/m_jdownloads.gif + images/m_downloads.gif + images/m_home.gif + images/m_categories.gif + images/m_licenses.gif + images/m_templates.gif + images/m_config.gif + images/m_backup.gif + images/m_restore.gif + images/m_info.gif + images/warning.png + images/help.png + images/home.png + images/css.png + images/info.png + images/downloads_2.png + images/categories_2.png + images/config_2.png + images/dir_edit.png + images/dir_edit_2.png + images/downloads_cats.gif + images/downloads_files.gif + images/downloads_details.gif + images/langmanager.png + images/summary.gif + images/email.gif + images/jd_logo_small.png + images/jd_logo_48.png + images/index.html + + + + language/en-GB/en-GB.com_jdownloads.ini + language/en-GB/en-GB.com_jdownloads.menu.ini + language/us-US/us-US.com_jdownloads.ini + language/us-US/us-US.com_jdownloads.menu.ini + language/de-DE/de-DE.com_jdownloads.ini + language/de-DE/de-DE.com_jdownloads.menu.ini + + \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/mod_jdownloads_top_1.5.zip b/oss/joomla/trunk/administrator/components/com_jdownloads/mod_jdownloads_top_1.5.zip index bab39e77e1a2c600e7770ef9dbf7fd3d2c65cc01..2313505159d3d2cff43fd1cb80a64ca826908d3a 100644 GIT binary patch delta 2698 zcmZ9Oc{mgb7siKSge+q#+1HrJKDHrS!?l~Fgp`_z?5P;bj5OI5GqTQD8eL0dpDdNo z7`u_RBH<3nn#sO>b?^5)-*dln{yFb?-sk-Jo?o(JnIf;F4Umls@Vf+Dl3;1PswfV0A~dWGHmMD%l?6%q5OxE(nr(Z z8`FpeH4+6R5G^b@WPJ zv)q$(n%WF9GK_9$Yz)(j&0q1x*C^pOAL-(x*NF~S>$nc$!%Ex9<7Vm;JmvEO;(}XR zu5=KQc%K|bs=`w757DC!hA>B#Vc9tF>u38?oNL)O?dffJX4v>*h07UVFv=xeB|K(v zNPkt;YwF7SyExr3sfa+#Tf7DS2QuBSd_lyRbizzUmx~`07VSw}yWWK;)Mm#o4t1pYGvs=k1cG8)rSn4WQj``au`o*voNDX zXijZ$j$@;y9!7=zrOn_B(cg$}IBR!-C?O$fOOUrF ziVAnQHmDc(--R}3CzQ57q*&@TDr8*|dwkYYFw?RtT+iJRbNIbuDH$N+nz&9WJ~va4 zbBhSV_L{$EBp;Frk8y54l}FjwdW5M?zgUJ(6IGYWvbFTRtxc@wDP|#TTpwI$SPUx_nf@~(2!i({~W>>Dl_?QJJ z`>Ynuy8dB)vACJ8R;1Ac0#B)H_XPey zIsScD-i~w^GiCD0OvsFn561_!jBLE)C$=j=&zs&+qSceLk`NyomY$jT7Q=nYCPuKQ z3F+&enmOftqk9V@KbL@Cy)q;gIcTOkqWhco4RT`!+6LNWxsAfr!ncwplHM@Ppyhha z8?H@7UITo8eNp*&&c{=z&tyotWSpp(pG)d*(cf+Eh6yOwQcncfHpL6Tx2!Y0Brm+I z;@j{xJk?lvt&ATnCxYiuwX1oaXB&^b_Sd~HUw0o)cAB#5k3WP}NIN*BB$i)QJC`c5 z^f)$JzwNGADL(m0ub?(w{w8T_`$NL*IESL|mexKc2uT0p$38) z>MH&0%T{d_#<->dgUA(_{KFM8YHie`cWQA50U8?l)8tRdo|H1pO_@~UM$1?x!y;T3t~HL$NaDK6-6P=V zZJ#Q2_k3deJWWx(9$J&QQkvEkDOP2Auj_&G>+(GC05AzHaMfwpkE9$H=KaK8Seg^P;udTlpp;q(oP?fv|;Xrji>JngmL2 z1!IH**{m&;>%1?D)$Lc_aPvVQTe|I!ROsF!hXa9c79q{+5;SjS$tyB@BszX%>^aPS zu4= zM5c?SYX>WGA$Y?ycKCjOgMWg5AJhhWZPR6u4+H=zd47ex3gH~rF|0K|rgHeG>WVUA zFWRmILUQS-0LB)~;9VgWj2GIr(zO3FzEoL8*CN|p> z(nimjlbu`OpSm5D?An?$Do#WGm8irFZjYVZ;Ij?3Wr;6) zl7`3Sw9q06n)Z>{2l4~Q-v~iXic-M?c4r*)o5<@@=9Th1y^vxHvs8_=;e9y8o8Gc4 zwwu<#IsXy*q}?iK6~4;y`3RRsDS2EV!(F4q!pd-_N7_a4OpKs-JXNj^Iy-9NHTTLF zbNk@jLuRw+%QK=pMUp7nBzd7=1MG0|l!W<|8;Rj_S{{o+5kdQlh3cOYPw&-*Mr$?G zh}n?)&1oN?wq+SvWpY6CsiTi3+s@_ddKai#lS(2bONs*Esbh5vc08CpJJnID(?Yf- zz$=wmGb9odajUI z@53yoK`g(x^041B;v-MVR`c9)>)Lgu`=3bgamJTz1sYu^-#9ZRKxdqjI=GgqtztE9 zy#Fk7q+PYE@yj2f{F2Y{X+-&oM`}7&!Z+d- zqB6b+KI(5rjW2U5$ObuT*m4S*@3V~B@ZNyF2V#>WPo>6m$#kd-Ii&Mc`ySnWV;Hes zRb>=9XFy>cAq166eeMB|8V1X1ZNN0Po~flt<*MiZ=Q16yEmT32(JzH z?X(_IB`OI7N(}Wqik4c8W^x2-hAbg{JFk2+`Ua8Rc~tPQwXg}2rQ7sMB=5#R@k&%g z+5py30{!lOx|+tI_A;)!?QrEX88VJMYgy&n>Abkjn!iza)E%s|!2P+p0=bvq-F|O& z_5!C`E_u2$L5i6Zqm_HK+{pK}zaG^u6HeXO#C37LmLH^)Zn}s0#Es&FozYrYr|aML z@6NY)afCkB$F}y;dx)NAV#{LY+jAF+gs`foL(oTS?P6{L5$AY69bIB^UXk=$!F6)i zqM0v32|ok&oA{9#>S0sYr0SnOD_zyYC$e1+&Qc5_jWe%Rr_xMSZ$U}*dWKTMXYS2w{``(r+dfcpv|(Wt0{oBY2m)Xu!gB#hfcIWNP~Z?{{Xo5PIMmVv#L5l$JxGeQdNx#+g7t)quX%BL4IO;$T$RM9=BsI#%doc3c3+cj;|kHrMg+F? z_?8Cf`>BDE!DVG!HodmO#ZVn?f3jr)4Xc8nNy6+lYi0?wFTR0C00L6qI&&b4bI?m0;%De~osEG4nM z*Nc)p*P(JRIxKj~YSN%i$CeEt4^>eXi*uvMmIdhppQY*4`0P2_;bjd5d@WufMWqDB zAclErQ{ThVtw2_Aw8k-oN%-cw-kL!E-3zfPWCCy^lUMGN&th%5u9wE~R;aCRmdJ&Y z@jGNPCUe}~lCqaJJIonO_Ts{2np(ZNxXh(=x5C?o(-WcR*CpD+DE0Joiv__6k+sqn&f1lu^iAWY|OMia+;nb273Sz?cEW`C2d4%X0pV!;4W{JK%9@KoN z2NIDkt*gB1*W|aJ6q#&vEOtzpfoTC-Z+(9lD)ijWvj@n4Jd~6UscXa)$j_}sef`v2 z(4yXzds0!3Y8}*YqUFcJPxM>BkfE%FGeV405A`C=22=O*740J}nJ0XMcw%2`{Ub9{ z@R50B`kcDmizcR_OZ-6XlW@OYv2VFWa&{n_ZJ4El((NCSmz9My*AvE~UfSSkB!fuE zm**LSkL8qV1@DqRfYqotx7Z3L@0w9LqprJgBU3rCN*NSK$2Z{#H}?tlRt-gXgBh~{ zxw;hI&$X3;beQ}Xe71ze6>fVyS$T*<|Fp1&^|EbW*^8-uODM59=_O*ouzOh0)eCf@ zaswAWRVtyhIWeEXQO{v94UmFJs@Rl133;7rWfN_TmEHhLX9eO8shy+VV*K>y{1H5h zn&2Nr{w6Oe4X7(gRxw}FEpYX0N3D1Ity`+57W8HuF^an%hyc0Dg;F1(Y*ZniK@-2+ zQKg4@t;I7=&s@QsZdvz%1=Q6MZ&%7%5b$GuA^ht=HeWt_gHC)=|Ma+0eAVQGlq=B< z_%QP>udWV8-Xlbdo9(=#3x8WV! zfx=$+m36Fvef<-9a(ym8&VZAL5*4DCd)`~W?93(VFjBUKNi_Yt_#@fXPJ;R^*(DR` z;*jeWL*LU_`8u`aR_e*zy5DVM)b?(5?`l<-*NsVD8jmUCve{FuwcEF7DWSRkn8P&} z%w8ae!REUkneH151_m7@FqPTeJjUx6Im4z0Z*=`Q)kH_t$z{u9H zH+QD7;dtJ4dd9-DMTuZGU0Ym6j@Z~CdYPCLvS5NMkH&s}SnZ=1iU{$zbY|&u7PSRJ z%c~EtPlU4>z0tE8?QM6K4iCG|?0n0k9LQ4=s4s-+jniUSPM6VTuiW+RPSi05rLyMQ zKCXPK-T3ASBE9qPBI7FvdDU9!37nNe|HvZj7{N_+28KVl@#S=!A zkvg6@>>IzE_UuVnn#GcFhog4!7fg+w zk9u~-KBi1|C_7EEJK?hSeQ5GwMf#07qspKNWP-N_n>u8GFELod$B8d^SOqA9FW2;Z z`}d6x@>?>CI@k5d`qxq0Dy_)%Q&`()tQ=`L&w8p3^xJOy2V4k+oZmq{#~QENf+ z|Fb-rU)xg*&9xK(Lyg)=NyQ0!m&!RwN=49$s7aZVmpBGhGd(J<IHsyRd?%j(v3hG@5|> zWC~HZbw9cy0PpgnXJ>t_r~UQrOyTNevXv573ZsT5{j9v z?Db-5KC+MYUYji!cC0!t7*+Aujyck!u{o|VOETK8G*ZQFh%0ruMpgvmFbP#>&J2pt znx^WU#I`VdVV^#>zRdq6%Sc$4M<=e_ILl+e@u$aMX^X=FQ8r zZ#YS@+ zQ&5!F?(|P2i~d)Ufb}GbQeDiBe{e3i>hKo6)|mg*$?DrLD88$)S>7y()vBhvjizhC z)ehA5@;oKtpapwvV`_vp<*|H#fk3}Zv;0+~nB)%ZLF3HJ#;a}bdmope|4IMgz7wGn z8+L#r*Sv77;?Eu-wDlF*)VhhxWi>co>+9>et1^`UiC7KoV$h@Tq@w1LT+V{R{rV^#?wJ^Ao&alE4p;Kd}rZ!pFw`8)W~r M+bjS85cWI$2kGhRuK)l5 diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/scan.php b/oss/joomla/trunk/administrator/components/com_jdownloads/scan.php new file mode 100644 index 00000000..0de7a313 --- /dev/null +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/scan.php @@ -0,0 +1,772 @@ + + + + + + + + + +jDownloads - check download area + + + + +load('com_jdownloads'); +$mainframe->setPageTitle( JText::_('JLIST_RUN_MONITORING_TITLE')); + +echo '
'.JText::_('JLIST_RUN_MONITORING_INFO2').'
'.JText::_('JLIST_RUN_MONITORING_INFO').'

'; + +flush(); +$time_start = microtime_float(); +checkFiles($task); +$time_end = microtime_float(); +$time = $time_end - $time_start; + +echo '
The scan duration: '.number_format ( $time, 2).' seconds.'; +echo ''; + + +/* checkFiles +/ +/ check uploaddir and subdirs for variations +/ +/ +*/ +function checkFiles($task) { + global $jlistConfig, $lang; + ini_set('max_execution_time', '600'); + ignore_user_abort(true); + + $database = &JFactory::getDBO(); + //check if all files and dirs in the uploaddir directory are listed + if($jlistConfig['files.autodetect'] || $task == 'restore.run' || $task == 'scan.files'){ + if(file_exists(JPATH_SITE.$jlistConfig['files.uploaddir'])){ + $startdir = JPATH_SITE.$jlistConfig['files.uploaddir'].'/'; + $dir_len = strlen($startdir); + $dir = $startdir; + $only = FALSE; + $type = array(); + if ($jlistConfig['all.files.autodetect']){ + $allFiles = true; + } else { + $allFiles = FALSE; + $type = explode(',', $jlistConfig['file.types.autodetect']); + } + $recursive = TRUE; + $onlyDir = TRUE; + $files = array(); + $file = array(); + + $dirlist = array(); + + $new_files = 0; + $new_dirs_found = 0; + $new_dirs_create = 0; + $new_dirs_errors = 0; + $new_dirs_exists = 0; + $new_cats_create = 0; + $log_message = ''; + $success = FALSE; + + $log_array = array(); + + // ******************************************** + // first search new categories + // ******************************************** + + clearstatcache(); + $searchdir = JPATH_SITE.$jlistConfig['files.uploaddir'].'/'; + $searchdirs = array(); + $dirlist = searchdir($searchdir); + + $no_writable = 0; + for ($i=0; $i < count($dirlist); $i++) { + // no tempzifiles directory + if(strpos($dirlist[$i], 'tempzipfiles') === FALSE) { + if (!is_writable($dirlist[$i])){ + $no_writable++; + } + $dirlist[$i] = str_replace($searchdir, '', $dirlist[$i]); + // delete last slash / + if ($pos = strrpos($dirlist[$i], '/')){ + $searchdirs[] = substr($dirlist[$i], 0, $pos); + } + // $dirlist[$i] = substr($dirlist[$i], 0, $pos); + // $searchdirs[] = $dirlist[$i]; + } + } + unset($dirlist); + $count_cats = count($searchdirs); + // first progressbar for cats + $title1 = JText::_('JLIST_RUN_MONITORING_INFO3'); + $bar = new ProgressBar(); + $bar->setMessage($title1); + $bar->setAutohide(false); + $bar->setSleepOnFinish(0); + $bar->setPrecision(100); + $bar->setForegroundColor('#990000'); + $bar->setBackgroundColor('#CCCCCC'); + $bar->setBarLength(300); + $bar->initialize($count_cats-1); // print the empty bar + + for ($i=0; $i < count($searchdirs); $i++) { + $dirs = explode('/', $searchdirs[$i]); + $sum = count($dirs); + // this characters are not allowed in foldernames + if (!eregi("[?!:;\*@#%~=\+\$\^'\"\(\)\<\>]", $searchdirs[$i])) { + // check that folder exist + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_cats WHERE cat_dir = '$searchdirs[$i]'"); + $cat_da = $database->loadResult(); + // when not exist - add it + if (!$cat_da) { + $new_dirs_found++; + // create new cat + $row = new jlist_cats($database); + // bind it to the table + if (!$row -> bind($_POST)) { + echo "\n"; + exit(); + } + $row->cat_description = ''; + $row->cat_title = $dirs[$sum - 1]; + $row->cat_pic = $jlistConfig['cat.pic.default.filename']; + if ($sum > 1) { + // get cat_id value for parent_id + $parent = substr($searchdirs[$i], 0, strrpos($searchdirs[$i] , '/') ); + $database->setQuery("SELECT cat_id FROM #__jdownloads_cats WHERE cat_dir = '$parent'"); + $row->parent_id = $database->loadResult(); + } + $row->cat_alias = $row->cat_title; + $row->cat_alias = JFilterOutput::stringURLSafe($row->cat_alias); + if(trim(str_replace('-','',$row->cat_alias)) == '') { + $datenow =& JFactory::getDate(); + $row->cat_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); + } + $row->cat_dir = $searchdirs[$i]; + + // set publishing? + if ($jlistConfig['autopublish.founded.files']){ + $row->published = 1; + } else { + $row->published = 0; + } + + // get a correct ordering value + if (!$row->ordering) { + $row->ordering = $row->getNextOrder(); + } + if (!$row -> store()) { + echo "\n"; + exit(); + } else { + if(!$row->cat_id) $row->cat_id = mysql_insert_id(); + } + $new_cats_create++; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_CAT_CHECK_ADDED').' '.$searchdirs[$i].'
'; + } + } else { + // folder with illegal characters in name founded - create msg + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.$searchdirs[$i].' '.JText::_('JLIST_AUTO_CAT_CHECK_ILLEGAL_NAME_FOUND_MSG').'
'; + } + $bar->increase(); // calls the bar with every processed element + } + echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_SUM_FOLDERS').' '.count($searchdirs).'

'; + + unset($dirs); + unset($searchdirs); + + // ******************************************** + // Prüfen ob alle publishte cat-dirs existieren + // ******************************************** + + $mis_cats = 0; + $database->setQuery("SELECT * FROM #__jdownloads_cats WHERE published=1"); + $cats = $database->loadObjectList(); + + $count_cats = count($cats); + // first progressbar for cats + $bar = new ProgressBar(); + $title2 = JText::_('JLIST_RUN_MONITORING_INFO4'); + $bar->setMessage($title2); + $bar->setAutohide(false); + $bar->setSleepOnFinish(0); + $bar->setPrecision(100); + $bar->setForegroundColor('#990000'); + $bar->setBarLength(300); + $bar->initialize($count_cats); // print the empty bar + + foreach($cats as $cat){ + $cat_dir = $searchdir.$cat->cat_dir; + // wenn nicht da - unpublishen + if(!is_dir($cat_dir)){ + $database->setQuery("UPDATE #__jdownloads_cats SET published = 0 WHERE cat_id = '$cat->cat_id'"); + $database->query(); + $mis_cats++; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_CAT_CHECK_DISABLED').' '.$cat->cat_dir.'
'; + } + $bar->increase(); // calls the bar with every processed element + } + echo '

'; + // when add categories - the access rigts must checked from all + if ($new_cats_create){ + $sum = set_rights_of_cat (0, '00', $sum); // all cats will checked + } + + unset($cats); + + // **************************************************** + // search all files and compare it with the files table + // **************************************************** + + $all_dirs = scan_dir($dir, $type, $only, $allFiles, $recursive, $onlyDir, $files); + if ($all_dirs != FALSE) { + $count_files = count($files); + // first progressbar for cats + $bar = new ProgressBar(); + $title3 = JText::_('JLIST_RUN_MONITORING_INFO5'); + $bar->setMessage($title3); + $bar->setAutohide(false); + $bar->setSleepOnFinish(0); + $bar->setPrecision(100); + $bar->setForegroundColor('#990000'); + $bar->setBarLength(300); + $bar->initialize($count_files); // print the empty bar + + reset ($files); + $new_files = 0; + foreach($files as $key3 => $array2) { + $filename = $files[$key3]['file']; + if ($filename <> '') { + // no files in tempzipfiles and jD root directory + if(strpos($files[$key3]['path'], 'tempzipfiles') === FALSE && $files[$key3]['path'] != $startdir) { + $dir_path_total = $files[$key3]['path']; + $restpath = substr($files[$key3]['path'], $dir_len); + $only_dirs = substr($restpath, 0, strlen($restpath) - 1); + // existiert filename in files? + $exist_file = false; + $database->setQuery("SELECT cat_id FROM #__jdownloads_files WHERE url_download = '".utf8_encode($filename)."'"); + $row_file_exists = $database->loadObjectList(); + // wenn da - in cats suchen + if ($row_file_exists) { + foreach ($row_file_exists as $row_file_exist) { + if (!$exist_file) { + $database->setQuery("SELECT COUNT(*) FROM #__jdownloads_cats WHERE cat_dir = '$only_dirs' AND cat_id = '$row_file_exist->cat_id'" ); + $row_cat_find = $database->loadResult(); + + if ($row_cat_find) { + $exist_file = true; + } else { + $exist_file = false; + } + } + } + } else { + $exist_file = false; + } + + if(!$exist_file) { + // not check the filename when restore backup file + if ($task != 'restore.run'){ + $filename_new = checkFileName($filename); + if ($filename_new != $filename) { + if (utf8_decode($filename_new) != $filename){ + $success = @rename($startdir.$only_dirs.'/'.$filename, $startdir.$only_dirs.'/'.$filename_new); + if ($success) { + $filename = $filename_new; + } else { + // could not rename filename + } + } else { + $filename = $filename_new; + } + } + } + $database->setQuery("SELECT cat_id FROM #__jdownloads_cats WHERE cat_dir = '$only_dirs'"); + $cat_id = $database->loadResult(); + if ($cat_id) { + $file_extension = strtolower(substr(strrchr($filename,"."),1)); + // fill the data + $file_file_id = 0; + $file_url_download = $filename; + $file_file_title = str_replace('.'.$file_extension, '', $filename); + $file_size = $files[$key3]['size']; + $file_description = ''; + $file_date_added = JHTML::_('date', 'now','%Y.%m.%d %H:%M:%S'); + $file_file_date = '0000-00-00 00:00:00'; + $file_cat_id = $cat_id; + $file_file_alias = $file_file_title; + $file_file_alias = JFilterOutput::stringURLSafe($file_file_alias); + if(trim(str_replace('-','',$file_file_alias)) == '') { + $datenow =& JFactory::getDate(); + $file_file_alias = $datenow->toFormat("%Y-%m-%d-%H-%M-%S"); + } + $filepfad = JPATH_SITE.'images/jdownloads/fileimages/'.$file_extension.'.png'; + if(file_exists(JPATH_SITE.'images/jdownloads/fileimages/'.$file_extension.'.png')){ + $file_file_pic = $file_extension.'.png'; + } else { + $file_file_pic = $jlistConfig['file.pic.default.filename']; + } + $file_created_by = JText::_('JLIST_AUTO_FILE_CHECK_IMPORT_BY'); + // publish only when option is activated + if ($jlistConfig['autopublish.founded.files']){ + $file_published = 1; + } else { + $file_published = 0; + } + + $database->setQuery("INSERT INTO #__jdownloads_files (`file_id`, `file_title`, `file_alias`, `description`, `description_long`, `file_pic`, `thumbnail`, `price`, `release`, `language`, `system`, `license`, `url_license`, `update_active`, `cat_id`, `metakey`, `metadesc`, `size`, `date_added`, `file_date`, `publish_from`, `publish_to`, `url_download`, `extern_file`, `url_home`, `author`, `url_author`, `created_by`, `created_mail`, `modified_by`, `modified_date`, `submitted_by`, `downloads`, `ordering`, `published`, `checked_out`, `checked_out_time`) + VALUES ('', '$file_file_title', '$file_file_alias', '$file_description', '$file_description_long', '$file_file_pic', '', '', '', '', '', '', '', '', '$file_cat_id', '', '', '$file_size', '$file_date_added', '$file_file_date', '', '', '$file_url_download', '', '', '', '', '$file_created_by', '', '', '', '', '', '$file_ordering', '$file_published', '0', '0000-00-00 00:00:00')"); + if (!$database->query()) { + echo $database->stderr(); + exit; + } else { + if (!$file_file_id) $file_file_id = mysql_insert_id(); + if ($file_file_id){ + $database->setQuery("SELECT max(ordering) FROM #__jdownloads_files WHERE cat_id = '$file_cat_id'"); + $ord = (int)$database->loadResult() + 1; + $database->setQuery("UPDATE #__jdownloads_files SET ordering = '$ord' WHERE file_id = '$file_file_id'"); + $database->query(); + } + } + $new_files++; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_ADDED').' '.$only_dirs.'/'.utf8_decode($filename).'
'; + } else { + // cat dir not exist or invalid name + + } + } + } + } + $bar->increase(); // calls the bar with every processed element + unset($database->_log); + } + } + echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_SUM_FILES').' '.count($files).'

'; + unset($database->_log); + unset($files); + flush(); + + //prüfen ob download dateien alle physisch vorhanden - sonst unpublishen + $mis_files = 0; + $database->setQuery("SELECT * FROM #__jdownloads_files WHERE published=1"); + $files = $database->loadObjectList(); + + $count_files = count($files); + // first progressbar for cats + $bar = new ProgressBar(); + $title4 = JText::_('JLIST_RUN_MONITORING_INFO6'); + $bar->setMessage($title4); + $bar->setAutohide(false); + $bar->setSleepOnFinish(0); + $bar->setPrecision(100); + $bar->setForegroundColor('#990000'); + $bar->setBarLength(300); + $bar->initialize($count_files); // print the empty bar + + foreach($files as $file){ + // nur interne files testen + if ($file->url_download <> ''){ + $database->setQuery("SELECT cat_dir FROM #__jdownloads_cats WHERE cat_id = '$file->cat_id'"); + $cat_dir = $database->loadResult(); + $cat_dir_long = $startdir.$cat_dir.'/'.utf8_decode($file->url_download); + // wenn nicht da - unpublishen + if(!is_file($cat_dir_long)){ + $database->setQuery("UPDATE #__jdownloads_files SET published = 0 WHERE file_id = '$file->file_id'"); + $database->query(); + $mis_files++; + $log_array[] = strftime($jlistConfig['global.datetime']).' - '.JText::_('JLIST_AUTO_FILE_CHECK_DISABLED').' '.$cat_dir.'/'.utf8_decode($file->url_download).'
'; + } + } + $bar->increase(); // calls the bar with every processed element + } + echo '

'; + echo '
'.JText::_('JLIST_RUN_MONITORING_INFO7').'

'; + flush(); + + // save log + foreach ($log_array as $log) { + $log_message .= $log; + } + if ($task != 'restore.run'){ + $database->setQuery("UPDATE #__jdownloads_config SET setting_value = '$log_message' WHERE setting_name = 'last.log.message'"); + $database->query(); + $jlistConfig['last.log.message'] = $log_message; + } + + if ($task == 'scan.files') { + echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_TITLE').'
'; + if ($new_cats_create > 0){ + echo ''.$new_cats_create.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_CATS').'
'; + } else { + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_CATS').'
'; + } + + if ($new_files > 0){ + echo ''.$new_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_NEW_FILES').'
'; + } else { + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_NEW_FILES').'
'; + } + + if ($mis_cats > 0){ + echo ''.$mis_cats.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_CATS').'
'; + } else { + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_CATS').'
'; + } + + if ($mis_files > 0){ + echo ''.$mis_files.' '.JText::_('JLIST_BACKEND_AUTOCHECK_MISSING_FILES').'
'; + } else { + echo ''.JText::_('JLIST_BACKEND_AUTOCHECK_NO_MISSING_FILES').'
'; + } + + if ($log_message) echo '
'.JText::_('JLIST_BACKEND_AUTOCHECK_LOG_TITLE').'
'.$log_message.'
'; + + } + } else { + // error upload dir not exists + echo ''.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST').'

'.JText::_('JLIST_AUTOCHECK_DIR_NOT_EXIST_2').'
'; + + } + } +} + + +// get all dirs und subdirs for upload +// $path : path to browse +// $maxdepth : how deep to browse (-1=unlimited) +// $mode : "FULL"|"DIRS"|"FILES" +// $d : must not be defined + +function searchdir ( $path , $maxdepth = -1 , $mode = "DIRS" , $d = 0 ) { + if ( substr ( $path , strlen ( $path ) - 1 ) != '/' ) { $path .= '/' ; } + $dirlist = array () ; + if ( $mode != "FILES" ) { + $dirlist[] = $path ; + } + if ( $handle = opendir ( $path ) ) { + while ( false !== ( $file = readdir ( $handle ) ) ) { + if ( $file != '.' && $file != '..' ) { + $file = $path . $file ; + if ( ! is_dir ( $file ) ) { + if ( $mode != "DIRS" ) { + $dirlist[] = $file ; + } + } + elseif ( $d >=0 && ($d < $maxdepth || $maxdepth < 0) ) { + $result = searchdir ( $file . '/' , $maxdepth , $mode , $d + 1 ) ; + $dirlist = array_merge ( $dirlist , $result ) ; + } + } + } + closedir ( $handle ) ; + } + if ( $d == 0 ) { + natcasesort ( $dirlist ) ; + } + return ( $dirlist ) ; +} + +function scan_dir($dir, $type=array(),$only=FALSE, $allFiles=FALSE, $recursive=TRUE, $onlyDir="", &$files){ + $handle = @opendir($dir); + if(!$handle) + return false; + while ($file = @readdir ($handle)) + { + if (eregi("^\.{1,2}$",$file)) + { + continue; + } + if(!$recursive && $dir != $dir.$file."/") + { + if(is_dir($dir.$file)) + continue; + } + if(is_dir($dir.$file)) + { + scan_dir($dir.$file."/", $type, $only, $allFiles, $recursive, $file, $files); + } + else + { + if($only) + $onlyDir = $dir; + + $files = buildArray($dir,$file,$onlyDir,$type,$allFiles,$files); + } + } + @closedir($handle); + return $files; +} + +/** + * Füllt das Array mit den Dateiinformationen + * (Pfad, Verzeichnisname, Dateiname, Dateigröße, letzte Aktualisierung + * + * @param string $dir Pfad zum Verzeichnis + * @param string $file enthält den Dateinamen + * @param string $onlyDir Enthält nur den Verzeichnisnamen + * @param array $type Suchmuster dateitypen + * @param bool $allFiles Listet alle Dateien in den Verzeichnissen auf ohne Rücksicht auf $type + * @param array $files Enthält den Inhalt der Verzeichnisstruktur + * @return array Das Array mit allen Dateinamen + */ +function buildArray($dir,$file,$onlyDir,$type,$allFiles,$files) { + + $typeFormat = FALSE; + foreach ($type as $item) + { + if (strtolower($item) == substr(strtolower($file), -strlen($item))) + $typeFormat = TRUE; + } + + if($allFiles || $typeFormat == TRUE) + { + if(empty($onlyDir)) + $onlyDir = substr($dir, -strlen($dir), -1); + $files[$dir.$file]['path'] = $dir; + $files[$dir.$file]['file'] = $file; + $files[$dir.$file]['size'] = fsize($dir.$file); + $files[$dir.$file]['date'] = filemtime($dir.$file); + } + return $files; +} + +function fsize($file) { + $a = array("B", "KB", "MB", "GB", "TB", "PB"); + + $pos = 0; + $size = filesize($file); + while ($size >= 1024) { + $size /= 1024; + $pos++; + } + + return round($size,2)." ".$a[$pos]; +} + +function buildjlistConfig(){ + $database = &JFactory::getDBO(); + $jlistConfig = array(); + $database->setQuery("SELECT setting_name, setting_value FROM #__jdownloads_config"); + $jlistConfigObj = $database->loadObjectList(); + if(!empty($jlistConfigObj)){ + foreach ($jlistConfigObj as $jlistConfigRow){ + $jlistConfig[$jlistConfigRow->setting_name] = $jlistConfigRow->setting_value; + } + } + return $jlistConfig; +} + +function set_rights_to_tree($p_catid, $p_right, $p_right_from, &$p_changed){ +// function coded by pelma +// Funktion welche die Rechte eines Kategoriebaum setzt. Achtung REKURSIV !!! +// $p_catid = ID der Kategorie deren Rechte gesetzt werden soll. +// $p_right = Die Rechte welche gesetzt werden. +// $p_right_from = Die ursprünglichen Rechte +// $p_changed = Anzahl der Korrekturen +// echo $p_catid.' p_right_from:'.$p_right_from.' p_right:'.$p_right.'
'; + $database = &JFactory::getDBO(); + // Lesen der Kategorie aus der Datenbank. + $l_sql = "SELECT cat_access FROM #__jdownloads_cats WHERE cat_id = ".$p_catid; + $database->setQuery($l_sql); + $r_catrow = $database->loadObjectList(); + + // Hier werden die eigentlichen Rechte der aktuellen Kategorie gesetzt. + // Falls die Rechte der aktuellen Kategorie KLEINER sind als die zu setzenden Rechte. + // Damit wird verhindert, dass Unterkategorien welche schon höhere Rechte haben nicht überschrieben werden. + // Oder + // Falls die Rechte der aktuellen Kategorie kleiner oder gleich sind als die ursprünglichen Rechte. + // Sonst können kleinere Werte (=höhere Rechte) nicht gesetzt werden. + if (($r_catrow[0]->cat_access < $p_right) || ($r_catrow[0]->cat_access <= $p_right_from)){ + $l_sql = "UPDATE #__jdownloads_cats SET cat_access = '".$p_right."' WHERE cat_id = ".$p_catid; + $database->setQuery($l_sql); + $database->query(); + if ($p_changed != -1){ + $p_changed++; + } + } + + // Alle Unterkategorien der aktuellen Kategorie aus der Datenbank lesen. + // d.h. Alle Kategorien deren parent_id der aktuellen KategorienID entsprechen. + $l_sql = "SELECT cat_id FROM #__jdownloads_cats WHERE parent_id = ".$p_catid; + $database->setQuery($l_sql); + $l_childrows = $database->loadObjectList(); + if (!isset($l_childrows[0])){ + // Keine Unterkategorien gefunden, d.h. das Ende des aktuellen Kategorienbaumes ist erreicht. Die Funktion verlassen. + // Falls die Funktion in der Rekursivität ist, wird in der unteren foreach-Schleife die nächste Unterkategorie aufgerufen. + return; + } + // Alle Unterkategorien abfahren. + foreach ($l_childrows as $l_childrow){ + // Zuerst: Automatische Korrektur von Fehlern. + // D.h. Eine Unterkategorie welche schon niedrigere Rechte hat (=höheren Wert in cat_access) müsste eigentlich nicht abgefahren werden. + // Es könnte aber sein, dass diese Fehlern aufweist (z.B. bei einem Update von 1.3 nach 1.4). + // Fehler heisst in diesem Fall, dass eine Unter-Unter-Kategorie grössere Rechte hat (=niedriger Wert in cat_access). + // Dies ist ja verboten und muss korrigiert werden. + // Dazu: + // Die aktuelle Unterkategorie aus der Datenbank lesen + $l_sql = "SELECT cat_access FROM #__jdownloads_cats WHERE cat_id = ".$l_childrow->cat_id; + $database->setQuery($l_sql); + $l_child = $database->loadObjectList(); + // Die Original verlangten Werte als Defaut setzen. + $l_right = $p_right; + $l_right_from = $p_right_from; + + // Falls die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access grösser) als die ursprünglichen Rechte + // Und: die Rechte der abzufahrenden Unterkategorie kleiner sind (cat_access grösser) als die zu setzenden Rechte + // Dann: die eigenen Rechte der Unterkategorie ihr selbst als neu zu setzende Rechte übergeben. + if (($l_child[0]->cat_access > $p_right_from) && ($l_child[0]->cat_access > $p_right)){ + $l_right = $l_child[0]->cat_access; + $l_right_from = $l_child[0]->cat_access; + } + // Für alle Unterkategorien die Funktion nochmals aufrufen. + set_rights_to_tree($l_childrow->cat_id, $l_right, $l_right_from, $p_changed); + } +} + +function get_lowest_rights($p_catid, $p_suggest_right){ +// function coded by pelma +// Funktion welche alle darüberliegenden Kategorien nach niedrigeren Rechten (=höhere Werte) durchsucht, +// und den höchsten Wert zurückgibt. Diese Funktion ist nicht rekursiv. +// $p_catid = KategorienID, von welcher aus nach oben durchsucht wird. +// $p_suggested_right = Die rechte welche gesetzt werden sollen, und hier überprüft werden. + $database = &JFactory::getDBO(); + // Kategorie laden aus Datenbank + $l_sql = "SELECT cat_id, parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$p_catid; + $database->setQuery($l_sql); + $l_catrow = $database->loadObjectList(); + if (!isset($l_catrow[0])){ + // Die Kategorie existiert nicht. Nicht weiterfahren, aber die vorgeschlagenen Rechte zurückgeben. + // (Dies sollte eigentlich nie vorkommen) + return $p_suggest_right; + } + // Initialiseren der Rechte welche von der Funktion zurückgegeben werden. + $l_therights = $p_suggest_right; + // Den Kategorien-Baum solange hochfahren bis keine höhere Kategorie mehr existiert. (d.h. bis die Hauptkategorie erreicht ist) + while ($l_catrow[0]->parent_id > 0 ){ + // Nächsthöhere Parent-Kategorie aus Datenbank lesen. + $l_sql = "SELECT parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$l_catrow[0]->parent_id; + $database->setQuery($l_sql); + $l_catrow = $database->loadObjectList(); + // Wenn die geladene Parent-Kategorie einen höheren Wert hat, diesen übernehmen. + if ($l_catrow[0]->cat_access > $l_therights){ + $l_therights = $l_catrow[0]->cat_access; + } + } + // Zurück mit höchstem gefundenem Wert (=niedrigstes Recht) + return $l_therights; +} + +function set_rights_of_cat($p_catid, $p_suggest_right, &$p_changed){ +// function coded by pelma +// Hauptprozedur. Diese wird aufgerufen um die Rechte einer Kategorie zu setzen, inklusive deren Unterkategorien. +// $p_catid = KategorienID, welche gesetzt werden soll. +// $p_suggested_right = Die rechte welche gesetzt werden sollen. +// $p_changed = Anzahl der Korrekturen oder (-1): Gewünschte Änderung war nicht zulässig! + $database = &JFactory::getDBO(); + // Kategorie laden aus Datenbank. + $l_sql = "SELECT parent_id, cat_access FROM #__jdownloads_cats WHERE cat_id = ".$p_catid; + $database->setQuery($l_sql); + $l_catrow = $database->loadObjectList(); + if (!isset($l_catrow[0]) && ($p_catid > 0)){ + // Die Kategorie existiert nicht. Nicht weiterfahren. + return ''; + } + // Ursprüngliche Rechte der Kategorie lesen. + $l_rights_from = $l_catrow[0]->cat_access; + if ($l_catrow[0]->parent_id == 0){ + // Es ist eine Hauptkategorie. Darüberliegende Kategorien müssen nicht nach niedrigen Rechten durchsucht werden. + $l_rights_to_set = $p_suggest_right; + } else { + // Es ist eine Unterkategorie. Darüberliegenden Kategoriebaum nach niedrigen Rechten (=höherer Wert) durchsuchen. + // Damit wird gewährleitet, dass eine Unterkategorie keine höheren Rechte erhalten kann. + $l_rights_to_set = get_lowest_rights($p_catid, $p_suggest_right); + if ($l_rights_to_set > $p_suggest_right) $p_changed = -1; + } + // Die Rechte der Kategorie und aller Unter- und Unter-Unter-Kategorien setzen. + set_rights_to_tree($p_catid, $l_rights_to_set, $l_rights_from, $p_changed); +} + +function checkFileName($name){ + global $jlistConfig; + if ($name) { + $name = utf8_encode($name); + // change to uppercase + if ($jlistConfig['fix.upload.filename.uppercase']){ + $name = strtolower($name); + } + // change blanks + if ($jlistConfig['fix.upload.filename.blanks']){ + $name = str_replace(' ', '_', $name); + } + if ($jlistConfig['fix.upload.filename.specials']){ + // change special chars + $name = strtr($name, array( "'" => "", 'ä' => 'ae', 'ü' => 'ue', 'ö' => 'oe', 'Ä' => 'ae', 'Ü' => 'ue', 'Ö' => 'oe', 'ß' => 'ss', 'Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', 'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE', 'æ' => 'ae', 'µ' => 'u')); + // remove invalid chars + $name = preg_replace('#[^A-Za-z0-9 _.-]#', '', $name); + } + } + return $name; +} + +/* + * Simple function to replicate PHP 5 behaviour + */ +function microtime_float(){ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.html.php b/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.html.php index aedcf45a..83718d46 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.html.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.html.php @@ -1,33 +1,13 @@ - * - * GNU GENERAL PUBLIC LICENSE - * - * ---------------------------------------------------------------------------------- - */ +* @version 1.5 +* @package JDownloads +* @copyright (C) 2009 www.jdownloads.com +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* +* +*/ defined( '_JEXEC' ) or die( 'Restricted access' ); @@ -66,6 +46,7 @@ class menujlist { function FILES_LIST(){ JToolBarHelper::title( JText::_('JLIST_BACKEND_CPANEL_FILES'), 'jdlogo' ); JToolBarHelper::addNew('files.edit'); + JToolBarHelper::custom( 'files.move', 'move.png', 'move_f2.png', 'Move', false ); JToolBarHelper::custom( 'files.copy', 'copy.png', 'copy_f2.png', 'Copy', false ); JToolBarHelper::publish('files.publish'); JToolBarHelper::unpublish('files.unpublish'); @@ -79,8 +60,14 @@ class menujlist { JToolBarHelper::cancel('files.cancel'); } + function FILES_MOVE(){ + JToolBarHelper::title( JText::_('JLIST_BACKEND_FILES_MOVE_TITLE'), 'jdlogo' ); + JToolBarHelper::save('files.move.save'); + JToolBarHelper::cancel('files.list'); + } + function FILES_COPY(){ - JToolBarHelper::title( JText::_(''), 'jdlogo' ); + JToolBarHelper::title( JText::_('JLIST_BACKEND_FILES_COPY_TITLE'), 'jdlogo' ); JToolBarHelper::save('files.copy.save'); JToolBarHelper::cancel('files.list'); } diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.php b/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.php index 7dd2c05e..6ec3fbe4 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/toolbar.jdownloads.php @@ -1,34 +1,13 @@ - * - * GNU GENERAL PUBLIC LICENSE - * - * ---------------------------------------------------------------------------------- - */ - +* @version 1.5 +* @package JDownloads +* @copyright (C) 2009 www.jdownloads.com +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* +* +*/ defined( '_JEXEC' ) or die( 'Restricted access' ); require_once( $mainframe->getPath( 'toolbar_html' ) ); @@ -60,6 +39,10 @@ switch ( $task ) { case "files.copy": menujlist::FILES_COPY(); break; + + case "files.move": + menujlist::FILES_MOVE(); + break; case "license.list": menujlist::LICENSE_LIST(); diff --git a/oss/joomla/trunk/administrator/components/com_jdownloads/uninstall.jdownloads.php b/oss/joomla/trunk/administrator/components/com_jdownloads/uninstall.jdownloads.php index 42793731..36532c62 100644 --- a/oss/joomla/trunk/administrator/components/com_jdownloads/uninstall.jdownloads.php +++ b/oss/joomla/trunk/administrator/components/com_jdownloads/uninstall.jdownloads.php @@ -1,48 +1,25 @@ - * - * GNU GENERAL PUBLIC LICENSE - * - * ---------------------------------------------------------------------------------- - */ +* @version 1.5 +* @package jDownloads +* @copyright (C) 2009 www.joomlaaddons.de +* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL +* +* +* +*/ defined( '_JEXEC' ) or die( 'Restricted access' ); -/** - * - * @return unknown_type - */ -function com_uninstall() { - $msg = ''; - $msg = '

下载目录和子目录内容未被卸载!

' - .'

文件夹 images/jdownloads/ 未被卸载!

' - .'

' - .'

如有必要,请手工删除JDownloads相关的数据表。

' - .'

否则,你仅可安装更新版本。

'; - echo $msg; +function com_uninstall() { + + $msg = ''; + $msg = '

The download folder and all subfolders still exists!

' + .'

Folder images/jdownloads/ still exists!

' + .'

All jDownloads database tables still exist!

' + .'

Please delete it (them) manually, if you want.

' + .'

Otherwise you can now also install a newer version, when it is available.

'; + echo $msg; } ?> \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/language/en-GB/_notes/dwsync.xml b/oss/joomla/trunk/administrator/language/en-GB/_notes/dwsync.xml deleted file mode 100644 index 2c932028..00000000 --- a/oss/joomla/trunk/administrator/language/en-GB/_notes/dwsync.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/language/en-GB/en-GB.com_jdownloads.ini b/oss/joomla/trunk/administrator/language/en-GB/en-GB.com_jdownloads.ini index c2d5cfce..08ab9165 100644 --- a/oss/joomla/trunk/administrator/language/en-GB/en-GB.com_jdownloads.ini +++ b/oss/joomla/trunk/administrator/language/en-GB/en-GB.com_jdownloads.ini @@ -18,7 +18,7 @@ JLIST_VERSION_FOOTER= # Installation data JLIST_INSTALL_0=Install information: JLIST_INSTALL_1=All config data exist in the database! -JLIST_INSTALL_2=Config files are added in the database! +JLIST_INSTALL_2=Config option are added in the database! JLIST_INSTALL_3=All default layouts exist in the database! JLIST_INSTALL_4=Default layouts saved in the database! JLIST_INSTALL_5=All default licenses exist in the database! @@ -216,12 +216,12 @@ JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_INFO_TITLE=Category layout information: JLIST_BACKEND_SETTINGS_TEMPLATES_CATS_INFO_TEXT=

This is a graphical example of frontend category description display. The dark red border indicates the area you can change the display for here.

JLIST_BACKEND_SETTINGS_TEMPLATES_FILES=Layout: Files -JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC=This is how files are displayed in the frontend.
Available placeholders (variables):
{checkbox_list} {cat_id} {file_id} {file_title} {file_name} {release} {pic_is_new} {pic_is_hot} {pic_is_updated} {thumbnail} {description} {link_to_details} {file_pic} {price_title} {price_value} {license_title} {license_text} {language_title} {language_text} {filesize_title} {filesize_value} {system_title} {system_text} {author_title} {author_text} {author_url_title} {author_url_text} {created_date_title} {created_date_value} {hits_title} {hits_value} {created_by_title} {created_by_value} {modified_by_title} {modified_by_value} {modified_date_title} {modified_date_value} {mirror_1} {mirror_2} {mp3_player} {mp3_id3_tag} {google_adsense} {report_link} {sum_jcomments} {rating} +JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC=This is how files are displayed in the frontend.
Available placeholders (variables):
{checkbox_list} {cat_id} {file_id} {file_title} {file_name} {release} {pic_is_new} {pic_is_hot} {pic_is_updated} {thumbnail} {description} {link_to_details} {file_pic} {price_title} {price_value} {license_title} {license_text} {language_title} {language_text} {filesize_title} {filesize_value} {system_title} {system_text} {author_title} {author_text} {author_url_title} {author_url_text} {created_date_title} {created_date_value} {hits_title} {hits_value} {created_by_title} {created_by_value} {modified_by_title} {modified_by_value} {modified_date_title} {modified_date_value} {mirror_1} {mirror_2} {mp3_player} {mp3_id3_tag} {google_adsense} {report_link} {sum_jcomments} {rating} {file_date_title} {file_date} JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_INFO_TITLE=Information about file layout: JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_INFO_TEXT=

Example for displaying the list in frontend. Inside the red box you can edit the displaying options.

JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL=Layout: Summary / Start download -JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_DESC=This is the frontend summary display. A list of selected files is presented to the user before downloading.
Here is where you can modify the display of this page. CSS classes, HTML code and arbitrary text may be included.

The {download_liste} and {download_link} variable should NOT be removed from the code!

Available placeholders:
{summary_pic} {title_text} {download_liste} {license_note} {download_link} {external_download_info} {google_adsense} +JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_DESC=This is the frontend summary display. A list of selected files is presented to the user before downloading.
Here is where you can modify the display of this page. CSS classes, HTML code and arbitrary text may be included.

The {download_liste} and {download_link} variable should NOT be removed from the code!

Available placeholders:
{summary_pic} {title_text} {download_liste} {license_note} {download_link} {external_download_info} {google_adsense} {aup_points_info} JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_INFO_TITLE=Information about summary layout JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_INFO_TEXT=

This is a graphical example of this page in the frontend. The dark red border indicates the area you can change the display from here.

@@ -278,7 +278,7 @@ JLIST_BACKEND_FILESLIST_SEARCH_LIMIT=Limit JLIST_BACKEND_FILESLIST_CATS=All Categories JLIST_BACKEND_FILESLIST_NOCATS=No Category JLIST_BACKEND_FILESLIST_FILE=Downloads -JLIST_BACKEND_FILESLIST_HITS=Number of Downloads +JLIST_BACKEND_FILESLIST_HITS=Downloaded JLIST_BACKEND_FILESLIST_CAT=Category JLIST_BACKEND_FILESLIST_RELEASE=Version @@ -337,7 +337,7 @@ JLIST_BACKEND_FILESEDIT_RELEASE=Version JLIST_BACKEND_FILESEDIT_SIZE=Size JLIST_BACKEND_FILESEDIT_SIZE_DESC=If no choice, the size will be set automatically if possible. -JLIST_BACKEND_FILESEDIT_DADDED=Date and time +JLIST_BACKEND_FILESEDIT_DADDED=Added to the download archive (Date and time) JLIST_BACKEND_FILESEDIT_DADDED_DESC=Define the date in the following format: YYYY-MM-DD H:mm:ss or use the calendar function. When omitted the current date-time is used automatically JLIST_BACKEND_FILESEDIT_FILE=Select file for upload JLIST_BACKEND_FILESEDIT_FILE_DESC=In this field you can assign a file name for the file transferred to the server. This file name will be used for downloading.
Note: Exists already a file, this are first deleted. @@ -599,7 +599,7 @@ JLIST_BACKEND_AUTOCHECK_REFRESH_MESSAGE=You must refresh the page to see the mod JLIST_BACKEND_RESTORE_LOG_TAB_TITLE=Results for last backup restoration JLIST_BACKEND_PANEL_STATUS_DESC_OFFLINE=The maintenance mode is activated! Therefore the Download area is not available at the moment for normal visitors! This download area is nevertheless available for members belonging to the "Author" group. -JLIST_BACKEND_PANEL_STATUS_DOWNLOADS_HEADER=Downloads Status +JLIST_BACKEND_PANEL_STATUS_DOWNLOADS_HEADER=Status Monitoring JLIST_BACKEND_PANEL_STATUS_DOWNLOADS_OFF_DESC=The automatic monitoring of the Download directories is deactivated! JLIST_BACKEND_PANEL_STATUS_VERSION_HEADER=jDdownloads current version information @@ -745,7 +745,7 @@ JLIST_BACKEND_TEMP_TYP5=Download-Details JLIST_BACKEND_CPANEL_TEMPLATES_DETAILS=Download-Details JLIST_BACKEND_TEMPLIST_DETAILSTITLE_HEAD=Download-Details Layouts JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS=Layout: Download-Details -JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC=This is the layout of the Downloads Details page in the Frontend.

Do not remove the placeholder variable {url_download}

Available variables (placeholders):
{file_title} {release} {file_name} {thumbnail} {pic_is_new} {pic_is_hot} {pic_is_updated} {url_download} {mirror_1} {mirror_2} {description_long} {details_block_title} {license_title} {license_text} {price_title} {price_value} {language_title} {language_text} {filesize_title} {filesize_value} {system_title} {system_text} {author_title} {author_text} {author_url_title} {author_url_text} {created_date_title} {created_date_value} {hits_title} {hits_value} {created_by_title} {created_by_value} {modified_by_title} {modified_by_value} {modified_date_title} {modified_date_value} {mp3_player} {mp3_id3_tag} {google_adsense} {report_link} {rating} +JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC=This is the layout of the Downloads Details page in the Frontend.

Do not remove the placeholder variable {url_download}

Available variables (placeholders):
{file_title} {release} {file_name} {thumbnail} {pic_is_new} {pic_is_hot} {pic_is_updated} {url_download} {mirror_1} {mirror_2} {description_long} {details_block_title} {license_title} {license_text} {price_title} {price_value} {language_title} {language_text} {filesize_title} {filesize_value} {system_title} {system_text} {author_title} {author_text} {author_url_title} {author_url_text} {created_date_title} {created_date_value} {hits_title} {hits_value} {created_by_title} {created_by_value} {modified_by_title} {modified_by_value} {modified_date_title} {modified_date_value} {mp3_player} {mp3_id3_tag} {google_adsense} {report_link} {rating} {file_date_title} {file_date} JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_INFO_TITLE=Information about Download details layout: JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_INFO_TEXT=

Graphical example of this page in the frontend. The dark red border indicates the area you can change the display from here.

@@ -877,7 +877,7 @@ JLIST_BACKEND_SETTINGS_FAUTO_HEADER_TITLE=Monitoring of the download folders # NEW OPTION AUTOPUBLISH NEW FOUNDED FILES JLIST_BACKEND_SETTINGS_DOWNLOADS_AUTOPUBLISH_TITLE=Automatically publish downloads? -JLIST_BACKEND_SETTINGS_DOWNLOADS_AUTOPUBLISH_DESC=If Yes, newly found files are published immediately. It is assumed the above option is enabled.
Default: No. +JLIST_BACKEND_SETTINGS_DOWNLOADS_AUTOPUBLISH_DESC=If Yes, newly found files (and folders) are published immediately. It is assumed the above option is enabled.
Default: No. # NEW OPTION FOR AUTODETECT ALL FILES JLIST_BACKEND_SETTINGS_FAUTO_ALL_FILES_TITLE=Monitor all filetypes? @@ -1157,7 +1157,7 @@ JLIST_INSTALL_WARNING_DEFAULT_LAYOUTS_ARE_ACTIVE=Due to the introduction of a ne # NEW IN 1.5 # *************************************************************** -JLIST_INSTALL_ABORT=ERROR! You can only make a update from jDownloads v. 1.4. So you must first update to this version! +JLIST_INSTALL_ABORT=ERROR! You can only make a update from the last published version to the newest release. So you must first update step by step to this version! # Backend EDIT TEMPLATES TOOLBAR TITLES JLIST_BACKEND_TEMPEDIT_CATTITLE=Edit Category Layout @@ -1426,4 +1426,126 @@ JLIST_BACKEND_SETTINGS_RATING_ONLY_REGGED_TITLE=Only registered user can rate? JLIST_BACKEND_SETTINGS_RATING_ONLY_REGGED_DESC=When yes, only registered visitors can rate downloads. # NOTE FOR TRANSLATORS: # please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC at (ca.) line 219 at the end: {rating} -# please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {rating} \ No newline at end of file +# please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {rating} + +#***************************** +# ADDED IN v.1.7 stable +#***************************** +# NEW FOR MOVE DOWNLOADS TO OTHER CATEGORY +JLIST_BACKEND_FILES_MOVE_TITLE=Move downloads +JLIST_BACKEND_FILES_MOVE_DESC=Select the target Category: +JLIST_BACKEND_FILES_MOVE_TEXT_1=These downloads are marked to move: +JLIST_BACKEND_FILES_MOVE_TEXT_2=Hint: When you move a download to a other category, then will also the file moved to the target category folder! +JLIST_BACKEND_FILES_MOVE_SAVED=Downloads are moved! + +# NEW FOR LAYOUT PLACEHOLDER {file_date} +JLIST_FE_FILELIST_FILE_DATE_TITLE=File Date +JLIST_FE_DETAILS_FILE_DATE_TITLE=File Date + +# NEW FOR FILE DATA FIELD FILE_DATE +JLIST_EDIT_FILE_FILE_DATE_TITLE=File Date +JLIST_EDIT_FILE_FILE_DATE_DESC=The creation date from the file. It is not possible to set this date automaticly.
Define the date in the following format: YYYY-MM-DD H:mm:ss or use the calendar function. + +# NEW OPTION FOR USE JOM COMMENT (AZRUL) +JLIST_BACKEND_SETTINGS_JOM_COMMENT_TITLE=Support JomComment? +JLIST_BACKEND_SETTINGS_JOM_COMMENT_EXISTS_DESC=Yes, shows the JomComment function in the download details pages
JomComment is already installed! +JLIST_BACKEND_SETTINGS_JOM_COMMENT_DESC=Yes, activate the comments function from JomComment in the frontend.
JomComment is NOT included with jDownloads and must be installed and configured separately (see www.azrul.com) +JLIST_BACKEND_SETTINGS_JOM_COMMENT_NOTE=Note: You can only activate one from this both comment components! + +# NEW OPTION FOR SHORT AUTOMATICLY SHORT DESCRIPTION +JLIST_BACKEND_USE_CUT_DESCRIPTION_TITLE=Cut automaticly short description? +JLIST_BACKEND_USE_CUT_DESCRIPTION_TITLE_DESC=When yes, the files short description is automaticly shortened to the below specified amount of characters. This is used for the download list view in the frontend. +JLIST_BACKEND_USE_CUT_DESCRIPTION_LENGTH_TITLE=Amount of characters: +JLIST_BACKEND_USE_CUT_DESCRIPTION_LENGTH_TITLE_DESC= + +# NEW OPTION FOR VIEW DOWNLOAD PIC AND TEXT +JLIST_BACKEND_USE_PIC_AND_TEXT_FOR_DOWNLOAD_TITLE=View Download icon and text? +JLIST_BACKEND_USE_PIC_AND_TEXT_FOR_DOWNLOAD_TITLE_DESC=When yes, is viewed for the download link a icon and below a text (as sample: Download). When no, only the Icon is viewed. + +# NEW DATA FIELD FOR START AND END DATE PUBLISHING FILE +JLIST_EDIT_FILE_START_END_DATE_ACTIVATE_TITLE=Use publishing timeframe? +JLIST_EDIT_FILE_START_END_DATE_ACTIVATE_DESC=When yes, the fields below will use for the publishing timeframe. Otherwise is the publishing timeframe not limitted. +JLIST_EDIT_FILE_START_DATE_TITLE=Start date: +JLIST_EDIT_FILE_END_DATE_TITLE=End date: + +# NEW FOR MENU SELECTION +JD_MENU_CATEGORIES_LIST_LAYOUT=Categories List Layout +JD_MENU_CATEGORIES_LIST_LAYOUT_DESC=This Layout shows a list of all jDownloads Categories. +JD_MENU_CATEGORIES_LIST_TITLE=All Categories +JD_MENU_CATEGORY_LIST_LAYOUT=Category Layout +JD_MENU_CATEGORY_LIST_LAYOUT_DESC=This Layout shows a list of all Downloads within a particular Category. +JD_MENU_CATEGORY_LIST_TITLE=Single Category +JD_MENU_CATEGORY_LIST_LABEL1=Select an Category +JD_MENU_CATEGORY_LIST_LABEL1_DESC=Important: All listed Categories are published, but check that you not set a public menu link to a category with restricted access rights.
Data order: Title / ID. +JD_MENU_UPLOAD_LAYOUT=Frontend Upload Layout +JD_MENU_UPLOAD_LAYOUT_DESC=Allow Users to submit Downloads. +JD_MENU_UPLOAD_LIST_TITLE=Upload Form +JD_MENU_VIEWDOWNLOAD_LAYOUT=Single Download Layout +JD_MENU_VIEWDOWNLOAD_LAYOUT_DESC=This Layout views a single Download. +JD_MENU_VIEWDOWNLOAD_LIST_TITLE=Single Download +JD_MENU_VIEWDOWNLOAD_LABEL2_DESC=Data order: Title / File-ID / Category-ID.
Important: You must also above select the Category from the choosed Download. +JD_MENU_VIEWDOWNLOAD_LABEL2=Select an Download + +# NEW FOR LIGHTBOX OPTION FRONTEND +JLIST_BACKEND_SETTINGS_USE_LIGHTBOX_TITLE=Use jDownloads Lighbox function? +JLIST_BACKEND_SETTINGS_USE_LIGHTBOX_DESC=Sometimes you has always installed a lightbox plugin. Then you can here set off the included lightbox function from jDownloads. But test it previously. + +# ADDED FOR RUN NEW MONITORING FUNCTION +JLIST_RUN_MONITORING_INFO2=Downloads area check started... Please wait! +JLIST_RUN_MONITORING_INFO3=First step: Search new jDownloads folders... +JLIST_RUN_MONITORING_INFO4=Second step: Check all published jDownloads categories (folders)... +JLIST_RUN_MONITORING_INFO5=Third step: Search new jDownloads files... +JLIST_RUN_MONITORING_INFO6=Last step: Check all published downloads (files)... +JLIST_RUN_MONITORING_INFO7=Finished! You can now close this window. + +# ADDED FOR CP STATS +JLIST_BACKEND_CP_STATS_TEXT=The download archive contains currently #1 downloads in #2 categories. To date, these have been downloaded #3 times. Current are #4 categories and #5 downloads not published. + +# NEW FOR ALPHAUSERPOINTS RULES +JLIST_BACKEND_SET_AUP_HEADER=Settings for Alphauserpoints Support +JLIST_BACKEND_SET_AUP_HEADER_TEXT=You can this options only use, when you has installed the Alphauserpoints component from www.alphaplug.com and additional, the Alphauserpoints Plugins for jDownloads. See FAQ for more informations. +JLIST_BACKEND_SET_AUP_TITLE=Use Alphauserpoints rules? +JLIST_BACKEND_SET_AUP_DESC=When yes, registered users can received points for special actions in the frontend. +JLIST_BACKEND_SET_AUP_UPLOAD_TEXT=Upload (Title: %s) in our File area. +JLIST_BACKEND_SET_AUP_DOWNLOAD_TEXT=Download file (Title: %s). +JLIST_BACKEND_SET_AUP_DOWNLOAD_WHEN_ZERO_POINTS_TEXT=May user download when he has no points or too few? +JLIST_BACKEND_SET_AUP_DOWNLOAD_WHEN_ZERO_POINTS_DESC=When yes, a user can always download a file. When no, he see the message below, when he has not enough points for the download. +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_EDIT=This text is indicated the user +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD=Sorry, but you has not enough points to download this file. Please recharge first your point account. +JLIST_BACKEND_SET_AUP_USE_FILE_PRICE_TITLE=Use files price field as points? +JLIST_BACKEND_SET_AUP_USE_FILE_PRICE_DESC=When yes, the value in the files price field is used when a user will download a file. So this value is deducted from his point account. +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_POINTS=Your points: +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_NEEDED=Needed points: + +# ADDED FOR SIMPLE DOWNLOADS LIMIT PER DAY (GLOBAL) +JLIST_FE_MESSAGE_AMOUNT_FILES_LIMIT=You has your limit at downloads for today reached!
When this calender day is over (Server time 00:00:01), you can download the next files.

Current server time: +JLIST_BACKEND_SET_AMOUNTS_FILE_LIMIT_TITLE=How many files can users download in a day? +JLIST_BACKEND_SET_AMOUNTS_FILE_LIMIT_DESC=Set here the amount of files, where users can download per day. Is the limit reached, the user see the message below. When you set it to 0 it is unlimited.
Attention: This option works not for mass downloads (Layouts with checkboxes)! + +# NOTE FOR TRANSLATORS: +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC at (ca.) line 219 at the end: {file_date_title} and {file_date} +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {file_date_title} and {file_date} +# changed text for JLIST_BACKEND_FILESEDIT_DADDED in line 340 + +# ******************************** +# CHANGED / ADDED IN 1.7 BUILD 760 +# ******************************** + +# NEW FOR SEARCH +JLIST_FRONTEND_SEARCH_DESCRIPTION=Please break searched terms with blank and use not punctuation. It is searched by every search keyword. On the top from the results list is the the downloads with the most hits. + +# NEW FOR AUTO MONITORING +JLIST_BACKEND_AUTOCHECK_SUM_FOLDERS=Checked Directories: +JLIST_BACKEND_AUTOCHECK_SUM_FILES=Checked Files: + +# NEW FOR SUMMARY PAGE AUP POINTS VIEW +JLIST_FE_VIEW_AUP_SUM_POINTS=This download cost %d points. You has current %d points. + +# ADDED FOR HEADER DESCRIPTION IN CONFIG +JLIST_BACKEND_SETTINGS_FRONTEND_HEADER_DESC2=Note: This is only used as default title, when you has not set a page title in the menu parameters. + +# NOTE FOR TRANSLATORS: +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_DESC at (ca.) line 224 at the end: {aup_points_info} +# Changed text in line: 1160 for JLIST_INSTALL_ABORT +# Changed text in line: 880 for JLIST_BACKEND_SETTINGS_DOWNLOADS_AUTOPUBLISH_DESC added: (and folders) +# Changed text in line: 281 for JLIST_BACKEND_FILESLIST_HITS old: Number of Downloads new: Downloaded diff --git a/oss/joomla/trunk/administrator/language/zh-CN/_notes/dwsync.xml b/oss/joomla/trunk/administrator/language/zh-CN/_notes/dwsync.xml deleted file mode 100644 index 997d0426..00000000 --- a/oss/joomla/trunk/administrator/language/zh-CN/_notes/dwsync.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_jdownloads.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_jdownloads.ini index 761f02c0..fbfedf9e 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_jdownloads.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_jdownloads.ini @@ -1451,4 +1451,126 @@ JLIST_BACKEND_SETTINGS_RATING_ONLY_REGGED_TITLE=Only registered user can rate? JLIST_BACKEND_SETTINGS_RATING_ONLY_REGGED_DESC=When yes, only registered visitors can rate downloads. # NOTE FOR TRANSLATORS: # please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC at (ca.) line 219 at the end: {rating} -# please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {rating} \ No newline at end of file +# please add in your translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {rating} + +#***************************** +# ADDED IN v.1.7 stable +#***************************** +# NEW FOR MOVE DOWNLOADS TO OTHER CATEGORY +JLIST_BACKEND_FILES_MOVE_TITLE=Move downloads +JLIST_BACKEND_FILES_MOVE_DESC=Select the target Category: +JLIST_BACKEND_FILES_MOVE_TEXT_1=These downloads are marked to move: +JLIST_BACKEND_FILES_MOVE_TEXT_2=Hint: When you move a download to a other category, then will also the file moved to the target category folder! +JLIST_BACKEND_FILES_MOVE_SAVED=Downloads are moved! + +# NEW FOR LAYOUT PLACEHOLDER {file_date} +JLIST_FE_FILELIST_FILE_DATE_TITLE=File Date +JLIST_FE_DETAILS_FILE_DATE_TITLE=File Date + +# NEW FOR FILE DATA FIELD FILE_DATE +JLIST_EDIT_FILE_FILE_DATE_TITLE=File Date +JLIST_EDIT_FILE_FILE_DATE_DESC=The creation date from the file. It is not possible to set this date automaticly.
Define the date in the following format: YYYY-MM-DD H:mm:ss or use the calendar function. + +# NEW OPTION FOR USE JOM COMMENT (AZRUL) +JLIST_BACKEND_SETTINGS_JOM_COMMENT_TITLE=Support JomComment? +JLIST_BACKEND_SETTINGS_JOM_COMMENT_EXISTS_DESC=Yes, shows the JomComment function in the download details pages
JomComment is already installed! +JLIST_BACKEND_SETTINGS_JOM_COMMENT_DESC=Yes, activate the comments function from JomComment in the frontend.
JomComment is NOT included with jDownloads and must be installed and configured separately (see www.azrul.com) +JLIST_BACKEND_SETTINGS_JOM_COMMENT_NOTE=Note: You can only activate one from this both comment components! + +# NEW OPTION FOR SHORT AUTOMATICLY SHORT DESCRIPTION +JLIST_BACKEND_USE_CUT_DESCRIPTION_TITLE=Cut automaticly short description? +JLIST_BACKEND_USE_CUT_DESCRIPTION_TITLE_DESC=When yes, the files short description is automaticly shortened to the below specified amount of characters. This is used for the download list view in the frontend. +JLIST_BACKEND_USE_CUT_DESCRIPTION_LENGTH_TITLE=Amount of characters: +JLIST_BACKEND_USE_CUT_DESCRIPTION_LENGTH_TITLE_DESC= + +# NEW OPTION FOR VIEW DOWNLOAD PIC AND TEXT +JLIST_BACKEND_USE_PIC_AND_TEXT_FOR_DOWNLOAD_TITLE=View Download icon and text? +JLIST_BACKEND_USE_PIC_AND_TEXT_FOR_DOWNLOAD_TITLE_DESC=When yes, is viewed for the download link a icon and below a text (as sample: Download). When no, only the Icon is viewed. + +# NEW DATA FIELD FOR START AND END DATE PUBLISHING FILE +JLIST_EDIT_FILE_START_END_DATE_ACTIVATE_TITLE=Use publishing timeframe? +JLIST_EDIT_FILE_START_END_DATE_ACTIVATE_DESC=When yes, the fields below will use for the publishing timeframe. Otherwise is the publishing timeframe not limitted. +JLIST_EDIT_FILE_START_DATE_TITLE=Start date: +JLIST_EDIT_FILE_END_DATE_TITLE=End date: + +# NEW FOR MENU SELECTION +JD_MENU_CATEGORIES_LIST_LAYOUT=Categories List Layout +JD_MENU_CATEGORIES_LIST_LAYOUT_DESC=This Layout shows a list of all jDownloads Categories. +JD_MENU_CATEGORIES_LIST_TITLE=All Categories +JD_MENU_CATEGORY_LIST_LAYOUT=Category Layout +JD_MENU_CATEGORY_LIST_LAYOUT_DESC=This Layout shows a list of all Downloads within a particular Category. +JD_MENU_CATEGORY_LIST_TITLE=Single Category +JD_MENU_CATEGORY_LIST_LABEL1=Select an Category +JD_MENU_CATEGORY_LIST_LABEL1_DESC=Important: All listed Categories are published, but check that you not set a public menu link to a category with restricted access rights.
Data order: Title / ID. +JD_MENU_UPLOAD_LAYOUT=Frontend Upload Layout +JD_MENU_UPLOAD_LAYOUT_DESC=Allow Users to submit Downloads. +JD_MENU_UPLOAD_LIST_TITLE=Upload Form +JD_MENU_VIEWDOWNLOAD_LAYOUT=Single Download Layout +JD_MENU_VIEWDOWNLOAD_LAYOUT_DESC=This Layout views a single Download. +JD_MENU_VIEWDOWNLOAD_LIST_TITLE=Single Download +JD_MENU_VIEWDOWNLOAD_LABEL2_DESC=Data order: Title / File-ID / Category-ID.
Important: You must also above select the Category from the choosed Download. +JD_MENU_VIEWDOWNLOAD_LABEL2=Select an Download + +# NEW FOR LIGHTBOX OPTION FRONTEND +JLIST_BACKEND_SETTINGS_USE_LIGHTBOX_TITLE=Use jDownloads Lighbox function? +JLIST_BACKEND_SETTINGS_USE_LIGHTBOX_DESC=Sometimes you has always installed a lightbox plugin. Then you can here set off the included lightbox function from jDownloads. But test it previously. + +# ADDED FOR RUN NEW MONITORING FUNCTION +JLIST_RUN_MONITORING_INFO2=Downloads area check started... Please wait! +JLIST_RUN_MONITORING_INFO3=First step: Search new jDownloads folders... +JLIST_RUN_MONITORING_INFO4=Second step: Check all published jDownloads categories (folders)... +JLIST_RUN_MONITORING_INFO5=Third step: Search new jDownloads files... +JLIST_RUN_MONITORING_INFO6=Last step: Check all published downloads (files)... +JLIST_RUN_MONITORING_INFO7=Finished! You can now close this window. + +# ADDED FOR CP STATS +JLIST_BACKEND_CP_STATS_TEXT=The download archive contains currently #1 downloads in #2 categories. To date, these have been downloaded #3 times. Current are #4 categories and #5 downloads not published. + +# NEW FOR ALPHAUSERPOINTS RULES +JLIST_BACKEND_SET_AUP_HEADER=Settings for Alphauserpoints Support +JLIST_BACKEND_SET_AUP_HEADER_TEXT=You can this options only use, when you has installed the Alphauserpoints component from www.alphaplug.com and additional, the Alphauserpoints Plugins for jDownloads. See FAQ for more informations. +JLIST_BACKEND_SET_AUP_TITLE=Use Alphauserpoints rules? +JLIST_BACKEND_SET_AUP_DESC=When yes, registered users can received points for special actions in the frontend. +JLIST_BACKEND_SET_AUP_UPLOAD_TEXT=Upload (Title: %s) in our File area. +JLIST_BACKEND_SET_AUP_DOWNLOAD_TEXT=Download file (Title: %s). +JLIST_BACKEND_SET_AUP_DOWNLOAD_WHEN_ZERO_POINTS_TEXT=May user download when he has no points or too few? +JLIST_BACKEND_SET_AUP_DOWNLOAD_WHEN_ZERO_POINTS_DESC=When yes, a user can always download a file. When no, he see the message below, when he has not enough points for the download. +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_EDIT=This text is indicated the user +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD=Sorry, but you has not enough points to download this file. Please recharge first your point account. +JLIST_BACKEND_SET_AUP_USE_FILE_PRICE_TITLE=Use files price field as points? +JLIST_BACKEND_SET_AUP_USE_FILE_PRICE_DESC=When yes, the value in the files price field is used when a user will download a file. So this value is deducted from his point account. +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_POINTS=Your points: +JLIST_BACKEND_SET_AUP_FE_MESSAGE_NO_DOWNLOAD_NEEDED=Needed points: + +# ADDED FOR SIMPLE DOWNLOADS LIMIT PER DAY (GLOBAL) +JLIST_FE_MESSAGE_AMOUNT_FILES_LIMIT=You has your limit at downloads for today reached!
When this calender day is over (Server time 00:00:01), you can download the next files.

Current server time: +JLIST_BACKEND_SET_AMOUNTS_FILE_LIMIT_TITLE=How many files can users download in a day? +JLIST_BACKEND_SET_AMOUNTS_FILE_LIMIT_DESC=Set here the amount of files, where users can download per day. Is the limit reached, the user see the message below. When you set it to 0 it is unlimited.
Attention: This option works not for mass downloads (Layouts with checkboxes)! + +# NOTE FOR TRANSLATORS: +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FILES_DESC at (ca.) line 219 at the end: {file_date_title} and {file_date} +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_DETAILS_DESC at (ca.) line 748 at the end: {file_date_title} and {file_date} +# changed text for JLIST_BACKEND_FILESEDIT_DADDED in line 340 + +# ******************************** +# CHANGED / ADDED IN 1.7 BUILD 760 +# ******************************** + +# NEW FOR SEARCH +JLIST_FRONTEND_SEARCH_DESCRIPTION=Please break searched terms with blank and use not punctuation. It is searched by every search keyword. On the top from the results list is the the downloads with the most hits. + +# NEW FOR AUTO MONITORING +JLIST_BACKEND_AUTOCHECK_SUM_FOLDERS=Checked Directories: +JLIST_BACKEND_AUTOCHECK_SUM_FILES=Checked Files: + +# NEW FOR SUMMARY PAGE AUP POINTS VIEW +JLIST_FE_VIEW_AUP_SUM_POINTS=This download cost %d points. You has current %d points. + +# ADDED FOR HEADER DESCRIPTION IN CONFIG +JLIST_BACKEND_SETTINGS_FRONTEND_HEADER_DESC2=Note: This is only used as default title, when you has not set a page title in the menu parameters. + +# NOTE FOR TRANSLATORS: +# please add in your prior translated file in JLIST_BACKEND_SETTINGS_TEMPLATES_FINAL_DESC at (ca.) line 224 at the end: {aup_points_info} +# Changed text in line: 1160 for JLIST_INSTALL_ABORT +# Changed text in line: 880 for JLIST_BACKEND_SETTINGS_DOWNLOADS_AUTOPUBLISH_DESC added: (and folders) +# Changed text in line: 281 for JLIST_BACKEND_FILESLIST_HITS old: Number of Downloads new: Downloaded diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_languages.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_languages.ini index 39d174e4..88c4664d 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_languages.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_languages.ini @@ -1,12 +1,29 @@ -# version 1.5.0 2008-01-14 23:35:37 ~0 -# author Joomla! Chinese Translation Team -# copyright (C) 2008 Open Source Matters. All rights reserved. -# license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL -# Note : All ini files need to be saved as UTF-8 +#/** +# * Copyright (C) 2006-2010 YUCHENG HU +# * +# * --------------------------------------------- +# * HA WEBSYSTEMS +# * http://www.hawebs.net +# * https://www.hawebs.org/forums/computer/ +# * +# * CONTACT +# * huyuchengus@gmail.com / yuchenghu@hawebs.net +# * +# * --------------------------------------------- +# * GNU GENERAL PUBLIC LICENSE GNU/LGPL +# * http://www.gnu.org/licenses/lgpl.html +# * +# * --------------------------------------------- +# * NOTE +# * 1. 所有的 ini 文件必须采用 UTF-8 编码 +# * 2. 请不要在语言配置文件中使用单引号或双引号 (' 或 ") +# * +# * --------------------------------------------- +# */ ADMINISTRATOR=管理后台 DESCFTP=为了将设置的语言作为默认选项,Joomla!最有可能需要你们的FTP帐号细节.请在下面的表单域中输入这些信息. -DESCFTPTITLE=FTP帐号详情 +DESCFTPTITLE=FTP 帐号详情 IS=是 JCLIENTHELPER::SETCREDENTIALSFROMREQUEST FAILED=无法用给定的安全证书连接到服务器。 LANGUAGE EDITOR=语言编辑器 @@ -18,5 +35,5 @@ OPERATION FAILED: THE FILE IS NOT WRITABLE.=操作失败:文件不可写。 SIZE=大小 WARNOPENFILE=操作失败:文件写入失败。 WRITABLE=可写 -YOU CAN NOT DELETE LANGUAGE IN USE.=您不能删除目前正在使用的语言。 +YOU CAN NOT DELETE LANGUAGE IN USE.=您不能删除当前正在使用的语言。 diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_login.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_login.ini index 0f8f82f8..87408327 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_login.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_login.ini @@ -1,9 +1,24 @@ -# version 1.5.0 2008-01-14 23:35:49 ~0 -# author Joomla! Chinese Translation Team -# copyright (C) 2005 Open Source Matters. All rights reserved. -# license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL +#/** +# * Copyright (C) 2006-2010 YUCHENG HU +# * +# * --------------------------------------------- +# * HA WEBSYSTEMS +# * http://www.hawebs.net +# * https://www.hawebs.org/forums/computer/ +# * +# * CONTACT +# * huyuchengus@gmail.com / yuchenghu@hawebs.net +# * +# * --------------------------------------------- +# * GNU GENERAL PUBLIC LICENSE GNU/LGPL +# * http://www.gnu.org/licenses/lgpl.html +# * +# * --------------------------------------------- +# * NOTE +# * 1. 所有的 ini 文件必须采用 UTF-8 编码 +# * 2. 请不要在语言配置文件中使用单引号或双引号 (' 或 ") +# * +# * --------------------------------------------- +# */ -# Note : All ini files need to be saved as UTF-8 - - -DESCUSEVALIDLOGIN=请使用有效的用户名和密码进入管理后台。 +DESCUSEVALIDLOGIN=请使用有效的用户名和密码登录后进入管理控制台。 diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_massmail.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_massmail.ini index d1a29bb1..61142992 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_massmail.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_massmail.ini @@ -1,8 +1,25 @@ -# version 1.5.0 2008-01-14 17:00:17 ~0 -# author Joomla! Chinese Translation Team -# copyright (C) 2005 Open Source Matters. All rights reserved. -# license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL -# Note : All ini files need to be saved as UTF-8 +#/** +# * Copyright (C) 2006-2010 YUCHENG HU +# * +# * --------------------------------------------- +# * HA WEBSYSTEMS +# * http://www.hawebs.net +# * https://www.hawebs.org/forums/computer/ +# * +# * CONTACT +# * huyuchengus@gmail.com / yuchenghu@hawebs.net +# * +# * --------------------------------------------- +# * GNU GENERAL PUBLIC LICENSE GNU/LGPL +# * http://www.gnu.org/licenses/lgpl.html +# * +# * --------------------------------------------- +# * NOTE +# * 1. 所有的 ini 文件必须采用 UTF-8 编码 +# * 2. 请不要在语言配置文件中使用单引号或双引号 (' 或 ") +# * +# * --------------------------------------------- +# */ ALL USER GROUPS=所有会员组 BODYSUFFIXTIP=它将被加至邮件内容之后 @@ -22,8 +39,4 @@ SEND IN HTML MODE=以HTML格式发送 SEND MAIL=发送邮件 SUBJECT PREFIX=标题前缀 SUBJECTPREFIXTIP=它将加至每份E-mail的标题之前 -USERS=会员 -#IMPORTANT: DON'T REMOVE ENTRIES FOLLOWING THIS LINE WHEN DOING SYNC !! -EDITOR=主编 -MANAGER=初级管理员 -SUPER ADMINISTRATOR=超级管理员 \ No newline at end of file +USERS=会员 \ No newline at end of file diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_media.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_media.ini index f41583fb..bde61b0e 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_media.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_media.ini @@ -1,8 +1,25 @@ -# version 1.5.0 2008-01-14 20:48:26 ~0 -# author Joomla! Chinese Translation Team -# copyright (C) 2005 Open Source Matters. All rights reserved. -# license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL -# Note : All ini files need to be saved as UTF-8 +#/** +# * Copyright (C) 2006-2010 YUCHENG HU +# * +# * --------------------------------------------- +# * HA WEBSYSTEMS +# * http://www.hawebs.net +# * https://www.hawebs.org/forums/computer/ +# * +# * CONTACT +# * huyuchengus@gmail.com / yuchenghu@hawebs.net +# * +# * --------------------------------------------- +# * GNU GENERAL PUBLIC LICENSE GNU/LGPL +# * http://www.gnu.org/licenses/lgpl.html +# * +# * --------------------------------------------- +# * NOTE +# * 1. 所有的 ini 文件必须采用 UTF-8 编码 +# * 2. 请不要在语言配置文件中使用单引号或双引号 (' 或 ") +# * +# * --------------------------------------------- +# */ CLEAR COMPLETED=清除已上传图片 *CLICK FOR IMAGE CODE*=*点击产生图片代码* @@ -30,7 +47,8 @@ DIRECTORIES=目录 DIRECTORY=目录 DIRECTORY UP=返回上层目录 DOES NOT EXIST.=不存在! -ERROR. UNABLE TO UPLOAD FILE=错误。无法上传文件 +ERROR. FILE ALREADY EXISTS=【错误】-> 文件已存在 +ERROR. UNABLE TO UPLOAD FILE=【错误】-> 无法上传文件 FILESIZE=文件大小 FILES/FOLDERS IN=文件/文件夹位于 FIRST.=第一位。 @@ -65,10 +83,12 @@ MAXIMUM SIZE DESC=上传一个文件的最大尺寸限制(单位:byte)。 MEDIA MANAGER=媒体管理 NAME=图片名称 NO IMAGES FOUND=找不到图片 +NOT EMPTY!=目录不为空 NOT SET=尚未设置 NUMFILES=文件:%s NUMFOLDERS=文件夹:%s PLEASE DELETE ALL FILES/FOLDER IN=请删除位于该处的所有文件或文件 +PLEASE INPUT A FILE FOR UPLOAD=请输入一个文件后上传 PX=像素 REMOVE FROM QUEUE=从队列中删除 SELECT FILE=选择文件 diff --git a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_menus.ini b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_menus.ini index 9f217c6d..7d927702 100644 --- a/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_menus.ini +++ b/oss/joomla/trunk/administrator/language/zh-CN/zh-CN.com_menus.ini @@ -1,8 +1,25 @@ -# $Id: zh-CN.com_menus.ini 126 2008-07-08 07:17:06Z protege $ -# author Joomla! Chinese Translation Team -# Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. -# License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php -# Note : All ini files need to be saved as UTF-8 - No BOM +#/** +# * Copyright (C) 2006-2010 YUCHENG HU +# * +# * --------------------------------------------- +# * HA WEBSYSTEMS +# * http://www.hawebs.net +# * https://www.hawebs.org/forums/computer/ +# * +# * CONTACT +# * huyuchengus@gmail.com / yuchenghu@hawebs.net +# * +# * --------------------------------------------- +# * GNU GENERAL PUBLIC LICENSE GNU/LGPL +# * http://www.gnu.org/licenses/lgpl.html +# * +# * --------------------------------------------- +# * NOTE +# * 1. 所有的 ini 文件必须采用 UTF-8 编码 +# * 2. 请不要在语言配置文件中使用单引号或双引号 (' 或 ") +# * +# * --------------------------------------------- +# */ A DESCRIPTION FOR THE MENU=菜单说明 A PROPER TITLE FOR THE MENU=菜单标题名称 @@ -25,6 +42,7 @@ AUTO HEIGHT=自动调整高度 ATOM=Atom BASIC PARAMETERS=基本设置 BLOG=博客式排版 +CANNOT SAVE: EMPTY MENU TYPE=【不能保存】 -> 菜单类型为空 CATEGORY DESCRIPTION=文章分类说明 CATEGORY LIST - SECTION=文章单元里的文章分类列表 CATEGORY NAME=文章分类名称 @@ -40,6 +58,7 @@ COMPLETE RESET LAYOUT=完成重设版面 COMPLETE RESET LAYOUT DESC=创建一个完整的密码重设版面视图 COMPONENT PARAMETERS=组件参数 COMPONENTS=组件 +CONFIRM DELETE MENU TYPE=请确认删除菜单类型 CONFIRM RESET LAYOUT=确认重设版面 CONFIRM RESET LAYOUT DESC=创建一个已确认的密码重设版面视图 CONTACT TO LINK=联系人链接 @@ -153,6 +172,14 @@ NUM ARTICLES COLUMN=文章栏 NUM CATEGORY ITEMS=文章分类中的文章数 NUM INTRO=引言 NUM LEADING=头条文章 +NUMBER 5=5 +NUMBER 10=10 +NUMBER 15=15 +NUMBER 20=20 +NUMBER 25=25 +NUMBER 30=30 +NUMBER 50=50 +NUMBER 100=100 NUMBER OF ITEMS TO DISPLAY AS LINKS.=在一个页面里显示的文章链接的数量 OLDEST FIRST=旧文章在前 ON CLICK, OPEN IN=鼠标点击时,打开 @@ -214,6 +241,7 @@ PLEASE ENTER A MODULE NAME FOR YOUR MENU=请填写菜单的模块名称 PLEASE ENTER A NAME FOR THE COPY OF THE MENU=请填写复制的菜单的名称 PLEASE ENTER A NAME FOR THE NEW MODULE=清输入新模块的名称 PLEASE SELECT A CATEGORY=请选择一个分类 +PLEASE SELECT A MENU FROM THE LIST=请为列表选择一个菜单 PLEASE SELECT AN ARTICLE=请选择一篇文章 POLL=投票调查 PRIMARY ORDER=默认排序 @@ -239,6 +267,7 @@ SHOW/HIDE EMPTY(NO ITEMS) CATEGORIES=显示或隐藏空的(没有文章)的 SHOW/HIDE EMPTY(NO ITEMS) CATEGORIES IN SECTION VIEW=在文章单元浏览页显示或隐藏空的(没有文章)的文章分类 SHOW/HIDE PAGINATION SUPPORT=显示或隐藏分页结果 SHOW/HIDE THE CATEGORY DESCRIPTION=显示或隐藏分类说明 +SHOW/HIDE THE CATEGORY IMAGE=显示 / 隐藏 分类图片 SHOW/HIDE THE DATE COLUMN=显示或隐藏日期栏 SHOW/HIDE THE DESCRIPTION BELOW=显示或隐藏以下说明 SHOW/HIDE THE DISPLAY SELECT DROPDOWN=显示或隐藏下拉选项 @@ -247,6 +276,7 @@ SHOW/HIDE THE FEED NAME COLUMN=显示或隐藏新闻联播源的名称栏 SHOW/HIDE THE FILTER ABILITY=显示或隐藏筛选功能 SHOW/HIDE THE IMAGE OF THE FEED=显示或隐藏新闻联播源的图片 SHOW/HIDE THE ITEMS TITLE=显示或隐藏条目标题 +SHOW/HIDE THE TABLE HEADINGS=显示 / 隐藏 表头 SSL ENABLED=允许SSL认证 STEP=步骤 SUBMIT=提交