From: Anthony Talarico Date: Fri, 29 Sep 2017 18:58:57 +0000 (-0400) Subject: adding ability to repost jobs and update the expiration date X-Git-Tag: v1.0.0~1^2~23 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=4911e1ea8564e482a96b072e65204e8641944df9;p=WP-Plugins%2Fglm-member-db-jobs.git adding ability to repost jobs and update the expiration date update expiration by checking repost checkbox in admin --- diff --git a/classes/data/dataJobs.php b/classes/data/dataJobs.php index 7200d28..18329bf 100644 --- a/classes/data/dataJobs.php +++ b/classes/data/dataJobs.php @@ -187,7 +187,7 @@ class GlmDataJobs extends GlmDataAbstract 'updated' => array ( 'field' => 'updated', 'type' => 'datetime', - 'use' => 'a' + 'use' => 'lge' ), 'visible' => array ( 'field' => 'visible', @@ -227,6 +227,11 @@ class GlmDataJobs extends GlmDataAbstract 'type' => 'text', 'use' => 'a' ), + 'repost' => array ( + 'field' => 'repost', + 'type' => 'checkbox', + 'use' => 'a' + ), 'deadline' => array ( 'field' => 'deadline', 'type' => 'text', @@ -272,7 +277,52 @@ class GlmDataJobs extends GlmDataAbstract { return $r; } +/** + * Update timestamps for created, updated, approved + * + * @param string $field Field to update + * @param integer $id ID of For Sale Item + * + * @return void + */ + public function updateTimestamp($field = false, $id = false,$item = false,$updated = false){ + + if (!in_array($field, array('created', 'updated', 'approved')) || !$id) { + return false; + } + if($item){ + if( $item['fieldData']['repost']['value'] == 1){ + $sql = " + UPDATE ".$this->table." + SET $field = now() + WHERE id = $id + ;"; + $this->wpdb->query($sql); + }else if($item['fieldData']['repost']['value'] == 0 && $updated == NULL){ + $sql = " + UPDATE ".$this->table." + SET updated = post_date + WHERE id = $id AND updated IS NULL + ;"; + $this->wpdb->query($sql); + } + } + } + /** + * Checks if Item should be re-posted + * + * @param string $field Field to update + * @param integer $id ID of For Sale Item + * + * @return void + */ + public function getUpdatedTime($id = false){ + // echo '
', print_r($item, true), '
'; + $sql = "SELECT updated FROM ".$this->table." WHERE id = $id;"; + $updated = $this->wpdb->get_var($sql); + return $updated; + } } ?> \ No newline at end of file diff --git a/models/admin/jobs/index.php b/models/admin/jobs/index.php index 5329571..6d58b22 100644 --- a/models/admin/jobs/index.php +++ b/models/admin/jobs/index.php @@ -198,6 +198,7 @@ class GlmMembersAdmin_jobs_index extends GlmDataJobs $this->checkNewJobTitles(); $job = $this->insertEntry(); $this->job_id = $job['fieldData']['id']; + $updated = $this->getUpdatedTime($this->job_id); if ($job['status']) { $haveJob = true; @@ -209,6 +210,7 @@ class GlmMembersAdmin_jobs_index extends GlmDataJobs $job_titles = $job_titles->getList(); // Get this again so we have the created date $job = $this->editEntry($this->job_id); + $this->updateTimestamp('updated', $this->job_id,$job,$updated); // $job = $this->addNewTitle($job); $option = 'edit'; @@ -244,7 +246,7 @@ class GlmMembersAdmin_jobs_index extends GlmDataJobs break; case 'update': - + $updated = $this->getUpdatedTime($this->job_id); // Try to update this Job $job = $this->updateEntry($this->job_id); $this->checkNewJobTitles(); @@ -259,6 +261,7 @@ class GlmMembersAdmin_jobs_index extends GlmDataJobs } $job_titles = $job_titles->getList(); $job_data = $this->getList($where); + $this->updateTimestamp('updated', $this->job_id,$job,$updated); $haveJob = true; $view_file = 'edit'; diff --git a/models/admin/management/jobsImport.php b/models/admin/management/jobsImport.php index 7a195c6..f2db29d 100644 --- a/models/admin/management/jobsImport.php +++ b/models/admin/management/jobsImport.php @@ -197,6 +197,7 @@ class GlmMembersAdmin_management_jobsImport 'duration'=>$value['duration'], 'benefits'=>$value['bentext'], 'post_date'=>$value['ds'], + 'updated'=>$value['ds'], 'requirements'=>$value['requirements'], 'member'=>$value['member'], 'position_available'=>$value['position_available'], @@ -222,6 +223,7 @@ class GlmMembersAdmin_management_jobsImport '%s', '%s', '%s', + '%s', '%d', '%s', '%s', diff --git a/models/front/jobs/list.php b/models/front/jobs/list.php index aad1b76..fcdcd79 100644 --- a/models/front/jobs/list.php +++ b/models/front/jobs/list.php @@ -113,7 +113,7 @@ class GlmMembersFront_jobs_list extends GlmDatajobs if (isset($_REQUEST['option']) && trim($_REQUEST['option']) != '') { $option = $_REQUEST['option']; } - $where .= "CURDATE() <= DATE_ADD(post_date, INTERVAL job_expiration DAY) "; + $where .= "CURDATE() <= DATE_ADD(updated, INTERVAL job_expiration DAY) AND visible = true "; if (isset($_REQUEST['job_titles']) && $_REQUEST['job_titles'] !== '') { // Make sure it's numeric $job_title_id = ($_REQUEST['job_titles'] - 0); @@ -122,7 +122,6 @@ class GlmMembersFront_jobs_list extends GlmDatajobs } else { $job_data = $this->getList($where); } - $view_file = 'list'; // Compile template data diff --git a/setup/databaseScripts/create_database_V0.0.1.sql b/setup/databaseScripts/create_database_V0.0.1.sql index 52532e8..b14379a 100644 --- a/setup/databaseScripts/create_database_V0.0.1.sql +++ b/setup/databaseScripts/create_database_V0.0.1.sql @@ -23,7 +23,7 @@ CREATE TABLE {prefix}jobs ( contact_name TINYTEXT NULL , contact_phone TINYTEXT NULL , post_date DATETIME NULL DEFAULT NOW(), - updated DATETIME NULL DEFAULT NOW(), + updated DATETIME NULL, visible BOOL NULL, facility_operation TEXT NULL, requirements TEXT NULL, @@ -33,6 +33,7 @@ CREATE TABLE {prefix}jobs ( duration TINYTEXT NULL , deadline TINYTEXT NULL , company TINYTEXT NULL , + repost TINYTEXT NULL , position_available TINYTEXT NULL , member INT NULL, PRIMARY KEY (id) diff --git a/views/admin/jobs/edit.html b/views/admin/jobs/edit.html index 8907687..c6dc721 100644 --- a/views/admin/jobs/edit.html +++ b/views/admin/jobs/edit.html @@ -34,6 +34,15 @@ + +
+
+ Re-Post
(restart expiration interval) +
+
+ +
+
diff --git a/views/admin/jobs/index.html b/views/admin/jobs/index.html index d0ce109..581a83a 100644 --- a/views/admin/jobs/index.html +++ b/views/admin/jobs/index.html @@ -38,7 +38,7 @@ {if $data.member} {$data.member} {else}   {/if}
- {$data.post_date.timestamp|date_format:"%Y-%m-%d"} + {$data.updated.timestamp|date_format:"%Y-%m-%d"}
diff --git a/views/front/jobs/list.html b/views/front/jobs/list.html index 91ca4ac..2f488ed 100644 --- a/views/front/jobs/list.html +++ b/views/front/jobs/list.html @@ -25,7 +25,7 @@ Company: {$value.company}
- Posted: {$value.post_date.timestamp|date_format:"%Y-%m-%d"} + Posted: {$value.updated.timestamp|date_format:"%Y-%m-%d"}
Full Job Description