|
From: <be...@us...> - 2013-02-07 08:50:06
|
Revision: 11004
http://sourceforge.net/p/xoops/svn/11004
Author: beckmi
Date: 2013-02-07 08:49:53 +0000 (Thu, 07 Feb 2013)
Log Message:
-----------
Adding RMCommon files
Added Paths:
-----------
RMC/rmcommon/trunk/rmcommon/admin_loader.php
RMC/rmcommon/trunk/rmcommon/blocks.php
RMC/rmcommon/trunk/rmcommon/comments.php
RMC/rmcommon/trunk/rmcommon/images.php
RMC/rmcommon/trunk/rmcommon/index.php
RMC/rmcommon/trunk/rmcommon/loader.php
RMC/rmcommon/trunk/rmcommon/menu.php
RMC/rmcommon/trunk/rmcommon/modules.php
RMC/rmcommon/trunk/rmcommon/plugins.php
RMC/rmcommon/trunk/rmcommon/post_comment.php
RMC/rmcommon/trunk/rmcommon/preloads/
RMC/rmcommon/trunk/rmcommon/preloads/core.php
RMC/rmcommon/trunk/rmcommon/rss.php
RMC/rmcommon/trunk/rmcommon/sql/
RMC/rmcommon/trunk/rmcommon/sql/mysql.sql
RMC/rmcommon/trunk/rmcommon/templates/
RMC/rmcommon/trunk/rmcommon/templates/ajax/
RMC/rmcommon/trunk/rmcommon/templates/ajax/rmc_files_list.php
RMC/rmcommon/trunk/rmcommon/templates/ajax/rmc_updates_list.php
RMC/rmcommon/trunk/rmcommon/templates/blocks/
RMC/rmcommon/trunk/rmcommon/templates/blocks/rmc_bk_comments.html
RMC/rmcommon/trunk/rmcommon/templates/categories_form.php
RMC/rmcommon/trunk/rmcommon/templates/editor_image.php
RMC/rmcommon/trunk/rmcommon/templates/form_users.php
RMC/rmcommon/trunk/rmcommon/templates/forms.php
RMC/rmcommon/trunk/rmcommon/templates/images_categories.php
RMC/rmcommon/trunk/rmcommon/templates/images_edit.php
RMC/rmcommon/trunk/rmcommon/templates/images_images.php
RMC/rmcommon/trunk/rmcommon/templates/images_list_editor.php
RMC/rmcommon/trunk/rmcommon/templates/images_uploadimages.php
RMC/rmcommon/trunk/rmcommon/templates/navigation_pages.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_block_form.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_blocks.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_breadcrumb.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_comments.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_comments_display.html
RMC/rmcommon/trunk/rmcommon/templates/rmc_comments_form.html
RMC/rmcommon/trunk/rmcommon/templates/rmc_dashboard.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_header.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_mod_log.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_mod_preinstall.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_mods_installed.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_modules.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_plugins.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_rss.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_rss_center.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_updates.php
RMC/rmcommon/trunk/rmcommon/templates/rmc_users.php
RMC/rmcommon/trunk/rmcommon/templates/uploadify.js.php
RMC/rmcommon/trunk/rmcommon/templates/widgets/
RMC/rmcommon/trunk/rmcommon/templates/widgets/rmc_aw_bknew.php
RMC/rmcommon/trunk/rmcommon/templates/widgets/rmc_aw_posnew.php
RMC/rmcommon/trunk/rmcommon/themes/
RMC/rmcommon/trunk/rmcommon/themes/designia/
RMC/rmcommon/trunk/rmcommon/themes/designia/admin_gui.php
RMC/rmcommon/trunk/rmcommon/themes/designia/ajax/
RMC/rmcommon/trunk/rmcommon/themes/designia/ajax/about.php
RMC/rmcommon/trunk/rmcommon/themes/designia/ajax/modules.php
RMC/rmcommon/trunk/rmcommon/themes/designia/class/
RMC/rmcommon/trunk/rmcommon/themes/designia/class/designiafunctions.class.php
RMC/rmcommon/trunk/rmcommon/themes/designia/css/
RMC/rmcommon/trunk/rmcommon/themes/designia/css/colors-blue.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/colors-peaceful.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/colors.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/debugger.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/form-and-buttons.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/jqtransform.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/jquery.mCustomScrollbar.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/jquery.window.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/main-red.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/main.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/menu.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/reset.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/designia/css/rmcommon/dashboard.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/rmcommon/general.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/rmcommon/modules.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/rmcommon/pagenav.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/settings.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/system-messages.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/tpl.css
RMC/rmcommon/trunk/rmcommon/themes/designia/css/tsort.css
RMC/rmcommon/trunk/rmcommon/themes/designia/designia.php
RMC/rmcommon/trunk/rmcommon/themes/designia/events/
RMC/rmcommon/trunk/rmcommon/themes/designia/events/rmcommon.php
RMC/rmcommon/trunk/rmcommon/themes/designia/images/
RMC/rmcommon/trunk/rmcommon/themes/designia/images/arrows-ffffff.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/asc.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/bg.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/bggrad.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/bginputs.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/blocks.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/blog.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/bullet_green.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/buttons.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/cancel.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/close.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/closeb.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/closed.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/colors.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/coms.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/dashboard.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/data.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/desc.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/designia.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/disable.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/edit.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/enable.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/error_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/face.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/gals.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/help.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/info.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/info_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/loading.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/logab.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/logo.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/mainbg.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/module16.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/module32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/module48.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/bxpress.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/docs.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/dtransport.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/extcal.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/fmcontent.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/mywords.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/news.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/pm.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/profile.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/protector.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/rmcommon.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules/system.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/modules.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/msg_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/navoverlay.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/navoverlay1.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/navoverlayv.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/ok_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/open.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/overlay.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/plugins.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/preload.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/profile.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/rename.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/save.gif
RMC/rmcommon/trunk/rmcommon/themes/designia/images/save_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/settings.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/shadow.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/shots/
RMC/rmcommon/trunk/rmcommon/themes/designia/images/shots/colors-blue.jpg
RMC/rmcommon/trunk/rmcommon/themes/designia/images/shots/colors-peaceful.jpg
RMC/rmcommon/trunk/rmcommon/themes/designia/images/shots/colors.jpg
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/digg.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/facebook.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/flickr.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/linkedin.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/myspace.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/rss.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/skype.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/tumblr.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/twitter.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/vimeo.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/wordpress.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/social/youtube.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/system.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/twitter.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/uninstall.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/update.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/view.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/warning_32.png
RMC/rmcommon/trunk/rmcommon/themes/designia/images/xoops.png
RMC/rmcommon/trunk/rmcommon/themes/designia/include/
RMC/rmcommon/trunk/rmcommon/themes/designia/include/modules.php
RMC/rmcommon/trunk/rmcommon/themes/designia/include/settings.php
RMC/rmcommon/trunk/rmcommon/themes/designia/include/sorter.inc
RMC/rmcommon/trunk/rmcommon/themes/designia/include/xoops_metas.php
RMC/rmcommon/trunk/rmcommon/themes/designia/js/
RMC/rmcommon/trunk/rmcommon/themes/designia/js/designia.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/hoverIntent.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.bgiframe.min.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.easing.1.3.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.jqtransform.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.mCustomScrollbar.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.mousewheel.min.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.tablesorter.min.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/jquery.window.min.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/designia/js/rmcommon/include/
RMC/rmcommon/trunk/rmcommon/themes/designia/js/rmcommon/include/modules.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/superfish.js
RMC/rmcommon/trunk/rmcommon/themes/designia/js/supersubs.js
RMC/rmcommon/trunk/rmcommon/themes/designia/lang/
RMC/rmcommon/trunk/rmcommon/themes/designia/lang/en.po
RMC/rmcommon/trunk/rmcommon/themes/designia/lang/en.pot
RMC/rmcommon/trunk/rmcommon/themes/designia/lang/es.mo
RMC/rmcommon/trunk/rmcommon/themes/designia/lang/es.po
RMC/rmcommon/trunk/rmcommon/themes/designia/modules/
RMC/rmcommon/trunk/rmcommon/themes/designia/modules/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/designia/modules/rmcommon/navigation_pages.php
RMC/rmcommon/trunk/rmcommon/themes/designia/modules/rmcommon/rmc_modules.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/
RMC/rmcommon/trunk/rmcommon/themes/twop6/admin_gui.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/ajax/
RMC/rmcommon/trunk/rmcommon/themes/twop6/ajax/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/ajax/modules.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/class/
RMC/rmcommon/trunk/rmcommon/themes/twop6/class/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/class/twop6functions.class.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/2.6.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/bootstrap-responsive.min.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/bootstrap.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/bootstrap.min.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/font-awesome-ie7.min.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/font-awesome.min.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/colorpicker.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/dashboard.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/imgmgr.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/css/rmcommon/modules.css
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/FontAwesome.otf
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/fontawesome-webfont.eot
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/fontawesome-webfont.svg
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/fontawesome-webfont.ttf
RMC/rmcommon/trunk/rmcommon/themes/twop6/font/fontawesome-webfont.woff
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/cancel.gif
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/closed.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/down.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/edit.gif
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/glyphicons-halflings-white.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/glyphicons-halflings.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/loader.gif
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/logo.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/modules/
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/open.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/save.gif
RMC/rmcommon/trunk/rmcommon/themes/twop6/images/xo-icons.png
RMC/rmcommon/trunk/rmcommon/themes/twop6/include/
RMC/rmcommon/trunk/rmcommon/themes/twop6/include/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/include/modules.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/include/xoops_metas.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/2.6.js
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/bootstrap.min.js
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/rmcommon/include/
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/rmcommon/include/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/rmcommon/include/modules.js
RMC/rmcommon/trunk/rmcommon/themes/twop6/js/rmcommon/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/lang/
RMC/rmcommon/trunk/rmcommon/themes/twop6/lang/en.po
RMC/rmcommon/trunk/rmcommon/themes/twop6/lang/es.mo
RMC/rmcommon/trunk/rmcommon/themes/twop6/lang/es.po
RMC/rmcommon/trunk/rmcommon/themes/twop6/lang/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/rmcommon/
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/rmcommon/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/rmcommon/navigation_pages.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/rmcommon/rmc_dashboard.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/rmcommon/rmc_modules.php
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/system/
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/system/index.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/modules/system/system_modules.html
RMC/rmcommon/trunk/rmcommon/themes/twop6/theme.php
RMC/rmcommon/trunk/rmcommon/updates.php
RMC/rmcommon/trunk/rmcommon/users.php
RMC/rmcommon/trunk/rmcommon/xoops_version.php
Added: RMC/rmcommon/trunk/rmcommon/admin_loader.php
===================================================================
--- RMC/rmcommon/trunk/rmcommon/admin_loader.php (rev 0)
+++ RMC/rmcommon/trunk/rmcommon/admin_loader.php 2013-02-07 08:49:53 UTC (rev 11004)
@@ -0,0 +1,38 @@
+<?php
+// $Id: admin_loader.php 825 2011-12-09 00:06:11Z i.bitcero $
+// --------------------------------------------------------------
+// Red México Common Utilities
+// A framework for Red México Modules
+// Author: Eduardo Cortés <i.b...@gm...>
+// Email: i.b...@gm...
+// License: GPL 2.0
+// --------------------------------------------------------------
+
+/**
+* Admin loader file
+*/
+
+//require_once 'loader.php';
+
+// Usefull admin clases
+$tpl = RMTemplate::get();
+
+$rmc_config = RMFunctions::get()->configs();
+$rmc_theme = isset($rmc_config['theme']) ? $rmc_config['theme'] : 'designia';
+
+if (!file_exists(RMCPATH.'/themes/'.$rmc_theme.'/admin_gui.php')){
+ $rmc_theme = 'default';
+}
+
+RMTemplate::get()->add_style('general.css','rmcommon');
+
+define('RMTHEMEPATH', RMCPATH.'/themes/'.$rmc_theme);
+define('RMTHEMEURL', RMCURL.'/themes/'.$rmc_theme);
+
+// Load theme events
+RMEvents::get()->load_extra_preloads(RMTHEMEPATH, ucfirst($rmc_theme).'Theme');
+
+header ("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
+header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+header ("Cache-Control: no-cache, must-revalidate");
+header ("Pragma: no-cache");
Added: RMC/rmcommon/trunk/rmcommon/blocks.php
===================================================================
--- RMC/rmcommon/trunk/rmcommon/blocks.php (rev 0)
+++ RMC/rmcommon/trunk/rmcommon/blocks.php 2013-02-07 08:49:53 UTC (rev 11004)
@@ -0,0 +1,359 @@
+<?php
+// $Id: blocks.php 952 2012-05-06 23:23:46Z i.bitcero $
+// --------------------------------------------------------------
+// Red México Common Utilities
+// A framework for Red México Modules
+// Author: Eduardo Cortés <i.b...@gm...>
+// Email: i.b...@gm...
+// License: GPL 2.0
+// --------------------------------------------------------------
+
+define('RMCLOCATION','blocks');
+include '../../include/cp_header.php';
+
+function createSQL()
+{
+ $mid = isset($_GET['mid']) ? intval($_GET['mid']) : 0;
+ $subpage = isset($_GET['subpage']) ? $_GET['subpage'] : '';
+ $group = isset($_GET['group']) ? intval($_GET['group']) : 0;
+ $visible = isset($_GET['visible']) ? intval($_GET['visible']) : -1;
+ $pos = isset($_GET['pos']) ? intval($_GET['pos']) : -1;
+
+ $wid_globals = array(
+ 'mid'=>$mid,
+ 'subpage'=>$subpage,
+ 'group'=>$group,
+ 'visible'=>$visible
+ );
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+
+ // Obtenemos los widgets
+ $tblw = $db->prefix("rmc_blocks");
+ $tbll = $db->prefix("rmc_bkmod");
+ $tblp = $db->prefix("group_permission");
+
+ $sql = "SELECT $tblw.* FROM $tblw ".($subpage!='' || $mid>0 ? ", $tbll" : '').($group > 0 ? ", $tblp" : '');
+
+ $and = false;
+
+ if ($mid>0){
+ $sql .= " WHERE ($tbll.mid='$mid' AND $tblw.bid=$tbll.bid ".($subpage!='' ? " AND $tbll.subpage='$subpage'" : '').") ";
+ $and = true;
+ }
+
+ if ($group>0){
+ $sql .= $and ? " AND " : " WHERE ";
+ $sql .= " ($tblp.gperm_itemid=$tblw.bid AND $tblp.gperm_name='rmblock_read' AND $tblp.gperm_groupid='$group')";
+ }
+
+ if ($pos>0){
+ $sql .= $and ? " AND " : ' WHERE ';
+ $sql .= " $tblw.canvas='$pos'";
+ $and = true;
+ }
+
+ if($visible>-1){
+ $sql .= $and ? " AND " : " WHERE ";
+ $sql .= " $tblw.visible=$visible";
+ $and = true;
+ }
+
+ $sql .= " ORDER BY weight";
+
+ return $sql;
+
+}
+
+function show_rm_blocks()
+{
+ global $xoopsModule, $xoopsConfig, $wid_globals, $xoopsSecurity, $rmc_config;
+ define('RMCSUBLOCATION','blocks');
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+
+ $modules = RMFunctions::get_modules_list(1);
+
+ // ** API Event **
+ // Allows other methods to add o modify the list of available widgets
+ $modules = RMEvents::get()->run_event('rmcommon.blocks.modules', $modules);
+
+ // Cargamos los grupos
+ $sql = "SELECT groupid, name FROM " . $db->prefix("groups") . " ORDER BY name";
+ $result = $db->query($sql);
+ $groups = array();
+ while ($row = $db->fetchArray($result)) {
+ $groups[] = array('id' => $row['groupid'], 'name' => $row['name']);
+ }
+
+ // Cargamos las posiciones de bloques
+ $bpos = RMBlocksFunctions::block_positions();
+
+ $sql = createSQL();
+ $result = $db->query($sql);
+ $blocks = array();
+ $used_blocks = array();
+ while ($row = $db->fetchArray($result)) {
+ $mod = RMFunctions::load_module($row['element']);
+ if(!$mod) continue;
+ $used_blocks[] = array(
+ 'id' => $row['bid'],
+ 'title' => $row['name'],
+ 'module' => array('id' => $mod->mid(), 'dir' => $mod->dirname(), 'name' => $mod->name()),
+ 'canvas' => $bpos[$row['canvas']],
+ 'weight' => $row['weight'],
+ 'visible'=>$row['visible'],
+ 'active'=>$row['isactive'],
+ 'type'=>$row['type'],
+ 'options'=>$row['edit_func']!='' ? 1 : 0,
+ 'description'=>$row['description']
+ );
+ }
+
+ // ** API **
+ // Event for manege the used widgets list
+ $used_blocks = RMEvents::get()->run_event('rmcommon.used.blocks.list', $used_blocks);
+
+ $positions = array();
+ foreach ($bpos as $row){
+ $positions[] = array(
+ 'id' => $row['id_position'],
+ 'name' => $row['name'],
+ 'tag' => $row['tag'],
+ 'active' => $row['active']
+ );
+ }
+
+ $positions = RMEvents::get()->run_event('rmcommon.block.positions.list', $positions);
+
+ if(rmc_server_var($_REQUEST, 'pos', '')!=''){
+ RMTemplate::get()->add_local_script('jquery.sort.js', 'rmcommon', 'include');
+ }
+
+ xoops_cp_location('<a href="./">' . $xoopsModule->getVar('name') .
+ '</a> » ' . __('Blocks','rmcommon'));
+ RMTemplate::get()->add_style('blocks.css', 'rmcommon');
+ RMTemplate::get()->add_local_script('blocks.js', 'rmcommon', 'include');
+ RMTemplate::get()->add_local_script('jkmenu.js', 'rmcommon', 'include');
+ RMTemplate::get()->add_style('forms.css', 'rmcommon');
+ RMTemplate::get()->add_local_script('jquery-ui.min.js', 'rmcommon', 'include');
+
+ if(!$rmc_config['blocks_enable']){
+ showMessage(__('Internal blocks manager is currenlty disabled!','rmcommon'), 0);
+ }
+
+ RMTemplate::get()->add_local_script('jquery.checkboxes.js','rmcommon','include');
+ RMTemplate::get()->add_head('<script type="text/javascript">var bks_message = "'.__('Do you really wish to delete selected items?','rmcommon').'";
+ var bks_select_message = "'.__('Select at least one item to delete it!','rmcommon').'";
+ var lang_save = "'.__('Save','rmcommon').'";
+ var lang_cancel = "'.__('Cancel','rmcommon').'";
+ var lang_positions = "'.__('Show Positions','rmcommon').'";
+ var lang_blocks = "'.__('Show Blocks','rmcommon').'";</script>');
+
+ RMFunctions::create_toolbar();
+
+ xoops_cp_header();
+
+ // Available Widgets
+
+ $blocks = RMBlocksFunctions::get_available_list($modules);
+
+ foreach($blocks as $id => $block){
+ if(empty($block['blocks'])) continue;
+ foreach($block['blocks'] as $bid => $val){
+ $str = isset($val['show_func']) ? $val['show_func'] : '';
+ $str .= isset($val['edit_func']) ? $val['edit_func'] : '';
+ $str .= isset($val['dir']) ? $val['dir'] : $id;
+ $val['id'] = md5($str);
+ $blocks[$id]['blocks'][$bid] = $val;
+ }
+ }
+
+ // Position
+ $the_position = isset($_GET['pos']) ? intval($_GET['pos']) : '';
+
+ // Parameters
+ $mid = rmc_server_var($_GET,'mid',0);
+ $subpage = isset($_GET['subpage']) ? $_GET['subpage'] : '';
+ $group = isset($_GET['group']) ? intval($_GET['group']) : 0;
+ $visible = rmc_server_var($_GET,'visible',-1);
+ $pid = rmc_server_var($_GET,'pos',0);
+
+ include RMTemplate::get()->get_template("rmc_blocks.php", 'module', 'rmcommon');
+
+ xoops_cp_footer();
+}
+
+/**
+* Save the current positions
+*/
+function save_position($edit = 0){
+ global $xoopsSecurity;
+
+ if (!$xoopsSecurity->check()){
+ redirectMsg('blocks.php', __('You are not allowed to do this action!','rmcommon'), 1);
+ die();
+ }
+
+ $name = rmc_server_var($_POST, 'posname', '');
+ $tag = rmc_server_var($_POST, 'postag', '');
+
+ if($name=='' || $tag==''){
+ redirectMsg(__('Please provide a name and tag for this new position!','rmcommon'));
+ die();
+ }
+
+ if($edit){
+
+ $id = rmc_server_var($_POST, 'id', '');
+ if($id<=0)
+ redirectMsg('blocks.php',__('You must specify a valid position ID!','rmcommon'), 1);
+
+ $pos = new RMBlockPosition($id);
+ if($pos->isNew())
+ redirectMsg('blocks.php', __('Specified position does not exists!','rmcommon'), 1);
+
+ } else {
+ $pos = new RMBlockPosition();
+ }
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+
+ $pos->setVar('name',$name);
+ $pos->setVar('tag',$tag);
+ $pos->setVar('active',1);
+
+ $sql = "SELECT COUNT(*) FROM ".$db->prefix("rmc_blocks_positions")." WHERE name='$name' OR tag='$tag'";
+ if($edit) $sql .= " AND id_position<>$id";
+
+ list($num) = $db->fetchRow($db->query($sql));
+
+ if($num>0)
+ redirectMsg('blocks.php', __('Already exists another position with same name or same tag!','rmcommon'), 1);
+
+ if($pos->save())
+ redirectMsg('blocks.php?from=positions',__('Database updated successfully!','rmcommon'));
+ else
+ redirectMsg('blocks.php', __('Errors ocurred while trying to save data','rmcommon').'<br />'.$pos->errors());
+
+}
+
+/**
+* Change the current visibility status for a set of selected widgets
+*/
+function toggle_visibility($s){
+ global $xoopsSecurity;
+
+ if (!$xoopsSecurity->check()){
+ redirectMsg('blocks.php', __('You are not allowed to do this action!','rmcommon'), 1);
+ die();
+ }
+
+ $ids = rmc_server_var($_POST, 'ids', array());
+
+ if(empty($ids) || !is_array($ids)){
+ redirectMsg('blocks.php', __('Select at least a block!','rmcommon'), 1);
+ die();
+ }
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+ $db->queryF("UPDATE ".$db->prefix("rmc_blocks")." SET visible=$s WHERE bid IN (".join(",",$ids).")");
+
+ if ($db->error()==''){
+ redirectMsg('blocks.php', __('Database updated successfully','rmcommon'), 0);
+ } else {
+ redirectMsg('blocks.php', __('Errors ocurred while trying to do this action','rmcommon').'<br />'.$db->error(), 1);
+ }
+
+}
+
+/**
+* Delete a set of selected widgets
+*/
+function delete_blocks(){
+
+ global $xoopsSecurity;
+
+ if (!$xoopsSecurity->check()){
+ redirectMsg('blocks.php', __('You are not allowed to do this action!','rmcommon'), 1);
+ die();
+ }
+
+ $ids = rmc_server_var($_POST, 'ids', array());
+
+ if(empty($ids) || !is_array($ids)){
+ redirectMsg('blocks.php', __('You must select at least one block!','rmcommon'), 1);
+ die();
+ }
+
+ $error = '';
+ foreach ($ids as $id){
+ $block = new RMInternalBlock($id);
+ // API: Before delete a widget
+ $block = RMEvents::get()->run_event('rmcommon.deleting.block',$block);
+ if (!$block->delete()) $error .= $block->errors();
+ }
+
+ if ($errors!=''){
+ redirectMsg('blocks.php', __('There was some errors:','rmcommon').'<br />'.$error, 1);
+ } else {
+ redirectMsg('blocks.php',__('Database updated successfully','rmcommon'), 0);
+ }
+
+}
+
+function delete_positions(){
+ global $xoopsSecurity;
+
+ if (!$xoopsSecurity->check()){
+ redirectMsg('blocks.php?from=positions', __('You are not allowed to do this action!','rmcommon'), 1);
+ die();
+ }
+
+ $ids = rmc_server_var($_POST, 'ids', array());
+
+ if(empty($ids) || !is_array($ids)){
+ redirectMsg('blocks.php?from=positions', __('You must select at least one position!','rmcommon'), 1);
+ die();
+ }
+
+ $error = '';
+ foreach ($ids as $id){
+ $pos = new RMBlockPosition($id);
+
+ $pos = RMEvents::get()->run_event('rmcommon.deleting.block.position',$pos);
+ if (!$pos->delete()) $error .= $pos->errors();
+ }
+
+ if ($errors!=''){
+ redirectMsg('blocks.php?from=positions', __('There was some errors:','rmcommon').'<br />'.$error, 1);
+ } else {
+ redirectMsg('blocks.php?from=positions',__('Database updated successfully','rmcommon'), 0);
+ }
+}
+
+
+$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
+
+switch($action){
+ case 'save_position':
+ save_position();
+ break;
+ case 'hidden':
+ toggle_visibility(0);
+ break;
+ case 'visible':
+ toggle_visibility(1);
+ break;
+ case 'delete':
+ delete_blocks();
+ break;
+ case 'deletepos':
+ delete_positions();
+ break;
+ case 'upload-widget':
+ upload_widget();
+ break;
+ default:
+ show_rm_blocks();
+ break;
+}
\ No newline at end of file
Added: RMC/rmcommon/trunk/rmcommon/comments.php
===================================================================
--- RMC/rmcommon/trunk/rmcommon/comments.php (rev 0)
+++ RMC/rmcommon/trunk/rmcommon/comments.php 2013-02-07 08:49:53 UTC (rev 11004)
@@ -0,0 +1,387 @@
+<?php
+// $Id: comments.php 949 2012-04-14 04:18:10Z i.bitcero $
+// --------------------------------------------------------------
+// Red México Common Utilities
+// A framework for Red México Modules
+// Author: Eduardo Cortés <i.b...@gm...>
+// Email: i.b...@gm...
+// License: GPL 2.0
+// --------------------------------------------------------------
+
+include_once '../../include/cp_header.php';
+define('RMCLOCATION','comments');
+
+function show_comments(){
+ global $xoopsSecurity;
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+
+ $keyw = rmc_server_var($_REQUEST, 'w', '');
+ $filter = rmc_server_var($_REQUEST, 'filter', '');
+
+ $sql = "SELECT COUNT(*) FROM ".$db->prefix("rmc_comments");
+ $sql .= $keyw!='' || $filter!='' ? ' WHERE ' : '';
+ $sql .= $keyw!='' ? "(content LIKE '%$keyw%' OR ip LIKE '%$keyw%')" : '';
+ $sql .= $filter!='' ? ($keyw!=''?' AND':'')." status='$filter'" : '';
+ /**
+ * Paginacion de Resultados
+ */
+ $page = rmc_server_var($_GET, 'page', 1);
+ $limit = 15;
+ list($num) = $db->fetchRow($db->query($sql));
+
+ $tpages = ceil($num / $limit);
+ $page = $page > $tpages ? $tpages : $page;
+
+ $start = $num<=0 ? 0 : ($page - 1) * $limit;
+
+ $nav = new RMPageNav($num, $limit, $page, 5);
+ $nav->target_url('comments.php?page={PAGE_NUM}');
+
+ $sql = str_replace("COUNT(*)",'*', $sql);
+ $sql .= " ORDER BY posted DESC LIMIT $start,$limit";
+ $result = $db->query($sql);
+ $comments = array();
+
+ $ucache = array();
+ $ecache = array();
+
+ while($row = $db->fetchArray($result)){
+ $com = new RMComment();
+ $com->assignVars($row);
+
+ // Editor data
+ if(!isset($ecache[$com->getVar('user')])){
+ $ecache[$com->getVar('user')] = new RMCommentUser($com->getVar('user'));
+ }
+
+ $editor = $ecache[$com->getVar('user')];
+
+ if($editor->getVar('xuid')>0){
+
+ if(!isset($ucache[$editor->getVar('xuid')])){
+ $ucache[$editor->getVar('xuid')] = new XoopsUser($editor->getVar('xuid'));
+ }
+
+ $user = $ucache[$editor->getVar('xuid')];
+
+ $poster = array(
+ 'id' => $user->getVar('uid'),
+ 'name' => $user->getVar('uname'),
+ 'email' => $user->getVar('email'),
+ 'posts' => $user->getVar('posts'),
+ 'avatar'=> $user->getVar('user_avatar')!='' && $user->getVar('user_avatar')!='blank.gif' ? XOOPS_UPLOAD_URL.'/'.$user->getVar('user_avatar') : RMCURL.'/images/avatar.gif',
+ 'rank' => $user->rank(),
+ );
+
+ } else {
+
+ $poster = array(
+ 'id' => 0,
+ 'name' => $editor->getVar('name'),
+ 'email' => $editor->getVar('email'),
+ 'posts' => 0,
+ 'avatar'=> RMCURL.'/images/avatar.gif',
+ 'rank' => ''
+ );
+
+ }
+
+ // Get item
+ $cpath = XOOPS_ROOT_PATH.'/modules/'.$row['id_obj'].'/class/'.$row['id_obj'].'controller.php';
+
+ if(is_file($cpath)){
+ if(!class_exists(ucfirst($row['id_obj']).'Controller'))
+ include_once $cpath;
+
+ $class = ucfirst($row['id_obj']).'Controller';
+ $controller = new $class();
+ $item = $controller->get_item($row['params'], $com);
+ if(method_exists($controller, 'get_item_url'))
+ $item_url = $controller->get_item_url($row['params'], $com);
+
+ } else {
+
+ $item = __('Unknow','rmcommon');
+ $item_url = '';
+
+ }
+
+ $comments[] = array(
+ 'id' => $row['id_com'],
+ 'text' => TextCleaner::getInstance()->clean_disabled_tags(TextCleaner::getInstance()->popuplinks(TextCleaner::getInstance()->nofollow($com->getVar('content')))),
+ 'poster' => $poster,
+ 'posted' => sprintf(__('Posted on %s','rmcommon'), formatTimestamp($com->getVar('posted'), 'l')),
+ 'ip' => $com->getVar('ip'),
+ 'item' => $item,
+ 'item_url' => $item_url,
+ 'module' => $row['id_obj'],
+ 'status' => $com->getVar('status')
+ );
+ }
+
+ $comments = RMEvents::get()->run_event('rmcommon.loading.admin.comments', $comments);
+
+ xoops_cp_header();
+ RMFunctions::create_toolbar();
+ RMTemplate::get()->add_style('comms-admin.css', 'rmcommon');
+ RMTemplate::get()->add_style('general.css', 'rmcommon');
+ RMTemplate::get()->add_script('include/js/jquery.checkboxes.js');
+ RMTemplate::get()->add_script('include/js/comments.js');
+ $script = '<script type="text/javascript">delmes = "'.__('Do you really want to delete this comment?','rmcommon').'";</script>';
+ RMTemplate::get()->add_head($script);
+ include RMTemplate::get()->get_template('rmc_comments.php','module','rmcommon');
+ xoops_cp_footer();
+
+}
+
+/**
+* Change comment status
+* @param string status
+*/
+function set_comments_status($status){
+ global $xoopsSecurity;
+
+ if ($status!='waiting' && $status!='approved' && $status!='spam'){
+ redirectMsg('comments.php', __('Invalid operation','rmcommon'), 1);
+ die();
+ }
+
+ $coms = rmc_server_var($_POST, 'coms', array());
+ $page = rmc_server_var($_POST, 'page', 1);
+ $filter = rmc_server_var($_POST, 'filter', '');
+ $w = rmc_server_var($_POST, 'w', '');
+
+ $qs = "page=$page&filter=$filter&w=$w";
+
+ if(!$xoopsSecurity->check()){
+ redirectMsg('comments.php?'.$qs, __('Sorry, session token expired!','rmcommon'), 1);
+ die();
+ }
+
+ if(!is_array($coms)){
+ redirectMsg('comments.php?'.$qs, __('Unrecognized data!','rmcommon'), 1);
+ die();
+ }
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+ $sql = "UPDATE ".$db->prefix("rmc_comments")." SET status='$status' WHERE id_com IN (".implode(",",$coms).")";
+
+ if($db->queryF($sql)){
+
+ RMEvents::get()->run_event('rmcommon.updated.comments',$coms, $status);
+
+ redirectMsg('comments.php?'.$qs, __('Comments updated successfully!','rmcommon'), 0);
+ die();
+
+ } else {
+
+ redirectMsg('comments.php?'.$qs, __('Errors occurrs while trying to update comments!','rmcommon'), 1);
+ die();
+
+ }
+
+}
+
+function delete_comments(){
+ global $xoopsSecurity;
+
+ $coms = rmc_server_var($_POST, 'coms', array());
+ $page = rmc_server_var($_POST, 'page', 1);
+ $filter = rmc_server_var($_POST, 'filter', '');
+ $w = rmc_server_var($_POST, 'w', '');
+
+ $qs = "page=$page&filter=$filter&w=$w";
+
+ if(!$xoopsSecurity->check()){
+ redirectMsg('comments.php?'.$qs, __('Sorry, session token expired!','rmcommon'), 1);
+ die();
+ }
+
+ if(!is_array($coms)){
+ redirectMsg('comments.php?'.$qs, __('Unrecognized data!','rmcommon'), 1);
+ die();
+ }
+
+ // We need to delete each comment separated
+ foreach ($coms as $id){
+ $com = new RMComment($id);
+
+ if($com->isNew()) continue;
+
+ $cpath = XOOPS_ROOT_PATH.'/modules/'.$com->getVar('id_obj').'/class/'.$com->getVar('id_obj').'controller.php';
+
+ if(!$com->delete()) return;
+
+ if(is_file($cpath)){
+ if(!class_exists(ucfirst($com->getVar('id_obj')).'Controller'))
+ include_once $cpath;
+
+ $class = ucfirst($com->getVar('id_obj')).'Controller';
+ $controller = new $class();
+ $item = $controller->reduce_comments_number($com);
+
+ } else {
+
+ $item = __('Unknow','rmcommon');
+
+ }
+
+ }
+
+ redirectMsg('comments.php', __('Comments deleted successfully!','rmcommon'), 0);
+
+}
+
+function edit_comment(){
+
+ $id = rmc_server_var($_GET,'id',0);
+ $page = rmc_server_var($_GET, 'page', 1);
+ $filter = rmc_server_var($_GET, 'filter', '');
+ $w = rmc_server_var($_GET, 'w', '1');
+
+ $qs = "w=$w&page=$page&filter=$filter";
+
+ if($id<=0){
+ redirectMsg('comments.php?'.$qs, __('Sorry, comment id is not valid','rmcommon'), 1);
+ die();
+ }
+
+ $comment = new RMComment($id);
+ if($comment->isNew()){
+ redirectMsg('comments.php?'.$qs, __('Sorry, comment does not found','rmcommon'), 1);
+ die();
+ }
+
+ $cpath = XOOPS_ROOT_PATH.'/modules/'.$comment->getVar('id_obj').'/class/'.$comment->getVar('id_obj').'controller.php';
+
+ if(is_file($cpath)){
+ include $cpath;
+ $class = ucfirst($comment->getVar('id_obj')).'Controller';
+ $controller = new $class();
+ }
+
+ $form = new RMForm(__('Edit Comment', 'rmcommon'), 'editComment', 'comments.php');
+ $form->addElement(new RMFormLabel(__('In reply to', 'rmcommon'), $controller ? $controller->get_item($comment->getVar('params'), $comment):''));
+ $form->addElement(new RMFormLabel(__('Posted date','rmcommon'), formatTimestamp($comment->getVar('posted'), 'mysql')));
+ $form->addElement(new RMFormLabel(__('Module','rmcommon'), $comment->getVar('id_obj')));
+ $form->addElement(new RMFormLabel(__('IP','rmcommon'), $comment->getVar('ip')));
+
+ $user = new RMCommentUser($comment->getVar('user'));
+ $ele = new RMFormUser(__('Poster','rmcommon'), 'user', false, $user->getVar('xuid')>0 ? $user->getVar('xuid') : 0);
+ $form->addElement($ele);
+
+ $ele = new RMFormRadio(__('Status','rmcommon'), 'status', 1, 0, 2);
+ $ele->addOption(__('Approved', 'rmcommon'), 'approved', $comment->getVar('status')=='approved'?1:0);
+ $ele->addOption(__('Unapproved', 'rmcommon'), 'waiting', $comment->getVar('status')=='waiting'?1:0);
+ $form->addElement($ele);
+
+ $form->addElement(new RMFormTextArea(__('Content','rmcommon'), 'content', null, null, $comment->getVar('content','e'),'100%','150px'), true);
+ $form->addElement(new RMFormHidden('page', $page));
+ $form->addElement(new RMFormHidden('filter', $filter));
+ $form->addElement(new RMFormHidden('w', $w));
+ $form->addElement(new RMFormHidden('id', $id));
+ $form->addElement(new RMFormHidden('action', 'save'));
+ $ele = new RMFormButtonGroup();
+ $ele->addButton('sbt', __('Update Comment','rmcommon'), 'submit');
+ $ele->addButton('cancel', __('Cancel','rmcommon'), 'button', 'onclick="history.go(-1);"');
+ $form->addElement($ele);
+
+ RMFunctions::create_toolbar();
+ xoops_cp_header();
+ $form->display();
+ xoops_cp_footer();
+
+}
+
+function save_comment(){
+ global $xoopsSecurity;
+
+ $id = rmc_server_var($_POST,'id',0);
+ $page = rmc_server_var($_POST, 'page', 1);
+ $filter = rmc_server_var($_POST, 'filter', '');
+ $w = rmc_server_var($_POST, 'w', '1');
+
+ $qs = "id=$id&w=$w&page=$page&filter=$filter";
+
+ if(!$xoopsSecurity->check()){
+ redirectMsg('comments.php?action=edit&'.$qs, __('Sorry, session token expired!','rmcommon'), 1);
+ die();
+ }
+
+ if ($id<=0){
+ redirectMsg('comments.php', __('Comment ID not specified!', 'rmcommon'), 1);
+ die();
+ }
+
+ $comment = new RMComment($id);
+ if($comment->isNew()){
+ redirectMsg('comments.php?'.$qs, __('Specified comment does not exist!', 'rmcommon'), 1);
+ die();
+ }
+
+ $status = rmc_server_var($_POST, 'status', 'unapproved');
+ $status = $status=='approved'?$status:'unapproved';
+
+ $user = rmc_server_var($_POST, 'user', 0);
+ $content = rmc_server_var($_POST, 'content', '');
+
+ // save basic info in comment object
+ $comment->setVar('content', $content);
+ $comment->setVar('status', $status);
+ // Modify, if neccessary, the user
+ $cuser = new RMCommentUser($comment->getVar('user'));
+ if ($cuser->getVar('xuid')!=$user){
+
+ if ($user==0){
+ $cuser->setVar('xuid', 0);
+ $cuser->save();
+ } else {
+ $xuser = new XoopsUser($user);
+ $cuser = new RMCommentUser($xuser->getVar('email'));
+ $cuser->setVar('name', $xuser->getVar('uname'));
+ $cuser->setVar('email', $xuser->getVar('email'));
+ $cuser->setVar('xuid', $user);
+ $cuser->setVar('url', $xuser->getVar('url'));
+ $cuser->save();
+ }
+
+ $comment->setVar('user', $cuser->id());
+
+ }
+
+ if ($comment->save()){
+ redirectMsg('comments.php?'.$qs, __('Comment updated successfully!','rmcommon'), 0);
+ } else {
+ redirectMsg('comments.php?action=edit&'.$qs, __('Errros ocurrs while trying to update comment!', 1).'<br />'.$comment->errors(), 1);
+ }
+
+}
+
+
+
+$action = rmc_server_var($_REQUEST, 'action', '');
+
+switch($action){
+ case 'approve':
+ set_comments_status('approved');
+ break;
+ case 'unapprove':
+ set_comments_status('waiting');
+ break;
+ case 'spam':
+ set_comments_status('spam');
+ break;
+ case 'delete':
+ delete_comments();
+ break;
+ case 'edit':
+ edit_comment();
+ break;
+ case 'save':
+ save_comment();
+ break;
+ default:
+ show_comments();
+ break;
+}
Added: RMC/rmcommon/trunk/rmcommon/images.php
===================================================================
--- RMC/rmcommon/trunk/rmcommon/images.php (rev 0)
+++ RMC/rmcommon/trunk/rmcommon/images.php 2013-02-07 08:49:53 UTC (rev 11004)
@@ -0,0 +1,901 @@
+<?php
+// $Id: images.php 999 2012-07-02 03:53:17Z i.bitcero $
+// --------------------------------------------------------------
+// Red México Common Utilities
+// A framework for Red México Modules
+// Author: Eduardo Cortés <i.b...@gm...>
+// Email: i.b...@gm...
+// License: GPL 2.0
+// --------------------------------------------------------------
+
+/**
+* This is the images manager file for RMCommon. It is based on EXM system
+* and as a substitute for xoops image manager
+*/
+
+include_once '../../include/cp_header.php';
+require_once XOOPS_ROOT_PATH.'/modules/rmcommon/admin_loader.php';
+define('RMCLOCATION','imgmanager');
+
+/**
+* Show all images existing in database
+*/
+function show_images(){
+ global $xoopsModule, $xoopsModuleConfig;
+
+ define('RMCSUBLOCATION','showimages');
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+
+ // Check if some category exists
+ $catnum = RMFunctions::get_num_records("rmc_img_cats");
+ if ($catnum<=0){
+ redirectMsg('images.php?action=newcat', __('There are not categories yet! Please create one in order to add images.','rmcommon'), 1);
+ die();
+ }
+
+ $cat = rmc_server_var($_GET, 'category', 0);
+ if ($cat<=0){
+ header('location: images.php?action=showcats');
+ die();
+ }
+ $sql = "SELECT COUNT(*) FROM ".$db->prefix("rmc_images");
+ if ($cat>0) $sql .= " WHERE cat='$cat'";
+ /**
+ * Paginacion de Resultados
+ */
+ $page = rmc_server_var($_GET, 'page', 1);
+ $limit = $xoopsModuleConfig['imgsnumber'];
+ list($num) = $db->fetchRow($db->query($sql));
+
+ $tpages = ceil($num / $limit);
+ $page = $page > $tpages ? $tpages : $page;
+
+ $start = $num<=0 ? 0 : ($page - 1) * $limit;
+
+ $nav = new RMPageNav($num, $limit, $page, 5);
+ $nav->target_url('images.php?'.($cat>0 ? 'category='.$cat : '').'&page={PAGE_NUM}');
+
+ // Get categories
+ $sql = "SELECT * FROM ".$db->prefix("rmc_images")." ".($cat>0 ? "WHERE cat='$cat'" : '')." ORDER BY id_img DESC LIMIT $start,$limit";
+
+ $result = $db->query($sql);
+ $images = array();
+ $categories = array();
+ $authors = array();
+
+ $category = new RMImageCategory($cat);
+ $sizes = $category->getVar('sizes');
+ $current_size = array();
+
+ foreach ($sizes as $size){
+ if (empty($current_size)){
+ $current_size = $size;
+ } else {
+ if ($current_size['width']>=$size['width'] && $size['width']>0){
+ $current_size = $size;
+ }
+ }
+ }
+
+ while($row = $db->fetchArray($result)){
+ $img = new RMImage();
+ $img->assignVars($row);
+ if (!isset($categories[$img->getVar('cat')])){
+ $categories[$img->getVar('cat')] = new RMImageCategory($img->getVar('cat'));
+ }
+
+ if (!isset($authors[$img->getVar('uid')])){
+ $authors[$img->getVar('uid')] = new XoopsUser($img->getVar('uid'));
+ }
+
+ $fd = pathinfo($img->getVar('file'));
+
+ $images[] = array(
+ 'id' => $img->id(),
+ 'title' => $img->getVar('title'),
+ 'date' => $img->getVar('date'),
+ 'desc' => $img->getVar('desc', 'n'),
+ 'cat' => $categories[$img->getVar('cat')]->getVar('name'),
+ 'author' => $authors[$img->getVar('uid')],
+ 'file' => XOOPS_UPLOAD_URL.'/'.date('Y',$img->getVar('date')).'/'.date('m',$img->getVar('date')).'/sizes/'.$fd['filename'].'_'.$current_size['width'].'x'.$current_size['height'].'.'.$fd['extension'],
+ 'big' => XOOPS_UPLOAD_URL.'/'.date('Y',$img->getVar('date')).'/'.date('m',$img->getVar('date')).'/'.$fd['filename'].'.'.$fd['extension']
+ );
+ }
+
+ $categories = RMFunctions::load_images_categories();
+
+ if (RMFunctions::plugin_installed('lightbox')){
+ RMLightbox::get()->add_element('#list-images a.bigimages');
+ RMLightbox::get()->render();
+ }
+
+ xoops_cp_header();
+ RMFunctions::create_toolbar();
+ RMTemplate::get()->add_style('imgmgr.css','rmcommon');
+ RMTemplate::get()->add_style('general.css','rmcommon');
+ RMTemplate::get()->add_script('include/js/jquery.checkboxes.js');
+ include RMTemplate::get()->get_template('images_images.php','module','rmcommon');
+ xoops_cp_footer();
+
+}
+
+function images_form($edit = 0){
+ global $xoopsModule, $xoopsModuleConfig, $xoopsSecurity, $xoopsUser, $rmc_config;
+
+ define('RMCSUBLOCATION','addimages');
+
+ $category = rmc_server_var($_GET, 'category', 0);
+ $cat = new RMImageCategory($category);
+
+ if (!$cat->isNew() && $cat->getVar('status')!='open'){
+ showMessage(sprintf(__('Category %s is closed. Please, select another category.','rmcommon'), '"'.$cat->getVar('name').'"'), 1);
+ $cat = new RMImageCategory();
+ }
+
+ /*$upload = new RMFlashUploader('images', 'images.php');*/
+ if (!$cat->isNew()){
+ $uploader = new RMFlashUploader('files-container', RMCURL.'/include/upload.php');
+ $uploader->add_setting('formData', array(
+ 'action'=>'upload',
+ 'category'=>$cat->id(),
+ // Need better code
+ 'rmsecurity'=>TextCleaner::getInstance()->encrypt($xoopsUser->uid().'|'.RMCURL.'/images.php'.'|'.$xoopsSecurity->createToken(), true))
+ );
+ $uploader->add_setting('multi', true);
+ $uploader->add_setting('fileExt', '*.jpg;*.png;*.gif');
+ $uploader->add_setting('fileDesc', __('All Images (*.jpg, *.png, *.gif)','rmcommon'));
+ $uploader->add_setting('sizeLimit', $cat->getVar('filesize') * $cat->getVar('sizeunit'));
+ $uploader->add_setting('buttonText', __('Browse Images...','rmcommon'));
+ $uploader->add_setting('queueSizeLimit', 100);
+ $uploader->add_setting('onUploadSuccess',"function(file, resp, data){
+ eval('ret = '+resp);
+ if (ret.error){
+ \$('#upload-errors').append('<span class=\"failed\"><strong>'+file.name+'</strong>: '+ret.message+'</span>');
+ } else {
+ total++;
+ ids[total-1] = ret.id;
+ \$('#upload-errors').append('<span class=\"done\"><strong>'+file.name+'</strong>: ".__('Uploaded successfully!','rmcommon')."</span>');
+ }
+ return true;
+ }");
+ $uploader->add_setting('onQueueComplete', "function(event, data){
+
+ if(total<=0) return;
+
+ \$('.select_image_cat').hide('slow');
+ \$('#upload-errors').hide('slow');
+ \$('#upload-errors').html('');
+ \$('#upload-controls').hide('slow');
+ \$('#resizer-bar').show('slow');
+ \$('#resizer-bar').effect('highlight',{},1000);
+ \$('#gen-thumbnails').show();
+
+ var increments = 1/total*100;
+ url = '".RMCURL."/images.php';
+
+ params = '".TextCleaner::getInstance()->encrypt($xoopsUser->uid().'|'.RMCURL.'/images.php'.'|'.$xoopsSecurity->createToken(), true)."';
+ resize_image(params);
+
+ }");
+ RMTemplate::get()->add_head($uploader->render());
+ }
+ RMTemplate::get()->add_style('imgmgr.css', 'rmcommon');
+ RMTemplate::get()->add_script('include/js/images.js');
+
+ // Load Categories
+ $categories = RMFunctions::load_images_categories("WHERE status='open' ORDER BY id_cat DESC");
+
+ xoops_cp_header();
+ RMFunctions::create_toolbar();
+
+ include RMTemplate::get()->get_template('images_uploadimages.php','module','rmcommon');
+
+ xoops_cp_footer();
+
+}
+
+function show_categories(){
+ global $xoopsModule, $xoopsModuleConfig, $xoopsConfig, $xoopsSecurity;
+
+ define('RMCSUBLOCATION','showcategories');
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+ $sql = "SELECT COUNT(*) FROM ".$db->prefix("rmc_img_cats");
+ /**
+ * Paginacion de Resultados
+ */
+ $page = rmc_server_var($_GET, 'page', 1);
+ $limit = $xoopsModuleConfig['catsnumber'];
+ list($num) = $db->fetchRow($db->query($sql));
+
+ $tpages = ceil($num / $limit);
+ $page = $page > $tpages ? $tpages : $page;
+
+ $start = $num<=0 ? 0 : ($page - 1) * $limit;
+
+ $nav = new RMPageNav($num, $limit, $page, 5);
+ $nav->target_url('images.php?action=showcats&page={PAGE_NUM}');
+
+ // Get categories
+ $sql = "SELECT * FROM ".$db->prefix("rmc_img_cats")." ORDER BY id_cat DESC LIMIT $start,$limit";
+
+ $result = $db->query($sql);
+ $categories = array();
+
+ while ($row = $db->fetchArray($result)){
+ $cat = new RMImageCategory();
+ $cat->assignVars($row);
+ $groups = $cat->getVar('groups');
+ $categories[] = array(
+ 'id' => $cat->id(),
+ 'name' => $cat->getVar('name'),
+ 'status' => $cat->getVar('status'),
+ 'gwrite' => RMFunctions::get_groups_names($groups['write']),
+ 'gread' => RMFunctions::get_groups_names($groups['read']),
+ 'sizes' => $cat->getVar('sizes'),
+ 'images' => RMFunctions::get_num_records('rmc_images', 'cat='.$cat->id())
+ );
+ }
+
+ RMTemplate::get()->add_style('general.css','rmcommon');
+ RMTemplate::get()->add_style('imgmgr.css','rmcommon');
+ RMTemplate::get()->add_script('include/js/jquery.checkboxes.js');
+ RMFunctions::create_toolbar();
+ xoops_cp_header();
+
+
+ include RMTemplate::get()->get_template('images_categories.php', 'module', 'rmcommon');
+
+ xoops_cp_footer();
+
+}
+
+/**
+* Show form to create categories
+*/
+function new_category($edit = 0){
+ define('RMCSUBLOCATION','newcategory');
+
+ extract($_GET);
+
+ // Check category to edit
+ if ($edit){
+ if ($id<=0){
+ redirectMsg('images.php?action=showcats', __('You must specify a category id to edit!','rmcommon'), 1);
+ die();
+ }
+
+ $cat = new RMImageCategory($id);
+
+ if ($cat->isNew()){
+ redirectMsg('images.php?action=showcats', __('The specified category does not exist!','rmcommon'), 1);
+ die();
+ }
+
+ // Write and read permissions
+ $perms = $cat->getVar('groups');
+ $write = isset($write) ? $write : $perms['write'];
+ $read = isset($read) ? $read : $perms['read'];
+ // Active
+ $active = $cat->getVar('status');
+
+ }
+
+ RMFunctions::create_toolbar();
+ xoops_cp_header();
+
+ $form = new RMForm('','','');
+ $fwrite = new RMFormGroups('','write',true,1, 3, isset($write) ? $write : array(XOOPS_GROUP_ADMIN));
+ $fread = new RMFormGroups('','read',true,1, 3, isset($read) ? $read : array(0));
+
+ RMTemplate::get()->add_script('include/js/imgmanager.js');
+ include RMTemplate::get()->get_template('categories_form.php', 'module', 'rmcommon');
+ RMTemplate::get()->add_style('imgmgr.css','rmcommon');
+ xoops_cp_footer();
+
+}
+
+/**
+* Stores data for new categories
+*/
+function save_category($edit = 0){
+ global $xoopsDB, $xoopsModuleConfig, $xoopsModule;
+
+ $q = 'images.php?action='.($edit ? 'editcat' : 'newcat');
+ foreach($_POST as $k => $v){
+ if ($k=='action' || $k=='XOOPS_TOKEN_REQUEST') continue;
+ if (is_array($v)){
+ $q .= '&'.RMFunctions::urlencode_array($v, $k);
+ } else {
+ $q .= '&'.$k.'='.urlencode($v);
+ }
+
+ }
+ extract($_POST);
+
+ if ($edit){
+
+ if ($id<=0){
+ redirectMsg('images.php?action=showcats', __('Specify a valid category id','rmcommon'), 1);
+ die();
+ }
+
+ $cat = new RMImageCategory($id);
+ if ($cat->isNew()){
+ redirectMsg('images.php?action=showcats', __('Specified category does not exists!','rmcommon'), 1);
+ die();
+ }
+
+ } else {
+ $cat = new RMImageCategory();
+ }
+
+ if ($name==''){
+ redirectMsg($q, __('Please specify a category name','rmcommon'), 1);
+ die();
+ }
+
+ if (empty($read)) $read = array(0);
+ if (empty($write)) $write = array(0);
+
+ // Check if resize data is correct
+ $schecked = array();
+ foreach ($sizes as $size){
+ if (trim($size['name'])=='') continue;
+ if ($size['type']!='none' && $size['width']<=0 && $size['height']<=0) continue;
+ $schecked[] = $size;
+ }
+
+ if (empty($schecked)){
+ redirectMsg($q, __('You must create one size for this category at least!','rmcommon'), 1);
+ die();
+ }
+
+ // Check if there are a category with same name
+ $num = RMFunctions::get_num_records('rmc_img_cats', "name='$name'".($edit ? " AND id_cat<>'".$cat->id()."'" : ''));
+ if($num>0){
+ redirectMsg($q, __('There is already a category with the same name!','rmcommon'), 1);
+ die();
+ }
+
+ $cat->setVar('name', $name);
+ $cat->setVar('status', $status);
+ $cat->setVar('groups', array('write'=>$write,'read'=>$read));
+ $cat->setVar('sizes',$schecked);
+ $cat->setVar('filesize', $filesize<=0 ? '50' : $filesize);
+ $cat->setVar('sizeunit', $sizeunit<=0 ? '1024' : $sizeunit);
+
+ if ($cat->save()){
+ redirectMsg('images.php?action=showcats', __($edit ? 'Category updated successfully!' : 'Category saved successfully!','rmcommon'), 0);
+ } else {
+ redirectMsg($q, __('There were some erros while trying to save this category.','rmcommon').'<br />'.$cat->errors(), 1);
+ }
+
+}
+
+/**
+* This functions allows to modify the status of categories
+*/
+function category_status($action='open'){
+
+ $cats = rmc_server_var($_REQUEST, 'cats', array());
+
+ if (empty($cats)){
+ $id = rmc_server_var($_GET, 'id', 0);
+
+ if ($id<=0){
+ redirectMsg('images.php?action=showcats', __('Specify one category at least to change status!','rmcommon'), 1);
+ die();
+ }
+
+ $cats[] = $id;
+
+ }
+
+ $db = XoopsDatabaseFactory::getDatabaseConnection();
+ $sql = "UPDATE ".$db->prefix("rmc_img_cats")." SET status='".$action."' WHERE id_cat IN(".implode(',',$cats).")";
+
+ if ($db->queryF($sql)){
+ redirectMsg('images.php?action=showcats', __('Database updated successfully!','rmcommon'), 0);
+ die();
+ } else {
+ redirectMsg('images.php?action=showcats', __('There were some erros while updating database:','rmcommon').'<br />'.$db->error(), 1);
+ die();
+ }
+
+}
+
+function send_error($message){
+ $data['error'] = 1;
+ $data['message'] = $message;
+ echo json_encode($data);
+ die();
+}
+
+function resize_images(){
+ global $xoopsUser, $xoopsLogger, $xoopsSecurity;
+
+ set_time_limit(0);
+
+ error_reporting(0);
+ $xoopsLogger->activated = false;
+
+ $params = rmc_server_var($_GET, 'data','');
+ $id = rmc_server_var($_GET, 'img', 0);
+
+ if ($params==''){
+ send_error(__('Unauthorized!','rmcommon'));
+ }
+
+ if ($id<=0){
+ send_error(__('Invalid image!','rmcommon'));
+ }
+
+ $params = TextCleaner::decrypt($params);
+ $data = explode('|', $params);
+
+ if ($data[0]!=$xoopsUser->uid()){
+ send_error(__('Unauthorized!','rmcommon'));
+ }
+
+ if ($data[1]!=RMCURL.'/images.php'){
+ send_error(__('Unauthorized!','rmcommon'));
+ }
+
+ if (!$xoopsSecurity->check(false, $data[2])){
+ send_error(__('Unauthorized!','rmcommon'));
+ }
+
+ $image = new RMImage($id);
+ if ($image->isNew()){
+ send_error(__('Image not found!','rmcommon'));
+ }
+
+ // Resize image
+ $...
[truncated message content] |