Пример #1
0
$arrJobs = $jobs->find($params);
foreach ($arrJobs->jobs as $i => $job) {
    $res = Upwork::findOne($db, $job->id);
    if (!isset($res)) {
        $upwork = new Upwork();
        $upwork->id = $job->id;
        $upwork->url = $job->url;
        $upwork->title = $job->title;
        $upwork->description = $job->snippet;
        $upwork->type = $job->job_type;
        $upwork->budget = $job->budget === null ? 0 : $job->budget;
        $upwork->engagement_weeks = $job->workload === null ? '' : $job->workload;
        $upwork->skills = implode(', ', $job->skills);
        $upwork->rating = 0;
        try {
            $specific = $profile->getSpecific($job->id);
            $info = $specific->profile;
            $upwork->created_at = $info->op_ctime / 1000;
            $upwork->contractor_tier = $info->op_contractor_tier;
            $upwork->engagement = $info->op_engagement;
        } catch (OAuthException2 $e) {
            $logger->addInfo($e->getMessage());
            if (preg_match('#Profile.+is disabled#', $e->getMessage()) === 1) {
                $upwork->created_at = strtotime($job->date_created);
                $upwork->contractor_tier = -1;
                $upwork->engagement = $job->duration === null ? '' : $job->duration;
            }
        }
        $upwork->insert($db);
    }
}