Moví una aplicación de un servidor Ubuntu 11.04 (Natty Narwhal) a un servidor Red Hat Enterprise Linux (RHEL) durante el fin de semana. Mi registro de errores está lleno de los errores de PHP en la línea de asunto que hacen referencia a la siguiente función:Inesperado T_PAAMAYIM_NEKUDOTAYIM, esperando T_NS_Separator
function wfTalkHereArticleFromTitle(&$title, &$article) {
global $wgRequest, $wgTalkHereNamespaces;
if (isset($title->noTalkHere))
return true; //Stop recursion
$action = $wgRequest->getVal('action' );
$oldid = $wgRequest->getVal('oldid' );
$diff = $wgRequest->getVal('diff' );
if ($action == 'purge')
$action = NULL; //"purge" is not considered an action in this context
if ($action || $oldid || $diff)
return true;
$ns = $title->getNamespace();
if (!Namespace::isTalk($ns) && Namespace::canTalk($ns) && $title->exists()
&& (!$wgTalkHereNamespaces || in_array($ns, $wgTalkHereNamespaces))) {
$tns = Namespace::getTalk($ns);
$talk = Title::makeTitle($tns, $title->getDBKey());
if ($talk && $talk->userCan('read')) {
$t = clone $title;
$t->noTalkHere = true; //Stop recursion
$a = MediaWiki::articleFromTitle($t);
$article = new TalkHereArticle($a, $talk);
}
}
return true;
}
El error se lanza en la declaración
If (!Namespace::isTalk($ns)
. Este error es nuevo para mí. ¿Cómo podría resolverlo?
he cambiado el código erróneo a:
if (!Ns::isTalk($ns) && Ns::canTalk($ns) && $title->exists()
&& (!$wgTalkHereNamespaces || in_array($ns, $wgTalkHereNamespaces))) {
$tns = Ns::getTalk($ns);
$talk = Title::makeTitle($tns, $title->getDBKey());
if ($talk && $talk->userCan('read')) {
$t = clone $title;
$t->noTalkHere = true; //Stop recursion
$a = MediaWiki::articleFromTitle($t);
$article = new TalkHereArticle($a, $talk);
}
}
return true;
Sería eso suficiente para corregir el error, al menos en este archivo?
@Charles jeje el error no está escrito correctamente :-P – Neal
Por cierto, el error es en realidad escrito "PAAMAYIM NEKUDOTAYIM" (útil para cuando busca en Google). Como menciona Neal, "PAAMAYIM NEKUDOTAYIM" es hebreo para doble colon (los autores originales de PHP eran israelíes). –
Pfft, soy un facista de etiqueta, no un nazi de speeling. – Charles