<?php require_once $_SERVER["DOCUMENT_ROOT"] . "/php/init.php"; Security::demand(USER); $smarty = new MMSmarty(); $smarty->assign("pagetitle", "Redigera fotoalbum"); // hämta information om fotoalbumet vi ska ändra $fotoalbum = Fotoalbum::loadById($_GET["fid"]); if (!$fotoalbum->isAgare()) { // Besökaren äger INTE detta album $urlHandler->redirect("Fotoalbum", "URL_LIST"); exit; } $smarty->assign("fotoalbum", $fotoalbum); $smarty->assign("fid", $_GET["fid"]); $grupper = Grupp::listByMedlem($USER); $foretag = Foretag::loadByMedlem($USER); if ($foretag) { if ($fotoalbum->harForetagTilltrade($foretag->getId(), $fotoalbum->getId())) { $smarty->assign("foretag_checked", "checked"); } } $smarty->assign("grupper", $grupper); $smarty->assign("foretag", $foretag); $smarty->display('fotoalbumandra.tpl');
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(); } }
if (count($grupper) == 1) { $grupp = Grupp::loadById($grupper[0]); $tilltrade = "Gruppen " . $grupp->getNamn(); } else { $tilltrade = "Följande grupper: <strong>"; for ($x = 0; $x < count($grupper); $x++) { $grupp = Grupp::loadById($grupper[$x]); $tilltrade .= $grupp->getNamn() . ", "; } $tilltrade = substr($tilltrade, 0, strlen($tilltrade) - 2); $tilltrade .= "</strong>"; } } } if ($quiz->harForetagTilltrade() == true) { $foretag = Foretag::loadByMedlem($quiz->getMedlem()); if ($grupper != null || $quiz->getTilltradeAllaGrupper() == "ja") { // både grupper och företag har tillgång $tilltrade .= " samt företaget <strong>" . $foretag->getNamn() . "</strong>"; } else { // endast företag har tillgång $tilltrade = "Endast företaget <strong>" . $foretag->getNamn() . "</strong>"; } } if (isset($foretag) || $grupper != null || $quiz->getTilltradeAllaGrupper() == "ja") { $tilltrade .= " har tillträde till detta quiz"; } else { $tilltrade = "Ingen har tillträde till detta quiz"; } $smarty->assign("tilltrade", $tilltrade); }
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; }
if (count($grupper) == 1) { $grupp = Grupp::loadById($grupper[0]); $tilltrade = "Gruppen " . $grupp->getNamn(); } else { $tilltrade = "Följande grupper: <strong>"; for ($x = 0; $x < count($grupper); $x++) { $grupp = Grupp::loadById($grupper[$x]); $tilltrade .= $grupp->getNamn() . ", "; } $tilltrade = substr($tilltrade, 0, strlen($tilltrade) - 2); $tilltrade .= "</strong>"; } } } if ($fotoalbum->harForetagTilltrade() == true) { $foretag = Foretag::loadByMedlem($fotoalbum->getMedlem()); if ($grupper != null || $fotoalbum->getTilltradeAllaGrupper() == "ja") { // både grupper och företag har tillgång $tilltrade .= " samt företaget <strong>" . $foretag->getNamn() . "</strong>"; } else { // endast företag har tillgång $tilltrade = "Endast företaget <strong>" . $foretag->getNamn() . "</strong>"; } } if (isset($foretag) || $grupper != null || $fotoalbum->getTilltradeAllaGrupper() == "ja") { $tilltrade .= " har tillträde till detta fotoalbum"; } else { $tilltrade = "Ingen har tillträde till detta fotoalbum"; } $smarty->assign("tilltrade", $tilltrade); }