コード例 #1
0
ファイル: album.php プロジェクト: joshjim27/jobsglobal
 /**
  *    Allows us to test if the user has access to the album
  * */
 public function hasAccess($userId, $permissionType)
 {
     // @rule: For super admin, regardless of what permission, they should be able to access
     if (COwnerHelper::isCommunityAdmin()) {
         return true;
     }
     switch ($this->type) {
         case PHOTOS_PROFILE_TYPE:
         case PHOTOS_USER_TYPE:
             if ($permissionType == 'upload') {
                 return $this->creator == $userId;
             }
             if ($permissionType == 'deletephotos') {
                 return $this->creator == $userId;
             }
             break;
         case PHOTOS_GROUP_TYPE:
             $group = JTable::getInstance('Group', 'CTable');
             $group->load($this->groupid);
             if ($permissionType == 'upload') {
                 return CGroupHelper::allowManagePhoto($group->id);
             }
             if ($permissionType == 'deletephotos') {
                 return $this->creator == $userId || $group->isAdmin($userId);
             }
             return false;
             break;
         case PHOTOS_EVENT_TYPE:
             $event = JTable::getInstance('Event', 'CTable');
             $event->load($this->eventid);
             if ($permissionType == 'upload') {
                 return CEventHelper::allowManagePhoto($event->id);
             }
             if ($permissionType == 'deletephotos') {
                 return $this->creator == $userId || $event->isAdmin($userId);
             }
             return false;
             break;
     }
 }
コード例 #2
0
ファイル: view.html.php プロジェクト: joshjim27/jobsglobal
 public function setSubmenus()
 {
     //CFactory::load( 'helpers' , 'group' );
     //CFactory::load( 'helpers' , 'owner' );
     $jinput = JFactory::getApplication()->input;
     $task = $userid = $jinput->get('task', '', 'WORD');
     //JRequest::getVar( 'task', '', 'GET' );
     $albumId = $userid = $jinput->get('albumid', 0, 'INT');
     //JRequest::getInt( 'albumid', 0 , 'REQUEST');
     $eventid = $userid = $jinput->get('eventid', 0, 'INT');
     //JRequest::getInt( 'eventid', '', 'REQUEST' );
     if (!empty($albumId)) {
         $album = JTable::getInstance('Album', 'CTable');
         $album->load($albumId);
         $eventid = $album->eventid;
     }
     $config = CFactory::getConfig();
     $event = JTable::getInstance('Event', 'CTable');
     $event->load($eventid);
     $my = CFactory::getUser();
     $albumId = $albumId != 0 ? $albumId : '';
     // Check if the current user is banned from this event
     $isBanned = false;
     $allowManagePhotos = CEventHelper::allowManagePhoto($this->eventid);
     if (($task == 'uploader' || $task == 'photo' || $task == 'album') && !empty($albumId)) {
         $this->view->addSubmenuItem('index.php?option=com_community&view=photos&eventid=' . $this->eventid . '&task=display&albumid=' . $albumId, JText::_('COM_COMMUNITY_PHOTOS_BACK_TO_ALBUM'));
     }
     if ($allowManagePhotos && $task != 'photo' && !$isBanned) {
         /* Event: Upload Photos */
         if ($task != 'newalbum' && $task != 'editAlbum') {
             //$this->view->addSubmenuItem('javascript:void(0);', JText::_('COM_COMMUNITY_PHOTOS_UPLOAD_PHOTOS'), 'joms.notifications.showUploadPhoto(\'' . $albumId . '\',' . $this->eventid . '); return false;', true, '', '');
         }
         if ($task == 'album' && ($my->id == $album->creator && $allowManagePhotos || $event->isAdmin($my->id) || COwnerHelper::isCommunityAdmin())) {
             if (!CAlbumsHelper::isFixedAlbum($album)) {
                 $this->view->addSubmenuItem('javascript:', JText::_('COM_COMMUNITY_PHOTOS_ALBUM_DELETE'), "joms.api.albumRemove('" . $album->id . "', '" . $task . "');", true);
                 $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=editAlbum&albumid=' . $album->id . '&eventid=' . $event->id . '&referrer=albumgrp', JText::_('COM_COMMUNITY_EDIT_ALBUM'), '', true);
             }
             //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=group', JText::_('COM_COMMUNITY_PHOTOS_ALL_EVENT_PHOTOS'), '' , false , '' , 'joms-right');
             //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=event', JText::_('COM_COMMUNITY_PHOTOS_ALL_EVENT_PHOTOS'), '' , false , '' , 'joms-right');
             //->view->addSubmenuItem('index.php?option=com_community&view=photos&task=display', JText::_('COM_COMMUNITY_PHOTOS_ALL_PHOTOS'), '' , false , '' , 'joms-right');
             if ($my->id != 0) {
                 //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=myphotos&userid=' . $my->id, JText::_('COM_COMMUNITY_PHOTOS_MY_PHOTOS'), '' , false , '' , 'joms-right');
             }
         }
         //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $this->eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true, '', '');
     }
     if ($task == 'photo') {
         if ($album->hasAccess($my->id, 'deletephotos')) {
             $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_DELETE'), "joms_delete_photo();", true);
         }
         if ($my->id == $album->creator) {
             $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_SET_AVATAR'), "joms_set_as_profile_picture();", true);
         }
         if ($my->id == $album->creator && $allowManagePhotos || $event->isAdmin($my->id) || COwnerHelper::isCommunityAdmin()) {
             $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_SET_AS_ALBUM_COVER'), "joms_set_as_album_cover();", true);
         }
         if (!$config->get('deleteoriginalphotos')) {
             $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_DOWNLOAD_IMAGE'), "joms_download_photo();", true);
         }
         if ($eventid != '' && $task == 'myphotos') {
             $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true);
         } elseif ($task == 'myphotos') {
             $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&userid=' . $my->id, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true);
         }
     }
     if ($task == "display" && $task == 'myphotos') {
         $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true);
     }
     //$this->view->addSubmenuItem('index.php?option=com_community&view=groups&task=viewgroup&eventid=' . $this->eventid, JText::_('COM_COMMUNITY_EVENTS_BACK_TO_EVENT'));
 }
コード例 #3
0
ファイル: photos.php プロジェクト: joshjim27/jobsglobal
 public function isAllowedAlbumCreation()
 {
     $allowManagePhotos = CEventHelper::allowManagePhoto($this->eventid);
     return $allowManagePhotos;
 }