예제 #1
0
<?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');
예제 #2
0
파일: Medlem.php 프로젝트: krillo/motiomera
 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();
     }
 }
예제 #3
0
             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);
 }
예제 #4
0
 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;
 }
예제 #5
0
             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);
 }