示例#1
0
文件: filters.php 项目: fg-ok/codev
 protected function display()
 {
     if (Tools::isConnectedUser()) {
         $user = UserCache::getInstance()->getUser($_SESSION['userid']);
         $teamList = $user->getTeamList();
         if (0 != count($teamList)) {
             // ---- select project
             // define the list of tasks the user can display
             // All projects from teams where I'm a Developper or Manager AND Observers
             $dTeamList = $user->getDevTeamList();
             $devProjList = 0 == count($dTeamList) ? array() : $user->getProjectList($dTeamList);
             $managedTeamList = $user->getManagedTeamList();
             $managedProjList = 0 == count($managedTeamList) ? array() : $user->getProjectList($managedTeamList);
             $oTeamList = $user->getObservedTeamList();
             $observedProjList = 0 == count($oTeamList) ? array() : $user->getProjectList($oTeamList);
             $projList = $devProjList + $managedProjList + $observedProjList;
             if (isset($_GET['projectid'])) {
                 $projectid = Tools::getSecureGETIntValue('projectid');
                 $_SESSION['projectid'] = $projectid;
             } else {
                 if (isset($_SESSION['projectid'])) {
                     $projectid = $_SESSION['projectid'];
                 } else {
                     $projectsid = array_keys($projList);
                     $projectid = $projectsid[0];
                 }
             }
             // get selected filters
             if (isset($_GET['selectedFilters']) && NULL != $_GET['selectedFilters']) {
                 $selectedFilters = Tools::getSecureGETStringValue('selectedFilters');
                 #echo "last = ".$selectedFilters[strlen($selectedFilters)-1];
                 if (',' == $selectedFilters[strlen($selectedFilters) - 1]) {
                     $selectedFilters = substr($selectedFilters, 0, -1);
                     // last char is a ','
                 }
                 $filterList = explode(',', $selectedFilters);
             } else {
                 $selectedFilters = "";
                 $filterList = array();
             }
             $this->smartyHelper->assign('projects', SmartyTools::getSmartyArray($projList, $projectid));
             $project = ProjectCache::getInstance()->getProject($projectid);
             // ----
             $availFilterList = array("ProjectVersionFilter" => "Project Version", "ProjectCategoryFilter" => "Project Category", "IssueExtIdFilter" => "Issue External ID", "IssuePublicPrivateFilter" => "Issue Public / Private", "IssueTagFilter" => "Issue Tags");
             $selectedFilterList = array();
             foreach ($filterList as $id) {
                 $selectedFilterList[$id] = $availFilterList[$id];
                 unset($availFilterList[$id]);
             }
             // do the work ...
             $projectIssueSel = $project->getIssueSelection();
             $filterMgr = new FilterManager($projectIssueSel, $filterList);
             $resultList = $filterMgr->execute();
             $issueSelList = $filterMgr->explodeResults($resultList);
             $smatyObj = $this->getDetailedMgr($issueSelList, $filterList);
             $totalLine = array_shift($smatyObj);
             // first line is rootElem (TOTAL)
             $titleLine = array_pop($smatyObj);
             // last line is the table titles
             $this->smartyHelper->assign('availFilterList', $availFilterList);
             $this->smartyHelper->assign('selectedFilterList', $selectedFilterList);
             $this->smartyHelper->assign('selectedFilters', $selectedFilters);
             $this->smartyHelper->assign('nbFilters', count($filterList));
             $this->smartyHelper->assign('filterResultsTitles', $titleLine);
             $this->smartyHelper->assign('filterResults', $smatyObj);
             $this->smartyHelper->assign('filterResultsTotal', $totalLine);
         }
     }
 }
 /**
  *
  *
  * @param IssueSelection $inputIssueSel
  * @param array $params
  */
 public function execute(IssueSelection $inputIssueSel, array $params = NULL)
 {
     $this->checkParams($inputIssueSel, $params);
     $this->inputIssueSel = $inputIssueSel;
     // do the work ...
     $filterMgr = new FilterManager($inputIssueSel, $this->filterList);
     $resultList = $filterMgr->execute();
     $this->execData = $filterMgr->explodeResults($resultList);
 }
示例#3
0
文件: index.php 项目: xpchg/iBarn
        }
    }
    $space = User::getUserSpace();
    $userInfo = User::getUserInfo();
    $all = LIMIT + (int) $userInfo['capacity'];
    $space['percent'] = $space['space'] / ($all * 1024 * 1024) * 100;
    $space['all'] = round($all / 1024, 2);
    define('SPACE', json_encode($space));
}
define('UID_DIR', $uidDir);
define('UP_DIR', ROOT_PATH . 'files' . DS . $uidDir);
define('DATA_DIR', ROOT_PATH . DIR . DS . $uidDir);
$actionFile = ACTION_PATH . $m . '.class.php';
if (!file_exists($actionFile)) {
    echo Response::json(FAIL, array('no file'));
    exit;
}
require_once $actionFile;
if (!class_exists($m)) {
    echo Response::json(FAIL, array('no class'));
    exit;
}
$act = new $m();
if (!method_exists($act, $a)) {
    echo Response::json(FAIL, array('no method'));
    exit;
}
FilterManager::execute($m, $a);
$act->{$a}();
Log::getInstance('apistat')->write(array('api' => 'm=' . $m . '&a=' . $a, 'runTime' => round(microtime(true) - $stime, 5)), 'file');
session_write_close();