function handle($params) { session_write_close(); header('Connection: close'); $app = Dataface_Application::getInstance(); $query = $app->getQuery(); if (!@$query['-job_translatable_id']) { throw new Exception("No translatable id specified"); } $translatable = df_get_record('job_translatable', array('job_translatable_id' => '=' . $query['-job_translatable_id'])); if (!$translatable) { throw new Exception("Translatable could not be found."); } $job = df_get_record('jobs', array('job_id' => '=' . $translatable->val('job_id'))); if (!$job) { throw new Exception("Job could not be loaded."); } if (!$job->checkPermission('preview job')) { header('HTTP/1.0 401 Forbidden'); exit; } require_once 'inc/SweteJob.class.php'; require_once 'inc/SweteJobPageSucker.php'; $jobO = new SweteJob($job); $pageSucker = new SweteJobPageSucker($jobO); $translation = "source"; if (@$query['-translation']) { $translation = $query['-translation']; } if ($translation == "source") { $output = $translatable->val('full_contents'); $output = $pageSucker->renderHtml($output, DATAFACE_SITE_HREF . '?-action=swete_job_serve_content&job_id=' . $job->val('job_id') . '&url_hash='); //$output = $jobO->translateHtml($output, unserialize($job->val('previous_translations'))); } else { if ($translation == "previous") { $output = $translatable->val('full_contents'); $output = $pageSucker->renderHtml($output, DATAFACE_SITE_HREF . '?-action=swete_job_serve_content&job_id=' . $job->val('job_id') . '&url_hash='); $output = $jobO->translatePreviousHtml($output, unserialize($job->val('previous_translations'))); } else { if ($translation == "new") { $output = $translatable->val('full_contents'); $output = $pageSucker->renderHtml($output, DATAFACE_SITE_HREF . '?-action=swete_job_serve_content&job_id=' . $job->val('job_id') . '&url_hash='); $output = $jobO->translateHtml($output, unserialize($job->val('previous_translations'))); } else { throw new Exception("Invalid translation parameter " . $translation); } } } header('Content-Length: ' . strlen($output)); header('Content-type: text/html; charset="UTF-8"'); echo $output; }