public static function delete(array $restOfRoute) { RecruiterController::requireLogin(); $jobId = self::getIdFromRoute($restOfRoute); if (is_null($jobId)) { return; } // Make sure job exists. // Make sure recruiter has permission to edit the job. if (!self::checkJobExists($jobId)) { return; } if (!self::ownsJob($jobId)) { return; } // Delete all applications with jobid. ApplicationModel::deleteByJob($jobId); // Delete from questions' uses this jobid. $application = ApplicationJob::get($jobId); $questions = []; if (!is_null($application)) { $questions = $application->getQuestions(); } foreach ($questions as $questionId) { QuestionModel::removeFromUses($questionId, $jobId); } // Delete this job. JobModel::deleteById($jobId); // Redirect back to home. self::redirect('../home'); }
<?php // Move jobs past deadline to jobsold. function pastDeadline($dateText) { return strtotime($dateText) < time(); } class JobOldModel extends Model { const DB_TYPE = parent::DB_INTERNSHIPS; public function __construct() { parent::__construct(self::DB_TYPE, 'jobsold'); } public static function save($data) { self::$collection->save($data); } } new JobOldModel(); global $MJob; $jobs = $MJob->getAll(); foreach ($jobs as $job) { if (pastDeadline($job['deadline'])) { $jobId = $job['_id']; JobOldModel::save($job); JobModel::deleteById($jobId); } }