public function insertRandomRow()
 {
     /* generate the field values */
     /* first generate the random values, then add them to query */
     $workTypeId = rand(1, WorkType::getRowsNumber());
     $districtId = rand(1, District::getRowsNumber());
     $jobSubCategoryId = rand(1, JobSubCategory::getRowsNumber());
     $salaryLow = rand(20, 200) * 1000;
     $salaryRange = rand(5, 30) * 1000;
     $daysOffset = -60 + rand(1, 90);
     $startDate = strtotime(sprintf("%+d", $daysOffset) . " day");
     $endDate = strtotime(sprintf("%+d", $daysOffset + 30) . " day");
     /* Processing this information */
     $workType = WorkType::getWorkTypeName(WorkType::getWorkType($workTypeId));
     $district = District::getDistrict($districtId);
     $districtName = District::getDistrictName($district);
     $regionName = Region::getRegionName(Region::getRegion(District::getRegionId($district)));
     $jobSubCategory = JobSubCategory::getJobSubCategory($jobSubCategoryId);
     $jobSubCategoryName = JobSubCategory::getJobSubCategoryName($jobSubCategory);
     $jobCategoryId = JobSubCategory::getJobCategoryId($jobSubCategory);
     $jobCategoryName = JobCategory::getJobCategoryName(JobCategory::getJobCategory($jobCategoryId));
     $salaryHigh = $salaryLow + $salaryRange;
     $jobTitle = "Job in {$regionName}";
     $jobDescription = "{$jobSubCategoryName} " . strtolower($workType) . " job in {$districtName}, {$regionName}, in the domain of {$jobCategoryName}, salary from \${$salaryLow} to \${$salaryHigh}.\n";
     $jobDescription .= "Posted on " . date("D, jS \\of F, Y", $startDate) . ", valid until " . date("D, jS \\of F, Y", $endDate);
     /* Now build the query with the values generated above */
     /* job_id */
     $values = "NULL";
     //AUTO_INCREMENT field
     /* job_title */
     $values .= ", '{$jobTitle}'";
     /* job_description */
     $values .= ", '{$jobDescription}'";
     /* work_type_id */
     $values .= ", '{$workTypeId}'";
     /* district_id */
     $values .= ", '{$districtId}'";
     /* subcategory_id */
     $values .= ", '{$jobSubCategoryId}'";
     /* salary_low */
     $values .= ", '{$salaryLow}'";
     /* SalaryHihg */
     $values .= ", '{$salaryHigh}'";
     /* start_ad_date */
     /* format: '2013-05-14 00:00:00' */
     $values .= ", '" . date("Y-m-d 00:00:00", $startDate) . "'";
     /* end_ad_date */
     $values .= ", '" . date("Y-m-d 00:00:00", $endDate) . "'";
     /* Build the query */
     $query = Job::insertRowQuery($values);
     return $query;
 }
Esempio n. 2
0
 public static function getWorkType($job)
 {
     return WorkType::getWorkTypeName(WorkType::getWorkType(self::getWorkTypeId($job)));
 }
 protected function fieldWorkType()
 {
     $output = "";
     $allWorkTypes = WorkType::getAllRows();
     $output .= "<select name=\"" . static::workTypeIdFieldName . "\">\n";
     /* The following logic will determine the selected option */
     /* Chose a do...while() in order to avoid code duplication for the 'selected' option logic */
     $workTypeId = static::anyWorkTypeCode;
     $workTypeName = "Any work type";
     $firstRow = true;
     do {
         if (!$firstRow) {
             $workTypeId = WorkType::getWorkTypeId($row);
             $workTypeName = WorkType::getWorkTypeName($row);
         } else {
             $firstRow = false;
         }
         if ($this->searchedWorkTypeId == $workTypeId) {
             $selected = "selected";
         } else {
             $selected = "";
         }
         /* here is the actual option output */
         $output .= " <option {$selected} value =\"{$workTypeId}.\">{$workTypeName}</option>\n";
     } while (($row = $allWorkTypes->fetch_row()) != NULL);
     $output .= "</select>\n";
     return $output;
 }