|
From: <txm...@us...> - 2015-03-27 09:43:33
|
Revision: 13026
http://sourceforge.net/p/xoops/svn/13026
Author: txmodxoops
Date: 2015-03-27 09:43:23 +0000 (Fri, 27 Mar 2015)
Log Message:
-----------
Modified Paths:
--------------
XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/class/theme.php
Added Paths:
-----------
XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/modules/system/admin/avatars/
XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/modules/system/admin/avatars/main.php
Modified: XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/class/theme.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/class/theme.php 2015-03-26 23:11:44 UTC (rev 13025)
+++ XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/class/theme.php 2015-03-27 09:43:23 UTC (rev 13026)
@@ -280,11 +280,11 @@
'xoops_dirname' => isset($GLOBALS['xoopsModule'])&& is_object($GLOBALS['xoopsModule']) ? $GLOBALS['xoopsModule']->getVar('dirname') : 'system',
'xoops_banner' => ($GLOBALS['xoopsConfig']['banners'] && $this->renderBanner) ? xoops_getbanner() : ' ',
'xoops_pagetitle' => isset($GLOBALS['xoopsModule']) && is_object($GLOBALS['xoopsModule']) ? $GLOBALS['xoopsModule']->getVar('name') : htmlspecialchars($GLOBALS['xoopsConfig']['slogan'], ENT_QUOTES)));
- // From XoopsCore by Timgno
+ // From XoopsCore by Timgno - Added '/assets/' folder
$this->template->assign(array(
'theme_path' => $this->path, 'theme_tpl' => $this->path . '/xotpl', 'theme_url' => $this->url,
- 'theme_img' => $this->url . '/img', 'theme_icons' => $this->url . '/icons',
- 'theme_css' => $this->url . '/css', 'theme_js' => $this->url . '/js',
+ 'theme_img' => $this->url . '/assets/img', 'theme_icons' => $this->url . '/assets/icons',
+ 'theme_css' => $this->url . '/assets/css', 'theme_js' => $this->url . '/assets/js',
'theme_lang' => $this->url . '/language',
));
// --------------------------------------------------------------------
@@ -405,7 +405,6 @@
return true;
}
}
-
return false;
}
Added: XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/modules/system/admin/avatars/main.php
===================================================================
--- XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/modules/system/admin/avatars/main.php (rev 0)
+++ XoopsCore/branches/2.5.x/2.5.8_timgno/htdocs/modules/system/admin/avatars/main.php 2015-03-27 09:43:23 UTC (rev 13026)
@@ -0,0 +1,308 @@
+<?php
+// $Id: main.php 12706 2014-07-13 00:21:21Z beckmi $
+// ------------------------------------------------------------------------ //
+// XOOPS - PHP Content Management System //
+// Copyright (c) 2000-2014 XOOPS Project (www.xoops.org) //
+// <http://www.xoops.org/> //
+// ------------------------------------------------------------------------ //
+// This program is free software; you can redistribute it and/or modify //
+// it under the terms of the GNU General Public License as published by //
+// the Free Software Foundation; either version 2 of the License, or //
+// (at your option) any later version. //
+// //
+// You may not change or alter any portion of this comment or credits //
+// of supporting developers from this source code or any supporting //
+// source code which is considered copyrighted (c) material of the //
+// original comment or credit authors. //
+// //
+// This program is distributed in the hope that it will be useful, //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
+// GNU General Public License for more details. //
+// //
+// You should have received a copy of the GNU General Public License //
+// along with this program; if not, write to the Free Software //
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
+// ------------------------------------------------------------------------ //
+// Author: Kazumi Ono (AKA onokazu) //
+// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //
+// Project: The XOOPS Project //
+// ------------------------------------------------------------------------- //
+
+// Check users rights
+if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) exit( _NOPERM );
+// Check is active
+if ( !xoops_getModuleOption('active_avatars', 'system') ) redirect_header( 'admin.php', 2, _AM_SYSTEM_NOTACTIVE );
+// Get Action type
+$op = system_CleanVars ( $_REQUEST, 'op', 'list', 'string' );
+
+switch ($op) {
+
+ case 'list': default:
+ // Define main template
+ $xoopsOption['template_main'] = 'system_avatars.html';
+ // Call Header
+ xoops_cp_header();
+ // Define Stylesheet
+ $xoTheme->addStylesheet( XOOPS_URL . '/modules/system/css/admin.css' );
+ $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.min.js');
+ $xoTheme->addScript('modules/system/js/admin.js');
+ // Define Breadcrumb and tips
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_MANAGER, system_adminVersion('avatars', 'adminpath') );
+ $xoBreadCrumb->addHelp( system_adminVersion('avatars', 'help') );
+ $xoBreadCrumb->addTips( _AM_SYSTEM_AVATAR_TIPS );
+ $xoBreadCrumb->render();
+ // Get avatar handler
+ $avt_handler =& xoops_getmodulehandler('avatar');
+ // Get User Config
+ $config_handler =& xoops_gethandler('config');
+ $xoopsConfigUser = $config_handler->getConfigsByCat( XOOPS_CONF_USER );
+ // User language
+ xoops_loadLanguage('user');
+ // Count avatars
+ $savatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'S'));
+ $cavatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'C'));
+ // Assign Template variables
+ $xoopsTpl->assign( 'view_cat', true );
+ $xoopsTpl->assign( 'count_system', $savatar_count );
+ $xoopsTpl->assign( 'count_custom', $cavatar_count );
+ // Create form
+ $avatar = $avt_handler->create();
+ $form = $avatar->getForm();
+ // Assign form
+ $xoopsTpl->assign('form', $form->render());
+ // Call Footer
+ xoops_cp_footer();
+ break;
+
+ case 'listavt':
+ // Get Avatar type
+ $type = system_CleanVars ( $_REQUEST, 'type', 'c', 'string' );
+ $start = system_CleanVars ( $_REQUEST, 'start', 0, 'int' );
+ // Define main template
+ $xoopsOption['template_main'] = 'system_avatars.html';
+ // Call Header
+ xoops_cp_header();
+ // Define Stylesheet
+ $xoTheme->addStylesheet( XOOPS_URL . '/modules/system/css/admin.css');
+ // Define scripts
+ $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.min.js');
+ $xoTheme->addScript('modules/system/js/admin.js');
+ // Define Breadcrumb and tips
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_MANAGER, system_adminVersion('avatars', 'adminpath') );
+ $xoBreadCrumb->addLink( ( $type == 's' ? _AM_SYSTEM_AVATAR_SYSTEM : _AM_SYSTEM_AVATAR_CUSTOM ) );
+ $xoBreadCrumb->addHelp( system_adminVersion('avatars', 'help') . '#' . $type );
+ $xoBreadCrumb->addTips( _AM_SYSTEM_AVATAR_TIPS );
+ $xoBreadCrumb->render();
+ // Get avatar handler
+ $avt_handler =& xoops_gethandler('avatar');
+ // Count avatars
+ $savatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'S'));
+ $cavatar_count = $avt_handler->getCount(new Criteria('avatar_type', 'C'));
+ // Assign Template variables
+ $xoopsTpl->assign( 'type', $type);
+ $xoopsTpl->assign( 'count_system', $savatar_count );
+ $xoopsTpl->assign( 'count_custom', $cavatar_count );
+ // Filter avatars
+ $criteria = new Criteria('avatar_type', $type);
+ $avtcount = $avt_handler->getCount($criteria);
+ // Get avatar list
+ $criteria->setStart($start);
+ $criteria->setLimit( xoops_getModuleOption('avatars_pager', 'system'));
+ $avatars = $avt_handler->getObjects($criteria, true);
+ // Construct avatars array
+ $avatar_list = array();
+ $i=0;
+ foreach (array_keys($avatars) as $i) {
+ $avatar_list[$i] = $avatars[$i]->toArray();
+ $avatar_list[$i]['type'] = $type;
+ $avatar_list[$i]['count'] = count($avt_handler->getUser($avatars[$i]));
+ if($type == 'c') {
+ $user = $avt_handler->getUser($avatars[$i]);
+ if(is_array($user) && isset($user[0])) $avatar_list[$i]['user'] = $user[0];
+ }
+ }
+ $xoopsTpl->assign('avatars_list', $avatar_list);
+ // Display Page Navigation
+ if ( $avtcount > xoops_getModuleOption('avatars_pager') ) {
+ $nav = new XoopsPageNav($avtcount, xoops_getModuleOption('avatars_pager', 'system'), $start, 'start', 'fct=avatars&type=' . $type . '&op=listavt');
+ $xoopsTpl->assign('nav_menu', $nav->renderNav());
+ }
+ // Call Footer
+ xoops_cp_footer();
+ break;
+
+ case 'edit':
+ // Define main template
+ $xoopsOption['template_main'] = 'system_avatars.html';
+ // Call Header
+ xoops_cp_header();
+ // Define Stylesheet
+ $xoTheme->addStylesheet( XOOPS_URL . '/modules/system/css/admin.css');
+ // Define Breadcrumb and tips
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_MANAGER, system_adminVersion('avatars', 'adminpath') );
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_EDIT );
+ $xoBreadCrumb->addHelp( system_adminVersion('avatars', 'help') . '#edit' );
+ $xoBreadCrumb->addTips( _AM_SYSTEM_AVATAR_TIPS );
+ $xoBreadCrumb->render();
+ // User language
+ xoops_loadLanguage('user');
+ // Get avatar handler
+ $avt_handler =& xoops_getmodulehandler('avatar');
+ $avatar_id = system_CleanVars ( $_REQUEST, 'avatar_id', 0, 'int' );
+ if ( $avatar_id > 0 ) {
+ $avatar = $avt_handler->get( $avatar_id );
+ // Create form
+ $form = $avatar->getForm();
+ // Assign form
+ $xoopsTpl->assign('form', $form->render());
+ } else {
+ redirect_header('admin.php?fct=avatars', 1, _AM_SYSTEM_DBERROR);
+ }
+ // Call Footer
+ xoops_cp_footer();
+ break;
+
+ case 'save':
+ // Check security
+ if ( !$GLOBALS['xoopsSecurity']->check() ) {
+ redirect_header( 'admin.php?fct=avatars', 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors() ) );
+ exit();
+ }
+ $config_handler =& xoops_gethandler( 'config' );
+ $xoopsConfigUser = $config_handler->getConfigsByCat( XOOPS_CONF_USER );
+ // Upload class
+ include_once $GLOBALS['xoops']->path( '/class/uploader.php' );
+
+ $uploader = new XoopsMediaUploader( XOOPS_UPLOAD_PATH . '/avatars', array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png'), $xoopsConfigUser['avatar_maxsize'], $xoopsConfigUser['avatar_width'], $xoopsConfigUser['avatar_height']);
+ // Get avatar handler
+ $avt_handler =& xoops_gethandler('avatar');
+ // Get avatar id
+ $avatar_id = system_CleanVars ( $_POST, 'avatar_id', 0, 'int' );
+ if ( $avatar_id > 0 ) {
+ $avatar =& $avt_handler->get( $avatar_id );
+ } else {
+ $avatar =& $avt_handler->create();
+ }
+ $err = array();
+ if ($uploader->fetchMedia('avatar_file')) {
+ $uploader->setPrefix('savt');
+ if (!$uploader->upload()) {
+ $err[] = $uploader->getErrors();
+ } else {
+ $avatar->setVars( $_POST );
+ $avatar->setVar('avatar_file', 'avatars/' . $uploader->getSavedFileName() );
+ $avatar->setVar('avatar_mimetype', $uploader->getMediaType());
+ $avatar->setVar('avatar_type', 's');
+ if (!$avt_handler->insert($avatar)) {
+ $err[] = sprintf(_FAILSAVEIMG, $avatar->getVar('avatar_name') );
+ }
+ }
+ } else {
+ $file = system_CleanVars ( $_REQUEST, 'avatar_file', 'blank.gif', 'string' );
+ $avatar->setVars($_REQUEST);
+ $avatar->setVar('avatar_file', 'avatars/' . $file);
+ if (!$avt_handler->insert($avatar)) {
+ $err[] = sprintf(_FAILSAVEIMG, $avatar->getVar('avatar_name'));
+ }
+ }
+ if (count($err) > 0) {
+ // Define main template
+ $xoopsOption['template_main'] = 'system_header.html';
+ // Call header
+ xoops_cp_header();
+ // Define Stylesheet
+ $xoTheme->addStylesheet( XOOPS_URL . '/modules/system/css/admin.css' );
+ // Define Breadcrumb and tips
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_MANAGER, system_adminVersion('avatars', 'adminpath') );
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_ERROR );
+ $xoBreadCrumb->render();
+ // Dsiplay errors
+ xoops_error( $err );
+ // Call Footer
+ xoops_cp_footer();
+ exit();
+ }
+ redirect_header( 'admin.php?fct=avatars', 2, _AM_SYSTEM_DBUPDATED );
+ break;
+
+ case 'display':
+ // Get avatar handler
+ $avt_handler =& xoops_gethandler('avatar');
+ // Get avatar id
+ $avatar_id = system_CleanVars ( $_POST, 'avatar_id', 0, 'int' );
+ if ( $avatar_id > 0 ) {
+ // Get avatar
+ $avatar =& $avt_handler->get( $avatar_id );
+ $old = $avatar->getVar('avatar_display');
+ // Set value
+ $avatar->setVar('avatar_display', !$old );
+ if (!$avt_handler->insert($avatar)) {
+ $error=true;
+ }
+ }
+ break;
+
+ case 'delfile':
+ // Define main template
+ $xoopsOption['template_main'] = 'system_avatars.html';
+ // Call Header
+ xoops_cp_header();
+ // Define Stylesheet
+ $xoTheme->addStylesheet( XOOPS_URL . '/modules/system/css/admin.css');
+ // Define Breadcrumb and tips
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_MANAGER, system_adminVersion('avatars', 'adminpath') );
+ $xoBreadCrumb->addLink( _AM_SYSTEM_AVATAR_DELETE );
+ $xoBreadCrumb->addHelp( system_adminVersion('avatars', 'help') . '#delete' );
+ $xoBreadCrumb->render();
+ // Get variables
+ $user_id = system_CleanVars ( $_REQUEST, 'user_id', 0, 'int' );
+ $avatar_id = system_CleanVars ( $_REQUEST, 'avatar_id', 0, 'int' );
+ // Get avatar handler
+ $avt_handler =& xoops_gethandler('avatar');
+ if ( $avatar_id > 0 ) {
+ $avatar = $avt_handler->get($avatar_id);
+ $msg = '<div class="spacer"><img src="' . XOOPS_UPLOAD_URL . '/' . $avatar->getVar('avatar_file','s') . '" alt="" /></div><div class="txtcenter bold">' . $avatar->getVar('avatar_name', 's') . '</div>' . _AM_SYSTEM_AVATAR_SUREDEL;
+ // Display message
+ xoops_confirm(array('op' => 'delfileok', 'avatar_id' => $avatar_id, 'fct' => 'avatars', 'user_id' => $user_id), 'admin.php', $msg );
+ } else {
+ redirect_header('admin.php?fct=avatars', 1, _AM_SYSTEM_DBERROR);
+ }
+ // Call footer
+ xoops_cp_footer();
+ break;
+
+ case 'delfileok':
+ if (!$GLOBALS['xoopsSecurity']->check()) {
+ redirect_header('admin.php?fct=avatars',1, 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors()));
+ }
+ $avatar_id = system_CleanVars ( $_POST, 'avatar_id', 0, 'int' );
+ if ($avatar_id <= 0) {
+ redirect_header('admin.php?fct=avatars', 1, _AM_SYSTEM_DBERROR);
+ }
+ $avt_handler = xoops_gethandler('avatar');
+ $avatar =& $avt_handler->get( $avatar_id );
+ if ( !is_object( $avatar ) ) {
+ redirect_header('admin.php?fct=avatars', 1, _AM_SYSTEM_DBERROR);
+ }
+ if (!$avt_handler->delete( $avatar )) {
+ // Call Header
+ xoops_cp_header();
+ // Display errors
+ xoops_error( sprintf( _AM_SYSTEM_AVATAR_FAILDEL, $avatar->getVar('avatar_id') ) );
+ // Call Footer
+ xoops_cp_footer();
+ exit();
+ }
+ $file = $avatar->getVar('avatar_file');
+ // Delete file
+ @unlink(XOOPS_UPLOAD_PATH.'/'.$file);
+ // Update member profil
+ if (isset($user_id) && $avatar->getVar('avatar_type') == 'C') {
+ $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif' WHERE uid=".intval($user_id));
+ } else {
+ $xoopsDB->query("UPDATE ".$xoopsDB->prefix('users')." SET user_avatar='blank.gif' WHERE user_avatar='".$file."'");
+ }
+ redirect_header( 'admin.php?fct=avatars', 2, _AM_SYSTEM_DBUPDATED );
+ break;
+}
|