OSDN Git Service

merged from v3.31sp1
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / plugins / NP_SkinFiles.php
1 <?php
2
3 class NP_SkinFiles extends NucleusPlugin {
4
5    /* ==========================================================================================
6         * Nucleus SkinFiles Plugin
7         *
8         * Copyright 2005-2007 by Jeff MacMichael and Niels Leenheer
9         *
10         * @version $Id: NP_SkinFiles.php,v 1.5 2008-02-08 09:31:23 kimitake Exp $
11         * @version $NucleusJP: NP_SkinFiles.php,v 1.4 2007/02/04 06:28:46 kimitake Exp $
12         *
13         * ==========================================================================================
14         * This program is free software and open source software; you can redistribute
15         * it and/or modify it under the terms of the GNU General Public License as
16         * published by the Free Software Foundation; either version 2 of the License,
17         * or (at your option) any later version.
18         *
19         * This program is distributed in the hope that it will be useful, but WITHOUT
20         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21         * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
22         * more details.
23         *
24         * You should have received a copy of the GNU General Public License along
25         * with this program; if not, write to the Free Software Foundation, Inc.,
26         * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  or visit
27         * http://www.gnu.org/licenses/gpl.html
28         * ==========================================================================================
29         *
30         * Changes:
31         * v0.91 ged   - added ICO, PHPx files, fixed/added some icons
32         *             - changed perms on file or folder creation or upload to 0755 from 0640
33         *             - changed 'cancel' links for delete actions to $parent dir from http_referer
34         *             - changed order of links next to files... moved 'del' over a bit.  ;)
35         * v0.92 ged   - changed order of links next to dirs
36         *               $privateskins = FALSE by default
37         * v1.0  ged   - fixed security catch so it actually quits the script
38         *               "columnated" the files & dirs display for easier viewing
39         *               Made the edit cancel link more intuitive
40         * v1.01 ged   - fixed event_QuickMenu to properly skip for non-admins
41         *               lined up columns for directories & added <tr> highlights
42         * v2.00 rakaz - Almost complete rewrite
43         * v2.01 yama  - modified form button for IE
44         * v2.02 kimitake - multilingual support, modified form button for IE
45         */
46
47
48         function getName()                { return 'SkinFiles'; }
49         function getAuthor()      { return 'Misc authors'; }
50         function getURL()                 { return 'http://www.nucleuscms.org/'; }
51         function getVersion()     { return '2.02'; }
52         function getDescription() { return _SKINFILES_DESC;     }
53
54         function supportsFeature($what) {
55                 switch($what)
56                 { case 'SqlTablePrefix':
57                                 return 1;
58                         default:
59                                 return 0; }
60         }
61
62         function install() {
63         }
64         
65         function unInstall() {
66         }
67
68         function getEventList() {
69                 return array('QuickMenu');
70         }
71         
72         function hasAdminArea() {
73                 return 1;
74         }
75
76         function init()
77         {
78                 // include language file for this plugin
79                 $language = ereg_replace( '[\\|/]', '', getLanguageName());
80                 if (file_exists($this->getDirectory().$language.'.php'))
81                         include_once($this->getDirectory().$language.'.php');
82                 else
83                         include_once($this->getDirectory().'english.php');
84         }
85         
86         function event_QuickMenu(&$data) {
87                 global $member;
88
89                 // only show to admins
90                 if (!($member->isLoggedIn() && $member->isAdmin())) return;
91
92                 array_push(
93                         $data['options'], 
94                         array(
95                                 'title' => _SKINFILES_TITLE,
96                                 'url' => $this->getAdminURL(),
97                                 'tooltip' => _SKINFILES_TOOLTIP
98                         )
99                 );
100         }
101 }
102
103 ?>