[ Index ] |
|
Code source de XOOPS 2.0.17.1 |
1 <?php 2 // $Id: main.php 2 2005-11-02 18:23:29Z skalpa $ 3 // ------------------------------------------------------------------------ // 4 // XOOPS - PHP Content Management System // 5 // Copyright (c) 2000 XOOPS.org // 6 // <http://www.xoops.org/> // 7 // ------------------------------------------------------------------------ // 8 // This program is free software; you can redistribute it and/or modify // 9 // it under the terms of the GNU General Public License as published by // 10 // the Free Software Foundation; either version 2 of the License, or // 11 // (at your option) any later version. // 12 // // 13 // You may not change or alter any portion of this comment or credits // 14 // of supporting developers from this source code or any supporting // 15 // source code which is considered copyrighted (c) material of the // 16 // original comment or credit authors. // 17 // // 18 // This program is distributed in the hope that it will be useful, // 19 // but WITHOUT ANY WARRANTY; without even the implied warranty of // 20 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // 21 // GNU General Public License for more details. // 22 // // 23 // You should have received a copy of the GNU General Public License // 24 // along with this program; if not, write to the Free Software // 25 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // 26 // ------------------------------------------------------------------------ // 27 // Author: Kazumi Ono (AKA onokazu) // 28 // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // 29 // Project: The XOOPS Project // 30 // ------------------------------------------------------------------------- // 31 32 if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) { 33 exit("Access Denied"); 34 } else { 35 $op = 'list'; 36 if (isset($_POST)) { 37 foreach ( $_POST as $k => $v ) { 38 ${$k} = $v; 39 } 40 } 41 if (isset($_GET['op'])) { 42 $op = trim($_GET['op']); 43 } 44 if ($op == 'list') { 45 xoops_cp_header(); 46 echo '<h4 style="text-align:left">'._MD_AVATARMAN.'</h4>'; 47 $avt_handler =& xoops_gethandler('avatar'); 48 $savatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'S')); 49 $cavatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'C')); 50 echo '<ul><li>'._MD_SYSAVATARS.' ('.sprintf(_NUMIMAGES, '<b>'.$savatar_count.'</b>').') [<a href="admin.php?fct=avatars&op=listavt&type=S">'._LIST.'</a>]</li><li>'._MD_CSTAVATARS.' ('.sprintf(_NUMIMAGES, '<b>'.$cavatar_count.'</b>').') [<a href="admin.php?fct=avatars&op=listavt&type=C">'._LIST.'</a>]</li></ul>'; 51 include_once XOOPS_ROOT_PATH.'/class/xoopsformloader.php'; 52 $form = new XoopsThemeForm(_MD_ADDAVT, 'avatar_form', 'admin.php', "post", true); 53 $form->setExtra('enctype="multipart/form-data"'); 54 $form->addElement(new XoopsFormText(_IMAGENAME, 'avatar_name', 50, 255), true); 55 $form->addElement(new XoopsFormFile(_IMAGEFILE, 'avatar_file', 500000)); 56 $form->addElement(new XoopsFormText(_IMGWEIGHT, 'avatar_weight', 3, 4, 0)); 57 $form->addElement(new XoopsFormRadioYN(_IMGDISPLAY, 'avatar_display', 1, _YES, _NO)); 58 $form->addElement(new XoopsFormHidden('op', 'addfile')); 59 $form->addElement(new XoopsFormHidden('fct', 'avatars')); 60 $form->addElement(new XoopsFormButton('', 'avt_button', _SUBMIT, 'submit')); 61 $form->display(); 62 xoops_cp_footer(); 63 exit(); 64 } 65 66 if ($op == 'listavt') { 67 $avt_handler =& xoops_gethandler('avatar'); 68 xoops_cp_header(); 69 $type = (isset($_GET['type']) && $_GET['type'] == 'C') ? 'C' : 'S'; 70 echo '<a href="admin.php?fct=avatars">'. _MD_AVATARMAN .'</a> <span style="font-weight:bold;">»»</span> '; 71 if ($type == 'S') { 72 echo _MD_SYSAVATARS; 73 } else { 74 echo _MD_CSTAVATARS; 75 } 76 echo '<br /><br />'; 77 $criteria = new Criteria('avatar_type', $type); 78 $avtcount = $avt_handler->getCount($criteria); 79 $start = isset($_GET['start']) ? intval($_GET['start']) : 0; 80 $criteria->setStart($start); 81 $criteria->setLimit(10); 82 $avatars =& $avt_handler->getObjects($criteria, true); 83 if ($type == 'S') { 84 foreach (array_keys($avatars) as $i) { 85 echo '<form action="admin.php" method="post">'; 86 $id = $avatars[$i]->getVar('avatar_id'); 87 echo '<table class="outer" cellspacing="1" width="100%"><tr><td align="center" width="30%" rowspan="6"><img src="'.XOOPS_UPLOAD_URL.'/'.$avatars[$i]->getVar('avatar_file').'" alt="" /></td><td class="head">'._IMAGENAME,'</td><td class="even"><input type="hidden" name="avatar_id[]" value="'.$id.'" /><input type="text" name="avatar_name[]" value="'.$avatars[$i]->getVar('avatar_name', 'E').'" size="20" maxlength="255" /></td></tr><tr><td class="head">'._IMAGEMIME.'</td><td class="odd">'.$avatars[$i]->getVar('avatar_mimetype').'</td></tr><tr><td class="head">'._MD_USERS.'</td><td class="even">'.$avatars[$i]->getUserCount().'</td></tr><tr><td class="head">'._IMGWEIGHT.'</td><td class="odd"><input type="text" name="avatar_weight[]" value="'.$avatars[$i]->getVar('avatar_weight').'" size="3" maxlength="4" /></td></tr><tr><td class="head">'._IMGDISPLAY.'</td><td class="even"><input type="checkbox" name="avatar_display[]" value="1"'; 88 if ($avatars[$i]->getVar('avatar_display') == 1) { 89 echo ' checked="checked"'; 90 } 91 echo ' /></td></tr><tr><td class="head"> </td><td class="even"><a href="admin.php?fct=avatars&op=delfile&avatar_id='.$id.'">'._DELETE.'</a></td></tr></table><br />'; 92 } 93 } else { 94 foreach (array_keys($avatars) as $i) { 95 echo '<table cellspacing="1" class="outer" width="100%"><tr><td width="30%" rowspan="6" align="center"><img src="'.XOOPS_UPLOAD_URL.'/'.$avatars[$i]->getVar('avatar_file').'" alt="" /></td><td class="head">'._IMAGENAME,'</td><td class="even"><a href="'.XOOPS_URL.'/userinfo.php?uid='; 96 $userids =& $avt_handler->getUser($avatars[$i]); 97 echo $userids[0].'">'.$avatars[$i]->getVar('avatar_name').'</a></td></tr><tr><td class="head">'._IMAGEMIME.'</td><td class="odd">'.$avatars[$i]->getVar('avatar_mimetype').'</td></tr><tr><td class="head"> </td><td align="center" class="even"><a href="admin.php?fct=avatars&op=delfile&avatar_id='.$avatars[$i]->getVar('avatar_id').'&user_id='.$userids[0].'">'._DELETE.'</a></td></tr></table><br />'; 98 } 99 } 100 if ($avtcount > 0) { 101 if ($avtcount > 10) { 102 include_once XOOPS_ROOT_PATH.'/class/pagenav.php'; 103 $nav = new XoopsPageNav($avtcount, 10, $start, 'start', 'fct=avatars&type='.$type.'&op=listavt'); 104 echo '<div style="text-align:right;">'.$nav->renderImageNav().'</div>'; 105 } 106 if ($type == 'S') { 107 echo '<div style="text-align:center;"><input type="hidden" name="op" value="save" /><input type="hidden" name="fct" value="avatars" /><input type="submit" name="submit" value="'._SUBMIT.'" />'.$GLOBALS['xoopsSecurity']->getTokenHTML().'</div></form>'; 108 } 109 } 110 xoops_cp_footer(); 111 exit(); 112 } 113 114 if ($op == 'save') { 115 if (!$GLOBALS['xoopsSecurity']->check()) { 116 redirect_header('admin.php?fct=avatars', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); 117 exit(); 118 } 119 $count = count($avatar_id); 120 if ($count > 0) { 121 $avt_handler =& xoops_gethandler('avatar'); 122 $error = array(); 123 for ($i = 0; $i < $count; $i++) { 124 $avatar =& $avt_handler->get($avatar_id[$i]); 125 if (!is_object($avatar)) { 126 $error[] = sprintf(_FAILGETIMG, $avatar_id[$i]); 127 continue; 128 } 129 $avatar_display[$i] = empty($avatar_display[$i]) ? 0 : 1; 130 $avatar->setVar('avatar_display', $avatar_display[$i]); 131 $avatar->setVar('avatar_weight', $avatar_weight[$i]); 132 $avatar->setVar('avatar_name', $avatar_name[$i]); 133 if (!$avt_handler->insert($avatar)) { 134 $error[] = sprintf(_FAILSAVEIMG, $avatar_id[$i]); 135 } 136 unset($avatar_id[$i]); 137 unset($avatar_name[$i]); 138 unset($avatar_weight[$i]); 139 unset($avatar_display[$i]); 140 } 141 if (count($error) > 0) { 142 xoops_cp_header(); 143 foreach ($error as $err) { 144 echo $err.'<br />'; 145 } 146 xoops_cp_footer(); 147 exit(); 148 } 149 } 150 redirect_header('admin.php?fct=avatars',2,_MD_AM_DBUPDATED); 151 } 152 153 if ($op == 'addfile') { 154 if (!$GLOBALS['xoopsSecurity']->check()) { 155 redirect_header('admin.php?fct=avatars', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); 156 exit(); 157 } 158 include_once XOOPS_ROOT_PATH.'/class/uploader.php'; 159 $uploader = new XoopsMediaUploader(XOOPS_UPLOAD_PATH, array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png'), 500000); 160 $uploader->setPrefix('savt'); 161 $err = array(); 162 $ucount = count($_POST['xoops_upload_file']); 163 for ($i = 0; $i < $ucount; $i++) { 164 if ($uploader->fetchMedia($_POST['xoops_upload_file'][$i])) { 165 if (!$uploader->upload()) { 166 $err[] = $uploader->getErrors(); 167 } else { 168 $avt_handler =& xoops_gethandler('avatar'); 169 $avatar =& $avt_handler->create(); 170 $avatar->setVar('avatar_file', $uploader->getSavedFileName()); 171 $avatar->setVar('avatar_name', $avatar_name); 172 $avatar->setVar('avatar_mimetype', $uploader->getMediaType()); 173 $avatar_display = empty($avatar_display) ? 0 : 1; 174 $avatar->setVar('avatar_display', $avatar_display); 175 $avatar->setVar('avatar_weight', $avatar_weight); 176 $avatar->setVar('avatar_type', 'S'); 177 if (!$avt_handler->insert($avatar)) { 178 $err[] = sprintf(_FAILSAVEIMG, $avatar->getVar('avatar_name')); 179 } 180 } 181 } else { 182 $err[] = sprintf(_FAILFETCHIMG, $i); 183 $err = array_merge($err, $uploader->getErrors(false)); 184 } 185 } 186 if (count($err) > 0) { 187 xoops_cp_header(); 188 xoops_error($err); 189 xoops_cp_footer(); 190 exit(); 191 } 192 redirect_header('admin.php?fct=avatars',2,_MD_AM_DBUPDATED); 193 } 194 195 if ($op == 'delfile') { 196 xoops_cp_header(); 197 $user_id = isset($_GET['user_id']) ? intval($_GET['user_id']) : 0; 198 xoops_confirm(array('op' => 'delfileok', 'avatar_id' => intval($_GET['avatar_id']), 'fct' => 'avatars', 'user_id' => $user_id), 'admin.php', _MD_RUDELIMG); 199 xoops_cp_footer(); 200 exit(); 201 } 202 203 if ($op == 'delfileok') { 204 if (!$GLOBALS['xoopsSecurity']->check()) { 205 redirect_header('admin.php?fct=avatars',1, 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); 206 } 207 $avatar_id = intval($avatar_id); 208 if ($avatar_id <= 0) { 209 redirect_header('admin.php?fct=avatars',1); 210 } 211 $avt_handler = xoops_gethandler('avatar'); 212 $avatar =& $avt_handler->get($avatar_id); 213 if (!is_object($avatar)) { 214 redirect_header('admin.php?fct=avatars',1); 215 } 216 if (!$avt_handler->delete($avatar)) { 217 xoops_cp_header(); 218 xoops_error(sprintf(_MD_FAILDEL, $avatar->getVar('avatar_id'))); 219 xoops_cp_footer(); 220 exit(); 221 } 222 $file = $avatar->getVar('avatar_file'); 223 @unlink(XOOPS_UPLOAD_PATH.'/'.$file); 224 if (isset($user_id) && $avatar->getVar('avatar_type') == 'C') { 225 $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif' WHERE uid=".intval($user_id)); 226 } else { 227 $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif' WHERE user_avatar='".$file."'"); 228 } 229 redirect_header('admin.php?fct=avatars',2,_MD_AM_DBUPDATED); 230 } 231 } 232 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Nov 25 11:44:32 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |