public function run() { $msg = ""; $to = 1; $user = new User(); if (isset($_REQUEST['str'])) { $email = mysql_real_escape_string(base64_decode($_REQUEST['str'])); $confirm_string = substr($_REQUEST['cs'], 0, 10); // verify the email belongs to a user if ($user->findUserByUsername($email) && substr($user->getConfirm_string(), 0, 10) == $confirm_string) { $sql = "\n UPDATE " . USERS . "\n SET\n confirm_string = '',\n confirm = 1,\n is_active = 1\n WHERE username = '******'"; mysql_query($sql); // send welcome email Utils::sendTemplateEmail($user->getUsername(), 'welcome', array('nickname' => $user->getNickname()), 'Worklist <*****@*****.**>'); User::login($user, false); //Optionally can login with confirm URL $jumbotron = "\n <h2>Welcome to Worklist!</h2>\n <p>\n Click on a job and add your bid, or come join us in our \n <a href='https://gitter.im/highfidelity/worklist' target='_blank'>public chat room</a>.\n Questions? Check out the <a href='./help'>help tab</a>.\n </p>"; } else { Utils::redirect('./'); } } elseif (isset($_REQUEST['ppstr'])) { // paypal address confirmation $paypal_email = mysql_real_escape_string(base64_decode($_REQUEST['ppstr'])); $hash = mysql_real_escape_string($_REQUEST['pp']); // verify the email belongs to a user if (!$user->findUserByPPUsername($paypal_email, $hash)) { // hacking attempt, or some other error Utils::redirect('./'); } else { $user->setPaypal_verified(true); $user->setPaypal_hash(''); $user->save(); $jumbotron = "\n <h2>Thank you for confirming your Paypal address.</h2>\n <p>You can now bid on items in the Worklist!</p>"; } } elseif (isset($_REQUEST['emstr'])) { // new email address confirmation $new_email = mysql_real_escape_string(base64_decode($_REQUEST['emstr'])); if (!$user->findUserByUsername($_SESSION['username'])) { Utils::redirect('login'); //we are not logged in } //save new email $user->setUsername($new_email); $user->save(); $_SESSION['username'] = $new_email; $jumbotron = "<h2>Thank you for confirming your changed email address.</h2>"; } $jobs = new JobController(); $jobs->view->jumbotron = $jumbotron; $jobs->listView(); }
protected function init() { parent::init(); if (file_exists($this->_cursorFile)) { $this->_startId = intval(file_get_contents($this->_cursorFile)); } }
protected function init() { parent::init(); $this->_brokerId = $this->getOption('broker', 0); $logSuffix = date('Ymd'); $this->_comboSpreadHouseNotInSolr = sprintf('/data1/logs/Monitor_JpHouseSpreadState-comboSpreadHouseNotInSolr-%d.log', $logSuffix); $this->_houseInSolrNotSpread = sprintf('/data1/logs/Monitor_JpHouseSpreadState-houseInSolrNotSpread-%d.log', $logSuffix); }
public function job($job) { $jobParts = explode('-', $job); $job = DB::select("EXEC spJobByID_Select @JobID = {$jobParts['0']}")[0]; $latest = JobController::getLatestJobs(); $latest = array_slice($latest, 0, 3); return View::make('job')->withJob($job)->withRecommended(self::getRecommendedJobs())->withLatest($latest); }
public function homepage() { $output = array(); $output['messages'] = Content::where('type', 'homepage')->get(); $output['testimonial'] = Content::where('type', 'testimonial')->where('candidate_facing', 1)->get()->random(1); $output['latest'] = JobController::getLatestJobs(); if (Session::has('candidate')) { $output['candidate'] = Session::get('candidate'); } return View::make('homepage.main', $output); }
protected function init() { parent::init(); $this->_brokerId = intval($this->getOption('broker', 0)); if ($this->_brokerId == 0) { echo 'Usage: launcher.php Repair_PersonalGalleryV2ByBrokerId --broker=... [--debug=[1|0]] [--release=...]'; exit; } $this->_debug = (bool) $this->getOption('debug', true); $this->_pidFile = sprintf('/data1/logs/Repair_PersonalGalleryV2ByBrokerId-%d.id', $this->_brokerId); }
/** * Candidate FrontPage Route **/ public function candidatesFrontPage() { if (is_null(Session::get('candidate'))) { return Redirect::to('become-a-candidate')->with('info', 'Please login / register to view this page'); } $output = array(); $output['latest'] = JobController::getLatestJobs(); $candidate = Candidate::find(Session::get('candidate')->id); $testimonial = Content::where('type', 'testimonial')->where('client_facing', 1)->get()->random(1); return View::make('candidate.profile', $output)->with(compact('candidate'))->with(compact('testimonial')); }
protected function init() { parent::init(); $options = $this->getOptions(); if (isset($options['broker'])) { $this->_brokerId = intval($options['broker']); } if (isset($options['site'])) { if (in_array($options['site'], array('ajk', 'hz', 'jp'))) { $this->_siteType = $options['site']; } } $this->_noComboBrokerLogFile = sprintf('/data1/logs/Monitor_CheckBrokerHasCombo_NoComboBrokerLogFile-%d-%s.log', date('Ymd'), $this->_siteType); }
protected function init() { parent::init(); $city = $this->getOption('city', 11); if (!is_numeric($city)) { $this->logMsg('Usage: launcher.php House_UpDown_RepairSpreadOwner --city=[:number:] [--release=...] '); exit; } $this->_cityId = intval($city); $this->_doneFile = sprintf('/data1/logs/House_UpDown_RepairSpreadOwner-%d.done', $city); $this->_cursorFile = sprintf('/data1/logs/House_UpDown_RepairSpreadOwner-%d.cursor', $city); $this->_houseFile = sprintf('/data1/logs/House_UpDown_RepairSpreadOwner-%d.houseId', $city); $this->_startId = intval(file_get_contents($this->_cursorFile)); }
protected function init() { parent::init(); $cityId = $this->getOption('city', 0); if (empty($cityId) || !is_numeric($cityId)) { $this->logMsg('Usage: launcher.php Combo_JpStopFixPlan --city=... [--release=...] '); exit; } $this->_cursorFile = sprintf('/data1/logs/Combo_JpStopFixPlan-%d.cursor', $cityId); $this->_doneFile = sprintf('/data1/logs/Combo_JpStopFixPlan-%d.done', $cityId); $this->_cityId = $cityId; if (file_exists($this->_cursorFile)) { $this->_startId = intval(file_get_contents($this->_cursorFile)); } }
protected function init() { parent::init(); $this->tableSplitSuffix = date('m'); if (!file_exists($this->cursorFile) || !is_readable($this->cursorFile)) { return; } $sCursorInfo = file_get_contents($this->cursorFile); if (empty($sCursorInfo)) { return; } $cursorInfo = explode('|', $sCursorInfo); if (count($cursorInfo) != 2) { return; } list($this->tableSplitSuffix, $this->queueId) = $cursorInfo; }
protected function init() { parent::init(); $cityId = intval($this->getOption('city', 0)); $site = $this->getOption('site', 'ajk'); if ($cityId == 0 || !in_array($site, array('ajk', 'hz', 'jp'))) { $this->logMsg('Usage: launcher.php Combo_MovePPCFixPlanRelation --city=... --site=[ajk | hz | jp] [--release=...] '); exit; } $this->_cityId = $cityId; $this->_dealSite = $site; $this->_doneFile = sprintf('/data1/logs/Combo_MovePPCFixPlanRelation-%s-%d.done', $site, $cityId); $this->_cursorFile = sprintf('/data1/logs/Combo_MovePPCFixPlanRelation-%s-%d.cursor', $site, $cityId); if (file_exists($this->_cursorFile)) { $this->_startId = intval(file_get_contents($this->_cursorFile)); } }
protected function init() { parent::init(); $calculateDate = intval($this->getOption('date', 19700101)); if ($calculateDate == 19700101) { $lastCalculateDate = Model_Config_huTablesUploadStatus::getTableLastCalculateDate('ajk_broker_choice_consume'); if (empty($lastCalculateDate)) { $this->logMsg('没有获取到BI的统计上传日期'); file_put_contents($this->_doneFile, 'YES'); exit; } $calculateDate = intval(date('Ymd', strtotime($lastCalculateDate['calDt']))); } $this->_calculateDate = $calculateDate; if (file_exists($this->_cursorFile)) { $this->_startId = intval(file_get_contents($this->_cursorFile)); } }
protected function init() { parent::init(); if (!file_exists($this->_cursorFile)) { if (false === file_put_contents($this->_cursorFile, 0)) { $this->logMsg(sprintf('写入游标失败。请检查目录的权限。游标文件:%s', $this->_cursorFile)); exit; } return; } if (!is_readable($this->_cursorFile)) { $this->logMsg(sprintf('游标文件:%s 不可读,请检查文件权限。', $this->_cursorFile)); exit; } if (!is_writable($this->_cursorFile)) { $this->logMsg(sprintf('游标文件:%s 不可写,请检查文件权限。', $this->_cursorFile)); exit; } $this->_startId = intval(file_get_contents($this->_cursorFile)); }
/** * phpjobseeker * * Copyright (C) 2009, 2015 Kevin Benton - kbenton at bentonfam dot org * * 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; either version 2 of the License, or * (at your option) any later version. * * 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; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ require_once 'Libs/autoload.php'; $config = new Config(); $page = new PJSWebPage($config->getTitle() . " - Jobs"); $body = "<h2>Jobs</h2>\n"; $controller = new JobController('read'); $modelList = $controller->getAll(); $modelListView = new JobListView('html', $modelList); $body .= $modelListView->getView(); $page->setBody($body); $page->displayPage();
public static function view(array $restOfRoute) { JobController::requireLogin(); $applicationId = self::getIdFromRoute($restOfRoute); if (is_null($applicationId)) { return; } $application = ApplicationStudent::getById($applicationId); if (is_null($application)) { self::error("nonexistent application"); self::render('notice'); return; } // Only the student who submitted the application and the recruiter // associated with the job can view the application. $myId = $_SESSION['_id']; $jobId = $application->getJobId(); $studentId = $application->getStudentId(); $recruiterId = JobModel::getRecruiterId($jobId); $isRecruiter = $recruiterId == $myId; $isStudent = $studentId == $myId; if (!$isStudent && !$isRecruiter) { self::error("permission denied"); self::render('notice'); return; } // Retrieve data for student. $student = StudentModel::getById($studentId, ['name' => 1]); $studentName = $student['name']; // Retrieve data on the job. $job = JobModel::getById($jobId); $title = $job['title']; $companyId = $job['company']; $company = CompanyModel::getById($companyId); // Set data from application. $profile = $application->getProfile(); $questions = $application->getQuestions(); // Add 'text' to questions to show. $responses = []; foreach ($questions as $question) { $_id = $question['_id']; $responses[] = ['_id' => $_id, 'text' => Question::getTextById($_id), 'answer' => $question['answer']]; } self::render('jobs/applications/view', ['responses' => toJSON($responses), 'studentname' => $studentName, 'jobtitle' => $title, 'companytitle' => $company['name'], 'isStudent' => $isStudent, 'isRecruiter' => $isRecruiter, 'studentId' => $studentId, 'recruiterId' => $recruiterId]); self::render('jobs/student/studentprofile', ['profile' => toJSON($profile)]); self::render('jobs/applications/report', ['applicationId' => $applicationId, 'isStudent' => $isStudent, 'isRecruiter' => $isRecruiter]); }
define("MINIMUM_CRON_GRANULARITY", 60); define("DEFAULT_CONFIG_DIR", "conf/"); define("DEFAULT_CONFIG_FILE", "default.conf"); define("DEFAULT_PRINT_FORMAT", "text/plaintext"); require_once 'config.php'; // require __DIR__ . '/vendor/autoload.php'; require_once '/home/bshensky/vendor/autoload.php'; require_once 'includes/SpawnTranscoder.php'; require_once 'includes/JobFlusher.php'; require_once 'includes/JobController.php'; $q = isset($_REQUEST['q']) && !empty($_REQUEST['q']) ? $_REQUEST['q'] : 'spawn'; // the following seems to work with the mod_action handler for existing m3u8 files. If the .htaccess file is rearchitected, this will need servicing too. if (isset($_SERVER['PATH_TRANSLATED']) && !empty($_SERVER['PATH_TRANSLATED']) && file_exists($_SERVER['PATH_TRANSLATED'])) { $q = 'ping'; } $j = new JobController($config['memcached']); switch ($q) { case 'expire': case 'retire': // retire expire encoders - best to cron this as often as you are comfortable $threshold = isset($_REQUEST['threshold']) && !empty($_REQUEST['threshold']) ? $_REQUEST['threshold'] : MINIMUM_CRON_GRANULARITY; $jobs_killed = $j->expire_old_jobs_per_threshold($threshold); if (!empty($jobs_killed)) { echo "killed: " . implode(',', $jobs_killed); } break; case 'clean': case 'clear': // put down all encoders - start from ground zero $j->flush_all_jobs(); break;
public function login($redir = './') { $tokenURL = GITHUB_TOKEN_URL; $apiURLBase = GITHUB_API_URL; // When Github redirects the user back here, there will be a "code" and "state" parameter in the query string if (isset($_GET['code']) && $_GET['code']) { // Verify the state matches our stored state if (isset($_GET['state']) && $_SESSION['github_auth_state'] == $_GET['state']) { // Exchange the auth code for a token $response = $this->apiRequest($tokenURL, array('client_id' => GITHUB_OAUTH2_CLIENT_ID, 'client_secret' => GITHUB_OAUTH2_CLIENT_SECRET, 'redirect_uri' => WORKLIST_URL . 'github/login/' . $redir, 'state' => $_SESSION['github_auth_state'], 'code' => $_GET['code'])); if (isset($response->access_token) && $response->access_token) { $this->access_token = $access_token = $response->access_token; $gh_user = $this->apiRequest($apiURLBase . 'user'); if (!$gh_user) { // maybe a wrong access token Utils::redirect('./'); } $userId = Session::uid(); $user = new User($userId); $testUser = new User(); if ($user->getId()) { // user is already logged in in worklist, let's just check if credentials are // already stored and save them in case they're not if (!$testUser->findUserByAuthToken($access_token)) { // credentials not stored in db and not used by any other user $user->storeCredentials($access_token); } else { // credentials found, let's just sync account with GH data $this->sync($user, $gh_user); } Utils::redirect($redir); } else { // user not logged in in worklist, let's check whether he already has a // github-linked account in worklist if ($user->findUserByAuthToken($access_token)) { // already linked account, let's log him in if ($user->isActive()) { $this->sync($user, $gh_user); User::login($user, $redir); } else { // users that didn't confirmed their email addresses $jobs = new JobController(); $jobs->view->jumbotron = "<h2>E-mail confirmation required!</h2>\n <p>\n Please check your inbox and follow your e-mail confirmation message\n from Worklist. Then try to login again.\n </p>\n "; $jobs->listView(); return; } return; } else { // unknown token, taking to the signup page $this->view = new AuthView(); $this->write('access_token', $access_token); $this->write('default_username', isset($gh_user->email) ? $gh_user->email : ''); $this->write('default_location', isset($gh_user->location) ? $gh_user->location : ''); $this->view->redir_url = $redir; parent::run(); return; } } return; } else { // probably a refresh on the Auth view, which generated an error // because of the expired verification code, let's save an error just in case error_log(print_r($response, true)); } } } // let's generate the session state value an try to authorize self::generateStateAndLogin($redir); }
* 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; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ require_once "Libs/autoload.php"; $config = new Config(); $webPage = new PJSWebPage($config->getTitle() . ' - Delete Job'); $act = Tools::Param('act'); if ("Delete Job" === $act) { $jobModel = new JobModel(); $jobModel->populateFromForm(); if (!$jobModel->validateForDelete()) { $jobView = new JobFormView('Delete Job', $jobModel); $body = "<h2>Invalid data</h2>\n" . $jobView->getForm(); } else { $jobController = new JobController(); $jobController->delete($jobModel); $body = "Deleted job # " . $jobModel->getId() . "<br />\n"; } } else { $jobController = new JobController(); $jobModel = $jobController->get(Tools::param('id')); $jobView = new JobFormView('Delete Job', $jobModel); $body = $jobView->getForm(); } $webPage->setBody($body); $webPage->displayPage();
* * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * */ require_once "Libs/autoload.php"; $config = new Config(); $webPage = new PJSWebPage($config->getTitle() . "Jobs - Add Job"); $body = ''; $act = Tools::Param('act'); if ("Add Job" === $act) { $model = new JobModel(); $model->populateFromForm(); if (!$model->validateForAdd()) { $view = new JobFormView('Add Job', $model); $body = "<h2>Invalid data</h2>\n" . $view->getForm(); } else { $jobController = new JobController(); $newId = $jobController->add($model); if ($newId > 0) { $body = "Added job # " . $newId . "<br />\n"; } } } else { $body = ""; $view = new JobFormView("Add Job", null); $body = $view->getForm(); } $webPage->setBody($body); $webPage->displayPage();
public function __construct() { $this->logFile = sprintf('/data1/logs/Plan_HzInitChoicePlanBasicNewField-%d.log', date('Ymd')); parent::__construct(); }
echo ApplicationControllerAJAX::deleteCustom(); }); Router::register('employers/searchcustom', function () { echo ApplicationControllerAJAX::searchCustom(); }); Router::register('employers/editapplication', function (array $restOfRoute) { Controller::displayMetatags('/employers'); ApplicationController::edit($restOfRoute); }); Router::register('employers/editcompany', function () { Controller::displayMetatags('/employers'); GLOBALvarGet('CCompany')->edit(); }); Router::register('employers/deletejob', function (array $restOfRoute) { Controller::displayMetatags('/employers'); JobController::delete($restOfRoute); }); Router::register('employers/editjob', function () { Controller::displayMetatags('/employers'); GLOBALvarGet('CJob')->edit(); }); Router::register('employers/editprofile', function () { Controller::displayMetatags('/employers'); GLOBALvarGet('CRecruiter')->edit(); }); Router::register('employers/forgotpass', function () { Controller::displayMetatags('/employers'); GLOBALvarGet('CRecruiter')->forgotPass(); }); Router::register('employers/home', function () { Controller::displayMetatags('/employers');