function __construct()
 {
     global $configs;
     $this->baseUrl = $configs["COLLAP_BASE_URL"];
     $this->jobsBaseUrl = $configs["JOBS_COLLAP_BASE_URL"];
     $this->url = rtrim($this->baseUrl, "/") . $_SERVER[REQUEST_URI];
     global $logger;
     $this->logger = $logger;
     $this->logger->debug("BaseController started");
     if (isset($_SESSION["user_id"])) {
         $this->userId = $_SESSION["user_id"];
         $this->username = $_SESSION["username"];
         $this->firstName = $_SESSION['first_name'];
         $this->lastName = $_SESSION['last_name'];
     }
     $DAOFactory = new DAOFactory();
     $this->challengesDAO = $DAOFactory->getChallengesDAO();
     $this->projectsDAO = $DAOFactory->getProjectsDAO();
     $this->userInfoDAO = $DAOFactory->getUserInfoDAO();
     $this->userSkillDAO = $DAOFactory->getSkillsDAO();
     $this->challengeResponsesDAO = $DAOFactory->getChallengeResponsesDAO();
     $this->projectResponsesDAO = $DAOFactory->getProjectResponsesDAO();
     $this->teamsDAO = $DAOFactory->getTeamsDAO();
     $this->notificationsDAO = $DAOFactory->getNotificationsDAO();
     $this->userEducationDAO = $DAOFactory->getEducationDAO();
     $this->userTechStrengthDAO = $DAOFactory->getTechnicalStrengthDAO();
     $this->userWorkHistoryDAO = $DAOFactory->getWorkingHistoryDAO();
     $this->userJobPreferenceDAO = $DAOFactory->getJobPreferenceDAO();
     $this->userSkillsInsertDAO = $DAOFactory->getUserSkillsDAO();
     $this->jobLocationsDAO = $DAOFactory->getWorkingLocationsDAO();
     $this->userPreferredLocationsDAO = $DAOFactory->getUserLocationsDAO();
     $this->involveInDAO = $DAOFactory->getInvolveInDAO();
     $this->userSocialLinksDAO = $DAOFactory->getUserSocialLinksDAO();
     $this->collaborativeRoleDAO = $DAOFactory->getUserCollaborativeRoleDAO();
     $this->userPushFormsDAO = $DAOFactory->getFormsDAO();
     $this->userPushFormsInsertDAO = $DAOFactory->getUserFormsDAO();
     $this->userAccessAidDAO = $DAOFactory->getUserAccessAidDAO();
     $this->process();
 }
 public function __construct()
 {
     $DAOFactory = new DAOFactory();
     $this->collapDAO = $DAOFactory->getProjectResponsesDAO();
 }
 public function getUserPublicProjects($userId, $start, $limit)
 {
     $sql = "(SELECT DISTINCT project.id, project.project_title as title, project.stmt as statement, project.type, project.creation_time,  project.status, \r\n\t\t\t\t\tuser.first_name, user.last_name, user.username \r\n\t\t\t\t\tFROM projects as project JOIN user_info as user JOIN teams as team \r\n\t\t\t\t\tWHERE (project.user_id = ? OR team.user_id = ?) \r\n\t\t\t\t\t\tAND project.user_id = user.id \r\n\t\t\t\t\t\tAND project.type = 'Public' \r\n\t\t\t\t\t\tAND team.member_status = 1\r\n\t\t\t\t\t\tAND project.blob_id = 0)\r\n\t\t\t\tUNION\r\n\t\t\t\t(SELECT DISTINCT project.id, project.project_title as title, project.stmt as statement, project.type, project.creation_time,  project.status, user.first_name, user.last_name, user.username \r\n\t\t\t\t\tFROM projects as project JOIN user_info as user JOIN teams as team JOIN blobs as `blob` \r\n\t\t\t\t\tWHERE (project.user_id = ? OR team.user_id = ?) \r\n\t\t\t\t\t\tAND project.user_id = user.id \r\n\t\t\t\t\t\tAND project.type = 'Public' AND team.member_status = 1\r\n\t\t\t\t\t\tAND project.blob_id = blob.id)\r\n\t\t\t\t\tORDER BY creation_time DESC ";
     if (isset($start) && isset($limit)) {
         $sql .= " LIMIT {$start},{$limit} ;";
     } else {
         $sql .= " ;";
     }
     $sqlQuery = new SqlQuery($sql);
     $sqlQuery->setNumber($userId);
     $sqlQuery->setNumber($userId);
     $sqlQuery->setNumber($userId);
     $sqlQuery->setNumber($userId);
     return $this->getListProjects($sqlQuery);
     $projects = $this->getListProjects($sqlQuery);
     $DAOFactory = new DAOFactory();
     $projectResponsesDAO = $DAOFactory->getProjectResponsesDAO();
     foreach ($projects as $project) {
         if ($project) {
             $project->setResponses($projectResponsesDAO->queryAllResponse($project->getId()));
         }
     }
     return $projects;
 }