/** * Delete a stored result * @param SimpleXMLElement $request */ protected function deleteResult($request) { $this->result->result = null; $this->result->save(); require_once $this->plugin_path . '/classes/class.ilExternalContentLPStatus.php'; $lp_status = ilExternalContentLPStatus::LP_STATUS_IN_PROGRESS_NUM; $lp_percentage = 0; ilExternalContentLPStatus::trackResult($this->result->usr_id, $this->result->obj_id, $lp_status, $lp_percentage); $code = "success"; $severity = "status"; $response = $this->loadResponse('deleteResult.xml'); $response = str_replace('{message_id}', md5(rand(0, 999999999)), $response); $response = str_replace('{message_ref_id}', $this->message_ref_id, $response); $response = str_replace('{operation}', $this->operation, $response); $response = str_replace('{code}', $code, $response); $response = str_replace('{severity}', $severity, $response); header('Content-type: application/xml'); echo $response; }
/** * Get a result by object and user key * * @param integer object id * @param integer user id * @param boolean save a new result object result if not exists * * @return ExternalContentResult */ public static function getByKeys($a_obj_id, $a_usr_id, $a_create = false) { global $ilDB; $query = 'SELECT * FROM xxco_results' . ' WHERE obj_id = ' . $ilDB->quote($a_obj_id, 'integer') . ' AND usr_id = ' . $ilDB->quote($a_usr_id, 'integer'); $res = $ilDB->query($query); if ($row = $ilDB->fetchAssoc($res)) { $resObj = new ilExternalContentResult(); $resObj->fillData($row); return $resObj; } elseif ($a_create) { $resObj = new ilExternalContentResult(); $resObj->obj_id = $a_obj_id; $resObj->usr_id = $a_usr_id; $resObj->result = null; $resObj->save(); return $resObj; } else { return null; } }