Beispiel #1
0
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()];
    }
}
Beispiel #2
0
            $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)) {
Beispiel #3
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;
 }
Beispiel #4
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();
     }
 }
Beispiel #5
0
 public function listGrupper()
 {
     if (!$this->grupper) {
         $this->grupper = Grupp::listByMedlem($this->getMedlem());
     }
     return $this->grupper;
 }