From: <wis...@us...> - 2009-03-21 09:30:00
|
Revision: 3048 http://xoops.svn.sourceforge.net/xoops/?rev=3048&view=rev Author: wishcraft Date: 2009-03-21 09:29:50 +0000 (Sat, 21 Mar 2009) Log Message: ----------- 1.17 RC - Multisite Module for XOOPS 2.3.x Added Paths: ----------- XoopsModules/multisite/releases/1.17 RC/ XoopsModules/multisite/releases/1.17 RC/admin/ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blockform.php XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blocksadmin.php XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/index.html XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/main.php XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/ XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/domainsadmin.php XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/index.html XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/main.php XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin/groupperm.php XoopsModules/multisite/releases/1.17 RC/admin/index.html XoopsModules/multisite/releases/1.17 RC/admin/menu.php XoopsModules/multisite/releases/1.17 RC/admin/modulesadmin/ XoopsModules/multisite/releases/1.17 RC/admin/modulesadmin/index.html XoopsModules/multisite/releases/1.17 RC/admin/modulesadmin/main.php XoopsModules/multisite/releases/1.17 RC/admin/modulesadmin/modulesadmin.php XoopsModules/multisite/releases/1.17 RC/admin/modulesadmin/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin/policiesadmin/ XoopsModules/multisite/releases/1.17 RC/admin/policiesadmin/index.html XoopsModules/multisite/releases/1.17 RC/admin/policiesadmin/main.php XoopsModules/multisite/releases/1.17 RC/admin/policiesadmin/policiesadmin.php XoopsModules/multisite/releases/1.17 RC/admin/policiesadmin/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin/preferences/ XoopsModules/multisite/releases/1.17 RC/admin/preferences/index.html XoopsModules/multisite/releases/1.17 RC/admin/preferences/main.php XoopsModules/multisite/releases/1.17 RC/admin/preferences/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin/version/ XoopsModules/multisite/releases/1.17 RC/admin/version/index.html XoopsModules/multisite/releases/1.17 RC/admin/version/main.php XoopsModules/multisite/releases/1.17 RC/admin/version/s_poweredby.gif XoopsModules/multisite/releases/1.17 RC/admin/version/xoops_version.php XoopsModules/multisite/releases/1.17 RC/admin.php XoopsModules/multisite/releases/1.17 RC/blocks/ XoopsModules/multisite/releases/1.17 RC/blocks/index.html XoopsModules/multisite/releases/1.17 RC/blocks/multisite_blocks.php XoopsModules/multisite/releases/1.17 RC/class/ XoopsModules/multisite/releases/1.17 RC/class/block.php XoopsModules/multisite/releases/1.17 RC/class/domain.php XoopsModules/multisite/releases/1.17 RC/class/domaincategory.php XoopsModules/multisite/releases/1.17 RC/class/domainitem.php XoopsModules/multisite/releases/1.17 RC/class/domainoption.php XoopsModules/multisite/releases/1.17 RC/class/feeds.php XoopsModules/multisite/releases/1.17 RC/class/formselectdomains.php XoopsModules/multisite/releases/1.17 RC/class/module.php XoopsModules/multisite/releases/1.17 RC/class/policy.php XoopsModules/multisite/releases/1.17 RC/constants.php XoopsModules/multisite/releases/1.17 RC/images/ XoopsModules/multisite/releases/1.17 RC/images/Thumbs.db XoopsModules/multisite/releases/1.17 RC/images/bg_content.gif XoopsModules/multisite/releases/1.17 RC/images/bg_menu.gif XoopsModules/multisite/releases/1.17 RC/images/check.gif XoopsModules/multisite/releases/1.17 RC/images/delete.png XoopsModules/multisite/releases/1.17 RC/images/edit.png XoopsModules/multisite/releases/1.17 RC/images/hbar_left.gif XoopsModules/multisite/releases/1.17 RC/images/hbar_middle.gif XoopsModules/multisite/releases/1.17 RC/images/hbar_right.gif XoopsModules/multisite/releases/1.17 RC/images/index.html XoopsModules/multisite/releases/1.17 RC/images/info.gif XoopsModules/multisite/releases/1.17 RC/images/install.gif XoopsModules/multisite/releases/1.17 RC/images/left_both.gif XoopsModules/multisite/releases/1.17 RC/images/logo.gif XoopsModules/multisite/releases/1.17 RC/images/menu.gif XoopsModules/multisite/releases/1.17 RC/images/multisite_slogo.gif XoopsModules/multisite/releases/1.17 RC/images/powered_by_xoops.gif XoopsModules/multisite/releases/1.17 RC/images/right_both.gif XoopsModules/multisite/releases/1.17 RC/images/uninstall.gif XoopsModules/multisite/releases/1.17 RC/images/update.gif XoopsModules/multisite/releases/1.17 RC/images/xoops2.gif XoopsModules/multisite/releases/1.17 RC/include/ XoopsModules/multisite/releases/1.17 RC/include/functions.php XoopsModules/multisite/releases/1.17 RC/include/index.html XoopsModules/multisite/releases/1.17 RC/include/install.php XoopsModules/multisite/releases/1.17 RC/include/uninstall.php XoopsModules/multisite/releases/1.17 RC/include/update.php XoopsModules/multisite/releases/1.17 RC/index.html XoopsModules/multisite/releases/1.17 RC/language/ XoopsModules/multisite/releases/1.17 RC/language/english/ XoopsModules/multisite/releases/1.17 RC/language/english/admin/ XoopsModules/multisite/releases/1.17 RC/language/english/admin/blocksadmin.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/comments.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/domainsadmin.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/index.html XoopsModules/multisite/releases/1.17 RC/language/english/admin/modulesadmin.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/policiesadmin.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/preferences.php XoopsModules/multisite/releases/1.17 RC/language/english/admin/version.php XoopsModules/multisite/releases/1.17 RC/language/english/admin.php XoopsModules/multisite/releases/1.17 RC/language/english/blocks.php XoopsModules/multisite/releases/1.17 RC/language/english/cpanel.php XoopsModules/multisite/releases/1.17 RC/language/english/index.html XoopsModules/multisite/releases/1.17 RC/language/english/modinfo.php XoopsModules/multisite/releases/1.17 RC/language/index.html XoopsModules/multisite/releases/1.17 RC/menu.php XoopsModules/multisite/releases/1.17 RC/post.load.php XoopsModules/multisite/releases/1.17 RC/pre.load.php XoopsModules/multisite/releases/1.17 RC/sql/ XoopsModules/multisite/releases/1.17 RC/sql/multisite.sql XoopsModules/multisite/releases/1.17 RC/style.css XoopsModules/multisite/releases/1.17 RC/templates/ XoopsModules/multisite/releases/1.17 RC/templates/blocks/ XoopsModules/multisite/releases/1.17 RC/templates/blocks/index.html XoopsModules/multisite/releases/1.17 RC/templates/blocks/multisite_block_mainmenu.html XoopsModules/multisite/releases/1.17 RC/templates/index.html XoopsModules/multisite/releases/1.17 RC/templates/multisite_atom.html XoopsModules/multisite/releases/1.17 RC/templates/multisite_rss.html XoopsModules/multisite/releases/1.17 RC/templates/multisite_sitemap.html XoopsModules/multisite/releases/1.17 RC/xoops_version.php Added: XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blockform.php =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blockform.php (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blockform.php 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1,109 @@ +<?php +// $Id: blockform.php 1993 2008-08-30 10:49:06Z phppp $ +// ------------------------------------------------------------------------ // +// 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 // +// ------------------------------------------------------------------------ // + +include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php"; +$form = new XoopsThemeForm($block['form_title'], 'blockform', 'admin.php', "post", true); +if (isset($block['name'])) { + $form->addElement(new XoopsFormLabel(_AM_NAME, $block['name'])); +} +$side_select = new XoopsFormSelect(_AM_BLKTYPE, "bside", $block['side']); +$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_getmodulehandler('module','multisite'); +$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'] ) { + $textarea = new XoopsFormDhtmlTextArea(_AM_CONTENT, 'bcontent', $block['content'], 15, 70); + $textarea->setDescription('<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>'); + $textarea->doHtml = true; + $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'] != '') { + $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/multisite/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/multisite/admin.php?fct=tplsets&op=edittpl&id='.$btemplate2[0]->getVar('tpl_id').'" rel="external">'._AM_EDITTPL.'</a>')); + } + } + } + if ($block['edit_form'] != false) { + $form->addElement(new XoopsFormLabel(_AM_OPTIONS, $block['edit_form'])); + } +} + + +$domain_select = new XoopsFormSelect(_AM_DOMAINSIN, "domains", explode('|',$block['domains']), 5, true); +$module_handler =& xoops_getmodulehandler('module','multisite'); +$module =& $module_handler->getByDirname('multisite'); +$domain_handler =& xoops_getmodulehandler('domain', 'multisite'); + +$critera_z = new CriteriaCompo(new Criteria('dom_modid', $module->getVar('mid'))); +$critera_z->add(new Criteria('dom_catid', XOOPS_DOMAIN)) ; +$critera_z->add(new Criteria('dom_name', 'domain')) ; +$domains = $domain_handler->getDomains($critera_z); + +$domain_list['all'] = _AM_ALLDOMAINS; +foreach($domains as $domain) + $domain_list[$domain->getVar('dom_value')] = $domain->getVar('dom_value'); + +$domain_select->addOptionArray($domain_list); +$form->addElement($domain_select); + + +$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('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', _SUBMIT, "submit")); +$form->addElement($button_tray); +?> Added: XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blocksadmin.php =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blocksadmin.php (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/blocksadmin.php 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1,662 @@ +<?php +/* + 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. +*/ + +/** + * XOOPS Block management + * + * @copyright The XOOPS project http://www.xoops.org/ + * @license http://www.fsf.org/copyleft/gpl.html GNU public license + * @package kernel + * @since 2.0 + * @author Kazumi Ono (AKA onokazu) http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ + * @author Skalpa Keo <sk...@xo...> + * @author Taiwen Jiang <ph...@us...> + * @author Steven Li <ph...@us...> + * @version $Id: blocksadmin.php 2879 2009-02-27 00:53:34Z wishcraft $ + * @package class + * @todo zone evolution + */ + +if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + exit("Access Denied"); +} + +include_once XOOPS_ROOT_PATH.'/modules/multisite/class/block.php'; + +function list_blocks() +{ + global $xoopsUser, $xoopsConfig, $xoopsDB; + include_once XOOPS_ROOT_PATH.'/class/xoopslists.php'; + + $module_handler =& xoops_getmodulehandler('module','multisite'); + $criteria = new CriteriaCompo(new Criteria('hasmain', 1)); + $criteria->add(new Criteria('isactive', 1)); + // Modules for blocks to be visible in + $display_list = $module_handler->getList($criteria); + unset($criteria); + // Modules generating the blocks + $generator_list = $module_handler->getList(); + // for custom blocks + $generator_list[0] = _AM_CUSTOM; + + $module_handler =& xoops_getmodulehandler('module','multisite'); + $module =& $module_handler->getByDirname('multisite'); + $domains_handler =& xoops_getmodulehandler('domain', 'multisite'); + + $critera_z = new CriteriaCompo(new Criteria('dom_catid', XOOPS_DOMAIN)); + $critera_z->add(new Criteria('dom_name', 'domain')) ; + $domains = $domains_handler->getDomains($critera_z); + + $domain_list['all'] = _AM_ALLDOMAINS; + foreach($domains as $domain) + $domain_list[$domain->getVar('dom_value')] = $domain->getVar('dom_value'); + + $selmod = isset($_GET['selmod']) ? intval($_GET['selmod']) : -1; + $selgen = isset($_GET['selgen']) ? intval($_GET['selgen']) : 1; + $selvis = isset($_GET['selvis']) ? intval($_GET['selvis']) : -1; + $selgrp = isset($_GET['selgrp']) ? intval($_GET['selgrp']) : XOOPS_GROUP_USERS; + $seldom = isset($_GET['seldom']) ? intval($_GET['seldom']) : 'all'; + + echo "<h4>"._AM_BADMIN."</h4>"; + + // For selection of generated by + echo '<form action="admin.php" method="get">'; + $form = "<select size=\"1\" name=\"selgen\" onchange=\"location='".XOOPS_URL."/modules/multisite/admin.php?fct=blocksadmin&selmod=$selmod&selvis=$selvis&selgrp=$selgrp&selgen='+this.options[this.selectedIndex].value\">"; + $generator_list[-1] = _AM_TYPES; + ksort($generator_list); + foreach ($generator_list as $k => $v) { + $form .= '<option value="'.$k.'"' . ($k == $selgen ? ' selected="selected"' : '') . '>'.$v.'</option>'; + } + $form .= '</select> '; + printf(_AM_GENERATOR, $form); + + // For selection of visible in + $form = "<select size=\"1\" name=\"seldom\" onchange=\"location='".XOOPS_URL."/modules/multisite/admin.php?fct=blocksadmin&selgen=$selgen&selvis=$selvis&selgrp=$selgrp&selmod=$selmod&seldom='+this.options[this.selectedIndex].value\">"; + //$toponlyblock = false; + foreach ($domain_list as $k => $v) { + $form .= '<option value="'.$k.'"' . ($k == $seldom ? ' selected="selected"' : '') . '>'.$v.'</option>'; + } + $form .= '</select> '; // <input type="hidden" name="fct" value="blocksadmin" />'; + printf(_AM_DOMAINSINSEL, $form); + + // For selection of visible in + $form = "<select size=\"1\" name=\"selmod\" onchange=\"location='".XOOPS_URL."/modules/multisite/admin.php?fct=blocksadmin&selgen=$selgen&seldom=$seldom&selvis=$selvis&selgrp=$selgrp&selmod='+this.options[this.selectedIndex].value\">"; + //$toponlyblock = false; + ksort($display_list); + $display_list_spec[-2] = _AM_TYPES; + $display_list_spec[0] = _AM_ALLPAGES; + $display_list_spec[-1] = _AM_TOPPAGE; + $display_list = $display_list_spec + $display_list; + foreach ($display_list as $k => $v) { + $form .= '<option value="'.$k.'"' . ($k == $selmod ? ' selected="selected"' : '') . '>'.$v.'</option>'; + } + $form .= '</select> '; // <input type="hidden" name="fct" value="blocksadmin" />'; + printf(_AM_SVISIBLEIN, $form); + unset($display_list[-2]); + + // For selection of group access + $member_handler =& xoops_gethandler('member'); + $group_list = $member_handler->getGroupList(); + $group_sel = _AM_GROUP." <select size=\"1\" name=\"selgrp\" onchange=\"location='".XOOPS_URL."/modules/multisite/admin.php?fct=blocksadmin&selgen=$selgen&selvis=$selvis&seldom=$seldom&selmod=$selmod&selgrp='+this.options[this.selectedIndex].value\">"; + $group_list[0] = _AM_UNASSIGNED; + $group_list[-1] = _AM_TYPES; + foreach ($group_list as $k => $v) { + $group_sel .= '<option value="'.$k.'"' . ($k == $selgrp ? ' selected="selected"' : '') . '>'.$v.'</option>'; + } + $group_sel .= '</select> '; + echo $group_sel; + + // For selection of visiblility + echo _AM_VISIBLE." <select size=\"1\" name=\"selvis\" onchange=\"location='".XOOPS_URL."/modules/multisite/admin.php?fct=blocksadmin&selgen=$selgen&selmod=$selmod&seldom=$seldom&selgrp=$selgrp&selvis='+this.options[this.selectedIndex].value\">"; + echo '<option value="0"' . ($selvis == 0 ? ' selected="selected"' : '') . '>'._NO.'</option>'; + echo '<option value="1"' . ($selvis == 1 ? ' selected="selected"' : '') . '>'._YES.'</option>'; + echo '<option value="-1"' . ($selvis == -1 ? ' selected="selected"' : '') . '>'._AM_TYPES.'</option>'; + echo '</select> <input type="hidden" name="fct" value="blocksadmin" /><input type="submit" value="'._GO.'" name="selsubmit" />'; + echo '</form><br />'; + + echo "<form action='admin.php' name='blockadmin' method='post'> + <table width='100%' class='outer' cellpadding='4' cellspacing='1'> + <tr valign='middle' align='center'> + <th width='15%'>"._AM_TITLE."</th> + <th width='20%'>"._AM_BLKDESC."</th> + <th width='10%'>"._AM_MODULE."</th> + <th width='10%' nowrap='nowrap'>"._AM_SIDE."<br />"._LEFT."-"._CENTER."-"._RIGHT."</th> + <th width='10%'>"._AM_VISIBLEIN."</th> + <th width='10%'>"._AM_DOMAINSIN."</th> + <th width='10%'>"._AM_BCACHETIME."</th> + <th width='10%'>"._AM_VISIBLE."</th> + <th width='10%'>"._AM_WEIGHT."</th> + <th>"._AM_ACTION."</th> + </tr> + "; + if ($selvis == -1) { + //$selvis = null; + } + + $order_block = ( isset($selvis) ? "" : "b.visible DESC, " ) . "b.side,b.weight,b.bid"; + $vis_block = ( $selvis == -1 ) ? null : $selvis; + $mod_block = ( $selmod == -2 ) ? null : $selmod; + if ($selgrp == 0) { + // get blocks that are not assigned to any groups + $block_arr = MultisiteBlock::getNonGroupedBlocks($mod_block, $toponlyblock = false, $vis_block, $order_block. true, false); + } else { + $grp_block = ( $selgrp == -1 ) ? null : $selgrp; + $block_arr = MultisiteBlock::getAllByGroupModule($grp_block, $mod_block, $toponlyblock = false, $vis_block, $order_block, true, false); + } + if ($selgen >= 0) { + foreach (array_keys($block_arr) as $bid) { + if ($block_arr[$bid]->getVar("mid") != $selgen) { + unset($block_arr[$bid]); + } + } + } + if ($seldom != 'all') { + foreach (array_keys($block_arr) as $bid) { + if (!in_array($seldom,explode('|',$block_arr[$bid]->getVar("domains")))) { + unset($block_arr[$bid]); + } + } + } + //xoops_result(array_keys($block_arr)); + $block_count = count($block_arr); + $class = 'even'; + + $block_mod = array(); + if ($block_count) { + $sql = 'SELECT block_id, module_id FROM '.$xoopsDB->prefix('block_module_link').' WHERE block_id IN (' . implode(', ', array_keys($block_arr)) . ')'; + $result = $xoopsDB->query($sql); + while ($row = $xoopsDB->fetchArray($result)) { + $block_mod[$row['block_id']][] = $row['module_id']; + } + } + + $bcachetime = 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) ; + + foreach (array_keys($block_arr) as $i) { + $module_options = ''; + foreach ( $display_list as $key => $mod ) { + if ( !empty($block_mod[$i]) && in_array($key, $block_mod[$i]) ) { + $module_options .= "<option value='$key' selected='selected'>$mod</a>" ; + } else { + $module_options .= "<option value='$key'>$mod</a>" ; + } + } + + $domain_options = ''; + foreach ( $domain_list as $key => $mod ) { + if ( strpos(' '.$block_arr[$i]->getVar('domains'),$key) ) { + $domain_options .= "<option value='$key' selected='selected'>$mod</a>" ; + } else { + $domain_options .= "<option value='$key'>$mod</a>" ; + } + } + $cachetime_options = ''; + foreach ( $bcachetime as $key => $cachetime ) { + if ( $key == $block_arr[$i]->getVar('bcachetime') ) { + $cachetime_options .= "<option value='$key' selected='selected'>$cachetime</option>"; + } else { + $cachetime_options .= "<option value='$key'>$cachetime</option>"; + } + + } + + $sel0 = $sel1 = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = $ssel5 = $ssel6 = $ssel7 = ""; + if ( $block_arr[$i]->getVar("visible") == 1 ) { + $sel1 = " checked='checked'"; + } else { + $sel0 = " checked='checked'"; + } + if ( $block_arr[$i]->getVar("side") == XOOPS_SIDEBLOCK_LEFT) { + $ssel0 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_SIDEBLOCK_RIGHT ) { + $ssel1 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_LEFT ) { + $ssel2 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_RIGHT ) { + $ssel4 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_CENTER ) { + $ssel3 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_BOTTOMLEFT ) { + $ssel5 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_BOTTOMRIGHT ) { + $ssel6 = " checked='checked'"; + } elseif ( $block_arr[$i]->getVar("side") == XOOPS_CENTERBLOCK_BOTTOM ) { + $ssel7 = " checked='checked'"; + } + $title = $block_arr[$i]->getVar("title"); + $name = $block_arr[$i]->getVar("name"); + echo "<tr valign='top'> + <td class='$class'><input type='text' name=title[$i] value='".$title."' size='30' /></td> + <td class='$class'>".$name."</td> + <td class='$class'>".$generator_list[$block_arr[$i]->getVar('mid')]."</td> + <td class='$class' align='center' nowrap='nowrap'> + <div align='center' > + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_LEFT."'$ssel2 /> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_CENTER."'$ssel3 /> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_RIGHT."'$ssel4 /> + </div> + <div> + <span style='float:right'><input type='radio' name='side[$i]' value='".XOOPS_SIDEBLOCK_RIGHT."'$ssel1 /></span> + <div align='left'><input type='radio' name='side[$i]' value='".XOOPS_SIDEBLOCK_LEFT."'$ssel0 /></div> + </div> + <div align='center'> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_BOTTOMLEFT."'$ssel5 /> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_BOTTOM."'$ssel7 /> + <input type='radio' name='side[$i]' value='".XOOPS_CENTERBLOCK_BOTTOMRIGHT."'$ssel6 /> + </div> + </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='domains[$i][]' size='5' multiple='multiple'> + $domain_options + </select> + </td> + <td class='$class' align='center'> + <select name='bcachetime[$i]' size='1'> + $cachetime_options + </select> + </td> + <td class='$class' align='center' nowrap><input type='radio' name='visible[$i]' value='1'$sel1>"._YES." <input type='radio' name='visible[$i]' value='0'$sel0>"._NO."</td> + <td class='$class' align='center'><input type='text' name='weight[$i]' value='".$block_arr[$i]->getVar("weight")."' size='5' maxlength='5' /></td> + <td class='$class' align='right'><a href='admin.php?fct=blocksadmin&op=edit&bid=".$block_arr[$i]->getVar("bid")."'>"._EDIT."</a>"; + echo "<br /><a href='admin.php?fct=blocksadmin&op=clone&bid=".$block_arr[$i]->getVar("bid")."'>"._AM_CLONE."</a>"; + if ($block_arr[$i]->getVar('block_type') != 'S') { + echo "<br /><a href='admin.php?fct=blocksadmin&op=delete&bid=".$block_arr[$i]->getVar("bid")."'>"._DELETE."</a>"; + } + echo " + <input type='hidden' name='oldside[$i]' value='".$block_arr[$i]->getVar('side')."' /> + <input type='hidden' name='oldweight[$i]' value='".$block_arr[$i]->getVar('weight')."' /> + <input type='hidden' name='oldvisible[$i]' value='".$block_arr[$i]->getVar('visible')."' /> + <input type='hidden' name='oldbmodule[$i]' value='".@implode(',', $block_mod[$i])."'/> + <input type='hidden' name='oldtitle[$i]' value='".$block_arr[$i]->getVar('title')."'/> + <input type='hidden' name='oldbcachetime[$i]' value='".$block_arr[$i]->getVar('bcachetime')."'/> + <input type='hidden' name='bid[$i]' value='".$i."' /> + </td></tr> + "; + $class = ($class == 'even') ? 'odd' : 'even'; + } + echo "<tr><td class='foot' align='center' colspan='10'> + <input type='hidden' name='fct' value='blocksadmin' /> + <input type='hidden' name='op' value='order' /> + ".$GLOBALS['xoopsSecurity']->getTokenHTML()." + <input type='submit' name='submit' value='"._SUBMIT."' /> + </td></tr></table> + </form> + <br /><br />"; + + $block = array('form_title' => _AM_ADDBLOCK, 'side' => 0, 'weight' => 0, 'visible' => 1, 'title' => '', 'content' => '', 'modules' => array(-1), 'is_custom' => true, 'ctype' => 'H', 'cachetime' => 0, 'op' => 'save', 'edit_form' => false); + include XOOPS_ROOT_PATH.'/modules/multisite/admin/blocksadmin/blockform.php'; + $form->display(); +} + +function save_block($bside, $bweight, $bvisible, $btitle, $bcontent, $bctype, $bmodule, $bcachetime, $domains) +{ + global $xoopsUser; + if (empty($bmodule)) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + xoops_error(sprintf(_AM_NOTSELNG, _AM_VISIBLEIN)); + footer_adminMenu(); + xoops_cp_footer(); + exit(); + } + $myblock = new MultisiteBlock(); + $myblock->setVar('side', $bside); + $myblock->setVar('weight', $bweight); + $myblock->setVar('visible', $bvisible); + $myblock->setVar('weight', $bweight); + $myblock->setVar('title', $btitle); + $myblock->setVar('content', $bcontent); + $myblock->setVar('c_type', $bctype); + $myblock->setVar('block_type', 'C'); + $myblock->setVar('bcachetime', $bcachetime); + + if (isset($domains)) { + $domains_count = count($domains); + if ($domains_count > 0) { + //Convert array values to comma-separated + for ( $i = 0; $i < $domains_count; $i++ ) { + if (is_array($domains[$i])) { + $domains[$i] = implode(',', $domains[$i]); + } + } + $domains = implode('|', $domains); + $myblock->setVar('domains', '|'.$domains); + } + } + + switch ($bctype) { + case 'H': + $name = _AM_CUSTOMHTML; + break; + case 'P': + $name = _AM_CUSTOMPHP; + break; + case 'S': + $name = _AM_CUSTOMSMILE; + break; + default: + $name = _AM_CUSTOMNOSMILE; + break; + } + $myblock->setVar('name', $name); + $newid = $myblock->store(); + if (!$newid) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + $myblock->getHtmlErrors(); + footer_adminMenu(); + xoops_cp_footer(); + exit(); + } + $db =& Database::getInstance(); + foreach ($bmodule as $bmid) { + $sql = 'INSERT INTO '.$db->prefix('block_module_link').' (block_id, module_id) VALUES ('.$newid.', '.intval($bmid).')'; + $db->query($sql); + } + $groups = array(XOOPS_GROUP_ADMIN, XOOPS_GROUP_USERS, XOOPS_GROUP_ANONYMOUS); + $count = count($groups); + for ($i = 0; $i < $count; $i++) { + $sql = "INSERT INTO ".$db->prefix('group_permission')." (gperm_groupid, gperm_itemid, gperm_name, gperm_modid) VALUES (".$groups[$i].", ".$newid.", 'block_read', 1)"; + $db->query($sql); + } + redirect_header('admin.php?fct=blocksadmin&t='.time(),1,_AM_DBUPDATED); + exit(); +} + +function edit_block($bid) +{ + $myblock = new MultisiteBlock($bid); + $db =& Database::getInstance(); + $sql = 'SELECT module_id FROM '.$db->prefix('block_module_link').' WHERE block_id='.intval($bid); + $result = $db->query($sql); + $modules = array(); + while ($row = $db->fetchArray($result)) { + $modules[] = intval($row['module_id']); + } + $is_custom = $myblock->isCustom(); + $block = array('form_title' => _AM_EDITBLOCK, 'name' => $myblock->getVar('name'), 'side' => $myblock->getVar('side'), 'weight' => $myblock->getVar('weight'), 'visible' => $myblock->getVar('visible'), 'title' => $myblock->getVar('title', 'E'), 'content' => $myblock->getVar('content', 'E'), 'modules' => $modules, 'is_custom' => $is_custom, 'ctype' => $myblock->getVar('c_type'), 'cachetime' => $myblock->getVar('bcachetime'), 'op' => 'update', 'bid' => $myblock->getVar('bid'), 'edit_form' => $myblock->getOptions(), 'template' => $myblock->getVar('template'), 'options' => $myblock->getVar('options'), 'domains' => $myblock->getVar('domains')); + echo '<a href="admin.php?fct=blocksadmin">'. _AM_BADMIN .'</a> <span style="font-weight:bold;">»»</span> '._AM_EDITBLOCK.'<br /><br />'; + include XOOPS_ROOT_PATH.'/modules/multisite/admin/blocksadmin/blockform.php'; + $form->display(); +} + +function update_block($bid, $bside, $bweight, $bvisible, $btitle, $bcontent, $bctype, $bcachetime, $bmodule, $domains, $options=array()) +{ + global $xoopsConfig; + if (empty($bmodule)) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + xoops_error(sprintf(_AM_NOTSELNG, _AM_VISIBLEIN)); + footer_adminMenu(); + xoops_cp_footer(); + exit(); + } + $myblock = new MultisiteBlock($bid); + $myblock->setVar('side', $bside); + $myblock->setVar('weight', $bweight); + $myblock->setVar('visible', $bvisible); + $myblock->setVar('title', $btitle); + $myblock->setVar('content', $bcontent); + $myblock->setVar('bcachetime', $bcachetime); + + if (isset($domains)) { + $domains_count = count($domains); + if ($domains_count > 0) { + //Convert array values to comma-separated + for ( $i = 0; $i < $domains_count; $i++ ) { + if (is_array($domains[$i])) { + $domains[$i] = implode(',', $domains[$i]); + } + } + $domains = implode('|', $domains); + $myblock->setVar('domains', '|'.$domains); + } + } + + if (isset($options)) { + $options_count = count($options); + if ($options_count > 0) { + //Convert array values to comma-separated + for ( $i = 0; $i < $options_count; $i++ ) { + if (is_array($options[$i])) { + $options[$i] = implode(',', $options[$i]); + } + } + $options = implode('|', $options); + $myblock->setVar('options', $options); + } + } + if ($myblock->isCustom()) { + switch ($bctype) { + case 'H': + $name = _AM_CUSTOMHTML; + break; + case 'P': + $name = _AM_CUSTOMPHP; + break; + case 'S': + $name = _AM_CUSTOMSMILE; + break; + default: + $name = _AM_CUSTOMNOSMILE; + break; + } + $myblock->setVar('name', $name); + $myblock->setVar('c_type', $bctype); + } else { + $myblock->setVar('c_type', 'H'); + } + $msg = _AM_DBUPDATED; + if ($myblock->store() != false) { + $db =& Database::getInstance(); + $sql = sprintf("DELETE FROM %s WHERE block_id = %u", $db->prefix('block_module_link'), $bid); + $db->query($sql); + foreach ($bmodule as $bmid) { + $sql = sprintf("INSERT INTO %s (block_id, module_id) VALUES (%u, %d)", $db->prefix('block_module_link'), $bid, intval($bmid)); + $db->query($sql); + } + include_once XOOPS_ROOT_PATH.'/class/template.php'; + $xoopsTpl = new XoopsTpl(); + $xoopsTpl->xoops_setCaching(2); + if ($myblock->getVar('template') != '') { + if ($xoopsTpl->is_cached('db:'.$myblock->getVar('template'), 'blk_'.$myblock->getVar('bid'))) { + if (!$xoopsTpl->clear_cache('db:'.$myblock->getVar('template'), 'blk_'.$myblock->getVar('bid'))) { + $msg = 'Unable to clear cache for block ID '.$bid; + } + } + } else { + if ($xoopsTpl->is_cached('db:system_dummy.html', 'blk_'.$bid)) { + if (!$xoopsTpl->clear_cache('db:system_dummy.html', 'blk_'.$bid)) { + $msg = 'Unable to clear cache for block ID '.$bid; + } + } + } + } else { + $msg = 'Failed update of block. ID:'.$bid; + } + redirect_header('admin.php?fct=blocksadmin&t='.time(),1,$msg); + exit(); +} + +function delete_block($bid) +{ + $myblock = new MultisiteBlock($bid); + if ( $myblock->getVar('block_type') == 'S' ) { + $message = _AM_SYSTEMCANT; + redirect_header('admin.php?fct=blocksadmin',4,$message); + exit(); + } elseif ($myblock->getVar('block_type') == 'M') { + // Fix for duplicated blocks created in 2.0.9 module update + // A module block can be deleted if there is more than 1 that + // has the same func_num/show_func which is mostly likely + // be the one that was duplicated in 2.0.9 + if (1 >= $count = MultisiteBlock::countSimilarBlocks($myblock->getVar('mid'), $myblock->getVar('func_num'), $myblock->getVar('show_func'))) { + $message = _AM_MODULECANT; + redirect_header('admin.php?fct=blocksadmin',4,$message); + exit(); + } + } + xoops_confirm(array('fct' => 'blocksadmin', 'op' => 'delete_ok', 'bid' => $myblock->getVar('bid')), 'admin.php', sprintf(_AM_RUSUREDEL,$myblock->getVar('title'))); +} + +function delete_block_ok($bid) +{ + $myblock = new MultisiteBlock($bid); + $myblock->delete(); + if ($myblock->getVar('template') != '') { + $tplfile_handler =& xoops_gethandler('tplfile'); + $btemplate = $tplfile_handler->find($GLOBALS['xoopsConfig']['template_set'], 'block', $bid); + if (count($btemplate) > 0) { + $tplfile_handler->delete($btemplate[0]); + } + } + redirect_header('admin.php?fct=blocksadmin&t='.time(),1,_AM_DBUPDATED); + exit(); +} + +function order_block($bid, $weight, $visible, $side , $title, $bmodule, $bcachetime, $domains) +{ + $myblock = new MultisiteBlock($bid); + $myblock->setVar('title', $title); + $myblock->setVar('weight', $weight); + $myblock->setVar('visible', $visible); + $myblock->setVar('side', $side); + $myblock->setVar('bcachetime', $bcachetime); + + if (isset($domains)) { + $domains_count = count($domains); + if ($domains_count > 0) { + //Convert array values to comma-separated + for ( $i = 0; $i < $domains_count; $i++ ) { + if (is_array($domains[$i])) { + $domains[$i] = implode(',', $domains[$i]); + } + } + $domains = implode('|', $domains); + $myblock->setVar('domains', '|'.$domains); + } + } + + $myblock->store(); + + $db =& Database::getInstance(); + $sql = sprintf("DELETE FROM %s WHERE block_id = %u", $db->prefix('block_module_link'), $bid); + $db->queryF($sql); + + foreach ( $bmodule as $bmid ) { + $sql = sprintf("INSERT INTO %s (block_id, module_id) VALUES (%u, %d)", $db->prefix('block_module_link'), $bid, intval($bmid)); + $db->queryF($sql); + } +} + +function clone_block($bid) +{ + global $xoopsConfig; + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + $myblock = new MultisiteBlock($bid); + $db =& Database::getInstance(); + $sql = 'SELECT module_id FROM ' . $db->prefix('block_module_link') . ' WHERE block_id=' . intval($bid); + $result = $db->query($sql); + $modules = array(); + while ($row = $db->fetchArray($result)) { + $modules[] = intval($row['module_id']); + } + $is_custom = $myblock->isCustom(); + $block = array('form_title' => _AM_CLONEBLOCK, 'name' => $myblock->getVar('name'), 'title' => $myblock->getVar('title'), 'side' => $myblock->getVar('side'), 'weight' => $myblock->getVar('weight'), 'visible' => $myblock->getVar('visible'), 'content' => $myblock->getVar('content', 'N'), 'modules' => $modules, 'is_custom' => $is_custom, 'ctype' => $myblock->getVar('c_type'), 'cachetime' => $myblock->getVar('bcachetime'), 'op' => 'clone_ok', 'bid' => $myblock->getVar('bid'), 'edit_form' => $myblock->getOptions(), 'template' => $myblock->getVar('template'), 'options' => $myblock->getVar('options'), 'domains' => $myblock->getVar('domains')); + echo '<a href="admin.php?fct=blocksadmin">'. _AM_BADMIN .'</a> <span style="font-weight:bold;">»»</span> '._AM_CLONEBLOCK.'<br /><br />'; + include XOOPS_ROOT_PATH.'/modules/multisite/admin/blocksadmin/blockform.php'; + $form->display(); + footer_adminMenu(); + xoops_cp_footer(); + exit(); +} + +function clone_block_ok($bid, $bside, $bweight, $bvisible, $btitle, $bcontent, $bcachetime, $bmodule, $domains, $options = array()) +{ + global $xoopsUser; + /* + if (empty($bmodule)) { + xoops_cp_header(); + adminMenu(0); + xoops_error(sprintf(_AM_NOTSELNG, _AM_VISIBLEIN)); + footer_adminMenu(); + xoops_cp_footer(); + exit(); + } + */ + $block = new MultisiteBlock($bid); + $clone =& $block->xoopsClone(); + $clone->setVar('side', $bside); + $clone->setVar('weight', $bweight); + $clone->setVar('visible', $bvisible); + $clone->setVar('content', $bcontent); + $clone->setVar('title', $btitle); + $clone->setVar('bcachetime', $bcachetime); + + if ( isset($domains) ) { + if ( is_array($domains) ) + $domains = implode('|', $domains); + $clone->setVar('options', '|'.$domains); + } + + if ( isset($options) && (count($options) > 0) ) { + $options = implode('|', $options); + $clone->setVar('options', $options); + } + $clone->setVar('bid', 0); + // Custom block + if ($block->isCustom()) { + $clone->setVar('block_type', 'C'); + // Clone of system or module block + } else { + $clone->setVar('block_type', 'D'); + } + $newid = $clone->store(); + if (!$newid) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + $clone->getHtmlErrors(); + footer_adminMenu(); + xoops_cp_footer(); + exit(); + } + if ($clone->getVar('template') != '') { + $tplfile_handler =& xoops_gethandler('tplfile'); + $btemplate = $tplfile_handler->find($GLOBALS['xoopsConfig']['template_set'], 'block', $bid); + if (count($btemplate) > 0) { + $tplclone =& $btemplate[0]->xoopsClone(); + $tplclone->setVar('tpl_id', 0); + $tplclone->setVar('tpl_refid', $newid); + $tplfile_handler->insert($tplclone); + } + } + $db =& Database::getInstance(); + foreach ( @$bmodule as $bmid ) { + $sql = 'INSERT INTO '.$db->prefix('block_module_link').' (block_id, module_id) VALUES ('.$newid.', '.$bmid.')'; + $db->query($sql); + } + + $sql = "SELECT gperm_groupid FROM ".$db->prefix('group_permission')." WHERE gperm_name='block_read' AND gperm_modid='1' AND gperm_itemid='$bid'" ; + $result = $db->query($sql); + while( list( $gid ) = $db->fetchRow( $result ) ) { + $sql = "INSERT INTO ".$db->prefix('group_permission')." (gperm_groupid, gperm_itemid, gperm_modid, gperm_name) VALUES ($gid, $newid, 1, 'block_read')"; + $db->query($sql); + } + + redirect_header('admin.php?fct=blocksadmin&t='.time(),1,_AM_DBUPDATED); +} +?> \ No newline at end of file Added: XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/index.html =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/index.html (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/index.html 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Added: XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/main.php =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/main.php (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/main.php 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1,221 @@ +<?php +// $Id: main.php 1446 2008-04-17 14:43:45Z phppp $ +// ------------------------------------------------------------------------ // +// 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 // +// ------------------------------------------------------------------------- // + +if ( !is_object($xoopsUser) || !is_object($xoopsModule) || !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + exit("Access Denied"); +} +include_once XOOPS_ROOT_PATH.'/class/xoopsblock.php'; +include XOOPS_ROOT_PATH."/modules/multisite/admin/blocksadmin/blocksadmin.php"; + +$op = "list"; +if ( isset($_POST) ) { + foreach ( $_POST as $k => $v ) { + $$k = $v; + } +} + +if ( isset($_GET['op']) ) { + if ($_GET['op'] == "edit" || $_GET['op'] == "delete" || $_GET['op'] == "delete_ok" || $_GET['op'] == "clone") { + $op = $_GET['op']; + $bid = isset($_GET['bid']) ? intval($_GET['bid']) : 0; + } +} + +if (isset($previewblock)) { + if (!$GLOBALS['xoopsSecurity']->check()) { + redirect_header("admin.php?fct=blocksadmin", 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); + exit(); + } + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + include_once XOOPS_ROOT_PATH.'/class/template.php'; + $xoopsTpl = new XoopsTpl(); + $xoopsTpl->xoops_setCaching(0); + if (isset($bid)) { + $block['bid'] = $bid; + $block['form_title'] = _AM_EDITBLOCK; + $myblock = new XoopsBlock($bid); + $block['name'] = $myblock->getVar('name'); + } else { + if ($op == 'save') { + $block['form_title'] = _AM_ADDBLOCK; + } else { + $block['form_title'] = _AM_CLONEBLOCK; + } + $myblock = new XoopsBlock(); + $myblock->setVar('block_type', 'C'); + } + $myts =& MyTextSanitizer::getInstance(); + $myblock->setVar('title', $myts->stripSlashesGPC($btitle)); + $myblock->setVar('content', $myts->stripSlashesGPC($bcontent)); + $dummyhtml = '<html><head><meta http-equiv="content-type" content="text/html; charset='._CHARSET.'" /><meta http-equiv="content-language" content="'._LANGCODE.'" /><title>'.$xoopsConfig['sitename'].'</title><link rel="stylesheet" type="text/css" media="all" href="'.xoops_getcss($xoopsConfig['theme_set']).'" /></head><body><table><tr><th>'.$myblock->getVar('title').'</th></tr><tr><td>'.$myblock->getContent('S', $bctype).'</td></tr></table></body></html>'; + + $block['edit_form'] = false; + $block['template'] = ''; + $block['op'] = $op; + $block['side'] = $bside; + $block['weight'] = $bweight; + $block['visible'] = $bvisible; + $block['title'] = $myblock->getVar('title', 'E'); + $block['content'] = $myblock->getVar('content', 'E'); + $block['modules'] =& $bmodule; + $block['domains'] =& $domains; + $block['ctype'] = isset($bctype) ? $bctype : $myblock->getVar('c_type'); + $block['is_custom'] = true; + $block['cachetime'] = intval($bcachetime); + echo '<a href="admin.php?fct=blocksadmin">'. _AM_BADMIN .'</a> <span style="font-weight:bold;">»»</span> '.$block['form_title'].'<br /><br />'; + include XOOPS_ROOT_PATH.'/modules/multisite/admin/blocksadmin/blockform.php'; + $form->display(); + footer_adminMenu(); + xoops_cp_footer(); + echo '<script type="text/javascript"> + <!--// + win = openWithSelfMain("", "popup", 250, 200, true); + win.document.clear(); + '; + $lines = preg_split("/(\r\n|\r|\n)( *)/", $dummyhtml); + foreach ($lines as $line) { + echo 'win.document.writeln("'.str_replace('"', '\"', $line).'");'; + } + echo ' + win.focus(); + win.document.close(); + //--> + </script>'; + exit(); +} + +if ( $op == "list" ) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + list_blocks(); + footer_adminMenu(); + xoops_cp_footer(); + exit(); +} + +if ( $op == "order" ) { + if (!$GLOBALS['xoopsSecurity']->check()) { + redirect_header("admin.php?fct=blocksadmin", 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); + exit(); + } + + $key = 0 ; + $tmpoldbmodule = array(); + foreach ( $oldbmodule as $key => $eachBmodule ) { + $tmpoldbmodule[$key] = @explode(',', $eachBmodule); + } + unset($oldbmodule); + $oldbmodule = $tmpoldbmodule; + unset($tmpoldbmodule); + + foreach (array_keys($bid) as $i) { + $isChange = 0 ; + $list = array('title', 'weight', 'visible', 'side', 'bcachetime', 'bmodule', 'domains'); + foreach ($list as $each) { + if ( is_array(${$each}[$i]) ) { + if ( count(${$each}[$i]) != count(${'old'.$each}[$i]) ) { + $isChange = 1; + } elseif ( array_diff(${$each}[$i], ${'old'.$each}[$i]) ) { + $isChange = 1; + } + } elseif ( trim(${'old'.$each}[$i]) != trim(${$each}[$i]) ) { + $isChange = 1; + } + } + if ( $isChange == 1 ) { + order_block($bid[$i], $weight[$i], $visible[$i], $side[$i], $title[$i], $bmodule[$i], $bcachetime[$i], $domains[$i]); + } + } + redirect_header("admin.php?fct=blocksadmin", 1, _AM_DBUPDATED); + exit(); +} + +if ( $op == "save" ) { + if (!$GLOBALS['xoopsSecurity']->check()) { + redirect_header("admin.php?fct=blocksadmin", 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); + exit(); + } + save_block($bside, $bweight, $bvisible, $btitle, $bcontent, $bctype, $bmodule, $bcachetime, $domains); + exit(); +} + +if ( $op == "update" ) { + if (!$GLOBALS['xoopsSecurity']->check()) { + redirect_header("admin.php?fct=blocksadmin", 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); + exit(); + } + $bcachetime = isset($bcachetime) ? intval($bcachetime) : 0; + $options = isset($options) ? $options : array(); + $bcontent = isset($bcontent) ? $bcontent : ''; + $bctype = isset($bctype) ? $bctype : ''; + update_block($bid, $bside, $bweight, $bvisible, $btitle, $bcontent, $bctype, $bcachetime, $bmodule, $domains, $options); +} + + +if ( $op == "delete_ok" ) { + if (!$GLOBALS['xoopsSecurity']->check()) { + redirect_header("admin.php?fct=blocksadmin", 3, implode('<br />', $GLOBALS['xoopsSecurity']->getErrors())); + exit(); + } + delete_block_ok($bid); + exit(); +} + +if ( $op == "delete" ) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + delete_block($bid); + footer_adminMenu(); + xoops_cp_footer(); + exit(); +} + +if ( $op == "edit" ) { + xoops_cp_header(); + adminMenu(XOOPS_MULTISITE_BLOCK); + edit_block($bid); + footer_adminMenu(); + xoops_cp_footer(); + exit(); +} + +if ($op == 'clone') { + clone_block($bid); +} + +if ($op == 'clone_ok') { + $options = isset($options) ? $options : array(); + $bcontent = isset($bcontent) ? $bcontent : ''; + clone_block_ok($bid, $bside, $bweight, $bvisible, $btitle, $bcontent, $bcachetime, $bmodule, $domains, $options); +} + +?> \ No newline at end of file Added: XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/xoops_version.php =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/xoops_version.php (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/blocksadmin/xoops_version.php 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1,44 @@ +<?php +// $Id: xoops_version.php 2 2005-11-02 18:23:29Z skalpa $ +// ------------------------------------------------------------------------ // +// 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 // +// ------------------------------------------------------------------------- // + +$modversion['name'] = _MD_AM_BKAD; +$modversion['version'] = ""; +$modversion['description'] = "Side Blocks Administration"; +$modversion['author'] = ""; +$modversion['credits'] = "The MPN SE Project"; +$modversion['help'] = "blocks.html"; +$modversion['license'] = "GPL see LICENSE"; +$modversion['official'] = 1; +$modversion['image'] = "blocksadmin.gif"; +$modversion['hasAdmin'] = 1; +$modversion['adminpath'] = "admin.php?fct=blocksadmin"; +$modversion['category'] = XOOPS_MULTISITE_BLOCK; +?> \ No newline at end of file Added: XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/domainsadmin.php =================================================================== --- XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/domainsadmin.php (rev 0) +++ XoopsModules/multisite/releases/1.17 RC/admin/domainsadmin/domainsadmin.php 2009-03-21 09:29:50 UTC (rev 3048) @@ -0,0 +1,341 @@ +<?php +// $Id: modulesadmin.php 2701 2009-01-20 23:45:46Z dugris $ +// ------------------------------------------------------------------------ // +// 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. ... [truncated message content] |