示例#1
0
<?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);
示例#2
0
 /**
  * 
  * @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;
 }
示例#3
0
 public function remove(IDocument $document)
 {
     parent::remove($document);
     array_splice($this->ids, $this->indexOf($document), 1);
 }