From: <wis...@us...> - 2012-07-28 08:52:58
|
Revision: 9934 http://xoops.svn.sourceforge.net/xoops/?rev=9934&view=rev Author: wishcraft Date: 2012-07-28 08:52:48 +0000 (Sat, 28 Jul 2012) Log Message: ----------- IP Log 1.01 - Final Release - Moments after mamba Edition - see changelog.txt Modified Paths: -------------- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/about.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/footer.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/header.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/log.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/countries.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/credits.txt XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/include/functions.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/include/ip2locationlite.class.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/admin.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/help/help.html XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/modinfo.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/preloads/logger.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/sql/mysql.sql XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/templates/iplog_log_list.html XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/xoops_version.php XoopsModules/iplog/trunk/iplog/admin/about.php XoopsModules/iplog/trunk/iplog/admin/dashboard.php XoopsModules/iplog/trunk/iplog/admin/footer.php XoopsModules/iplog/trunk/iplog/admin/header.php XoopsModules/iplog/trunk/iplog/admin/log.php XoopsModules/iplog/trunk/iplog/admin/menu.php XoopsModules/iplog/trunk/iplog/class/countries.php XoopsModules/iplog/trunk/iplog/class/log.php XoopsModules/iplog/trunk/iplog/docs/changelog.txt XoopsModules/iplog/trunk/iplog/docs/credits.txt XoopsModules/iplog/trunk/iplog/docs/install.txt XoopsModules/iplog/trunk/iplog/docs/readme.txt XoopsModules/iplog/trunk/iplog/include/functions.php XoopsModules/iplog/trunk/iplog/include/ip2locationlite.class.php XoopsModules/iplog/trunk/iplog/language/english/admin.php XoopsModules/iplog/trunk/iplog/language/english/help/help.html XoopsModules/iplog/trunk/iplog/language/english/modinfo.php XoopsModules/iplog/trunk/iplog/preloads/logger.php XoopsModules/iplog/trunk/iplog/sql/mysql.sql XoopsModules/iplog/trunk/iplog/templates/iplog_log_list.html XoopsModules/iplog/trunk/iplog/xoops_version.php Added Paths: ----------- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/license.pdf XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16/ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16/index.html XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16/iplog.log.png XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/32/ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/32/index.html XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/32/iplog.log.png XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/index.html XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/index.html XoopsModules/iplog/trunk/iplog/docs/license.pdf XoopsModules/iplog/trunk/iplog/images/icons/16/index.html XoopsModules/iplog/trunk/iplog/images/icons/32/index.html XoopsModules/iplog/trunk/iplog/images/icons/index.html XoopsModules/iplog/trunk/iplog/images/index.html Removed Paths: ------------- XoopsModules/iplog/releases/1.01/htdocs/Frameworks/ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/licence.txt Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/about.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/about.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/about.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,34 +1,35 @@ <?php -// $Id: about.php 5204 2010-09-06 20:10:52Z mageg $ -// ------------------------------------------------------------------------ // -// 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: XOOPS Foundation // -// URL: http://www.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: about.php + * Description: About Program Dialogue for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ include ('header.php'); xoops_loadLanguage('admin', 'iplog'); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,33 +1,35 @@ <?php -// $Id: directory.php 5204 2010-09-06 20:10:52Z mageg $ -// ------------------------------------------------------------------------ // -// 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: XOOPS Foundation // -// URL: http://www.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: dashboard.php + * Description: User admin dashboard for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ include ('header.php'); xoops_loadLanguage('admin', 'profile'); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/footer.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/footer.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/footer.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,22 +1,36 @@ <?php -/** - * xSitemMap module +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... * - * 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 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 3 of the License, or + * (at your option) any later version. + * * 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. - * - * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ - * @license http://www.fsf.org/copyleft/gpl.html GNU public license - * @package xSitemMap - * @since 2.5.0 - * @author XOOPS Module Team - * @version $Id $ -**/ -echo "<div align=\"center\"><a href=\"http://www.xoops.org\" target=\"_blank\"><img src=" . XOOPS_URL ."/". $GLOBALS['iplogModule']->getInfo("icons32")."/xoopsmicrobutton.gif"." alt=\"XOOPS\" title=\"XOOPS\"></a></div>"; + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: footer.php + * Description: Footer Include File for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ +echo "<div align=\"center\"><a href=\"http://www.xoops.org\" target=\"_blank\"><img src=" . XOOPS_URL ."/". $GLOBALS['iplogModule']->getInfo("system_icons32")."/xoopsmicrobutton.gif"." alt=\"XOOPS\" title=\"XOOPS\"></a></div>"; echo "<div class='center smallsmall italic pad5'><strong>" . $GLOBALS['iplogModule']->getVar("name") . "</strong> is maintained by the <a class='tooltip' rel='external' href='http://www.xoops.org/' title='Visit XOOPS Community'>XOOPS Community</a></div>"; xoops_cp_footer(); \ No newline at end of file Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/header.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/header.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/header.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,23 +1,36 @@ <?php -/** - * Extended User iplog +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... * - * 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 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 3 of the License, or + * (at your option) any later version. + * * 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. - * - * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ - * @license GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html) - * @package iplog - * @since 2.3.0 - * @author Taiwen Jiang <ph...@us...> - * @version $Id: header.php 5204 2010-09-06 20:10:52Z mageg $ + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: header.php + * Description: Header Include file for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * */ - require_once (dirname(dirname(dirname(dirname(__FILE__)))).'/include/cp_header.php'); if (!defined('_CHARSET')) @@ -45,6 +58,8 @@ echo xoops_error("Error: You don't use the Frameworks \"admin module\". Please install this Frameworks"); } + $GLOBALS['iplogSystemImageIcon'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('system_icons16'); + $GLOBALS['iplogSystemImageAdmin'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('system_icons32'); $GLOBALS['iplogImageIcon'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('icons16'); $GLOBALS['iplogImageAdmin'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('icons32'); @@ -68,6 +83,8 @@ $GLOBALS['xoopsTpl'] = new XoopsTpl(); } + $GLOBALS['xoopsTpl']->assign('pathSystemImageIcon', $GLOBALS['iplogSystemImageIcon']); + $GLOBALS['xoopsTpl']->assign('pathSystemImageAdmin', $GLOBALS['iplogSystemImageAdmin']); $GLOBALS['xoopsTpl']->assign('pathImageIcon', $GLOBALS['iplogImageIcon']); $GLOBALS['xoopsTpl']->assign('pathImageAdmin', $GLOBALS['iplogImageAdmin']); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/log.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/log.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/log.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,33 +1,35 @@ <?php -// $Id: category.php 5204 2010-09-06 20:10:52Z mageg $ -// ------------------------------------------------------------------------ // -// 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: XOOPS Foundation // -// URL: http://www.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: log.php + * Description: Log Admin Control Panel Browser + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ include 'header.php'; xoops_cp_header(); $indexAdmin = new ModuleAdmin(); @@ -50,7 +52,7 @@ $criteria = new Criteria(1,1); $ttl = $log_handler->getCount($criteria); - $sort = !empty($_REQUEST['sort'])?''.$_REQUEST['sort'].'':'start'; + $sort = !empty($_REQUEST['sort'])?''.str_replace('_', '-', $_REQUEST['sort']).'':'start'; $pagenav = new XoopsPageNav($ttl, $limit, $start, 'start', 'limit='.$limit.'&sort='.$sort.'&order='.$order.'&op='.$op.'&fct='.$fct.'&filter='.$filter.'&fct='.$fct.'&filter='.$filter); $GLOBALS['xoopsTpl']->assign('pagenav', $pagenav->renderNav()); @@ -90,15 +92,15 @@ if (isset($_POST['id'])&&$id!=0) { $log = $log_handler->get($id); if (!$log_handler->delete($log)) { - redirect_header('index.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_FAILEDTODELETE); + redirect_header('log.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_FAILEDTODELETE); exit(0); } else { - redirect_header('index.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_DELETED); + redirect_header('log.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_DELETED); exit(0); } } else { $log = $log_handler->get($id); - xoops_confirm(array('id'=>$id, 'op'=>$_REQUEST['op'], 'fct'=>$_REQUEST['fct'], 'limit'=>$_REQUEST['limit'], 'start'=>$_REQUEST['start'], 'order'=>$_REQUEST['order'], 'sort'=>$_REQUEST['sort'], 'filter'=>$_REQUEST['filter']), 'index.php', sprintf(_AM_MSG_LOG_DELETE, $log->getVar('name'))); + xoops_confirm(array('id'=>$id, 'op'=>$_REQUEST['op'], 'fct'=>$_REQUEST['fct'], 'limit'=>$_REQUEST['limit'], 'start'=>$_REQUEST['start'], 'order'=>$_REQUEST['order'], 'sort'=>$_REQUEST['sort'], 'filter'=>$_REQUEST['filter']), 'log.php', sprintf(_AM_MSG_LOG_DELETE, $log->getVar('uname'), $log->getIPAddy(), $log->getVar('ip_id'))); } break; } Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,37 +1,50 @@ <?php -/** - * Extended User iplog +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... * - * 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 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 3 of the License, or + * (at your option) any later version. + * * 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. - * - * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ - * @license http://www.fsf.org/copyleft/gpl.html GNU public license - * @package iplog - * @since 2.3.0 - * @author Jan Pedersen - * @author Taiwen Jiang <ph...@us...> - * @version $Id: menu.php 2021 2008-08-31 02:02:45Z phppp $ + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: menu.php + * Description: User admin menu defines for menu variables + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * */ $module_handler = xoops_gethandler('module'); $GLOBALS['iplogModule'] = $module_handler->getByDirname('iplog'); $adminmenu = array(); if (is_object($GLOBALS['iplogModule'])) { $adminmenu[0]['title'] = _MI_IPLOG_DASHBOARD; - $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/about.png'; - $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/about.png'; + $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; + $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; $adminmenu[0]['link'] = "admin/dashboard.php"; $adminmenu[1]['title'] = _MI_IPLOG_LOG; $adminmenu[1]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/iplog.log.png'; $adminmenu[1]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/iplog.log.png'; $adminmenu[1]['link'] = "admin/log.php"; $adminmenu[2]['title'] = _MI_IPLOG_ABOUT; - $adminmenu[2]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/about.png'; - $adminmenu[2]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/about.png'; + $adminmenu[2]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; + $adminmenu[2]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; $adminmenu[2]['link'] = "admin/about.php"; } ?> \ No newline at end of file Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/countries.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/countries.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/countries.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,21 +1,34 @@ <?php -/** - * Extended User Iplog +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... * - * 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 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 3 of the License, or + * (at your option) any later version. + * * 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. - * - * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/ - * @license http://www.fsf.org/copyleft/gpl.html GNU public license - * @package Iplog - * @since 2.3.0 - * @author Jan Pedersen - * @author Taiwen Jiang <ph...@us...> - * @version $Id: Countries.php 4361 2010-02-09 23:36:33Z trabis $ + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: countries.php + * Description: Countries Handler and Object Class for Module + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * */ defined('XOOPS_ROOT_PATH') or die("XOOPS root path not defined"); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,5 +1,35 @@ <?php - +/* + * Logs Guest and users IP Addresses for a period of time and provides +* basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts +* Contact: wishcraft - si...@ch... +* +* 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 3 of the License, or +* (at your option) any later version. +* +* 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, see <http://www.gnu.org/licenses/>. +* See /docs/license.pdf for full license. +* +* Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) +* Many thanks for your additional work with version 1.01 +* +* Version: 1.01 Final +* Published: Chronolabs +* Download: http://code.google.com/p/chronolabs +* This File: log.php +* Description: Log Handler and Object Class for Module Instanciation +* Date: 28/07/2015 5:45PM AEST +* License: GNU3 +* +*/ if (!defined('XOOPS_ROOT_PATH')) { exit(); } @@ -55,10 +85,17 @@ function toArray() { $ret = parent::toArray(); $ret['made'] = date(_DATESTRING, $this->getVar('made')); - $countries_handler = xoops_getmodulehandler('countries', 'iplog'); - $country = $countries_handler->get($this->getVar('country_id')); - if (is_object($country)) - $ret['country'] = $country->toArray(); + if ($this->getVar('country_id')!=0) { + $countries_handler = xoops_getmodulehandler('countries', 'iplog'); + $country = $countries_handler->get($this->getVar('country_id')); + if (is_object($country)) + $ret['country'] = $country->toArray(); + } else { + $ret['country']['code'] = '--'; + $ret['country']['name'] = '--'; + $ret['country']['continent'] = '--'; + $ret['country']['region'] = '--'; + } $comment_handler = xoops_gethandler('comment'); $module_handler = xoops_gethandler('module'); $GLOBALS['moduleIplog'] = $module_handler->getByDirname('iplog'); @@ -80,7 +117,7 @@ $ret[str_replace('-', '_', $key)] = $value; } $ret['ip'] = $this->getIPAddy().' ('.$this->getIPType().')'; - $ret['proxy_ip'] = $this->getProxyIPAddy(); + $ret['proxy_ip'] = (strlen($this->getProxyIPAddy())?$this->getProxyIPAddy():'--'); $ret['start'] = date(_DATESTRING,$ret['start']); $ret['end'] = date(_DATESTRING,$ret['end']); if ($ret['uid']==0) @@ -169,7 +206,7 @@ } function getFields() { - return array('ip_id', 'uname', 'ip', 'country_code', 'name', 'region', 'contient', 'network_addy', 'useragent', 'proxy_ip', 'start', 'end', 'online'); + return array('ip_id', 'uname', 'ip', 'country_code', 'name', 'region', 'contient', 'network_addy', 'agent', 'proxy_ip', 'start', 'end', 'online'); } function writeLog($data) { @@ -182,7 +219,7 @@ } function insert($obj, $force = true) { - xoops_load('cache'); + xoops_load('xoopscache'); $ping = XoopsCache::read('iplog_ip_ping_unixtimes'); if (!is_array($ping)==true) { $ping=array($obj->getIPAddy()=>microtime(true)); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt 2012-07-28 08:52:48 UTC (rev 9934) @@ -0,0 +1,62 @@ +================================================ +== Version 1.01 Final - 2012/07/28 18:40 AEST == +================================================ +Changed: /admin/about.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/dashboard.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/footer.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/header.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/log.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/log.php - fix delete function (flipse) +Changed: /admin/log.php - fix delete query message to provide data output (flipse) +Changed: /admin/log.php - rename index.php to log.php in redirections (flipse) +Changed: /admin/menu.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/menu.php - Framework System Icon Path Variable Added (wishcraft) +Changed: /class/log.php - GNU3 header and shouts added to header (wishcraft) +Changed: /class/log.php - Rename of Field Type 'useragent' to 'agent' as Db (wishcraft) +Changed: /class/log.php - xoops_load('cache') is deprecated [changed to standard] (wishcraft) +Changed: /class/countries.php - GNU3 header and shouts added to header (wishcraft) +Changed: /include/functions.php - GNU3 header and shouts added to header (wishcraft) +Changed: /include/ip2locationlite.class.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/help/help.html - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/help/help.html - Content Updated to be revelent & IPInfoDB Instruction added (wishcraft) +Changed: /language/english/admin.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/admin.php - Rename of Constant Type 'useragent' to 'agent' as Db (wishcraft) +Changed: /language/english/admin.php - add two missing language definitions (mamba) +Changed: /language/english/admin.php - add three sprintf variable to Delete Query. (wishcraft) +Changed: /language/english/modinfo.php - GNU3 header and shouts added to header (wishcraft) +Changed: /preloads/logger.php - GNU3 header and shouts added to header (wishcraft) +Changed: /sql/mysql.sql - GNU3 header and shouts added to header (wishcraft) +Changed: /templates/iplog_log_list.html - GNU3 header and shouts added to header (wishcraft) +Changed: /templates/iplog_log_list.html - replaced "delete" text with icon (mamba) +Changed: /templates/iplog_log_list.html - Fixed display of country code from country array (wishcraft) +Changed: /templates/iplog_log_list.html - Fixed display of continent from array (wishcraft) +Changed: /templates/iplog_log_list.html - Fixed display of User Agent from array (wishcraft) +Changed: /xoops_version.php - GNU3 header and shouts added to header (wishcraft) +Changed: /xoops_version.php - Framework System Icon Path Variable Added (wishcraft) +Changed: restructure folders (mamba) +Moved: /Frameworks/moduleclass/icons to /images/icons - move icons back to th module (mamba) + +================================================ +== Version 1.01 RC - 2012/07/27 == +================================================ +Changed: /class/log.php - Ping time stored in Cache based on Session Expires Time (wishcraft) +Changed: /class/log.php - IP Type detection Improved (wishcraft) +Changed: /class/log.php - IP Type added to toArray() for IP Address (wishcraft) +Changed: /class/log.php - Support for anonymous user added (wishcraft) +Changed: /class/log.php - Contient renamed to Continent (wishcraft) +Changed: /admin/dashboard.php - Contient renamed to Continent (wishcraft) +Changed: /admin/dashboard.php - CONTIENT renamed to CONTINENT (wishcraft) +Changed: /language/english/admin.php - CONTIENT renamed to CONTINENT (wishcraft) +Changed: /language/english/modinfo.php - IP Type added to language defines (wishcraft) +Changed: /language/english/modinfo.php - Anonymous Preference Language Added (wishcraft) +Changed: /xoops_version.php - Anonymous Preference Added to allow guest IP to be recorded (wishcraft) +Changed: /preloader/logger.php - Anonymous Support added to checking for new object (wishcraft) +Changed: /template/iplog_log_list.html - CONTIENT renamed to CONTINENT (wishcraft) + +================================================ +== Version 1.01 Beta - 2012/07/26 == +================================================ +Changed: /class/log.php - End added to time added on new objects (wishcraft) +Changed: /include/ip2locationlite.class.php - Use of cURL via iplog_get_curl() function added (wishcraft) +Changed: /template/iplog_log_list.html - Table footer cells number fixed (colspan) (wishcraft) + \ No newline at end of file Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/credits.txt =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/credits.txt 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/credits.txt 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,4 +1,21 @@ -Read Me First -============= +Version 1.01 Final +================== -Please make sure that you download the XOOPS Icon Set, and upload it to uploads/images directory \ No newline at end of file + * Simon Roberts (wishcraft) - www.chronolabs.com.au + * Michael Beck (mamba) - www.xoops.org + * Hans Jokshol (flipse) - www.nlxoops.nl + +Version 1.01 RC +================== + + * Simon Roberts (wishcraft) - www.chronolabs.com.au + +Version 1.01 Beta +================== + + * Simon Roberts (wishcraft) - www.chronolabs.com.au + +Version 1.01 Alpha +================== + + * Simon Roberts (wishcraft) - www.chronolabs.com.au \ No newline at end of file Deleted: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/licence.txt =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/licence.txt 2012-07-28 08:28:47 UTC (rev 9933) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/licence.txt 2012-07-28 08:52:48 UTC (rev 9934) @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - 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. - - 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., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. Added: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/license.pdf =================================================================== (Binary files differ) Property changes on: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/license.pdf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16/index.html =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16/index.html (rev 0) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/images/icons/16... [truncated message content] |
From: <wis...@us...> - 2012-07-28 09:16:54
|
Revision: 9935 http://xoops.svn.sourceforge.net/xoops/?rev=9935&view=rev Author: wishcraft Date: 2012-07-28 09:16:47 +0000 (Sat, 28 Jul 2012) Log Message: ----------- IP Log 1.01 - Final Release - Moments after mamba Edition - see changelog.txt Modified Paths: -------------- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/admin.php XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/xoops_version.php XoopsModules/iplog/trunk/iplog/admin/dashboard.php XoopsModules/iplog/trunk/iplog/class/log.php XoopsModules/iplog/trunk/iplog/docs/changelog.txt XoopsModules/iplog/trunk/iplog/language/english/admin.php XoopsModules/iplog/trunk/iplog/xoops_version.php Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/dashboard.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -43,47 +43,47 @@ if (count($log_handler->getNumberByCountry())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY); foreach ($log_handler->getNumberByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getNumberByRegion())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_REGION); foreach ($log_handler->getNumberByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getNumberByContinent())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT); foreach ($log_handler->getNumberByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getTotalSecondsByCountry())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY); foreach ($log_handler->getTotalSecondsByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getTotalSecondsByRegion())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_REGION); foreach ($log_handler->getTotalSecondsByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getTotalSecondsByContinent())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT); foreach ($log_handler->getTotalSecondsByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getAdverageSecondsByCountry())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY); foreach ($log_handler->getAdverageSecondsByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getAdverageSecondsByRegion())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_REGION); foreach ($log_handler->getAdverageSecondsByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } if (count($log_handler->getAdverageSecondsByContinent())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT); foreach ($log_handler->getAdverageSecondsByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } echo $indexAdmin->renderIndex(); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/class/log.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -343,7 +343,7 @@ } function getNumberByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, count(*) as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, count(*) as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -353,7 +353,7 @@ } function getNumberByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id'; + $sql = 'SELECT DISTINCT `b`.`region` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -363,7 +363,7 @@ } function getNumberByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id'; + $sql = 'SELECT DISTINCT `b`.`continent` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -373,7 +373,7 @@ } function getTotalSecondsByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, sum(`online`)/60 as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, sum(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -383,7 +383,7 @@ } function getTotalSecondsByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`region` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -393,7 +393,7 @@ } function getTotalSecondsByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`continent` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -403,7 +403,7 @@ } function getAdverageSecondsByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, avg(`online`)/60 as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, avg(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -413,7 +413,7 @@ } function getAdverageSecondsByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`region` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -423,7 +423,7 @@ } function getAdverageSecondsByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`continent` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/docs/changelog.txt 2012-07-28 09:16:47 UTC (rev 9935) @@ -1,8 +1,9 @@ ================================================ -== Version 1.01 Final - 2012/07/28 18:40 AEST == +== Version 1.01 Final - 2012/07/28 19:15 AEST == ================================================ Changed: /admin/about.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/dashboard.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/dashboard.php - Search for '-' in array and return Unknown constant (wishcraft) Changed: /admin/footer.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/header.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/log.php - GNU3 header and shouts added to header (wishcraft) @@ -14,12 +15,14 @@ Changed: /class/log.php - GNU3 header and shouts added to header (wishcraft) Changed: /class/log.php - Rename of Field Type 'useragent' to 'agent' as Db (wishcraft) Changed: /class/log.php - xoops_load('cache') is deprecated [changed to standard] (wishcraft) +Changed: /class/log.php - Add Group By to SQL for statistics on dashboard (wishcraft) Changed: /class/countries.php - GNU3 header and shouts added to header (wishcraft) Changed: /include/functions.php - GNU3 header and shouts added to header (wishcraft) Changed: /include/ip2locationlite.class.php - GNU3 header and shouts added to header (wishcraft) Changed: /language/english/help/help.html - GNU3 header and shouts added to header (wishcraft) Changed: /language/english/help/help.html - Content Updated to be revelent & IPInfoDB Instruction added (wishcraft) Changed: /language/english/admin.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/admin.php - Unknown added to language for missing data (wishcraft) Changed: /language/english/admin.php - Rename of Constant Type 'useragent' to 'agent' as Db (wishcraft) Changed: /language/english/admin.php - add two missing language definitions (mamba) Changed: /language/english/admin.php - add three sprintf variable to Delete Query. (wishcraft) Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/admin.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/admin.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/language/english/admin.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -32,6 +32,7 @@ */ define("_AM_IPLOG_SECONDS", "Seconds"); +define("_AM_IPLOG_UNKNOWN", "Unknown"); define("_AM_IPLOG_TH_IP_ID", "IP ID"); define("_AM_IPLOG_TH_UNAME", "Username"); Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/xoops_version.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/xoops_version.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/xoops_version.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -49,9 +49,9 @@ $modversion['icons16'] = 'modules/'.$modversion['dirname'].'/images/icons/16'; $modversion['icons32'] = 'modules/'.$modversion['dirname'].'/images/icons/32'; -$modversion['release_info'] = "Stable 2012/07/27"; +$modversion['release_info'] = "Stable 2012/07/28"; $modversion['release_file'] = XOOPS_URL."/modules/profile/docs/changelog.txt"; -$modversion['release_date'] = "2012/07/27"; +$modversion['release_date'] = "2012/07/28"; $modversion['author_realname'] = "Simon Antony Roberts"; $modversion['author_website_url'] = "http://www.chronolabs.com.au"; Modified: XoopsModules/iplog/trunk/iplog/admin/dashboard.php =================================================================== --- XoopsModules/iplog/trunk/iplog/admin/dashboard.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/trunk/iplog/admin/dashboard.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -38,52 +38,52 @@ $indexAdmin = new ModuleAdmin(); $log_handler = xoops_getmodulehandler('log', 'iplog'); - $indexAdmin = new ModuleAdmin(); - if (count($log_handler->getNumberByCountry())>0) { + $indexAdmin = new ModuleAdmin(); + if (count($log_handler->getNumberByCountry())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY); foreach ($log_handler->getNumberByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getNumberByRegion())>0) { + if (count($log_handler->getNumberByRegion())>1) { $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_REGION); - foreach ($log_handler->getNumberByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + foreach ($log_handler->getNumberByRegion() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getNumberByContinent())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT); - foreach ($log_handler->getNumberByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getNumberByContinent())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT); + foreach ($log_handler->getNumberByContinent() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getTotalSecondsByCountry())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY); - foreach ($log_handler->getTotalSecondsByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getTotalSecondsByCountry())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY); + foreach ($log_handler->getTotalSecondsByCountry() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getTotalSecondsByRegion())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_REGION); - foreach ($log_handler->getTotalSecondsByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getTotalSecondsByRegion())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_REGION); + foreach ($log_handler->getTotalSecondsByRegion() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getTotalSecondsByContinent())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT); - foreach ($log_handler->getTotalSecondsByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getTotalSecondsByContinent())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT); + foreach ($log_handler->getTotalSecondsByContinent() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getAdverageSecondsByCountry())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY); - foreach ($log_handler->getAdverageSecondsByCountry() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getAdverageSecondsByCountry())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY); + foreach ($log_handler->getAdverageSecondsByCountry() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getAdverageSecondsByRegion())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_REGION); - foreach ($log_handler->getAdverageSecondsByRegion() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_REGION, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getAdverageSecondsByRegion())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_REGION); + foreach ($log_handler->getAdverageSecondsByRegion() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } - if (count($log_handler->getAdverageSecondsByContinent())>0) { - $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT); - foreach ($log_handler->getAdverageSecondsByContinent() as $id => $value) - $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT, "<label>".$value['node'].": %s</label>", $value['total'], 'Green'); + if (count($log_handler->getAdverageSecondsByContinent())>1) { + $indexAdmin->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT); + foreach ($log_handler->getAdverageSecondsByContinent() as $id => $value) + $indexAdmin->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); } echo $indexAdmin->renderIndex(); Modified: XoopsModules/iplog/trunk/iplog/class/log.php =================================================================== --- XoopsModules/iplog/trunk/iplog/class/log.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/trunk/iplog/class/log.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -343,7 +343,7 @@ } function getNumberByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, count(*) as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, count(*) as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -353,7 +353,7 @@ } function getNumberByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id'; + $sql = 'SELECT DISTINCT `b`.`region` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -363,7 +363,7 @@ } function getNumberByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id'; + $sql = 'SELECT DISTINCT `b`.`continent` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -373,7 +373,7 @@ } function getTotalSecondsByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, sum(`online`)/60 as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, sum(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -383,7 +383,7 @@ } function getTotalSecondsByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`region` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -393,7 +393,7 @@ } function getTotalSecondsByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`continent` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -403,7 +403,7 @@ } function getAdverageSecondsByCountry() { - $sql = 'SELECT DISTINCT `country-name` as node, avg(`online`)/60 as total FROM `'.$this->table.'`'; + $sql = 'SELECT DISTINCT `country-name` as node, avg(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -413,7 +413,7 @@ } function getAdverageSecondsByRegion() { - $sql = 'SELECT DISTINCT `b`.`region` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`region` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { @@ -423,7 +423,7 @@ } function getAdverageSecondsByContinent() { - $sql = 'SELECT DISTINCT `b`.`continent` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id';; + $sql = 'SELECT DISTINCT `b`.`continent` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; $result = $GLOBALS['xoopsDB']->queryF($sql); $ret = array(); while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { Modified: XoopsModules/iplog/trunk/iplog/docs/changelog.txt =================================================================== --- XoopsModules/iplog/trunk/iplog/docs/changelog.txt 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/trunk/iplog/docs/changelog.txt 2012-07-28 09:16:47 UTC (rev 9935) @@ -1,8 +1,9 @@ ================================================ -== Version 1.01 Final - 2012/07/28 18:40 AEST == +== Version 1.01 Final - 2012/07/28 19:15 AEST == ================================================ Changed: /admin/about.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/dashboard.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/dashboard.php - Search for '-' in array and return Unknown constant (wishcraft) Changed: /admin/footer.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/header.php - GNU3 header and shouts added to header (wishcraft) Changed: /admin/log.php - GNU3 header and shouts added to header (wishcraft) @@ -14,12 +15,14 @@ Changed: /class/log.php - GNU3 header and shouts added to header (wishcraft) Changed: /class/log.php - Rename of Field Type 'useragent' to 'agent' as Db (wishcraft) Changed: /class/log.php - xoops_load('cache') is deprecated [changed to standard] (wishcraft) +Changed: /class/log.php - Add Group By to SQL for statistics on dashboard (wishcraft) Changed: /class/countries.php - GNU3 header and shouts added to header (wishcraft) Changed: /include/functions.php - GNU3 header and shouts added to header (wishcraft) Changed: /include/ip2locationlite.class.php - GNU3 header and shouts added to header (wishcraft) Changed: /language/english/help/help.html - GNU3 header and shouts added to header (wishcraft) Changed: /language/english/help/help.html - Content Updated to be revelent & IPInfoDB Instruction added (wishcraft) Changed: /language/english/admin.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/admin.php - Unknown added to language for missing data (wishcraft) Changed: /language/english/admin.php - Rename of Constant Type 'useragent' to 'agent' as Db (wishcraft) Changed: /language/english/admin.php - add two missing language definitions (mamba) Changed: /language/english/admin.php - add three sprintf variable to Delete Query. (wishcraft) Modified: XoopsModules/iplog/trunk/iplog/language/english/admin.php =================================================================== --- XoopsModules/iplog/trunk/iplog/language/english/admin.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/trunk/iplog/language/english/admin.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -32,6 +32,7 @@ */ define("_AM_IPLOG_SECONDS", "Seconds"); +define("_AM_IPLOG_UNKNOWN", "Unknown"); define("_AM_IPLOG_TH_IP_ID", "IP ID"); define("_AM_IPLOG_TH_UNAME", "Username"); Modified: XoopsModules/iplog/trunk/iplog/xoops_version.php =================================================================== --- XoopsModules/iplog/trunk/iplog/xoops_version.php 2012-07-28 08:52:48 UTC (rev 9934) +++ XoopsModules/iplog/trunk/iplog/xoops_version.php 2012-07-28 09:16:47 UTC (rev 9935) @@ -49,9 +49,9 @@ $modversion['icons16'] = 'modules/'.$modversion['dirname'].'/images/icons/16'; $modversion['icons32'] = 'modules/'.$modversion['dirname'].'/images/icons/32'; -$modversion['release_info'] = "Stable 2012/07/27"; +$modversion['release_info'] = "Stable 2012/07/28"; $modversion['release_file'] = XOOPS_URL."/modules/profile/docs/changelog.txt"; -$modversion['release_date'] = "2012/07/27"; +$modversion['release_date'] = "2012/07/28"; $modversion['author_realname'] = "Simon Antony Roberts"; $modversion['author_website_url'] = "http://www.chronolabs.com.au"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wis...@us...> - 2012-07-28 11:40:18
|
Revision: 9936 http://xoops.svn.sourceforge.net/xoops/?rev=9936&view=rev Author: wishcraft Date: 2012-07-28 11:40:12 +0000 (Sat, 28 Jul 2012) Log Message: ----------- IP Log 1.01 - Final Release - Moments after mamba Edition - see changelog.txt Modified Paths: -------------- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php XoopsModules/iplog/trunk/iplog/admin/menu.php Modified: XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php =================================================================== --- XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php 2012-07-28 09:16:47 UTC (rev 9935) +++ XoopsModules/iplog/releases/1.01/htdocs/modules/iplog/admin/menu.php 2012-07-28 11:40:12 UTC (rev 9936) @@ -35,8 +35,8 @@ $adminmenu = array(); if (is_object($GLOBALS['iplogModule'])) { $adminmenu[0]['title'] = _MI_IPLOG_DASHBOARD; - $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; - $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; + $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/home.png'; + $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/home.png'; $adminmenu[0]['link'] = "admin/dashboard.php"; $adminmenu[1]['title'] = _MI_IPLOG_LOG; $adminmenu[1]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/iplog.log.png'; Modified: XoopsModules/iplog/trunk/iplog/admin/menu.php =================================================================== --- XoopsModules/iplog/trunk/iplog/admin/menu.php 2012-07-28 09:16:47 UTC (rev 9935) +++ XoopsModules/iplog/trunk/iplog/admin/menu.php 2012-07-28 11:40:12 UTC (rev 9936) @@ -35,8 +35,8 @@ $adminmenu = array(); if (is_object($GLOBALS['iplogModule'])) { $adminmenu[0]['title'] = _MI_IPLOG_DASHBOARD; - $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; - $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/about.png'; + $adminmenu[0]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/home.png'; + $adminmenu[0]['image'] = '../../'.$GLOBALS['iplogModule']->getInfo('system_icons32').'/home.png'; $adminmenu[0]['link'] = "admin/dashboard.php"; $adminmenu[1]['title'] = _MI_IPLOG_LOG; $adminmenu[1]['icon'] = '../../'.$GLOBALS['iplogModule']->getInfo('icons32').'/iplog.log.png'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <txm...@us...> - 2012-07-28 13:26:05
|
Revision: 9937 http://xoops.svn.sourceforge.net/xoops/?rev=9937&view=rev Author: txmodxoops Date: 2012-07-28 13:25:54 +0000 (Sat, 28 Jul 2012) Log Message: ----------- Modified menu.php Added dashboard.png in Frameworks/moduleclasses/icons/32 Added Paths: ----------- XoopsModules/iplog/branches/ XoopsModules/iplog/branches/timgno/ XoopsModules/iplog/branches/timgno/Frameworks/ XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/ XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/icons/ XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/icons/32/ XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/icons/32/dashboard.png XoopsModules/iplog/branches/timgno/modules/ XoopsModules/iplog/branches/timgno/modules/iplog/ XoopsModules/iplog/branches/timgno/modules/iplog/admin/ XoopsModules/iplog/branches/timgno/modules/iplog/admin/about.php XoopsModules/iplog/branches/timgno/modules/iplog/admin/dashboard.php XoopsModules/iplog/branches/timgno/modules/iplog/admin/footer.php XoopsModules/iplog/branches/timgno/modules/iplog/admin/header.php XoopsModules/iplog/branches/timgno/modules/iplog/admin/index.html XoopsModules/iplog/branches/timgno/modules/iplog/admin/log.php XoopsModules/iplog/branches/timgno/modules/iplog/admin/menu.php XoopsModules/iplog/branches/timgno/modules/iplog/class/ XoopsModules/iplog/branches/timgno/modules/iplog/class/countries.php XoopsModules/iplog/branches/timgno/modules/iplog/class/index.html XoopsModules/iplog/branches/timgno/modules/iplog/class/log.php XoopsModules/iplog/branches/timgno/modules/iplog/docs/ XoopsModules/iplog/branches/timgno/modules/iplog/docs/changelog.txt XoopsModules/iplog/branches/timgno/modules/iplog/docs/credits.txt XoopsModules/iplog/branches/timgno/modules/iplog/docs/index.html XoopsModules/iplog/branches/timgno/modules/iplog/docs/install.txt XoopsModules/iplog/branches/timgno/modules/iplog/docs/lang_diff.txt XoopsModules/iplog/branches/timgno/modules/iplog/docs/licence.txt XoopsModules/iplog/branches/timgno/modules/iplog/docs/license.pdf XoopsModules/iplog/branches/timgno/modules/iplog/docs/readme.txt XoopsModules/iplog/branches/timgno/modules/iplog/images/ XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/ XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/16/ XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/16/index.html XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/16/iplog.log.png XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/32/ XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/32/index.html XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/32/iplog.log.png XoopsModules/iplog/branches/timgno/modules/iplog/images/icons/index.html XoopsModules/iplog/branches/timgno/modules/iplog/images/index.html XoopsModules/iplog/branches/timgno/modules/iplog/images/logo.png XoopsModules/iplog/branches/timgno/modules/iplog/include/ XoopsModules/iplog/branches/timgno/modules/iplog/include/functions.php XoopsModules/iplog/branches/timgno/modules/iplog/include/ip2locationlite.class.php XoopsModules/iplog/branches/timgno/modules/iplog/index.html XoopsModules/iplog/branches/timgno/modules/iplog/language/ XoopsModules/iplog/branches/timgno/modules/iplog/language/english/ XoopsModules/iplog/branches/timgno/modules/iplog/language/english/admin.php XoopsModules/iplog/branches/timgno/modules/iplog/language/english/help/ XoopsModules/iplog/branches/timgno/modules/iplog/language/english/help/help.html XoopsModules/iplog/branches/timgno/modules/iplog/language/english/help/index.html XoopsModules/iplog/branches/timgno/modules/iplog/language/english/index.html XoopsModules/iplog/branches/timgno/modules/iplog/language/english/mail_template/ XoopsModules/iplog/branches/timgno/modules/iplog/language/english/mail_template/index.html XoopsModules/iplog/branches/timgno/modules/iplog/language/english/modinfo.php XoopsModules/iplog/branches/timgno/modules/iplog/language/index.html XoopsModules/iplog/branches/timgno/modules/iplog/preloads/ XoopsModules/iplog/branches/timgno/modules/iplog/preloads/index.html XoopsModules/iplog/branches/timgno/modules/iplog/preloads/logger.php XoopsModules/iplog/branches/timgno/modules/iplog/sql/ XoopsModules/iplog/branches/timgno/modules/iplog/sql/mysql.sql XoopsModules/iplog/branches/timgno/modules/iplog/templates/ XoopsModules/iplog/branches/timgno/modules/iplog/templates/blocks/ XoopsModules/iplog/branches/timgno/modules/iplog/templates/blocks/index.html XoopsModules/iplog/branches/timgno/modules/iplog/templates/index.html XoopsModules/iplog/branches/timgno/modules/iplog/templates/iplog_log_list.html XoopsModules/iplog/branches/timgno/modules/iplog/xoops_version.php Added: XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/icons/32/dashboard.png =================================================================== (Binary files differ) Property changes on: XoopsModules/iplog/branches/timgno/Frameworks/moduleclasses/icons/32/dashboard.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/about.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/about.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/about.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,72 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: about.php + * Description: About Program Dialogue for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ + include ('header.php'); + xoops_loadLanguage('admin', 'iplog'); + echo $adminMenu->addNavigation('about.php'); + + $paypalitemno = 'PROFILE175'; + $about = $adminMenu->renderabout($paypalitemno, false); + $donationform = array( 0 => '<form name="donation" id="donation" action="http://www.chronolabs.com.au/modules/xpayment/" method="post" onsubmit="return xoopsFormValidate_donation();">', + 1 => '<table class="outer" cellspacing="1" width="100%"><tbody><tr><th colspan="2">'.constant('_AM_IPLOG_ABOUT_MAKEDONATE').'</th></tr><tr align="left" valign="top"><td class="head"><div class="xoops-form-element-caption-required"><span class="caption-text">Donation Amount</span><span class="caption-marker">*</span></div></td><td class="even"><select size="1" name="item[A][amount]" id="item[A][amount]" title="Donation Amount"><option value="5">5.00 AUD</option><option value="10">10.00 AUD</option><option value="20">20.00 AUD</option><option value="40">40.00 AUD</option><option value="60">60.00 AUD</option><option value="80">80.00 AUD</option><option value="90">90.00 AUD</option><option value="100">100.00 AUD</option><option value="200">200.00 AUD</option></select></td></tr><tr align="left" valign="top"><td class="head"></td><td class="even"><input class="formButton" name="submit" id="submit" value="'._SUBMIT.'" title="'._SUBMIT.'" type="submit"></td></tr></tbody></table>', + 2 => '<input name="op" id="op" value="createinvoice" type="hidden"><input name="plugin" id="plugin" value="donations" type="hidden"><input name="donation" id="donation" value="1" type="hidden"><input name="drawfor" id="drawfor" value="Chronolabs Co-Operative" type="hidden"><input name="drawto" id="drawto" value="%s" type="hidden"><input name="drawto_email" id="drawto_email" value="%s" type="hidden"><input name="key" id="key" value="%s" type="hidden"><input name="currency" id="currency" value="AUD" type="hidden"><input name="weight_unit" id="weight_unit" value="kgs" type="hidden"><input name="item[A][cat]" id="item[A][cat]" value="XDN%s" type="hidden"><input name="item[A][name]" id="item[A][name]" value="Donation for %s" type="hidden"><input name="item[A][quantity]" id="item[A][quantity]" value="1" type="hidden"><input name="item[A][shipping]" id="item[A][shipping]" value="0" type="hidden"><input name="item[A][handling]" id="item[A][handling]" value="0" type="hidden"><input name="item[A][weight]" id="item[A][weight]" value="0" type="hidden"><input name="item[A][tax]" id="item[A][tax]" value="0" type="hidden"><input name="return" id="return" value="http://www.chronolabs.coop/modules/donations/success.php" type="hidden"><input name="cancel" id="cancel" value="http://www.chronolabs.coop/modules/donations/success.php" type="hidden"></form>', 'D'=>'', + 3 => '', + 4 => '<!-- Start Form Validation JavaScript //--> +<script type="text/javascript"> +<!--// +function xoopsFormValidate_donation() { var myform = window.document.donation; +var hasSelected = false; var selectBox = myform.item[A][amount];for (i = 0; i < selectBox.options.length; i++ ) { if (selectBox.options[i].selected == true && selectBox.options[i].value != \'\') { hasSelected = true; break; } }if (!hasSelected) { window.alert("Please enter Donation Amount"); selectBox.focus(); return false; }return true; +} +//--></script> +<!-- End Form Validation JavaScript //-->'); + $paypalform = array( 0 => '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">', + 1 => '<input name="cmd" value="_s-xclick" type="hidden">', + 2 => '<input name="hosted_button_id" value="%s" type="hidden">', + 3 => '<img alt="" src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" height="1" border="0" width="1">', + 4 => '<input src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online!" border="0" type="image">', + 5 => '</form>'); + for($key=0;$key<=4;$key++) { + switch ($key) { + case 2: + $donationform[$key] = sprintf($donationform[$key], $GLOBALS['xoopsConfig']['sitename'] . ' - ' . (strlen($GLOBALS['xoopsUser']->getVar('name'))>0?$GLOBALS['xoopsUser']->getVar('name'). ' ['.$GLOBALS['xoopsUser']->getVar('uname').']':$GLOBALS['xoopsUser']->getVar('uname')), $GLOBALS['xoopsUser']->getVar('email'), XOOPS_LICENSE_KEY, strtoupper($GLOBALS['iplogModule']->getVar('dirname')), strtoupper($GLOBALS['iplogModule']->getVar('dirname')). ' '.$GLOBALS['iplogModule']->getVar('name')); + break; + } + } + + $istart = strpos($about, ($paypalform[0]), 1); + $iend = strpos($about, ($paypalform[5]), $istart+1)+strlen($paypalform[5])-1; + echo (substr($about, 0, $istart-1)); + echo implode("\n", $donationform); + echo (substr($about, $iend+1, strlen($about)-$iend-1)); + + include(dirname(__FILE__).'/footer.php'); +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/dashboard.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/dashboard.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/dashboard.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,87 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: dashboard.php + * Description: User admin dashboard for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ + + include ('header.php'); + xoops_loadLanguage('admin', 'profile'); + $log_handler = xoops_getmodulehandler('log', 'iplog'); + + if (count($log_handler->getNumberByCountry())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY); + foreach ($log_handler->getNumberByCountry() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getNumberByRegion())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_REGION); + foreach ($log_handler->getNumberByRegion() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getNumberByContinent())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT); + foreach ($log_handler->getNumberByContinent() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_COUNTS_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getTotalSecondsByCountry())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY); + foreach ($log_handler->getTotalSecondsByCountry() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getTotalSecondsByRegion())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_REGION); + foreach ($log_handler->getTotalSecondsByRegion() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getTotalSecondsByContinent())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT); + foreach ($log_handler->getTotalSecondsByContinent() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_SUM_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getAdverageSecondsByCountry())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY); + foreach ($log_handler->getAdverageSecondsByCountry() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_COUNTRY, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getAdverageSecondsByRegion())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_REGION); + foreach ($log_handler->getAdverageSecondsByRegion() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_REGION, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + if (count($log_handler->getAdverageSecondsByContinent())>1) { + $adminMenu->addInfoBox(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT); + foreach ($log_handler->getAdverageSecondsByContinent() as $id => $value) + $adminMenu->addInfoBoxLine(_AM_IPLOG_ADMIN_AVG_BY_CONTINENT, "<label>".($value['node']=='-'?_AM_IPLOG_UNKNOWN:$value['node']).": %s</label>", $value['total'], 'Green'); + } + + echo $adminMenu->renderIndex(); + include(dirname(__FILE__).'/footer.php'); + +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/footer.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/footer.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/footer.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,36 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: footer.php + * Description: Footer Include File for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ +echo "<div align=\"center\"><a href=\"http://www.xoops.org\" target=\"_blank\"><img src=" . XOOPS_URL ."/". $GLOBALS['iplogModule']->getInfo("system_icons32")."/xoopsmicrobutton.gif"." alt=\"XOOPS\" title=\"XOOPS\"></a></div>"; +echo "<div class='center smallsmall italic pad5'><strong>" . $GLOBALS['iplogModule']->getVar("name") . "</strong> is maintained by the <a class='tooltip' rel='external' href='http://www.xoops.org/' title='Visit XOOPS Community'>XOOPS Community</a></div>"; + +xoops_cp_footer(); \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/header.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/header.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/header.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,102 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: header.php + * Description: Header Include file for Admin Control Panel + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ + + require_once (dirname(dirname(dirname(dirname(__FILE__)))).'/include/cp_header.php'); + + if (!defined('_CHARSET')) + define ("_CHARSET","UTF-8"); + if (!defined('_CHARSET_ISO')) + define ("_CHARSET_ISO","ISO-8859-1"); + + $GLOBALS['myts'] = MyTextSanitizer::getInstance(); + + $module_handler = xoops_gethandler('module'); + $config_handler = xoops_gethandler('config'); + $GLOBALS['iplogModule'] = $module_handler->getByDirname('iplog'); + $GLOBALS['iplogModuleConfig'] = $config_handler->getConfigList($GLOBALS['iplogModule']->getVar('mid')); + + xoops_load('pagenav'); + xoops_load('xoopslists'); + xoops_load('xoopsformloader'); + + include_once $GLOBALS['xoops']->path('class'.DS.'xoopsmailer.php'); + include_once $GLOBALS['xoops']->path('class'.DS.'xoopstree.php'); + + if ( file_exists($GLOBALS['xoops']->path('/Frameworks/moduleclasses/moduleadmin/moduleadmin.php'))){ + include_once $GLOBALS['xoops']->path('/Frameworks/moduleclasses/moduleadmin/moduleadmin.php'); + }else{ + echo xoops_error("Error: You don't use the Frameworks \"admin module\". Please install this Frameworks"); + } + + $GLOBALS['iplogSystemImageIcon'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('system_icons16'); + $GLOBALS['iplogSystemImageAdmin'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('system_icons32'); + $GLOBALS['iplogImageIcon'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('icons16'); + $GLOBALS['iplogImageAdmin'] = XOOPS_URL .'/'. $GLOBALS['iplogModule']->getInfo('icons32'); + + if ($GLOBALS['xoopsUser']) { + $moduleperm_handler =& xoops_gethandler('groupperm'); + if (!$moduleperm_handler->checkRight('module_admin', $GLOBALS['iplogModule']->getVar( 'mid' ), $GLOBALS['xoopsUser']->getGroups())) { + redirect_header(XOOPS_URL, 1, _NOPERM); + exit(); + } + } else { + redirect_header(XOOPS_URL . "/user.php", 1, _NOPERM); + exit(); + } + + require_once $GLOBALS['xoops']->path('/modules/iplog/include/functions.php'); + + xoops_loadLanguage('user'); + + if (!isset($GLOBALS['xoopsTpl']) || !is_object($GLOBALS['xoopsTpl'])) { + include_once(XOOPS_ROOT_PATH."/class/template.php"); + $GLOBALS['xoopsTpl'] = new XoopsTpl(); + } + + $GLOBALS['xoopsTpl']->assign('pathSystemImageIcon', $GLOBALS['iplogSystemImageIcon']); + $GLOBALS['xoopsTpl']->assign('pathSystemImageAdmin', $GLOBALS['iplogSystemImageAdmin']); + $GLOBALS['xoopsTpl']->assign('pathImageIcon', $GLOBALS['iplogImageIcon']); + $GLOBALS['xoopsTpl']->assign('pathImageAdmin', $GLOBALS['iplogImageAdmin']); + + $op = isset($_REQUEST['op'])?$_REQUEST['op']:"dashboard"; + $fct = isset($_REQUEST['fct'])?$_REQUEST['fct']:"list"; + $limit = !empty($_REQUEST['limit'])?intval($_REQUEST['limit']):30; + $start = !empty($_REQUEST['start'])?intval($_REQUEST['start']):0; + $order = !empty($_REQUEST['order'])?$_REQUEST['order']:'DESC'; + $sort = !empty($_REQUEST['sort'])?''.$_REQUEST['sort'].'':'start'; + $filter = !empty($_REQUEST['filter'])?''.$_REQUEST['filter'].'':'1,1'; + $id = !empty($_REQUEST['id'])?(is_array($_REQUEST['id'])?array_unique($_REQUEST['id']):intval($_REQUEST['id'])):0; + + xoops_cp_header(); + $adminMenu = new ModuleAdmin(); +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/index.html =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/index.html (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/index.html 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/log.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/log.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/log.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,108 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: log.php + * Description: Log Admin Control Panel Browser + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ +include 'header.php'; +echo $adminMenu->addNavigation('log.php'); + +$op = isset($_REQUEST['op']) ? $_REQUEST['op'] : 'log'; +$fct = isset($_REQUEST['fct']) ? $_REQUEST['fct'] : 'list'; + +switch($op) { +case "log": + switch ($fct) + { + default: + case "list": + + include_once $GLOBALS['xoops']->path( "/class/pagenav.php" ); + + $log_handler =& xoops_getmodulehandler('log', 'iplog'); + + $criteria = new Criteria(1,1); + $ttl = $log_handler->getCount($criteria); + $sort = !empty($_REQUEST['sort'])?''.str_replace('_', '-', $_REQUEST['sort']).'':'start'; + + $pagenav = new XoopsPageNav($ttl, $limit, $start, 'start', 'limit='.$limit.'&sort='.$sort.'&order='.$order.'&op='.$op.'&fct='.$fct.'&filter='.$filter.'&fct='.$fct.'&filter='.$filter); + $GLOBALS['xoopsTpl']->assign('pagenav', $pagenav->renderNav()); + + foreach ($log_handler->getFields() as $id => $key) { + $GLOBALS['xoopsTpl']->assign(strtolower(str_replace('-','_',$key).'_th'), '<a href="'.$_SERVER['PHP_SELF'].'?start='.$start.'&limit='.$limit.'&sort='.str_replace('_','-',$key).'&order='.((str_replace('_','-',$key)==$sort)?($order=='DESC'?'ASC':'DESC'):$order).'&op='.$op.'&filter='.$filter.'">'.(defined('_AM_IPLOG_TH_'.strtoupper(str_replace('-','_',$key)))?constant('_AM_IPLOG_TH_'.strtoupper(str_replace('-','_',$key))):'_AM_IPLOG_TH_'.strtoupper(str_replace('-','_',$key))).'</a>'); + } + + $GLOBALS['xoopsTpl']->assign('limit', $limit); + $GLOBALS['xoopsTpl']->assign('start', $start); + $GLOBALS['xoopsTpl']->assign('order', $order); + $GLOBALS['xoopsTpl']->assign('sort', $sort); + $GLOBALS['xoopsTpl']->assign('filter', $filter); + $GLOBALS['xoopsTpl']->assign('xoConfig', $GLOBALS['xoopsModuleConfig']); + + $criteria->setStart($start); + $criteria->setLimit($limit); + $criteria->setSort('`'.$sort.'`'); + $criteria->setOrder($order); + + $logs = $log_handler->getObjects($criteria, true); + foreach($logs as $cid => $log) { + if (!is_object($log)) + $log_handler->delete($cid); + else + $GLOBALS['xoopsTpl']->append('log', $log->toArray()); + } + $GLOBALS['xoopsTpl']->assign('php_self', $_SERVER['PHP_SELF']); + $GLOBALS['xoopsTpl']->display('db:iplog_log_list.html'); + break; + + + case "delete": + + $log_handler =& xoops_getmodulehandler('log', 'iplog'); + + if (isset($_POST['id'])&&$id!=0) { + $log = $log_handler->get($id); + if (!$log_handler->delete($log)) { + redirect_header('log.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_FAILEDTODELETE); + exit(0); + } else { + redirect_header('log.php?op='.$op.'&fct=list&limit='.$limit.'&start='.$start.'&order='.$order.'&sort='.$sort.'&filter='.$filter, 10, _AM_MSG_LOG_DELETED); + exit(0); + } + } else { + $log = $log_handler->get($id); + xoops_confirm(array('id'=>$id, 'op'=>$_REQUEST['op'], 'fct'=>$_REQUEST['fct'], 'limit'=>$_REQUEST['limit'], 'start'=>$_REQUEST['start'], 'order'=>$_REQUEST['order'], 'sort'=>$_REQUEST['sort'], 'filter'=>$_REQUEST['filter']), 'log.php', sprintf(_AM_MSG_LOG_DELETE, $log->getVar('uname'), $log->getIPAddy(), $log->getVar('ip_id'))); + } + break; + } + break; +} + +include(dirname(__FILE__).'/footer.php'); +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/admin/menu.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/admin/menu.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/admin/menu.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,52 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: menu.php + * Description: User admin menu defines for menu variables + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ +$module_handler = xoops_gethandler('module'); +$GLOBALS['iplogModule'] = $module_handler->getByDirname('iplog'); +$sys_icons32 = $GLOBALS['iplogModule']->getInfo('system_icons32'); +$icons32 = $GLOBALS['iplogModule']->getInfo('icons32'); +$adminmenu = array(); +if (is_object($GLOBALS['iplogModule'])) { + $adminmenu[0]['title'] = _MI_IPLOG_DASHBOARD; + $adminmenu[0]['icon'] = '../../'.$sys_icons32.'/dashboard.png'; + $adminmenu[0]['image'] = '../../'.$sys_icons32.'/dashboard.png'; + $adminmenu[0]['link'] = "admin/dashboard.php"; + $adminmenu[1]['title'] = _MI_IPLOG_LOG; + $adminmenu[1]['icon'] = '../../'.$icons32.'/iplog.log.png'; + $adminmenu[1]['image'] = '../../'.$icons32.'/iplog.log.png'; + $adminmenu[1]['link'] = "admin/log.php"; + $adminmenu[2]['title'] = _MI_IPLOG_ABOUT; + $adminmenu[2]['icon'] = '../../'.$sys_icons32.'/about.png'; + $adminmenu[2]['image'] = '../../'.$sys_icons32.'/about.png'; + $adminmenu[2]['link'] = "admin/about.php"; +} +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/class/countries.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/class/countries.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/class/countries.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,100 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides + * basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts + * Contact: wishcraft - si...@ch... + * + * 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 3 of the License, or + * (at your option) any later version. + * + * 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, see <http://www.gnu.org/licenses/>. + * See /docs/license.pdf for full license. + * + * Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) + * Many thanks for your additional work with version 1.01 + * + * Version: 1.01 Final + * Published: Chronolabs + * Download: http://code.google.com/p/chronolabs + * This File: countries.php + * Description: Countries Handler and Object Class for Module + * Date: 28/07/2015 5:45PM AEST + * License: GNU3 + * + */ + +defined('XOOPS_ROOT_PATH') or die("XOOPS root path not defined"); + +/** + * @package kernel + * @copyright copyright © 2000 XOOPS.org + */ +class IplogCountries extends XoopsObject +{ + function __construct() + { + $this->initVar('country_id', XOBJ_DTYPE_INT, null, true); + $this->initVar('code', XOBJ_DTYPE_TXTBOX); + $this->initVar('name', XOBJ_DTYPE_TXTBOX); + $this->initVar('dialcode', XOBJ_DTYPE_TXTBOX); + $this->initVar('tldexists', XOBJ_DTYPE_TXTBOX); + $this->initVar('tld', XOBJ_DTYPE_TXTBOX); + $this->initVar('startgmt', XOBJ_DTYPE_DECIMAL); + $this->initVar('endgmt', XOBJ_DTYPE_DECIMAL); + $this->initVar('region', XOBJ_DTYPE_ENUM, false, false, false, false, array('Antarctica','Australasia','Caribbean','Central Africa','Central America','Central Asia','Eastern Africa','Eastern Asia','Eastern Europe','Middle East','North America','Northern Africa','Northern Asia','Northern Europe','South America','Southeastern Asia','Southeastern Europe','Southern Africa','Southern Asia','Southern Europe','Southwestern Asia','United States','Western Africa','Western Europe','Other')); + $this->initVar('continent', XOBJ_DTYPE_ENUM, false, false, false, false, array('Africa','Asia','Europe','North America','South America','Oceania','Other')); + $this->initVar('daylightsaving', XOBJ_DTYPE_ENUM, false, false, false, false, array('Yes','No')); + $this->initVar('start_dls_day', XOBJ_DTYPE_ENUM, false, false, false, false, array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')); + $this->initVar('start_dls_week', XOBJ_DTYPE_ENUM, false, false, false, false, array('1st','2nd','3rd','4th')); + $this->initVar('start_dls_month', XOBJ_DTYPE_ENUM, false, false, false, false, array('January','Febuary','March','April','May','June','July','August','September','October','November','December')); + $this->initVar('start_dls_dayno', XOBJ_DTYPE_INT); + $this->initVar('start_dls_mode', XOBJ_DTYPE_ENUM, false, false, false, false, array('day','dayno')); + $this->initVar('end_dls_day', XOBJ_DTYPE_ENUM, false, false, false, false, array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday')); + $this->initVar('end_dls_week', XOBJ_DTYPE_ENUM, false, false, false, false, array('1st','2nd','3rd','4th')); + $this->initVar('end_dls_month', XOBJ_DTYPE_ENUM, false, false, false, false, array('January','Febuary','March','April','May','June','July','August','September','October','November','December')); + $this->initVar('end_dls_dayno', XOBJ_DTYPE_INT); + $this->initVar('end_dls_mode', XOBJ_DTYPE_ENUM, false, false, false, false, array('day','dayno')); + + $this->initVar('cat_weight', XOBJ_DTYPE_INT); + } + +} + +/** + * @package kernel + * @copyright copyright © 2000 XOOPS.org + */ +class IplogCountriesHandler extends XoopsPersistableObjectHandler +{ + function IplogCountriesHandler(&$db) + { + $this->__construct($db); + } + + function __construct(&$db) + { + parent::__construct($db, "iplog_countries", "IplogCountries", "country_id", 'name'); + } + + function getIDByCode($code, $as_id = true) { + if ($this->getCount(new Criteria('code', strtoupper($code)))) { + $objs = $this->getObjects(new Criteria('code', strtoupper($code)), false); + if (is_object($objs[0])) { + if ($as_id==true) + return $objs[0]->getVar('country_id'); + else + return $objs[0]; + } + } + return false; + } +} +?> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/class/index.html =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/class/index.html (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/class/index.html 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Added: XoopsModules/iplog/branches/timgno/modules/iplog/class/log.php =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/class/log.php (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/class/log.php 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,435 @@ +<?php +/* + * Logs Guest and users IP Addresses for a period of time and provides +* basic statistic of them in XOOPS Copyright (C) 2012 Simon Roberts +* Contact: wishcraft - si...@ch... +* +* 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 3 of the License, or +* (at your option) any later version. +* +* 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, see <http://www.gnu.org/licenses/>. +* See /docs/license.pdf for full license. +* +* Shouts:- Mamba (www.xoops.org), flipse (www.nlxoops.nl) +* Many thanks for your additional work with version 1.01 +* +* Version: 1.01 Final +* Published: Chronolabs +* Download: http://code.google.com/p/chronolabs +* This File: log.php +* Description: Log Handler and Object Class for Module Instanciation +* Date: 28/07/2015 5:45PM AEST +* License: GNU3 +* +*/ +if (!defined('XOOPS_ROOT_PATH')) { + exit(); +} + +require_once(dirname(dirname(__FILE__)).'/include/ip2locationlite.class.php'); +/** + * Class for Iplog Profiler + * @author Simon Roberts (si...@ch...) + * @copyright copyright (c) 2000-2009 XOOPS.org + * @package kernel + */ +class IplogLog extends XoopsObject +{ + + function IplogLog($fid = null) + { + $this->initVar('ip_id', XOBJ_DTYPE_INT, null, false); + $this->initVar('uid', XOBJ_DTYPE_INT, null, false); + $this->initVar('agent', XOBJ_DTYPE_TXTBOX, null, false, 255); + $this->initVar('uname', XOBJ_DTYPE_TXTBOX, null, false, 32); + $this->initVar('ip4', XOBJ_DTYPE_TXTBOX, null, false, 255); + $this->initVar('ip6', XOBJ_DTYPE_TXTBOX, null, false, 65535); + $this->initVar('long', XOBJ_DTYPE_TXTBOX, null, false, 120); + $this->initVar('network-addy', XOBJ_DTYPE_TXTBOX, null, false, 255); + $this->initVar('country_id', XOBJ_DTYPE_INT, null, false); + $this->initVar('country-code', XOBJ_DTYPE_TXTBOX, null, false, 3); + $this->initVar('country-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('region-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('city-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('postcode', XOBJ_DTYPE_TXTBOX, null, false, 15); + $this->initVar('latitude', XOBJ_DTYPE_DECIMAL, null, false); + $this->initVar('longitude', XOBJ_DTYPE_DECIMAL, null, false); + $this->initVar('time-zone', XOBJ_DTYPE_TXTBOX, null, false, 6); + $this->initVar('proxy-ip4', XOBJ_DTYPE_TXTBOX, null, false, 255); + $this->initVar('proxy-ip6', XOBJ_DTYPE_TXTBOX, null, false, 65535); + $this->initVar('proxy-long', XOBJ_DTYPE_TXTBOX, null, false, 65535); + $this->initVar('proxy-network-addy', XOBJ_DTYPE_TXTBOX, null, false, 65535); + $this->initVar('proxy-country_id', XOBJ_DTYPE_INT, null, false); + $this->initVar('proxy-country-code', XOBJ_DTYPE_TXTBOX, null, false, 3); + $this->initVar('proxy-country-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('proxy-region-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('proxy-city-name', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('proxy-postcode', XOBJ_DTYPE_TXTBOX, null, false, 15); + $this->initVar('proxy-latitude', XOBJ_DTYPE_DECIMAL, null, false); + $this->initVar('proxy-longitude', XOBJ_DTYPE_DECIMAL, null, false); + $this->initVar('proxy-time-zone', XOBJ_DTYPE_TXTBOX, null, false, 6); + $this->initVar('session_id', XOBJ_DTYPE_TXTBOX, null, false, 128); + $this->initVar('start', XOBJ_DTYPE_INT, null, false); + $this->initVar('end', XOBJ_DTYPE_INT, null, false); + $this->initVar('online', XOBJ_DTYPE_INT, null, false); + } + + function toArray() { + $ret = parent::toArray(); + $ret['made'] = date(_DATESTRING, $this->getVar('made')); + if ($this->getVar('country_id')!=0) { + $countries_handler = xoops_getmodulehandler('countries', 'iplog'); + $country = $countries_handler->get($this->getVar('country_id')); + if (is_object($country)) + $ret['country'] = $country->toArray(); + } else { + $ret['country']['code'] = '--'; + $ret['country']['name'] = '--'; + $ret['country']['continent'] = '--'; + $ret['country']['region'] = '--'; + } + $comment_handler = xoops_gethandler('comment'); + $module_handler = xoops_gethandler('module'); + $GLOBALS['moduleIplog'] = $module_handler->getByDirname('iplog'); + $criteria = new CriteriaCompo(new Criteria('com_itemid', $this->getVar('member_id'))); + $criteria->add(new Criteria('com_modid', $GLOBALS['moduleIplog']->getVar('mid'))); + $comments = $comment_handler->getObjects($criteria, true); + if (count($comments)>0) { + foreach($comments as $com_id => $comment); + $ret['comments'][$com_id] = $comment->toArray(); + } + foreach($ret as $key => $value) { + if (is_array($value)) { + foreach ($value as $keyb => $valueb) { + unset($value[$keyb]); + $value[str_replace('-', '_', $keyb)] = $valueb; + } + } + unset($ret[$key]); + $ret[str_replace('-', '_', $key)] = $value; + } + $ret['ip'] = $this->getIPAddy().' ('.$this->getIPType().')'; + $ret['proxy_ip'] = (strlen($this->getProxyIPAddy())?$this->getProxyIPAddy():'--'); + $ret['start'] = date(_DATESTRING,$ret['start']); + $ret['end'] = date(_DATESTRING,$ret['end']); + if ($ret['uid']==0) + $ret['uname'] = _MI_IPLOG_GUEST; + else + $ret['uname'] = '<a href="'.XOOPS_URL.'/userinfo.php?uid='.$ret['uid'].'">'.$ret['uname'].'</a>'; + return $ret; + + } + + function setIPAddy($ip) { + if ($this->validateIPv4($ip)) + $this->setVar('ip4', $ip); + elseif ($this->validateIPv6($ip)) + $this->setVar('ip6', $ip); + elseif (strpos($ip,'.')>0&&count(explode('.', $ip))==4) + $this->setVar('ip4', $ip); + elseif (strpos($ip,':')>0&&count(explode(':', $ip))>=5) + $this->setVar('ip6', $ip); + } + + function setProxyIPAddy($ip) { + if ($this->validateIPv4($ip)) + $this->setVar('proxy-ip4', $ip); + elseif ($this->validateIPv6($ip)) + $this->setVar('proxy-ip6', $ip); + } + + function getIPAddy() { + if (strlen($this->getVar('ip4'))>0) + return $this->getVar('ip4'); + elseif (strlen($this->getVar('ip6'))>0) + return $this->getVar('ip6'); + return false; + } + + function getProxyIPAddy() { + if (strlen($this->getVar('proxy-ip4'))>0) + return $this->getVar('proxy-ip4'); + elseif (strlen($this->getVar('proxy-ip6'))>0) + return $this->getVar('proxy-ip6'); + return false; + } + + function getIPType() { + if (strlen($this->getVar('ip4'))>0) + return _MI_IPLOG_IPV4; + elseif (strlen($this->getVar('ip6'))>0) + return _MI_IPLOG_IPV6; + } + + private function validateIPv4($ip) { + if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE) === FALSE) // returns IP is valid + { + return false; + } else { + return true; + } + } + + private function validateIPv6($ip) { + if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === FALSE) // returns IP is valid + { + return false; + } else { + return true; + } + } + +} + + +/** +* XOOPS Iplog Profiler handler class. +* This class is responsible for providing data access mechanisms to the data source +* of XOOPS user class objects. +* +* @author Simon Roberts <si...@ch...> +* @package kernel +*/ +class IplogLogHandler extends XoopsPersistableObjectHandler +{ + function __construct(&$db) + { + parent::__construct($db, "iplog_log", 'IplogLog', "ip_id", "session_id"); + } + + function getFields() { + return array('ip_id', 'uname', 'ip', 'country_code', 'name', 'region', 'contient', 'network_addy', 'agent', 'proxy_ip', 'start', 'end', 'online'); + } + + function writeLog($data) { + $obj = $this->create(); + $obj->setVars($data); + $obj->setIPAddy($data['ip']); + if ($data['proxied']) + $obj->setProxyIPAddy($data['proxy-ip']); + return $this->insert($obj, true); + } + + function insert($obj, $force = true) { + xoops_load('xoopscache'); + $ping = XoopsCache::read('iplog_ip_ping_unixtimes'); + if (!is_array($ping)==true) { + $ping=array($obj->getIPAddy()=>microtime(true)); + $oldping=microtime(true); + } else { + if (time()-$ping[$obj->getIPAddy()]>$GLOBALS['xoopsConfig']['session_expire']*60) { + $pingnew = true; + } else { + $pingnew = false; + } + $oldping=$ping[$obj->getIPAddy()]; + $ping[$obj->getIPAddy()]=microtime(true); + } + XoopsCache::write('iplog_ip_ping_unixtimes', $ping, 60*60*24*7*4); + + if ($this->getCount(new Criteria('session_id', session_id())&&is_object($GLOBALS['xoopsUser']))&&$pingnew!=true) { + $criteria = new Criteria('session_id', session_id()); + $criteria->setSort('`ip_id`'); + $criteria->setOrder('DESC'); + $criteria->setLimit(1); + $objs = $this->getObjects($criteria, false); + if (is_object($objs[0])) { + $obj = $objs[0]; + $obj->setVar('end', $ping[$obj->getIPAddy()]); + $obj->setVar('online', $obj->getVar('end')-$obj->getVar('start')); + } + } elseif (!is_object($GLOBALS['xoopsUser'])&&$GLOBALS['iplogModuleConfig']['anonymous']&&$pingnew!=true) { + if ($obj->getIPType()==_MI_IPLOG_IPV4) { + $criteria = new Criteria('ip4', $obj->getIPAddy()); + $criteria->setSort('`ip_id`'); + $criteria->setOrder('DESC'); + $criteria->setLimit(1); + $objs = $this->getObjects($criteria, false); + } elseif ($obj->getIPType()==_MI_IPLOG_IPV6) { + $criteria = new Criteria('ip6', $obj->getIPAddy()); + $criteria->setSort('`ip_id`'); + $criteria->setOrder('DESC'); + $criteria->setLimit(1); + $objs = $this->getObjects($criteria, false); + } + if (is_object($objs[0])) { + $obj = $objs[0]; + $obj->setVar('end', $ping[$obj->getIPAddy()]); + $obj->setVar('online', $obj->getVar('end')-$obj->getVar('start')); + } + } + if ($obj->isNew()) { + + $obj->setVar('session_id', session_id()); + $obj->setVar('start', $ping[$obj->getIPAddy()]); + $obj->setVar('end', $ping[$obj->getIPAddy()]); + + if (strlen($obj->getVar('ip4'))<>0) { + if (strlen($obj->getVar('ip4'))<7) { + return false; + } elseif (substr($obj->getVar('ip4'), strlen($obj->getVar('ip4'))-1, 1) == '.') { + return false; + } else { + $count = count(explode('.', $obj->getVar('ip4'))); + if ($count!=4) + return false; + } + } elseif (strlen($obj->getVar('ip6'))<>0) { + if (strlen($obj->getVar('ip6'))<15) { + return false; + } elseif (substr($obj->getVar('ip6'), strlen($obj->getVar('ip6'))-1, 1) == ':') { + return false; + } else { + $count = count(explode(':',$obj->getVar('ip6'))); + if ($count<5) + return false; + } + } + + if (strlen($obj->getVar('long'))==0) + $obj->setVar('long', @ip2long($obj->getIPAddy())); + + if (strlen($obj->getVar('network-addy'))<strlen(strlen($obj->getIPAddy()))) + $obj->setVar('network-addy', @gethostbyaddr($obj->getIPAddy())); + + $ipLite = new ip2location_lite; + $ipLite->setKey($GLOBALS['iplogModuleConfig']['ipinfodb_key']); + //Get errors and locations + $locations = $ipLite->getCity($obj->getIPAddy()); + $countries_handler = xoops_getmodulehandler('countries', 'iplog'); + $obj->setVar('country_id', $countries_handler->getIDByCode(strtoupper($locations['countryCode']))); + $obj->setVar('country-code', strtoupper($locations['countryCode'])); + $obj->setVar('country-name', ucfirst($locations['countryName'])); + $obj->setVar('region-name', ucfirst($locations['regionName'])); + $obj->setVar('city-name', ucfirst($locations['cityName'])); + $obj->setVar('postcode', $locations['zipCode']); + $obj->setVar('latitude', $locations['latitude']); + $obj->setVar('longitude', $locations['longitude']); + $obj->setVar('time-zone', $locations['timeZone']); + + if ($obj->getProxyIPAddy()!=false) { + if (strlen($obj->getVar('proxy-long'))==0) + $obj->setVar('proxy-long', @ip2long($obj->getProxyIPAddy())); + + if (strlen($obj->getVar('proxy-network-addy'))<strlen(strlen($obj->getProxyIPAddy()))) + $obj->setVar('proxy-network-addy', @gethostbyaddr($obj->getProxyIPAddy())); + + $locations = $ipLite->getCity($obj->getProxyIPAddy()); + $countries_handler = xoops_getmodulehandler('countries', 'iplog'); + $obj->setVar('proxy-country_id', $countries_handler->getIDByCode(strtoupper($locations['countryCode']))); + $obj->setVar('proxy-country-code', strtoupper($locations['countryCode'])); + $obj->setVar('proxy-country-name', ucfirst($locations['countryName'])); + $obj->setVar('proxy-region-name', ucfirst($locations['regionName'])); + $obj->setVar('proxy-city-name', ucfirst($locations['cityName'])); + $obj->setVar('proxy-postcode', $locations['zipCode']); + $obj->setVar('proxy-latitude', $locations['latitude']); + $obj->setVar('proxy-longitude', $locations['longitude']); + $obj->setVar('proxy-time-zone', $locations['timeZone']); + } + } + + $ret = parent::insert($obj, $force); + $this->deleteAll(new Criteria('end', time() - $GLOBALS['iplogModuleConfig']['logdrops'], '<=')); + return $ret; + + } + + function getNumberByCountry() { + $sql = 'SELECT DISTINCT `country-name` as node, count(*) as total FROM `'.$this->table.'` GROUP BY `country-name`'; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getNumberByRegion() { + $sql = 'SELECT DISTINCT `b`.`region` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`'; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getNumberByContinent() { + $sql = 'SELECT DISTINCT `b`.`continent` as node, count(*) as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`'; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getTotalSecondsByCountry() { + $sql = 'SELECT DISTINCT `country-name` as node, sum(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getTotalSecondsByRegion() { + $sql = 'SELECT DISTINCT `b`.`region` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getTotalSecondsByContinent() { + $sql = 'SELECT DISTINCT `b`.`continent` as node, sum(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getAdverageSecondsByCountry() { + $sql = 'SELECT DISTINCT `country-name` as node, avg(`online`)/60 as total FROM `'.$this->table.'` GROUP BY `country-name`'; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getAdverageSecondsByRegion() { + $sql = 'SELECT DISTINCT `b`.`region` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`region`';; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } + + function getAdverageSecondsByContinent() { + $sql = 'SELECT DISTINCT `b`.`continent` as node, avg(`online`)/60 as total FROM `'.$this->table.'` a INNER JOIN `'.$GLOBALS['xoopsDB']->prefix('iplog_countries').'` b ON a.country_id = b.country_id GROUP BY `b`.`continent`';; + $result = $GLOBALS['xoopsDB']->queryF($sql); + $ret = array(); + while ($row = $GLOBALS['xoopsDB']->fetchArray($result)) { + $ret[] = $row; + } + return $ret; + } +} +?> Added: XoopsModules/iplog/branches/timgno/modules/iplog/docs/changelog.txt =================================================================== --- XoopsModules/iplog/branches/timgno/modules/iplog/docs/changelog.txt (rev 0) +++ XoopsModules/iplog/branches/timgno/modules/iplog/docs/changelog.txt 2012-07-28 13:25:54 UTC (rev 9937) @@ -0,0 +1,65 @@ +================================================ +== Version 1.01 Final - 2012/07/28 19:15 AEST == +================================================ +Changed: /admin/about.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/dashboard.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/dashboard.php - Search for '-' in array and return Unknown constant (wishcraft) +Changed: /admin/footer.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/header.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/log.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/log.php - fix delete function (flipse) +Changed: /admin/log.php - fix delete query message to provide data output (flipse) +Changed: /admin/log.php - rename index.php to log.php in redirections (flipse) +Changed: /admin/menu.php - GNU3 header and shouts added to header (wishcraft) +Changed: /admin/menu.php - Framework System Icon Path Variable Added (wishcraft) +Changed: /class/log.php - GNU3 header and shouts added to header (wishcraft) +Changed: /class/log.php - Rename of Field Type 'useragent' to 'agent' as Db (wishcraft) +Changed: /class/log.php - xoops_load('cache') is deprecated [changed to standard] (wishcraft) +Changed: /class/log.php - Add Group By to SQL for statistics on dashboard (wishcraft) +Changed: /class/countries.php - GNU3 header and shouts added to header (wishcraft) +Changed: /include/functions.php - GNU3 header and shouts added to header (wishcraft) +Changed: /include/ip2locationlite.class.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/help/help.html - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/help/help.html - Content Updated to be revelent & IPInfoDB Instruction added (wishcraft) +Changed: /language/english/admin.php - GNU3 header and shouts added to header (wishcraft) +Changed: /language/english/admin.php - Unknown added to language for missing data (wishcraft) +Changed: /language/english/admin.php - Rename of Constant Type 'useragent' to 'agent' as Db (wishcraft) +Changed: /language/english/admin.php - add two missing language definitions (mamba) +Changed: /language/english/admin.php - add three sprintf variable to Delete Query. (wishcraft) +Changed: /language/english/modinfo.php - GNU3 header and shouts added to header (wishcraft) +Changed: /preloads/logger.php - GNU3 header and shouts added to header (wishcraft) +Changed: /sql/mysql.sql - GNU3 header and shouts added to header (wishcraft) +Changed: /templates/iplog_log_list.html - GNU3 header and shouts added to header (wishcraft) +Changed: /templates/iplog_log_list.html - replaced "delete" text with icon (mamba) +Changed: /templates/iplog_log_list.html - Fixed display of country code from country array (wishcraft) +Changed: /templates/iplog_log_list.html - Fixed display of continent from array (wishcraft) +Changed: /templates/iplog_log_list.html - Fixed display of User Agent from array (wishcraft) +Changed: /xoops_version.php - GNU3 header and shouts added to header (wishcraft) +Changed: /xoops_version.php - Framework System Icon Path Variable Added (wishcraft) +Changed: restructure folders (mamba) +Moved: /Frameworks/moduleclass/icons to /images/icons - move icons back to th module (mamba) + +================================================ +== Version 1.01 RC - 2012/07/27 == +================================================ +Changed: /class/log.php - Ping time stored in Cache based on Session Expires Time (wishcraft) +Changed: /class/log.php - IP Type detection Improved (wishcraft) +Changed: /class/log.php - IP Type added to toArray() for IP Address (wishcraft) +Changed: /class/log.php - Support for anonymous user added (wishcraft) +Changed: /class/log.php - Contient renamed to Continent (wishcraft) +Changed: /admin/dashboard.php - Contient renamed to Continent (wishcraft) +Changed: /admin/dashboard.php - CONTIENT renamed to CONTINENT (wishcraft) +Changed: /language/english/admin.php - C... [truncated message content] |