<?php /* * TO MAKE this code usable for your own system, first goto Connection/connection.php and put your database information * second , edit the sql in teh Document collection.php takeDocumentsFromDatabase(); * */ include_once 'Collection/DocumentCollection.php'; $dc = new DocumentCollection(); $dc->takeDocumentsFromDatabase(); //sql should be corrected to select articles //$dc->printAllDocuments(); //print_r($dc->getScores(1));die(); // $result=$dc->getRelatedDocumentsId(2); // echo "<br/>finall result is :"; // print_r($result); $dc->storeRelationOfAll(); echo $dc->getGroupId(2);
/** * * @param mixed $params {id: Array(Number), logo: String, extra: String} * @param function $cb * @return mixed {success: Boolean; message: String} */ static function sign($params, $cb = signDocuments) { $res = array("success" => false, "message" => "Unknown error in Ajax.sign"); $docsId = $params["id"]; if (isset($docsId)) { $docs = new DocumentCollection(); foreach ($docsId as &$id) { $doc = TDataBaseDocument::getDocumentById($id); if ($doc !== null) { $lastDoc = $doc->getLastDocument(); //Проверка статуса Документа. Если Документ имеет статус "В процессе", то вернуть пользователю ошибку if ($lastDoc->getStatus() && $lastDoc->getStatus()->getValue() == DOCUMENT_STATUS_PROCESSING) { $res["message"] = "Один из документов был отправлен на подпись. Повторите попытку позже."; return $res; } $docs->add($lastDoc); } } $ajaxParams = AjaxParams::fromArray($params); if ($cb) { $cb($docs, $ajaxParams); } if ($docs->count()) { $resp = json_decode(AjaxSign::sendSignRequest($docs, $ajaxParams), true); if ($resp["success"] == true) { $res["success"] = true; $res["code"] = $resp["code"]; $res["message"] = $resp['message']; $list = $docs->getList(); foreach ($list as $item) { //Выставление статуса документа для его блокировки DocumentStatus::create($item, DOCUMENT_STATUS_PROCESSING); } } else { $res["message"] = isset($resp["message"]) ? $resp["message"] : $resp["error"]; $res["code"] = $resp["code"]; } } else { $res["message"] = "Нет документов требующих подписи"; } } else { $res["message"] = "POST parameter 'id' is required"; } return $res; }
public function remove(IDocument $document) { parent::remove($document); array_splice($this->ids, $this->indexOf($document), 1); }