[geeklog-cvs] geeklog: Polls: Removed function calls from language arrays. Add...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Fri Apr 6 12:11:30 EDT 2012


changeset 8572:b69771e4468b
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/b69771e4468b
user: Tom <websitemaster at cogeco.net>
date: Fri Apr 06 12:02:11 2012 -0400
description:
Polls: Removed function calls from language arrays. Added functions for Geeklog Config to pull data for dropdowns. Now deals with change or delete of topics.

diffstat:

 plugins/polls/functions.inc              |  80 ++++++++++++++++++++++++++++++++
 plugins/polls/install_defaults.php       |   6 +-
 plugins/polls/install_updates.php        |   6 +-
 plugins/polls/language/english.php       |   4 +-
 plugins/polls/language/english_utf-8.php |   4 +-
 5 files changed, 88 insertions(+), 12 deletions(-)

diffs (164 lines):

diff -r 3d51430f9804 -r b69771e4468b plugins/polls/functions.inc
--- a/plugins/polls/functions.inc	Fri Apr 06 12:01:12 2012 -0400
+++ b/plugins/polls/functions.inc	Fri Apr 06 12:02:11 2012 -0400
@@ -1883,4 +1883,84 @@
    }
 }
 
+/**
+ * Config Manager function
+ *
+ * @return   array   Array of (groud id, group name) pairs
+ *
+ */
+function plugin_configmanager_select_block_group_id_polls()
+{
+    return SEC_getUserGroups();
+}
+
+/**
+ * Config Manager function
+ *
+ * @return   array   Array of (topic id, topic name) pairs
+ *
+ */
+function plugin_configmanager_select_block_topic_polls()
+{
+    return array_flip(TOPIC_getList());
+}
+
+/**
+* Callback function when an item was saved
+*
+* @param    string  $id     (unused) ID of item being saved
+* @param    string  $type   type of item ('article', 'staticpages', ...)
+* @param    string  $old_id (unused) previous ID of item, if != $id
+* @return   void
+* @see      PLG_itemSaved
+*
+*/
+function plugin_itemsaved_polls($id, $type, $old_id)
+{
+    global $_TABLES, $_PO_CONF;
+
+    // we're really only interested in Topic ID changes
+    if (($type == 'topic') && !empty($old_id) && ($id != $old_id)) {
+        $key = array_search($old_id, $_PO_CONF['block_topic']);
+
+        if ($key > 0) {
+            // Update config
+            $_PO_CONF['block_topic'][$key] = $id;
+            
+            // Now save it to the configuration
+            $c = config::get_instance();
+            $c->set('block_topic', $_PO_CONF['block_topic'], 'polls');
+        }        
+    }
+}
+
+/**
+* Callback function when an item was deleted
+*
+* @param    string  $id     ID of item being deleted
+* @param    string  $type   type of item ('article', 'staticpages', ...)
+* @return   void
+* @see      PLG_itemDeleted
+*
+*/
+function plugin_itemdeleted_polls($id, $type)
+{
+    global $_TABLES, $_PO_CONF;
+
+    // we're really only interested in Topic Deletes
+    if ($type == 'topic') {
+        $key = array_search($id, $_PO_CONF['block_topic']);
+
+        if ($key > 0) {
+            // delete item from config
+            unset($_PO_CONF['block_topic'][$key]);
+            
+            // Now save it to the configuration
+            $c = config::get_instance();
+            $c->set('block_topic', $_PO_CONF['block_topic'], 'polls');
+        }    
+        // Note: All topics could get deleted from array which would mean the block would not display untill user adds more in config
+    }
+}
+
 ?>
diff -r 3d51430f9804 -r b69771e4468b plugins/polls/install_defaults.php
--- a/plugins/polls/install_defaults.php	Fri Apr 06 12:01:12 2012 -0400
+++ b/plugins/polls/install_defaults.php	Fri Apr 06 12:02:11 2012 -0400
@@ -196,9 +196,9 @@
         $c->add('block_order', $_PO_DEFAULT['block_order'], 'text',
                 0, 10, 0, 30, true, 'polls', 20);
         $c->add('block_topic_option', $_PO_DEFAULT['block_topic_option'],'select',
-                0, 10, 16, 40, true, 'polls', 20);  
+                0, 10, 15, 40, true, 'polls', 20);  
         $c->add('block_topic', $_PO_DEFAULT['block_topic'], '%select',
-                0, 10, 17, 50, true, 'polls', 20);
+                0, 10, NULL, 50, true, 'polls', 20);
     
         $c->add('fs_block_permissions', NULL, 'fieldset', 0, 20, NULL, 0, true, 'polls', 20);
         $new_group_id = 0;
@@ -215,7 +215,7 @@
             }
         }         
         $c->add('block_group_id', $new_group_id,'select',
-                0, 20, 15, 10, TRUE, 'polls', 20);        
+                0, 20, NULL, 10, TRUE, 'polls', 20);        
         $c->add('block_permissions', $_PO_DEFAULT['block_permissions'], '@select', 
                 0, 20, 14, 20, true, 'polls', 20);       
     }
diff -r 3d51430f9804 -r b69771e4468b plugins/polls/install_updates.php
--- a/plugins/polls/install_updates.php	Fri Apr 06 12:01:12 2012 -0400
+++ b/plugins/polls/install_updates.php	Fri Apr 06 12:02:11 2012 -0400
@@ -48,9 +48,9 @@
     $c->add('block_order', $_PO_DEFAULT['block_order'], 'text',
             0, 10, 0, 30, true, 'polls', 20);
     $c->add('block_topic_option', $_PO_DEFAULT['block_topic_option'],'select',
-            0, 10, 16, 40, true, 'polls', 20);  
+            0, 10, 15, 40, true, 'polls', 20);  
     $c->add('block_topic', $_PO_DEFAULT['block_topic'], '%select',
-            0, 10, 17, 50, true, 'polls', 20);
+            0, 10, NULL, 50, true, 'polls', 20);
 
     $c->add('fs_block_permissions', NULL, 'fieldset', 0, 20, NULL, 0, true, 'polls', 20);
     $new_group_id = 0;
@@ -67,7 +67,7 @@
         }
     }         
     $c->add('block_group_id', $new_group_id,'select',
-            0, 20, 15, 10, TRUE, 'polls', 20);        
+            0, 20, NULL, 10, TRUE, 'polls', 20);        
     $c->add('block_permissions', $_PO_DEFAULT['block_permissions'], '@select', 
             0, 20, 14, 20, true, 'polls', 20);       
 
diff -r 3d51430f9804 -r b69771e4468b plugins/polls/language/english.php
--- a/plugins/polls/language/english.php	Fri Apr 06 12:01:12 2012 -0400
+++ b/plugins/polls/language/english.php	Fri Apr 06 12:02:11 2012 -0400
@@ -181,9 +181,7 @@
     12 => array('No access' => 0, 'Read-Only' => 2, 'Read-Write' => 3),
     13 => array('No access' => 0, 'Use' => 2),
     14 => array('No access' => 0, 'Read-Only' => 2),
-    15 => SEC_getUserGroups(),
-    16 => array('All' => TOPIC_ALL_OPTION, 'Homepage Only' => TOPIC_HOMEONLY_OPTION, 'Select Topics' => TOPIC_SELECTED_OPTION),
-    17 => array_flip(TOPIC_getList())     
+    15 => array('All' => TOPIC_ALL_OPTION, 'Homepage Only' => TOPIC_HOMEONLY_OPTION, 'Select Topics' => TOPIC_SELECTED_OPTION)
 );
 
 ?>
diff -r 3d51430f9804 -r b69771e4468b plugins/polls/language/english_utf-8.php
--- a/plugins/polls/language/english_utf-8.php	Fri Apr 06 12:01:12 2012 -0400
+++ b/plugins/polls/language/english_utf-8.php	Fri Apr 06 12:02:11 2012 -0400
@@ -181,9 +181,7 @@
     12 => array('No access' => 0, 'Read-Only' => 2, 'Read-Write' => 3),
     13 => array('No access' => 0, 'Use' => 2),
     14 => array('No access' => 0, 'Read-Only' => 2),
-    15 => SEC_getUserGroups(),
-    16 => array('All' => TOPIC_ALL_OPTION, 'Homepage Only' => TOPIC_HOMEONLY_OPTION, 'Select Topics' => TOPIC_SELECTED_OPTION),
-    17 => array_flip(TOPIC_getList())     
+    15 => array('All' => TOPIC_ALL_OPTION, 'Homepage Only' => TOPIC_HOMEONLY_OPTION, 'Select Topics' => TOPIC_SELECTED_OPTION)
 );
 
 ?>



More information about the geeklog-cvs mailing list