From: <wis...@us...> - 2017-05-12 15:27:38
|
Revision: 13241 http://sourceforge.net/p/xoops/svn/13241 Author: wishcraft Date: 2017-05-12 15:27:34 +0000 (Fri, 12 May 2017) Log Message: ----------- Pingtrax 2.01 ~ Final Release after Candidate in Major+Minor! Modified Paths: -------------- XoopsModules/pingtrax/trunk/modules/pingtrax/class/pings.php XoopsModules/pingtrax/trunk/modules/pingtrax/class/plugins.php XoopsModules/pingtrax/trunk/modules/pingtrax/xoops.org.news.article.txt XoopsModules/pingtrax/trunk/modules/pingtrax/xoops_version.php Added Paths: ----------- XoopsModules/pingtrax/releases/2.00/ XoopsModules/pingtrax/releases/2.00/README.md XoopsModules/pingtrax/releases/2.00/htdocs/ XoopsModules/pingtrax/releases/2.00/htdocs/class/ XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/ XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/xoops_plugins/ XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/xoops_plugins/function.xoTrackbacks.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/about.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_footer.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_header.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/items.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/menu.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/pings.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/.htaccess XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/index.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/pingtrax_blocks.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items_pings.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items_sitemaps.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/pings.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/plugins.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/simple_html_dom.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/sitemaps.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/trackback.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/add.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/copy.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/delete.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/edit.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/link.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/images/logo.png XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/category-id-names.txt XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/exclude-names.txt XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/install.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/include/item-id-names.txt XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/admin.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/help/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/help/help.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/help/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/english/modinfo.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/language/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/pingtrax.css XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/plugins/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/plugins/default.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/plugins/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/plugins/xcenter.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/items.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/ping.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/sitemap.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/preloads/trackback.php XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/sql/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/sql/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/sql/mysql.sql XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/sql/tables.json XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/admin/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/admin/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/admin/items.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/admin/pings.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/blocks/ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/blocks/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/blocks/trackbacks_block.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/blocks/trackbacks_url.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/index.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/sitemaps.xml.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/templates/xoTrackback.html XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/xoops.org.news.article.txt XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/xoops_version.php XoopsModules/pingtrax/releases/2.01/ XoopsModules/pingtrax/releases/2.01/README.md XoopsModules/pingtrax/releases/2.01/htdocs/ XoopsModules/pingtrax/releases/2.01/htdocs/class/ XoopsModules/pingtrax/releases/2.01/htdocs/class/smarty/ XoopsModules/pingtrax/releases/2.01/htdocs/class/smarty/xoops_plugins/ XoopsModules/pingtrax/releases/2.01/htdocs/class/smarty/xoops_plugins/function.xoTrackbacks.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/about.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/admin.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/admin_footer.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/admin_header.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/items.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/menu.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/admin/pings.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/api/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/api/.htaccess XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/api/index.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/blocks/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/blocks/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/blocks/pingtrax_blocks.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/items.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/items_pings.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/items_sitemaps.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/pings.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/plugins.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/simple_html_dom.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/sitemaps.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/class/trackback.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/add.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/copy.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/delete.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/edit.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/link.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/images/logo.png XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/category-id-names.txt XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/exclude-names.txt XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/install.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/include/item-id-names.txt XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/admin.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/help/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/help/help.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/help/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/english/modinfo.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/language/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/pingtrax.css XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/plugins/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/plugins/default.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/plugins/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/plugins/xcenter.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/items.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/ping.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/sitemap.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/preloads/trackback.php XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/sql/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/sql/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/sql/mysql.sql XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/sql/tables.json XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/admin/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/admin/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/admin/items.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/admin/pings.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/blocks/ XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/blocks/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/blocks/trackbacks_block.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/blocks/trackbacks_url.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/index.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/sitemaps.xml.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/templates/xoTrackback.html XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/xoops.org.news.article.txt XoopsModules/pingtrax/releases/2.01/htdocs/modules/pingtrax/xoops_version.php Added: XoopsModules/pingtrax/releases/2.00/README.md =================================================================== --- XoopsModules/pingtrax/releases/2.00/README.md (rev 0) +++ XoopsModules/pingtrax/releases/2.00/README.md 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,22 @@ +# Pinging + Trackbacks + Sitemaps +## for XOOPS 2.5 ~ http://xoops.org +### (PHP Framework Example) + +# Introduction:- + +PingTrax is a module for XOOPS 2.5 which allows for the discovery of pages on the system for both pingback discovery and recrawling updates as well as sitemaps that are actually maintained on popularity as well as trackbacks (these are also known as permilinks). + +The Trackbacks has two blocks which are generally displayed on all pages except the front one, one which displays the trackback URL, and the other for the trackback comments (This uses the XOOPS Comments System). + +It will notify pingbacks with locations of information on your site as well as poll it when it is updated, this partly uses an extra smarty class for the trackbacking, make sure this is included, it is an extra plugin + +## Requirements:- + + * You will require a system running XOOPS 2.5 + * You will require a site not running on localhost + +## Downloads:- + +You can download this module and others from sourceforge.net at the following project: https://sourceforge.net/projects/chronolabs/files/XOOPS%202.5/Modules/ + + Added: XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/xoops_plugins/function.xoTrackbacks.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/xoops_plugins/function.xoTrackbacks.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/class/smarty/xoops_plugins/function.xoTrackbacks.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,51 @@ +<?php +/** + * PingTrax Smarty Trackback Function + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +function smarty_function_xoTrackbacks($tag_args, &$comp) +{ + $attrs = $comp->_parse_attrs($tag_args); + foreach ($attrs as $arg_name => $arg_value) { + if ($arg_name == 'dirname') { + $dirname = $arg_value; + continue; + } + } + global $pingtraxitem; + if (is_a($pingtraxitem, "PingtraxItems")) + { + $GLOBALS['xoTheme']->addStylesheet(XOOPS_URL . "/modules/pingtrax/pingtrax.css"); + $trackbacksTpl = new XoopsTpl(); + $trackbacksTpl->assign('permlink', $pingtraxitem->getVar('item-protocol').$pingtraxitem->getVar('item-domain').$pingtraxitem->getVar('item-referer-uri')); + $commentHandler = xoops_gethandler('comment'); + $moduleHandler = xoops_gethandler('module'); + $criteria = new CriteriaCompo(new Criteria('com_modid', $moduleHandler->getByDirname('pingtrax')->getVar('mid'))); + $criteria->add(new Criteria('com_itemid', $pingtraxitem->getVar('id'))); + $criteria->setOrder('com_created'); + $criteria->setSort('DESC'); + foreach($commentHandler->getObjects($criteria) as $comid => $comment) + $trackbacksTpl->append('trackbacks', array('subject'=>$comment->getVar('com_title'), 'comment'=>$comment->getVar('com_text'))); + ob_start(); + $trackbacksTpl->display($GLOBALS['xoops']->path('/modules/pingtrax/templates/xoTrackback.html')); + return ob_get_clean(); + } + return ''; +} Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/about.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/about.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/about.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,34 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +include_once dirname(__FILE__) . '/../../../include/cp_header.php'; +include '../../../class/xoopsformloader.php'; +include_once dirname(__FILE__) . '/admin_header.php'; +xoops_cp_header(); + +$aboutAdmin = new ModuleAdmin(); + +echo $aboutAdmin->addNavigation('about.php'); +echo $aboutAdmin->renderabout('6KJ7RW5DR3VTJ', false); + +include_once dirname(__FILE__) . '/admin_footer.php'; +//xoops_cp_footer(); Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/about.php ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,48 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +include_once dirname(__FILE__) . '/admin_header.php'; +xoops_cp_header(); + + +$pingsHandler = xoops_getmodulehandler('pings', 'pingtrax'); +$itemsHandler = xoops_getmodulehandler('items', 'pingtrax'); + +$indexAdmin = new ModuleAdmin(); + +$indexAdmin->addInfoBox(_AM_PINGTRAX_STATISTICS); + +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_PINGLISTS."</label>", $pingsHandler->getCountPinglists(), 'Green'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_SITEMAPS."</label>", $pingsHandler->getCountSitemaps(), 'Green'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_PINGSUCCESS."</label>", $pingsHandler->getSumSuccessful(), 'Green'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_PINGFAILURES."</label>", $pingsHandler->getSumFailures(), 'Green'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_PINGLASTSUCCESS."</label>", $pingsHandler->getLastSuccessDate('Y-m-d H:i:s'), 'Purple'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_PINGLASTFAILED."</label>", $pingsHandler->getLastFailedDate('Y-m-d H:i:s'), 'Red'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_URISADMIN."</label>", $itemsHandler->getCount(new Criteria('user-session', 'admin')), 'Blue'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_URISUSERS."</label>", $itemsHandler->getCount(new Criteria('user-session', 'user')), 'Blue'); +$indexAdmin->addInfoBoxLine(_AM_PINGTRAX_STATISTICS, "<label>"._AM_PINGTRAX_STATISTICS_URISGUEST."</label>", $itemsHandler->getCount(new Criteria('user-session', 'guest')), 'Blue'); + +echo $indexAdmin->addNavigation('admin.php'); +echo $indexAdmin->renderIndex(); + +include_once dirname(__FILE__) . '/admin_footer.php'; +//xoops_cp_footer(); Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin.php ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_footer.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_footer.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_footer.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,30 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +echo "<div class='adminfooter'>\n" + ." <div style='text-align: center;'>\n" + ." <a href='http://www.xoops.org' rel='external'><img src='{$pathIcon32}/xoopsmicrobutton.gif' alt='XOOPS' title='XOOPS'></a>\n" + ." </div>\n" + ." " . _AM_MODULEADMIN_ADMIN_FOOTER . "\n" + ."</div>"; + +xoops_cp_footer(); Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_footer.php ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_header.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_header.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_header.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,69 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + + +$path = dirname(dirname(dirname(dirname(__FILE__)))); +include_once $path . '/mainfile.php'; +include_once $path . '/include/cp_functions.php'; +require_once $path . '/include/cp_header.php'; +require_once $path . '/class/pagenav.php'; + +global $xoopsModule; + +$thisModuleDir = $GLOBALS['xoopsModule']->getVar('dirname'); + +//if functions.php file exist +//require_once dirname(dirname(__FILE__)) . '/include/functions.php'; + +// Load language files +xoops_loadLanguage('admin', $thisModuleDir); +xoops_loadLanguage('modinfo', $thisModuleDir); +xoops_loadLanguage('main', $thisModuleDir); + +$pathIcon16 = '../'.$xoopsModule->getInfo('icons16'); +$pathIcon32 = '../'.$xoopsModule->getInfo('icons32'); +$pathModuleAdmin = $xoopsModule->getInfo('dirmoduleadmin'); + +include_once $GLOBALS['xoops']->path($pathModuleAdmin.'/moduleadmin.php'); + +if ($xoopsUser) { + $moduleperm_handler =& xoops_gethandler('groupperm'); + if (!$moduleperm_handler->checkRight('module_admin', $xoopsModule->getVar('mid'), $xoopsUser->getGroups())) { + redirect_header(XOOPS_URL, 1, _NOPERM); + exit(); + } +} else { + redirect_header(XOOPS_URL . "/user.php", 1, _NOPERM); + exit(); +} + +if (!isset($xoopsTpl) || !is_object($xoopsTpl)) { + include_once(XOOPS_ROOT_PATH."/class/template.php"); + $xoopsTpl = new XoopsTpl(); +} + +//$xoopsTpl->assign('pathIcon16', $pathIcon16); + +if (!isset($GLOBALS['xoopsTpl']) || !is_object($GLOBALS['xoopsTpl'])) { + include_once XOOPS_ROOT_PATH . '/class/template.php'; + $GLOBALS['xoopsTpl'] = new XoopsTpl(); +} Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/admin_header.php ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/index.html =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/index.html (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/index.html 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/index.html ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/items.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/items.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/items.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,103 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +include_once dirname(__FILE__) . '/admin_header.php'; +xoops_cp_header(); + +xoops_load('PageNav'); +xoops_load('XoopsFormLoader'); + +$indexAdmin = new ModuleAdmin(); +echo $indexAdmin->addNavigation('pings.php'); + +$start = !isset($_REQUEST['start'])?0:(integer)$_REQUEST['start']; +$num = !isset($_REQUEST['num'])?30:(integer)$_REQUEST['num']; +$domain = !isset($_REQUEST['domain'])?'':(string)$_REQUEST['domain']; +$protocol = !isset($_REQUEST['protocol'])?'':(string)$_REQUEST['protocol']; + +$sitemapsHandler = xoops_getmodulehandler('sitemaps', 'pingtrax'); +$itemsHandler = xoops_getmodulehandler('items', 'pingtrax'); +$itemsSitemapsHandler = xoops_getmodulehandler('items_sitemaps', 'pingtrax'); + +$criteria = new Criteria('offlined', 0); +foreach($sitemapsHandler->getObjects($criteria) as $id => $sitemap) + $GLOBALS['xoopsTpl']->append('filter', array('protocol'=>$sitemap->getVar('protocol'), 'domain'=>$sitemap->getVar('domain'),'filename'=>$sitemap->getVar('filename'))); + + +$criteria = new CriteriaCompo(new Criteria('`offlined`', 0)); +if (!empty($protocol)) + $criteria->add(new Criteria('`item-protocol`', mysqli_escape_string($protocol))); +if (!empty($domain)) + $criteria->add(new Criteria('`item-domain`', $domain)); +$criteria->add(new Criteria('`type`', 'local')); +$total = $itemsHandler->getCount($criteria); +$criteria->setStart($start); +$criteria->setLimit($num); + +foreach($itemsHandler->getObjects($criteria, true) as $id => $item) +{ + $local = array(); + $local['id'] = $item->getVar('id'); + $local['dirname'] = $item->getVar('module-dirname'); + $local['class'] = $item->getVar('module-class'); + $local['itemid'] = $item->getVar('module-item-id'); + $local['catid'] = $item->getVar('item-category-id'); + $local['author']['uid'] = $item->getVar('item-author-uid'); + $local['author']['name'] = $item->getVar('item-author-name'); + $local['uri'] = $item->getVar('item-protocol').$item->getVar('item-domain').$item->getVar('item-referer-uri'); + $local['title'] = $item->getVar('item-title'); + $local['refereruri'] = $item->getVar('item-referer-uri'); + $local['discovery'] = $item->getVar('discovery-hook'); + $local['session'] = $item->getVar('user-session'); + $criteria = new CriteriaCompo(new Criteria('type', 'remote')); + $criteria->add(new Criteria('parent-id', $local['id'])); + $local['children'] = $itemsHandler->getCount($criteria); + $criteria = new CriteriaCompo(new Criteria('item-referer', $item->getVar('referer'))); + if ($itemsSitemapsHandler->getCount($criteria)==0) + { + $local['changed'] = $local['checking'] = $local['priority'] = $local['frequency'] = '---'; + } else { + $itemsitemaps = $itemsSitemapsHandler->getObjects($criteria, false); + if (isset($itemsitemaps[0]) && is_object($itemsitemaps[0])) + { + $local['frequency'] = $itemsitemaps[0]->getVar('frequency'); + $local['priority'] = $itemsitemaps[0]->getVar('priority'); + $local['changed'] = ($itemsitemaps[0]->getVar('changed')==0?"---":date('Y-m-d H:i:s', $itemsitemaps[0]->getVar('changed'))); + $local['checking'] = ($itemsitemaps[0]->getVar('checking')==0?"---":date('Y-m-d H:i:s', $itemsitemaps[0]->getVar('checking'))); + } else + $local['changed'] = $local['checking'] = $local['priority'] = $local['frequency'] = '---'; + } + $GLOBALS['xoopsTpl']->append('locals', $local); +} + +$pagenav = new XoopsPageNav($total, $num, $start, 'start', "&num=$num&protocol=$protocol&domain=$domain"); +$GLOBALS['xoopsTpl']->assign('pagenav', $pagenav->renderNav(5)); +$GLOBALS['xoopsTpl']->assign('start', $start); +$GLOBALS['xoopsTpl']->assign('num', $num); +$GLOBALS['xoopsTpl']->assign('protocol', $protocol); +$GLOBALS['xoopsTpl']->assign('domain', $domain); +$GLOBALS['xoopsTpl']->assign('phpself', XOOPS_URL . $_SERVER["PHP_SELF"]); +$GLOBALS['xoopsTpl']->display($GLOBALS['xoops']->path('/modules/pingtrax/templates/admin/items.html')); + + +include_once dirname(__FILE__) . '/admin_footer.php'; +//xoops_cp_footer(); Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/menu.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/menu.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/menu.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,58 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +// defined("XOOPS_ROOT_PATH") || die("XOOPS root path not defined"); + +$path = dirname(dirname(dirname(dirname(__FILE__)))); +include_once $path . '/mainfile.php'; + +$dirname = basename(dirname(dirname(__FILE__))); +$module_handler = xoops_gethandler('module'); +$module = $module_handler->getByDirname($dirname); +$pathIcon32 = $module->getInfo('icons32'); +$pathModuleAdmin = $module->getInfo('dirmoduleadmin'); +$pathLanguage = $path . $pathModuleAdmin; + +if (!file_exists($fileinc = $pathLanguage . '/language/' . $GLOBALS['xoopsConfig']['language'] . '/' . 'main.php')) { + $fileinc = $pathLanguage . '/language/english/main.php'; +} + +include_once $fileinc; + +$adminmenu = array(); + +$i = 1; +$adminmenu[$i]['title'] = _MI_PINGTRAX_DASHBOARD; +$adminmenu[$i]['link'] = "admin/admin.php"; +$adminmenu[$i]['icon'] = $pathIcon32.'/home.png' ; +++$i; +$adminmenu[$i]['title'] = _MI_PINGTRAX_PINGS; +$adminmenu[$i]['link'] = 'admin/pings.php'; +$adminmenu[$i]['icon'] = $pathIcon32.'/globe.png'; +++$i; +$adminmenu[$i]['title'] = _MI_PINGTRAX_ITEMS; +$adminmenu[$i]['link'] = 'admin/items.php'; +$adminmenu[$i]['icon'] = $pathIcon32.'/playlist.png'; +++$i; +$adminmenu[$i]['title'] = _MI_PINGTRAX_ABOUT; +$adminmenu[$i]['link'] = 'admin/about.php'; +$adminmenu[$i]['icon'] = $pathIcon32.'/about.png'; Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/menu.php ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/pings.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/pings.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/admin/pings.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,109 @@ +<?php +/** + * PingTrax Admin + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + +include_once dirname(__FILE__) . '/admin_header.php'; +xoops_cp_header(); + +xoops_load('PageNav'); +xoops_load('XoopsFormLoader'); + +$indexAdmin = new ModuleAdmin(); +echo $indexAdmin->addNavigation('pings.php'); + +$start = !isset($_REQUEST['start'])?0:(integer)$_REQUEST['start']; +$num = !isset($_REQUEST['num'])?30:(integer)$_REQUEST['num']; +$id = !isset($_REQUEST['id'])?0:(integer)$_REQUEST['id']; +$op = !isset($_REQUEST['op'])?'default':(string)$_REQUEST['op']; + +$pingsHandler = xoops_getmodulehandler('pings', 'pingtrax'); +$itemsHandler = xoops_getmodulehandler('items', 'pingtrax'); + +switch ($op) +{ + default: + $criteria = new Criteria('offlined', 0); + $total = $pingsHandler->getCount($criteria); + $criteria->setStart($start); + $criteria->setLimit($num); + + foreach($pingsHandler->getObjects($criteria, true) as $id => $ping) + { + if ($ping->getVar('last-item-referer')!='') + { + $item = $itemsHandler->getByReferer($ping->getVar('last-item-referer')); + if (is_object($item)) + $last = array('uri'=>$item->getVar('item-protocol').$item->getVar('item-domain').$item->getVar('item-referer-uri'), 'title' => $item->getVar('item-title')); + else + $last = array(); + } else + $last = array(); + $GLOBALS['xoopsTpl']->append('pings', array('id' => $ping->getVar('id'), 'type' => $ping->getVar('type'), 'uri' => $ping->getVar('uri'), 'last' => $last, "successes" => number_format($ping->getVar('successful-pings'), 0), "failures" => number_format($ping->getVar('failed-pings'), 0), 'success' => ($ping->getVar('success-time')!=0?date("Y-m-d H:i:s", $ping->getVar('success-time')):"---"), 'failed' => ($ping->getVar('failure-time')!=0?date("Y-m-d H:i:s", $ping->getVar('failure-time')):"---"), 'sleeptill' => ($ping->getVar('sleep-till')!=0?date("Y-m-d H:i:s", $ping->getVar('sleep-till')):"---"))); + } + + $pagenav = new XoopsPageNav($total, $num, $start, 'start', "&num=$num"); + $GLOBALS['xoopsTpl']->assign('pagenav', $pagenav->renderNav(5)); + $GLOBALS['xoopsTpl']->assign('start', $start); + $GLOBALS['xoopsTpl']->assign('num', $num); + + $form = new XoopsThemeForm(_AM_PINGTRAX_PING_ADD, 'add-pinglist', $_SERVER['PHP_SELF']."?op=add&start=$start&num=&num"); + $form->addElement(new XoopsFormText(_AM_PINGTRAX_PING_URI, 'uri', 50, 250)); + $type = new XoopsFormSelect(_AM_PINGTRAX_PING_TYPE, 'type'); + $type->addOption('XML-RPC', 'XML-RPC'); + $type->addOption('SITEMAPS', 'SITEMAPS'); + $form->addElement($type); + $form->addElement(new XoopsFormButton(_SUBMIT, 'submit', _SUBMIT)); + $GLOBALS['xoopsTpl']->assign('addform', $form->render()); + $GLOBALS['xoopsTpl']->display($GLOBALS['xoops']->path('/modules/pingtrax/templates/admin/pings.html')); + break; + case "add": + if (!empty($_POST['uri']) && !empty($_POST['type'])) + { + $ping = $pingsHandler->create(); + $ping->setVar('uri', $_POST['uri']); + $ping->setVar('type', $_POST['type']); + if($pingsHandler->insert($ping)) + redirect_header($_SERVER["PHP_SELF"]."?start=$start&num=$num", 7, _AM_PINGTRAX_PING_ADD_SUCCESSFUL); + } + redirect_header($_SERVER["PHP_SELF"]."?start=$start&num=$num", 7, _AM_PINGTRAX_PING_ADD_FAILED); + exit(0); + case "edit": + foreach($_POST['uri'] as $id=> $uri) + { + $ping = $pingsHandler->get($id); + $ping->setVar('uri', $uri); + $ping->setVar('type', $_POST['type'][$id]); + $pingsHandler->insert($ping); + } + redirect_header($_SERVER["PHP_SELF"]."?start=$start&num=$num", 7, _AM_PINGTRAX_PING_EDIT_COMPLETE); + exit(0); + case "delete": + $ping = $pingsHandler->get($id); + if (is_a($ping, "PingtraxPings")) + if ($pingsHandler->delete($ping)) + redirect_header($_SERVER["PHP_SELF"]."?start=$start&num=$num", 7, _AM_PINGTRAX_PING_DELETE_SUCCESS); + redirect_header($_SERVER["PHP_SELF"]."?start=$start&num=$num", 7, _AM_PINGTRAX_PING_DELETE_FAILED); + exit(0); + break; +} + +include_once dirname(__FILE__) . '/admin_footer.php'; +//xoops_cp_footer(); Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/.htaccess =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/.htaccess (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/.htaccess 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,2 @@ +RewriteEngine On +RewriteRule ^([0-9a-z]{32,44})$ index.php?referer=$1 [L] \ No newline at end of file Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/index.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/index.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/api/index.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,50 @@ +<?php + +require_once dirname(dirname(dirname(__DIR__))) . DIRECTORY_SEPARATOR . "mainfile.php"; +require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . "class". DIRECTORY_SEPARATOR . "trackback.php"; + +$trackback = new PingtraxTrackback($GLOBALS['xoopsConfig']['sitename'], $GLOBALS['xoopsConfig']['sitename'], 'UTF-8'); + +if (!isset($_GET['referer'])) + die($trackback->recieve(false, "\$_GET['referer'] not specified and is required for trackback API!")); + +xoops_load("XoopsUserUtility"); +$moduleHandler = xoops_gethandler('module'); +$commentHandler = xoops_gethandler('comment'); +$itemsHandler = xoops_getmodulehandler('items', 'pingtrax'); +$item = $itemsHandler->getByReferer($_GET['referer']); + +if (!is_a($item, "PingtraxItems")) + die($trackback->recieve(false, $_GET['referer'] . " does not match any recorded item on the trackback API!")); + +$url = $_REQUEST["url"]; +if ($url) { + $excerpt = $_REQUEST["excerpt"]; + $name = ($_REQUEST["blog_name"]) ? $_REQUEST["blog_name"] : $url; + $subject = ($_REQUEST["title"]) ? $_REQUEST["title"] : $url; + $comment = "<strong> TrackBack from <a href=\"$url\">$name</a>:</strong><br />"; + $comment .= "<blockquote>$excerpt</blockquote>"; + + $pluginHandler = xoops_getmodulehandler('plugins', 'pingtrax'); + $remoteitem = $pluginHandler->getRemoteObject($item, $url, $name, $subject, $comment); + if (is_a($remoteitem, "PingtraxItems")) + { + $comment = $commentHandler->create(); + $comment->setVar('com_modid', $moduleHandler->getByDirname('pingtrax')->getVar('mid')); + $comment->setVar('com_title', $subject); + $comment->setVar('com_text', $comment); + $comment->setVar('com_created', time()); + $comment->setVar('com_url', $url); + $comment->setVar('com_ip', XoopsUserUtility::getIP(true)); + $comment->setVar('com_itemid', $item->getVar('id')); + $comment->setVar('dohtml', true); + $comment->setVar('dosmiley', true); + $comment->setVar('doxcode', true); + $comment->setVar('doimage', true); + $comment->setVar('dobr', true); + $commentHandler->insert($comment); + } +} else { + die($trackback->recieve(false, "Missing URL for trackback API!")); +} +die($trackback->recieve(true, "")); Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/index.html =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/index.html (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/index.html 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/index.html ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/pingtrax_blocks.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/pingtrax_blocks.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/blocks/pingtrax_blocks.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,44 @@ +<?php +/** + * Pingtrax Block Trackbacks Handler module + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + + +function pingtrax_trackbacks_block_show($args = array()) +{ + +} + + +function pingtrax_trackbacks_block_edit($args = array()) +{ + +} + +function pingtrax_trackurl_block_show($args = array()) +{ + return array('url'=>XOOPS_URL . $_SERVER["REQUEST_URI"]); +} + + +function pingtrax_trackurl_block_edit($args = array()) +{ + +} \ No newline at end of file Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/index.html =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/index.html (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/index.html 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1 @@ + <script>history.go(-1);</script> \ No newline at end of file Property changes on: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/index.html ___________________________________________________________________ Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Added: XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items.php =================================================================== --- XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items.php (rev 0) +++ XoopsModules/pingtrax/releases/2.00/htdocs/modules/pingtrax/class/items.php 2017-05-12 15:27:34 UTC (rev 13241) @@ -0,0 +1,242 @@ +<?php +/** + * Pingtrax Database Class Handler module + * + * 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. + * + * @copyright Chronolabs Cooperative http://sourceforge.net/projects/chronolabs/ + * @license GNU GPL 3 (http://labs.coop/briefs/legal/general-public-licence/13,3.html) + * @author Simon Antony Roberts <wis...@us...> + * @see http://sourceforge.net/projects/xoops/ + * @see http://sourceforge.net/projects/chronolabs/ + * @see http://sourceforge.net/projects/chronolabsapi/ + * @see http://labs.coop + * @version 1.0.1 + * @since 1.0.1 + */ + + +/** + * Class PingtraxItems + * + * @subpackage pingtrax + * + * Database MySQL Table:- + * + * CREATE TABLE `pingtrax_items` ( + * `id` mediumint(20) NOT NULL AUTO_INCREMENT, + * `parent-id` mediumint(20) NOT NULL DEFAULT '0', + * `referer` varchar(44) NOT NULL DEFAULT '', + * `type` enum('local','remote','unknown') NOT NULL DEFAULT 'unknown', + * `module-dirname` varchar(30) NOT NULL DEFAULT '', + * `module-class` varchar(100) NOT NULL DEFAULT '', + * `module-item-id` mediumint(30) NOT NULL DEFAULT '0', + * `module-php-self` varchar(150) NOT NULL DEFAULT '', + * `module-get` tinytext, + * `item-author-uid` int(13) NOT NULL DEFAULT '0', + * `item-author-name` varchar(64) NOT NULL DEFAULT '', + * `item-category-id` int(20) NOT NULL DEFAULT '0', + * `item-title` varchar(180) NOT NULL DEFAULT '', + * `item-description` varchar(250) NOT NULL DEFAULT '', + * `item-protocol` enum('https://','http://') NOT NULL DEFAULT 'http://', + * `item-domain` varchar(150) NOT NULL DEFAULT '', + * `item-referer-uri` varchar(250) NOT NULL DEFAULT '', + * `item-php-self` varchar(250) NOT NULL DEFAULT '', + * `feed-protocol` enum('https://','http://') NOT NULL DEFAULT 'http://', + * `feed-domain` varchar(150) NOT NULL DEFAULT '', + * `feed-referer-uri` varchar(250) NOT NULL DEFAULT '', + * `discovery-hook` enum('php','preloader','smarty','combination','unknown') NOT NULL DEFAULT 'unknown', + * `user-session` enum('admin','user','guest','unknown') NOT NULL DEFAULT 'unknown', + * `created` int(12) NOT NULL DEFAULT '0', + * `updated` int(12) NOT NULL DEFAULT '0', + * `offlined` int(12) NOT NULL DEFAULT '0', + * PRIMARY KEY (`id`), + * KEY `SEARCH` (`referer`,`item-author-uid`,`item-author-name`,`module-dirname`,`item-protocol`,`item-domain`,`item-referer-uri`,`module-php-self`,`item-php-self`,`discovery-hook`,`id`) KEY_BLOCK_SIZE=128, + * KEY `CHRONOLOGISTICS` (`id`,`referer`,`created`,`updated`,`offlined`) USING BTREE KEY_BLOCK_SIZE=64 + * ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC KEY_BLOCK_SIZE=16; + */ +class PingtraxItems extends XoopsObject +{ + /** + * + * @var unknown + */ + var $_configs = array(); + + /** + * + */ + function __construct() + { + $moduleHandler = xoops_gethandler('module'); + $configHandler = xoops_gethandler('config'); + $this->_configs = $configHandler->getConfigList($moduleHandler->getByDirname(basename(dirname(__DIR__)))->getVar('mid')); + + $this->XoopsObject(); + $this->initVar('id', XOBJ_DTYPE_INT, null, false); + $this->initVar('parent-id', XOBJ_DTYPE_INT, null, false); + $this->initVar('referer', XOBJ_DTYPE_OTHER, sha1(NULL), false, 44); + $this->initVar('type', XOBJ_DTYPE_ENUM, 'unknown', true, false, false, false, array('local','remote','unknown')); + $this->initVar('module-dirname', XOBJ_DTYPE_OTHER, '', false, 30); + $this->initVar('module-class', XOBJ_DTYPE_OTHER, '', false, 100); + $this->initVar('module-item-id', XOBJ_DTYPE_INT, 0, false); + $this->initVar('module-php-self', XOBJ_DTYPE_OTHER, '', false, 150); + $this->initVar('module-get', XOBJ_DTYPE_ARRAY, array(), false); + $this->initVar('item-author-uid', XOBJ_DTYPE_INT, 0, false); + $this->initVar('item-author-name', XOBJ_DTYPE_TXTBOX, '', false, 64); + $this->initVar('item-category-id', XOBJ_DTYPE_INT, null, false); + $this->initVar('item-title', XOBJ_DTYPE_TXTBOX, '', false, 180); + $this->initVar('item-description', XOBJ_DTYPE_TXTBOX, '', false, 250); + $this->initVar('item-protocol', XOBJ_DTYPE_ENUM, XOOPS_PROT, true, false, false, false, array('https://','http://')); + $this->initVar('item-domain', XOBJ_DTYPE_TXTBOX, parse_url(XOOPS_URL, PHP_URL_HOST), true, 150); + $this->initVar('item-referer-uri', XOBJ_DTYPE_TXTBOX, $_SERVER["REQUEST_URI"], true, 250); + $this->initVar('item-php-self', XOBJ_DTYPE_TXTBOX, str_replace(XOOPS_ROOT_PATH, "", $_SERVER["PHP_SELF"]), true, 250); + $this->initVar('feed-protocol', XOBJ_DTYPE_ENUM, parse_url(str_replace("%xoops_url%", XOOPS_URL, $this->_configs['default_feed_url']), PHP_URL_SCHEME), true, false, false, false, array('https://','http://')); + $this->initVar('feed-domain', XOBJ_DTYPE_TXTBOX, parse_url(str_replace("%xoops_url%", XOOPS_URL, $this->_configs['default_feed_url']), PHP_URL_HOST), true, 150); + $this->initVar('feed-referer-uri', XOBJ_DTYPE_TXTBOX, parse_url(str_replace("%xoops_url%", XOOPS_URL, $this->_configs['default_feed_url']), PHP_URL_PATH) . '/backend.php', true, 250); + $this->initVar('discovery-hook', XOBJ_DTYPE_ENUM, 'unknown', true, false, false, false, array('php','preloader','smarty','combination','unknown')); + $this->initVar('user-session', XOBJ_DTYPE_ENUM, 'unknown', true, false, false, false, array('admin','user','guest','unknown')); + $this->initVar('created', XOBJ_DTYPE_INT, 0, false); + $this->initVar('updated', XOBJ_DTYPE_INT, 0, false); + $this->initVar('offlined', XOBJ_DTYPE_INT, 0, false); + } + + /** + * + * @return string + */ + function getPingXML() + { + $xml = "<?xml version=\"1.0\"?>\n"; + $xml .= "<methodCall>\n"; + $xml .= "\t<methodName>weblogUpdates.extendedPing</methodName>\n"; + $xml .= "\t<params>\n"; + $xml .= "\t\t<param>\n"; + $xml .= "\t\t\t<value>".$this->getVar('item-title')."</value>\n"; + $xml .= "\t\t</param>\n"; + $xml .= "\t\t<param>\n"; + $xml .= "\t\t\t<value>".$this->getVar('item-protocol').$this->getVar('item-domain')."</value>\n"; + $xml .= "\t\t</param>\n"; + $xml .= "\t\t<param>\n"; + $xml .= "\t\t\t<value>".$this->getVar('item-protocol').$this->getVar('item-domain').$this->getVar('item-referer-uri')."</value>\n"; + $xml .= "\t\t</param>\n"; + $xml .= "\t\t<param>\n"; + $xml .= "\t\t\t<value>".$this->getVar('feed-protocol').$this->getVar('feed-domain').$this->getVar('feed-referer-uri')."</value>\n"; + $xml .= "\t\t</param>\n"; + $xml .= "\t</params>\n"; + $xml .= "</methodCall>"; + return $xml; + } +} + +/** + * Class PingtraxItemsHandler + */ +class PingtraxItemsHandler extends XoopsPersistableObjectHandler +{ + + /** + * @param null|object $db + */ + function __construct(&$db) + { + parent::__construct($db, "pingtrax_items", 'PingtraxItems', 'id', 'referer'); + } + + + function insert($object = NULL, $force = true) + { + if ($object->isNew()) + { + $criteria = new Criteria('referer', $object->getVar('referer')); + if ($this->getCount($criteria)==0) + $object->setVar('created', time()); + else + { + $objs = $this->getObjects($criteria, false); + if (isset($objs[0])) + return $objs[0]->getVar('id'); + else + return false; + } + if ($object->getVar('type') == 'local') + { + $sitemapsHandler = xoops_getmodulehandler('sitemaps', 'pingtrax'); + $criteria = new CriteriaCompo(new Criteria('protocol', XOOPS_PROT)); + $criteria->add(new Criteria('domain', parse_url(XOOPS_URL, PHP_URL_HOST))); + $criteria->add(new Criteria('baseurl', parse_url(XOOPS_URL, PHP_URL_PATH))); + if ($sitemapsHandler->getCount($criteria)==0) + { + $sitemap = $sitemapsHandler->create(); + $sitemap->setVar('referer', md5(XOOPS_URL.microtime(true).XOOPS_DB_USER.XOOPS_DB_PASS)); + $sitemap->setVar('protocol', XOOPS_PROT); + $sitemap->setVar('domain', parse_url(XOOPS_URL, PHP_URL_HOST)); + $sitemap->setVar('baseurl', parse_url(XOOPS_URL, PHP_URL_PATH)); + $sitemap->setVar('filename', 'sitemap.'.str_replace("://", "", XOOPS_PROT) . "." . parse_url(XOOPS_URL, PHP_URL_HOST) . '.xml'); + $sitemap = $sitemapsHandler->get($sitemap = $sitemapsHandler->insert($sitemap, true)); + } else { + $obj = $sitemapsHandler->getObjects($criteria, false); + if (is_object($obj[0])) + $sitemap = $obj[0]; + } + $items_sitemapsHandler = xoops_getmodulehandler('items_sitemaps', 'pingtrax'); + $itemsitemap = $items_sitemapsHandler->create(); + $itemsitemap->setVar('map-referer', $sitemap->getVar('referer')); + $itemsitemap->setVar('item-referer', $object->getVar('referer')); + $items_sitemapsHandler->insert($itemsitemap, true); + $items_pingsHandler = xoops_getmodulehandler('items_pings', 'pingtrax'); + $pingsHandler = xoops_getmodulehandler('pings', 'pingtrax'); + $criteria = new CriteriaCompo(new Criteria('`type`', 'XML-RPC')); + $criteria->add(new Criteria('`offlined`', 0)); + foreach($pingsHandler->getObjects($criteria, true) as $id => $ping) + { + $itemping = $items_pingsHandler->create(); + $itemping->setVar('ping-referer', $ping->getVar('referer')); + $itemping->setVar('item-referer', $object->getVar('referer')); + $items_pingsHandler->insert($itemping, true); + } + } + } else { + $object->setVar('updated', time()); + } + switch ($object->getVar('user-session')) + ... [truncated message content] |