Location: PHPKode > projects > iF.SVNAdmin > svnadmin/accesspathslist.php
<?php
/**
 * iF.SVNAdmin
 * Copyright (c) 2010 by Manuel Freiholz
 * http://www.insanefactory.com/
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; version 2
 * of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.
 */
include("include/config.inc.php");
$appEngine->forwardInvalidModule(!$appEngine->isAccessPathViewActive());
$appEngine->checkUserAuthentication(true, ACL_MOD_ACCESSPATH, ACL_ACTION_VIEW);
$appTR->loadModule("accesspathslist");

// Form 'delete' request.
if(get_request_var("delete"))
  $appEngine->handleAction("delete_accesspath");
else if(check_request_var("assign_projectmanager"))
  $appEngine->handleAction("assign_projectmanager");

// All access-paths.
$list = $appEngine->getAccessPathViewProvider()->getPaths();

// Filter access-paths for project-managers.
if ($appEngine->isAuthenticationActive())
{
  $currentUsername = $appEngine->getSessionUsername();
  if ($appEngine->getAclManager()->isUserAccessPathManager($currentUsername))
    $list = $appEngine->getAclManager()->filterAccessPathsList($currentUsername, $list);

  // Load list of users to assign them as project managers to paths.
  if ($appEngine->isUserViewActive() && $appEngine->checkUserAuthentication(false, ACL_MOD_PROJECTMANAGER, ACL_ACTION_ASSIGN))
  {
    $users = $appEngine->getUserViewProvider()->getUsers(false);
    usort($users, array("\svnadmin\core\entities\User", "compare"));
    $appTemplate->addReplacement("users", $users);
    $appTemplate->addDefine("SHOW_ASSIGNABLE_USERS");
  }
  
  // Get the project managers of each path.
  $listCount = count($list);
  for ($i=0; $i<$listCount; $i++)
  {
  	$users = $appEngine->getAclManager()->getUsersOfAccessPath($list[$i]->path);
  	$list[$i]->managers = $users;
  }
}

// Sort list.
usort($list, array("\svnadmin\core\entities\AccessPath", "compare"));

// Load the group list template file and add the array of users.
$appTemplate->loadFromFile( new \IF_File("templates/accesspathslist.html") );
$appTemplate->addReplacement("paths", $list);
$appTemplate->processTemplate();
?>
Return current item: iF.SVNAdmin