From: <be...@us...> - 2013-09-26 17:25:25
|
Revision: 12099 http://sourceforge.net/p/xoops/svn/12099 Author: beckmi Date: 2013-09-26 17:25:18 +0000 (Thu, 26 Sep 2013) Log Message: ----------- Adding LatestNews Modified Paths: -------------- XoopsModules/xoopshp/trunk/xoopshp/xoops_version.php Added Paths: ----------- XoopsModules/latestnews/ XoopsModules/latestnews/branches/ XoopsModules/latestnews/releases/ XoopsModules/latestnews/releases/0.72/ XoopsModules/latestnews/trunk/ XoopsModules/latestnews/trunk/latestnews/ XoopsModules/latestnews/trunk/latestnews/admin/ XoopsModules/latestnews/trunk/latestnews/admin/admin.php XoopsModules/latestnews/trunk/latestnews/admin/header.php XoopsModules/latestnews/trunk/latestnews/admin/index.html XoopsModules/latestnews/trunk/latestnews/admin/menu.php XoopsModules/latestnews/trunk/latestnews/admin/myblockform.php XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin.php XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin2.php XoopsModules/latestnews/trunk/latestnews/admin/mygroupperm.php XoopsModules/latestnews/trunk/latestnews/admin/mygrouppermform.php XoopsModules/latestnews/trunk/latestnews/blocks/ XoopsModules/latestnews/trunk/latestnews/blocks/index.html XoopsModules/latestnews/trunk/latestnews/blocks/latestnews.php XoopsModules/latestnews/trunk/latestnews/class/ XoopsModules/latestnews/trunk/latestnews/class/class.latestnews.php XoopsModules/latestnews/trunk/latestnews/class/index.html XoopsModules/latestnews/trunk/latestnews/docs/ XoopsModules/latestnews/trunk/latestnews/docs/changelog.txt XoopsModules/latestnews/trunk/latestnews/docs/index.html XoopsModules/latestnews/trunk/latestnews/docs/readme.txt XoopsModules/latestnews/trunk/latestnews/docs/readme_arabic.txt XoopsModules/latestnews/trunk/latestnews/images/ XoopsModules/latestnews/trunk/latestnews/images/delete_block.gif XoopsModules/latestnews/trunk/latestnews/images/edit_block.gif XoopsModules/latestnews/trunk/latestnews/images/index.html XoopsModules/latestnews/trunk/latestnews/images/latestnews_logo.png XoopsModules/latestnews/trunk/latestnews/include/ XoopsModules/latestnews/trunk/latestnews/include/blocksadmin.inc.php XoopsModules/latestnews/trunk/latestnews/include/functions.php XoopsModules/latestnews/trunk/latestnews/include/gtickets.php XoopsModules/latestnews/trunk/latestnews/include/index.html XoopsModules/latestnews/trunk/latestnews/include/onupdate.inc.php XoopsModules/latestnews/trunk/latestnews/include/updateblock.inc.php XoopsModules/latestnews/trunk/latestnews/index.html XoopsModules/latestnews/trunk/latestnews/language/ XoopsModules/latestnews/trunk/latestnews/language/arabic/ XoopsModules/latestnews/trunk/latestnews/language/arabic/blocks.php XoopsModules/latestnews/trunk/latestnews/language/arabic/index.html XoopsModules/latestnews/trunk/latestnews/language/arabic/main.php XoopsModules/latestnews/trunk/latestnews/language/arabic/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/danish/ XoopsModules/latestnews/trunk/latestnews/language/danish/blocks.php XoopsModules/latestnews/trunk/latestnews/language/danish/index.html XoopsModules/latestnews/trunk/latestnews/language/danish/main.php XoopsModules/latestnews/trunk/latestnews/language/danish/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/english/ XoopsModules/latestnews/trunk/latestnews/language/english/blocks.php XoopsModules/latestnews/trunk/latestnews/language/english/index.html XoopsModules/latestnews/trunk/latestnews/language/english/main.php XoopsModules/latestnews/trunk/latestnews/language/english/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/french/ XoopsModules/latestnews/trunk/latestnews/language/french/blocks.php XoopsModules/latestnews/trunk/latestnews/language/french/index.html XoopsModules/latestnews/trunk/latestnews/language/french/main.php XoopsModules/latestnews/trunk/latestnews/language/french/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/index.html XoopsModules/latestnews/trunk/latestnews/language/persian/ XoopsModules/latestnews/trunk/latestnews/language/persian/blocks.php XoopsModules/latestnews/trunk/latestnews/language/persian/index.html XoopsModules/latestnews/trunk/latestnews/language/persian/main.php XoopsModules/latestnews/trunk/latestnews/language/persian/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/polish/ XoopsModules/latestnews/trunk/latestnews/language/polish/blocks.php XoopsModules/latestnews/trunk/latestnews/language/polish/index.html XoopsModules/latestnews/trunk/latestnews/language/polish/main.php XoopsModules/latestnews/trunk/latestnews/language/polish/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/portuguesebr/ XoopsModules/latestnews/trunk/latestnews/language/portuguesebr/blocks.php XoopsModules/latestnews/trunk/latestnews/language/portuguesebr/index.html XoopsModules/latestnews/trunk/latestnews/language/portuguesebr/main.php XoopsModules/latestnews/trunk/latestnews/language/portuguesebr/modinfo.php XoopsModules/latestnews/trunk/latestnews/language/spanish/ XoopsModules/latestnews/trunk/latestnews/language/spanish/blocks.php XoopsModules/latestnews/trunk/latestnews/language/spanish/index.html XoopsModules/latestnews/trunk/latestnews/language/spanish/main.php XoopsModules/latestnews/trunk/latestnews/language/spanish/modinfo.php XoopsModules/latestnews/trunk/latestnews/templates/ XoopsModules/latestnews/trunk/latestnews/templates/blocks/ XoopsModules/latestnews/trunk/latestnews/templates/blocks/block_latestnews.html XoopsModules/latestnews/trunk/latestnews/templates/blocks/index.html XoopsModules/latestnews/trunk/latestnews/templates/index.html XoopsModules/latestnews/trunk/latestnews/xoops_version.php Added: XoopsModules/latestnews/trunk/latestnews/admin/admin.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/admin.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/admin.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,161 @@ +<?php +// $Id$ +// ------------------------------------------------------------------------ // +// XOOPS - PHP Content Management System // +// Copyright (c) 2000 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 // +// ------------------------------------------------------------------------- // + +$admin_mydirname = basename( dirname( dirname( __FILE__ ) ) ) ; + +$fct = empty( $_POST['fct'] ) ? '' : trim( $_POST['fct'] ) ; +$fct = empty( $_GET['fct'] ) ? $fct : trim( $_GET['fct'] ) ; +if( empty( $fct ) ) $fct = 'preferences' ; +//if (isset($fct) && $fct == "users") { +// $xoopsOption['pagetype'] = "user"; +//} +//include "../../../mainfile.php"; +// include "../../mainfile.php"; GIJ +//include XOOPS_ROOT_PATH."/include/cp_functions.php"; +require("header.php"); +include_once XOOPS_ROOT_PATH."/class/xoopsmodule.php"; +include_once "../include/gtickets.php" ;// GIJ + +$admintest = 0; + +if (is_object($xoopsUser)) { + $xoopsModule =& XoopsModule::getByDirname("system"); + if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + redirect_header(XOOPS_URL.'/user.php',3,_NOPERM); + exit(); + } + $admintest=1; +} else { + redirect_header(XOOPS_URL.'/user.php',3,_NOPERM); + exit(); +} + +// include system category definitions +include_once XOOPS_ROOT_PATH."/modules/system/constants.php"; +$error = false; +if ($admintest != 0) { + if (isset($fct) && $fct != '') { + if (file_exists(XOOPS_ROOT_PATH."/modules/system/admin/".$fct."/xoops_version.php")) { + + if ( file_exists(XOOPS_ROOT_PATH."/modules/system/language/".$xoopsConfig['language']."/admin.php") ) { + include XOOPS_ROOT_PATH."/modules/system/language/".$xoopsConfig['language']."/admin.php"; + } else { + include XOOPS_ROOT_PATH."/modules/system/language/english/admin.php"; + } + + if (file_exists(XOOPS_ROOT_PATH."/modules/system/language/".$xoopsConfig['language']."/admin/".$fct.".php")) { + include XOOPS_ROOT_PATH."/modules/system/language/".$xoopsConfig['language']."/admin/".$fct.".php"; + } elseif (file_exists(XOOPS_ROOT_PATH."/modules/system/language/english/admin/".$fct.".php")) { + include XOOPS_ROOT_PATH."/modules/system/language/english/admin/".$fct.".php"; + } + include XOOPS_ROOT_PATH."/modules/system/admin/".$fct."/xoops_version.php"; + $sysperm_handler =& xoops_gethandler('groupperm'); + $category = !empty($modversion['category']) ? intval($modversion['category']) : 0; + unset($modversion); + if ($category > 0) { + $groups = $xoopsUser->getGroups(); + if (in_array(XOOPS_GROUP_ADMIN, $groups) || false != $sysperm_handler->checkRight('system_admin', $category, $groups, $xoopsModule->getVar('mid'))){ +// if (file_exists(XOOPS_ROOT_PATH."/modules/system/admin/".$fct."/main.php")) { +// include_once XOOPS_ROOT_PATH."/modules/system/admin/".$fct."/main.php"; GIJ + if (file_exists("../include/{$fct}.inc.php")) { + include_once "../include/{$fct}.inc.php" ; + } else { + $error = true; + } + } else { + $error = true; + } + } elseif ($fct == 'version') { + if (file_exists(XOOPS_ROOT_PATH."/modules/system/admin/version/main.php")) { + include_once XOOPS_ROOT_PATH."/modules/system/admin/version/main.php"; + } else { + $error = true; + } + } else { + $error = true; + } + } else { + $error = true; + } + } else { + $error = true; + } +} + +if (false != $error) { + xoops_cp_header(); + mytabs_adminmenu(1); + echo "<h4>System Configuration</h4>"; + echo '<table class="outer" cellpadding="4" cellspacing="1">'; + echo '<tr>'; + $groups = $xoopsUser->getGroups(); + $all_ok = false; + if (!in_array(XOOPS_GROUP_ADMIN, $groups)) { + $sysperm_handler =& xoops_gethandler('groupperm'); + $ok_syscats = $sysperm_handler->getItemIds('system_admin', $groups); + } else { + $all_ok = true; + } + $admin_dir = XOOPS_ROOT_PATH."/modules/system/admin"; + $handle = opendir($admin_dir); + $counter = 0; + $class = 'even'; + while ($file = readdir($handle)) { + if (strtolower($file) != 'cvs' && !preg_match("/[.]/", $file) && is_dir($admin_dir.'/'.$file)) { + include $admin_dir.'/'.$file.'/xoops_version.php'; + if ($modversion['hasAdmin']) { + $category = isset($modversion['category']) ? intval($modversion['category']) : 0; + if (false != $all_ok || in_array($modversion['category'], $ok_syscats)) { + echo "<td class='$class' align='center' valign='bottom' width='19%'>"; + echo "<a href='".XOOPS_URL."/modules/system/admin.php?fct=".$file."'><b>" .trim($modversion['name'])."</b></a>\n"; + echo "</td>"; + $counter++; + $class = ($class == 'even') ? 'odd' : 'even'; + } + if ( $counter > 4 ) { + $counter = 0; + echo "</tr>"; + echo "<tr>"; + } + } + unset($modversion); + } + } + while ($counter < 5) { + echo '<td class="'.$class.'"> </td>'; + $class = ($class == 'even') ? 'odd' : 'even'; + $counter++; + } + echo '</tr></table>'; + xoops_cp_footer(); +} + +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/admin.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/header.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/header.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/header.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,12 @@ +<?php +// Author: Trabis +// URL: http://www.xuups.com +// E-Mail: lus...@gm... + +require_once("../../../include/cp_header.php"); + +if (!isset($xoopsTpl) || !is_object($xoopsTpl)) { + include_once(XOOPS_ROOT_PATH."/class/template.php"); + $xoopsTpl = new XoopsTpl(); +} +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/header.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/index.html =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/index.html (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/index.html 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Added: XoopsModules/latestnews/trunk/latestnews/admin/menu.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/menu.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/menu.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,4 @@ +<?php +$adminmenu[0]['title'] = _MI_LATESTNEWS_ADMIN_MENU1; +$adminmenu[0]['link'] = "admin/myblocksadmin.php"; +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/menu.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/myblockform.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/myblockform.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/myblockform.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,142 @@ +<?php +// $Id$ +// ------------------------------------------------------------------------ // +// XOOPS - PHP Content Management System // +// Copyright (c) 2000 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 // +// ------------------------------------------------------------------------ // + +if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ; + +$usespaw = empty( $_GET['usespaw'] ) ? 0 : 1 ; + +require_once XOOPS_ROOT_PATH."/class/xoopsformloader.php"; +//$form = new XoopsThemeForm($block['form_title'], 'blockform', XOOPS_URL."/modules/blocksadmin/admin/admin.php" ) ; +$form = new XoopsThemeForm($block['form_title'], 'blockform', "admin.php" ) ; +if (isset($block['name'])) { + $form->addElement(new XoopsFormLabel(_AM_NAME, $block['name'])); +} +$side_select = new XoopsFormSelect(_AM_BLKTYPE, "bside", $block['side']); +/** Xoops 2.0.13 +$side_select->addOptionArray(array(0 => _AM_SBLEFT, 1 => _AM_SBRIGHT, 3 => _AM_CBLEFT, 4 => _AM_CBRIGHT, 5 => _AM_CBCENTER, )); +*/ +$side_select->addOptionArray(array(0 => _AM_SBLEFT, 1 => _AM_SBRIGHT, 3 => _AM_CBLEFT, 4 => _AM_CBRIGHT, 5 => _AM_CBCENTER, 7 => _AM_CBBOTTOMLEFT, 8 => _AM_CBBOTTOMRIGHT, 9 => _AM_CBBOTTOM, )); +$form->addElement($side_select); +$form->addElement(new XoopsFormText(_AM_WEIGHT, "bweight", 2, 5, $block['weight'])); +$form->addElement(new XoopsFormRadioYN(_AM_VISIBLE, 'bvisible', $block['visible'])); +$mod_select = new XoopsFormSelect(_AM_VISIBLEIN, "bmodule", $block['modules'], 5, true); +$module_handler =& xoops_gethandler('module'); +$criteria = new CriteriaCompo(new Criteria('hasmain', 1)); +$criteria->add(new Criteria('isactive', 1)); +$module_list = $module_handler->getList($criteria); +$module_list[-1] = _AM_TOPPAGE; +$module_list[0] = _AM_ALLPAGES; +ksort($module_list); +$mod_select->addOptionArray($module_list); +$form->addElement($mod_select); +$form->addElement(new XoopsFormText(_AM_TITLE, 'btitle', 50, 255, $block['title']), false); + +if ( $block['is_custom'] ) { + + // Custom Block's textarea + $notice_for_tags = '<span style="font-size:x-small;font-weight:bold;">'._AM_USEFULTAGS.'</span><br /><span style="font-size:x-small;font-weight:normal;">'.sprintf(_AM_BLOCKTAG1, '{X_SITEURL}', XOOPS_URL.'/').'</span>' ; + $current_op = @$_GET['op'] == 'clone' ? 'clone' : 'edit' ; + $uri_to_myself = XOOPS_URL . "/modules/blocksadmin/admin/admin.php?fct=blocksadmin&op=$current_op&bid={$block['bid']}" ; + // $can_use_spaw = check_browser_can_use_spaw() ; + $can_use_spaw = true ; + if( $usespaw && $can_use_spaw ) { + // SPAW Config + include XOOPS_ROOT_PATH.'/common/spaw/spaw_control.class.php' ; + ob_start() ; + $sw = new SPAW_Wysiwyg( 'bcontent' , $block['content'] ) ; + $sw->show() ; + $textarea = new XoopsFormLabel( _AM_CONTENT , ob_get_contents() ) ; + $textarea->setDescription( $notice_for_tags . "<br /><br /><a href='$uri_to_myself&usespaw=0'>NORMAL</a>" ) ; + ob_end_clean() ; + } else { + $myts =& MyTextSanitizer::getInstance(); + $textarea = new XoopsFormDhtmlTextArea(_AM_CONTENT, 'bcontent', $myts->htmlSpecialChars( $block['content'] ) , 15, 70); + if( $can_use_spaw ) { + $textarea->setDescription( $notice_for_tags . "<br /><br /><a href='$uri_to_myself&usespaw=1'>SPAW</a>" ) ; + } else { + $textarea->setDescription( $notice_for_tags ) ; + } + } + $form->addElement($textarea, true); + + $ctype_select = new XoopsFormSelect(_AM_CTYPE, 'bctype', $block['ctype']); + $ctype_select->addOptionArray(array('H' => _AM_HTML, 'P' => _AM_PHP, 'S' => _AM_AFWSMILE, 'T' => _AM_AFNOSMILE)); + $form->addElement($ctype_select); +} else { + if ($block['template'] != '' && ! defined('XOOPS_ORETEKI') ) { + $tplfile_handler =& xoops_gethandler('tplfile'); + $btemplate = $tplfile_handler->find($GLOBALS['xoopsConfig']['template_set'], 'block', $block['bid']); + if (count($btemplate) > 0) { + $form->addElement(new XoopsFormLabel(_AM_CONTENT, '<a href="'.XOOPS_URL.'/modules/system/admin.php?fct=tplsets&op=edittpl&id='.$btemplate[0]->getVar('tpl_id').'">'._AM_EDITTPL.'</a>')); + } else { + $btemplate2 = $tplfile_handler->find('default', 'block', $block['bid']); + if (count($btemplate2) > 0) { + $form->addElement(new XoopsFormLabel(_AM_CONTENT, '<a href="'.XOOPS_URL.'/modules/system/admin.php?fct=tplsets&op=edittpl&id='.$btemplate2[0]->getVar('tpl_id').'" target="_blank">'._AM_EDITTPL.'</a>')); + } + } + } + if ($block['edit_form'] != false) { + $form->addElement(new XoopsFormLabel(_AM_OPTIONS, $block['edit_form'])); + } +} +$cache_select = new XoopsFormSelect(_AM_BCACHETIME, 'bcachetime', $block['cachetime']); +$cache_select->addOptionArray(array('0' => _NOCACHE, '30' => sprintf(_SECONDS, 30), '60' => _MINUTE, '300' => sprintf(_MINUTES, 5), '1800' => sprintf(_MINUTES, 30), '3600' => _HOUR, '18000' => sprintf(_HOURS, 5), '86400' => _DAY, '259200' => sprintf(_DAYS, 3), '604800' => _WEEK, '2592000' => _MONTH)); +$form->addElement($cache_select); +if (isset($block['bid'])) { + $form->addElement(new XoopsFormHidden('bid', $block['bid'])); +} +// $form->addElement(new XoopsFormHidden('options', $block['options'])); +$form->addElement(new XoopsFormHidden('op', $block['op'])); +$form->addElement(new XoopsFormHidden('fct', 'blocksadmin')); +$button_tray = new XoopsFormElementTray('', ' '); +if ($block['is_custom']) { + $button_tray->addElement(new XoopsFormButton('', 'previewblock', _PREVIEW, "submit")); +} +$button_tray->addElement(new XoopsFormButton('', 'submitblock', $block['submit_button'], "submit")); +$form->addElement($button_tray); + + +// checks browser compatibility with the control +function check_browser_can_use_spaw() { + $browser = $_SERVER['HTTP_USER_AGENT'] ; + // check if msie + if( eregi( "MSIE[^;]*" , $browser , $msie ) ) { + // get version + if( eregi( "[0-9]+\.[0-9]+" , $msie[0] , $version ) ) { + // check version + if( (float)$version[0] >= 5.5 ) { + // finally check if it's not opera impersonating ie + if( ! eregi( "opera" , $browser ) ) { + return true ; + } + } + } + } + return false ; +} + +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/myblockform.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,370 @@ +<?php +// ------------------------------------------------------------------------- // +// myblocksadmin.php // +// - XOOPS block admin for each modules - // +// GIJOE <http://www.peak.ne.jp/> // +// ------------------------------------------------------------------------- // + +include_once( '../../../include/cp_header.php' ) ; + +if( substr( XOOPS_VERSION , 6 , 3 ) > 2.0 ) { + include 'myblocksadmin2.php' ; + exit ; +} + +include_once( 'mygrouppermform.php' ) ; +include_once( XOOPS_ROOT_PATH.'/class/xoopsblock.php' ) ; +include_once "../include/gtickets.php" ;// GIJ + + +$xoops_system_path = XOOPS_ROOT_PATH . '/modules/system' ; + +// language files +$language = $xoopsConfig['language'] ; +if( ! file_exists( "$xoops_system_path/language/$language/admin/blocksadmin.php") ) $language = 'english' ; + +// to prevent from notice that constants already defined +$error_reporting_level = error_reporting( 0 ) ; +include_once( "$xoops_system_path/constants.php" ) ; +include_once( "$xoops_system_path/language/$language/admin.php" ) ; +include_once( "$xoops_system_path/language/$language/admin/blocksadmin.php" ) ; +error_reporting( $error_reporting_level ) ; + +$group_defs = file( "$xoops_system_path/language/$language/admin/groups.php" ) ; +foreach( $group_defs as $def ) { + if( strstr( $def , '_AM_ACCESSRIGHTS' ) || strstr( $def , '_AM_ACTIVERIGHTS' ) ) eval( $def ) ; +} + + +// check $xoopsModule +if( ! is_object( $xoopsModule ) ) redirect_header( XOOPS_URL.'/user.php' , 1 , _NOPERM ) ; + +// set target_module if specified by $_GET['dirname'] +$module_handler =& xoops_gethandler('module'); +if( ! empty( $_GET['dirname'] ) ) { + $target_module =& $module_handler->getByDirname($_GET['dirname']); +}/* else if( ! empty( $_GET['mid'] ) ) { + $target_module =& $module_handler->get( intval( $_GET['mid'] ) ); +}*/ + +if( ! empty( $target_module ) && is_object( $target_module ) ) { + // specified by dirname + $target_mid = $target_module->getVar( 'mid' ) ; + $target_mname = $target_module->getVar( 'name' ) . " " . sprintf( "(%2.2f)" , $target_module->getVar('version') / 100.0 ) ; + $query4redirect = '?dirname='.urlencode(strip_tags($_GET['dirname'])) ; +} else if( isset( $_GET['mid'] ) && $_GET['mid'] == 0 || $xoopsModule->getVar('dirname') == 'blocksadmin' ) { + $target_mid = 0 ; + $target_mname = '' ; + $query4redirect = '?mid=0' ; +} else { + $target_mid = $xoopsModule->getVar( 'mid' ) ; + $target_mname = $xoopsModule->getVar( 'name' ) ; + $query4redirect = '' ; +} + +// check access right (needs system_admin of BLOCK) +$sysperm_handler =& xoops_gethandler('groupperm'); +if (!$sysperm_handler->checkRight('system_admin', XOOPS_SYSTEM_BLOCK, $xoopsUser->getGroups())) redirect_header( XOOPS_URL.'/user.php' , 1 , _NOPERM ) ; + +// get blocks owned by the module (Imported from xoopsblock.php then modified) +//$block_arr =& XoopsBlock::getByModule( $target_mid ) ; +$db =& Database::getInstance(); +$sql = "SELECT * FROM ".$db->prefix("newblocks")." WHERE mid='$target_mid' ORDER BY visible DESC,side,weight"; +$result = $db->query($sql); +$block_arr = array(); +while( $myrow = $db->fetchArray($result) ) { + $block_arr[] = new XoopsBlock($myrow); +} + +function list_blocks() +{ + global $query4redirect , $block_arr , $xoopsGTicket ; + + // cachetime options + $cachetimes = array('0' => _NOCACHE, '30' => sprintf(_SECONDS, 30), '60' => _MINUTE, '300' => sprintf(_MINUTES, 5), '1800' => sprintf(_MINUTES, 30), '3600' => _HOUR, '18000' => sprintf(_HOURS, 5), '86400' => _DAY, '259200' => sprintf(_DAYS, 3), '604800' => _WEEK, '2592000' => _MONTH); + + // displaying TH + echo " + <form action='admin.php' name='blockadmin' method='post'> + <table width='95%' class='outer' cellpadding='4' cellspacing='1'> + <tr valign='middle'> + <th>"._AM_TITLE."</th> + <th align='center' nowrap='nowrap'>"._AM_SIDE."</th> + <th align='center'>"._AM_WEIGHT."</th> + <th align='center'>"._AM_VISIBLEIN."</th> + <th align='center'>"._AM_BCACHETIME."</th> + <th align='right'>"._AM_ACTION."</th> + </tr>\n" ; + + // blocks displaying loop + $class = 'even' ; + $block_configs = get_block_configs() ; + foreach( array_keys( $block_arr ) as $i ) { + $sseln = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = ""; + $scoln = $scol0 = $scol1 = $scol2 = $scol3 = $scol4 = "#FFFFFF"; +/** add for xoops 2.0.14 */ + $sseln = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = $ssel5 = $ssel6 = $ssel7 = ""; + $scoln = $scol0 = $scol1 = $scol2 = $scol3 = $scol4 = $scol5 = $scol6 = $scol7 = "#FFFFFF"; +/** add for xoops 2.0.14 */ + + $weight = $block_arr[$i]->getVar("weight") ; + $title = $block_arr[$i]->getVar("title") ; + $name = $block_arr[$i]->getVar("name") ; + $bcachetime = $block_arr[$i]->getVar("bcachetime") ; + $bid = $block_arr[$i]->getVar("bid") ; + + // visible and side + if ( $block_arr[$i]->getVar("visible") != 1 ) { + $sseln = " checked='checked'"; + $scoln = "#FF0000"; + } else switch( $block_arr[$i]->getVar("side") ) { + default : + case XOOPS_SIDEBLOCK_LEFT : + $ssel0 = " checked='checked'"; + $scol0 = "#00FF00"; + break ; + case XOOPS_SIDEBLOCK_RIGHT : + $ssel1 = " checked='checked'"; + $scol1 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_LEFT : + $ssel2 = " checked='checked'"; + $scol2 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_RIGHT : + $ssel4 = " checked='checked'"; + $scol4 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_CENTER : + $ssel3 = " checked='checked'"; + $scol3 = "#00FF00"; + break ; +/** add for xoops 2.0.14 */ + case XOOPS_CENTERBLOCK_BOTTOMLEFT : + $ssel5 = " checked='checked'"; + $scol5 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_BOTTOMRIGHT : + $ssel6 = " checked='checked'"; + $scol6 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_BOTTOM : + $ssel7 = " checked='checked'"; + $scol7 = "#00FF00"; + break ; +/** add for xoops 2.0.14 */ + } + + // bcachetime + $cachetime_options = '' ; + foreach( $cachetimes as $cachetime => $cachetime_name ) { + if( $bcachetime == $cachetime ) { + $cachetime_options .= "<option value='$cachetime' selected='selected'>$cachetime_name</option>\n" ; + } else { + $cachetime_options .= "<option value='$cachetime'>$cachetime_name</option>\n" ; + } + } + + // target modules + $db =& Database::getInstance(); + $result = $db->query( "SELECT module_id FROM ".$db->prefix('block_module_link')." WHERE block_id='$bid'" ) ; + $selected_mids = array(); + while ( list( $selected_mid ) = $db->fetchRow( $result ) ) { + $selected_mids[] = intval( $selected_mid ) ; + } + $module_handler =& xoops_gethandler('module'); + $criteria = new CriteriaCompo(new Criteria('hasmain', 1)); + $criteria->add(new Criteria('isactive', 1)); + $module_list = $module_handler->getList($criteria); + $module_list[-1] = _AM_TOPPAGE; + $module_list[0] = _AM_ALLPAGES; + ksort($module_list); + $module_options = '' ; + foreach( $module_list as $mid => $mname ) { + if( in_array( $mid , $selected_mids ) ) { + $module_options .= "<option value='$mid' selected='selected'>$mname</option>\n" ; + } else { + $module_options .= "<option value='$mid'>$mname</option>\n" ; + } + } + + // delete link if it is cloned block + if( $block_arr[$i]->getVar("block_type") == 'D' || $block_arr[$i]->getVar("block_type") == 'C' ) { + $delete_link = "<br /><a href='admin.php?fct=blocksadmin&op=delete&bid=$bid'>"._DELETE."</a>" ; + } else { + $delete_link = '' ; + } + + // clone link if it is marked as cloneable block + // $modversion['blocks'][n]['can_clone'] + if( $block_arr[$i]->getVar("block_type") == 'D' || $block_arr[$i]->getVar("block_type") == 'C' ) { + $can_clone = true ; + } else { + $can_clone = false ; + foreach( $block_configs as $bconf ) { + if( $block_arr[$i]->getVar("show_func") == $bconf['show_func'] && $block_arr[$i]->getVar("func_file") == $bconf['file'] && ( empty( $bconf['template'] ) || $block_arr[$i]->getVar("template") == $bconf['template'] ) ) { + if( ! empty( $bconf['can_clone'] ) ) $can_clone = true ; + } + } + } + if( $can_clone ) { + $clone_link = "<br /><a href='admin.php?fct=blocksadmin&op=clone&bid=$bid'>"._CLONE."</a>" ; + } else { + $clone_link = '' ; + } + + // displaying part + echo " + <tr valign='middle'> + <td class='$class'> + $name + <br /> + <input type='text' name='title[$bid]' value='$title' size='20' /> + </td> + <td class='$class' align='center' nowrap='nowrap' width='125px'>"; + if (! ( /*!defined(ICMS_VERSION) && */(substr( XOOPS_VERSION , 10 , 2 ) < 15) && (substr( XOOPS_VERSION , 8 , 1 ) == 1)) ) { + + echo " + <div align='center' > + <input style='background-color:$scol2;' type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_LEFT."'$ssel2 /> + <input style='background-color:$scol3;'type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_CENTER."'$ssel3 /> + <input style='background-color:$scol4;'type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_RIGHT."'$ssel4 /> + </div> + <div> + <span style='float:right'> + <input style='background-color:$scol1;' type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_RIGHT."'$ssel1 /> + </span> + <div align='left'> + <input style='background-color:$scol0;' type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_LEFT."'$ssel0 /> + </div> + </div> + <div align='center'> + <input style='background-color:$scol5;' type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOMLEFT."'$ssel5 /> + <input style='background-color:$scol7;' type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOM."'$ssel7 /> + <input style='background-color:$scol6;' type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOMRIGHT."'$ssel6 /> + </div>"; + } else { + echo " + <div style='float:left;background-color:$scol0;'> + <input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_LEFT."' style='background-color:$scol0;' $ssel0 /> + </div> + <div style='float:left;'>-</div> + <div style='float:left;background-color:$scol2;'> + <input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_LEFT."' style='background-color:$scol2;' $ssel2 /> + </div> + <div style='float:left;background-color:$scol3;'> + <input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_CENTER."' style='background-color:$scol3;' $ssel3 /> + </div> + <div style='float:left;background-color:$scol4;'> + <input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_RIGHT."' style='background-color:$scol4;' $ssel4 /> + </div> + <div style='float:left;'>-</div> + <div style='float:left;background-color:$scol1;'> + <input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_RIGHT."' style='background-color:$scol1;' $ssel1 /> + </div>"; + } + + echo " + <br /> + <div style='float:left;width:40px;'> </div> + <div style='float:left;background-color:$scoln;'> + <input type='radio' name='side[$bid]' value='-1' style='background-color:$scoln;' $sseln /> + </div> + <div style='float:left;'>"._NONE."</div> + </td> + <td class='$class' align='center'> + <input type='text' name=weight[$bid] value='$weight' size='3' maxlength='5' style='text-align:right;' /> + </td> + <td class='$class' align='center'> + <select name='bmodule[$bid][]' size='5' multiple='multiple'> + $module_options + </select> + </td> + <td class='$class' align='center'> + <select name='bcachetime[$bid]' size='1'> + $cachetime_options + </select> + </td> + <td class='$class' align='right'> + <a href='admin.php?fct=blocksadmin&op=edit&bid=$bid'>"._EDIT."</a>{$delete_link}{$clone_link} + <input type='hidden' name='bid[$bid]' value='$bid' /> + </td> + </tr>\n" ; + + $class = ( $class == 'even' ) ? 'odd' : 'even' ; + } + + echo " + <tr> + <td class='foot' align='center' colspan='6'> + <input type='hidden' name='query4redirect' value='$query4redirect' /> + <input type='hidden' name='fct' value='blocksadmin' /> + <input type='hidden' name='op' value='order' /> + ".$xoopsGTicket->getTicketHtml( __LINE__ , 1800 , 'myblocksadmin' )." + <input type='submit' name='submit' value='"._SUBMIT."' /> + </td> + </tr> + </table> + </form>\n" ; +} + + +function get_block_configs() +{ + $error_reporting_level = error_reporting( 0 ) ; + if( preg_match( '/^[.0-9a-zA-Z_-]+$/' , @$_GET['dirname'] ) ) { + include dirname(dirname(dirname(__FILE__))).'/'.$_GET['dirname'].'/xoops_version.php' ; + } else { + include '../xoops_version.php' ; + } + error_reporting( $error_reporting_level ) ; + if( empty( $modversion['blocks'] ) ) return array() ; + else return $modversion['blocks'] ; +} + + +function list_groups() +{ + global $target_mid , $target_mname , $block_arr ; + + $item_list = array() ; + foreach( array_keys( $block_arr ) as $i ) { + $item_list[ $block_arr[$i]->getVar("bid") ] = $block_arr[$i]->getVar("title") ; + } + + $form = new MyXoopsGroupPermForm( _MD_AM_ADGS , 1 , 'block_read' , '' ) ; + if( $target_mid > 1 ) { + $form->addAppendix( 'module_admin' , $target_mid , $target_mname . ' ' . _AM_ACTIVERIGHTS ) ; + $form->addAppendix( 'module_read' , $target_mid , $target_mname .' ' . _AM_ACCESSRIGHTS ) ; + } + foreach( $item_list as $item_id => $item_name) { + $form->addItem( $item_id , $item_name ) ; + } + echo $form->render() ; +} + + + +if( ! empty( $_POST['submit'] ) ) { + if ( ! $xoopsGTicket->check( true , 'myblocksadmin' ) ) { + redirect_header(XOOPS_URL.'/',3,$xoopsGTicket->getErrors()); + } + + include( "mygroupperm.php" ) ; + redirect_header( XOOPS_URL."/modules/".$xoopsModule->dirname()."/admin/myblocksadmin.php$query4redirect" , 1 , _MD_AM_DBUPDATED ); +} + +xoops_cp_header() ; +if( file_exists( './mymenu.php' ) ) include( './mymenu.php' ) ; + +echo "<h3>$target_mname</h3>\n" ; + +if( ! empty( $block_arr ) ) { + echo "<h4>"._AM_BADMIN."</h4>\n" ; + list_blocks() ; +} +list_groups() ; +xoops_cp_footer() ; + + +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin2.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin2.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin2.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,347 @@ +<?php +// ------------------------------------------------------------------------- // +// myblocksadmin_for_2.2.php // +// - XOOPS block admin for each modules - // +// GIJOE <http://www.peak.ne.jp/> // +// ------------------------------------------------------------------------- // + +if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ; + +include_once( '../../../include/cp_header.php' ) ; + +include_once( 'mygrouppermform.php' ) ; +include_once( XOOPS_ROOT_PATH.'/class/xoopsblock.php' ) ; +include_once "../include/gtickets.php" ; + +$xoops_system_path = XOOPS_ROOT_PATH . '/modules/system' ; + +// language files +$language = $xoopsConfig['language'] ; +if( ! file_exists( "$xoops_system_path/language/$language/admin/blocksadmin.php") ) $language = 'english' ; + +// to prevent from notice that constants already defined +$error_reporting_level = error_reporting( 0 ) ; +include_once( "$xoops_system_path/constants.php" ) ; +include_once( "$xoops_system_path/language/$language/admin.php" ) ; +include_once( "$xoops_system_path/language/$language/admin/blocksadmin.php" ) ; +error_reporting( $error_reporting_level ) ; + +$group_defs = file( "$xoops_system_path/language/$language/admin/groups.php" ) ; +foreach( $group_defs as $def ) { + if( strstr( $def , '_AM_ACCESSRIGHTS' ) || strstr( $def , '_AM_ACTIVERIGHTS' ) ) eval( $def ) ; +} + + +// check $xoopsModule +if( ! is_object( $xoopsModule ) ) redirect_header( XOOPS_URL.'/user.php' , 1 , _NOPERM ) ; + +// set target_module if specified by $_GET['dirname'] +$module_handler =& xoops_gethandler('module'); +if( ! empty( $_GET['dirname'] ) ) { + $target_module =& $module_handler->getByDirname($_GET['dirname']); +}/* else if( ! empty( $_GET['mid'] ) ) { + $target_module =& $module_handler->get( intval( $_GET['mid'] ) ); +}*/ + +if( ! empty( $target_module ) && is_object( $target_module ) ) { + // specified by dirname + $target_mid = $target_module->getVar( 'mid' ) ; + $target_mname = $target_module->getVar( 'name' ) . " " . sprintf( "(%2.2f)" , $target_module->getVar('version') / 100.0 ) ; + $query4redirect = '?dirname='.urlencode(strip_tags($_GET['dirname'])) ; +} else if( isset( $_GET['mid'] ) && $_GET['mid'] == 0 || $xoopsModule->getVar('dirname') == 'blocksadmin' ) { + $target_mid = 0 ; + $target_mname = '' ; + $query4redirect = '?mid=0' ; +} else { + $target_mid = $xoopsModule->getVar( 'mid' ) ; + $target_mname = $xoopsModule->getVar( 'name' ) ; + $query4redirect = '' ; +} + +// check access right (needs system_admin of BLOCK) +$sysperm_handler =& xoops_gethandler('groupperm'); +if (!$sysperm_handler->checkRight('system_admin', XOOPS_SYSTEM_BLOCK, $xoopsUser->getGroups())) redirect_header( XOOPS_URL.'/user.php' , 1 , _NOPERM ) ; + +// get blocks owned by the module (Imported from xoopsblock.php then modified) +$db =& Database::getInstance(); +$sql = "SELECT bid,name,show_func,func_file,template FROM ".$db->prefix("newblocks")." WHERE mid='$target_mid'"; +$result = $db->query($sql); +$block_arr = array(); +while( list( $bid , $bname , $show_func , $func_file , $template ) = $db->fetchRow( $result ) ) { + $block_arr[$bid] = array( + 'name' => $bname , + 'show_func' => $show_func , + 'func_file' => $func_file , + 'template' => $template + ) ; +} + + +// for 2.2 +function list_blockinstances() +{ + global $query4redirect , $block_arr , $xoopsGTicket ; + + $myts =& MyTextSanitizer::getInstance() ; + + // cachetime options + $cachetimes = array('0' => _NOCACHE, '30' => sprintf(_SECONDS, 30), '60' => _MINUTE, '300' => sprintf(_MINUTES, 5), '1800' => sprintf(_MINUTES, 30), '3600' => _HOUR, '18000' => sprintf(_HOURS, 5), '86400' => _DAY, '259200' => sprintf(_DAYS, 3), '604800' => _WEEK, '2592000' => _MONTH); + + // displaying TH + echo " + <form action='admin.php' name='blockadmin' method='post'> + <table width='95%' class='outer' cellpadding='4' cellspacing='1'> + <tr valign='middle'> + <th>"._AM_TITLE."</th> + <th align='center' nowrap='nowrap'>"._AM_SIDE."</th> + <th align='center'>"._AM_WEIGHT."</th> + <th align='center'>"._AM_VISIBLEIN."</th> + <th align='center'>"._AM_BCACHETIME."</th> + <th align='right'>"._AM_ACTION."</th> + </tr>\n" ; + + // get block instances + $crit = new Criteria("bid", "(".implode(",",array_keys($block_arr)).")", "IN"); + $criteria = new CriteriaCompo($crit); + $criteria->setSort('visible DESC, side ASC, weight'); + $instance_handler =& xoops_gethandler('blockinstance'); + $instances =& $instance_handler->getObjects($criteria, true, true); + + //Get modules and pages for visible in + $module_list[_AM_SYSTEMLEVEL]["0-2"] = _AM_ADMINBLOCK; + $module_list[_AM_SYSTEMLEVEL]["0-1"] = _AM_TOPPAGE; + $module_list[_AM_SYSTEMLEVEL]["0-0"] = _AM_ALLPAGES; + $criteria = new CriteriaCompo(new Criteria('hasmain', 1)); + $criteria->add(new Criteria('isactive', 1)); + $module_handler =& xoops_gethandler('module'); + $module_main =& $module_handler->getObjects($criteria, true, true); + if (count($module_main) > 0) { + foreach (array_keys($module_main) as $mid) { + $module_list[$module_main[$mid]->getVar('name')][$mid."-0"] = _AM_ALLMODULEPAGES; + $pages = $module_main[$mid]->getInfo("pages"); + if ($pages == false) { + $pages = $module_main[$mid]->getInfo("sub"); + } + if (is_array($pages) && $pages != array()) { + foreach ($pages as $id => $pageinfo) { + $module_list[$module_main[$mid]->getVar('name')][$mid."-".$id] = $pageinfo['name']; + } + } + } + } + + // blocks displaying loop + $class = 'even' ; + $block_configs = get_block_configs() ; + foreach( array_keys( $instances ) as $i ) { + $sseln = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = ""; + $scoln = $scol0 = $scol1 = $scol2 = $scol3 = $scol4 = "#FFFFFF"; + + $weight = $instances[$i]->getVar("weight") ; + $title = $instances[$i]->getVar("title") ; + $bcachetime = $instances[$i]->getVar("bcachetime") ; + $bid = $instances[$i]->getVar("bid") ; + $name = $myts->makeTboxData4Edit( $block_arr[$bid]['name'] ) ; + + $visiblein = $instances[$i]->getVisibleIn(); + + // visible and side + if ( $instances[$i]->getVar("visible") != 1 ) { + $sseln = " checked='checked'"; + $scoln = "#FF0000"; + } else switch( $instances[$i]->getVar("side") ) { + default : + case XOOPS_SIDEBLOCK_LEFT : + $ssel0 = " checked='checked'"; + $scol0 = "#00FF00"; + break ; + case XOOPS_SIDEBLOCK_RIGHT : + $ssel1 = " checked='checked'"; + $scol1 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_LEFT : + $ssel2 = " checked='checked'"; + $scol2 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_RIGHT : + $ssel4 = " checked='checked'"; + $scol4 = "#00FF00"; + break ; + case XOOPS_CENTERBLOCK_CENTER : + $ssel3 = " checked='checked'"; + $scol3 = "#00FF00"; + break ; + } + + // bcachetime + $cachetime_options = '' ; + foreach( $cachetimes as $cachetime => $cachetime_name ) { + if( $bcachetime == $cachetime ) { + $cachetime_options .= "<option value='$cachetime' selected='selected'>$cachetime_name</option>\n" ; + } else { + $cachetime_options .= "<option value='$cachetime'>$cachetime_name</option>\n" ; + } + } + + $module_options = '' ; + foreach( $module_list as $mname => $module ) { + $module_options .= "<optgroup label='$mname'>\n" ; + foreach( $module as $mkey => $mval ) { + if( in_array( $mkey , $visiblein ) ) { + $module_options .= "<option value='$mkey' selected='selected'>$mval</option>\n" ; + } else { + $module_options .= "<option label='$mval' value='$mkey'>$mval</option>\n" ; + } + } + $module_options .= "</optgroup>\n" ; + } + + // delete link if it is cloned block + $delete_link = "<br /><a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=delete&id=$i&selmod=$mid'>"._DELETE."</a>" ; + + // displaying part + echo " + <tr valign='middle'> + <td class='$class'> + $name + <br /> + <input type='text' name='title[$i]' value='$title' size='20' /> + </td> + <td class='$class' align='center' nowrap='nowrap' width='125px'> + <div style='float:left;background-color:$scol0;'> + <input type='radio' name='side[$i]' value='".XOOPS_SIDEBLOCK_LEFT."' style='background-color:$scol0;' $ssel0 /> + </div> + <div style='float:left;'>-</div> + <div style='float:left;background-color:$scol2;'> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_LEFT."' style='background-color:$scol2;' $ssel2 /> + </div> + <div style='float:left;background-color:$scol3;'> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_CENTER."' style='background-color:$scol3;' $ssel3 /> + </div> + <div style='float:left;background-color:$scol4;'> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_RIGHT."' style='background-color:$scol4;' $ssel4 /> + </div> + <div style='float:left;'>-</div> + <div style='float:left;background-color:$scol1;'> + <input type='radio' name='side[$i]' value='".XOOPS_SIDEBLOCK_RIGHT."' style='background-color:$scol1;' $ssel1 /> + </div> + <br /> + <br /> + <div style='float:left;width:40px;'> </div> + <div style='float:left;background-color:$scoln;'> + <input type='radio' name='side[$i]' value='-1' style='background-color:$scoln;' $sseln /> + </div> + <div style='float:left;'>"._NONE."</div> + </td> + <td class='$class' align='center'> + <input type='text' name=weight[$i] value='$weight' size='3' maxlength='5' style='text-align:right;' /> + </td> + <td class='$class' align='center'> + <select name='bmodule[$i][]' size='5' multiple='multiple'> + $module_options + </select> + </td> + <td class='$class' align='center'> + <select name='bcachetime[$i]' size='1'> + $cachetime_options + </select> + </td> + <td class='$class' align='right'> + <a href='".XOOPS_URL."/modules/system/admin.php?fct=blocksadmin&op=edit&id=$i'>"._EDIT."</a>{$delete_link} + <input type='hidden' name='id[$i]' value='$i' /> + </td> + </tr>\n" ; + + $class = ( $class == 'even' ) ? 'odd' : 'even' ; + } + + // list block classes for add (not instances) + foreach( $block_arr as $bid => $block ) { + + $description4show = '' ; + foreach( $block_configs as $bconf ) { + if( $block['show_func'] == $bconf['show_func'] && $block['func_file'] == $bconf['file'] && ( empty( $bconf['template'] ) || $block['template'] == $bconf['template'] ) ) { + if( ! empty( $bconf['description'] ) ) $description4show = $myts->makeTboxData4Show( $bconf['description'] ) ; + } + } + + echo " + <tr> + <td class='$class' align='left'> + ".$myts->makeTboxData4Edit($block['name'])." + </td> + <td class='$class' align='left' colspan='4'> + $description4show + </td> + <td class='$class' align='center'> + <input type='submit' name='addblock[$bid]' value='"._ADD."' /> + </td> + </tr> + \n" ; + $class = ( $class == 'even' ) ? 'odd' : 'even' ; + } + + echo " + <tr> + <td class='foot' align='center' colspan='6'> + <input type='hidden' name='query4redirect' value='$query4redirect' /> + <input type='hidden' name='fct' value='blocksadmin' /> + <input type='hidden' name='op' value='order2' /> + ".$xoopsGTicket->getTicketHtml( __LINE__ , 1800 , 'myblocksadmin' )." + <input type='submit' name='submit' value='"._SUBMIT."' /> + </td> + </tr> + </table> + </form>\n" ; +} + + +// for 2.2 +function list_groups2() +{ + global $target_mid , $target_mname , $xoopsDB ; + + $result = $xoopsDB->query( "SELECT i.instanceid,i.title FROM ".$xoopsDB->prefix("block_instance")." i LEFT JOIN ".$xoopsDB->prefix("newblocks")." b ON i.bid=b.bid WHERE b.mid='$target_mid'" ) ; + + $item_list = array() ; + while( list( $iid , $title ) = $xoopsDB->fetchRow( $result ) ) { + $item_list[ $iid ] = $title ; + } + + $form = new MyXoopsGroupPermForm( _MD_AM_ADGS , 1 , 'block_read' , '' ) ; + if( $target_mid > 1 ) { + $form->addAppendix( 'module_admin' , $target_mid , $target_mname . ' ' . _AM_ACTIVERIGHTS ) ; + $form->addAppendix( 'module_read' , $target_mid , $target_mname .' ' . _AM_ACCESSRIGHTS ) ; + } + foreach( $item_list as $item_id => $item_name) { + $form->addItem( $item_id , $item_name ) ; + } + echo $form->render() ; +} + + + +if( ! empty( $_POST['submit'] ) ) { + if ( ! $xoopsGTicket->check( true , 'myblocksadmin' ) ) { + redirect_header(XOOPS_URL.'/',3,$xoopsGTicket->getErrors()); + } + + include( "mygroupperm.php" ) ; + redirect_header( XOOPS_URL."/modules/".$xoopsModule->dirname()."/admin/myblocksadmin.php$query4redirect" , 1 , _MD_AM_DBUPDATED ); +} + +xoops_cp_header() ; +if( file_exists( './mymenu.php' ) ) include( './mymenu.php' ) ; + +echo "<h3 style='text-align:left;'>$target_mname</h3>\n" ; + +if( ! empty( $block_arr ) ) { + echo "<h4 style='text-align:left;'>"._AM_BADMIN."</h4>\n" ; + list_blockinstances() ; +} + +list_groups2() ; +xoops_cp_footer() ; + + +?> Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/myblocksadmin2.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/mygroupperm.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/mygroupperm.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/mygroupperm.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,95 @@ +<?php + +if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ; + +function myDeleteByModule($DB, $gperm_modid, $gperm_name = null, $gperm_itemid = null) +{ + $criteria = new CriteriaCompo(new Criteria('gperm_modid', intval($gperm_modid))); + if (isset($gperm_name)) { + $criteria->add(new Criteria('gperm_name', $gperm_name)); + if (isset($gperm_itemid)) { + $criteria->add(new Criteria('gperm_itemid', intval($gperm_itemid))); + } + } + $sql = "DELETE FROM ".$DB->prefix('group_permission').' '.$criteria->renderWhere(); + if (!$result = $DB->query($sql)) { + return false; + } + return true; +} + + + +// include '../../../include/cp_header.php'; GIJ +$modid = isset($_POST['modid']) ? intval($_POST['modid']) : 1; +// we dont want system module permissions to be changed here ( 1 -> 0 GIJ) +if ($modid <= 0 || !is_object($xoopsUser) || !$xoopsUser->isAdmin($modid)) { + redirect_header(XOOPS_URL.'/user.php', 1, _NOPERM); + exit(); +} +$module_handler =& xoops_gethandler('module'); +$module =& $module_handler->get($modid); +if (!is_object($module) || !$module->getVar('isactive')) { + redirect_header(XOOPS_URL.'/admin.php', 1, _MODULENOEXIST); + exit(); +} +$member_handler =& xoops_gethandler('member'); +$group_list = $member_handler->getGroupList(); +if (is_array($_POST['perms']) && !empty($_POST['perms'])) { + $gperm_handler = xoops_gethandler('groupperm'); + foreach ($_POST['perms'] as $perm_name => $perm_data) { + foreach( $perm_data['itemname' ] as $item_id => $item_name ) { + // checking code + // echo "<pre>" ; + // var_dump( $_POST['perms'] ) ; + // exit ; + if (false != myDeleteByModule($gperm_handler->db,$modid,$perm_name,$item_id)) { + if( empty( $perm_data['groups'] ) ) continue ; + foreach ($perm_data['groups'] as $group_id => $item_ids) { + // foreach ($item_ids as $item_id => $selected) { + $selected = isset( $item_ids[ $item_id ] ) ? $item_ids[ $item_id ] : 0 ; + if ($selected == 1) { + // make sure that all parent ids are selected as well + if ($perm_data['parents'][$item_id] != '') { + $parent_ids = explode(':', $perm_data['parents'][$item_id]); + foreach ($parent_ids as $pid) { + if ($pid != 0 && !in_array($pid, array_keys($item_ids))) { + // one of the parent items were not selected, so skip this item + $msg[] = sprintf(_MD_AM_PERMADDNG, '<b>'.$perm_name.'</b>', '<b>'.$perm_data['itemname'][$item_id].'</b>', '<b>'.$group_list[$group_id].'</b>').' ('._MD_AM_PERMADDNGP.')'; + continue 2; + } + } + } + $gperm =& $gperm_handler->create(); + $gperm->setVar('gperm_groupid', $group_id); + $gperm->setVar('gperm_name', $perm_name); + $gperm->setVar('gperm_modid', $modid); + $gperm->setVar('gperm_itemid', $item_id); + if (!$gperm_handler->insert($gperm)) { + $msg[] = sprintf(_MD_AM_PERMADDNG, '<b>'.$perm_name.'</b>', '<b>'.$perm_data['itemname'][$item_id].'</b>', '<b>'.$group_list[$group_id].'</b>'); + } else { + $msg[] = sprintf(_MD_AM_PERMADDOK, '<b>'.$perm_name.'</b>', '<b>'.$perm_data['itemname'][$item_id].'</b>', '<b>'.$group_list[$group_id].'</b>'); + } + unset($gperm); + } + } + } else { + $msg[] = sprintf(_MD_AM_PERMRESETNG, $module->getVar('name')); + } + } + } +} +/* +$backlink = XOOPS_URL.'/admin.php'; +if ($module->getVar('hasadmin')) { + $adminindex = $module->getInfo('adminindex'); + if ($adminindex) { + $backlink = XOOPS_URL.'/modules/'.$module->getVar('dirname').'/'.$adminindex; + } +} + +$msg[] = '<br /><br /><a href="'.$backlink.'">'._BACK.'</a>'; +xoops_cp_header(); +xoops_result($msg); +xoops_cp_footer(); GIJ */ +?> \ No newline at end of file Property changes on: XoopsModules/latestnews/trunk/latestnews/admin/mygroupperm.php ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Rev URL \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: XoopsModules/latestnews/trunk/latestnews/admin/mygrouppermform.php =================================================================== --- XoopsModules/latestnews/trunk/latestnews/admin/mygrouppermform.php (rev 0) +++ XoopsModules/latestnews/trunk/latestnews/admin/mygrouppermform.php 2013-09-26 17:25:18 UTC (rev 12099) @@ -0,0 +1,378 @@ +<?php +// $Id$ +// ------------------------------------------------------------------------ // +// XOOPS - PHP Content Management System // +// Copyright (c) 2000-2003 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 // +// ------------------------------------------------------------------------- // + +if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ; + +require_once XOOPS_ROOT_PATH.'/class/xoopsform/formelement.php'; +require_once XOOPS_ROOT_PATH.'/class/xoopsform/formhidden.php'; +require_once XOOPS_ROOT_PATH.'/class/xoopsform/formbutton.php'; +require_once XOOPS_ROOT_PATH.'/class/xoopsform/formelementtray.php'; +require_once XOOPS_ROOT_PATH.'/class/xoopsform/form.php'; + +/** + * Renders a form for setting module specific group permissions + * + * @author Kazumi Ono <on...@my...> + * @copyright copyright (c) 2000-2003 XOOPS.org + * + * @package kernel + * @subpackage form + */ +class MyXoopsGroupPermForm extends XoopsForm +{ + + /** + * Module ID + * @var int + */ + var $_modid; + /** + * Tree structure of items + * @var a... [truncated message content] |