public function getMenuBlockView(Student $student) { PHPWS_Core::initModClass('hms', 'RoommateProfile.php'); $profile = RoommateProfileFactory::getProfile($student->getBannerID(), $this->term); PHPWS_Core::initModClass('hms', 'StudentMenuProfileView.php'); return new StudentMenuProfileView($student, $this->getStartDate(), $this->getEndDate(), $this->term, $profile); }
public function execute(CommandContext $context) { PHPWS_Core::initModClass('hms', 'StudentFactory.php'); PHPWS_Core::initModClass('hms', 'RoommateProfile.php'); PHPWS_Core::initModClass('hms', 'RoommateProfileView.php'); $student = StudentFactory::getStudentByBannerID($context->get('banner_id'), $context->get('term')); $profile = RoommateProfileFactory::getProfile($context->get('banner_id'), $context->get('term')); $view = new RoommateProfileView($student, $profile); $context->setContent($view->show()); }
public function execute(CommandContext $context) { // TODO make sure the application feature is really enabled PHPWS_Core::initModClass('hms', 'RoommateProfile.php'); PHPWS_Core::initModClass('hms', 'RoommateProfileFormView.php'); PHPWS_Core::initModClass('hms', 'StudentFactory.php'); $term = $context->get('term'); $student = StudentFactory::getStudentByUsername(UserStatus::getUsername(), $term); $profile = RoommateProfileFactory::getProfile($student->getBannerID(), $term); $view = new RoommateProfileFormView($profile, $term); $context->setContent($view->show()); }
public function show() { require PHPWS_SOURCE_DIR . 'mod/hms/inc/profile_options.php'; $majors = hms\MajorFactory::getMajorsList(); $tpl = array(); $profile_form = new PHPWS_Form('profile_form'); $profile_form->useRowRepeat(); $none_given = '<span style="color:#CCC;">none given</span>'; /***** Contact Info *****/ $tpl['TITLE'] = $this->student->getName() . '\'s Profile'; $tpl['EMAIL_ADDRESS'] = "<a href=\"mailto:{$this->student->getUsername()}@appstate.edu\">{$this->student->getUsername()}@appstate.edu</a>"; $tpl['ALTERNATE_EMAIL_LABEL'] = 'Alternate email: '; $alt_email = $this->profile->get_text('alternate_email'); if (!empty($alt_email)) { $tpl['ALTERNATE_EMAIL'] = "<a href=\"mailto:{$alt_email}\">{$alt_email}</a>"; } else { $tpl['ALTERNATE_EMAIL'] = $none_given; } $tpl['FB_LINK_LABEL'] = 'Facebook link: '; $fb_link = $this->profile->get_text('fb_link'); if (!empty($fb_link)) { $tpl['FB_LINK'] = $fb_link; } else { $tpl['FB_LINK'] = $none_given; } $tpl['INSTAGRAM_SN_LABEL'] = 'Instagram username: '******'instagram_sn'); if (!empty($instagram_sn)) { $tpl['INSTAGRAM_SN'] = $instagram_sn; } else { $tpl['INSTAGRAM_SN'] = $none_given; } $tpl['TWITTER_SN_LABEL'] = 'Twitter username: '******'twitter_sn'); if (!empty($twitter_sn)) { $tpl['TWITTER_SN'] = $twitter_sn; } else { $tpl['TWITTER_SN'] = $none_given; } $tpl['TUMBLR_SN_LABEL'] = 'Tumblr username: '******'tumblr_sn'); if (!empty($tumblr_sn)) { $tpl['TUMBLR_SN'] = $tumblr_sn; } else { $tpl['TUMBLR_SN'] = $none_given; } $tpl['KIK_SN_LABEL'] = 'Kik username: '******'kik_sn'); if (!empty($kik_sn)) { $tpl['KIK_SN'] = $kik_sn; } else { $tpl['KIK_SN'] = $none_given; } $tpl['ABOUT_ME_LABEL'] = 'Additional information: '; $about_me = $this->profile->get_text('about_me'); if (!empty($about_me)) { $tpl['ABOUT_ME'] = $about_me; } else { $tpl['ABOUT_ME'] = $none_given; } /***** About Me *****/ $profile_form->addCheck('hobbies_checkbox', $hobbies); $profile_form->setLabel('hobbies_checkbox', $hobbies_labels); $profile_form->setDisabled('hobbies_checkbox'); $tpl['HOBBIES_CHECKBOX_QUESTION'] = 'My Hobbies and Interests: '; # set matches on hobby check boxes $hobbies_matches = RoommateProfileFactory::get_hobbies_matches($this->profile); $profile_form->setMatch('hobbies_checkbox', $hobbies_matches); $profile_form->addCheck('music_checkbox', $music); $profile_form->setLabel('music_checkbox', $music_labels); $profile_form->setDisabled('music_checkbox'); $tpl['MUSIC_CHECKBOX_QUESTION'] = 'My Music Preferences: '; # set matches on music check boxes $music_matches = RoommateProfileFactory::get_music_matches($this->profile); $profile_form->setMatch('music_checkbox', $music_matches); $profile_form->addCheck('language_checkbox', $language); $profile_form->setLabel('language_checkbox', $language_labels); $profile_form->setDisabled('language_checkbox'); $tpl['LANGUAGE_CHECKBOX_QUESTION'] = 'Languages I speak: '; # set matches on language check boxes $language_matches = RoommateProfileFactory::get_language_matches($this->profile); $profile_form->setMatch('language_checkbox', $language_matches); $tpl['POLITICAL_VIEWS_LABEL'] = 'Political views: '; $tpl['POLITICAL_VIEWS'] = $political_views[$this->profile->get_text('political_views')]; /***** College Life *****/ $tpl['MAJOR_LABEL'] = 'Intended major: '; $tpl['MAJOR'] = $majors[$this->profile->get_text('major')]; $tpl['EXPERIENCE_LABEL'] = 'I feel the most important part of my college experience is: '; $tpl['EXPERIENCE'] = $experiences[$this->profile->get_text('experience')]; /***** Daily Life *****/ $tpl['SLEEP_TIME_LABEL'] = 'I generally go to sleep: '; $tpl['SLEEP_TIME'] = $sleep_times[$this->profile->get_text('sleep_time')]; $tpl['WAKEUP_TIME_LABEL'] = 'I generally wake up: '; $tpl['WAKEUP_TIME'] = $wakeup_times[$this->profile->get_text('wakeup_time')]; $tpl['OVERNIGHT_GUESTS_LABEL'] = 'I plan on hosting overnight guests: '; $tpl['OVERNIGHT_GUESTS'] = $overnight_guests[$this->profile->get_text('overnight_guests')]; $tpl['LOUDNESS_LABEL'] = 'In my daily activities: '; $tpl['LOUDNESS'] = $loudness[$this->profile->get_text('loudness')]; $tpl['CLEANLINESS_LABEL'] = 'I would describe myself as: '; $tpl['CLEANLINESS'] = $cleanliness[$this->profile->get_text('cleanliness')]; $tpl['FREE_TIME_LABEL'] = 'If I have free time I would rather: '; $tpl['FREE_TIME'] = $free_time[$this->profile->get_text('free_time')]; $profile_form->addCheck('study_times', $study_times); $profile_form->setLabel('study_times', $study_times_labels); $profile_form->setDisabled('study_times'); $tpl['STUDY_TIMES_QUESTION'] = 'I prefer to study: '; # set matches on study times check boxes here, set disabled $study_matches = RoommateProfileFactory::get_study_matches($this->profile); $profile_form->setMatch('study_times', $study_matches); $profile_form->mergeTemplate($tpl); $tpl = $profile_form->getTemplate(); Layout::addPageTitle("Roommate Profile"); return PHPWS_Template::process($tpl, 'hms', 'student/profile_form.tpl'); }
public function show() { require_once PHPWS_SOURCE_DIR . 'mod/hms/inc/profile_options.php'; PHPWS_Core::initModClass('hms', 'RoommateProfile.php'); $template = array(); $template['TITLE'] = 'My Profile'; if (isset($this->profile) && !is_null($this->profile)) { $profile_exists = TRUE; } else { $profile_exists = FALSE; } $submitCmd = CommandFactory::getCommand('SubmitRoommateProfile'); $submitCmd->setTerm($this->term); $profile_form = new PHPWS_Form('profile_form'); $profile_form->useRowRepeat(); $submitCmd->initForm($profile_form); /***** About Me *****/ $profile_form->addCheck('hobbies_checkbox', $hobbies); $profile_form->setLabel('hobbies_checkbox', $hobbies_labels); //test($profile_form,1); $template['HOBBIES_CHECKBOX_QUESTION'] = 'My Hobbies and Interests (check all that apply):'; if ($profile_exists) { $profile_form->setMatch('hobbies_checkbox', RoommateProfileFactory::get_hobbies_matches($this->profile)); } $profile_form->addCheck('music_checkbox', $music); $profile_form->setLabel('music_checkbox', $music_labels); $template['MUSIC_CHECKBOX_QUESTION'] = 'My Music Preferences (check all that apply):'; if ($profile_exists) { $profile_form->setMatch('music_checkbox', RoommateProfileFactory::get_music_matches($this->profile)); } $profile_form->addCheck('language_checkbox', $language); $profile_form->setLabel('language_checkbox', $language_labels); $template['LANGUAGE_CHECKBOX_QUESTION'] = 'I can speak (check all that apply):'; if ($profile_exists) { $profile_form->setMatch('language_checkbox', RoommateProfileFactory::get_language_matches($this->profile)); } $profile_form->addDropBox('political_views', $political_views); $profile_form->setLabel('political_views', 'I consider myself: '); if ($profile_exists) { $profile_form->setMatch('political_views', $this->profile->get_text('political_views')); } $profile_form->addCssClass('political_views', 'form-control'); $profile_form->addText('alternate_email'); $profile_form->setLabel('alternate_email', 'Alternate email: '); if ($profile_exists) { $profile_form->setValue('alternate_email', $this->profile->get_text('alternate_email')); } $profile_form->addCssClass('alternate_email', 'form-control'); $profile_form->addText('fb_link'); $profile_form->setLabel('fb_link', 'Facebook link:'); if ($profile_exists) { $profile_form->setValue('fb_link', $this->profile->get_text('fb_link')); } $profile_form->addCssClass('fb_link', 'form-control'); $profile_form->addText('instagram_sn'); $profile_form->setLabel('instagram_sn', 'Instagram username: '******'instagram_sn', $this->profile->get_text('instagram_sn')); } $profile_form->addCssClass('instagram_sn', 'form-control'); $profile_form->addText('twitter_sn'); $profile_form->setLabel('twitter_sn', 'Twitter username:'******'twitter_sn', $this->profile->get_text('twitter_sn')); } $profile_form->addCssClass('twitter_sn', 'form-control'); $profile_form->addText('tumblr_sn'); $profile_form->setLabel('tumblr_sn', 'Tumblr username:'******'tumblr_sn', $this->profile->get_text('tumblr_sn')); } $profile_form->addCssClass('tumblr_sn', 'form-control'); $profile_form->addText('kik_sn'); $profile_form->setLabel('kik_sn', 'Kik username:'******'kik_sn', $this->profile->get_text('kik_sn')); } $profile_form->addCssClass('kik_sn', 'form-control'); $profile_form->addTextArea('about_me'); $profile_form->setLabel('about_me', 'Additional information: '); $profile_form->setCols('about_me', 50); $profile_form->setRows('about_me', 15); //$profile_form->setMaxSize('about_me',4096); if ($profile_exists) { $profile_form->setValue('about_me', $this->profile->get_text('about_me')); } $profile_form->addCssClass('about_me', 'form-control'); /***** College Life *****/ $profile_form->addDropBox('major', hms\MajorFactory::getMajorsList()); $profile_form->setLabel('major', 'My intended academic major: '); if ($profile_exists) { $profile_form->setMatch('major', $this->profile->get_text('major')); } $profile_form->addCssClass('major', 'form-control'); $profile_form->addDropBox('experience', $experiences); $profile_form->setLabel('experience', 'I feel the following is the most important part of my college experience: '); if ($profile_exists) { $profile_form->setMatch('experience', $this->profile->get_text('experience')); } $profile_form->addCssClass('experience', 'form-control'); /***** My Daily Life *****/ $profile_form->addDropBox('sleep_time', $sleep_times); $profile_form->setLabel('sleep_time', 'I generally go to sleep: '); if ($profile_exists) { $profile_form->setMatch('sleep_time', $this->profile->get_text('sleep_time')); } $profile_form->addCssClass('sleep_time', 'form-control'); $profile_form->addDropBox('wakeup_time', $wakeup_times); $profile_form->setLabel('wakeup_time', 'I generally wake up: '); if ($profile_exists) { $profile_form->setMatch('wakeup_time', $this->profile->get_text('wakeup_time')); } $profile_form->addCssClass('wakeup_time', 'form-control'); $profile_form->addDropBox('overnight_guests', $overnight_guests); $profile_form->setLabel('overnight_guests', 'I plan on hosting overnight guests: '); if ($profile_exists) { $profile_form->setMatch('overnight_guests', $this->profile->get_text('overnight_guests')); } $profile_form->addCssClass('overnight_guests', 'form-control'); $profile_form->addDropBox('loudness', $loudness); $profile_form->setLabel('loudness', 'In my daily activities (music, conversations, etc.): '); if ($profile_exists) { $profile_form->setMatch('loudness', $this->profile->get_text('loudness')); } $profile_form->addCssClass('loudness', 'form-control'); $profile_form->addDropBox('cleanliness', $cleanliness); $profile_form->setLabel('cleanliness', 'I would describe myself as: '); if ($profile_exists) { $profile_form->setMatch('cleanliness', $this->profile->get_text('cleanliness')); } $profile_form->addCssClass('cleanliness', 'form-control'); $profile_form->addCheck('study_times', $study_times); $profile_form->setLabel('study_times', $study_times_labels); $template['STUDY_TIMES_QUESTION'] = 'I prefer to study (check all that apply):'; if ($profile_exists) { $profile_form->setMatch('study_times', RoommateProfileFactory::get_study_matches($this->profile)); } $profile_form->addDropBox('free_time', $free_time); $profile_form->setLabel('free_time', 'If I have free time I would rather: '); if ($profile_exists) { $profile_form->setMatch('free_time', $this->profile->get_text('free_time')); } $profile_form->addCssClass('free_time', 'form-control'); // Dummy tag to show save button $template['SAVE_BTN'] = ''; //$profile_form->addSubmit('Save Profile'); $profile_form->mergeTemplate($template); $template = $profile_form->getTemplate(); Layout::addPageTitle("Roommate Profile Form"); javascript('jquery'); return PHPWS_Template::process($template, 'hms', 'student/profile_form.tpl'); }
public function execute(CommandContext $context) { PHPWS_Core::initModClass('hms', 'RoommateProfile.php'); $term = $context->get('term'); # Check to see if a student already has a profile on file. # If so, pass the profile's id to the Student_Profile constructor # so it will load the current profile, and then update it. # Otherwise, create a new profile. //use student object to get student by logged in username, then get banner id associated with username, then check for profile with that banner id $student = StudentFactory::getStudentByUsername(UserStatus::getUsername(), $term); $banner = $student->getBannerID(); $id = RoommateProfileFactory::checkForProfile($banner, $term); if ($id !== FALSE) { $profile = new RoommateProfile($id); } else { $profile = new RoommateProfile(); $profile->setUsername(UserStatus::getUsername()); $profile->setBannerID($banner); $profile->set_date_submitted(); $profile->setTerm($term); } # Alternate contact info $contact_array = array("alternate_email", "fb_link", "instagram_sn", "twitter_sn", "tumblr_sn", "kik_sn", "about_me"); $contactSize = count($contact_array); for ($x = 0; $x < $contactSize; $x++) { if (isset($_REQUEST[$contact_array[$x]]) && $_REQUEST[$contact_array[$x]] != '') { $profile->set_text($contact_array[$x], $_REQUEST[$contact_array[$x]]); } else { $profile->set_text($contact_array[$x], ''); } } # Hobbies check boxes $hobbies_array = array("arts_and_crafts", "books_and_reading", "cars", "church_activities", "collecting", "computers_and_technology", "dancing", "fashion", "fine_arts", "gardening", "games", "humor", "investing_personal_finance", "movies", "music", "outdoor_activities", "pets_and_animals", "photography", "politics", "sports", "travel", "tv_shows", "volunteering", "writing", "rotc"); $hobbiesSize = count($hobbies_array); for ($x = 0; $x < $hobbiesSize; $x++) { if (isset($_REQUEST['hobbies_checkbox'][$hobbies_array[$x]])) { $profile->set_checked($hobbies_array[$x]); } else { $profile->set_checked($hobbies_array[$x], 0); } } # Music check boxes $music_array = array("alternative", "ambient", "beach", "bluegrass", "blues", "christian", "classical", "classic_rock", "country", "electronic", "folk", "heavy_metal", "hip_hop", "house", "industrial", "jazz", "popular_music", "progressive", "punk", "r_and_b", "rap", "reggae", "rock", "world_music"); $musicSize = count($music_array); for ($x = 0; $x < $musicSize; $x++) { if (isset($_REQUEST['music_checkbox'][$music_array[$x]])) { $profile->set_checked($music_array[$x]); } else { $profile->set_checked($music_array[$x], 0); } } # Study times $study_array = array("study_early_morning", "study_morning_afternoon", "study_afternoon_evening", "study_evening", "study_late_night"); $studySize = count($study_array); for ($x = 0; $x < $studySize; $x++) { if (isset($_REQUEST['study_times'][$study_array[$x]])) { $profile->set_checked($study_array[$x]); } else { $profile->set_checked($study_array[$x], 0); } } # Drop downs $drop_down_array = array("political_views", "major", "experience", "sleep_time", "wakeup_time", "overnight_guests", "loudness", "cleanliness", "free_time"); $politicalSize = count($drop_down_array); for ($x = 0; $x < $politicalSize; $x++) { if (isset($_REQUEST[$drop_down_array[$x]]) && $_REQUEST[$drop_down_array[$x]] != '') { $profile->set_text($drop_down_array[$x], $_REQUEST[$drop_down_array[$x]]); } else { $profile->set_text($drop_down_array[$x], ''); } } # Spoken Languages $lang_array = array("arabic", "bengali", "chinese", "english", "french", "german", "hindi", "italian", "japanese", "javanese", "korean", "malay", "marathi", "portuguese", "punjabi", "russian", "tamil", "telugu", "vietnamese"); $langSize = count($lang_array); for ($x = 0; $x < $langSize; $x++) { if (isset($_REQUEST['language_checkbox'][$lang_array[$x]])) { $profile->set_checked($lang_array[$x]); } else { $profile->set_checked($lang_array[$x], 0); } } $profile->save(); NQ::simple('hms', hms\NotificationView::SUCCESS, 'Your roommate profile was successfully created/updated.'); $successCmd = CommandFactory::getCommand('ShowStudentMenu'); $successCmd->redirect(); }