imagen     Wikilengua del español
Portada    Cambios recientes    Acerca de    Ayuda    Comunidad

Wikilengua:Extensiones

Wikilengua

Categoría: Wikilengua   ayuda


Orden de los cuadros

Para que el orden sea el correcto en los cuadros, se ha redefinido una función de JavaScript (ver código).

Enlaces con conversión a mayúscula

Es bastante sencillo y se basa en una expresión regular y el hook InternalParseBeforeLinks.

<?php

if (!defined('MEDIAWIKI')) die();

function WLrex_rep($m)
{
  return '[[' . strtoupper($m[1]) . $m[2] . '|' . $m[1] . $m[2] . ']]';
}

function WLreplaceUpperLinks(&$parser, &$text) {
  $rex = '/\[\[\'(.)(.*?)]]/';
  $text = preg_replace_callback($rex, "WLrex_rep", $text);
  return true;
}

$wgHooks['InternalParseBeforeLinks'][] = 'WLreplaceUpperLinks';

Mensaje de patrulla en los artículos

La siguiente función es la encargada de ello. Está escrita a partir del estudio de la base de datos y también un poco de prueba y error. Está incluida en el archivo de apariencia de la Wikilengua, así que no ha sido necesario parchear nada. [Hay que corregir los caracteres en UTF-8.]

        function getPatrolStatus()
        {
                global $wgTitle, $wgRequest, $wgLang;

		$OldId = $wgRequest->getVal('oldid');
                $Id = intval ( $wgTitle->getArticleId() );
                $ttl = $wgTitle->getText();

                $dbr = wfGetDB(DB_SLAVE);

                $curr = $dbr->selectField( 'recentchanges', 'rc_id',
		            'rc_cur_id=' . $Id
                            . ' ORDER BY rc_id DESC');
 	        $last = $dbr->selectField( 'recentchanges', 'rc_id',
		            'rc_patrolled=1 AND rc_cur_id=' . $Id
                            . ' ORDER BY rc_id DESC');  
             
                if ( $curr != $last ) {
                  if ( $curr != "" ) {
                    $type = $dbr->selectField( 'recentchanges', 'rc_type',
		            'rc_id=' . $curr );
                    if ( $last != "" ) {
		      $this_oldid = $dbr->selectField( 'recentchanges', 'rc_this_oldid',
		            'rc_id=' . $last );
                      $lastTime = $dbr->selectField( 'recentchanges', 'rc_timestamp',
		            'rc_id=' . $last );
                    } else {
		      $type = $dbr->selectField( 'recentchanges', 'rc_type',
		            'rc_cur_id=' .  $Id . ' ORDER BY rc_id');
		      $last = $dbr->selectField( 'revision', 'rev_id',
		            'rev_page=' . $Id
		            . ' ORDER BY rev_id DESC');
                      if ( $last != "" ) {
		        $this_oldid = $wgTitle->getPreviousRevisionID(
                            $dbr->selectField( 'revision', 'rev_text_id',
                            'rev_id=' . $last )); 
                      if ( !$this_oldid ) {
                            $lastTime = '';
                      } else {
		              $lastTime = $dbr->selectField( 'revision', 'rev_timestamp',
		             'rev_text_id=' . $this_oldid );
                      }
                      } 
                    }
                  } else {
                  # $last = "";
                  }
                }
                if ( $last == "" ) { $lastTime = ""; };
	
                $info = "";
                #$info = "<br />(artId: $Id, curr: $curr, last: $last, this_oldid: $this_oldid, 'oldid': $OldId) $type";
                if ( !is_null($OldId) ) {
                   return "<a href='/index.php?title=$ttl'>Ir a la actual</a> - <a href='/index.php?title=$ttl&oldid=$this_oldid'>Ir a la última supervisada</a>$info";
                } else {
                   if ( $curr != $last ) {
                      if ( $lastTime != "" ) { $timestamp = $wgLang->date( $lastTime, true ) . " a las " . $wgLang->time( $lastTime, true ); }
                      return "<span style='color:red;'><b>! </b></span>Este artículo está pendiente de supervisión por los moderadores."
                             . ((curr != "" && $type != 0) || $lastTime == '' ? " Es un artículo nuevo y no hay todavía versión supervisada.$info" : " La última versión supervisada es de <a href='/index.php?title=$ttl&oldid=$this_oldid'>$timestamp</a>$info");
                   } else {
                      return "Este artículo ha sido supervisado por los moderadores.$info";
                   }
                }
	}

Obtenido de "http://www.wikilengua.org/index.php/Wikilengua:Extensiones"

Esta página ha sido visitada 769 veces. Esta página fue modificada por última vez el 14:26, 12 mar 2008.


Índice general

Gramática
Ortografía
Nombres propios
Léxico
Diseño
Mundo de la lengua

Vistaayuda
Comentarios
Edición
Historial
Versión para imprimir
Usuario
Registrarse/Entrar

 

Licencia

Creative Commons License