Esempio n. 1
0
 function displayProject($p, $showVolunteersAssigned = true)
 {
     global $global, $dao;
     $this->engine->assign('info', $this->model->info);
     $volunteers = $dao->getVolunteers($p->proj_id);
     $numVolunteers = $dao->getVolunteersInProject($p->proj_id);
     // get location hierarchy
     require_once $global['approot'] . 'inc/lib_location.inc';
     $parents = array();
     shn_get_parents($p->info['location_id'], $parents);
     $locations = array();
     if (!empty($parents)) {
         foreach ($parents as $loc_id) {
             if ($loc_id != 'NULL') {
                 $loc = $dao->getLocation($loc_id);
                 $locations[] = $loc['name'];
             }
         }
     }
     /*
      * The sorting here just for using in Taiwan.
      */
     krsort($locations);
     $locations = join("-->", $locations);
     $projectExpired = false;
     if ($p->info['end_date'] == '0000-00-00') {
         $endDate = '';
     } else {
         $endDate = $p->info['end_date'];
         if (strtotime($p->info['end_date'] . ' 23:59:59') < mktime()) {
             $projectExpired = true;
         }
     }
     $projectManager = $dao->getProjectManager($p->proj_id);
     $this->engine->assign('projectExpired', $projectExpired);
     $this->engine->assign('info', $p->info);
     $this->engine->assign('start_date', $p->info['start_date'] == '0000-00-00' ? '' : $p->info['start_date']);
     $this->engine->assign('end_date', $p->info['end_date'] == '0000-00-00' ? '' : $p->info['end_date']);
     $this->engine->assign('location', $locations);
     $this->engine->assign('skills', $dao->getVolSkillsTree($p->proj_id, true));
     $this->engine->assign('requiredVolunteers', $dao->getRequiredVolunteers($p->proj_id));
     $this->engine->assign('numVolunteers', $numVolunteers);
     $this->engine->assign('showVolunteersAssigned', $showVolunteersAssigned);
     $this->engine->assign('proj_id', $p->proj_id);
     $this->engine->assign('projectManager', $projectManager['full_name'] . '(' . (!empty($projectManager['option_description']) ? _($projectManager['option_description']) : '') . ':' . $projectManager['contact_value'] . ')');
     $this->engine->assign('position_title', $p->ptype_title);
     $this->engine->assign('positions', $p->positions);
     $ac = new AccessController();
     $this->engine->assign('edit_auth', $ac->isAuthorized(false, $ac->buildURLParams('project', 'display_edit', array('proj_id' => $p->proj_id))));
     $this->engine->assign('delete_auth', $ac->isAuthorized(false, $ac->buildURLParams('project', 'display_confirm_delete', array('proj_id' => $p->proj_id))));
     $this->engine->assign('add_pos_auth', $ac->isAuthorized(false, $ac->buildURLParams('project', 'add_position', array('proj_id' => $p->proj_id))));
     $this->engine->assign('delete_pos_auth', $ac->isAuthorized(false, $ac->buildURLParams('project', 'remove_position', array('proj_id' => $p->proj_id))));
     $this->engine->assign('assign_auth', $ac->isAuthorized(false, $ac->buildURLParams('project', 'display_assign', array('proj_id' => $p->proj_id))));
     $this->engine->display('project/display.tpl.php');
     if ($showVolunteersAssigned && $numVolunteers > 0) {
         $extra_opts = array('showPictures' => true, 'showLocation' => true, 'showRemove' => !$projectExpired, 'modifyProjId' => $p->proj_id, 'showPositions' => true, 'showHours' => true);
         $vView = new VolunteerView();
         $vView->listVolunteers($volunteers, $extra_opts);
         $this->showPagingNavigation("index.php?mod=vm&amp;act=project&amp;vm_action=display_single&amp;proj_id={$p->proj_id}");
     }
 }