/[drupal]/contributions/modules/buddylist2/buddylist_api/buddylist_api.module
ViewVC logotype

Diff of /contributions/modules/buddylist2/buddylist_api/buddylist_api.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.3, Tue Jul 29 07:30:53 2008 UTC revision 1.1.2.4, Tue Sep 2 13:16:04 2008 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: buddylist_api.module,v 1.1.2.2 2008/07/25 16:49:10 nodestroy Exp $  // $Id: buddylist_api.module,v 1.1.2.3 2008/07/29 07:30:53 nodestroy Exp $
3    
4  /**  /**
5   * @file   * @file
# Line 8  Line 8 
8   * contains core buddylist_api functions to generate social networks   * contains core buddylist_api functions to generate social networks
9   */   */
10    
11    if (module_exists('rules'))
12      include_once 'buddylist_api.rules.inc';
13    
14  /**  /**
15   * Public API for deleting a relationship.   * Public API for deleting a relationship.
16   *   *
# Line 55  function buddylist_api_request_relations Line 58  function buddylist_api_request_relations
58        'requester_id'  => $requester->uid,        'requester_id'  => $requester->uid,
59        'requestee_id'  => $requestee->uid,        'requestee_id'  => $requestee->uid,
60        'rtid'          => $type->rtid,        'rtid'          => $type->rtid,
61          'init_id'       => $requester->uid,
62      );      );
63    
64        if($type->oneway) {
65          $relationship->state = 1;
66        }
67    
68      return buddylist_api_save_relationship($relationship);      return buddylist_api_save_relationship($relationship);
69    }    }
# Line 124  function buddylist_api_save_relationship Line 132  function buddylist_api_save_relationship
132  }  }
133    
134  /**  /**
135   * Load a relationship   * Loads relationship(s)
136   *   *
137   * @param $par   * @param $par
138   *    desc   *    desc
# Line 154  function buddylist_api_load_relationship Line 162  function buddylist_api_load_relationship
162      $relationships[$relationship->rtid] = $relationship;      $relationships[$relationship->rtid] = $relationship;
163    }    }
164    
165    _buddylist_api_invoke('load', $relationship);    _buddylist_api_invoke('load', $relationships);
166    
167    return $relationships;    return $relationships;
168  }  }
169    
170    
171    function buddylist_api_load_relationships_between(&$userA, &$userB, $count = FALSE, $active = TRUE) {
172       $what = $count ? "count(*)" : "*";
173       $query = "SELECT ". $what ." FROM {buddylist_relations} WHERE requester_id = %d AND requestee_id = %d";
174    
175       if ($active)
176         $query.= ' AND state = 1';
177       else
178         $query.= ' AND state = 0';
179    
180       $result = db_query($query, $userA->uid, $userB->uid);
181    
182       if ($count) {
183         return (int)(db_result($result));
184       }
185       $relationships = array();
186    
187       while ($relationship = db_fetch_object($result)) {
188        $relationships[$relationship->rtid] = $relationship;
189       }
190    
191      _buddylist_api_invoke('load', $relationships);
192    
193      return $relationships;
194    }
195    
196    
197  /**  /**
198   * RELATIONTYPES   * RELATIONTYPES
# Line 269  function buddylist_api_rtype_save(&$rtyp Line 302  function buddylist_api_rtype_save(&$rtyp
302   *   A Relationtype object   *   A Relationtype object
303   */   */
304  function buddylist_api_rtype_delete(&$rtype) {  function buddylist_api_rtype_delete(&$rtype) {
305    $rtype = (object)$rtype;    $loaded_rtype = buddylist_api_rtype_load(array('mname' => $rtype->mname));
   
   // If the relationtype comes from an external module, we have to search for the right rtid  
   if($rtype->type != 1) {  
     $rtypes = buddylist_api_rtypes_load();  
     foreach($rtypes as $currenttype) {  
       if($currenttype->name == $rtype->name)  
         $rtype->rtid = $currenttype->rtid;  
     }  
   }  
306    
307    // Delete all entries in relations table with that rtid + delete relationtype    // Delete all entries in relations table with that rtid + delete relationtype
308    db_query('DELETE FROM {buddylist_relations} WHERE rtid = %d', $rtype->rtid);    db_query('DELETE FROM {buddylist_relations} WHERE rtid = %d', $loaded_rtype->rtid);
309    db_query('DELETE FROM {buddylist_relationtypes} WHERE rtid = %d', $rtype->rtid);    db_query('DELETE FROM {buddylist_relationtypes} WHERE mname = %d', $rtype->mname);
310    
311    _buddylist_api_invoke('delete_rtype', $rtype, TRUE);    _buddylist_api_invoke('delete_rtype', $rtype, TRUE);
312  }  }
# Line 293  function _buddylist_api_invoke($op, $rty Line 317  function _buddylist_api_invoke($op, $rty
317  }  }
318    
319    
320  /*  /**
321   * HOOKS   * HOOKS
322   */   */
323    
# Line 305  function buddylist_api_user($type, &$edi Line 329  function buddylist_api_user($type, &$edi
329     db_query("DELETE FROM {buddylist_relations} WHERE requester_id = %d OR requestee_id = %d", $account->uid, $account->uid);     db_query("DELETE FROM {buddylist_relations} WHERE requester_id = %d OR requestee_id = %d", $account->uid, $account->uid);
330   }   }
331  }  }
332    
333    /**
334     * HELPER FUNCTIONS
335     */
336    function buddylist_api_translation() {
337      return array();
338    }

Legend:
Removed from v.1.1.2.3  
changed lines
  Added in v.1.1.2.4

  ViewVC Help
Powered by ViewVC 1.1.2