示例#1
0
 public function delete()
 {
     global $USER;
     if (Security::authorized(ADMIN) or $USER->getId() == $this->getId()) {
         Adressbok::removeAllMedlemKontakter($this);
         Anslagstavla::deleteAllMemberPosts($this);
         $this->deleteAllProfilDataVal();
         //ta bort alla mail
         MotiomeraMail::removeAllMemberMail($this);
         MotiomeraMail_Folders::deleteMemberFolders($this);
         //mal tabellen verkar oanvänd, nedanstående rad ej testad
         //MalManager::removeAllMedlemMal($this);
         Help::removeAllMedlemAvfardade($this);
         Quiz::removeAllMemberQuizresults($this);
         Fotoalbum::removeAllMedlemFolders($this);
         //lag inte i burk atm, nedanstående rad ej testad
         //Lag::removeMedlemFromAllLag($this);
         /* remove member from foretagsnycklar */
         $foretag = Foretag::loadByMedlem($this);
         if (isset($foretag)) {
             $foretag->gaUr($this->getId());
         }
         /* inga matchande klasser för mindre tabeller */
         global $db;
         $tables = array('mm_pokal', 'mm_medalj', 'mm_help_medlem_noshow');
         foreach ($tables as $table) {
             $sql = 'DELETE FROM ' . $table . ' WHERE medlem_id = "' . $this->getId() . '"';
             $db->nonquery($sql);
         }
         //mm_order, mm_prenumeration töms ej avsiktligen
         //ta bort medlemmen ur grupper (och grupper den skapat)
         $agrupp = Grupp::listByMedlem($this);
         foreach ($agrupp as $grupp) {
             if ($grupp->getSkapareId() == $this->getId()) {
                 $grupp->delete();
             }
             /* else
                $grupp->leaveGrupp($this); */
         }
         Grupp::flushMemberFromGroups($this);
         Stracka::deleteUserStrackor($this);
         $asteg = Steg::listByMedlem($this);
         foreach ($asteg as $steg) {
             $steg->delete();
         }
         FeedItem::deleteAllMedlemFeedItems($this);
         parent::delete();
     }
 }