summaryrefslogtreecommitdiff
path: root/plugins/AnonymousFave/AnonymousFavePlugin.php
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2010-09-28 19:07:45 -0700
committerZach Copley <zach@status.net>2010-09-29 16:35:13 -0700
commit73297d374974a431b40d0cc45a7180613b8d5762 (patch)
tree7574f4969a3493d6c7264cd85b1fa27254b68c62 /plugins/AnonymousFave/AnonymousFavePlugin.php
parentc10f17dc6b1e357e37fea31adbf74de003e6429c (diff)
New DB_DataObject for storing favorites tally
Diffstat (limited to 'plugins/AnonymousFave/AnonymousFavePlugin.php')
-rw-r--r--plugins/AnonymousFave/AnonymousFavePlugin.php36
1 files changed, 36 insertions, 0 deletions
diff --git a/plugins/AnonymousFave/AnonymousFavePlugin.php b/plugins/AnonymousFave/AnonymousFavePlugin.php
index 3dccaf538..98f747748 100644
--- a/plugins/AnonymousFave/AnonymousFavePlugin.php
+++ b/plugins/AnonymousFave/AnonymousFavePlugin.php
@@ -55,6 +55,39 @@ class AnonymousFavePlugin extends Plugin {
common_ensure_session();
}
+ /**
+ * Hook for ensuring our tables are created
+ *
+ * Ensures the fave_tally table is there and has the right columns
+ *
+ * @return boolean hook return
+ */
+
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ // For storing total number of times a notice has been faved
+
+ $schema->ensureTable('fave_tally',
+ array(
+ new ColumnDef('notice_id', 'integer', null, false, 'PRI'),
+ new ColumnDef('count', 'integer', null, false),
+ new ColumnDef(
+ 'modified',
+ 'timestamp',
+ null,
+ false,
+ null,
+ 'CURRENT_TIMESTAMP',
+ 'on update CURRENT_TIMESTAMP'
+ )
+ )
+ );
+
+ return true;
+ }
+
function onEndShowHTML($action)
{
if (!common_logged_in()) {
@@ -75,6 +108,9 @@ class AnonymousFavePlugin extends Plugin {
$dir = dirname(__FILE__);
switch ($cls) {
+ case 'Fave_tally':
+ include_once $dir . '/' . $cls . '.php';
+ return false;
case 'AnonFavorAction':
include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
return false;