|
From: <chr...@us...> - 2018-06-29 09:10:01
|
Revision: 13380
http://sourceforge.net/p/xoops/svn/13380
Author: chronolabscoop
Date: 2018-06-29 09:09:55 +0000 (Fri, 29 Jun 2018)
Log Message:
-----------
Done for 37hr round-table going to work on entities api for a bit!
Modified Paths:
--------------
XoopsModules/authkey/trunk/modules/authkey/admin/index.php
XoopsModules/authkey/trunk/modules/authkey/apis.php
XoopsModules/authkey/trunk/modules/authkey/class/apis.php
XoopsModules/authkey/trunk/modules/authkey/class/keys.php
XoopsModules/authkey/trunk/modules/authkey/class/users.php
XoopsModules/authkey/trunk/modules/authkey/language/english/admin.php
XoopsModules/authkey/trunk/modules/authkey/language/english/modinfo.php
XoopsModules/authkey/trunk/modules/authkey/xoops_version.php
Added Paths:
-----------
XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png
XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png
Modified: XoopsModules/authkey/trunk/modules/authkey/admin/index.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/admin/index.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/admin/index.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -26,12 +26,47 @@
$indexAdmin = new ModuleAdmin();
echo $indexAdmin->addNavigation(basename($_SERVER['PHP_SELF']));
- $category_handler = xoops_getmodulehandler('category', 'xcenter');
- $xcenter_handler = xoops_getmodulehandler('xcenter', 'xcenter');
$indexAdmin = new ModuleAdmin();
- $indexAdmin->addInfoBox(_XTR_ADMIN_COUNTS);
- $indexAdmin->addInfoBoxLine(_XTR_ADMIN_COUNTS, "<label>"._XTR_ADMIN_THEREARE_CATEGORIES."</label>", $category_handler->getCount(NULL), 'Green');
- $indexAdmin->addInfoBoxLine(_XTR_ADMIN_COUNTS, "<label>"._XTR_ADMIN_THEREARE_ARTICLES."</label>", $xcenter_handler->getCount(NULL), 'Green');
+ $indexAdmin->addInfoBox(_AM_AUTHKEY_DASHBOARD);
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_DASHBOARD, "<label>"._AM_AUTHKEY_INDEX_APIS."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCount(NULL), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_DASHBOARD, "<label>"._AM_AUTHKEY_INDEX_APIS_AUTHWRITE."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCount(new Criteria('`api-write`', 'xoopskey')), 'Orange');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_DASHBOARD, "<label>"._AM_AUTHKEY_INDEX_APIS_AUTHREAD."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCount(new Criteria('`api-read`', 'xoopskey')), 'Orange');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_DASHBOARD, "<label>"._AM_AUTHKEY_INDEX_KEYS_NUMBER."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getCount(NULL), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_DASHBOARD, "<label>"._AM_AUTHKEY_INDEX_KEYS_ADVERAGE."</label>", number_format(xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getAveragePerUser(), 2), 'Green');
+
+ $indexAdmin->addInfoBox(_AM_AUTHKEY_LESTATS);
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_KEY_TYPE."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextStatsType(), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_KEY_NAME."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextStatsName(), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_KEY_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextStatsWhen()), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_USER_TYPE."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextStatsType(), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_USER_NAME."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextStatsName(), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_USER_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextStatsWhen()), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_API_TYPE."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextStatsType(), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_API_NAME."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextStatsName(), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_LESTATS, "<label>"._AM_AUTHKEY_STATS_API_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextStatsWhen()), 'Blue');
+
+ $indexAdmin->addInfoBox(_AM_AUTHKEY_REPORTING);
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_KEY_TYPE."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextReportType(), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_KEY_NAME."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextReportName(), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_KEY_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getNextReportWhen()), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_USER_TYPE."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextReportType(), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_USER_NAME."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextReportName(), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_USER_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getNextReportWhen()), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_API_TYPE."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextReportType(), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_API_NAME."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextReportName(), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_REPORTING, "<label>"._AM_AUTHKEY_REPORT_API_ENDING."</label>", date('Y/m/d H:i:s', xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getNextReportWhen()), 'Blue');
+
+ $indexAdmin->addInfoBox(_AM_AUTHKEY_ENDING);
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_KEY_STATS_WEEKLY."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24 * 7), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_KEY_STATS_DAILY."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_KEY_REPORTS_MONTHLY."</label>", xoops_getmodulehandler('keys', basename(dirname(__DIR__)))->getCountReportsEnding(3600 * 24 * 7 * 4), 'Green');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_USER_STATS_WEEKLY."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24 * 7), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_USER_STATS_DAILY."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_USER_REPORTS_MONTHLY."</label>", xoops_getmodulehandler('users', basename(dirname(__DIR__)))->getCountReportsEnding(3600 * 24 * 7 * 4), 'Purple');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_API_STATS_WEEKLY."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24 * 7), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_API_STATS_DAILY."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCountStatsEnding(3600 * 24), 'Blue');
+ $indexAdmin->addInfoBoxLine(_AM_AUTHKEY_ENDING, "<label>"._AM_AUTHKEY_ENDING_API_REPORTS_MONTHLY."</label>", xoops_getmodulehandler('apis', basename(dirname(__DIR__)))->getCountReportsEnding(3600 * 24 * 7 * 4), 'Blue');
+
echo $indexAdmin->renderIndex();
xoops_cp_footer();
?>
\ No newline at end of file
Modified: XoopsModules/authkey/trunk/modules/authkey/apis.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/apis.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/apis.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -44,8 +44,8 @@
if (substr($field, 0, 5) == 'calls') {
$apiarr[str_replace("-", "_", $field)] = number_format($value, 0);
} elseif (in_array($field, array('online', 'offline'))) {
- if ($value = $api->getVar('status'))
- $apiarr[str_replace("-", "_", $field)] = authkey_getTimePeriod($value + (time() - $api->getVar('checked')));
+ if ($field = $api->getVar('status'))
+ $apiarr[str_replace("-", "_", $field)] = authkey_getTimePeriod($value + ((time() > $api->getVar('checked') ? time() - $api->getVar('checked') : $api->getVar('checked') - time())));
else
$apiarr[str_replace("-", "_", $field)] = authkey_getTimePeriod($value);
} elseif (in_array($field, array('stats-hour', 'stats-day', 'stats-week', 'stats-month', 'stats-quarter', 'stats-year', 'report-month', 'report-quarter', 'report-year', 'report-biannual', 'created', 'checked', 'checking', 'emailed'))) {
Added: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png
===================================================================
(Binary files differ)
Index: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png 2018-06-29 09:09:55 UTC (rev 13380)
Property changes on: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/exec.png
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png
===================================================================
(Binary files differ)
Index: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png 2018-06-29 09:09:55 UTC (rev 13380)
Property changes on: XoopsModules/authkey/trunk/modules/authkey/assets/images/32x32/stats.png
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: XoopsModules/authkey/trunk/modules/authkey/class/apis.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/class/apis.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/class/apis.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -178,6 +178,216 @@
return $space . implode("\n".$space, $return);
}
+ function getNextStatsType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return _MI_AUTHKEY_PERIODICALLY_YEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_QUARTER;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_WEEK;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_DAY;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HOUR;
+ }
+
+ function getNextStatsName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return $year['api-name'];
+ else
+ return $quarter['api-name'];
+ else
+ return $month['api-name'];
+ else
+ return $week['api-name'];
+ else
+ return $day['api-name'];
+ else
+ return $hour['api-name'];
+ }
+
+ function getNextStatsWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return $year['stats-year'];
+ else
+ return $quarter['stats-quarter'];
+ else
+ return $month['stats-month'];
+ else
+ return $week['stats-week'];
+ else
+ return $day['stats-day'];
+ else
+ return $hour['stats-hour'];
+ }
+
+ function getNextReportType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return _MI_AUTHKEY_PERIODICALLY_BIANNUAL;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_FULLYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HALFYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ }
+
+ function getNextReportName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return $biannual['api-name'];
+ else
+ return $fullyear['api-name'];
+ else
+ return $halfyear['api-name'];
+ else
+ return $monthly['api-name'];
+ }
+
+ function getNextReportWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_apis') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return $biannual['report-biannual'];
+ else
+ return $fullyear['report-fullyear'];
+ else
+ return $halfyear['report-halfyear'];
+ else
+ return $monthly['report-monthly'];
+ }
+
+
+ function getCountStatsEnding($seconds = 0)
+ {
+ $criteriahour = new CriteriaCompo(new Criteria('`stats-hour`', time() - $seconds, ">="));
+ $criteriahour->add(new Criteria('`stats-hour`', time(), "<="));
+ $criteriaday = new CriteriaCompo(new Criteria('`stats-day`', time() - $seconds, ">="));
+ $criteriaday->add(new Criteria('`stats-day`', time(), "<="));
+ $criteriaweek = new CriteriaCompo(new Criteria('`stats-week`', time() - $seconds, ">="));
+ $criteriaweek->add(new Criteria('`stats-week`', time(), "<="));
+ $criteriamonth = new CriteriaCompo(new Criteria('`stats-month`', time() - $seconds, ">="));
+ $criteriamonth->add(new Criteria('`stats-month`', time(), "<="));
+ $criteriaquarter = new CriteriaCompo(new Criteria('`stats-quarter`', time() - $seconds, ">="));
+ $criteriaquarter->add(new Criteria('`stats-quarter`', time(), "<="));
+ $criteriayear = new CriteriaCompo(new Criteria('`stats-year`', time() - $seconds, ">="));
+ $criteriayear->add(new Criteria('`stats-year`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriahour);
+ $criteria->add($criteriaday, 'OR');
+ $criteria->add($criteriaweek, 'OR');
+ $criteria->add($criteriamonth, 'OR');
+ $criteria->add($criteriaquarter, 'OR');
+ $criteria->add($criteriayear, 'OR');
+ return $this->getCount($criteria);
+ }
+
+
+ function getCountReportsEnding($seconds = 0)
+ {
+ $criteriamonthly = new CriteriaCompo(new Criteria('`report-monthly`', time() - $seconds, ">="));
+ $criteriamonthly->add(new Criteria('`report-monthly`', time(), "<="));
+ $criteriahalfyear = new CriteriaCompo(new Criteria('`report-halfyear`', time() - $seconds, ">="));
+ $criteriahalfyear->add(new Criteria('`report-halfyear`', time(), "<="));
+ $criteriafullyear = new CriteriaCompo(new Criteria('`report-fullyear`', time() - $seconds, ">="));
+ $criteriafullyear->add(new Criteria('`report-fullyear`', time(), "<="));
+ $criteriabiannual = new CriteriaCompo(new Criteria('`report-biannual`', time() - $seconds, ">="));
+ $criteriabiannual->add(new Criteria('`report-biannual`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriamonthly);
+ $criteria->add($criteriahalfyear, 'OR');
+ $criteria->add($criteriafullyear, 'OR');
+ $criteria->add($criteriabiannual, 'OR');
+ return $this->getCount($criteria);
+ }
+
function insert(AuthkeyApis $object, $force = true)
{
global $authkeyModule, $authkeyConfigsList, $authkeyConfigs, $authkeyConfigsOptions;
Modified: XoopsModules/authkey/trunk/modules/authkey/class/keys.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/class/keys.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/class/keys.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -117,6 +117,228 @@
return $return;
}
+ function getAveragePerUser()
+ {
+ $sql = "SELECT count(*) as `count`, `uid` FROM `" . $this->db->prefix('authkey_keys') . "` GROUP BY `uid`";
+ $result = $this->db->queryF($sql);
+ $rows = $sum = 0;
+ while($row = $this->db->fetchArray($result))
+ {
+ $sum += $row['count'];
+ $rows++;
+ }
+ return $sum / $rows;
+ }
+
+ function getNextStatsType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return _MI_AUTHKEY_PERIODICALLY_YEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_QUARTER;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_WEEK;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_DAY;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HOUR;
+ }
+
+ function getNextStatsName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return $year['title'];
+ else
+ return $quarter['title'];
+ else
+ return $month['title'];
+ else
+ return $week['title'];
+ else
+ return $day['title'];
+ else
+ return $hour['title'];
+ }
+
+ function getNextStatsWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return $year['stats-year'];
+ else
+ return $quarter['stats-quarter'];
+ else
+ return $month['stats-month'];
+ else
+ return $week['stats-week'];
+ else
+ return $day['stats-day'];
+ else
+ return $hour['stats-hour'];
+ }
+
+ function getNextReportType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return _MI_AUTHKEY_PERIODICALLY_BIANNUAL;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_FULLYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HALFYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ }
+
+ function getNextReportName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return $biannual['title'];
+ else
+ return $fullyear['title'];
+ else
+ return $halfyear['title'];
+ else
+ return $monthly['title'];
+ }
+
+ function getNextReportWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_keys') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return $biannual['report-biannual'];
+ else
+ return $fullyear['report-fullyear'];
+ else
+ return $halfyear['report-halfyear'];
+ else
+ return $monthly['report-monthly'];
+ }
+
+ function getCountStatsEnding($seconds = 0)
+ {
+ $criteriahour = new CriteriaCompo(new Criteria('`stats-hour`', time() - $seconds, ">="));
+ $criteriahour->add(new Criteria('`stats-hour`', time(), "<="));
+ $criteriaday = new CriteriaCompo(new Criteria('`stats-day`', time() - $seconds, ">="));
+ $criteriaday->add(new Criteria('`stats-day`', time(), "<="));
+ $criteriaweek = new CriteriaCompo(new Criteria('`stats-week`', time() - $seconds, ">="));
+ $criteriaweek->add(new Criteria('`stats-week`', time(), "<="));
+ $criteriamonth = new CriteriaCompo(new Criteria('`stats-month`', time() - $seconds, ">="));
+ $criteriamonth->add(new Criteria('`stats-month`', time(), "<="));
+ $criteriaquarter = new CriteriaCompo(new Criteria('`stats-quarter`', time() - $seconds, ">="));
+ $criteriaquarter->add(new Criteria('`stats-quarter`', time(), "<="));
+ $criteriayear = new CriteriaCompo(new Criteria('`stats-year`', time() - $seconds, ">="));
+ $criteriayear->add(new Criteria('`stats-year`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriahour);
+ $criteria->add($criteriaday, 'OR');
+ $criteria->add($criteriaweek, 'OR');
+ $criteria->add($criteriamonth, 'OR');
+ $criteria->add($criteriaquarter, 'OR');
+ $criteria->add($criteriayear, 'OR');
+ return $this->getCount($criteria);
+ }
+
+
+ function getCountReportsEnding($seconds = 0)
+ {
+ $criteriamonthly = new CriteriaCompo(new Criteria('`report-monthly`', time() - $seconds, ">="));
+ $criteriamonthly->add(new Criteria('`report-monthly`', time(), "<="));
+ $criteriahalfyear = new CriteriaCompo(new Criteria('`report-halfyear`', time() - $seconds, ">="));
+ $criteriahalfyear->add(new Criteria('`report-halfyear`', time(), "<="));
+ $criteriafullyear = new CriteriaCompo(new Criteria('`report-fullyear`', time() - $seconds, ">="));
+ $criteriafullyear->add(new Criteria('`report-fullyear`', time(), "<="));
+ $criteriabiannual = new CriteriaCompo(new Criteria('`report-biannual`', time() - $seconds, ">="));
+ $criteriabiannual->add(new Criteria('`report-biannual`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriamonthly);
+ $criteria->add($criteriahalfyear, 'OR');
+ $criteria->add($criteriafullyear, 'OR');
+ $criteria->add($criteriabiannual, 'OR');
+ return $this->getCount($criteria);
+ }
+
function insert(AuthkeyKeys $object, $force = true)
{
global $authkeyModule, $authkeyConfigsList, $authkeyConfigs, $authkeyConfigsOptions;
Modified: XoopsModules/authkey/trunk/modules/authkey/class/users.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/class/users.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/class/users.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -85,6 +85,231 @@
parent::__construct($db, 'authkey_users', 'AuthkeyUsers', "uid", "uname");
}
+ function getNextStatsType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return _MI_AUTHKEY_PERIODICALLY_YEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_QUARTER;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_WEEK;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_DAY;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HOUR;
+ }
+
+ function getNextStatsName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ $user = xoops_getHandler('member')->getUser($year['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($quarter['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($month['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($week['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($day['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($hour['uid']);
+
+ if (is_object($user))
+ if (strlen($user->getVar('name')))
+ return $user->getVar('name') . " (" . $user->getVar('uname') . ")";
+ else
+ return $user->getVar('uname');
+ return '';
+ }
+
+ function getNextStatsWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-hour` ASC LIMIT 1";
+ $hour = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-day` ASC LIMIT 1";
+ $day = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-week` ASC LIMIT 1";
+ $week = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-month` ASC LIMIT 1";
+ $month = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-quarter` ASC LIMIT 1";
+ $quarter = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `stats-year` ASC LIMIT 1";
+ $year = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($hour['stats-hour'] >= $day['stats-day'])
+ if ($day['stats-day'] >= $week['stats-week'])
+ if ($week['stats-week'] >= $month['stats-month'])
+ if ($month['stats-month'] >= $quarter['stats-quarter'])
+ if ($quarter['stats-quarter'] >= $year['stats-year'])
+ return $year['stats-year'];
+ else
+ return $quarter['stats-quarter'];
+ else
+ return $month['stats-month'];
+ else
+ return $week['stats-week'];
+ else
+ return $day['stats-day'];
+ else
+ return $hour['stats-hour'];
+ }
+
+ function getNextReportType()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return _MI_AUTHKEY_PERIODICALLY_BIANNUAL;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_FULLYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_HALFYEAR;
+ else
+ return _MI_AUTHKEY_PERIODICALLY_MONTH;
+ }
+
+ function getNextReportName()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ $user = xoops_getHandler('member')->getUser($biannual['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($fullyear['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($halfyear['uid']);
+ else
+ $user = xoops_getHandler('member')->getUser($monthly['uid']);
+
+ if (is_object($user))
+ if (strlen($user->getVar('name')))
+ return $user->getVar('name') . " (" . $user->getVar('uname') . ")";
+ else
+ return $user->getVar('uname');
+ return '';
+
+ }
+
+ function getNextReportWhen()
+ {
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-monthly` ASC LIMIT 1";
+ $monthly = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-halfyear` ASC LIMIT 1";
+ $halfyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-fullyear` ASC LIMIT 1";
+ $fullyear = $this->db->fetchArray($this->db->queryF($sql));
+ $sql = "SELECT * FROM `" . $this->db->prefix('authkey_users') . "` ORDER BY `report-biannual` ASC LIMIT 1";
+ $biannual = $this->db->fetchArray($this->db->queryF($sql));
+
+ if ($monthly['report-monthly'] >= $halfyear['report-halfyear'])
+ if ($halfyear['report-halfyear'] >= $fullyear['report-fullyear'])
+ if ($fullyear['report-fullyear'] >= $biannual['report-biannual'])
+ return $biannual['report-biannual'];
+ else
+ return $fullyear['report-fullyear'];
+ else
+ return $halfyear['report-halfyear'];
+ else
+ return $monthly['report-monthly'];
+ }
+
+
+ function getCountStatsEnding($seconds = 0)
+ {
+ $criteriahour = new CriteriaCompo(new Criteria('`stats-hour`', time() - $seconds, ">="));
+ $criteriahour->add(new Criteria('`stats-hour`', time(), "<="));
+ $criteriaday = new CriteriaCompo(new Criteria('`stats-day`', time() - $seconds, ">="));
+ $criteriaday->add(new Criteria('`stats-day`', time(), "<="));
+ $criteriaweek = new CriteriaCompo(new Criteria('`stats-week`', time() - $seconds, ">="));
+ $criteriaweek->add(new Criteria('`stats-week`', time(), "<="));
+ $criteriamonth = new CriteriaCompo(new Criteria('`stats-month`', time() - $seconds, ">="));
+ $criteriamonth->add(new Criteria('`stats-month`', time(), "<="));
+ $criteriaquarter = new CriteriaCompo(new Criteria('`stats-quarter`', time() - $seconds, ">="));
+ $criteriaquarter->add(new Criteria('`stats-quarter`', time(), "<="));
+ $criteriayear = new CriteriaCompo(new Criteria('`stats-year`', time() - $seconds, ">="));
+ $criteriayear->add(new Criteria('`stats-year`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriahour);
+ $criteria->add($criteriaday, 'OR');
+ $criteria->add($criteriaweek, 'OR');
+ $criteria->add($criteriamonth, 'OR');
+ $criteria->add($criteriaquarter, 'OR');
+ $criteria->add($criteriayear, 'OR');
+ return $this->getCount($criteria);
+ }
+
+
+ function getCountReportsEnding($seconds = 0)
+ {
+ $criteriamonthly = new CriteriaCompo(new Criteria('`report-monthly`', time() - $seconds, ">="));
+ $criteriamonthly->add(new Criteria('`report-monthly`', time(), "<="));
+ $criteriahalfyear = new CriteriaCompo(new Criteria('`report-halfyear`', time() - $seconds, ">="));
+ $criteriahalfyear->add(new Criteria('`report-halfyear`', time(), "<="));
+ $criteriafullyear = new CriteriaCompo(new Criteria('`report-fullyear`', time() - $seconds, ">="));
+ $criteriafullyear->add(new Criteria('`report-fullyear`', time(), "<="));
+ $criteriabiannual = new CriteriaCompo(new Criteria('`report-biannual`', time() - $seconds, ">="));
+ $criteriabiannual->add(new Criteria('`report-biannual`', time(), "<="));
+ $criteria = new CriteriaCompo($criteriamonthly);
+ $criteria->add($criteriahalfyear, 'OR');
+ $criteria->add($criteriafullyear, 'OR');
+ $criteria->add($criteriabiannual, 'OR');
+ return $this->getCount($criteria);
+ }
+
function insert(AuthkeyUsers $object, $force = true)
{
global $authkeyModule, $authkeyConfigsList, $authkeyConfigs, $authkeyConfigsOptions;
Modified: XoopsModules/authkey/trunk/modules/authkey/language/english/admin.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/language/english/admin.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/language/english/admin.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -18,5 +18,43 @@
*/
+// Dashboard Ledger
+define('_AM_AUTHKEY_DASHBOARD', 'Dashboard Counts');
+define('_AM_AUTHKEY_LESTATS', 'Next Occuring Statistics');
+define('_AM_AUTHKEY_REPORTING', 'Next Occuring Reporting');
+define('_AM_AUTHKEY_ENDING', 'Number of Ending Items');
+// Dashboard Ledger Items
+define('_AM_AUTHKEY_INDEX_APIS', 'Number of API\'s: %s');
+define('_AM_AUTHKEY_INDEX_APIS_AUTHWRITE', 'API\'s Requiring Xoopskey on Write: %s');
+define('_AM_AUTHKEY_INDEX_APIS_AUTHREAD', 'API\'s Requiring Xoopskey on Read: %s');
+define('_AM_AUTHKEY_INDEX_KEYS_NUMBER', 'Number of Xoopskeys/Authkeys: %s');
+define('_AM_AUTHKEY_INDEX_KEYS_ADVERAGE', 'Average number of keys per user: %s');
+define('_AM_AUTHKEY_STATS_KEY_TYPE', 'Next Key Statistics to Occur Type: %s');
+define('_AM_AUTHKEY_STATS_KEY_NAME', 'Next Key Statistics to Occur Name: %s');
+define('_AM_AUTHKEY_STATS_KEY_ENDING', 'When Next Key Statistics is to Occur: %s');
+define('_AM_AUTHKEY_STATS_USER_TYPE', 'Next User Statistics to Occur Type: %s');
+define('_AM_AUTHKEY_STATS_USER_NAME', 'Next User Statistics to Occur Name: %s');
+define('_AM_AUTHKEY_STATS_USER_ENDING', 'When Next User Statistics is to Occur: %s');
+define('_AM_AUTHKEY_STATS_API_TYPE', 'Next API Statistics to Occur Type: %s');
+define('_AM_AUTHKEY_STATS_API_NAME', 'Next API Statistics to Occur Name: %s');
+define('_AM_AUTHKEY_STATS_API_ENDING', 'When Next API Statistics is to Occur: %s');
+define('_AM_AUTHKEY_REPORT_KEY_TYPE', 'Next Key Reporting to Occur Type: %s');
+define('_AM_AUTHKEY_REPORT_KEY_NAME', 'Next Key Reporting to Occur Name: %s');
+define('_AM_AUTHKEY_REPORT_KEY_ENDING', 'When Next Key Reporting is to Occur: %s');
+define('_AM_AUTHKEY_REPORT_USER_TYPE', 'Next User Reporting to Occur Type: %s');
+define('_AM_AUTHKEY_REPORT_USER_NAME', 'Next User Reporting to Occur Name: %s');
+define('_AM_AUTHKEY_REPORT_USER_ENDING', 'When Next User Reporting is to Occur: %s');
+define('_AM_AUTHKEY_REPORT_API_TYPE', 'Next API Reporting to Occur Type: %s');
+define('_AM_AUTHKEY_REPORT_API_NAME', 'Next API Reporting to Occur Name: %s');
+define('_AM_AUTHKEY_REPORT_API_ENDING', 'When Next API Reporting is to Occur: %s');
+define('_AM_AUTHKEY_ENDING_KEY_STATS_WEEKLY', 'Number of Key Statistics Ending this Week: %s');
+define('_AM_AUTHKEY_ENDING_KEY_STATS_DAILY', 'Number of Key Statistics Ending Today: %s');
+define('_AM_AUTHKEY_ENDING_KEY_REPORTS_MONTHLY', 'Number of Key Reports Ending this Month: %s');
+define('_AM_AUTHKEY_ENDING_USER_STATS_WEEKLY', 'Number of User Statistics Ending this Week: %s');
+define('_AM_AUTHKEY_ENDING_USER_STATS_DAILY', 'Number of User Statistics Ending Today: %s');
+define('_AM_AUTHKEY_ENDING_USER_REPORTS_MONTHLY', 'Number of User Reports Ending this Month: %s');
+define('_AM_AUTHKEY_ENDING_API_STATS_WEEKLY', 'Number of API Statistics Ending this Week: %s');
+define('_AM_AUTHKEY_ENDING_API_STATS_DAILY', 'Number of API Statistics Ending Today: %s');
+define('_AM_AUTHKEY_ENDING_API_REPORTS_MONTHLY', 'Number of API Reports Ending this Month: %s');
?>
\ No newline at end of file
Modified: XoopsModules/authkey/trunk/modules/authkey/language/english/modinfo.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/language/english/modinfo.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/language/english/modinfo.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -36,6 +36,9 @@
define('_MI_AUTHKEY_PERIODICALLY_MONTH', 'Monthly');
define('_MI_AUTHKEY_PERIODICALLY_QUARTER', 'Quarterly');
define('_MI_AUTHKEY_PERIODICALLY_YEAR', 'Yearly');
+ define('_MI_AUTHKEY_PERIODICALLY_HALFYEAR', '6 x Monthly');
+ define('_MI_AUTHKEY_PERIODICALLY_FULLYEAR', '12 x Monthly');
+ define('_MI_AUTHKEY_PERIODICALLY_BIANNUALLY', 'Biannually');
// Periodical Based Constants
define('_MI_AUTHKEY_PERIODICAL_HOUR', 'Hour');
@@ -44,6 +47,9 @@
define('_MI_AUTHKEY_PERIODICAL_MONTH', 'Month');
define('_MI_AUTHKEY_PERIODICAL_QUARTER', 'Quarter');
define('_MI_AUTHKEY_PERIODICAL_YEAR', 'Year');
+ define('_MI_AUTHKEY_PERIODICAL_HALFYEAR', '6 Months');
+ define('_MI_AUTHKEY_PERIODICAL_FULLYEAR', '12 Months');
+ define('_MI_AUTHKEY_PERIODICAL_BIANNUALLY', 'Biannual');
// Admin Menu
define('_MI_AUTHKEY_ADMENU0','Dashboard');
@@ -71,7 +77,7 @@
define('_MI_AUTHKEY_DELETE_SECONDS','Deleting statistical data when it is!');
define('_MI_AUTHKEY_DELETE_SECONDS_DESC','This is how long statistics are kept in retention on the statistics tabling!');
define('_MI_AUTHKEY_AUTOGENERATED','Auto-generate users 1st Authentication Key');
- define('_MI_AUTHKEY_AUTOGENERATED_DESC','When this is enabled the module will periodically search for users with no authkey/xoopskey allocate and generate them one!');
+ define('_MI_AUTHKEY_AUTOGENERATED_DESC','When this is enabled the module will periodically search for users with no authkey/xoopskey allocate and generate them one! <strong><em>Remember to activate this once you have set all your permissions + constraints!</em></strong>');
define('_MI_AUTHKEY_AUTOGENERATED_SECONDS','How often should we search for auto-generating 1st time authkeys');
define('_MI_AUTHKEY_AUTOGENERATED_SECONDS_DESC','This is the total amount of time between queuing for searching for unallocate users for an authkey/xoopskey!');
define('_MI_AUTHKEY_NUMBER_AUTOGENERATED','Number unallocated authkey/xoopskey users to generate');
@@ -179,12 +185,5 @@
define('_MI_AUTHKEY_PERM_EMAILOWNER12MONTHLY_DESC', 'Email Yearly Key Owner\'s *.csv Report');
define('_MI_AUTHKEY_PERM_EMAILOWNER24MONTHLY_DESC', 'Email Biannual Key Owner\'s *.csv Report');
- // MENUs
- define('_MI_AUTHKEY_ADMENU0','Dashboard');
- define('_MI_AUTHKEY_ADMENU8','About XCentre');
-
- // MENU ICONS?IMAGES
- define('_MI_AUTHKEY_ADMENU0_ICON','../../Frameworks/moduleclasses/icons/32/home.png');
- define('_MI_AUTHKEY_ADMENU8_ICON','../../Frameworks/moduleclasses/icons/32/about.png');
?>
\ No newline at end of file
Modified: XoopsModules/authkey/trunk/modules/authkey/xoops_version.php
===================================================================
--- XoopsModules/authkey/trunk/modules/authkey/xoops_version.php 2018-06-29 01:28:30 UTC (rev 13379)
+++ XoopsModules/authkey/trunk/modules/authkey/xoops_version.php 2018-06-29 09:09:55 UTC (rev 13380)
@@ -170,7 +170,7 @@
$modversion['config'][$i]['description'] = "_MI_AUTHKEY_AUTOGENERATED_DESC";
$modversion['config'][$i]['formtype'] = 'yesno';
$modversion['config'][$i]['valuetype'] = 'int';
-$modversion['config'][$i]['default'] = true;
+$modversion['config'][$i]['default'] = false;
$i++;
$modversion['config'][$i]['name'] = 'auto-generate-seconds';
|