updated flag_list to 3.x version. ATTENTION DO NOT WORK ANYMORE create new folder broken
This commit is contained in:
		@@ -1,14 +1,50 @@
 | 
			
		||||
// $id: $
 | 
			
		||||
Flag lists (Sep. 06, 2016)
 | 
			
		||||
====
 | 
			
		||||
Tweeked the code to follow the proposals in the API
 | 
			
		||||
 | 
			
		||||
Flag lists (Jan. 27, 2011
 | 
			
		||||
Flag lists (Aug. 24, 2015)
 | 
			
		||||
====
 | 
			
		||||
#2535084: Enhanced selection messages
 | 
			
		||||
#2539056: flag_lists_do_flag doesn't work with skip_permission_check=true
 | 
			
		||||
 | 
			
		||||
Flag lists (Jun. 10, 2015)
 | 
			
		||||
====
 | 
			
		||||
#2379621: Three Error Messages
 | 
			
		||||
#2379719: Undefined Property Error Message
 | 
			
		||||
#2380077: Hidden Undefined Property Error Message
 | 
			
		||||
#2379743: Ajax Message Problems
 | 
			
		||||
#2379701: Two Required Fields
 | 
			
		||||
#2389083: Ensure that Flag_lists 7.x-3.x can only be used with Flag 7.x-3.0
 | 
			
		||||
#2392489: uid lenght in flag_lists_flags and flag_lists_content
 | 
			
		||||
#2390871: New template creation
 | 
			
		||||
#2388741-11: Special Characters?
 | 
			
		||||
#2452549: Flag List 7.x-3.0-beta1 does to work with Views-generated lists - 0 item(s) added
 | 
			
		||||
#2453679: Add titles to view generated lists
 | 
			
		||||
#2454401: Views & uninstall
 | 
			
		||||
#2453803: Not all Flag lists operations are working
 | 
			
		||||
#2465553: Feature Requests: Option to customize wording; List Operations as block?
 | 
			
		||||
#2388741-24: Special Characters?
 | 
			
		||||
#2388741-28: Special Characters?
 | 
			
		||||
#2465553-8: Feature Requests: Option to customize wording; List Operations as block?
 | 
			
		||||
#2473121: Question about invoking hook_flag (This changes the name of the hooks for this module)
 | 
			
		||||
#2453803-5: Not all Flag lists operations are working
 | 
			
		||||
#2465553-13: Feature Requests: Option to customize wording; List Operations as block?
 | 
			
		||||
#2496007-2: Autocomplete when selecting a flag lists in a view
 | 
			
		||||
#2496007-3: Autocomplete when selecting a flag lists in a view
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Flag lists (Jan. 27, 2011)
 | 
			
		||||
====
 | 
			
		||||
Fix bug: Incorrectly checking status of non-flag_lists flags.
 | 
			
		||||
Fix bug: Incorrectly applying hook_flag_access() on non-flag_lists flags.
 | 
			
		||||
 | 
			
		||||
Flag lists (Jan. 14, 2011
 | 
			
		||||
Flag lists (Jan. 14, 2011)
 | 
			
		||||
====
 | 
			
		||||
#1002292 Fixed Tokens not replaced in add-to-list and remove-from-list js messages.
 | 
			
		||||
#1002292 Token module now a required dependency.
 | 
			
		||||
 | 
			
		||||
Flag lists (Jan. 12, 2011)
 | 
			
		||||
====
 | 
			
		||||
#1023432 by erikwebb: Fixed No default value for $account in flag_lists_fl_delete().
 | 
			
		||||
#1002294 by architectJpres: Fixed List block incompatible with block caching.
 | 
			
		||||
  Block caching turned off for now. Still not making db updates so you need to
 | 
			
		||||
@@ -75,4 +111,5 @@ improve some messages
 | 
			
		||||
allow users with "administer flags" permission to bypass flag_lists_is_owner()
 | 
			
		||||
checks.
 | 
			
		||||
First run at views integration
 | 
			
		||||
Better admin table for lists
 | 
			
		||||
Better admin table for lists
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
From d4d5acf83713c2a8413e1182294e887159c0e445 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Bachir Soussi Chiadmi <bachir@g-u-i.net>
 | 
			
		||||
Date: Wed, 25 Sep 2013 15:25:25 +0200
 | 
			
		||||
Subject: [PATCH] flag 3.2 compatibility
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 flag_lists.module | 2 +-
 | 
			
		||||
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/flag_lists.module b/flag_lists.module
 | 
			
		||||
index 13a5dd7..8b25b24 100644
 | 
			
		||||
--- a/flag_lists.module
 | 
			
		||||
+++ b/flag_lists.module
 | 
			
		||||
@@ -1413,7 +1413,7 @@ function flag_lists_page($action = NULL, $flag_name = NULL, $entity_id = NULL) {
 | 
			
		||||
  //   $flag->link_type = 'toggle';
 | 
			
		||||
     $sid = flag_get_sid($user->uid);
 | 
			
		||||
     $new_action = _flag_lists_is_flagged($flag, $entity_id, $user->uid, $sid) ? 'unflag' : 'flag';
 | 
			
		||||
-    $new_link = $flag->theme($new_action, $entity_id, TRUE);
 | 
			
		||||
+    $new_link = $flag->theme($new_action, $entity_id, array("after_flagging" => TRUE));
 | 
			
		||||
     flag_lists_fix_link($new_link, $new_action);
 | 
			
		||||
     drupal_json_output(array(
 | 
			
		||||
       'status' => TRUE,
 | 
			
		||||
-- 
 | 
			
		||||
1.8.1.5
 | 
			
		||||
 | 
			
		||||
@@ -1,526 +0,0 @@
 | 
			
		||||
diff --git a/flag_lists.admin.inc b/flag_lists.admin.inc
 | 
			
		||||
index a71a11cc511ebba08169b334407985c8f501bc30..71d532209d15f2171dce7d0906131572f22b97b3 100644
 | 
			
		||||
--- a/flag_lists.admin.inc
 | 
			
		||||
+++ b/flag_lists.admin.inc
 | 
			
		||||
@@ -110,7 +110,7 @@ function flag_lists_add_js($type = NULL) {
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   // New flag. Load the template row.
 | 
			
		||||
-  $query = db_select('flags', 'f');
 | 
			
		||||
+  $query = db_select('flag', 'f');
 | 
			
		||||
   $query->leftJoin('flag_lists_types', 'fl', 'f.name = fl.name');
 | 
			
		||||
   $query->fields('f')
 | 
			
		||||
     ->fields('fl')
 | 
			
		||||
@@ -119,7 +119,7 @@ function flag_lists_add_js($type = NULL) {
 | 
			
		||||
   $row = $query->execute()
 | 
			
		||||
     ->fetchObject();
 | 
			
		||||
 
 | 
			
		||||
-  $newflag = flag_flag::factory_by_content_type('node');
 | 
			
		||||
+  $newflag = flag_flag::factory_by_entity_type('node');
 | 
			
		||||
 
 | 
			
		||||
   $flag = $newflag->factory_by_row($row);
 | 
			
		||||
   // The template fid becomes the flag_lists parent flag.
 | 
			
		||||
@@ -243,7 +243,7 @@ function flag_lists_form_submit($form, $form_state, $account = NULL) {
 | 
			
		||||
   else {
 | 
			
		||||
     // New flag. Load the template row.
 | 
			
		||||
     $type = $form_state['values']['type'];
 | 
			
		||||
-    $query = db_select('flags', 'f');
 | 
			
		||||
+    $query = db_select('flag', 'f');
 | 
			
		||||
     $query->leftJoin('flag_lists_types', 'fl', 'f.name = fl.name');
 | 
			
		||||
     $query->fields('f')
 | 
			
		||||
       ->fields('fl')
 | 
			
		||||
@@ -252,7 +252,7 @@ function flag_lists_form_submit($form, $form_state, $account = NULL) {
 | 
			
		||||
     $row = $query->execute()
 | 
			
		||||
       ->fetchObject();
 | 
			
		||||
 
 | 
			
		||||
-    $newflag = flag_flag::factory_by_content_type('node');
 | 
			
		||||
+    $newflag = flag_flag::factory_by_entity_type('node');
 | 
			
		||||
 
 | 
			
		||||
     $flag = $newflag->factory_by_row($row);
 | 
			
		||||
     // The template fid becomes the flag_lists parent flag.
 | 
			
		||||
diff --git a/flag_lists.install b/flag_lists.install
 | 
			
		||||
index bd290d10d849d116a8ca68fb6abf0dcc93136f53..a84fd496888fb65c6cdddacaf37828ede23def76 100644
 | 
			
		||||
--- a/flag_lists.install
 | 
			
		||||
+++ b/flag_lists.install
 | 
			
		||||
@@ -30,7 +30,7 @@ function flag_lists_schema() {
 | 
			
		||||
         'unsigned' => TRUE,
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
       ),
 | 
			
		||||
-      'content_type' => array(
 | 
			
		||||
+      'entity_type' => array(
 | 
			
		||||
         'type' => 'varchar',
 | 
			
		||||
         'length' => '32',
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
@@ -72,13 +72,13 @@ function flag_lists_schema() {
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
         'default' => 0,
 | 
			
		||||
       ),
 | 
			
		||||
-      'content_type' => array(
 | 
			
		||||
+      'entity_type' => array(
 | 
			
		||||
         'type' => 'varchar',
 | 
			
		||||
         'length' => '32',
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
         'default' => '',
 | 
			
		||||
       ),
 | 
			
		||||
-      'content_id' => array(
 | 
			
		||||
+      'entity_id' => array(
 | 
			
		||||
         'type' => 'int',
 | 
			
		||||
         'unsigned' => TRUE,
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
@@ -106,11 +106,11 @@ function flag_lists_schema() {
 | 
			
		||||
     ),
 | 
			
		||||
     'primary key' => array('fcid'),
 | 
			
		||||
     'unique keys' => array(
 | 
			
		||||
-      'fid_content_id_uid_sid' => array('fid', 'content_id', 'uid', 'sid'),
 | 
			
		||||
+      'fid_entity_id_uid_sid' => array('fid', 'entity_id', 'uid', 'sid'),
 | 
			
		||||
     ),
 | 
			
		||||
     'indexes' => array(
 | 
			
		||||
-      'content_type_content_id' => array('content_type', 'content_id'),
 | 
			
		||||
-      'content_type_uid_sid' => array('content_type', 'uid', 'sid'),
 | 
			
		||||
+      'entity_type_entity_id' => array('entity_type', 'entity_id'),
 | 
			
		||||
+      'entity_type_uid_sid' => array('entity_type', 'uid', 'sid'),
 | 
			
		||||
     ),
 | 
			
		||||
   );
 | 
			
		||||
   $schema['flag_lists_counts'] = array(
 | 
			
		||||
@@ -122,13 +122,13 @@ function flag_lists_schema() {
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
         'default' => 0,
 | 
			
		||||
       ),
 | 
			
		||||
-      'content_type' => array(
 | 
			
		||||
+      'entity_type' => array(
 | 
			
		||||
         'type' => 'varchar',
 | 
			
		||||
         'length' => '32',
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
         'default' => '',
 | 
			
		||||
       ),
 | 
			
		||||
-      'content_id' => array(
 | 
			
		||||
+      'entity_id' => array(
 | 
			
		||||
         'type' => 'int',
 | 
			
		||||
         'unsigned' => TRUE,
 | 
			
		||||
         'not null' => TRUE,
 | 
			
		||||
@@ -143,10 +143,10 @@ function flag_lists_schema() {
 | 
			
		||||
         'disp-width' => '10',
 | 
			
		||||
       )
 | 
			
		||||
     ),
 | 
			
		||||
-    'primary key' => array('fid', 'content_id'),
 | 
			
		||||
+    'primary key' => array('fid', 'entity_id'),
 | 
			
		||||
     'indexes' => array(
 | 
			
		||||
-      'fid_content_type' => array('fid', 'content_type'),
 | 
			
		||||
-      'content_type_content_id' => array('content_type', 'content_id'),
 | 
			
		||||
+      'fid_entity_type' => array('fid', 'entity_type'),
 | 
			
		||||
+      'entity_type_entity_id' => array('entity_type', 'entity_id'),
 | 
			
		||||
       'count' => array('count'),
 | 
			
		||||
     ),
 | 
			
		||||
   );
 | 
			
		||||
@@ -190,13 +190,13 @@ function flag_lists_install() {
 | 
			
		||||
 function flag_lists_uninstall() {
 | 
			
		||||
   // Remove our template flags.
 | 
			
		||||
   $query = db_select('flag_lists_types', 'fl');
 | 
			
		||||
-  $query->leftJoin('flags', 'f', 'fl.name = f.name');
 | 
			
		||||
+  $query->leftJoin('flag', 'f', 'fl.name = f.name');
 | 
			
		||||
   $query->addField('fl', 'fid', 'fid');
 | 
			
		||||
   $query->distinct();
 | 
			
		||||
   $fids = $query->execute();
 | 
			
		||||
 
 | 
			
		||||
   foreach ($fids as $fid) {
 | 
			
		||||
-    db_delete('flags')->condition('fid', $fid->fid);
 | 
			
		||||
+    db_delete('flag')->condition('fid', $fid->fid);
 | 
			
		||||
     db_delete('flag_content')->condition('fid', $fid->fid);
 | 
			
		||||
     db_delete('flag_types')->condition('fid', $fid->fid);
 | 
			
		||||
     db_delete('flag_counts')->condition('fid', $fid->fid);
 | 
			
		||||
diff --git a/flag_lists.module b/flag_lists.module
 | 
			
		||||
index 8fde9dd12b25e5e82ff79204fd800139460cd7e7..13a5dd77ead6832901a6fb0aac6511c0bc62eb3b 100644
 | 
			
		||||
--- a/flag_lists.module
 | 
			
		||||
+++ b/flag_lists.module
 | 
			
		||||
@@ -214,7 +214,7 @@ function theme_flag_lists_user_list($variables) {
 | 
			
		||||
   $content = flag_lists_get_flagged_content($fid, $uid);
 | 
			
		||||
   foreach ($content as $item) {
 | 
			
		||||
     if ($item->content_type == 'node') {
 | 
			
		||||
-      $node = node_load($item->content_id);
 | 
			
		||||
+      $node = node_load($item->entity_id);
 | 
			
		||||
       $items[] = l($node->title, 'node/' . $node->nid);
 | 
			
		||||
     }
 | 
			
		||||
   }
 | 
			
		||||
@@ -811,7 +811,7 @@ function flag_lists_set_messages(&$flag) {
 | 
			
		||||
  *
 | 
			
		||||
  * Make sure a user can only see his/her own personal flags.
 | 
			
		||||
  */
 | 
			
		||||
-function flag_lists_flag_access($flag, $content_id, $action, $account) {
 | 
			
		||||
+function flag_lists_flag_access($flag, $entity_id, $action, $account) {
 | 
			
		||||
   if (!empty($flag->module) && $flag->module == 'flag_lists') {
 | 
			
		||||
   switch ($action) {
 | 
			
		||||
     case 'flag':
 | 
			
		||||
@@ -936,7 +936,7 @@ function flag_lists_get_user_flags($content_type = NULL, $account = NULL, $use_f
 | 
			
		||||
   $query = db_select('flag_lists_flags', 'fl')
 | 
			
		||||
     ->fields('fl')
 | 
			
		||||
     ->condition('fl.uid', $account->uid);
 | 
			
		||||
-  $query->leftJoin('flags', 'f', 'fl.pfid = f.fid');
 | 
			
		||||
+  $query->leftJoin('flag', 'f', 'fl.pfid = f.fid');
 | 
			
		||||
   $query->leftJoin('flag_lists_types', 'ft', 'ft.name = f.name');
 | 
			
		||||
   $query->addField('ft', 'type');
 | 
			
		||||
   if ($content_type) {
 | 
			
		||||
@@ -1011,12 +1011,12 @@ function theme_flag_lists_list($variables) {
 | 
			
		||||
   // Make sure we have a node.
 | 
			
		||||
   if (is_object($node) && user_access('create flag lists')) {
 | 
			
		||||
     $content_type = $node->type;
 | 
			
		||||
-    $content_id = $node->nid;
 | 
			
		||||
+    $entity_id = $node->nid;
 | 
			
		||||
   }
 | 
			
		||||
   // Or at least confirm we are on a node page and use has access.
 | 
			
		||||
   elseif (arg(0) == 'node' && is_numeric(arg(1)) && user_access('create flag lists')) {
 | 
			
		||||
-    $content_id = arg(1);
 | 
			
		||||
-    $query = db_select('node')->condition('nid', $content_id);
 | 
			
		||||
+    $entity_id = arg(1);
 | 
			
		||||
+    $query = db_select('node')->condition('nid', $entity_id);
 | 
			
		||||
     $query->addField('node', 'type');
 | 
			
		||||
     $content_type = $query->execute()->fetchField();
 | 
			
		||||
   }
 | 
			
		||||
@@ -1034,19 +1034,19 @@ function theme_flag_lists_list($variables) {
 | 
			
		||||
     // Build the list of lists for this node.
 | 
			
		||||
     foreach ($flags as $flag) {
 | 
			
		||||
       if ($flag->module == 'flag_lists') {
 | 
			
		||||
-      $action = _flag_lists_is_flagged($flag, $content_id, $user->uid, 0) ? 'unflag' : 'flag';
 | 
			
		||||
+      $action = _flag_lists_is_flagged($flag, $entity_id, $user->uid, 0) ? 'unflag' : 'flag';
 | 
			
		||||
       }
 | 
			
		||||
       else {
 | 
			
		||||
-        $action = $flag->is_flagged($content_id) ? 'unflag' : 'flag';;
 | 
			
		||||
+        $action = $flag->is_flagged($entity_id) ? 'unflag' : 'flag';;
 | 
			
		||||
       }
 | 
			
		||||
 
 | 
			
		||||
       // Do we need the ops?
 | 
			
		||||
       if ($ops && $flag->module == 'flag_lists') {
 | 
			
		||||
         $ops_links = theme('flag_lists_ops', array('flag' => $flag));
 | 
			
		||||
-        $link = $flag->theme($action, $content_id) . $ops_links;
 | 
			
		||||
+        $link = $flag->theme($action, $entity_id) . $ops_links;
 | 
			
		||||
       }
 | 
			
		||||
       else {
 | 
			
		||||
-        $link = $flag->theme($action, $content_id);
 | 
			
		||||
+        $link = $flag->theme($action, $entity_id);
 | 
			
		||||
       }
 | 
			
		||||
 
 | 
			
		||||
       // If it's a list, fix the link.
 | 
			
		||||
@@ -1201,12 +1201,12 @@ function flag_lists_get_flagged_content($fid, $uid) {
 | 
			
		||||
  *   The full flag object of for the flag link being generated.
 | 
			
		||||
  * @param $action
 | 
			
		||||
  *   The action this link will perform. Either 'flag' or 'unflag'.
 | 
			
		||||
- * @param $content_id
 | 
			
		||||
+ * @param $entity_id
 | 
			
		||||
  *   The ID of the node, comment, user, or other object being flagged.
 | 
			
		||||
  * @return
 | 
			
		||||
  *   An array defining properties of the link.
 | 
			
		||||
  */
 | 
			
		||||
-function flag_lists_flag_link($flag, $action, $content_id) {
 | 
			
		||||
+function flag_lists_flag_link($flag, $action, $entity_id) {
 | 
			
		||||
   return array();
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@@ -1224,30 +1224,61 @@ function flag_lists_flag_link_types() {
 | 
			
		||||
 
 | 
			
		||||
 
 | 
			
		||||
 function flag_lists_flag_default_flags($name = 'fl_template') {
 | 
			
		||||
-  return array(
 | 
			
		||||
-    array(
 | 
			
		||||
-      'api_version' => 2,
 | 
			
		||||
-      'name' => $name,
 | 
			
		||||
-      'module' => 'flag_lists',
 | 
			
		||||
-      'content_type' => 'node',
 | 
			
		||||
-      'global' => 0,
 | 
			
		||||
-      'show_on_page' => 0,
 | 
			
		||||
-      'show_on_teaser' => 0,
 | 
			
		||||
-      'show_on_form' => 0,
 | 
			
		||||
-      // The following UI labels aren't wrapped in t() because they are written
 | 
			
		||||
-      // to the DB in English. They are passed to t() later, thus allowing for
 | 
			
		||||
-      // multilingual sites.
 | 
			
		||||
-      'title' => 'Flag lists template',
 | 
			
		||||
-      'flag_short' => 'Add to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'flag_long' => 'Add this post to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'flag_message' => 'This post has been added to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'unflag_short' => 'Remove this from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'unflag_long' => 'Remove this post from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'unflag_message' => 'This post has been removed from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
-      'types' => array(),
 | 
			
		||||
-      'link_type' => 'toggle',
 | 
			
		||||
-    ),
 | 
			
		||||
-  );
 | 
			
		||||
+  // return array(
 | 
			
		||||
+  //   array(
 | 
			
		||||
+  //     'api_version' => 2,
 | 
			
		||||
+  //     'name' => $name,
 | 
			
		||||
+  //     'module' => 'flag_lists',
 | 
			
		||||
+  //     'content_type' => 'node',
 | 
			
		||||
+  //     'global' => 0,
 | 
			
		||||
+  //     'show_on_page' => 0,
 | 
			
		||||
+  //     'show_on_teaser' => 0,
 | 
			
		||||
+  //     'show_on_form' => 0,
 | 
			
		||||
+  //     // The following UI labels aren't wrapped in t() because they are written
 | 
			
		||||
+  //     // to the DB in English. They are passed to t() later, thus allowing for
 | 
			
		||||
+  //     // multilingual sites.
 | 
			
		||||
+  //     'title' => 'Flag lists template',
 | 
			
		||||
+  //     'flag_short' => 'Add to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'flag_long' => 'Add this post to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'flag_message' => 'This post has been added to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'unflag_short' => 'Remove this from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'unflag_long' => 'Remove this post from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'unflag_message' => 'This post has been removed from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  //     'types' => array(),
 | 
			
		||||
+  //     'link_type' => 'toggle',
 | 
			
		||||
+  //   ),
 | 
			
		||||
+  // );
 | 
			
		||||
+
 | 
			
		||||
+$flags = array();
 | 
			
		||||
+// Exported flag: "Flag lists template".
 | 
			
		||||
+$flags['fl_template'] = array(
 | 
			
		||||
+  'entity_type' => 'node',
 | 
			
		||||
+  'title' => 'Flag lists template',
 | 
			
		||||
+  'global' => 0,
 | 
			
		||||
+  'types' => array(),
 | 
			
		||||
+  'flag_short' => 'Add to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'flag_long' => 'Add this post to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'flag_message' => 'This post has been added to your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'unflag_short' => 'Remove this from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'unflag_long' => 'Remove this post from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'unflag_message' => 'This post has been removed from your [flag_lists:title] [flag_lists:term]',
 | 
			
		||||
+  'unflag_denied_text' => '',
 | 
			
		||||
+  'link_type' => 'toggle',
 | 
			
		||||
+  'weight' => 0,
 | 
			
		||||
+  'api_version' => 3,
 | 
			
		||||
+  'module' => 'flag_lists',
 | 
			
		||||
+  'show_on_page' => 0,
 | 
			
		||||
+  'show_on_teaser' => 0,
 | 
			
		||||
+  'show_on_form' => 0,
 | 
			
		||||
+  'status' => FALSE,
 | 
			
		||||
+  'import_roles' => array(
 | 
			
		||||
+    'flag' => array(),
 | 
			
		||||
+    'unflag' => array(),
 | 
			
		||||
+  ),
 | 
			
		||||
+);
 | 
			
		||||
+return $flags;
 | 
			
		||||
+
 | 
			
		||||
+  
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 /**
 | 
			
		||||
@@ -1294,7 +1325,7 @@ function flag_lists_insert($flag) {
 | 
			
		||||
     ->fields(array(
 | 
			
		||||
       'pfid' => $flag->pfid,
 | 
			
		||||
       'uid' => $flag->uid,
 | 
			
		||||
-      'content_type' => $flag->content_type,
 | 
			
		||||
+      'entity_type' => $flag->entity_type,
 | 
			
		||||
       'name' => $flag->name,
 | 
			
		||||
       'title' => $flag->title,
 | 
			
		||||
       'options' => $flag->get_serialized_options($flag),
 | 
			
		||||
@@ -1330,7 +1361,7 @@ function flag_lists_fl_delete($flag, $account = NULL) {
 | 
			
		||||
  * Used both for the regular callback as well as the JS version. We use this
 | 
			
		||||
  * instead of the flag module's because our flags are not in the flags table.
 | 
			
		||||
  */
 | 
			
		||||
-function flag_lists_page($action = NULL, $flag_name = NULL, $content_id = NULL) {
 | 
			
		||||
+function flag_lists_page($action = NULL, $flag_name = NULL, $entity_id = NULL) {
 | 
			
		||||
   global $user;
 | 
			
		||||
 
 | 
			
		||||
   // Shorten up the variables that affect the behavior of this page.
 | 
			
		||||
@@ -1341,7 +1372,7 @@ function flag_lists_page($action = NULL, $flag_name = NULL, $content_id = NULL)
 | 
			
		||||
   $has_js = isset($_GET['has_js']);
 | 
			
		||||
 
 | 
			
		||||
   // Check the flag token, then perform the flagging.
 | 
			
		||||
-  if (!flag_check_token($token, $content_id)) {
 | 
			
		||||
+  if (!flag_check_token($token, $entity_id)) {
 | 
			
		||||
     $error = t('Bad token. You seem to have followed an invalid link.');
 | 
			
		||||
   }
 | 
			
		||||
   elseif ($user->uid == 0 && !$has_js) {
 | 
			
		||||
@@ -1355,7 +1386,7 @@ function flag_lists_page($action = NULL, $flag_name = NULL, $content_id = NULL)
 | 
			
		||||
 
 | 
			
		||||
     // Identify it as ours.
 | 
			
		||||
     $flag->module = 'flag_lists';
 | 
			
		||||
-    flag_lists_do_flag($flag, $action, $content_id);
 | 
			
		||||
+    flag_lists_do_flag($flag, $action, $entity_id);
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
   // If an error was received, set a message and exit.
 | 
			
		||||
@@ -1381,14 +1412,14 @@ function flag_lists_page($action = NULL, $flag_name = NULL, $content_id = NULL)
 | 
			
		||||
 //    $flag = flag_lists_get_flag($flag_name);
 | 
			
		||||
  //   $flag->link_type = 'toggle';
 | 
			
		||||
     $sid = flag_get_sid($user->uid);
 | 
			
		||||
-    $new_action = _flag_lists_is_flagged($flag, $content_id, $user->uid, $sid) ? 'unflag' : 'flag';
 | 
			
		||||
-    $new_link = $flag->theme($new_action, $content_id, TRUE);
 | 
			
		||||
+    $new_action = _flag_lists_is_flagged($flag, $entity_id, $user->uid, $sid) ? 'unflag' : 'flag';
 | 
			
		||||
+    $new_link = $flag->theme($new_action, $entity_id, TRUE);
 | 
			
		||||
     flag_lists_fix_link($new_link, $new_action);
 | 
			
		||||
     drupal_json_output(array(
 | 
			
		||||
       'status' => TRUE,
 | 
			
		||||
       'newLink' => $new_link,
 | 
			
		||||
       // Further information for the benefit of custom JavaScript event handlers:
 | 
			
		||||
-      'contentId' => $content_id,
 | 
			
		||||
+      'contentId' => $entity_id,
 | 
			
		||||
       'contentType' => $flag->content_type,
 | 
			
		||||
       'flagName' => $flag->name,
 | 
			
		||||
       'flagStatus' => $action,
 | 
			
		||||
@@ -1397,7 +1428,7 @@ function flag_lists_page($action = NULL, $flag_name = NULL, $content_id = NULL)
 | 
			
		||||
   }
 | 
			
		||||
   else {
 | 
			
		||||
     $flag = flag_lists_get_flag($flag->fid);
 | 
			
		||||
-    drupal_set_message($flag->get_label($action . '_message', $content_id));
 | 
			
		||||
+    drupal_set_message($flag->get_label($action . '_message', $entity_id));
 | 
			
		||||
     drupal_goto();
 | 
			
		||||
   }
 | 
			
		||||
 }
 | 
			
		||||
@@ -1413,7 +1444,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
    *
 | 
			
		||||
    * @param $action
 | 
			
		||||
    *   Either 'flag' or 'unflag'.
 | 
			
		||||
-   * @param $content_id
 | 
			
		||||
+   * @param $entity_id
 | 
			
		||||
    *   The ID of the item to flag or unflag.
 | 
			
		||||
    * @param $account
 | 
			
		||||
    *   The user on whose behalf to flag. Leave empty for the current user.
 | 
			
		||||
@@ -1423,7 +1454,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
    *   FALSE if some error occured (e.g., user has no permission, flag isn't
 | 
			
		||||
    *   applicable to the item, etc.), TRUE otherwise.
 | 
			
		||||
    */
 | 
			
		||||
-  function flag_lists_do_flag($flag, $action, $content_id, $account = NULL, $skip_permission_check = FALSE) {
 | 
			
		||||
+  function flag_lists_do_flag($flag, $action, $entity_id, $account = NULL, $skip_permission_check = FALSE) {
 | 
			
		||||
     if (!isset($account)) {
 | 
			
		||||
       $account = $GLOBALS['user'];
 | 
			
		||||
     }
 | 
			
		||||
@@ -1431,7 +1462,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
       return FALSE;
 | 
			
		||||
     }
 | 
			
		||||
     if (!$skip_permission_check) {
 | 
			
		||||
-      if (!$flag->access($content_id, $action, $account)) {
 | 
			
		||||
+      if (!$flag->access($entity_id, $action, $account)) {
 | 
			
		||||
         // User has no permission to flag/unflag this object.
 | 
			
		||||
         return FALSE;
 | 
			
		||||
       }
 | 
			
		||||
@@ -1439,7 +1470,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
     else {
 | 
			
		||||
       // We are skipping permission checks. However, at a minimum we must make
 | 
			
		||||
       // sure the flag applies to this content type:
 | 
			
		||||
-      if (!$flag->applies_to_content_id($content_id)) {
 | 
			
		||||
+      if (!$flag->applies_to_content_id($entity_id)) {
 | 
			
		||||
         return FALSE;
 | 
			
		||||
       }
 | 
			
		||||
     }
 | 
			
		||||
@@ -1460,17 +1491,17 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
 
 | 
			
		||||
     // Perform the flagging or unflagging of this flag. We invoke hook_flag here
 | 
			
		||||
     // because we do our own flagging.
 | 
			
		||||
-    $flagged = _flag_lists_is_flagged($flag, $content_id, $uid, $sid);
 | 
			
		||||
+    $flagged = _flag_lists_is_flagged($flag, $entity_id, $uid, $sid);
 | 
			
		||||
     if ($action == 'unflag') {
 | 
			
		||||
       if ($flagged) {
 | 
			
		||||
-        $fcid = _flag_lists_unflag($flag, $content_id, $uid, $sid);
 | 
			
		||||
-        module_invoke_all('flag', 'unflag', $flag, $content_id, $account, $fcid);
 | 
			
		||||
+        $fcid = _flag_lists_unflag($flag, $entity_id, $uid, $sid);
 | 
			
		||||
+        module_invoke_all('flag', 'unflag', $flag, $entity_id, $account, $fcid);
 | 
			
		||||
       }
 | 
			
		||||
     }
 | 
			
		||||
     elseif ($action == 'flag') {
 | 
			
		||||
       if (!$flagged) {
 | 
			
		||||
-        $fcid = _flag_lists_flag($flag, $content_id, $uid, $sid);
 | 
			
		||||
-        module_invoke_all('flag', 'flag', $flag, $content_id, $account, $fcid);
 | 
			
		||||
+        $fcid = _flag_lists_flag($flag, $entity_id, $uid, $sid);
 | 
			
		||||
+        module_invoke_all('flag', 'flag', $flag, $entity_id, $account, $fcid);
 | 
			
		||||
       }
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
@@ -1487,12 +1518,12 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
    * bypass it.
 | 
			
		||||
    *
 | 
			
		||||
    */
 | 
			
		||||
-  function _flag_lists_is_flagged($flag, $content_id, $uid, $sid) {
 | 
			
		||||
+  function _flag_lists_is_flagged($flag, $entity_id, $uid, $sid) {
 | 
			
		||||
     $query = db_select('flag_lists_content')
 | 
			
		||||
       ->condition('fid', $flag->fid)
 | 
			
		||||
       ->condition('uid', $uid)
 | 
			
		||||
       ->condition('sid', $sid)
 | 
			
		||||
-      ->condition('content_id', $content_id);
 | 
			
		||||
+      ->condition('entity_id', $entity_id);
 | 
			
		||||
     $query->addField('flag_lists_content', 'fid');
 | 
			
		||||
     return $query->execute()->fetchField();
 | 
			
		||||
   }
 | 
			
		||||
@@ -1504,19 +1535,19 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
    * flag_lists_do_flag() function instead.
 | 
			
		||||
    *
 | 
			
		||||
    */
 | 
			
		||||
-  function _flag_lists_flag($flag, $content_id, $uid, $sid) {
 | 
			
		||||
+  function _flag_lists_flag($flag, $entity_id, $uid, $sid) {
 | 
			
		||||
     $fcid = db_insert('flag_lists_content')
 | 
			
		||||
       ->fields(array(
 | 
			
		||||
         'fid' => $flag->fid,
 | 
			
		||||
-        'content_type' => $flag->content_type,
 | 
			
		||||
-        'content_id' => $content_id,
 | 
			
		||||
+        'entity_type' => $flag->entity_type,
 | 
			
		||||
+        'entity_id' => $entity_id,
 | 
			
		||||
         'uid' => $uid,
 | 
			
		||||
         'sid' => $sid,
 | 
			
		||||
         'timestamp' => REQUEST_TIME,
 | 
			
		||||
       ))
 | 
			
		||||
       ->execute();
 | 
			
		||||
 
 | 
			
		||||
-    _flag_lists_update_count($flag, $content_id);
 | 
			
		||||
+    _flag_lists_update_count($flag, $entity_id);
 | 
			
		||||
     return $fcid;
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
@@ -1527,10 +1558,10 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
    * flag_lists_do_flag() function instead.
 | 
			
		||||
    *
 | 
			
		||||
    */
 | 
			
		||||
-  function _flag_lists_unflag($flag, $content_id, $uid, $sid) {
 | 
			
		||||
+  function _flag_lists_unflag($flag, $entity_id, $uid, $sid) {
 | 
			
		||||
     $query = db_select('flag_lists_content')
 | 
			
		||||
       ->condition('fid', $flag->fid)
 | 
			
		||||
-      ->condition('content_id', $content_id)
 | 
			
		||||
+      ->condition('entity_id', $entity_id)
 | 
			
		||||
       ->condition('uid', $uid)
 | 
			
		||||
       ->condition('sid', $sid);
 | 
			
		||||
     $query->addField('flag_lists_content', 'fcid');
 | 
			
		||||
@@ -1539,7 +1570,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
       db_delete('flag_lists_content')
 | 
			
		||||
         ->condition('fcid', $fcid)
 | 
			
		||||
         ->execute();
 | 
			
		||||
-      _flag_lists_update_count($flag, $content_id);
 | 
			
		||||
+      _flag_lists_update_count($flag, $entity_id);
 | 
			
		||||
     }
 | 
			
		||||
     return $fcid;
 | 
			
		||||
   }
 | 
			
		||||
@@ -1547,11 +1578,11 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
   /**
 | 
			
		||||
    * Updates the flag count for this content
 | 
			
		||||
    */
 | 
			
		||||
-  function _flag_lists_update_count($flag, $content_id) {
 | 
			
		||||
+  function _flag_lists_update_count($flag, $entity_id) {
 | 
			
		||||
     $count = db_select('flag_lists_content', 'f')
 | 
			
		||||
       ->fields('f')
 | 
			
		||||
       ->condition('fid', $flag->fid)
 | 
			
		||||
-      ->condition('content_id', $content_id)
 | 
			
		||||
+      ->condition('entity_id', $entity_id)
 | 
			
		||||
       ->countQuery()
 | 
			
		||||
       ->execute()
 | 
			
		||||
       ->fetchField();
 | 
			
		||||
@@ -1559,7 +1590,7 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
     if (empty($count)) {
 | 
			
		||||
       $num_deleted = db_delete('flag_lists_counts')
 | 
			
		||||
         ->condition('fid', $flag->fid)
 | 
			
		||||
-        ->condition('content_id', $content_id)
 | 
			
		||||
+        ->condition('entity_id', $entity_id)
 | 
			
		||||
         ->execute();
 | 
			
		||||
     }
 | 
			
		||||
     else {
 | 
			
		||||
@@ -1568,14 +1599,14 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
           'count' => $count,
 | 
			
		||||
         ))
 | 
			
		||||
         ->condition('fid', $flag->fid)
 | 
			
		||||
-        ->condition('content_id', $content_id)
 | 
			
		||||
+        ->condition('entity_id', $entity_id)
 | 
			
		||||
         ->execute();
 | 
			
		||||
       if (empty($num_updated)) {
 | 
			
		||||
         db_insert('flag_lists_counts')
 | 
			
		||||
           ->fields(array(
 | 
			
		||||
             'fid' => $flag->fid,
 | 
			
		||||
-            'content_type' => $flag->content_type,
 | 
			
		||||
-            'content_id' => $content_id,
 | 
			
		||||
+            'entity_type' => $flag->entity_type,
 | 
			
		||||
+            'entity_id' => $entity_id,
 | 
			
		||||
             'count' => $count,
 | 
			
		||||
           ))
 | 
			
		||||
           ->execute();
 | 
			
		||||
@@ -1,55 +0,0 @@
 | 
			
		||||
diff --git a/flag_lists.module b/flag_lists.module
 | 
			
		||||
index d829113..b3c04f0 100644
 | 
			
		||||
--- a/flag_lists.module
 | 
			
		||||
+++ b/flag_lists.module
 | 
			
		||||
@@ -1587,6 +1587,32 @@ function flag_lists_fix_link(&$link, $action) {
 | 
			
		||||
     return $fcid;
 | 
			
		||||
   }
 | 
			
		||||
 
 | 
			
		||||
+
 | 
			
		||||
+  /**
 | 
			
		||||
+   * Remove all entries of entity_id and type
 | 
			
		||||
+   *
 | 
			
		||||
+   * @param $entity_id
 | 
			
		||||
+   *   Entity id which has been flagged.
 | 
			
		||||
+   * @param $type
 | 
			
		||||
+   *   The entity type.
 | 
			
		||||
+   */
 | 
			
		||||
+  function _flag_lists_remove_entity($entity_id, $type) {
 | 
			
		||||
+    $query = db_select('flag_lists_content')
 | 
			
		||||
+      ->condition('entity_id', $entity_id)
 | 
			
		||||
+      ->condition('entity_type', $type);
 | 
			
		||||
+    $query->fields('flag_lists_content', array('fcid', 'fid', 'uid', 'sid'));
 | 
			
		||||
+    $items = $query->execute()->fetchAll();
 | 
			
		||||
+   
 | 
			
		||||
+   if ($items) {
 | 
			
		||||
+    foreach ($items as $key => $value) {
 | 
			
		||||
+      db_delete('flag_lists_content')
 | 
			
		||||
+        ->condition('fcid', $value->fcid)
 | 
			
		||||
+        ->execute();
 | 
			
		||||
+        watchdog('flag_lists', t('Deleted entry @fcid from flat_lists_content', array('@fcid' => $value->fcid)));
 | 
			
		||||
+      }
 | 
			
		||||
+    }
 | 
			
		||||
+  }
 | 
			
		||||
+
 | 
			
		||||
   /**
 | 
			
		||||
    * Updates the flag count for this content
 | 
			
		||||
    */
 | 
			
		||||
@@ -1766,3 +1792,17 @@ function flag_lists_views_form_substitutions() {
 | 
			
		||||
     $select_all_placeholder => drupal_render($select_all),
 | 
			
		||||
   );
 | 
			
		||||
 }
 | 
			
		||||
+
 | 
			
		||||
+
 | 
			
		||||
+/**
 | 
			
		||||
+ * Implements hook_entity_delete
 | 
			
		||||
+ */
 | 
			
		||||
+function flag_lists_entity_delete($entity, $type) {
 | 
			
		||||
+  foreach (flag_get_flags($type) as $flag) {
 | 
			
		||||
+    if (isset($entity->vid)) {
 | 
			
		||||
+      $items = _flag_lists_remove_entity($entity->vid, $type);
 | 
			
		||||
+    }
 | 
			
		||||
+  }
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
+
 | 
			
		||||
@@ -26,6 +26,8 @@ function theme_flag_lists_admin_page($variables) {
 | 
			
		||||
    $view = views_get_view('flag_lists', FALSE);
 | 
			
		||||
    if (!empty($view)) {
 | 
			
		||||
      $view->set_display('default');
 | 
			
		||||
      $view->pre_execute();
 | 
			
		||||
      $view->execute();
 | 
			
		||||
      $output .= $view->render();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
@@ -84,12 +86,19 @@ function flag_lists_add($type = NULL) {
 | 
			
		||||
 * Callback for adding new lists through AJAX.
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_add_js($type = NULL) {
 | 
			
		||||
 | 
			
		||||
  $token = $_REQUEST['form_token'];
 | 
			
		||||
  if ( is_null($token) || !drupal_valid_token($token, variable_get('flag_lists_name','list'))) { 
 | 
			
		||||
    drupal_json_output(array('error' => t('Are you using an old link?')));
 | 
			
		||||
    exit();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (is_null($type)) {
 | 
			
		||||
    drupal_json_output(array('error' => t('Type not supplied.')));
 | 
			
		||||
    exit();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $name = check_plain($_REQUEST['name']);
 | 
			
		||||
  $name = $_REQUEST['name'];
 | 
			
		||||
  if (!isset($name) || empty($name)) {
 | 
			
		||||
    drupal_json_output(array('error' => t('List name not supplied.')));
 | 
			
		||||
    exit();
 | 
			
		||||
@@ -101,7 +110,7 @@ function flag_lists_add_js($type = NULL) {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (flag_lists_title_exists($name, $type)) {
 | 
			
		||||
    drupal_json_output(array('error' => t('You already have a @name with this name for this type of content.', array('@name' => variable_get('flag_lists_name', t('list'))))));
 | 
			
		||||
    drupal_json_output(array('error' => t('You already have a @name with this name for this type of content.', array('@name' => variable_get('flag_lists_name', 'list')))));
 | 
			
		||||
    exit();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -162,7 +171,7 @@ function flag_lists_form($form, $form_state, $name = NULL, $type = NULL) {
 | 
			
		||||
  }
 | 
			
		||||
  // Adding a new list.
 | 
			
		||||
  if (!isset($name)) {
 | 
			
		||||
    drupal_set_title(t('Add a new list'));
 | 
			
		||||
    drupal_set_title(t('Add a new @name', array('@name' => variable_get('flag_lists_name', 'list'))));
 | 
			
		||||
    $form['edit'] = array(
 | 
			
		||||
      '#type' => 'hidden',
 | 
			
		||||
      '#value' => FALSE,
 | 
			
		||||
@@ -173,7 +182,7 @@ function flag_lists_form($form, $form_state, $name = NULL, $type = NULL) {
 | 
			
		||||
  else {
 | 
			
		||||
    $flag = flag_lists_get_flag($name);
 | 
			
		||||
 | 
			
		||||
    $title_string_name = variable_get('flag_lists_name', 'list');
 | 
			
		||||
    $title_string_name = t('@name', array('@name' => variable_get('flag_lists_name', 'list')));
 | 
			
		||||
    $title_string = t('Edit your "@title" @name title', array('@title' => $flag->get_title(), '@name' => $title_string_name));
 | 
			
		||||
    drupal_set_title();
 | 
			
		||||
 | 
			
		||||
@@ -191,7 +200,7 @@ function flag_lists_form($form, $form_state, $name = NULL, $type = NULL) {
 | 
			
		||||
    '#type' => 'textfield',
 | 
			
		||||
    '#title' => t('Title'),
 | 
			
		||||
    '#default_value' => empty($flag->title) ? '' : $flag->title,
 | 
			
		||||
    '#description' => t('A short, descriptive title for this @name list. Limit to 255 characters.', array('@name' => variable_get('flag_lists_name', t('list')))),
 | 
			
		||||
    '#description' => t('A short, descriptive title for this @name list. Limit to 255 characters.', array('@name' => variable_get('flag_lists_name', 'list'))),
 | 
			
		||||
    '#maxlength' => 255,
 | 
			
		||||
    '#required' => TRUE,
 | 
			
		||||
    '#access' => empty($flag->locked['title']),
 | 
			
		||||
@@ -214,12 +223,12 @@ function flag_lists_form($form, $form_state, $name = NULL, $type = NULL) {
 | 
			
		||||
function flag_lists_form_validate($form, $form_state) {
 | 
			
		||||
  // Ensure 255 charactor or less name.
 | 
			
		||||
  if (drupal_strlen($form_state['values']['title']) > 255) {
 | 
			
		||||
    form_set_error('name', t('The @name title may only be 255 characters long.', array('@name' => variable_get('flag_lists_name', t('list')))));
 | 
			
		||||
    form_set_error('name', t('The @name title may only be 255 characters long.', array('@name' => variable_get('flag_lists_name', 'list'))));
 | 
			
		||||
  }
 | 
			
		||||
  // Ensure the machine name is unique.
 | 
			
		||||
  if (!$form_state['values']['edit']) {
 | 
			
		||||
    if (flag_lists_title_exists($form_state['values']['title'], $form_state['values']['type'])) {
 | 
			
		||||
      form_set_error('title', t('You already have a @name with this name for this type of content.', array('@name' => variable_get('flag_lists_name', t('list')))));
 | 
			
		||||
      form_set_error('title', t('You already have a @name with this name for this type of content.', array('@name' => variable_get('flag_lists_name', 'list'))));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -287,7 +296,7 @@ function flag_lists_settings_form($form, $form_state) {
 | 
			
		||||
  $form['flag_lists_name'] = array(
 | 
			
		||||
    '#type' => 'textfield',
 | 
			
		||||
    '#title' => t('Substitute "list" with your own terminology'),
 | 
			
		||||
    '#default_value' => variable_get('flag_lists_name', t('list')),
 | 
			
		||||
    '#default_value' => t('@name', array('@name' => variable_get('flag_lists_name', 'list'))),
 | 
			
		||||
    '#description' => t('You can choose to use another name for "list", such as "favorites" or "bookmarks". Lowercase and plural names usually work best.'),
 | 
			
		||||
    '#required' => TRUE,
 | 
			
		||||
  );
 | 
			
		||||
@@ -341,7 +350,7 @@ function flag_lists_delete_confirm($form, $form_state, $name) {
 | 
			
		||||
  $form['fid'] = array('#type' => 'value', '#value' => $flag->fid);
 | 
			
		||||
 | 
			
		||||
  return confirm_form($form,
 | 
			
		||||
    t('Are you sure you want to delete %title?', array('%title' => $flag->get_title())),
 | 
			
		||||
    t('Are you sure you want to delete @title?', array('@title' => $flag->get_title())),
 | 
			
		||||
    isset($_GET['destination']) ? $_GET['destination'] : '/',
 | 
			
		||||
    t('This action cannot be undone.'),
 | 
			
		||||
    t('Delete'), t('Cancel')
 | 
			
		||||
@@ -359,14 +368,14 @@ function flag_lists_delete_confirm_submit($form, &$form_state) {
 | 
			
		||||
 * Form to create a new template.
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_create_template_form($form, $form_state) {
 | 
			
		||||
  drupal_set_title(t('Add a new list template'));
 | 
			
		||||
  drupal_set_title(t('Add a new @name template', array('@name' => variable_get('flag_lists_name', 'list'))));
 | 
			
		||||
  $form['help'] = array(
 | 
			
		||||
    '#value' => t('This form creates a new, blank list template. After saving, you will be able to configure further options.'),
 | 
			
		||||
  );
 | 
			
		||||
  $form['name'] = array(
 | 
			
		||||
    '#type' => 'textfield',
 | 
			
		||||
    '#title' => t('Template name'),
 | 
			
		||||
    '#description' => t('The machine-name for this template. It may be up to 32 characters long and my only contain lowercase letters, underscores, and numbers.'),
 | 
			
		||||
    '#description' => t('The machine-name for this template. It may be up to 20 characters long and my only contain lowercase letters, underscores, and numbers.'),
 | 
			
		||||
    '#maxlength' => 255,
 | 
			
		||||
    '#required' => TRUE,
 | 
			
		||||
  );
 | 
			
		||||
@@ -385,9 +394,9 @@ function flag_lists_create_template_form_validate($form, &$form_state) {
 | 
			
		||||
  if (!preg_match('/^[a-z_][a-z0-9_]*$/', $form_state['values']['name'])) {
 | 
			
		||||
    form_set_error('name', t('The flag name may only contain lowercase letters, underscores, and numbers.'));
 | 
			
		||||
  }
 | 
			
		||||
  // Ensure 32 charactor or less name.
 | 
			
		||||
  if (drupal_strlen($form_state['values']['name']) > 32) {
 | 
			
		||||
    form_set_error('name', t('The flag name may only be 32 characters long.'));
 | 
			
		||||
  // Ensure 20 charactor or less name.
 | 
			
		||||
  if (drupal_strlen($form_state['values']['name']) > 20) {
 | 
			
		||||
    form_set_error('name', t('The flag name may only be 20 characters long.'));
 | 
			
		||||
  }
 | 
			
		||||
  // Ensure the machine name is unique.
 | 
			
		||||
  $flag = flag_get_flag('fl_template_' . $form_state['values']['name']);
 | 
			
		||||
@@ -400,9 +409,10 @@ function flag_lists_create_template_form_validate($form, &$form_state) {
 | 
			
		||||
 * New template submit.
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_create_template_form_submit($form, &$form_state) {
 | 
			
		||||
  $template = flag_lists_flag_default_flags('fl_template_' . $form_state['values']['name']);
 | 
			
		||||
  $flag = flag_flag::factory_by_array($template[0]);
 | 
			
		||||
  $flag->title = t('List template') . ' ' . $form_state['values']['name'];
 | 
			
		||||
  $template = flag_lists_flag_default_flags();
 | 
			
		||||
  $flag = flag_flag::factory_by_array(array_shift($template));
 | 
			
		||||
  $flag->title = t('Flag list template') . ' ' . $form_state['values']['name'];
 | 
			
		||||
  $flag->name =  'fl_template_' . $form_state['values']['name'];
 | 
			
		||||
  $flag->save();
 | 
			
		||||
  // Enter the new template into flag_lists_types.
 | 
			
		||||
  db_insert('flag_lists_types')
 | 
			
		||||
@@ -410,11 +420,11 @@ function flag_lists_create_template_form_submit($form, &$form_state) {
 | 
			
		||||
      'name' => $flag->name,
 | 
			
		||||
    ))
 | 
			
		||||
    ->execute();
 | 
			
		||||
  $form_state['redirect'] = FLAG_ADMIN_PATH . '/edit/' . $flag->name;
 | 
			
		||||
  drupal_set_message(t('You must save the template below otherwise the functionality is not guaranteed!'), 'warning');
 | 
			
		||||
  $form_state['redirect'] = FLAG_ADMIN_PATH . '/manage/' . $flag->name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Developer tool to generate dummy lists and listings.
 | 
			
		||||
 */
 | 
			
		||||
@@ -490,10 +500,10 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
 | 
			
		||||
  // Delete listings.
 | 
			
		||||
  if ($form_state['values']['kill_listings']) {
 | 
			
		||||
      $flags = flag_lists_get_flags();
 | 
			
		||||
    $flags = flag_lists_get_flags();
 | 
			
		||||
    foreach ($flags as $flag) {
 | 
			
		||||
      $result = db_select('flag_lists_content', 'f')
 | 
			
		||||
        ->fields('f', array('fcid', 'content_id'))
 | 
			
		||||
        ->fields('f', array('fcid', 'entity_id'))
 | 
			
		||||
        ->condition('fid', $flag->fid)
 | 
			
		||||
        ->execute();
 | 
			
		||||
 | 
			
		||||
@@ -501,7 +511,7 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
        db_delete('flag_lists_content')->condition('fid', $flag->fid)->execute();
 | 
			
		||||
        db_delete('flag_lists_counts')->condition('fid', $flag->fid)->execute();
 | 
			
		||||
 | 
			
		||||
        module_invoke_all('flag', 'unflag', $flag, $row->content_id, $account, $row->fcid);
 | 
			
		||||
        module_invoke_all('flag', 'unflag', $flag, $row->entity_id, $account, $row->fcid);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    drupal_set_message(t('All listings were deleted.'));
 | 
			
		||||
@@ -525,7 +535,7 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
 | 
			
		||||
  // Generate lists.
 | 
			
		||||
  if ($form_state['values']['lists'] && count($templates)) {
 | 
			
		||||
    for ($i = 1; $i <= $form_state['values']['lists']; $i++ ) {
 | 
			
		||||
    for ($i = 1; $i <= $form_state['values']['lists']; $i++) {
 | 
			
		||||
      $template = flag_get_flag(NULL, array_rand($templates));
 | 
			
		||||
      $account->uid = $uids[array_rand($uids)];
 | 
			
		||||
      $edit['values']['title'] = devel_create_greeking(7, TRUE);
 | 
			
		||||
@@ -533,7 +543,7 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
      $form = array();
 | 
			
		||||
      flag_lists_form_submit($form, $edit, $account);
 | 
			
		||||
    }
 | 
			
		||||
  drupal_set_message(t('@lists created.', array('@lists' => format_plural($form_state['values']['lists'], '1 list', '@count lists'))));
 | 
			
		||||
    drupal_set_message(t('@lists created.', array('@lists' => format_plural($form_state['values']['lists'], '1 list', '@count lists'))));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Generate listings.
 | 
			
		||||
@@ -541,14 +551,14 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
 | 
			
		||||
    $count = 0;
 | 
			
		||||
 | 
			
		||||
    for ($i = 1; $i <= $form_state['values']['listings']; $i++ ) {
 | 
			
		||||
    for ($i = 1; $i <= $form_state['values']['listings']; $i++) {
 | 
			
		||||
      $account->uid = $uids[array_rand($uids)];
 | 
			
		||||
      $lists = flag_lists_get_user_flags(NULL, $account);
 | 
			
		||||
 | 
			
		||||
      // Remove any lists that don't use the chosen templates.
 | 
			
		||||
      foreach ($lists as $key => $list) {
 | 
			
		||||
       if (!isset($templates[$list->pfid])) {
 | 
			
		||||
        unset($lists[$key]);
 | 
			
		||||
        if (!isset($templates[$list->pfid])) {
 | 
			
		||||
          unset($lists[$key]);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@@ -589,52 +599,24 @@ function flag_lists_generate_lists_form_submit($form, &$form_state) {
 | 
			
		||||
        $count++;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  drupal_set_message(t('@listings listed.', array('@listings' => format_plural($count, '1 node', '@count nodes'))));
 | 
			
		||||
  if ($count < $form_state['values']['listings']) {
 | 
			
		||||
    drupal_set_message(t('Listings are generated randomly. Occassionally a listing will not be created if the random user has no lists or if the node type to be listed has no nodes.'));
 | 
			
		||||
  }
 | 
			
		||||
    drupal_set_message(t('@listings listed.', array('@listings' => format_plural($count, '1 node', '@count nodes'))));
 | 
			
		||||
    if ($count < $form_state['values']['listings']) {
 | 
			
		||||
      drupal_set_message(t('Listings are generated randomly. Occassionally a listing will not be created if the random user has no lists or if the node type to be listed has no nodes.'));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function flag_lists_autocomplete_list_callback($string = "") {
 | 
			
		||||
  $matches = array();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clean lists from deleted enties
 | 
			
		||||
 */
 | 
			
		||||
function flag_list_clean_deleted(){
 | 
			
		||||
 | 
			
		||||
  drupal_set_title(t('Flag lists Clean'));
 | 
			
		||||
  $output = '<p>' . t('This page shows all the deleted entityties id from flag lists.') . '</p>';
 | 
			
		||||
 | 
			
		||||
  $total = 0;
 | 
			
		||||
  $list = "<ul>";
 | 
			
		||||
 | 
			
		||||
  $query = db_select('flag_lists_content');
 | 
			
		||||
  $query->fields('flag_lists_content', array('entity_id', 'entity_type'));
 | 
			
		||||
  $query->distinct();
 | 
			
		||||
  $items = $query->execute()->fetchAll();
 | 
			
		||||
 | 
			
		||||
   if ($items) {
 | 
			
		||||
    foreach ($items as $key => $value) {
 | 
			
		||||
      $entity = entity_load($value->entity_type, array($value->entity_id), array(), true);
 | 
			
		||||
      // dsm($entity);
 | 
			
		||||
      // break;
 | 
			
		||||
      if(!isset($entity[$value->entity_id])){
 | 
			
		||||
        $list .= "<li>".$value->entity_type ." <em>". $value->entity_id."</em> have been deleted does not exists anymore.</li>";
 | 
			
		||||
        $total++;
 | 
			
		||||
  if ($string) {
 | 
			
		||||
    $lists = flag_lists_get_user_flags();
 | 
			
		||||
    foreach ($lists as $list) {
 | 
			
		||||
      if (stristr($list->title,$string) !== FALSE) {
 | 
			
		||||
        $matches[$list->title] = check_plain($list->title);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // db_delete('flag_lists_content')
 | 
			
		||||
      //   ->condition('entity_type', $value->entity_type)
 | 
			
		||||
      //   ->condition('entity_id', $value->entity_id)
 | 
			
		||||
      //   ->execute();
 | 
			
		||||
      //   watchdog('flag_lists', t('Deleted entry @fcid from flat_lists_content', array('@fcid' => $value->fcid)));
 | 
			
		||||
      // }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $list .= "</ul>";
 | 
			
		||||
  $output .= "<p><strong>".$total ."</strong> entities have been deleted.</p>";
 | 
			
		||||
  $output .= $list;
 | 
			
		||||
  return $output;
 | 
			
		||||
  drupal_json_output($matches);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										50
									
								
								sites/all/modules/contrib/flag/flag_lists/flag_lists.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								sites/all/modules/contrib/flag/flag_lists/flag_lists.inc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Implements flag lists.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
class flag_lists extends flag_flag {
 | 
			
		||||
 | 
			
		||||
function save(&$flag) {
 | 
			
		||||
  krumo('here');
 | 
			
		||||
  $flag->flag_lists_save($flag);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Saves a flag to the database. It is a wrapper around update($flag) and insert($flag).
 | 
			
		||||
   */
 | 
			
		||||
  function flag_lists_save(&$flag) {
 | 
			
		||||
    if (isset($flag->fid)) {
 | 
			
		||||
      flag_lists_update($flag);
 | 
			
		||||
      $flag->is_new = FALSE;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      flag_lists_insert($flag);
 | 
			
		||||
      $flag->is_new = TRUE;
 | 
			
		||||
    }
 | 
			
		||||
    // Clear the page cache for anonymous users.
 | 
			
		||||
//    cache_clear_all('*', 'cache_page', TRUE);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Saves an existing flag to the database. Better use save($flag).
 | 
			
		||||
   */
 | 
			
		||||
  function flag_lists_update($flag) {
 | 
			
		||||
    db_query("UPDATE {flag_lists_flags} SET title = '%s', name = '%s' WHERE fid = %d", $flag->title, $flag->name, $flag->fid);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * Saves a new flag to the database. Better use save($flag).
 | 
			
		||||
   */
 | 
			
		||||
  function flag_lists_insert($flag) {
 | 
			
		||||
    db_query("INSERT INTO {flag_lists_flags} (pfid, uid, content_type, name, title, options) VALUES (%d, %d, '%s', '%s', '%s', '%s')",             $flag->pfid, $flag->uid, $flag->content_type, $flag->name, $flag->title, $flag->get_serialized_options($flag));
 | 
			
		||||
    $flag->fid = db_last_insert_id('flags', 'fid');
 | 
			
		||||
    $flag->name = 'flag_lists_'. $flag->uid .'_'. $flag->fid;
 | 
			
		||||
    $flag->flag_lists_update($flag);
 | 
			
		||||
 | 
			
		||||
    foreach ($flag->types as $type) {
 | 
			
		||||
      db_query("INSERT INTO {flag_types} (fid, type) VALUES (%d, '%s')", $flag->fid, $type);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
name = Flag lists
 | 
			
		||||
core = 7.x
 | 
			
		||||
package = Flags
 | 
			
		||||
dependencies[] = flag
 | 
			
		||||
dependencies[] = flag (>7.x-3.0)
 | 
			
		||||
dependencies[] = token
 | 
			
		||||
dependencies[] = views
 | 
			
		||||
 | 
			
		||||
files[] = flag_lists.admin.inc
 | 
			
		||||
files[] = flag_lists.module
 | 
			
		||||
@@ -17,11 +18,14 @@ files[] = includes/flag_lists_handler_field_ops.inc
 | 
			
		||||
files[] = includes/flag_lists_handler_field_template.inc
 | 
			
		||||
files[] = includes/flag_lists_handler_field_template_types.inc
 | 
			
		||||
files[] = includes/flag_lists_handler_filter_template.inc
 | 
			
		||||
files[] = includes/flag_lists_handler_filter_list.inc
 | 
			
		||||
 | 
			
		||||
description = Allows users to create personal flag lists.
 | 
			
		||||
; Information added by drupal.org packaging script on 2012-05-03
 | 
			
		||||
version = "7.x-1.1"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
; Information added by Drupal.org packaging script on 2016-09-07
 | 
			
		||||
version = "7.x-3.1"
 | 
			
		||||
core = "7.x"
 | 
			
		||||
project = "flag_lists"
 | 
			
		||||
datestamp = "1336060255"
 | 
			
		||||
datestamp = "1473230043"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,6 @@ function flag_lists_schema() {
 | 
			
		||||
      ),
 | 
			
		||||
      'uid' => array(
 | 
			
		||||
        'type' => 'int',
 | 
			
		||||
        'size' => 'small',
 | 
			
		||||
        'unsigned' => TRUE,
 | 
			
		||||
        'not null' => TRUE,
 | 
			
		||||
      ),
 | 
			
		||||
@@ -106,7 +105,7 @@ function flag_lists_schema() {
 | 
			
		||||
    ),
 | 
			
		||||
    'primary key' => array('fcid'),
 | 
			
		||||
    'unique keys' => array(
 | 
			
		||||
      'fid_entity_id_uid_sid' => array('fid', 'entity_id', 'uid', 'sid'),
 | 
			
		||||
      'fid_content_id_uid_sid' => array('fid', 'entity_id', 'uid', 'sid'),
 | 
			
		||||
    ),
 | 
			
		||||
    'indexes' => array(
 | 
			
		||||
      'entity_type_entity_id' => array('entity_type', 'entity_id'),
 | 
			
		||||
@@ -191,17 +190,198 @@ function flag_lists_uninstall() {
 | 
			
		||||
  // Remove our template flags.
 | 
			
		||||
  $query = db_select('flag_lists_types', 'fl');
 | 
			
		||||
  $query->leftJoin('flag', 'f', 'fl.name = f.name');
 | 
			
		||||
  $query->addField('fl', 'fid', 'fid');
 | 
			
		||||
  $query->addField('f', 'fid', 'fid');
 | 
			
		||||
  $query->distinct();
 | 
			
		||||
  $fids = $query->execute();
 | 
			
		||||
 | 
			
		||||
  foreach ($fids as $fid) {
 | 
			
		||||
    db_delete('flag')->condition('fid', $fid->fid);
 | 
			
		||||
    db_delete('flag_content')->condition('fid', $fid->fid);
 | 
			
		||||
    db_delete('flag_types')->condition('fid', $fid->fid);
 | 
			
		||||
    db_delete('flag_counts')->condition('fid', $fid->fid);
 | 
			
		||||
    db_delete('flag')->condition('fid', $fid->fid)->execute();
 | 
			
		||||
    db_delete('flagging')->condition('fid', $fid->fid)->execute();
 | 
			
		||||
    db_delete('flag_types')->condition('fid', $fid->fid)->execute();
 | 
			
		||||
    db_delete('flag_counts')->condition('fid', $fid->fid)->execute();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  db_delete('variable')->condition('name', 'flag_lists%', 'LIKE')->execute();
 | 
			
		||||
 | 
			
		||||
  $view_to_delete = views_get_view('flag_lists');
 | 
			
		||||
  if (!empty($view_to_delete)) {  
 | 
			
		||||
    views_delete_view($view_to_delete);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $view_to_delete =views_get_view('flag_lists_content');
 | 
			
		||||
  if (!empty($view_to_delete)) {  
 | 
			
		||||
    views_delete_view($view_to_delete);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $view_to_delete = views_get_view('flag_lists_user_lists');
 | 
			
		||||
  if (!empty($view_to_delete)) {  
 | 
			
		||||
    views_delete_view($view_to_delete);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  $view_to_delete = views_get_view('flag_lists_user_list');
 | 
			
		||||
  if (!empty($view_to_delete)) {  
 | 
			
		||||
    views_delete_view($view_to_delete);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  db_delete('variable')->condition('name', 'flag_lists%', 'LIKE');
 | 
			
		||||
  drupal_set_message(t('Flag lists has been uninstalled.'));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get rid of garbage list entries that are orphaned from a list
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7000() {
 | 
			
		||||
  $orphans = db_query("SELECT flc.fcid, flc.fid, flc.content_id, flc.uid, flcounts.content_type, count
 | 
			
		||||
              FROM {flag_lists_content} flc
 | 
			
		||||
              JOIN {flag_lists_counts} flcounts ON flcounts.fid=flc.fid AND flc.content_id=flcounts.content_id
 | 
			
		||||
              LEFT JOIN {flag_lists_flags} flf ON flf.fid=flc.fid
 | 
			
		||||
              WHERE flf.fid IS NULL");
 | 
			
		||||
 | 
			
		||||
  foreach ($orphans as $orphan) {
 | 
			
		||||
    $num_deleted = db_delete('flag_lists_content')
 | 
			
		||||
      ->condition('fid', $orphan->fid)
 | 
			
		||||
      ->condition('fcid', $orphan->fcid)
 | 
			
		||||
      ->condition('uid', $orphan->uid)
 | 
			
		||||
      ->execute();
 | 
			
		||||
 | 
			
		||||
    if (!empty($num_deleted)) {
 | 
			
		||||
      drupal_set_message("Deleting flag_id: $orphan->fid flag_content_id: $orphan->fcid");
 | 
			
		||||
 | 
			
		||||
      db_update('flag_lists_counts')
 | 
			
		||||
        ->fields(array(
 | 
			
		||||
          'count' => ($orphan->count <= 1) ? 0 : $orphan->count - 1,
 | 
			
		||||
        ))
 | 
			
		||||
        ->condition('content_type', $orphan->content_type)
 | 
			
		||||
        ->condition('fid', $orphan->fid)
 | 
			
		||||
        ->condition('content_id', $orphan->content_id)
 | 
			
		||||
        ->execute();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update the flag_lists_flags table
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7301() {
 | 
			
		||||
  db_change_field('flag_lists_flags','content_type', 'entity_type',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'varchar',
 | 
			
		||||
      'length' => '32',
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
      'default' => '',
 | 
			
		||||
    ));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update the flag_lists_content table
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7302() {
 | 
			
		||||
  db_drop_unique_key('flag_lists_content','fid_content_id_uid_sid');
 | 
			
		||||
  db_drop_index('flag_lists_content','content_type_content_id');
 | 
			
		||||
  db_drop_index('flag_lists_content','content_type_uid_sid');
 | 
			
		||||
 
 | 
			
		||||
  db_change_field('flag_lists_content','content_type', 'entity_type',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'varchar',
 | 
			
		||||
      'length' => '32',
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
      'default' => '',
 | 
			
		||||
    ));
 | 
			
		||||
 | 
			
		||||
  db_change_field('flag_lists_content','content_id', 'entity_id',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'int',
 | 
			
		||||
      'unsigned' => TRUE,
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
      'default' => 0,
 | 
			
		||||
    ));
 | 
			
		||||
 | 
			
		||||
  db_add_unique_key('flag_lists_content',
 | 
			
		||||
    'fid_entity_id_uid_sid',
 | 
			
		||||
    array('fid', 'entity_id', 'uid', 'sid'));
 | 
			
		||||
  db_add_index('flag_lists_content',
 | 
			
		||||
    'entity_type_uid_sid',
 | 
			
		||||
    array('entity_type', 'uid', 'sid'));
 | 
			
		||||
  db_add_index('flag_lists_content',
 | 
			
		||||
    'entity_type_entity_id', 
 | 
			
		||||
    array('entity_type', 'entity_id'));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update the flag_lists_counts table
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7303() {
 | 
			
		||||
  db_drop_primary_key('flag_lists_counts');
 | 
			
		||||
  db_drop_index('flag_lists_counts','fid_content_type');
 | 
			
		||||
  db_drop_index('flag_lists_counts','content_type_content_id');
 | 
			
		||||
 | 
			
		||||
  db_change_field('flag_lists_counts','content_type', 'entity_type',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'varchar',
 | 
			
		||||
      'length' => '32',
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
      'default' => '',
 | 
			
		||||
    ));
 | 
			
		||||
  db_change_field('flag_lists_counts','content_id', 'entity_id',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'int',
 | 
			
		||||
      'unsigned' => TRUE,
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
      'default' => 0,
 | 
			
		||||
      'disp-width' => '10',
 | 
			
		||||
    ),
 | 
			
		||||
    array('primary key' => array('fid', 'entity_id')));
 | 
			
		||||
 | 
			
		||||
  db_add_index('flag_lists_counts',
 | 
			
		||||
    'fid_entity_type',
 | 
			
		||||
    array('fid', 'entity_type'));
 | 
			
		||||
  db_add_index('flag_lists_counts',
 | 
			
		||||
    'entity_type_entity_id',
 | 
			
		||||
    array('entity_type', 'entity_id'));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update the views
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7304() {
 | 
			
		||||
 | 
			
		||||
  $myview = views_get_view('flag_lists', TRUE);
 | 
			
		||||
  $myview->display['default']->display_options['fields']['name_2']['table'] = 'flag';
 | 
			
		||||
  $myview->display['default']->display_options['filters']['name']['table'] = 'flag';
 | 
			
		||||
  views_save_view($myview);
 | 
			
		||||
  // Clear the cache for the pager
 | 
			
		||||
  $cache = $myview->name . ':block:results:';
 | 
			
		||||
  cache_clear_all($cache, 'cache_views_data', TRUE);
 | 
			
		||||
 | 
			
		||||
  $myview = views_get_view('flag_lists_content', TRUE);
 | 
			
		||||
  unset($myview->display['default']->display_options['relationships']['content_id']);
 | 
			
		||||
  $myview->display['default']->display_options['relationships']['entity_id']['id'] = 'entity_id';
 | 
			
		||||
  $myview->display['default']->display_options['relationships']['entity_id']['table'] = 'flag_lists_content';
 | 
			
		||||
  $myview->display['default']->display_options['relationships']['entity_id']['field'] = 'entity_id';
 | 
			
		||||
  $myview->display['default']->display_options['relationships']['entity_id']['label'] = 'Listed content';
 | 
			
		||||
  $myview->display['default']->display_options['relationships']['entity_id']['required'] = TRUE;
 | 
			
		||||
  views_save_view($myview);
 | 
			
		||||
  // Clear the cache for the pager
 | 
			
		||||
  $cache = $myview->name . ':block:results:';
 | 
			
		||||
  cache_clear_all($cache, 'cache_views_data', TRUE);
 | 
			
		||||
 | 
			
		||||
  $myview = views_get_view('flag_lists_user_list', TRUE);
 | 
			
		||||
  $myview->display['page_1']->display_options['path'] = 'flag/lists/%';
 | 
			
		||||
  views_save_view($myview);
 | 
			
		||||
  // Clear the cache for the pager
 | 
			
		||||
  $cache = $myview->name . ':block:results:';
 | 
			
		||||
  cache_clear_all($cache, 'cache_views_data', TRUE);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update the flag_lists_flags table
 | 
			
		||||
 */
 | 
			
		||||
function flag_lists_update_7305() {
 | 
			
		||||
  db_change_field('flag_lists_flags','uid', 'uid',
 | 
			
		||||
    array(
 | 
			
		||||
      'type' => 'int',
 | 
			
		||||
      'unsigned' => TRUE,
 | 
			
		||||
      'not null' => TRUE,
 | 
			
		||||
    ));
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -59,7 +59,7 @@ function flag_lists_views_data_alter(&$data) {
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  // We need fid and name form flags' data, and join.
 | 
			
		||||
  $data['flags'] = array(
 | 
			
		||||
  $data['flag'] = array(
 | 
			
		||||
    'table' => array(
 | 
			
		||||
      'group' => t('Flag'),
 | 
			
		||||
      'join' => array(
 | 
			
		||||
@@ -228,8 +228,7 @@ function flag_lists_views_data() {
 | 
			
		||||
        'handler' => 'flag_lists_handler_field_list',
 | 
			
		||||
      ),
 | 
			
		||||
      'filter' => array(
 | 
			
		||||
        'handler' => 'views_handler_filter_string',
 | 
			
		||||
        'allow empty' => TRUE,
 | 
			
		||||
        'handler' => 'flag_lists_handler_filter_list',
 | 
			
		||||
      ),
 | 
			
		||||
      'argument' => array(
 | 
			
		||||
        'handler' => 'views_handler_argument_string',
 | 
			
		||||
@@ -261,7 +260,7 @@ function flag_lists_views_data() {
 | 
			
		||||
      'join' => array(
 | 
			
		||||
        'node' => array(
 | 
			
		||||
          'left_field' => 'nid',
 | 
			
		||||
          'field' => 'content_id',
 | 
			
		||||
          'field' => 'entity_id',
 | 
			
		||||
        ),
 | 
			
		||||
      ),
 | 
			
		||||
      'group' => t('Flag lists'),
 | 
			
		||||
@@ -275,7 +274,7 @@ function flag_lists_views_data() {
 | 
			
		||||
        'label' => t('List user'),
 | 
			
		||||
      ),
 | 
			
		||||
    ),
 | 
			
		||||
    'content_id' => array(
 | 
			
		||||
    'entity_id' => array(
 | 
			
		||||
      'relationship' => array(
 | 
			
		||||
        'title' => t('Node'),
 | 
			
		||||
        'help' => t('The node that has been listed'),
 | 
			
		||||
@@ -313,7 +312,7 @@ function flag_lists_views_data() {
 | 
			
		||||
        'flag_lists_flags' => array(
 | 
			
		||||
          'table' => 'flag_lists_types',
 | 
			
		||||
          'type' => 'INNER',
 | 
			
		||||
          'left_table' => 'flags',
 | 
			
		||||
          'left_table' => 'flag',
 | 
			
		||||
          'left_field' => 'name',
 | 
			
		||||
          'field' => 'name',
 | 
			
		||||
        ),
 | 
			
		||||
 
 | 
			
		||||
@@ -168,7 +168,7 @@ function flag_lists_views_default_views() {
 | 
			
		||||
      'exclude' => 0,
 | 
			
		||||
      'link_to_list' => FALSE,
 | 
			
		||||
      'id' => 'name_2',
 | 
			
		||||
      'table' => 'flags',
 | 
			
		||||
      'table' => 'flag',
 | 
			
		||||
      'field' => 'name',
 | 
			
		||||
      'relationship' => 'none',
 | 
			
		||||
    ),
 | 
			
		||||
@@ -259,7 +259,7 @@ function flag_lists_views_default_views() {
 | 
			
		||||
        'reduce' => 0,
 | 
			
		||||
      ),
 | 
			
		||||
      'id' => 'name',
 | 
			
		||||
      'table' => 'flags',
 | 
			
		||||
      'table' => 'flag',
 | 
			
		||||
      'field' => 'name',
 | 
			
		||||
      'relationship' => 'none',
 | 
			
		||||
    ),
 | 
			
		||||
@@ -843,7 +843,7 @@ function flag_lists_views_default_views() {
 | 
			
		||||
    'type' => 'none',
 | 
			
		||||
  ));
 | 
			
		||||
  $handler = $view->new_display('page', 'Page', 'page_1');
 | 
			
		||||
  $handler->override_option('path', 'flags/lists/%');
 | 
			
		||||
  $handler->override_option('path', 'flag/lists/%');
 | 
			
		||||
  $handler->override_option('menu', array(
 | 
			
		||||
    'type' => 'none',
 | 
			
		||||
    'title' => '',
 | 
			
		||||
@@ -859,6 +859,6 @@ function flag_lists_views_default_views() {
 | 
			
		||||
    'name' => 'navigation',
 | 
			
		||||
  ));
 | 
			
		||||
 | 
			
		||||
 $views[$view->name] = $view;
 | 
			
		||||
  $views[$view->name] = $view;
 | 
			
		||||
  return $views;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ class flag_lists_handler_field_list extends views_handler_field {
 | 
			
		||||
  function render_link($data, $values) {
 | 
			
		||||
    if (!empty($this->options['link_to_list']) && $data !== NULL && $data !== '') {
 | 
			
		||||
      $this->options['alter']['make_link'] = TRUE;
 | 
			
		||||
      $this->options['alter']['path'] = "user/" . $values->{$this->aliases['uid']} . "/flags/lists/" . $values->{$this->aliases['fid']};
 | 
			
		||||
      $this->options['alter']['path'] = "user/" . $values->{$this->aliases['uid']} . "/flag/lists/" . $values->{$this->aliases['fid']};
 | 
			
		||||
    }
 | 
			
		||||
    return $data;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,6 @@ class flag_lists_handler_field_list_delete extends views_handler_field {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $text = !empty($this->options['text']) ? $this->options['text'] : t('delete');
 | 
			
		||||
    return l($text, "flags/lists/delete/" . $fid,  array('query' => drupal_get_destination()));
 | 
			
		||||
    return l($text, "flag/lists/delete/" . $fid,  array('query' => drupal_get_destination()));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,6 @@ class flag_lists_handler_field_list_edit extends views_handler_field {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
 | 
			
		||||
    return l($text, "flags/lists/edit/" . $fid,  array('query' => drupal_get_destination()));
 | 
			
		||||
    return l($text, "flag/lists/edit/" . $fid,  array('query' => drupal_get_destination()));
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,17 @@ class flag_lists_handler_field_ops extends views_handler_field {
 | 
			
		||||
      '#tree' => TRUE,
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    // Do we add or delete?
 | 
			
		||||
    $operation = array();
 | 
			
		||||
    if ($this->options['flo']['operation'] == 'flag') {
 | 
			
		||||
      $operation[0] = 'Add';
 | 
			
		||||
      $operation[1] = 'to';
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      $operation[0] = 'Remove';
 | 
			
		||||
      $operation[1] = 'from';
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // At this point, the query has already been run, so we can access the results
 | 
			
		||||
    // in order to get the base key value (for example, nid for nodes).
 | 
			
		||||
    foreach ($this->view->result as $row_index => $row) {
 | 
			
		||||
@@ -78,7 +89,13 @@ class flag_lists_handler_field_ops extends views_handler_field {
 | 
			
		||||
        $form[$this->options['id']][$row_index] = array(
 | 
			
		||||
          '#type' => 'radio',
 | 
			
		||||
          '#parents' => array($this->options['id']),
 | 
			
		||||
          '#return_value' => $entity_id,
 | 
			
		||||
          '#return_value' => $entity_id . (isset($row->flag_lists_flags_fid) ? ('-' . $row->flag_lists_flags_fid) : ''),
 | 
			
		||||
          '#attributes' => array('title' => 
 | 
			
		||||
                             array(t('@oper this item, @entity_id, @direction the @name', 
 | 
			
		||||
                               array('@oper' => $operation[0],
 | 
			
		||||
                                     '@entity_id' => $entity_id,
 | 
			
		||||
                                     '@direction' => $operation[1],
 | 
			
		||||
                                     '@name' => variable_get('flag_lists_name','list'))))),
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
      else {
 | 
			
		||||
@@ -86,9 +103,14 @@ class flag_lists_handler_field_ops extends views_handler_field {
 | 
			
		||||
          '#type' => 'checkbox',
 | 
			
		||||
          '#return_value' => $entity_id . (isset($row->flag_lists_flags_fid) ? ('-' . $row->flag_lists_flags_fid) : ''),
 | 
			
		||||
          '#default_value' => FALSE,
 | 
			
		||||
          '#attributes' => array('class' => array('flo-select')),
 | 
			
		||||
          '#attributes' => array('class' => array('flo-select'),
 | 
			
		||||
                      'title' => array(t('@oper item @entity_id @direction the @name', 
 | 
			
		||||
                        array('@oper' => $operation[0],
 | 
			
		||||
                              '@entity_id' => $entity_id,
 | 
			
		||||
                              '@direction' => $operation[1],
 | 
			
		||||
                              '@name' => variable_get('flag_lists_name', 'list'))))),
 | 
			
		||||
        );
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ class flag_lists_handler_field_template extends views_handler_field {
 | 
			
		||||
   */
 | 
			
		||||
  function construct() {
 | 
			
		||||
    parent::construct();
 | 
			
		||||
    $this->additional_fields['name'] = array('table' => 'flags', 'field' => 'name');
 | 
			
		||||
    $this->additional_fields['name'] = array('table' => 'flag', 'field' => 'name');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function option_definition() {
 | 
			
		||||
@@ -44,7 +44,7 @@ class flag_lists_handler_field_template extends views_handler_field {
 | 
			
		||||
  function render_link($data, $values) {
 | 
			
		||||
    if (!empty($this->options['link_to_template']) && $data !== NULL && $data !== '') {
 | 
			
		||||
      $this->options['alter']['make_link'] = TRUE;
 | 
			
		||||
      $this->options['alter']['path'] = "admin/build/flags/edit/" . $values->{$this->aliases['name']};
 | 
			
		||||
      $this->options['alter']['path'] = "admin/structure/flags/manage/" . $values->{$this->aliases['name']};
 | 
			
		||||
    }
 | 
			
		||||
    return $data;
 | 
			
		||||
  }
 | 
			
		||||
@@ -52,4 +52,4 @@ class flag_lists_handler_field_template extends views_handler_field {
 | 
			
		||||
  function render($values) {
 | 
			
		||||
    return $this->render_link(check_plain($values->{$this->field_alias}), $values);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file flag_lists_handler_field_template_types.inc
 | 
			
		||||
 * Field handler to provide a list of template node types.
 | 
			
		||||
@@ -6,14 +7,15 @@
 | 
			
		||||
class flag_lists_handler_field_template_types extends views_handler_field_prerender_list {
 | 
			
		||||
  function construct() {
 | 
			
		||||
    parent::construct();
 | 
			
		||||
    $this->additional_fields['name'] = array('table' => 'flags', 'field' => 'name');
 | 
			
		||||
    $this->additional_fields['name'] = array('table' => 'flag', 'field' => 'name');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function query() {
 | 
			
		||||
    $this->add_additional_fields();
 | 
			
		||||
    $this->field_alias = $this->aliases['name'];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function pre_render($values) {
 | 
			
		||||
  function pre_render(&$values) {
 | 
			
		||||
    $names = array();
 | 
			
		||||
    $this->items = array();
 | 
			
		||||
 | 
			
		||||
@@ -23,7 +25,7 @@ class flag_lists_handler_field_template_types extends views_handler_field_preren
 | 
			
		||||
 | 
			
		||||
    if (count($names)) {
 | 
			
		||||
      $query = db_select('flag_lists_types', 'flt');
 | 
			
		||||
      $query->innerJoin('flags', 'f', 'flt.name = f.name');
 | 
			
		||||
      $query->innerJoin('flag', 'f', 'flt.name = f.name');
 | 
			
		||||
      $result = $query->fields('flt', array('type', 'name'))
 | 
			
		||||
        ->condition('f.name', $names, 'IN')
 | 
			
		||||
        ->orderBy('flt.type')
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,20 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 * @file flag_lists_handler_filter_list.inc
 | 
			
		||||
 * Filter by flag lists
 | 
			
		||||
 *
 | 
			
		||||
 * https://api.drupal.org/api/examples/ajax_example!ajax_example_autocomplete.inc/7
 | 
			
		||||
 */
 | 
			
		||||
class flag_lists_handler_filter_list extends views_handler_filter_string {
 | 
			
		||||
 | 
			
		||||
function value_form(&$form, &$form_state) {
 | 
			
		||||
  parent::value_form($form, $form_state);
 | 
			
		||||
 | 
			
		||||
  if ( $form['value']['#type'] == 'textfield') {
 | 
			
		||||
    $form['value']['#autocomplete_path'] = 
 | 
			
		||||
      'flag-lists/autocomplete_list_callback';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -30,24 +30,26 @@
 | 
			
		||||
          select.addClass('new-list-processed');
 | 
			
		||||
 | 
			
		||||
          if (Drupal.settings.flag_lists.types.length > 0) {
 | 
			
		||||
            $(this).after('<a href="#" class="create-a-new-list">New list?</a><div class="new-list-form"><form><select name="type" class="type"></select><label for="name">List name</label><input type="textfield" name="name" class="name" /></form></div>');
 | 
			
		||||
            $(this).after('<a href="#" class="create-a-new-list">New ' + Drupal.settings.flag_lists.listname + '?</a><div class="new-list-form"><form><select name="type" class="type"></select><label for="name">New ' + Drupal.settings.flag_lists.listname + ' name</label><input type="textfield" name="name" class="name" /></form></div>');
 | 
			
		||||
            var dialog = $('.new-list-form', $(this).parent()).dialog({
 | 
			
		||||
              autoOpen: false,
 | 
			
		||||
              height: 300,
 | 
			
		||||
              width: 350,
 | 
			
		||||
              modal: true,
 | 
			
		||||
              buttons: {
 | 
			
		||||
                "Create a new list": function() {
 | 
			
		||||
                "Create": function() {
 | 
			
		||||
                  var name = $('input.name', $(this)).val();
 | 
			
		||||
                  var type = $('select.type', $(this)).val();
 | 
			
		||||
                  name = encodeURIComponent(name);
 | 
			
		||||
 | 
			
		||||
                  $.getJSON(Drupal.settings.flag_lists.json_path.replace('%', type)+'?name='+name, function(data) {
 | 
			
		||||
                  $.getJSON(Drupal.settings.flag_lists.json_path.replace('%', type)+ '?form_token=' + Drupal.settings.flag_lists.form_token +'&name='+name, function(data) {
 | 
			
		||||
                    if (data.error) {
 | 
			
		||||
                      alert(data.error);
 | 
			
		||||
                    }
 | 
			
		||||
                    else {
 | 
			
		||||
                      select.append('<option value="'+data.flag.fid+'">'+data.flag.title+'</option>');
 | 
			
		||||
                      $('input.name', $(this)).val('');
 | 
			
		||||
                      location.reload(true);
 | 
			
		||||
                      dialog.dialog('close');
 | 
			
		||||
                    }
 | 
			
		||||
                  });
 | 
			
		||||
@@ -70,9 +72,12 @@
 | 
			
		||||
          // Put entries into the optgroup
 | 
			
		||||
          for (j in Drupal.settings.flag_lists.types) {
 | 
			
		||||
            var type = Drupal.settings.flag_lists.types[j];
 | 
			
		||||
            $('.new-list-form form select.type').append('<option value="'+type+'" class="'+type+'">List for '+type+'</option>');
 | 
			
		||||
            $('.new-list-form form select.type').append('<option value="'+type+'" class="'+type+'">' + Drupal.settings.flag_lists.listname + ' for '+type+'</option>');
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        if ( Drupal.settings.flag_lists.types.length <= 1) {
 | 
			
		||||
          $('.new-list-form form select.type', context).hide();
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
.block-flag_lists .flag-message {
 | 
			
		||||
.block-flag-lists .flag-message {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  clear: both;
 | 
			
		||||
  top:0;
 | 
			
		||||
@@ -6,4 +6,4 @@
 | 
			
		||||
  line-height: normal;
 | 
			
		||||
  width: auto;
 | 
			
		||||
  font-size: .8em;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user