Example #1
0
 /**
  * Delete this group from the database, along with any linked user and authorization rules
  *
  * @see DatabaseInterface
  */
 public function delete()
 {
     // Can only delete an object where `id` is set
     if (!$this->_id) {
         return false;
     }
     $result = parent::delete();
     // Get connection
     $db = static::connection();
     $link_table = static::getTable('group_user')->name;
     $auth_table = static::getTable('authorize_group')->name;
     $sqlVars[":id"] = $this->_id;
     $query = "\n            DELETE FROM `{$link_table}`\n            WHERE group_id = :id";
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     $query = "\n            DELETE FROM `{$auth_table}`\n            WHERE group_id = :id";
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     // Reassign any primary users to the current default primary group
     $default_primary_group = GroupLoader::fetch(GROUP_DEFAULT_PRIMARY, 'is_default');
     $user_table = static::getTable('user')->name;
     $query = "\n            UPDATE `{$user_table}` \n            SET primary_group_id = :primary_group_id\n            WHERE primary_group_id = :current_id;";
     $sqlVars = [":primary_group_id" => $default_primary_group->id, ":current_id" => $this->_id];
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     // TODO: assign user to the default primary group as well?
     return $result;
 }
Example #2
0
 public function delete()
 {
     // Can only delete an object where `id` is set
     if (!$this->_id) {
         return false;
     }
     // Delete the record itself
     $result = parent::delete();
     // Get connection
     $db = static::connection();
     $link_table = static::getTable('votes_bud')->name;
     // Delete the links
     $sqlVars[":id"] = $this->_id;
     $query = "\n               DELETE FROM `{$link_table}`\n               WHERE bud_id = :id";
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     return $result;
 }
Example #3
0
 public function delete()
 {
     // Can only delete an object where `id` is set
     if (!$this->_id) {
         return false;
     }
     $result = parent::delete();
     // Get connection
     $db = static::connection();
     $link_table = static::getTableGroupUser();
     $auth_table = static::getTableAuthorizeUser();
     $sqlVars[":id"] = $this->_id;
     $query = "\n            DELETE FROM `{$link_table}`\n            WHERE user_id = :id";
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     $query = "\n            DELETE FROM `{$auth_table}`\n            WHERE user_id = :id";
     $stmt = $db->prepare($query);
     $stmt->execute($sqlVars);
     return $result;
 }
Example #4
0
 public function fresh()
 {
     $pbidea = new MySqlPBidea(parent::fresh(), $this->_id);
     $pbidea->_pbidea = $this->fetchPBideas();
     return $pbidea;
 }