require_once $_SERVER["DOCUMENT_ROOT"] . "/php/init.php"; Security::demand(USER); $smarty = new MMSmarty(); $smarty->assign("pagetitle", "Klubbar"); //rensa temporära sträckor Stracka::cleanTempStrackor($USER); $mygroups = Grupp::listBySkapare($USER); $allgroups = Grupp::listPublic(); $invites = $USER->listInvites(); $joinedgroups = $USER->listJoinedGroups(); $grupper = array(); foreach ($allgroups as $grupp) { $grupper[$grupp->getSkapare()->getKommun()->getId()][] = $grupp; } $medlemsgrupper = Grupp::listByMedlem($USER); $medlemsgrupper_id = array(); foreach ($medlemsgrupper as $grupp) { $medlemsgrupper_id[] = $grupp->getId(); } if (count($medlemsgrupper) > 0) { $smarty->assign("medlemsgrupper", $medlemsgrupper); } $smarty->assign("medlemsgrupper_id", $medlemsgrupper_id); $kommuner = Kommun::listAll(); $kommunerOchGrupper = array(); foreach ($kommuner as $kommun) { if (isset($grupper[$kommun->getId()])) { $kommunerOchGrupper[$kommun->getId()] = $grupper[$kommun->getId()]; } }
$msg = "Den här personen har valt att inte visa sin profil för någon."; break; case "foretag": $msg = "Denna profil är endast synlig för medlemmar av samma företag."; break; case "alla": $msg = "Denna profil är endast synlig för medlemmar av samma företag."; break; default: $msg = "Ett fel har uppstått på profilsidan."; break; } throw new UserException("Kan ej visa profil", $msg); } $smarty = new MMSmarty(); $grupper = Grupp::listByMedlem($medlem); if ($medlem->getLatestCachedRss()) { $rss = $medlem->getLatestCachedRss(); $rss['description'] = strip_tags($rss['description']); $smarty->assign('rssFeed', $rss); //array } // Kommunquiz $successfull_quizzes = $medlem->getSuccessfullQuizzes(); $smarty->assign("successfull_quizzes", sizeof($successfull_quizzes)); // Medlemsquiz $quizblock = MinaQuiz::loadMedlemsQuizblock($medlem, $antal = 5); $smarty->assign("quizblock", $quizblock); $smarty->assign("hasQuiz", MinaQuiz::hasQuiz($medlem)); $usrLag = $medlem->getLag(); if (isset($usrLag)) {
public function harMedlemTilltrade($medlem) { if (Security::authorized(USER) == false) { // icke inloggad besökare if ($this->getTilltrade() == "alla") { return true; } else { return false; } } // alla har tillträde if ($this->getTilltrade() == "alla") { return true; } // ägare har självklart tilltrade till sina egna album if ($this->isAgare()) { return true; } // gå igenom användarens grupper och se om nån av dem har direkt tillträde $grupper = Grupp::listByMedlem($medlem); if ($grupper != null) { foreach ($grupper as $grupp) { if ($this->harGruppTilltrade($grupp->getId(), $this->getId()) == true) { // tillträde via grupp return true; } } } // om ALLA grupper har tillgång, // hämta alla användarens grupper OCH ägarens grupper och se om de båda är medlemmar i samma grupp if ($this->getTilltradeAllaGrupper() == "ja") { $agare_grupper = Grupp::listByMedlem($this->getMedlem()); if ($grupper != null && $agare_grupper != null) { foreach ($grupper as $grupp) { foreach ($agare_grupper as $agare_grupp) { if ($agare_grupp->getId() == $grupp->getId()) { // gemensam grupp return true; } } } } } // ta reda på om ägaren av fotoalbumet och besökaren är medlemmar i samma företag // samt om företagsmedlemmar har tilltrade till detta fotoalbum $foretag = Foretag::loadByMedlem($medlem); if ($foretag != null) { $foretag_id = $foretag->getId(); } $medlem_foretag = Foretag::loadByMedlem($this->getMedlem()); if ($medlem_foretag != null) { $medlem_foretag_id = $medlem_foretag->getId(); } if ($foretag != null && $medlem_foretag != null && $foretag_id == $medlem_foretag_id && $this->harForetagTilltrade() == true) { return true; } return false; }
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(); } }
public function listGrupper() { if (!$this->grupper) { $this->grupper = Grupp::listByMedlem($this->getMedlem()); } return $this->grupper; }