function getRelatedArticles($pageId) { $text = getContentText($pageId); $relatedArticles = array(); $strpos = strpos($text, 'Related Articles'); $related_articles_string = substr($text, $strpos); $delimiterpos = strpos($related_articles_string, '=='); //first == delimiter (== Related Articles ==) $related_articles_string = substr($related_articles_string, $delimiterpos + 2); $delimiterpos = strpos($related_articles_string, '=='); //until next == delimiter if ($delimiterpos != '') { $related_articles_string = substr($related_articles_string, 0, $delimiterpos); } else { $related_articles_string = substr($related_articles_string, 0); } while (strpos($related_articles_string, '[[') !== false) { $startlink = strpos($related_articles_string, '[['); $endlink = strpos($related_articles_string, ']]'); $link = substr($related_articles_string, $startlink + 2, $endlink - $startlink - 2); $related_articles_string = substr($related_articles_string, $endlink + 2); $page_title = str_replace(' ', '_', $link); $verticallinepos = strpos($page_title, '|'); //some links contain an | if ($verticallinepos !== false) { $page_title = substr($page_title, $verticallinepos + 1); } $relatedArticlePageId = getPageId($page_title); if ($relatedArticlePageId !== false) { array_push($relatedArticles, $relatedArticlePageId); } } return $relatedArticles; }
WHERE co_idempresa = em_id AND co_contrato = vc_contrato AND vc_identidadvend = ev_id AND ev_identidad = en_id AND vc_idsucursal = su_id(+) AND vc_vigenciahasta IS NULL AND vc_fechabaja IS NULL AND art.afiliacion.check_cobertura(co_contrato, SYSDATE) = 1 _EXC1_ AND ((en_idcanal = :idcanal AND en_id = :identidad _EXC2_)"; if (($_SESSION["canal"] == 321) and ($destino == "rc")) // Si es Venta Directa y entraron por el menú de RC.. $sql.= " OR (en_idcanal = 323 AND en_id = 400))"; else $sql.= ")"; $grilla = new Grid(); $grilla->addColumn(new Column("V", 0, true, false, -1, "btnEditar", "/index.php?pageid=".getPageId($destino), "", -1, true, -1, "Ver")); $grilla->addColumn(new Column("Contrato")); $grilla->addColumn(new Column("C.U.I.T.")); $grilla->addColumn(new Column("Razón Social")); $grilla->addColumn(new Column("Vig. Desde")); $grilla->addColumn(new Column("Vig. Hasta")); $grilla->addColumn(new Column("Cant. Trab.")); $grilla->addColumn(new Column("Masa Salarial")); $grilla->addColumn(new Column("Mes/Año")); $grilla->setColsSeparator(true); $grilla->setExtraConditions(array($where2, $where)); $grilla->setOrderBy($ob); $grilla->setPageNumber($pagina); $grilla->setParams($params); $grilla->setRowsSeparator(true); $grilla->setShowProcessMessage(true);
function getPageIds($db, $dbNames, $urlDetails) { $urlIdPageIdMap = array(); $urlDetailsToInsert = array(); foreach ($urlDetails as $urlId => $urlDetail) { $sql = 'SELECT page_id FROM ' . $dbNames['summary'] . '.page WHERE checksum = :checksum'; $st = $db->prepare($sql); $st->bindValue(':checksum', $urlDetail['urlChecksum'], PDO::PARAM_STR); $st->execute(); $pageDetails = $st->fetch(PDO::FETCH_ASSOC); if ($pageDetails['page_id']) { $urlIdPageIdMap[$urlId] = $pageDetails['page_id']; } else { $urlDetailsToInsert[$urlId] = $urlDetail; } $st->closeCursor(); } $numValuesToInsert = 0; $valuesToInsert = array(); $queryPrefix = 'INSERT INTO ' . $dbNames['summary'] . '.page(page_id, name, checksum) VALUES'; foreach ($urlDetailsToInsert as $urlDetailToInsert) { if ($numValuesToInsert >= 5000) { DbUtil::multipleInsert($db, $queryPrefix, $valuesToInsert, 3); $numValuesToInsert = 0; $valuesToInsert = array(); } ++$numValuesToInsert; $valuesToInsert[] = ''; $valuesToInsert[] = $urlDetailToInsert['url']; $valuesToInsert[] = $urlDetailToInsert['urlChecksum']; } DbUtil::multipleInsert($db, $queryPrefix, $valuesToInsert, 3); foreach ($urlDetailsToInsert as $urlId => $urlDetailToInsert) { $urlIdPageIdMap[$urlId] = getPageId($db, $dbNames, $urlDetailToInsert['url'], $urlDetailToInsert['urlChecksum']); } return $urlIdPageIdMap; }