/** * @return void da echo de string */ public function link() { $LinkDAO = LinkDAO::getInstance(); if (FALSE) { $LinkDAO = new LinkDAO(); } $ReturnResultVO = new ReturnResultVO(); $ReturnResultVO->success = TRUE; //enviar por post: //category_id //array_content_id if (DataHandler::getValueByArrayIndex($_POST, "category_id") && DataHandler::getValueByArrayIndex($_POST, "array_content_id")) { $category_id = DataHandler::forceInt(DataHandler::getValueByArrayIndex($_POST, "category_id")); //talvez não seja array $array_content_id = DataHandler::getValueByArrayIndex($_POST, "array_content_id"); $table = DataHandler::getValueByArrayIndex($_POST, "table"); $linked_table = DataHandler::getValueByArrayIndex($_POST, "linked_table"); if (!is_array($array_content_id)) { $array_content_id = explode(",", $array_content_id); } if (is_array($array_content_id)) { $contador = 0; foreach ($array_content_id as $content_id) { //inicia a linkVO se existir $ReturnDataVO = $LinkDAO->select(LinkDAO::RETURN_VO, $table, $category_id, $linked_table, $content_id, 1); if (FALSE) { $ReturnDataVO = new ReturnDataVO(); } if ($ReturnDataVO->success) { $arrayResults = $ReturnDataVO->result; if ($ReturnDataVO->count_total > 0) { //pega só o primeiro, mas se tiver mais do que 1 poderia dar um warning if ($ReturnDataVO->count_total > 1) { //warning, deveria ter só 1 } $LinkVO = $arrayResults[0]; //para ajuda do aptana if (FALSE) { $LinkVO = new LinkVO(); } $LinkVO->setOrder($contador); $ReturnDataVO = $LinkDAO->update($LinkVO->getId(), $LinkVO->getActive(), $LinkVO->getTable(), $LinkVO->getTableId(), $LinkVO->getLinkedTable(), $LinkVO->getLinkedTableId(), $LinkVO->getOrder()); if (!$ReturnDataVO->success) { $ReturnResultVO->success = FALSE; $ReturnResultVO->addMessage("erro ao atualizar o item de id:" . $LinkVO->getLinkedTableId()); } $contador++; } } } //end foreach } else { $ReturnResultVO->success = FALSE; $ReturnResultVO->addMessage("Enviar content_id por POST em array"); } //end if array } else { $ReturnResultVO->success = FALSE; $ReturnResultVO->addMessage("Enviar por POST category_id e array_content_id."); } //end if foi enviado posts if ($ReturnResultVO->success) { $ReturnResultVO->addMessage("Ordem definida com sucesso."); } echo $ReturnResultVO->toJson(); exit; }