Subversion Repositories Sites.tela-botanica.org

Compare Revisions

No changes between revisions

Ignore whitespace Rev 6 → Rev 7

/trunk/api/jpgraph_1.12.2/imgdata_bevels.inc
New file
0,0 → 1,106
<?php
//=======================================================================
// File: IMGDATA_BEVELS.INC
// Description: Base64 encoded images for round bevels
// Created: 2003-03-20
// Author: Johan Persson (johanp@aditus.nu)
// Ver: $Id: imgdata_bevels.inc,v 1.1 2004/06/15 10:13:19 jpm Exp $
//
// License: This code is released under QPL 1.0
// Copyright (C) 2003 Johan Persson
//========================================================================
 
class ImgData_Bevels extends ImgData {
var $name = 'Round Bevels';
var $an = array(MARK_IMG_BEVEL => 'imgdata');
var $colors = array('green','purple','orange','red','yellow');
var $index = array('green'=>1,'purple'=>4,'orange'=>2,'red'=>0,'yellow'=>3);
var $maxidx = 4 ;
 
var $imgdata ;
 
function ImgData_Bevels() {
//==========================================================
// File: bullets_balls_red_013.png
//==========================================================
$this->imgdata[0][0]= 337 ;
$this->imgdata[0][1]=
'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAAM1'.
'BMVEX////////27t/f3+LFwcmNxMuxm62DmqKth1VpZmIWg6fv'.
'HCa7K0BwMEytCjFnIyUlEBg9vhQvAAAAAXRSTlMAQObYZgAAAA'.
'FiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElN'.
'RQfTAxcBNhk+pYJVAAAAl0lEQVR4nE2Q2xLDIAgFHUWBKJf//9'.
'oekmbafVDZARRbK/pYTKP9WNcNv64zzUdd9BjmrgnsVXRNSzO3'.
'CJ5ahdhy0XKQkxld1kxb45j7dp0x2lBNOyVgQpMaoadX7Hs7zr'.
'P1yKj47DKBnKaBKiSAkNss7O6PkMx6kIgYXISQJpcZCqdY6KR+'.
'J1PkS5Xob/h7MNz8x6D3fz5DKQjpkZOBYAAAAABJRU5ErkJggg'.
'==' ;
 
//==========================================================
// File: bullets_balls_green_013.png
//==========================================================
$this->imgdata[1][0]= 344 ;
$this->imgdata[1][1]=
'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAAM1'.
'BMVEX////////27t/e3+K3vriUub/Dm18j4xc3ob10k0ItqQlU'.
'e5JBmwpxY1ENaKBgUh0iHgwsSre9AAAAAXRSTlMAQObYZgAAAA'.
'FiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElN'.
'RQfTAxcBNTfJXtxZAAAAnklEQVR4nE2QWY4EMQhDUVhSIRC4/2'.
'kbaqLp9p+f2AxAayAzDfiK9znPORuvH0x8Ss9z6I9sHp6tcxE9'.
'nLmWmebmt5F5p2AR0+C9AWpLBjXRaZsCAT3SqklVp0YkAWaGtd'.
'c5Z41/STYpPzW7BjyiRrwkVmQto/Cw9tNEMvsgcekyCyFPboIu'.
'IsuXiKffYB4NK4r/h6d4g9HPPwCR7i8+GscIiiaonUAAAAAASU'.
'VORK5CYII=' ;
 
//==========================================================
// File: bullets_balls_oy_035.png
//==========================================================
$this->imgdata[2][0]= 341 ;
$this->imgdata[2][1]=
'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAAM1'.
'BMVEX////////27t/f3+K5tbqNwcjnkjXjbxR2i5anfEoNkbis'.
'PBxpU0sZbZejKgdqIRIlERIwYtkYAAAAAXRSTlMAQObYZgAAAA'.
'FiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElN'.
'RQfTAxcBNgK0wEu5AAAAm0lEQVR4nE3QVxIEIQgEUErAgTHA/U'.
'+7zbipf9RXgoGo0liMmX6RdSPLPtZM9F4LuuSIaZtZWffiU6Iz'.
'Y8SOMF0NogBj30ioGRGLZgiPvce1TbIRz6oBQEbOFGK0rIoxrn'.
'5hDomMA1cfGRCaRVhjS3gkzheM+4HtnlkXcvdZhWG4qZawewe6'.
'9Jnz/TKLB/ML6HUepn//QczazuwFO/0Ivpolhi4AAAAASUVORK'.
'5CYII=' ;
 
//==========================================================
// File: bullets_balls_oy_036.png
//==========================================================
$this->imgdata[3][0]= 340 ;
$this->imgdata[3][1]=
'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAAM1'.
'BMVEX////////27t/e3+LO3hfYzz65ubiNwci6uQ12ipadgVGa'.
'fwsNkbhnVkcaZ5dwSA8lFg7CEepmAAAAAXRSTlMAQObYZgAAAA'.
'FiS0dEAIgFHUgAAAAJcEhZcwAACxEAAAsRAX9kX5EAAAAHdElN'.
'RQfTAxcCBySi1nevAAAAjElEQVR4nFXPWw7EIAgFUNMoCMhj/6'.
'staKczc/2RkwjS2glQ+w3YytgXCXCZpRo8gJdGxZadJws13CUP'.
'4SZI4MYiUxypeiGGw1XShVBTNN9kLXP2GRrZPFvKgd7z/sqGGV'.
'7C7r7r3l09alYN3iA8Yn+ImdVrNoEeSRqJPAaHfhZzLYwXstdZ'.
'rP3n2bvdAI4INwtihiwAAAAASUVORK5CYII=' ;
 
//==========================================================
// File: bullets_balls_pp_019.png
//==========================================================
$this->imgdata[4][0]= 334 ;
$this->imgdata[4][1]=
'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAMAAAAMs7fIAAAAM1'.
'BMVEX////+/v7i4eO/w8eHxcvKroNVormtfkjrMN2BeXQrepPc'.
'Esy4IL+OFaR7F25LHF8mFRh5XXtUAAAAAXRSTlMAQObYZgAAAA'.
'FiS0dEAIgFHUgAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElN'.
'RQfTAxcBNgkjEpIxAAAAlElEQVR4nE2QAQ7FIAhDDTAVndL7n3'.
'ZV/7JfEwMvFIWUlkTMVNInbVv5ZeJqG7Smh2QTBwJBpsdizAZP'.
'5NyW0awhK8kYodnZxS6ECvPRp2sI+y7PBv1mN02KH7h77QCJ8D'.
'4VvY5NUgEmCwj6ZMzHtJRgRSXwC1gfcqJJH0GBnSnK1kUQ72DY'.
'CPBv+MCS/e0jib77eQAJxwiEWm7hFwAAAABJRU5ErkJggg==' ;
 
}
}
 
 
?>
/trunk/api/jpgraph_1.12.2/jpgraph.php
New file
0,0 → 1,8033
<?php
//=======================================================================
// File: JPGRAPH.PHP
// Description: PHP4 Graph Plotting library. Base module.
// Created: 2001-01-08
// Author: Johan Persson (johanp@aditus.nu)
// Ver: $Id: jpgraph.php,v 1.1 2004/06/15 10:13:19 jpm Exp $
//
// License: This code is released under QPL 1.0
// Copyright (C) 2001,2002,2003 Johan Persson
//========================================================================
 
//------------------------------------------------------------------------
// Directories for cache and font directory.
// Leave them undefined to use default values.
//
// Default values used if these defines are left commented out are:
//
// UNIX:
// CACHE_DIR = /tmp/jpgraph_cache/
// TTF_DIR = /usr/X11R6/lib/X11/fonts/truetype/
//
// WINDOWS:
// CACHE_DIR = $SERVER_TEMP/jpgraph_cache/
// TTF_DIR = $SERVER_SYSTEMROOT/fonts/
//
//
//------------------------------------------------------------------------
 
// The full absolute name of the directory to be used to store the
// cached image files. This directory will not be used if the USE_CACHE
// define (further down) is false. If you enable the cache please note that
// this directory MUST be readable and writable for the process running PHP.
// Must end with '/'
DEFINE("CACHE_DIR","/home/telabotap/www/tmp/jpgraph_cache/");
 
// Directory for jpGraph TTF fonts. Must end with '/'
// DEFINE("TTF_DIR","/usr/X11R6/lib/X11/fonts/truetype/");
 
 
//-------------------------------------------------------------------------
// Cache directory specification for use with CSIM graphs that are
// using the cache.
// The directory must be the filesysystem name as seen by PHP
// and the 'http' version must be the same directory but as
// seen by the HTTP server relative to the 'htdocs' ddirectory.
// If a relative path is specified it is taken to be relative from where
// the image script is executed.
// Note: The default setting is to create a subdirectory in the
// directory from where the image script is executed and store all files
// there. As ususal this directory must be writeable by the PHP process.
DEFINE("CSIMCACHE_DIR","csimcache/");
DEFINE("CSIMCACHE_HTTP_DIR","csimcache/");
 
//------------------------------------------------------------------------
// Various JpGraph Settings. Adjust accordingly to your
// preferences. Note that cache functionality is turned off by
// default (Enable by setting USE_CACHE to true)
//------------------------------------------------------------------------
 
// Deafult graphic format set to "auto" which will automatically
// choose the best available format in the order png,gif,jpg
// (The supported format depends on what your PHP installation supports)
DEFINE("DEFAULT_GFORMAT","auto");
 
// Should the image be a truecolor image?
// Note 1: Has only effect with GD 2.0.1 and above.
// Note 2: GD 2.0.1 + PHP 4.0.6 on Win32 crashes when trying to use
// trucolor. Truecolor support is to be considered alpha since GD 2.x
// is still not considered stable (especially on Win32).
// Note 3: MUST be enabled to get background images working with GD2
// Note 4: If enabled then truetype fonts will look very ugly with GD 2.0.1
// => You can't have both background images and truetype fonts in the same
// image until these bugs has been fixed in GD 2.01. There is a patch
// available for GD 2.0.1 though. See the README file.
DEFINE('USE_TRUECOLOR',true);
 
// Specify what version of the GD library is installed.
// If this is set to 'auto' the version will be automatically
// determined.
// However since determining the library takes ~1ms you can also
// manually specify the version if you know what version you have.
// This means that you should
// set this define to true if you have GD 2.x installed to save 1ms.
DEFINE("USE_LIBRARY_GD2",'auto');
 
// Should the cache be used at all? By setting this to false no
// files will be generated in the cache directory.
// The difference from READ_CACHE being that setting READ_CACHE to
// false will still create the image in the cache directory
// just not use it. By setting USE_CACHE=false no files will even
// be generated in the cache directory.
DEFINE("USE_CACHE",true);
 
// Should we try to find an image in the cache before generating it?
// Set this define to false to bypass the reading of the cache and always
// regenerate the image. Note that even if reading the cache is
// disabled the cached will still be updated with the newly generated
// image. Set also "USE_CACHE" below.
DEFINE("READ_CACHE",true);
 
// Determine if the error handler should be image based or purely
// text based. Image based makes it easier since the script will
// always return an image even in case of errors.
DEFINE("USE_IMAGE_ERROR_HANDLER",true);
 
// If the color palette is full should JpGraph try to allocate
// the closest match? If you plan on using background images or
// gradient fills it might be a good idea to enable this.
// If not you will otherwise get an error saying that the color palette is
// exhausted. The drawback of using approximations is that the colors
// might not be exactly what you specified.
// Note1: This does only apply to paletted images, not truecolor
// images since they don't have the limitations of maximum number
// of colors.
DEFINE("USE_APPROX_COLORS",true);
 
// Special unicode cyrillic language support
DEFINE("LANGUAGE_CYRILLIC",false);
 
// If you are setting this config to true the conversion
// will assume that the input text is windows 1251, if
// false it will assume koi8-r
DEFINE("CYRILLIC_FROM_WINDOWS",false);
 
// Should usage of deprecated functions and parameters give a fatal error?
// (Useful to check if code is future proof.)
DEFINE("ERR_DEPRECATED",true);
 
// Should the time taken to generate each picture be branded to the lower
// left in corner in each generated image? Useful for performace measurements
// generating graphs
DEFINE("BRAND_TIMING",false);
 
// What format should be used for the timing string?
DEFINE("BRAND_TIME_FORMAT","(%01.3fs)");
 
//------------------------------------------------------------------------
// The following constants should rarely have to be changed !
//------------------------------------------------------------------------
 
// What group should the cached file belong to
// (Set to "" will give the default group for the "PHP-user")
// Please note that the Apache user must be a member of the
// specified group since otherwise it is impossible for Apache
// to set the specified group.
DEFINE("CACHE_FILE_GROUP","wwwadmin");
 
// What permissions should the cached file have
// (Set to "" will give the default persmissions for the "PHP-user")
DEFINE("CACHE_FILE_MOD",0664);
 
// Decide if we should use the bresenham circle algorithm or the
// built in Arc(). Bresenham gives better visual apperance of circles
// but is more CPU intensive and slower then the built in Arc() function
// in GD. Turned off by default for speed
DEFINE("USE_BRESENHAM",false);
 
// Special file name to indicate that we only want to calc
// the image map in the call to Graph::Stroke() used
// internally from the GetHTMLCSIM() method.
DEFINE("_CSIM_SPECIALFILE","_csim_special_");
 
// HTTP GET argument that is used with image map
// to indicate to the script to just generate the image
// and not the full CSIM HTML page.
DEFINE("_CSIM_DISPLAY","_jpg_csimd");
 
// Special filename for Graph::Stroke(). If this filename is given
// then the image will NOT be streamed to browser of file. Instead the
// Stroke call will return the handler for the created GD image.
DEFINE("_IMG_HANDLER","__handle");
 
// DON'T SET THIS FLAG YORSELF THIS IS ONLY FOR INTERNAL TESTING
// PURPOSES. ENABLING THIS FLAG WILL MAKE SOME OF YOUR SCRIPT
// STOP WORKING
// Enable some extra debug information for CSIM etc to be shown.
DEFINE("JPG_DEBUG",false);
 
// Version info
DEFINE('JPG_VERSION','1.12');
 
//------------------------------------------------------------------------
// Automatic settings of path for cache and font directory
// if they have not been previously specified
//------------------------------------------------------------------------
if (!defined('CACHE_DIR')) {
if ( strstr( PHP_OS, 'WIN') ) {
if( empty($_SERVER['TEMP']) ) {
die('JpGraph Error: No path specified for CACHE_DIR. Please specify a path for that DEFINE in jpgraph.php');
}
else {
DEFINE('CACHE_DIR', $_SERVER['TEMP'] . '/');
}
} else {
DEFINE('CACHE_DIR','/tmp/jpgraph_cache/');
}
}
 
if (!defined('TTF_DIR')) {
if (strstr( PHP_OS, 'WIN') ) {
if( empty($_SERVER['SystemRoot']) ) {
die('JpGraph Error: No path specified for TTF_DIR. Please specify a path for that DEFINE in jpgraph.php');
}
else {
DEFINE('TTF_DIR', $_SERVER['SystemRoot'] . '/fonts/');
}
} else {
DEFINE('TTF_DIR','/usr/X11R6/lib/X11/fonts/truetype/');
}
}
 
//------------------------------------------------------------------
// Constants which are used as parameters for the method calls
//------------------------------------------------------------------
 
// TTF Font families
DEFINE("FF_COURIER",10);
DEFINE("FF_VERDANA",11);
DEFINE("FF_TIMES",12);
DEFINE("FF_COMIC",14);
DEFINE("FF_ARIAL",15);
DEFINE("FF_GEORGIA",16);
DEFINE("FF_TREBUCHE",17);
 
// Chinese font
DEFINE("FF_SIMSUN",18);
 
// Older deprecated fonts
DEFINE("FF_BOOK",91); // Deprecated fonts from 1.9
DEFINE("FF_HANDWRT",92); // Deprecated fonts from 1.9
 
// TTF Font styles
DEFINE("FS_NORMAL",9001);
DEFINE("FS_BOLD",9002);
DEFINE("FS_ITALIC",9003);
DEFINE("FS_BOLDIT",9004);
DEFINE("FS_BOLDITALIC",9004);
 
//Definitions for internal font, new style
DEFINE("FF_FONT0",1);
DEFINE("FF_FONT1",2);
DEFINE("FF_FONT2",4);
 
//Definitions for internal font, old style
// (Only defined here to be able to generate an error mesage
// when used)
DEFINE("FONT0",99); // Deprecated from 1.2
DEFINE("FONT1",98); // Deprecated from 1.2
DEFINE("FONT1_BOLD",97); // Deprecated from 1.2
DEFINE("FONT2",96); // Deprecated from 1.2
DEFINE("FONT2_BOLD",95); // Deprecated from 1.2
 
// Tick density
DEFINE("TICKD_DENSE",1);
DEFINE("TICKD_NORMAL",2);
DEFINE("TICKD_SPARSE",3);
DEFINE("TICKD_VERYSPARSE",4);
 
// Side for ticks and labels.
DEFINE("SIDE_LEFT",-1);
DEFINE("SIDE_RIGHT",1);
DEFINE("SIDE_DOWN",-1);
DEFINE("SIDE_BOTTOM",-1);
DEFINE("SIDE_UP",1);
DEFINE("SIDE_TOP",1);
 
// Legend type stacked vertical or horizontal
DEFINE("LEGEND_VERT",0);
DEFINE("LEGEND_HOR",1);
 
// Mark types for plot marks
DEFINE("MARK_SQUARE",1);
DEFINE("MARK_UTRIANGLE",2);
DEFINE("MARK_DTRIANGLE",3);
DEFINE("MARK_DIAMOND",4);
DEFINE("MARK_CIRCLE",5);
DEFINE("MARK_FILLEDCIRCLE",6);
DEFINE("MARK_CROSS",7);
DEFINE("MARK_STAR",8);
DEFINE("MARK_X",9);
DEFINE("MARK_LEFTTRIANGLE",10);
DEFINE("MARK_RIGHTTRIANGLE",11);
DEFINE("MARK_FLASH",12);
DEFINE("MARK_IMG",13);
 
// Builtin images
DEFINE("MARK_IMG_PUSHPIN",50);
DEFINE("MARK_IMG_SPUSHPIN",50);
DEFINE("MARK_IMG_LPUSHPIN",51);
DEFINE("MARK_IMG_DIAMOND",52);
DEFINE("MARK_IMG_SQUARE",53);
DEFINE("MARK_IMG_STAR",54);
DEFINE("MARK_IMG_BALL",55);
DEFINE("MARK_IMG_SBALL",55);
DEFINE("MARK_IMG_MBALL",56);
DEFINE("MARK_IMG_LBALL",57);
DEFINE("MARK_IMG_BEVEL",58);
 
// Styles for gradient color fill
DEFINE("GRAD_VER",1);
DEFINE("GRAD_VERT",1);
DEFINE("GRAD_HOR",2);
DEFINE("GRAD_MIDHOR",3);
DEFINE("GRAD_MIDVER",4);
DEFINE("GRAD_CENTER",5);
DEFINE("GRAD_WIDE_MIDVER",6);
DEFINE("GRAD_WIDE_MIDHOR",7);
DEFINE("GRAD_LEFT_REFLECTION",8);
DEFINE("GRAD_RIGHT_REFLECTION",9);
 
// Inline defines
DEFINE("INLINE_YES",1);
DEFINE("INLINE_NO",0);
 
// Format for background images
DEFINE("BGIMG_FILLPLOT",1);
DEFINE("BGIMG_FILLFRAME",2);
DEFINE("BGIMG_COPY",3);
DEFINE("BGIMG_CENTER",4);
 
// Depth of objects
DEFINE("DEPTH_BACK",0);
DEFINE("DEPTH_FRONT",1);
 
// Direction
DEFINE("VERTICAL",1);
DEFINE("HORIZONTAL",0);
 
// Constants for types of static bands in plot area
DEFINE("BAND_RDIAG",1); // Right diagonal lines
DEFINE("BAND_LDIAG",2); // Left diagonal lines
DEFINE("BAND_SOLID",3); // Solid one color
DEFINE("BAND_VLINE",4); // Vertical lines
DEFINE("BAND_HLINE",5); // Horizontal lines
DEFINE("BAND_3DPLANE",6); // "3D" Plane
DEFINE("BAND_HVCROSS",7); // Vertical/Hor crosses
DEFINE("BAND_DIAGCROSS",8); // Diagonal crosses
 
// Axis styles for scientific style axis
DEFINE('AXSTYLE_SIMPLE',1);
DEFINE('AXSTYLE_BOXIN',2);
DEFINE('AXSTYLE_BOXOUT',3);
DEFINE('AXSTYLE_YBOXIN',4);
DEFINE('AXSTYLE_YBOXOUT',5);
 
// Style for title backgrounds
DEFINE('TITLEBKG_STYLE1',1);
DEFINE('TITLEBKG_STYLE2',2);
DEFINE('TITLEBKG_STYLE3',3);
DEFINE('TITLEBKG_FRAME_NONE',0);
DEFINE('TITLEBKG_FRAME_FULL',1);
DEFINE('TITLEBKG_FRAME_BOTTOM',2);
DEFINE('TITLEBKG_FRAME_BEVEL',3);
DEFINE('TITLEBKG_FILLSTYLE_HSTRIPED',1);
DEFINE('TITLEBKG_FILLSTYLE_VSTRIPED',2);
DEFINE('TITLEBKG_FILLSTYLE_SOLID',3);
 
// Width of tab titles
DEFINE('TABTITLE_WIDTHFIT',0);
DEFINE('TABTITLE_WIDTHFULL',-1);
 
//
// Get hold of gradient class (In Version 2.x)
// A client of the library has to manually include this
//
include "jpgraph_gradient.php";
 
//
// First of all set up a default error handler
//
 
//=============================================================
// The default trivial text error handler.
//=============================================================
class JpGraphErrObject {
function JpGraphErrObject() {
// Empty. Reserved for future use
}
 
// If aHalt is true then execution can't continue. Typical used for
// fatal errors
function Raise($aMsg,$aHalt=true) {
$aMsg = "<b>JpGraph Error:</b> ".$aMsg;
if( $aHalt )
die($aMsg);
else
echo $aMsg."<p>";
}
}
 
//==============================================================
// An image based error handler
//==============================================================
class JpGraphErrObjectImg {
 
function Raise($aMsg,$aHalt=true) {
if( headers_sent() ) {
// Special case for headers already sent error. Dont
// return an image since it can't be displayed
die("<b>JpGraph Error:</b> ".$aMsg);
}
 
// Create an image that contains the error text.
$w=450; $h=110;
$img = new Image($w,$h);
$img->SetColor("darkred");
$img->Rectangle(0,0,$w-1,$h-1);
$img->SetFont(FF_FONT1,FS_BOLD);
$img->StrokeText(10,20,"JpGraph Error:");
$img->SetColor("black");
$img->SetFont(FF_FONT1,FS_NORMAL);
$txt = new Text(wordwrap($aMsg,70),10,20);
$txt->Align("left","top");
$txt->Stroke($img);
$img->Headers();
$img->Stream();
die();
}
}
 
//
// A wrapper class that is used to access the specified error object
// (to hide the global error parameter and avoid having a GLOBAL directive
// in all methods.
//
class JpGraphError {
function Install($aErrObject) {
GLOBAL $__jpg_err;
$__jpg_err = $aErrObject;
}
function Raise($aMsg,$aHalt=true){
GLOBAL $__jpg_err;
$tmp = new $__jpg_err;
$tmp->Raise($aMsg,$aHalt);
}
}
 
//
// ... and install the default error handler
//
if( USE_IMAGE_ERROR_HANDLER ) {
JpGraphError::Install("JpGraphErrObjectImg");
}
else {
JpGraphError::Install("JpGraphErrObject");
}
 
 
//
//Check if there were any warnings, perhaps some wrong includes by the
//user
//
if( isset($GLOBALS['php_errormsg']) ) {
JpGraphError::Raise("<b>General PHP error:</b><br>".$GLOBALS['php_errormsg']);
}
 
 
//
// Routine to determine if GD1 or GD2 is installed
//
function CheckGDVersion() {
ob_start();
phpinfo(8); // Just get the modules loaded
$a = ob_get_contents();
ob_end_clean();
if( preg_match('/.*GD Version.*(1\.).*/',$a,$m) ) {
$r=1;$v=$m[1];
}
elseif( preg_match('/.*GD Version.*(2\.).*/',$a,$m) ) {
$r=2;$v=$m[1];
}
else {
$r=0;$v=$m[1];
}
return $r;
}
 
//
// Check what version of the GD library is installed.
//
if( USE_LIBRARY_GD2 === 'auto' ) {
$gdversion = CheckGDVersion();
if( $gdversion == 2 ) {
$GLOBALS['gd2'] = true;
$GLOBALS['copyfunc'] = 'imagecopyresampled';
}
elseif( $gdversion == 1 ) {
$GLOBALS['gd2'] = false;
$GLOBALS['copyfunc'] = 'imagecopyresized';
}
else {
JpGraphError::Raise(" Your PHP installation does not seem to
have the required GD library.
Please see the PHP documentation on how to install and enable the GD library.");
}
}
else {
$GLOBALS['gd2'] = USE_LIBRARY_GD2;
$GLOBALS['copyfunc'] = USE_LIBRARY_GD2 ? 'imagecopyresampled' : 'imagecopyresized';
}
 
// Usefull mathematical function
function sign($a) {return $a >= 0 ? 1 : -1;}
 
// Utility function to generate an image name based on the filename we
// are running from and assuming we use auto detection of graphic format
// (top level), i.e it is safe to call this function
// from a script that uses JpGraph
function GenImgName() {
global $HTTP_SERVER_VARS;
$supported = imagetypes();
if( $supported & IMG_PNG )
$img_format="png";
elseif( $supported & IMG_GIF )
$img_format="gif";
elseif( $supported & IMG_JPG )
$img_format="jpeg";
if( !isset($HTTP_SERVER_VARS['PHP_SELF']) )
JpGraphError::Raise(" Can't access PHP_SELF, PHP global variable. You can't run PHP from command line
if you want to use the 'auto' naming of cache or image files.");
$fname=basename($HTTP_SERVER_VARS['PHP_SELF']);
// Replace the ".php" extension with the image format extension
return substr($fname,0,strlen($fname)-4).".".$img_format;
}
 
class LanguageConv {
var $g2312 = null ;
 
function Convert($aTxt,$aFF) {
if( LANGUAGE_CYRILLIC ) {
if( CYRILLIC_FROM_WINDOWS ) {
$aTxt = convert_cyr_string($aTxt, "w", "k");
}
$isostring = convert_cyr_string($aTxt, "k", "i");
$unistring = LanguageConv::iso2uni($isostring);
return $unistring;
}
elseif( $aFF === FF_SIMSUN ) {
// Do Chinese conversion
if( $this->g2312 == null ) {
include_once 'jpgraph_gb2312.php' ;
$this->g2312 = new GB2312toUTF8();
}
return $this->g2312->gb2utf8($aTxt);
}
else
return $aTxt;
}
 
// Translate iso encoding to unicode
function iso2uni ($isoline){
for ($i=0; $i < strlen($isoline); $i++){
$thischar=substr($isoline,$i,1);
$charcode=ord($thischar);
$uniline.=($charcode>175) ? "&#" . (1040+($charcode-176)). ";" : $thischar;
}
return $uniline;
}
}
 
//===================================================
// CLASS JpgTimer
// Description: General timing utility class to handle
// timne measurement of generating graphs. Multiple
// timers can be started by pushing new on a stack.
//===================================================
class JpgTimer {
var $start;
var $idx;
//---------------
// CONSTRUCTOR
function JpgTimer() {
$this->idx=0;
}
 
//---------------
// PUBLIC METHODS
 
// Push a new timer start on stack
function Push() {
list($ms,$s)=explode(" ",microtime());
$this->start[$this->idx++]=floor($ms*1000) + 1000*$s;
}
 
// Pop the latest timer start and return the diff with the
// current time
function Pop() {
assert($this->idx>0);
list($ms,$s)=explode(" ",microtime());
$etime=floor($ms*1000) + (1000*$s);
$this->idx--;
return $etime-$this->start[$this->idx];
}
} // Class
 
$gJpgBrandTiming = BRAND_TIMING;
//===================================================
// CLASS DateLocale
// Description: Hold localized text used in dates
// ToDOo: Rewrite this to use the real local locale
// instead.
//===================================================
class DateLocale {
var $iLocale = 'C'; // environmental locale be used by default
 
var $iDayAbb = null;
var $iShortDay = null;
var $iShortMonth = null;
var $iMonthName = null;
 
//---------------
// CONSTRUCTOR
function DateLocale() {
settype($this->iDayAbb, 'array');
settype($this->iShortDay, 'array');
settype($this->iShortMonth, 'array');
settype($this->iMonthName, 'array');
 
 
$this->Set('C');
}
 
//---------------
// PUBLIC METHODS
function Set($aLocale) {
if ( in_array($aLocale, array_keys($this->iDayAbb)) ){
$this->iLocale = $aLocale;
return TRUE; // already cached nothing else to do!
}
 
$pLocale = setlocale(LC_TIME, 0); // get current locale for LC_TIME
$res = setlocale(LC_TIME, $aLocale);
if ( ! $res ){
JpGraphError::Raise("You are trying to use the locale ($aLocale) which your PHP installation does not support. Hint: Use '' to indicate the default locale for this geographic region.");
return FALSE;
}
$this->iLocale = $aLocale;
 
for ( $i = 0, $ofs = 0 - strftime('%w'); $i < 7; $i++, $ofs++ ){
$day = strftime('%a', strtotime("$ofs day"));
$day{0} = strtoupper($day{0});
$this->iDayAbb[$aLocale][]= $day{0};
$this->iShortDay[$aLocale][]= $day;
}
 
for($i=1; $i<=12; ++$i) {
list($short ,$full) = explode('|', strftime("%b|%B",strtotime("2001-$i-01")));
$this->iShortMonth[$aLocale][] = ucfirst($short);
$this->iMonthName [$aLocale][] = ucfirst($full);
}
setlocale(LC_TIME, $pLocale);
 
return TRUE;
}
 
 
function GetDayAbb() {
return $this->iDayAbb[$this->iLocale];
}
function GetShortDay() {
return $this->iShortDay[$this->iLocale];
}
 
function GetShortMonth() {
return $this->iShortMonth[$this->iLocale];
}
function GetShortMonthName($aNbr) {
return $this->iShortMonth[$this->iLocale][$aNbr];
}
 
function GetLongMonthName($aNbr) {
return $this->iMonthName[$this->iLocale][$aNbr];
}
 
function GetMonth() {
return $this->iMonthName[$this->iLocale];
}
}
 
$gDateLocale = new DateLocale();
$gJpgDateLocale = new DateLocale();
 
 
//===================================================
// CLASS FuncGenerator
// Description: Utility class to help generate data for function plots.
// The class supports both parametric and regular functions.
//===================================================
class FuncGenerator {
var $iFunc='',$iXFunc='',$iMin,$iMax,$iStepSize;
function FuncGenerator($aFunc,$aXFunc='') {
$this->iFunc = $aFunc;
$this->iXFunc = $aXFunc;
}
function E($aXMin,$aXMax,$aSteps=50) {
$this->iMin = $aXMin;
$this->iMax = $aXMax;
$this->iStepSize = ($aXMax-$aXMin)/$aSteps;
 
if( $this->iXFunc != '' )
$t = 'for($i='.$aXMin.'; $i<='.$aXMax.'; $i += '.$this->iStepSize.') {$ya[]='.$this->iFunc.';$xa[]='.$this->iXFunc.';}';
elseif( $this->iFunc != '' )
$t = 'for($x='.$aXMin.'; $x<='.$aXMax.'; $x += '.$this->iStepSize.') {$ya[]='.$this->iFunc.';$xa[]=$x;} $x='.$aXMax.';$ya[]='.$this->iFunc.';$xa[]=$x;';
else
JpGraphError::Raise('FuncGenerator : No function specified. ');
@eval($t);
// If there is an error in the function specifcation this is the only
// way we can discover that.
if( empty($xa) || empty($ya) )
JpGraphError::Raise('FuncGenerator : Syntax error in function specification ');
return array($xa,$ya);
}
}
 
 
//=======================================================
// CLASS Footer
// Description: Encapsulates the footer line in the Graph
//
//=======================================================
class Footer {
var $left,$center,$right;
var $iLeftMargin = 3;
var $iRightMargin = 3;
var $iBottomMargin = 3;
 
function Footer() {
$this->left = new Text();
$this->left->ParagraphAlign('left');
$this->center = new Text();
$this->center->ParagraphAlign('center');
$this->right = new Text();
$this->right->ParagraphAlign('right');
}
 
function Stroke($aImg) {
$y = $aImg->height - $this->iBottomMargin;
$x = $this->iLeftMargin;
$this->left->Align('left','bottom');
$this->left->Stroke($aImg,$x,$y);
 
$x = ($aImg->width - $this->iLeftMargin - $this->iRightMargin)/2;
$this->center->Align('center','bottom');
$this->center->Stroke($aImg,$x,$y);
 
$x = $aImg->width - $this->iRightMargin;
$this->right->Align('right','bottom');
$this->right->Stroke($aImg,$x,$y);
}
}
 
DEFINE('BGRAD_FRAME',1);
DEFINE('BGRAD_MARGIN',2);
DEFINE('BGRAD_PLOT',3);
 
 
 
//===================================================
// CLASS Graph
// Description: Main class to handle graphs
//===================================================
class Graph {
var $cache=null; // Cache object (singleton)
var $img=null; // Img object (singleton)
var $plots=array(); // Array of all plot object in the graph (for Y 1 axis)
var $y2plots=array();// Array of all plot object in the graph (for Y 2 axis)
var $xscale=null; // X Scale object (could be instance of LinearScale or LogScale
var $yscale=null,$y2scale=null;
var $cache_name; // File name to be used for the current graph in the cache directory
var $xgrid=null; // X Grid object (linear or logarithmic)
var $ygrid=null,$y2grid=null; //dito for Y
var $doframe=true,$frame_color=array(0,0,0), $frame_weight=1; // Frame around graph
var $boxed=false, $box_color=array(0,0,0), $box_weight=1; // Box around plot area
var $doshadow=false,$shadow_width=4,$shadow_color=array(102,102,102); // Shadow for graph
var $xaxis=null; // X-axis (instane of Axis class)
var $yaxis=null, $y2axis=null; // Y axis (instance of Axis class)
var $margin_color=array(200,200,200); // Margin color of graph
var $plotarea_color=array(255,255,255); // Plot area color
var $title,$subtitle,$subsubtitle; // Title and subtitle(s) text object
var $axtype="linlin"; // Type of axis
var $xtick_factor; // Factot to determine the maximum number of ticks depending on the plot with
var $texts=null; // Text object to ge shown in the graph
var $lines=null;
var $bands=null;
var $text_scale_off=0; // Text scale offset in world coordinates
var $background_image="",$background_image_type=-1,$background_image_format="png";
var $background_image_bright=0,$background_image_contr=0,$background_image_sat=0;
var $image_bright=0, $image_contr=0, $image_sat=0;
var $inline;
var $showcsim=0,$csimcolor="red"; //debug stuff, draw the csim boundaris on the image if <>0
var $grid_depth=DEPTH_BACK; // Draw grid under all plots as default
var $iAxisStyle = AXSTYLE_SIMPLE;
var $iCSIMdisplay=false,$iHasStroked = false;
var $footer;
var $csimcachename = '', $csimcachetimeout = 0;
var $iDoClipping = false;
var $y2orderback=true;
var $tabtitle;
var $bkg_gradtype=-1,$bkg_gradstyle=BGRAD_MARGIN;
var $bkg_gradfrom='navy', $bkg_gradto='silver';
var $titlebackground = false;
var $titlebackground_color = 'lightblue',
$titlebackground_style = 1,
$titlebackground_framecolor = 'blue',
$titlebackground_framestyle = 2,
$titlebackground_frameweight = 1,
$titlebackground_bevelheight = 3 ;
var $titlebkg_fillstyle=TITLEBKG_FILLSTYLE_SOLID;
var $titlebkg_scolor1='black',$titlebkg_scolor2='white';
var $framebevel = false, $framebeveldepth = 2 ;
var $framebevelborder = false, $framebevelbordercolor='black';
var $framebevelcolor1='white@0.4', $framebevelcolor2='black@0.4';
 
//---------------
// CONSTRUCTOR
 
// aWIdth Width in pixels of image
// aHeight Height in pixels of image
// aCachedName Name for image file in cache directory
// aTimeOut Timeout in minutes for image in cache
// aInline If true the image is streamed back in the call to Stroke()
// If false the image is just created in the cache
function Graph($aWidth=300,$aHeight=200,$aCachedName="",$aTimeOut=0,$aInline=true) {
GLOBAL $gJpgBrandTiming;
// If timing is used create a new timing object
if( $gJpgBrandTiming ) {
global $tim;
$tim = new JpgTimer();
$tim->Push();
}
// Automatically generate the image file name based on the name of the script that
// generates the graph
if( $aCachedName=="auto" )
$aCachedName=GenImgName();
// Should the image be streamed back to the browser or only to the cache?
$this->inline=$aInline;
$this->img = new RotImage($aWidth,$aHeight);
 
$this->cache = new ImgStreamCache($this->img);
$this->cache->SetTimeOut($aTimeOut);
 
$this->title = new Text();
$this->title->ParagraphAlign('center');
$this->title->SetFont(FF_FONT2,FS_BOLD);
$this->title->SetMargin(3);
 
$this->subtitle = new Text();
$this->subtitle->ParagraphAlign('center');
 
$this->subsubtitle = new Text();
$this->subsubtitle->ParagraphAlign('center');
 
$this->legend = new Legend();
$this->footer = new Footer();
 
// If the cached version exist just read it directly from the
// cache, stream it back to browser and exit
if( $aCachedName!="" && READ_CACHE && $aInline )
if( $this->cache->GetAndStream($aCachedName) ) {
exit();
}
$this->cache_name = $aCachedName;
$this->SetTickDensity(); // Normal density
 
$this->tabtitle = new GraphTabTitle();
}
//---------------
// PUBLIC METHODS
 
// Should the grid be in front or back of the plot?
function SetGridDepth($aDepth) {
$this->grid_depth=$aDepth;
}
// Specify graph angle 0-360 degrees.
function SetAngle($aAngle) {
$this->img->SetAngle($aAngle);
}
 
function SetAlphaBlending($aFlg=true) {
$this->img->SetAlphaBlending($aFlg);
}
 
// Shortcut to image margin
function SetMargin($lm,$rm,$tm,$bm) {
$this->img->SetMargin($lm,$rm,$tm,$bm);
}
 
function SetY2OrderBack($aBack=true) {
$this->y2orderback = $aBack;
}
 
// Rotate the graph 90 degrees and set the margin
// when we have done a 90 degree rotation
function Set90AndMargin($lm=0,$rm=0,$tm=0,$bm=0) {
$lm = $lm ==0 ? floor(0.2 * $this->img->width) : $lm ;
$rm = $rm ==0 ? floor(0.1 * $this->img->width) : $rm ;
$tm = $tm ==0 ? floor(0.2 * $this->img->height) : $tm ;
$bm = $bm ==0 ? floor(0.1 * $this->img->height) : $bm ;
 
$adj = ($this->img->height - $this->img->width)/2;
$this->img->SetMargin($tm-$adj,$bm-$adj,$rm+$adj,$lm+$adj);
$this->img->SetCenter(floor($this->img->width/2),floor($this->img->height/2));
$this->SetAngle(90);
$this->xaxis->SetLabelAlign('right','center');
$this->yaxis->SetLabelAlign('center','bottom');
}
function SetClipping($aFlg=true) {
$this->iDoClipping = $aFlg ;
}
 
// Add a plot object to the graph
function Add(&$aPlot) {
if( $aPlot == null )
JpGraphError::Raise("<b></b> Graph::Add() You tried to add a null plot to the graph.");
if( is_array($aPlot) && count($aPlot) > 0 )
$cl = get_class($aPlot[0]);
else
$cl = get_class($aPlot);
 
if( $cl == 'text' )
$this->AddText($aPlot);
elseif( $cl == 'plotline' )
$this->AddLine($aPlot);
elseif( $cl == 'plotband' )
$this->AddBand($aPlot);
else
$this->plots[] = &$aPlot;
}
 
// Add plot to second Y-scale
function AddY2(&$aPlot) {
if( $aPlot == null )
JpGraphError::Raise("<b></b> Graph::AddY2() You tried to add a null plot to the graph.");
$this->y2plots[] = &$aPlot;
}
// Add text object to the graph
function AddText(&$aTxt) {
if( $aTxt == null )
JpGraphError::Raise("<b></b> Graph::AddText() You tried to add a null text to the graph.");
if( is_array($aTxt) ) {
for($i=0; $i < count($aTxt); ++$i )
$this->texts[]=&$aTxt[$i];
}
else
$this->texts[] = &$aTxt;
}
// Add a line object (class PlotLine) to the graph
function AddLine(&$aLine) {
if( $aLine == null )
JpGraphError::Raise("<b></b> Graph::AddLine() You tried to add a null line to the graph.");
if( is_array($aLine) ) {
for($i=0; $i<count($aLine); ++$i )
$this->lines[]=&$aLine[$i];
}
else
$this->lines[] = &$aLine;
}
 
// Add vertical or horizontal band
function AddBand(&$aBand) {
if( $aBand == null )
JpGraphError::Raise(" Graph::AddBand() You tried to add a null band to the graph.");
if( is_array($aBand) ) {
for($i=0; $i<count($aBand); ++$i )
$this->bands[] = &$aBand[$i];
}
else
$this->bands[] = &$aBand;
}
 
function SetBackgroundGradient($aFrom='navy',$aTo='silver',$aGradType=GRAD_HOR,$aStyle=BGRAD_FRAME) {
$this->bkg_gradtype=$aGradType;
$this->bkg_gradstyle=$aStyle;
$this->bkg_gradfrom = $aFrom;
$this->bkg_gradto = $aTo;
}
// Specify a background image
function SetBackgroundImage($aFileName,$aBgType=BGIMG_FILLPLOT,$aImgFormat="auto") {
 
if( $GLOBALS['gd2'] && !USE_TRUECOLOR ) {
JpGraphError::Raise("You are using GD 2.x and are trying to use a background images on a non truecolor image. To use background images with GD 2.x you <b>must</b> enable truecolor by setting the USE_TRUECOLOR constant to TRUE. Due to a bug in GD 2.0.1 using any truetype fonts with truecolor images will result in very poor quality fonts.");
}
 
// Get extension to determine image type
if( $aImgFormat == "auto" ) {
$e = explode('.',$aFileName);
if( !$e ) {
JpGraphError::Raise('Incorrect file name for Graph::SetBackgroundImage() : '.$aFileName.' Must have a valid image extension (jpg,gif,png) when using autodetection of image type');
}
 
$valid_formats = array('png', 'jpg', 'gif');
$aImgFormat = strtolower($e[count($e)-1]);
if ($aImgFormat == 'jpeg') {
$aImgFormat = 'jpg';
}
elseif (!in_array($aImgFormat, $valid_formats) ) {
JpGraphError::Raise('Unknown file extension ($aImgFormat) in Graph::SetBackgroundImage() for filename: '.$aFileName);
}
}
 
$this->background_image = $aFileName;
$this->background_image_type=$aBgType;
$this->background_image_format=$aImgFormat;
}
// Adjust brightness and constrast for background image
function AdjBackgroundImage($aBright,$aContr=0,$aSat=0) {
$this->background_image_bright=$aBright;
$this->background_image_contr=$aContr;
$this->background_image_sat=$aSat;
}
// Adjust brightness and constrast for image
function AdjImage($aBright,$aContr=0,$aSat=0) {
$this->image_bright=$aBright;
$this->image_contr=$aContr;
$this->image_sat=$aSat;
}
 
// Specify axis style (boxed or single)
function SetAxisStyle($aStyle) {
$this->iAxisStyle = $aStyle ;
}
// Set a frame around the plot area
function SetBox($aDrawPlotFrame=true,$aPlotFrameColor=array(0,0,0),$aPlotFrameWeight=1) {
$this->boxed = $aDrawPlotFrame;
$this->box_weight = $aPlotFrameWeight;
$this->box_color = $aPlotFrameColor;
}
// Specify color for the plotarea (not the margins)
function SetColor($aColor) {
$this->plotarea_color=$aColor;
}
// Specify color for the margins (all areas outside the plotarea)
function SetMarginColor($aColor) {
$this->margin_color=$aColor;
}
// Set a frame around the entire image
function SetFrame($aDrawImgFrame=true,$aImgFrameColor=array(0,0,0),$aImgFrameWeight=1) {
$this->doframe = $aDrawImgFrame;
$this->frame_color = $aImgFrameColor;
$this->frame_weight = $aImgFrameWeight;
}
 
function SetFrameBevel($aDepth=3,$aBorder=false,$aBorderColor='black',$aColor1='white@0.4',$aColor2='darkgray@0.4',$aFlg=true) {
$this->framebevel = $aFlg ;
$this->framebeveldepth = $aDepth ;
$this->framebevelborder = $aBorder ;
$this->framebevelbordercolor = $aBorderColor ;
$this->framebevelcolor1 = $aColor1 ;
$this->framebevelcolor2 = $aColor2 ;
 
$this->doshadow = false ;
}
 
// Set the shadow around the whole image
function SetShadow($aShowShadow=true,$aShadowWidth=5,$aShadowColor=array(102,102,102)) {
$this->doshadow = $aShowShadow;
$this->shadow_color = $aShadowColor;
$this->shadow_width = $aShadowWidth;
$this->footer->iBottomMargin += $aShadowWidth;
$this->footer->iRightMargin += $aShadowWidth;
}
 
// Specify x,y scale. Note that if you manually specify the scale
// you must also specify the tick distance with a call to Ticks::Set()
function SetScale($aAxisType,$aYMin=1,$aYMax=1,$aXMin=1,$aXMax=1) {
$this->axtype = $aAxisType;
 
if( $aYMax < $aYMin || $aXMax < $aXMin )
JpGraphError::Raise('Graph::SetScale(): Specified Max value must be larger than the specified Min value.');
 
$yt=substr($aAxisType,-3,3);
if( $yt=="lin" )
$this->yscale = new LinearScale($aYMin,$aYMax);
elseif( $yt == "int" ) {
$this->yscale = new LinearScale($aYMin,$aYMax);
$this->yscale->SetIntScale();
}
elseif( $yt=="log" )
$this->yscale = new LogScale($aYMin,$aYMax);
else
JpGraphError::Raise("Unknown scale specification for Y-scale. ($aAxisType)");
$xt=substr($aAxisType,0,3);
if( $xt == "lin" || $xt == "tex" ) {
$this->xscale = new LinearScale($aXMin,$aXMax,"x");
$this->xscale->textscale = ($xt == "tex");
}
elseif( $xt == "int" ) {
$this->xscale = new LinearScale($aXMin,$aXMax,"x");
$this->xscale->SetIntScale();
}
elseif( $xt == "log" )
$this->xscale = new LogScale($aXMin,$aXMax,"x");
else
JpGraphError::Raise(" Unknown scale specification for X-scale. ($aAxisType)");
 
$this->xscale->Init($this->img);
$this->yscale->Init($this->img);
$this->xaxis = new Axis($this->img,$this->xscale);
$this->yaxis = new Axis($this->img,$this->yscale);
$this->xgrid = new Grid($this->xaxis);
$this->ygrid = new Grid($this->yaxis);
$this->ygrid->Show();
}
// Specify secondary Y scale
function SetY2Scale($aAxisType="lin",$aY2Min=1,$aY2Max=1) {
if( $aAxisType=="lin" )
$this->y2scale = new LinearScale($aY2Min,$aY2Max);
elseif( $aAxisType == "int" ) {
$this->y2scale = new LinearScale($aY2Min,$aY2Max);
$this->y2scale->SetIntScale();
}
elseif( $aAxisType=="log" ) {
$this->y2scale = new LogScale($aY2Min,$aY2Max);
}
else JpGraphError::Raise("JpGraph: Unsupported Y2 axis type: $axtype<br>");
$this->y2scale->Init($this->img);
$this->y2axis = new Axis($this->img,$this->y2scale);
$this->y2axis->scale->ticks->SetDirection(SIDE_LEFT);
$this->y2axis->SetLabelSide(SIDE_RIGHT);
// Deafult position is the max x-value
$this->y2grid = new Grid($this->y2axis);
}
// Specify density of ticks when autoscaling 'normal', 'dense', 'sparse', 'verysparse'
// The dividing factor have been determined heuristically according to my aesthetic
// sense (or lack off) y.m.m.v !
function SetTickDensity($aYDensity=TICKD_NORMAL,$aXDensity=TICKD_NORMAL) {
$this->xtick_factor=30;
$this->ytick_factor=25;
switch( $aYDensity ) {
case TICKD_DENSE:
$this->ytick_factor=12;
break;
case TICKD_NORMAL:
$this->ytick_factor=25;
break;
case TICKD_SPARSE:
$this->ytick_factor=40;
break;
case TICKD_VERYSPARSE:
$this->ytick_factor=100;
break;
default:
JpGraphError::Raise("JpGraph: Unsupported Tick density: $densy");
}
switch( $aXDensity ) {
case TICKD_DENSE:
$this->xtick_factor=15;
break;
case TICKD_NORMAL:
$this->xtick_factor=30;
break;
case TICKD_SPARSE:
$this->xtick_factor=45;
break;
case TICKD_VERYSPARSE:
$this->xtick_factor=60;
break;
default:
JpGraphError::Raise("JpGraph: Unsupported Tick density: $densx");
}
}
 
// Get a string of all image map areas
function GetCSIMareas() {
if( !$this->iHasStroked )
$this->Stroke(_CSIM_SPECIALFILE);
$csim=$this->legend->GetCSIMAreas();
 
$n = count($this->plots);
for( $i=0; $i<$n; ++$i )
$csim .= $this->plots[$i]->GetCSIMareas();
 
$n = count($this->y2plots);
for( $i=0; $i<$n; ++$i )
$csim .= $this->y2plots[$i]->GetCSIMareas();
 
return $csim;
}
// Get a complete <MAP>..</MAP> tag for the final image map
function GetHTMLImageMap($aMapName) {
$im = "<MAP NAME=\"$aMapName\">\n";
$im .= $this->GetCSIMareas();
$im .= "</MAP>";
return $im;
}
 
function CheckCSIMCache($aCacheName,$aTimeOut=60) {
global $HTTP_SERVER_VARS;
 
if( $aCacheName=='auto' )
$aCacheName=basename($HTTP_SERVER_VARS['PHP_SELF']);
 
$this->csimcachename = CSIMCACHE_DIR.$aCacheName;
$this->csimcachetimeout = $aTimeOut;
 
// First determine if we need to check for a cached version
// This differs from the standard cache in the sense that the
// image and CSIM map HTML file is written relative to the directory
// the script executes in and not the specified cache directory.
// The reason for this is that the cache directory is not necessarily
// accessible from the HTTP server.
if( $this->csimcachename != '' ) {
$dir = dirname($this->csimcachename);
$base = basename($this->csimcachename);
$base = strtok($base,'.');
$suffix = strtok('.');
$basecsim = $dir.'/'.$base.'_csim_.html';
$baseimg = $dir.'/'.$base.'.'.$this->img->img_format;
 
$timedout=false;
// Does it exist at all ?
if( file_exists($basecsim) && file_exists($baseimg) ) {
// Check that it hasn't timed out
$diff=time()-filemtime($basecsim);
if( $this->csimcachetimeout>0 && ($diff > $this->csimcachetimeout*60) ) {
$timedout=true;
@unlink($basecsim);
@unlink($baseimg);
}
else {
if ($fh = @fopen($basecsim, "r")) {
fpassthru($fh);
exit();
}
else
JpGraphError::Raise(" Can't open cached CSIM \"$basecsim\" for reading.");
}
}
}
return false;
}
 
function StrokeCSIM($aScriptName='',$aCSIMName='',$aBorder=0) {
GLOBAL $HTTP_GET_VARS;
 
if( $aCSIMName=='' ) {
// create a random map name
srand ((double) microtime() * 1000000);
$r = rand(0,100000);
$aCSIMName='__mapname'.$r.'__';
}
if( empty($HTTP_GET_VARS[_CSIM_DISPLAY]) ) {
// First determine if we need to check for a cached version
// This differs from the standard cache in the sense that the
// image and CSIM map HTML file is written relative to the directory
// the script executes in and not the specified cache directory.
// The reason for this is that the cache directory is not necessarily
// accessible from the HTTP server.
if( $this->csimcachename != '' ) {
$dir = dirname($this->csimcachename);
$base = basename($this->csimcachename);
$base = strtok($base,'.');
$suffix = strtok('.');
$basecsim = $dir.'/'.$base.'_csim_.html';
$baseimg = $base.'.'.$this->img->img_format;
 
// Check that apache can write to directory specified
 
if( file_exists($dir) && !is_writeable($dir) ) {
JpgraphError::Raise('Apache/PHP does not have permission to write to the CSIM cache directory ('.$dir.'). Check permissions.');
}
// Make sure directory exists
$this->cache->MakeDirs($dir);
 
// Write the image file
$this->Stroke(CSIMCACHE_DIR.$baseimg);
 
// Construct wrapper HTML and write to file and send it back to browser
$htmlwrap = $this->GetHTMLImageMap($aCSIMName)."\n".
'<img src="'.CSIMCACHE_HTTP_DIR.$baseimg.'" ISMAP USEMAP="#'.$aCSIMName.'" border='.$aBorder.'>'."\n";
if($fh = @fopen($basecsim,'w') ) {
fwrite($fh,$htmlwrap);
fclose($fh);
echo $htmlwrap;
}
else
JpGraphError::Raise(" Can't write CSIM \"$basecsim\" for writing. Check free space and permissions.");
}
else {
 
if( $aScriptName=='' ) {
JpGraphError::Raise('Missing script name in call to StrokeCSIM(). You must specify the name of the actual image script as the first parameter to StrokeCSIM().');
exit();
}
 
// Construct the HTML wrapper page
// Get all user defined URL arguments
reset($HTTP_GET_VARS);
// This is a JPGRAPH internal defined that prevents
// us from recursively coming here again
$urlarg='?'._CSIM_DISPLAY.'=1';
 
while( list($key,$value) = each($HTTP_GET_VARS) ) {
if( is_array($value) ) {
$n = count($value);
for( $i=0; $i < $n; ++$i ) {
$urlarg .= '&'.$key.'%5B%5D='.urlencode($value[$i]);
}
}
else {
$urlarg .= '&'.$key.'='.urlencode($value);
}
}
echo $this->GetHTMLImageMap($aCSIMName);
 
echo "<img src='".$aScriptName.$urlarg."' ISMAP USEMAP='#".$aCSIMName."' border=$aBorder>";
}
}
else {
$this->Stroke();
}
}
 
function GetTextsYMinMax() {
$n = count($this->texts);
$min=null;
$max=null;
for( $i=0; $i < $n; ++$i ) {
if( $this->texts[$i]->iScalePosY !== null &&
$this->texts[$i]->iScalePosX !== null ) {
if( $min === null ) {
$min = $max = $this->texts[$i]->iScalePosY ;
}
else {
$min = min($min,$this->texts[$i]->iScalePosY);
$max = max($max,$this->texts[$i]->iScalePosY);
}
}
}
if( $min !== null ) {
return array($min,$max);
}
else
return null;
}
 
function GetTextsXMinMax() {
$n = count($this->texts);
$min=null;
$max=null;
for( $i=0; $i < $n; ++$i ) {
if( $this->texts[$i]->iScalePosY !== null &&
$this->texts[$i]->iScalePosX !== null ) {
if( $min === null ) {
$min = $max = $this->texts[$i]->iScalePosX ;
}
else {
$min = min($min,$this->texts[$i]->iScalePosX);
$max = max($max,$this->texts[$i]->iScalePosX);
}
}
}
if( $min !== null ) {
return array($min,$max);
}
else
return null;
}
 
 
 
function GetXMinMax() {
list($min,$ymin) = $this->plots[0]->Min();
list($max,$ymax) = $this->plots[0]->Max();
foreach( $this->plots as $p ) {
list($xmin,$ymin) = $p->Min();
list($xmax,$ymax) = $p->Max();
$min = Min($xmin,$min);
$max = Max($xmax,$max);
}
if( $this->y2axis != null ) {
foreach( $this->y2plots as $p ) {
list($xmin,$ymin) = $p->Min();
list($xmax,$ymax) = $p->Max();
$min = Min($xmin,$min);
$max = Max($xmax,$max);
}
}
return array($min,$max);
}
 
function AdjustMarginsForTitles() {
$totrequired =
($this->title->t != '' ?
$this->title->GetTextHeight($this->img) + $this->title->margin + 5 : 0 ) +
($this->subtitle->t != '' ?
$this->subtitle->GetTextHeight($this->img) + $this->subtitle->margin + 5 : 0 ) +
($this->subsubtitle->t != '' ?
$this->subsubtitle->GetTextHeight($this->img) + $this->subsubtitle->margin + 5 : 0 ) ;
 
$btotrequired = 0;
if( !$this->xaxis->hide && !$this->xaxis->hide_labels ) {
// Minimum bottom margin
if( $this->xaxis->title->t != '' ) {
if( $this->img->a == 90 )
$btotrequired = $this->yaxis->title->GetTextHeight($this->img) + 5 ;
else
$btotrequired = $this->xaxis->title->GetTextHeight($this->img) + 5 ;
}
else
$btotrequired = 0;
if( $this->img->a == 90 ) {
$this->img->SetFont($this->yaxis->font_family,$this->yaxis->font_style,
$this->yaxis->font_size);
$lh = $this->img->GetTextHeight('Mg',$this->yaxis->label_angle);
}
else {
$this->img->SetFont($this->xaxis->font_family,$this->xaxis->font_style,
$this->xaxis->font_size);
$lh = $this->img->GetTextHeight('Mg',$this->xaxis->label_angle);
}
$btotrequired += $lh + 5;
}
 
if( $this->img->a == 90 ) {
// DO Nothing. It gets too messy to do this properly for 90 deg...
}
else{
if( $this->img->top_margin < $totrequired ) {
$this->SetMargin($this->img->left_margin,$this->img->right_margin,
$totrequired,$this->img->bottom_margin);
}
if( $this->img->bottom_margin < $btotrequired ) {
$this->SetMargin($this->img->left_margin,$this->img->right_margin,
$this->img->top_margin,$btotrequired);
}
}
}
 
// Stroke the graph
// $aStrokeFileName If != "" the image will be written to this file and NOT
// streamed back to the browser
function Stroke($aStrokeFileName="") {
 
// Start by adjusting the margin so that potential titles will fit.
$this->AdjustMarginsForTitles();
 
// If the filename is the predefined value = '_csim_special_'
// we assume that the call to stroke only needs to do enough
// to correctly generate the CSIM maps.
// We use this variable to skip things we don't strictly need
// to do to generate the image map to improve performance
// a best we can. Therefor you will see a lot of tests !$_csim in the
// code below.
$_csim = ($aStrokeFileName===_CSIM_SPECIALFILE);
 
// We need to know if we have stroked the plot in the
// GetCSIMareas. Otherwise the CSIM hasn't been generated
// and in the case of GetCSIM called before stroke to generate
// CSIM without storing an image to disk GetCSIM must call Stroke.
$this->iHasStroked = true;
 
// Do any pre-stroke adjustment that is needed by the different plot types
// (i.e bar plots want's to add an offset to the x-labels etc)
for($i=0; $i<count($this->plots) ; ++$i ) {
$this->plots[$i]->PreStrokeAdjust($this);
$this->plots[$i]->DoLegend($this);
}
// Any plots on the second Y scale?
if( $this->y2scale != null ) {
for($i=0; $i<count($this->y2plots) ; ++$i ) {
$this->y2plots[$i]->PreStrokeAdjust($this);
$this->y2plots[$i]->DoLegend($this);
}
}
// Bail out if any of the Y-axis not been specified and
// has no plots. (This means it is impossible to do autoscaling and
// no other scale was given so we can't possible draw anything). If you use manual
// scaling you also have to supply the tick steps as well.
if( (!$this->yscale->IsSpecified() && count($this->plots)==0) ||
($this->y2scale!=null && !$this->y2scale->IsSpecified() && count($this->y2plots)==0) ) {
$e = "Can't draw unspecified Y-scale.<br>\nYou have either:<br>\n";
$e .= "1. Specified an Y axis for autoscaling but have not supplied any plots<br>\n";
$e .= "2. Specified a scale manually but have forgot to specify the tick steps";
JpGraphError::Raise($e);
}
// Bail out if no plots and no specified X-scale
if( (!$this->xscale->IsSpecified() && count($this->plots)==0 && count($this->y2plots)==0) )
JpGraphError::Raise("<strong>JpGraph: Can't draw unspecified X-scale.</strong><br>No plots.<br>");
 
//Check if we should autoscale y-axis
if( !$this->yscale->IsSpecified() && count($this->plots)>0 ) {
list($min,$max) = $this->GetPlotsYMinMax($this->plots);
$lres = $this->GetLinesYMinMax($this->lines);
if( $lres ) {
list($linmin,$linmax) = $lres ;
$min = min($min,$linmin);
$max = max($max,$linmax);
}
$tres = $this->GetTextsYMinMax();
if( $tres ) {
list($tmin,$tmax) = $tres ;
$min = min($min,$tmin);
$max = max($max,$tmax);
}
$this->yscale->AutoScale($this->img,$min,$max,
$this->img->plotheight/$this->ytick_factor);
}
elseif( $this->yscale->IsSpecified() &&
( $this->yscale->auto_ticks || !$this->yscale->ticks->IsSpecified()) ) {
// The tick calculation will use the user suplied min/max values to determine
// the ticks. If auto_ticks is false the exact user specifed min and max
// values will be used for the scale.
// If auto_ticks is true then the scale might be slightly adjusted
// so that the min and max values falls on an even major step.
$min = $this->yscale->scale[0];
$max = $this->yscale->scale[1];
$this->yscale->AutoScale($this->img,$min,$max,
$this->img->plotheight/$this->ytick_factor,
$this->yscale->auto_ticks);
}
 
if( $this->y2scale != null) {
if( !$this->y2scale->IsSpecified() && count($this->y2plots)>0 ) {
list($min,$max) = $this->GetPlotsYMinMax($this->y2plots);
$this->y2scale->AutoScale($this->img,$min,$max,$this->img->plotheight/$this->ytick_factor);
}
elseif( $this->y2scale->IsSpecified() &&
( $this->y2scale->auto_ticks || !$this->y2scale->ticks->IsSpecified()) ) {
// The tick calculation will use the user suplied min/max values to determine
// the ticks. If auto_ticks is false the exact user specifed min and max
// values will be used for the scale.
// If auto_ticks is true then the scale might be slightly adjusted
// so that the min and max values falls on an even major step.
$min = $this->y2scale->scale[0];
$max = $this->y2scale->scale[1];
$this->y2scale->AutoScale($this->img,$min,$max,
$this->img->plotheight/$this->ytick_factor,
$this->y2scale->auto_ticks);
}
}
//Check if we should autoscale x-axis
if( !$this->xscale->IsSpecified() ) {
if( substr($this->axtype,0,4) == "text" ) {
$max=0;
foreach( $this->plots as $p ) {
$max=max($max,$p->numpoints-1);
}
$min=0;
if( $this->y2axis != null ) {
foreach( $this->y2plots as $p ) {
$max=max($max,$p->numpoints-1);
}
}
$this->xscale->Update($this->img,$min,$max);
$this->xscale->ticks->Set($this->xaxis->tick_step,1);
$this->xscale->ticks->SupressMinorTickMarks();
}
else {
list($min,$max) = $this->GetXMinMax();
$lres = $this->GetLinesXMinMax($this->lines);
if( $lres ) {
list($linmin,$linmax) = $lres ;
$min = min($min,$linmin);
$max = max($max,$linmax);
}
$tres = $this->GetTextsXMinMax();
if( $tres ) {
list($tmin,$tmax) = $tres ;
$min = min($min,$tmin);
$max = max($max,$tmax);
}
$this->xscale->AutoScale($this->img,$min,$max,$this->img->plotwidth/$this->xtick_factor);
}
//Adjust position of y-axis and y2-axis to minimum/maximum of x-scale
if( !is_numeric($this->yaxis->pos) && !is_string($this->yaxis->pos) )
$this->yaxis->SetPos($this->xscale->GetMinVal());
if( $this->y2axis != null ) {
if( !is_numeric($this->y2axis->pos) && !is_string($this->y2axis->pos) )
$this->y2axis->SetPos($this->xscale->GetMaxVal());
$this->y2axis->SetTitleSide(SIDE_RIGHT);
}
}
elseif( $this->xscale->IsSpecified() &&
( $this->xscale->auto_ticks || !$this->xscale->ticks->IsSpecified()) ) {
// The tick calculation will use the user suplied min/max values to determine
// the ticks. If auto_ticks is false the exact user specifed min and max
// values will be used for the scale.
// If auto_ticks is true then the scale might be slightly adjusted
// so that the min and max values falls on an even major step.
$min = $this->xscale->scale[0];
$max = $this->xscale->scale[1];
$this->xscale->AutoScale($this->img,$min,$max,
$this->img->plotwidth/$this->xtick_factor,
false);
 
if( $this->y2axis != null ) {
if( !is_numeric($this->y2axis->pos) && !is_string($this->y2axis->pos) )
$this->y2axis->SetPos($this->xscale->GetMaxVal());
$this->y2axis->SetTitleSide(SIDE_RIGHT);
}
 
}
// If we have a negative values and x-axis position is at 0
// we need to supress the first and possible the last tick since
// they will be drawn on top of the y-axis (and possible y2 axis)
// The test below might seem strange the reasone being that if
// the user hasn't specified a value for position this will not
// be set until we do the stroke for the axis so as of now it
// is undefined.
// For X-text scale we ignore all this since the tick are usually
// much further in and not close to the Y-axis. Hence the test
// for 'text'
 
if( ($this->yaxis->pos==$this->xscale->GetMinVal() ||
(is_string($this->yaxis->pos) && $this->yaxis->pos=='min')) &&
!is_numeric($this->xaxis->pos) && $this->yscale->GetMinVal() < 0 &&
substr($this->axtype,0,4) != 'text' && $this->xaxis->pos!="min" ) {
 
//$this->yscale->ticks->SupressZeroLabel(false);
$this->xscale->ticks->SupressFirst();
if( $this->y2axis != null ) {
$this->xscale->ticks->SupressLast();
}
}
elseif( !is_numeric($this->yaxis->pos) && $this->yaxis->pos=='max' ) {
$this->xscale->ticks->SupressLast();
}
 
if( !$_csim ) {
$this->StrokePlotArea();
$this->StrokeAxis();
}
 
// Stroke bands
if( $this->bands != null && !$_csim)
for($i=0; $i<count($this->bands); ++$i) {
// Stroke all bands that asks to be in the background
if( $this->bands[$i]->depth == DEPTH_BACK )
$this->bands[$i]->Stroke($this->img,$this->xscale,$this->yscale);
}
 
if( $this->grid_depth == DEPTH_BACK && !$_csim) {
$this->ygrid->Stroke();
$this->xgrid->Stroke();
}
// Stroke Y2-axis
if( $this->y2axis != null && !$_csim) {
$this->y2axis->Stroke($this->xscale);
$this->y2grid->Stroke();
}
$oldoff=$this->xscale->off;
if(substr($this->axtype,0,4)=="text") {
$this->xscale->off +=
ceil($this->xscale->scale_factor*$this->text_scale_off*$this->xscale->ticks->minor_step);
}
 
if( $this->iDoClipping ) {
$oldimage = $this->img->CloneCanvasH();
}
 
if( ! $this->y2orderback ) {
// Stroke all plots for Y1 axis
for($i=0; $i < count($this->plots); ++$i) {
$this->plots[$i]->Stroke($this->img,$this->xscale,$this->yscale);
$this->plots[$i]->StrokeMargin($this->img);
}
}
 
// Stroke all plots for Y2 axis
if( $this->y2scale != null )
for($i=0; $i< count($this->y2plots); ++$i ) {
$this->y2plots[$i]->Stroke($this->img,$this->xscale,$this->y2scale);
}
 
if( $this->y2orderback ) {
// Stroke all plots for Y1 axis
for($i=0; $i < count($this->plots); ++$i) {
$this->plots[$i]->Stroke($this->img,$this->xscale,$this->yscale);
$this->plots[$i]->StrokeMargin($this->img);
}
}
 
 
if( $this->iDoClipping ) {
// Clipping only supports graphs at 0 and 90 degrees
if( $this->img->a == 0 ) {
$this->img->CopyCanvasH($oldimage,$this->img->img,
$this->img->left_margin,$this->img->top_margin,
$this->img->left_margin,$this->img->top_margin,
$this->img->plotwidth+1,$this->img->plotheight);
}
elseif( $this->img->a == 90 ) {
$adj = ($this->img->height - $this->img->width)/2;
$this->img->CopyCanvasH($oldimage,$this->img->img,
$this->img->bottom_margin-$adj,$this->img->left_margin+$adj,
$this->img->bottom_margin-$adj,$this->img->left_margin+$adj,
$this->img->plotheight+1,$this->img->plotwidth);
}
else {
JpGraphError::Raise('You have enabled clipping. Cliping is only supported for graphs at 0 or 90 degrees rotation. Please adjust you current angle (='.$this->img->a.' degrees) or disable clipping.');
}
$this->img->Destroy();
$this->img->SetCanvasH($oldimage);
}
 
$this->xscale->off=$oldoff;
if( $this->grid_depth == DEPTH_FRONT && !$_csim ) {
$this->ygrid->Stroke();
$this->xgrid->Stroke();
}
 
// Stroke bands
if( $this->bands!= null )
for($i=0; $i<count($this->bands); ++$i) {
// Stroke all bands that asks to be in the foreground
if( $this->bands[$i]->depth == DEPTH_FRONT )
$this->bands[$i]->Stroke($this->img,$this->xscale,$this->yscale);
}
 
// Stroke any lines added
if( $this->lines != null ) {
for($i=0; $i<count($this->lines); ++$i) {
$this->lines[$i]->Stroke($this->img,$this->xscale,$this->yscale);
}
}
// Finally draw the axis again since some plots may have nagged
// the axis in the edges.
if( !$_csim )
$this->StrokeAxis();
 
if( $this->y2scale != null && !$_csim )
$this->y2axis->Stroke($this->xscale);
if( !$_csim ) {
$this->StrokePlotBox();
}
if( !$_csim ) {
// The titles and legends never gets rotated so make sure
// that the angle is 0 before stroking them
$aa = $this->img->SetAngle(0);
$this->StrokeTitles();
$this->footer->Stroke($this->img);
}
 
$this->legend->Stroke($this->img);
 
if( !$_csim ) {
 
$this->StrokeTexts();
$this->img->SetAngle($aa);
// Draw an outline around the image map
if(JPG_DEBUG)
$this->DisplayClientSideaImageMapAreas();
// Adjust the appearance of the image
$this->AdjustSaturationBrightnessContrast();
 
// If the filename is given as the special "__handle"
// then the image handler is returned and the image is NOT
// streamed back
if( $aStrokeFileName == _IMG_HANDLER ) {
return $this->img->img;
}
else {
// Finally stream the generated picture
$this->cache->PutAndStream($this->img,$this->cache_name,$this->inline,
$aStrokeFileName);
}
}
}
 
//---------------
// PRIVATE METHODS
function StrokeAxis() {
// Stroke axis
if( $this->iAxisStyle != AXSTYLE_SIMPLE ) {
switch( $this->iAxisStyle ) {
case AXSTYLE_BOXIN :
$toppos = SIDE_DOWN;
$bottompos = SIDE_UP;
$leftpos = SIDE_RIGHT;
$rightpos = SIDE_LEFT;
break;
case AXSTYLE_BOXOUT :
$toppos = SIDE_UP;
$bottompos = SIDE_DOWN;
$leftpos = SIDE_LEFT;
$rightpos = SIDE_RIGHT;
break;
case AXSTYLE_YBOXIN:
$toppos = -100;
$bottompos = SIDE_UP;
$leftpos = SIDE_RIGHT;
$rightpos = SIDE_LEFT;
break;
case AXSTYLE_YBOXOUT:
$toppos = -100;
$bottompos = SIDE_DOWN;
$leftpos = SIDE_LEFT;
$rightpos = SIDE_RIGHT;
break;
default:
JpGRaphError::Raise('Unknown AxisStyle() : '.$this->iAxisStyle);
break;
}
$this->xaxis->SetPos('min');
// By default we hide the first label so it doesn't cross the
// Y-axis in case the positon hasn't been set by the user.
// However, if we use a box we always want the first value
// displayed so we make sure it will be displayed.
$this->xscale->ticks->SupressFirst(false);
$this->xaxis->SetLabelSide(SIDE_DOWN);
$this->xaxis->scale->ticks->SetSide($bottompos);
$this->xaxis->Stroke($this->yscale);
 
if( $toppos != -100 ) {
// To avoid side effects we work on a new copy
$maxis = $this->xaxis;
$maxis->SetPos('max');
$maxis->SetLabelSide(SIDE_UP);
$maxis->SetLabelMargin(7);
$this->xaxis->scale->ticks->SetSide($toppos);
$maxis->Stroke($this->yscale);
}
 
$this->yaxis->SetPos('min');
$this->yaxis->SetLabelMargin(10);
$this->yaxis->SetLabelSide(SIDE_LEFT);
$this->yaxis->scale->ticks->SetSide($leftpos);
$this->yaxis->Stroke($this->xscale);
 
$myaxis = $this->yaxis;
$myaxis->SetPos('max');
$myaxis->SetLabelMargin(10);
$myaxis->SetLabelSide(SIDE_RIGHT);
$myaxis->title->Set('');
$myaxis->scale->ticks->SetSide($rightpos);
$myaxis->Stroke($this->xscale);
}
else {
$this->xaxis->Stroke($this->yscale);
$this->yaxis->Stroke($this->xscale);
}
}
 
 
// Private helper function for backgound image
function LoadBkgImage($aImgFormat='',$aFile='') {
if( $aFile == '' )
$aFile = $this->background_image;
// Remove case sensitivity and setup appropriate function to create image
// Get file extension. This should be the LAST '.' separated part of the filename
$e = explode('.',$aFile);
$ext = strtolower($e[count($e)-1]);
if ($ext == "jpeg") {
$ext = "jpg";
}
if( trim($ext) == '' )
$ext = 'png'; // Assume PNG if no extension specified
 
if( $aImgFormat == '' )
$imgtag = $ext;
else
$imgtag = $aImgFormat;
 
if( $imgtag == "jpg" || $imgtag == "jpeg")
{
$f = "imagecreatefromjpeg";
$imgtag = "jpg";
}
else
{
$f = "imagecreatefrom".$imgtag;
}
 
// Compare specified image type and file extension
if( $imgtag != $ext ) {
$t = " Background image seems to be of different type (has different file extension)".
" than specified imagetype. <br>Specified: '".
$aImgFormat."'<br>File: '".$aFile."'";
JpGraphError::Raise($t);
}
 
$img = @$f($aFile);
if( !$img ) {
JpGraphError::Raise(" Can't read background image: '".$aFile."'");
}
return $img;
}
 
function StrokeBackgroundGrad() {
if( $this->bkg_gradtype < 0 )
return;
$grad = new Gradient($this->img);
if( $this->bkg_gradstyle == BGRAD_PLOT ) {
$xl = $this->img->left_margin;
$yt = $this->img->top_margin;
$xr = $xl + $this->img->plotwidth ;
$yb = $yt + $this->img->plotheight ;
}
else {
$xl = 0;
$yt = 0;
$xr = $xl + $this->img->width - 1;
$yb = $yt + $this->img->height - 1;
}
if( $this->doshadow ) {
$xr -= $this->shadow_width;
$yb -= $this->shadow_width;
}
$grad->FilledRectangle($xl,$yt,$xr,$yb,
$this->bkg_gradfrom,$this->bkg_gradto,
$this->bkg_gradtype);
}
 
function StrokeFrameBackground() {
if( $this->background_image == "" )
return;
 
$bkgimg = $this->LoadBkgImage($this->background_image_format);
$this->img->_AdjBrightContrast($bkgimg,$this->background_image_bright,
$this->background_image_contr);
$this->img->_AdjSat($bkgimg,$this->background_image_sat);
$bw = ImageSX($bkgimg);
$bh = ImageSY($bkgimg);
 
// No matter what the angle is we always stroke the image and frame
// assuming it is 0 degree
$aa = $this->img->SetAngle(0);
switch( $this->background_image_type ) {
case BGIMG_FILLPLOT: // Resize to just fill the plotarea
$this->StrokeFrame();
$GLOBALS['copyfunc']($this->img->img,$bkgimg,
$this->img->left_margin,$this->img->top_margin,
0,0,$this->img->plotwidth,$this->img->plotheight,
$bw,$bh);
break;
case BGIMG_FILLFRAME: // Fill the whole area from upper left corner, resize to just fit
$GLOBALS['copyfunc']($this->img->img,$bkgimg,
0,0,0,0,
$this->img->width,$this->img->height,
$bw,$bh);
$this->StrokeFrame();
break;
case BGIMG_COPY: // Just copy the image from left corner, no resizing
$GLOBALS['copyfunc']($this->img->img,$bkgimg,
0,0,0,0,
$bw,$bh,
$bw,$bh);
$this->StrokeFrame();
break;
case BGIMG_CENTER: // Center original image in the plot area
$centerx = round($this->img->plotwidth/2+$this->img->left_margin-$bw/2);
$centery = round($this->img->plotheight/2+$this->img->top_margin-$bh/2);
$GLOBALS['copyfunc']($this->img->img,$bkgimg,
$centerx,$centery,
0,0,
$bw,$bh,
$bw,$bh);
$this->StrokeFrame();
break;
default:
JpGraphError::Raise(" Unknown background image layout");
}
$this->img->SetAngle($aa);
}
 
// Private
// Draw a frame around the image
function StrokeFrame() {
if( !$this->doframe ) return;
if( $this->background_image_type <= 1 &&
($this->bkg_gradtype < 0 ||
($this->bkg_gradtype > 0 && $this->bkg_gradstyle==BGRAD_PLOT) ) )
$c = $this->margin_color;
else
$c = false;
if( $this->doshadow ) {
$this->img->SetColor($this->frame_color);
$this->img->ShadowRectangle(0,0,$this->img->width,$this->img->height,
$c,$this->shadow_width,$this->shadow_color);
}
elseif( $this->framebevel ) {
if( $c ) {
$this->img->SetColor($this->margin_color);
$this->img->FilledRectangle(0,0,$this->img->width-1,$this->img->height-1);
}
$this->img->Bevel(1,1,$this->img->width-2,$this->img->height-2,
$this->framebeveldepth,
$this->framebevelcolor1,$this->framebevelcolor2);
if( $this->framebevelborder ) {
$this->img->SetColor($this->framebevelbordercolor);
$this->img->Rectangle(0,0,$this->img->width-1,$this->img->height-1);
}
}
else {
$this->img->SetLineWeight($this->frame_weight);
if( $c ) {
$this->img->SetColor($this->margin_color);
$this->img->FilledRectangle(0,0,$this->img->width-1,$this->img->height-1);
}
$this->img->SetColor($this->frame_color);
$this->img->Rectangle(0,0,$this->img->width-1,$this->img->height-1);
}
$this->StrokeBackgroundGrad();
}
 
// Stroke the plot area with either a solid color or a background image
function StrokePlotArea() {
// Note: To be consistent we really should take a possible shadow
// into account. However, that causes some problem for the LinearScale class
// since in the current design it does not have any links to class Graph which
// means it has no way of compensating for the adjusted plotarea in case of a
// shadow. So, until I redesign LinearScale we can't compensate for this.
// So just set the two adjustment parameters to zero for now.
$boxadj = 0; //$this->doframe ? $this->frame_weight : 0 ;
$adj = 0; //$this->doshadow ? $this->shadow_width : 0 ;
 
if( $this->background_image != "" ) {
$this->StrokeFrameBackground();
}
else {
$aa = $this->img->SetAngle(0);
$this->StrokeFrame();
if( $this->bkg_gradtype < 0 ||
($this->bkg_gradtype > 0 && $this->bkg_gradstyle==BGRAD_MARGIN ) ) {
$this->img->SetAngle($aa);
$this->img->PushColor($this->plotarea_color);
$this->img->FilledRectangle($this->img->left_margin+$boxadj,
$this->img->top_margin+$boxadj,
$this->img->width-$this->img->right_margin-$adj-2*$boxadj,
$this->img->height-$this->img->bottom_margin-$adj-2*$boxadj);
$this->img->PopColor();
}
}
}
function StrokePlotBox() {
// Should we draw a box around the plot area?
if( $this->boxed ) {
$this->img->SetLineWeight($this->box_weight);
$this->img->SetColor($this->box_color);
$this->img->Rectangle(
$this->img->left_margin,$this->img->top_margin,
$this->img->width-$this->img->right_margin,
$this->img->height-$this->img->bottom_margin);
}
}
 
function SetTitleBackgroundFillStyle($aStyle,$aColor1='black',$aColor2='white') {
$this->titlebkg_fillstyle = $aStyle;
$this->titlebkg_scolor1 = $aColor1;
$this->titlebkg_scolor2 = $aColor2;
}
 
function SetTitleBackground($aBackColor='gray', $aStyle=TITLEBKG_STYLE1, $aFrameStyle=TITLEBKG_FRAME_NONE, $aFrameColor='black', $aFrameWeight=1, $aBevelHeight=3, $aEnable=true) {
$this->titlebackground = $aEnable;
$this->titlebackground_color = $aBackColor;
$this->titlebackground_style = $aStyle;
$this->titlebackground_framecolor = $aFrameColor;
$this->titlebackground_framestyle = $aFrameStyle;
$this->titlebackground_frameweight = $aFrameWeight;
$this->titlebackground_bevelheight = $aBevelHeight ;
}
 
 
function StrokeTitles() {
 
$margin=3;
 
if( $this->titlebackground ) {
 
// Find out height
$this->title->margin += 2 ;
$h = $this->title->GetTextHeight($this->img)+$this->title->margin+$margin;
if( $this->subtitle->t != "" && !$this->subtitle->hide ) {
$h += $this->subtitle->GetTextHeight($this->img)+$margin+
$this->subtitle->margin;
}
if( $this->subsubtitle->t != "" && !$this->subsubtitle->hide ) {
$h += $this->subsubtitle->GetTextHeight($this->img)+$margin+
$this->subsubtitle->margin;
}
$this->img->PushColor($this->titlebackground_color);
if( $this->titlebackground_style === 1 ) {
// Inside the frame
if( $this->framebevel ) {
$x1 = $y1 = $this->framebeveldepth + 1 ;
$x2 = $this->img->width - $this->framebeveldepth - 2 ;
$this->title->margin += $this->framebeveldepth + 1 ;
$h += $y1 ;
}
else {
$x1 = $y1 = $this->frame_weight;
$x2 = $this->img->width - 2*$x1;
}
}
elseif( $this->titlebackground_style === 2 ) {
// Cover the frame as well
$x1 = $y1 = 0;
$x2 = $this->img->width - 1 ;
}
elseif( $this->titlebackground_style === 3) {
// Cover the frame as well (the difference is that
// for style==3 a bevel frame border is on top
// of the title background)
$x1 = $y1 = 0;
$x2 = $this->img->width - 1 ;
$h += $this->framebeveldepth ;
$this->title->margin += $this->framebeveldepth ;
}
else {
JpGraphError::Raise('Unknown title background style.');
}
 
if( $this->titlebackground_framestyle === 3 ) {
$h += $this->titlebackground_bevelheight*2 + 1 ;
$this->title->margin += $this->titlebackground_bevelheight ;
}
 
if( $this->doshadow ) {
$x2 -= $this->shadow_width ;
}
if( $this->titlebkg_fillstyle==TITLEBKG_FILLSTYLE_HSTRIPED ) {
$this->img->FilledRectangle2($x1,$y1,$x2,$h,
$this->titlebkg_scolor1,
$this->titlebkg_scolor2);
}
elseif( $this->titlebkg_fillstyle==TITLEBKG_FILLSTYLE_VSTRIPED ) {
$this->img->FilledRectangle2($x1,$y1,$x2,$h,
$this->titlebkg_scolor1,
$this->titlebkg_scolor2,2);
}
else {
// Solid fill
$this->img->FilledRectangle($x1,$y1,$x2,$h);
}
$this->img->PopColor();
 
$this->img->PushColor($this->titlebackground_framecolor);
$this->img->SetLineWeight($this->titlebackground_frameweight);
if( $this->titlebackground_framestyle == 1 ) {
// Frame background
$this->img->Rectangle($x1,$y1,$x2,$h);
}
elseif( $this->titlebackground_framestyle == 2 ) {
// Bottom line only
$this->img->Line($x1,$h,$x2,$h);
}
elseif( $this->titlebackground_framestyle == 3 ) {
$this->img->Bevel($x1,$y1,$x2,$h,$this->titlebackground_bevelheight);
}
$this->img->PopColor();
 
// This is clumsy. But we neeed to stroke the whole graph frame if it is
// set to bevel to get the bevel shading on top of the text background
if( $this->framebevel && $this->doframe &&
$this->titlebackground_style === 3 ) {
$this->img->Bevel(1,1,$this->img->width-2,$this->img->height-2,
$this->framebeveldepth,
$this->framebevelcolor1,$this->framebevelcolor2);
if( $this->framebevelborder ) {
$this->img->SetColor($this->framebevelbordercolor);
$this->img->Rectangle(0,0,$this->img->width-1,$this->img->height-1);
}
}
}
 
// Stroke title
$y = $this->title->margin;
$this->title->Center(0,$this->img->width,$y);
$this->title->Stroke($this->img);
// ... and subtitle
$y += $this->title->GetTextHeight($this->img) + $margin + $this->subtitle->margin;
$this->subtitle->Center(0,$this->img->width,$y);
$this->subtitle->Stroke($this->img);
 
// ... and subsubtitle
$y += $this->subtitle->GetTextHeight($this->img) + $margin + $this->subsubtitle->margin;
$this->subsubtitle->Center(0,$this->img->width,$y);
$this->subsubtitle->Stroke($this->img);
 
// ... and fancy title
$this->tabtitle->Stroke($this->img);
 
}
 
function StrokeTexts() {
// Stroke any user added text objects
if( $this->texts != null ) {
for($i=0; $i<count($this->texts); ++$i) {
$this->texts[$i]->StrokeWithScale($this->img,$this->xscale,$this->yscale);
}
}
}
 
function DisplayClientSideaImageMapAreas() {
// Debug stuff - display the outline of the image map areas
foreach ($this->plots as $p) {
$csim.= $p->GetCSIMareas();
}
$csim .= $this->legend->GetCSIMareas();
if (preg_match_all("/area shape=\"(\w+)\" coords=\"([0-9\, ]+)\"/", $csim, $coords)) {
$this->img->SetColor($this->csimcolor);
for ($i=0; $i<count($coords[0]); $i++) {
if ($coords[1][$i]=="poly") {
preg_match_all('/\s*([0-9]+)\s*,\s*([0-9]+)\s*,*/',$coords[2][$i],$pts);
$this->img->SetStartPoint($pts[1][count($pts[0])-1],$pts[2][count($pts[0])-1]);
for ($j=0; $j<count($pts[0]); $j++) {
$this->img->LineTo($pts[1][$j],$pts[2][$j]);
}
} else if ($coords[1][$i]=="rect") {
$pts = preg_split('/,/', $coords[2][$i]);
$this->img->SetStartPoint($pts[0],$pts[1]);
$this->img->LineTo($pts[2],$pts[1]);
$this->img->LineTo($pts[2],$pts[3]);
$this->img->LineTo($pts[0],$pts[3]);
$this->img->LineTo($pts[0],$pts[1]);
}
}
}
}
 
function AdjustSaturationBrightnessContrast() {
// Adjust the brightness and contrast of the image
if( $this->image_contr || $this->image_bright )
$this->img->AdjBrightContrast($this->image_bright,$this->image_contr);
if( $this->image_sat )
$this->img->AdjSat($this->image_sat);
}
 
// Text scale offset in world coordinates
function SetTextScaleOff($aOff) {
$this->text_scale_off = $aOff;
$this->xscale->text_scale_off = $aOff;
}
 
// Get Y min and max values for added lines
function GetLinesYMinMax( $aLines ) {
$n = count($aLines);
if( $n == 0 ) return false;
$min = $aLines[0]->scaleposition ;
$max = $min ;
$flg = false;
for( $i=0; $i < $n; ++$i ) {
if( $aLines[$i]->direction == HORIZONTAL ) {
$flg = true ;
$v = $aLines[$i]->scaleposition ;
if( $min > $v ) $min = $v ;
if( $max < $v ) $max = $v ;
}
}
return $flg ? array($min,$max) : false ;
}
 
// Get X min and max values for added lines
function GetLinesXMinMax( $aLines ) {
$n = count($aLines);
if( $n == 0 ) return false ;
$min = $aLines[0]->scaleposition ;
$max = $min ;
$flg = false;
for( $i=0; $i < $n; ++$i ) {
if( $aLines[$i]->direction == VERTICAL ) {
$flg = true ;
$v = $aLines[$i]->scaleposition ;
if( $min > $v ) $min = $v ;
if( $max < $v ) $max = $v ;
}
}
return $flg ? array($min,$max) : false ;
}
 
// Get min and max values for all included plots
function GetPlotsYMinMax(&$aPlots) {
list($xmax,$max) = $aPlots[0]->Max();
list($xmin,$min) = $aPlots[0]->Min();
for($i=0; $i<count($aPlots); ++$i ) {
list($xmax,$ymax)=$aPlots[$i]->Max();
list($xmin,$ymin)=$aPlots[$i]->Min();
if (!is_string($ymax) || $ymax != "") $max=max($max,$ymax);
if (!is_string($ymin) || $ymin != "") $min=min($min,$ymin);
}
if( $min == "" ) $min = 0;
if( $max == "" ) $max = 0;
if( $min == 0 && $max == 0 ) {
// Special case if all values are 0
$min=0;$max=1;
}
return array($min,$max);
}
 
} // Class
 
 
//===================================================
// CLASS TTF
// Description: Handle TTF font names
//===================================================
class TTF {
var $font_files,$style_names;
//---------------
// CONSTRUCTOR
function TTF() {
$this->style_names=array(FS_NORMAL=>'normal',FS_BOLD=>'bold',FS_ITALIC=>'italic',FS_BOLDITALIC=>'bolditalic');
// File names for available fonts
$this->font_files=array(
FF_COURIER => array(FS_NORMAL=>'cour', FS_BOLD=>'courbd', FS_ITALIC=>'couri', FS_BOLDITALIC=>'courbi' ),
FF_GEORGIA => array(FS_NORMAL=>'georgia', FS_BOLD=>'georgiab', FS_ITALIC=>'georgiai', FS_BOLDITALIC=>'' ),
FF_TREBUCHE =>array(FS_NORMAL=>'trebuc', FS_BOLD=>'trebucbd', FS_ITALIC=>'trebucit', FS_BOLDITALIC=>'trebucbi' ),
FF_VERDANA => array(FS_NORMAL=>'verdana', FS_BOLD=>'verdanab', FS_ITALIC=>'verdanai', FS_BOLDITALIC=>'' ),
FF_TIMES => array(FS_NORMAL=>'times', FS_BOLD=>'timesbd', FS_ITALIC=>'timesi', FS_BOLDITALIC=>'timesbi' ),
FF_COMIC => array(FS_NORMAL=>'comic', FS_BOLD=>'comicbd', FS_ITALIC=>'', FS_BOLDITALIC=>'' ),
FF_ARIAL => array(FS_NORMAL=>'arial', FS_BOLD=>'arialbd', FS_ITALIC=>'ariali', FS_BOLDITALIC=>'arialbi' ) ,
FF_SIMSUN => array(FS_NORMAL=>'simsun', FS_BOLD=>'simhei', FS_ITALIC=>'simsun', FS_BOLDITALIC=>'simhei' )
);
}
 
//---------------
// PUBLIC METHODS
// Create the TTF file from the font specification
function File($family,$style=FS_NORMAL) {
if( $family == FF_HANDWRT || $family==FF_BOOK )
JpGraphError::Raise('Font families FF_HANDWRT and FF_BOOK are no longer available due to copyright problem with these fonts. Fonts can no longer be distributed with JpGraph. Please download fonts from http://corefonts.sourceforge.net/');
 
$fam = @$this->font_files[$family];
if( !$fam ) JpGraphError::Raise("Specified TTF font family (id=$family) is unknown or does not exist. ".
"Please note that TTF fonts are not distributed with JpGraph for copyright reasons.".
" You can find the MS TTF WEB-fonts (arial, courier etc) for download at ".
" http://corefonts.sourceforge.net/");
$f = @$fam[$style];
 
if( $f==='' )
JpGraphError::Raise('Style "'.$this->style_names[$style].'" is not available for font family '.$this->font_files[$family][FS_NORMAL].'.');
if( !$f )
JpGraphError::Raise("Unknown font style specification [$fam].");
$f = TTF_DIR.$f.'.ttf';
if( file_exists($f) === false || is_readable($f) === false ) {
JpGraphError::Raise("Font file \"$f\" is not readable or does not exist.");
}
return $f;
}
} // Class
 
//===================================================
// CLASS LineProperty
// Description: Holds properties for a line
//===================================================
class LineProperty {
var $iWeight=1, $iColor="black",$iStyle="solid";
var $iShow=true;
//---------------
// PUBLIC METHODS
function SetColor($aColor) {
$this->iColor = $aColor;
}
function SetWeight($aWeight) {
$this->iWeight = $aWeight;
}
function SetStyle($aStyle) {
$this->iStyle = $aStyle;
}
function Show($aShow=true) {
$this->iShow=$aShow;
}
function Stroke($aImg,$aX1,$aY1,$aX2,$aY2) {
if( $this->iShow ) {
$aImg->SetColor($this->iColor);
$aImg->SetLineWeight($this->iWeight);
$aImg->SetLineStyle($this->iStyle);
$aImg->StyleLine($aX1,$aY1,$aX2,$aY2);
}
}
}
 
 
//===================================================
// CLASS Text
// Description: Arbitrary text object that can be added to the graph
//===================================================
class Text {
var $t,$x=0,$y=0,$halign="left",$valign="top",$color=array(0,0,0);
var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;
var $hide=false, $dir=0;
var $boxed=false; // Should the text be boxed
var $paragraph_align="left";
var $margin;
var $icornerradius=0,$ishadowwidth=3;
var $iScalePosY=null,$iScalePosX=null;
 
//---------------
// CONSTRUCTOR
 
// Create new text at absolute pixel coordinates
function Text($aTxt="",$aXAbsPos=0,$aYAbsPos=0) {
$this->t = $aTxt;
$this->x = round($aXAbsPos);
$this->y = round($aYAbsPos);
$this->margin = 0;
}
//---------------
// PUBLIC METHODS
// Set the string in the text object
function Set($aTxt) {
$this->t = $aTxt;
}
// Alias for Pos()
function SetPos($aXAbsPos=0,$aYAbsPos=0,$aHAlign="left",$aVAlign="top") {
$this->Pos($aXAbsPos,$aYAbsPos,$aHAlign,$aVAlign);
}
// Specify the position and alignment for the text object
function Pos($aXAbsPos=0,$aYAbsPos=0,$aHAlign="left",$aVAlign="top") {
$this->x = $aXAbsPos;
$this->y = $aYAbsPos;
$this->halign = $aHAlign;
$this->valign = $aVAlign;
}
 
function SetScalePos($aX,$aY) {
$this->iScalePosX = $aX;
$this->iScalePosY = $aY;
}
// Specify alignment for the text
function Align($aHAlign,$aVAlign="top",$aParagraphAlign="") {
$this->halign = $aHAlign;
$this->valign = $aVAlign;
if( $aParagraphAlign != "" )
$this->paragraph_align = $aParagraphAlign;
}
// Alias
function SetAlign($aHAlign,$aVAlign="top",$aParagraphAlign="") {
$this->Align($aHAlign,$aVAlign,$aParagraphAlign);
}
 
// Specifies the alignment for a multi line text
function ParagraphAlign($aAlign) {
$this->paragraph_align = $aAlign;
}
 
function SetShadow($aShadowColor='gray',$aShadowWidth=3) {
$this->ishadowwidth=$aShadowWidth;
$this->shadow=$aShadowColor;
$this->boxed=true;
}
// Specify that the text should be boxed. fcolor=frame color, bcolor=border color,
// $shadow=drop shadow should be added around the text.
function SetBox($aFrameColor=array(255,255,255),$aBorderColor=array(0,0,0),$aShadowColor=false,$aCornerRadius=4,$aShadowWidth=3) {
if( $aFrameColor==false )
$this->boxed=false;
else
$this->boxed=true;
$this->fcolor=$aFrameColor;
$this->bcolor=$aBorderColor;
// For backwards compatibility when shadow was just true or false
if( $aShadowColor === true )
$aShadowColor = 'gray';
$this->shadow=$aShadowColor;
$this->icornerradius=$aCornerRadius;
$this->ishadowwidth=$aShadowWidth;
}
// Hide the text
function Hide($aHide=true) {
$this->hide=$aHide;
}
// This looks ugly since it's not a very orthogonal design
// but I added this "inverse" of Hide() to harmonize
// with some classes which I designed more recently (especially)
// jpgraph_gantt
function Show($aShow=true) {
$this->hide=!$aShow;
}
// Specify font
function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) {
$this->font_family=$aFamily;
$this->font_style=$aStyle;
$this->font_size=$aSize;
}
// Center the text between $left and $right coordinates
function Center($aLeft,$aRight,$aYAbsPos=false) {
$this->x = $aLeft + ($aRight-$aLeft )/2;
$this->halign = "center";
if( is_numeric($aYAbsPos) )
$this->y = $aYAbsPos;
}
// Set text color
function SetColor($aColor) {
$this->color = $aColor;
}
function SetAngle($aAngle) {
$this->SetOrientation($aAngle);
}
// Orientation of text. Note only TTF fonts can have an arbitrary angle
function SetOrientation($aDirection=0) {
if( is_numeric($aDirection) )
$this->dir=$aDirection;
elseif( $aDirection=="h" )
$this->dir = 0;
elseif( $aDirection=="v" )
$this->dir = 90;
else JpGraphError::Raise(" Invalid direction specified for text.");
}
// Total width of text
function GetWidth($aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$w = $aImg->GetTextWidth($this->t,$this->dir);
return $w;
}
// Hight of font
function GetFontHeight($aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$h = $aImg->GetFontHeight();
return $h;
 
}
 
function GetTextHeight($aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$h = $aImg->GetTextHeight($this->t,$this->dir);
return $h;
}
 
// Set the margin which will be interpretated differently depending
// on the context.
function SetMargin($aMarg) {
$this->margin = $aMarg;
}
 
function StrokeWithScale($aImg,$axscale,$ayscale) {
if( $this->iScalePosX === null ||
$this->iScalePosY === null ) {
$this->Stroke($aImg);
}
else {
$this->Stroke($aImg,
round($axscale->Translate($this->iScalePosX)),
round($ayscale->Translate($this->iScalePosY)));
}
}
// Display text in image
function Stroke($aImg,$x=null,$y=null) {
 
if( !empty($x) ) $this->x = round($x);
if( !empty($y) ) $this->y = round($y);
 
// If position been given as a fraction of the image size
// calculate the absolute position
if( $this->x < 1 && $this->x > 0 ) $this->x *= $aImg->width;
if( $this->y < 1 && $this->y > 0 ) $this->y *= $aImg->height;
 
$aImg->PushColor($this->color);
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$aImg->SetTextAlign($this->halign,$this->valign);
if( $this->boxed ) {
if( $this->fcolor=="nofill" )
$this->fcolor=false;
$aImg->SetLineWeight(1);
$aImg->StrokeBoxedText($this->x,$this->y,$this->t,
$this->dir,$this->fcolor,$this->bcolor,$this->shadow,
$this->paragraph_align,6,2,$this->icornerradius,
$this->ishadowwidth);
}
else {
$aImg->StrokeText($this->x,$this->y,$this->t,$this->dir,
$this->paragraph_align);
}
$aImg->PopColor($this->color);
}
} // Class
 
class GraphTabTitle extends Text{
var $corner = 6 , $posx = 7, $posy = 4;
var $color='darkred',$fillcolor='lightyellow',$bordercolor='black';
var $align = 'left', $width=TABTITLE_WIDTHFIT;
function GraphTabTitle() {
$this->t = '';
$this->font_style = FS_BOLD;
$this->hide = true;
}
 
function SetColor($aTxtColor,$aFillColor='lightyellow',$aBorderColor='black') {
$this->color = $aTxtColor;
$this->fillcolor = $aFillColor;
$this->bordercolor = $aBorderColor;
}
 
function SetFillColor($aFillColor) {
$this->fillcolor = $aFillColor;
}
 
function SetTabAlign($aAlign) {
// Synonym for SetPos
$this->align = $aAlign;
}
 
function SetPos($aAlign) {
$this->align = $aAlign;
}
function SetWidth($aWidth) {
$this->width = $aWidth ;
}
 
function Set($t) {
$this->t = $t;
$this->hide = false;
}
 
function SetCorner($aD) {
$this->corner = $aD ;
}
 
function Stroke($aImg) {
if( $this->hide )
return;
$this->boxed = false;
$w = $this->GetWidth($aImg) + 2*$this->posx;
$h = $this->GetTextHeight($aImg) + 2*$this->posy;
 
$x = $aImg->left_margin;
$y = $aImg->top_margin;
 
if( $this->width === TABTITLE_WIDTHFIT ) {
if( $this->align == 'left' ) {
$p = array($x, $y,
$x, $y-$h+$this->corner,
$x + $this->corner,$y-$h,
$x + $w - $this->corner, $y-$h,
$x + $w, $y-$h+$this->corner,
$x + $w, $y);
}
elseif( $this->align == 'center' ) {
$x += round($aImg->plotwidth/2) - round($w/2);
$p = array($x, $y,
$x, $y-$h+$this->corner,
$x + $this->corner, $y-$h,
$x + $w - $this->corner, $y-$h,
$x + $w, $y-$h+$this->corner,
$x + $w, $y);
}
else {
$x += $aImg->plotwidth -$w;
$p = array($x, $y,
$x, $y-$h+$this->corner,
$x + $this->corner,$y-$h,
$x + $w - $this->corner, $y-$h,
$x + $w, $y-$h+$this->corner,
$x + $w, $y);
}
}
else {
if( $this->width === TABTITLE_WIDTHFULL )
$w = $aImg->plotwidth ;
else
$w = $this->width ;
 
// Make the tab fit the width of the plot area
$p = array($x, $y,
$x, $y-$h+$this->corner,
$x + $this->corner,$y-$h,
$x + $w - $this->corner, $y-$h,
$x + $w, $y-$h+$this->corner,
$x + $w, $y);
}
$aImg->SetTextAlign('left','bottom');
$x += $this->posx;
$y -= $this->posy;
 
$aImg->SetColor($this->fillcolor);
$aImg->FilledPolygon($p);
 
$aImg->SetColor($this->bordercolor);
$aImg->Polygon($p,true);
$aImg->SetColor($this->color);
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$aImg->StrokeText($x,$y,$this->t,0,'center');
}
 
}
 
//===================================================
// CLASS SuperScriptText
// Description: Format a superscript text
//===================================================
class SuperScriptText extends Text {
var $iSuper="";
var $sfont_family="",$sfont_style="",$sfont_size=8;
var $iSuperMargin=2,$iVertOverlap=4,$iSuperScale=0.65;
var $iSDir=0;
var $iSimple=false;
 
function SuperScriptText($aTxt="",$aSuper="",$aXAbsPos=0,$aYAbsPos=0) {
parent::Text($aTxt,$aXAbsPos,$aYAbsPos);
$this->iSuper = $aSuper;
}
 
function FromReal($aVal,$aPrecision=2) {
// Convert a floating point number to scientific notation
$neg=1.0;
if( $aVal < 0 ) {
$neg = -1.0;
$aVal = -$aVal;
}
$l = floor(log10($aVal));
$a = sprintf("%0.".$aPrecision."f",round($aVal / pow(10,$l),$aPrecision));
$a *= $neg;
if( $this->iSimple && ($a == 1 || $a==-1) ) $a = '';
if( $a != '' )
$this->t = $a.' * 10';
else {
if( $neg == 1 )
$this->t = '10';
else
$this->t = '-10';
}
$this->iSuper = $l;
}
 
function Set($aTxt,$aSuper="") {
$this->t = $aTxt;
$this->iSuper = $aSuper;
}
 
function SetSuperFont($aFontFam,$aFontStyle=FS_NORMAL,$aFontSize=8) {
$this->sfont_family = $aFontFam;
$this->sfont_style = $aFontStyle;
$this->sfont_size = $aFontSize;
}
 
// Total width of text
function GetWidth(&$aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$w = $aImg->GetTextWidth($this->t);
$aImg->SetFont($this->sfont_family,$this->sfont_style,$this->sfont_size);
$w += $aImg->GetTextWidth($this->iSuper);
$w += $this->iSuperMargin;
return $w;
}
// Hight of font (approximate the height of the text)
function GetFontHeight(&$aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$h = $aImg->GetFontHeight();
$aImg->SetFont($this->sfont_family,$this->sfont_style,$this->sfont_size);
$h += $aImg->GetFontHeight();
return $h;
}
 
// Hight of text
function GetTextHeight(&$aImg) {
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$h = $aImg->GetTextHeight($this->t);
$aImg->SetFont($this->sfont_family,$this->sfont_style,$this->sfont_size);
$h += $aImg->GetTextHeight($this->iSuper);
return $h;
}
 
function Stroke($aImg,$ax=-1,$ay=-1) {
// To position the super script correctly we need different
// cases to handle the alignmewnt specified since that will
// determine how we can interpret the x,y coordinates
$w = parent::GetWidth($aImg);
$h = parent::GetTextHeight($aImg);
switch( $this->valign ) {
case 'top':
$sy = $this->y;
break;
case 'center':
$sy = $this->y - $h/2;
break;
case 'bottom':
$sy = $this->y - $h;
break;
default:
JpGraphError::Raise('PANIC: Internal error in SuperScript::Stroke(). Unknown vertical alignment for text');
exit();
}
 
switch( $this->halign ) {
case 'left':
$sx = $this->x + $w;
break;
case 'center':
$sx = $this->x + $w/2;
break;
case 'right':
$sx = $this->x;
break;
default:
JpGraphError::Raise('PANIC: Internal error in SuperScript::Stroke(). Unknown horizontal alignment for text');
exit();
}
 
$sx += $this->iSuperMargin;
$sy += $this->iVertOverlap;
 
// Should we automatically determine the font or
// has the user specified it explicetly?
if( $this->sfont_family == "" ) {
if( $this->font_family <= FF_FONT2 ) {
if( $this->font_family == FF_FONT0 ) {
$sff = FF_FONT0;
}
elseif( $this->font_family == FF_FONT1 ) {
if( $this->font_style == FS_NORMAL )
$sff = FF_FONT0;
else
$sff = FF_FONT1;
}
else {
$sff = FF_FONT1;
}
$sfs = $this->font_style;
$sfz = $this->font_size;
}
else {
// TTF fonts
$sff = $this->font_family;
$sfs = $this->font_style;
$sfz = floor($this->font_size*$this->iSuperScale);
if( $sfz < 8 ) $sfz = 8;
}
$this->sfont_family = $sff;
$this->sfont_style = $sfs;
$this->sfont_size = $sfz;
}
else {
$sff = $this->sfont_family;
$sfs = $this->sfont_style;
$sfz = $this->sfont_size;
}
 
parent::Stroke($aImg,$ax,$ay);
 
 
// For the builtin fonts we need to reduce the margins
// since the bounding bx reported for the builtin fonts
// are much larger than for the TTF fonts.
if( $sff <= FF_FONT2 ) {
$sx -= 2;
$sy += 3;
}
 
$aImg->SetTextAlign('left','bottom');
$aImg->SetFont($sff,$sfs,$sfz);
$aImg->PushColor($this->color);
$aImg->StrokeText($sx,$sy,$this->iSuper,$this->iSDir,'left');
$aImg->PopColor();
}
}
 
 
//===================================================
// CLASS Grid
// Description: responsible for drawing grid lines in graph
//===================================================
class Grid {
var $img;
var $scale;
var $grid_color='#DDDDDD',$grid_mincolor='#DDDDDD';
var $type="solid";
var $show=false, $showMinor=false,$weight=1;
var $fill=false,$fillcolor=array('#EFEFEF','#BBCCFF');
//---------------
// CONSTRUCTOR
function Grid(&$aAxis) {
$this->scale = &$aAxis->scale;
$this->img = &$aAxis->img;
}
//---------------
// PUBLIC METHODS
function SetColor($aMajColor,$aMinColor=false) {
$this->grid_color=$aMajColor;
if( $aMinColor === false )
$aMinColor = $aMajColor ;
$this->grid_mincolor = $aMinColor;
}
function SetWeight($aWeight) {
$this->weight=$aWeight;
}
// Specify if grid should be dashed, dotted or solid
function SetLineStyle($aType) {
$this->type = $aType;
}
// Decide if both major and minor grid should be displayed
function Show($aShowMajor=true,$aShowMinor=false) {
$this->show=$aShowMajor;
$this->showMinor=$aShowMinor;
}
function SetFill($aFlg=true,$aColor1='lightgray',$aColor2='lightblue') {
$this->fill = $aFlg;
$this->fillcolor = array( $aColor1, $aColor2 );
}
// Display the grid
function Stroke() {
if( $this->showMinor ) {
$tmp = $this->grid_color;
$this->grid_color = $this->grid_mincolor;
$this->DoStroke($this->scale->ticks->ticks_pos);
 
$this->grid_color = $tmp;
$this->DoStroke($this->scale->ticks->maj_ticks_pos);
}
else {
$this->DoStroke($this->scale->ticks->maj_ticks_pos);
}
}
//--------------
// Private methods
// Draw the grid
function DoStroke(&$aTicksPos) {
if( !$this->show )
return;
$nbrgrids = count($aTicksPos);
 
if( $this->scale->type=="y" ) {
$xl=$this->img->left_margin;
$xr=$this->img->width-$this->img->right_margin;
if( $this->fill ) {
// Draw filled areas
$y2 = $aTicksPos[0];
$i=1;
while( $i < $nbrgrids ) {
$y1 = $y2;
$y2 = $aTicksPos[$i++];
$this->img->SetColor($this->fillcolor[$i & 1]);
$this->img->FilledRectangle($xl,$y1,$xr,$y2);
}
}
 
$this->img->SetColor($this->grid_color);
$this->img->SetLineWeight($this->weight);
 
// Draw grid lines
for($i=0; $i<$nbrgrids; ++$i) {
$y=$aTicksPos[$i];
if( $this->type == "solid" )
$this->img->Line($xl,$y,$xr,$y);
elseif( $this->type == "dotted" )
$this->img->DashedLine($xl,$y,$xr,$y,1,6);
elseif( $this->type == "dashed" )
$this->img->DashedLine($xl,$y,$xr,$y,2,4);
elseif( $this->type == "longdashed" )
$this->img->DashedLine($xl,$y,$xr,$y,8,6);
}
}
elseif( $this->scale->type=="x" ) {
$yu=$this->img->top_margin;
$yl=$this->img->height-$this->img->bottom_margin;
$limit=$this->img->width-$this->img->right_margin;
 
if( $this->fill ) {
// Draw filled areas
$x2 = $aTicksPos[0];
$i=1;
while( $i < $nbrgrids ) {
$x1 = $x2;
$x2 = min($aTicksPos[$i++],$limit) ;
$this->img->SetColor($this->fillcolor[$i & 1]);
$this->img->FilledRectangle($x1,$yu,$x2,$yl);
}
}
 
$this->img->SetColor($this->grid_color);
$this->img->SetLineWeight($this->weight);
 
// We must also test for limit since we might have
// an offset and the number of ticks is calculated with
// assumption offset==0 so we might end up drawing one
// to many gridlines
$i=0;
$x=$aTicksPos[$i];
while( $i<count($aTicksPos) && ($x=$aTicksPos[$i]) <= $limit ) {
if( $this->type == "solid" )
$this->img->Line($x,$yl,$x,$yu);
elseif( $this->type == "dotted" )
$this->img->DashedLine($x,$yl,$x,$yu,1,6);
elseif( $this->type == "dashed" )
$this->img->DashedLine($x,$yl,$x,$yu,2,4);
elseif( $this->type == "longdashed" )
$this->img->DashedLine($x,$yl,$x,$yu,8,6);
++$i;
}
}
else {
JpGraphError::Raise('Internal error: Unknown grid axis ['.$this->scale->type.']');
}
return true;
}
} // Class
 
//===================================================
// CLASS Axis
// Description: Defines X and Y axis. Notes that at the
// moment the code is not really good since the axis on
// several occasion must know wheter it's an X or Y axis.
// This was a design decision to make the code easier to
// follow.
//===================================================
class Axis {
var $pos = false;
var $weight=1;
var $color=array(0,0,0),$label_color=array(0,0,0);
var $img=null,$scale=null;
var $hide=false;
var $ticks_label=false, $ticks_label_colors=null;
var $show_first_label=true,$show_last_label=true;
var $label_step=1; // Used by a text axis to specify what multiple of major steps
// should be labeled.
var $tick_step=1;
var $labelPos=0; // Which side of the axis should the labels be?
var $title=null,$title_adjust,$title_margin,$title_side=SIDE_LEFT;
var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12,$label_angle=0;
var $tick_label_margin=5;
var $label_halign = '',$label_valign = '', $label_para_align='left';
var $hide_line=false,$hide_labels=false;
//var $hide_zero_label=false;
 
//---------------
// CONSTRUCTOR
function Axis(&$img,&$aScale,$color=array(0,0,0)) {
$this->img = &$img;
$this->scale = &$aScale;
$this->color = $color;
$this->title=new Text("");
if( $aScale->type=="y" ) {
$this->title_margin = 25;
$this->title_adjust="middle";
$this->title->SetOrientation(90);
$this->tick_label_margin=7;
$this->labelPos=SIDE_LEFT;
//$this->SetLabelFormat('%.1f');
}
else {
$this->title_margin = 5;
$this->title_adjust="high";
$this->title->SetOrientation(0);
$this->tick_label_margin=3;
$this->labelPos=SIDE_DOWN;
//$this->SetLabelFormat('%.0f');
}
}
//---------------
// PUBLIC METHODS
function SetLabelFormat($aFormStr) {
$this->scale->ticks->SetLabelFormat($aFormStr);
}
function SetLabelFormatString($aFormStr) {
$this->scale->ticks->SetLabelFormat($aFormStr);
}
function SetLabelFormatCallback($aFuncName) {
$this->scale->ticks->SetFormatCallback($aFuncName);
}
 
function SetLabelAlign($aHAlign,$aVAlign="top",$aParagraphAlign='left') {
$this->label_halign = $aHAlign;
$this->label_valign = $aVAlign;
$this->label_para_align = $aParagraphAlign;
}
 
// Don't display the first label
function HideFirstTickLabel($aShow=false) {
$this->show_first_label=$aShow;
}
 
function HideLastTickLabel($aShow=false) {
$this->show_last_label=$aShow;
}
 
function HideTicks($aHideMinor=true,$aHideMajor=true) {
$this->scale->ticks->SupressMinorTickMarks($aHideMinor);
$this->scale->ticks->SupressTickMarks($aHideMajor);
}
 
// Hide zero label
function HideZeroLabel($aFlag=true) {
$this->scale->ticks->SupressZeroLabel();
//$this->hide_zero_label = $aFlag;
}
function HideFirstLastLabel() {
// The two first calls to ticks method will supress
// automatically generated scale values. However, that
// will not affect manually specified value, e.g text-scales.
// therefor we also make a kludge here to supress manually
// specified scale labels.
$this->scale->ticks->SupressLast();
$this->scale->ticks->SupressFirst();
$this->show_first_label = false;
$this->show_last_label = false;
}
// Hide the axis
function Hide($aHide=true) {
$this->hide=$aHide;
}
 
// Hide the actual axis-line, but still print the labels
function HideLine($aHide=true) {
$this->hide_line = $aHide;
}
 
function HideLabels($aHide=true) {
$this->hide_labels = $aHide;
}
 
// Weight of axis
function SetWeight($aWeight) {
$this->weight = $aWeight;
}
 
// Axis color
function SetColor($aColor,$aLabelColor=false) {
$this->color = $aColor;
if( !$aLabelColor ) $this->label_color = $aColor;
else $this->label_color = $aLabelColor;
}
// Title on axis
function SetTitle($aTitle,$aAdjustAlign="high") {
$this->title->Set($aTitle);
$this->title_adjust=$aAdjustAlign;
}
// Specify distance from the axis
function SetTitleMargin($aMargin) {
$this->title_margin=$aMargin;
}
// Which side of the axis should the axis title be?
function SetTitleSide($aSideOfAxis) {
$this->title_side = $aSideOfAxis;
}
 
// Utility function to set the direction for tick marks
function SetTickDirection($aDir) {
// Will be deprecated from 1.7
if( ERR_DEPRECATED )
JpGraphError::Raise('Axis::SetTickDirection() is deprecated. Use Axis::SetTickSide() instead');
$this->scale->ticks->SetSide($aDir);
}
function SetTickSide($aDir) {
$this->scale->ticks->SetSide($aDir);
}
// Specify text labels for the ticks. One label for each data point
function SetTickLabels($aLabelArray,$aLabelColorArray=null) {
$this->ticks_label = $aLabelArray;
$this->ticks_label_colors = $aLabelColorArray;
}
// How far from the axis should the labels be drawn
function SetTickLabelMargin($aMargin) {
if( ERR_DEPRECATED )
JpGraphError::Raise('SetTickLabelMargin() is deprecated. Use Axis::SetLabelMargin() instead.');
$this->tick_label_margin=$aMargin;
}
 
function SetLabelMargin($aMargin) {
$this->tick_label_margin=$aMargin;
}
// Specify that every $step of the ticks should be displayed starting
// at $start
// DEPRECATED FUNCTION: USE SetTextTickInterval() INSTEAD
function SetTextTicks($step,$start=0) {
JpGraphError::Raise(" SetTextTicks() is deprecated. Use SetTextTickInterval() instead.");
}
 
// Specify that every $step of the ticks should be displayed starting
// at $start
function SetTextTickInterval($aStep,$aStart=0) {
$this->scale->ticks->SetTextLabelStart($aStart);
$this->tick_step=$aStep;
}
// Specify that every $step tick mark should have a label
// should be displayed starting
function SetTextLabelInterval($aStep) {
if( $aStep < 1 )
JpGraphError::Raise(" Text label interval must be specified >= 1.");
$this->label_step=$aStep;
}
// Which side of the axis should the labels be on?
function SetLabelPos($aSidePos) {
// This will be deprecated from 1.7
if( ERR_DEPRECATED )
JpGraphError::Raise('SetLabelPos() is deprecated. Use Axis::SetLabelSide() instead.');
$this->labelPos=$aSidePos;
}
function SetLabelSide($aSidePos) {
$this->labelPos=$aSidePos;
}
 
// Set the font
function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) {
$this->font_family = $aFamily;
$this->font_style = $aStyle;
$this->font_size = $aSize;
}
 
// Position for axis line on the "other" scale
function SetPos($aPosOnOtherScale) {
$this->pos=$aPosOnOtherScale;
}
// Specify the angle for the tick labels
function SetLabelAngle($aAngle) {
$this->label_angle = $aAngle;
}
// Stroke the axis.
function Stroke($aOtherAxisScale) {
if( $this->hide ) return;
if( is_numeric($this->pos) ) {
$pos=$aOtherAxisScale->Translate($this->pos);
}
else { // Default to minimum of other scale if pos not set
if( ($aOtherAxisScale->GetMinVal() >= 0 && $this->pos==false) || $this->pos=="min" ) {
$pos = $aOtherAxisScale->scale_abs[0];
}
elseif($this->pos == "max") {
$pos = $aOtherAxisScale->scale_abs[1];
}
else { // If negative set x-axis at 0
$this->pos=0;
$pos=$aOtherAxisScale->Translate(0);
}
}
$this->img->SetLineWeight($this->weight);
$this->img->SetColor($this->color);
$this->img->SetFont($this->font_family,$this->font_style,$this->font_size);
if( $this->scale->type == "x" ) {
if( !$this->hide_line )
$this->img->FilledRectangle($this->img->left_margin,$pos,
$this->img->width-$this->img->right_margin,$pos+$this->weight-1);
$y=$pos+$this->img->GetFontHeight()+$this->title_margin+$this->title->margin;
if( $this->title_adjust=="high" )
$this->title->Pos($this->img->width-$this->img->right_margin,$y,"right","top");
elseif( $this->title_adjust=="middle" || $this->title_adjust=="center" )
$this->title->Pos(($this->img->width-$this->img->left_margin-$this->img->right_margin)/2+$this->img->left_margin,$y,"center","top");
elseif($this->title_adjust=="low")
$this->title->Pos($this->img->left_margin,$y,"left","top");
else {
JpGraphError::Raise('Unknown alignment specified for X-axis title. ('.$this->title_adjust.')');
}
}
elseif( $this->scale->type == "y" ) {
// Add line weight to the height of the axis since
// the x-axis could have a width>1 and we want the axis to fit nicely together.
if( !$this->hide_line )
$this->img->FilledRectangle($pos-$this->weight+1,$this->img->top_margin,
$pos,$this->img->height-$this->img->bottom_margin+$this->weight-1);
$x=$pos ;
if( $this->title_side == SIDE_LEFT ) {
$x -= $this->title_margin;
$x -= $this->title->margin;
$halign="right";
}
else {
$x += $this->title_margin;
$x += $this->title->margin;
$halign="left";
}
// If the user has manually specified an hor. align
// then we override the automatic settings with this
// specifed setting. Since default is 'left' we compare
// with that. (This means a manually set 'left' align
// will have no effect.)
if( $this->title->halign != 'left' )
$halign = $this->title->halign;
if( $this->title_adjust=="high" )
$this->title->Pos($x,$this->img->top_margin,$halign,"top");
elseif($this->title_adjust=="middle" || $this->title_adjust=="center")
$this->title->Pos($x,($this->img->height-$this->img->top_margin-$this->img->bottom_margin)/2+$this->img->top_margin,$halign,"center");
elseif($this->title_adjust=="low")
$this->title->Pos($x,$this->img->height-$this->img->bottom_margin,$halign,"bottom");
else
JpGraphError::Raise('Unknown alignment specified for Y-axis title. ('.$this->title_adjust.')');
}
$this->scale->ticks->Stroke($this->img,$this->scale,$pos);
if( !$this->hide_labels ) {
$this->StrokeLabels($pos);
}
$this->title->Stroke($this->img);
}
 
//---------------
// PRIVATE METHODS
// Draw all the tick labels on major tick marks
function StrokeLabels($aPos,$aMinor=false,$aAbsLabel=false) {
 
$this->img->SetColor($this->label_color);
$this->img->SetFont($this->font_family,$this->font_style,$this->font_size);
$yoff=$this->img->GetFontHeight()/2;
 
// Only draw labels at major tick marks
$nbr = count($this->scale->ticks->maj_ticks_label);
 
// We have the option to not-display the very first mark
// (Usefull when the first label might interfere with another
// axis.)
$i = $this->show_first_label ? 0 : 1 ;
if( !$this->show_last_label ) --$nbr;
// Now run through all labels making sure we don't overshoot the end
// of the scale.
$ncolor=0;
if( isset($this->ticks_label_colors) )
$ncolor=count($this->ticks_label_colors);
while( $i<$nbr ) {
// $tpos holds the absolute text position for the label
$tpos=$this->scale->ticks->maj_ticklabels_pos[$i];
 
// Note. the $limit is only used for the x axis since we
// might otherwise overshoot if the scale has been centered
// This is due to us "loosing" the last tick mark if we center.
if( $this->scale->type=="x" && $tpos > $this->img->width-$this->img->right_margin+1 ) {
return;
}
// we only draw every $label_step label
if( ($i % $this->label_step)==0 ) {
 
// Set specific label color if specified
if( $ncolor > 0 )
$this->img->SetColor($this->ticks_label_colors[$i % $ncolor]);
// If the label has been specified use that and in other case
// just label the mark with the actual scale value
$m=$this->scale->ticks->GetMajor();
// ticks_label has an entry for each data point and is the array
// that holds the labels set by the user. If the user hasn't
// specified any values we use whats in the automatically asigned
// labels in the maj_ticks_label
if( isset($this->ticks_label[$i*$m]) )
$label=$this->ticks_label[$i*$m];
else {
if( $aAbsLabel )
$label=abs($this->scale->ticks->maj_ticks_label[$i]);
else
$label=$this->scale->ticks->maj_ticks_label[$i];
if( $this->scale->textscale ) {
++$label;
}
}
//if( $this->hide_zero_label && $label==0.0 ) {
// ++$i;
// continue;
//}
if( $this->scale->type == "x" ) {
if( $this->labelPos == SIDE_DOWN ) {
if( $this->label_angle==0 || $this->label_angle==90 ) {
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign('center','top');
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
}
else {
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign("right","top");
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
}
 
$this->img->StrokeText($tpos,$aPos+$this->tick_label_margin,$label,
$this->label_angle,$this->label_para_align);
}
else {
if( $this->label_angle==0 || $this->label_angle==90 ) {
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign("center","bottom");
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
}
else {
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign("right","bottom");
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
}
$this->img->StrokeText($tpos,$aPos-$this->tick_label_margin,$label,
$this->label_angle,$this->label_para_align);
}
}
else {
// scale->type == "y"
//if( $this->label_angle!=0 )
//JpGraphError::Raise(" Labels at an angle are not supported on Y-axis");
if( $this->labelPos == SIDE_LEFT ) { // To the left of y-axis
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign("right","center");
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
$this->img->StrokeText($aPos-$this->tick_label_margin,$tpos,$label,$this->label_angle,$this->label_para_align);
}
else { // To the right of the y-axis
if( $this->label_halign=='' && $this->label_valign=='')
$this->img->SetTextAlign("left","center");
else
$this->img->SetTextAlign($this->label_halign,$this->label_valign);
$this->img->StrokeText($aPos+$this->tick_label_margin,$tpos,$label,$this->label_angle,$this->label_para_align);
}
}
}
++$i;
}
}
 
} // Class
 
//===================================================
// CLASS Ticks
// Description: Abstract base class for drawing linear and logarithmic
// tick marks on axis
//===================================================
class Ticks {
var $minor_abs_size=3, $major_abs_size=5;
var $direction=1; // Should ticks be in(=1) the plot area or outside (=-1)?
var $scale;
var $is_set=false;
var $precision;
var $supress_zerolabel=false,$supress_first=false;
var $supress_last=false,$supress_tickmarks=false,$supress_minor_tickmarks=false;
var $mincolor="",$majcolor="";
var $weight=1;
var $label_formatstr=''; // C-style format string to use for labels
var $label_formfunc='';
 
 
//---------------
// CONSTRUCTOR
function Ticks(&$aScale) {
$this->scale=&$aScale;
$this->precision = -1;
}
 
//---------------
// PUBLIC METHODS
// Set format string for automatic labels
function SetLabelFormat($aFormatString) {
$this->label_formatstr=$aFormatString;
}
function SetFormatCallback($aCallbackFuncName) {
$this->label_formfunc = $aCallbackFuncName;
}
// Don't display the first zero label
function SupressZeroLabel($aFlag=true) {
$this->supress_zerolabel=$aFlag;
}
// Don't display minor tick marks
function SupressMinorTickMarks($aHide=true) {
$this->supress_minor_tickmarks=$aHide;
}
// Don't display major tick marks
function SupressTickMarks($aHide=true) {
$this->supress_tickmarks=$aHide;
}
// Hide the first tick mark
function SupressFirst($aHide=true) {
$this->supress_first=$aHide;
}
// Hide the last tick mark
function SupressLast($aHide=true) {
$this->supress_last=$aHide;
}
 
// Size (in pixels) of minor tick marks
function GetMinTickAbsSize() {
return $this->minor_abs_size;
}
// Size (in pixels) of major tick marks
function GetMajTickAbsSize() {
return $this->major_abs_size;
}
function SetSize($aMajSize,$aMinSize=3) {
$this->major_abs_size = $aMajSize;
$this->minor_abs_size = $aMinSize;
}
 
// Have the ticks been specified
function IsSpecified() {
return $this->is_set;
}
// Set the distance between major and minor tick marks
function Set($aMaj,$aMin) {
// "Virtual method"
// Should be implemented by the concrete subclass
// if any action is wanted.
}
// Specify number of decimals in automatic labels
// Deprecated from 1.4. Use SetFormatString() instead
function SetPrecision($aPrecision) {
if( ERR_DEPRECATED )
JpGraphError::Raise('Ticks::SetPrecision() is deprecated. Use Ticks::SetLabelFormat() (or Ticks::SetFormatCallback()) instead');
$this->precision=$aPrecision;
}
 
function SetSide($aSide) {
$this->direction=$aSide;
}
// Which side of the axis should the ticks be on
function SetDirection($aSide=SIDE_RIGHT) {
$this->direction=$aSide;
}
// Set colors for major and minor tick marks
function SetMarkColor($aMajorColor,$aMinorColor="") {
$this->SetColor($aMajorColor,$aMinorColor);
}
function SetColor($aMajorColor,$aMinorColor="") {
$this->majcolor=$aMajorColor;
// If not specified use same as major
if( $aMinorColor=="" )
$this->mincolor=$aMajorColor;
else
$this->mincolor=$aMinorColor;
}
function SetWeight($aWeight) {
$this->weight=$aWeight;
}
} // Class
 
//===================================================
// CLASS LinearTicks
// Description: Draw linear ticks on axis
//===================================================
class LinearTicks extends Ticks {
var $minor_step=1, $major_step=2;
var $xlabel_offset=0,$xtick_offset=0;
var $label_offset=0; // What offset should the displayed label have
// i.e should we display 0,1,2 or 1,2,3,4 or 2,3,4 etc
var $text_label_start=0;
//---------------
// CONSTRUCTOR
function LinearTicks() {
$this->precision = -1;
}
 
//---------------
// PUBLIC METHODS
// Return major step size in world coordinates
function GetMajor() {
return $this->major_step;
}
// Return minor step size in world coordinates
function GetMinor() {
return $this->minor_step;
}
// Set Minor and Major ticks (in world coordinates)
function Set($aMajStep,$aMinStep=false) {
if( $aMinStep==false )
$aMinStep=$aMajStep;
if( $aMajStep <= 0 || $aMinStep <= 0 ) {
JpGraphError::Raise(" Minor or major step size is 0. Check that you haven't
got an accidental SetTextTicks(0) in your code.<p>
If this is not the case you might have stumbled upon a bug in JpGraph.
Please report this and if possible include the data that caused the
problem.");
}
$this->major_step=$aMajStep;
$this->minor_step=$aMinStep;
$this->is_set = true;
}
 
// Draw linear ticks
function Stroke(&$img,&$scale,$pos) {
$maj_step_abs = $scale->scale_factor*$this->major_step;
$min_step_abs = $scale->scale_factor*$this->minor_step;
 
if( $min_step_abs==0 || $maj_step_abs==0 )
JpGraphError::Raise(" A plot has an illegal scale. This could for example be that you are trying to use text autoscaling to draw a line plot with only one point or that the plot area is too small. Try increasing the graph size or correct the lineplot.");
$limit = $scale->scale_abs[1];
$nbrmajticks=floor(1.000001*(($scale->GetMaxVal()-$scale->GetMinVal())/$this->major_step))+1;
$first=0;
// If precision hasn't been specified set it to a sensible value
if( $this->precision==-1 ) {
$t = log10($this->minor_step);
if( $t > 0 )
$precision = 0;
else
$precision = -floor($t);
}
else
$precision = $this->precision;
$img->SetLineWeight($this->weight);
// Handle ticks on X-axis
if( $scale->type == "x" ) {
 
// Draw the minor tick marks
$yu = $pos - $this->direction*$this->GetMinTickAbsSize();
$label = $scale->GetMinVal();
$x=$scale->scale_abs[0];
$i=0;
$j=0;
$step = round($maj_step_abs/$min_step_abs);
while( $x < $limit ) {
$this->ticks_pos[]=$x;
$this->ticks_label[]=$label;
$label+=$this->minor_step;
if( !$this->supress_tickmarks && !$this->supress_minor_tickmarks) {
if( $this->mincolor!="" ) $img->PushColor($this->mincolor);
$img->Line($x,$pos,$x,$yu);
if( $this->mincolor!="" ) $img->PopColor();
}
 
if( $i % $step == 0 ) {
$this->maj_ticks_pos[$j]=round($x);//$xtick;
++$j;
}
 
++$i;
$x += $min_step_abs;
}
$this->maj_ticks_pos[$j]=$x;
 
// Draw the major tick marks
$yu = $pos - $this->direction*$this->GetMajTickAbsSize();
// TODO: Add logic to set label_offset for text labels
$label = (float)$scale->GetMinVal()+$this->text_label_start+$this->label_offset;
$start_abs=$scale->scale_factor*$this->text_label_start;
$nbrmajticks=ceil(($scale->GetMaxVal()-$scale->GetMinVal()-$this->text_label_start )/$this->major_step)+1;
$x = $scale->scale_abs[0]+$start_abs+$this->xlabel_offset*$min_step_abs;
for( $i=0; $label<=$scale->GetMaxVal()+$this->label_offset; ++$i ) {
 
// Apply format
if( $this->label_formfunc != "" ) {
$f=$this->label_formfunc;
$l = $f($label);
}
elseif( $this->label_formatstr != "" )
$l = sprintf($this->label_formatstr,$label);
else {
$v = round($label,$precision);
$l = sprintf("%01.".$precision."f",$v);
}
if( ($this->supress_zerolabel && $l==0) ||
($this->supress_first && $i==0) ||
($this->supress_last && $i==$nbrmajticks-1) ) {
$l="";
}
 
$this->maj_ticks_label[$i]=$l;
$label+=$this->major_step;
$this->maj_ticklabels_pos[$i] = $x;
// $this->maj_ticklabels_pos[$i] = $this->maj_ticks_pos[$i];
 
// The x-position of the tick marks can be different from the labels.
// Note that we record the tick position (not the label) so that the grid
// happen upon tick marks and not labels.
$xtick=$scale->scale_abs[0]+$start_abs+$this->xtick_offset*$min_step_abs+$i*$maj_step_abs;
$this->maj_ticks_pos[$i]=$xtick;
if(!($this->xtick_offset > 0 && $i==$nbrmajticks-1) &&
!$this->supress_tickmarks) {
if( $this->majcolor!="" ) $img->PushColor($this->majcolor);
$img->Line($this->maj_ticks_pos[$i],$pos,$this->maj_ticks_pos[$i],$yu);
if( $this->majcolor!="" ) $img->PopColor();
}
 
$x += $maj_step_abs;
}
 
 
}
elseif( $scale->type == "y" ) {
 
// Draw the major tick marks
$xr = $pos + $this->direction*$this->GetMajTickAbsSize();
$label = $scale->GetMinVal();
$tmpmaj=array();
$tmpmin=array();
 
for( $i=0; $i<$nbrmajticks; ++$i) {
$y=$scale->scale_abs[0]+$i*$maj_step_abs;
 
$tmpmaj[]=$y;
 
// THe following two lines might seem to be unecessary but they are not!
// The reason being that for X-axis we separate the position of the labels
// and the tick marks which we don't do for the Y-axis.
// We therefore need to make sure both arrays are corcectly filled
// since Axis::StrokeLabels() uses the label positions and Grid::Stroke() uses
// the tick positions.
$this->maj_ticklabels_pos[$i]=$y;
$this->maj_ticks_pos[$i]=$y;
if( $this->label_formfunc != "" ) {
$f=$this->label_formfunc;
$l = $f($label);
}
elseif( $this->label_formatstr != "" )
$l = sprintf($this->label_formatstr,$label);
else
$l = sprintf("%01.".$precision."f",round($label,$precision));
if( ($this->supress_zerolabel && ($l + 0)==0) || ($this->supress_first && $i==0) ||
($this->supress_last && $i==$nbrmajticks-1) ) {
$l="";
}
$this->maj_ticks_label[$i]=$l;
$label+=$this->major_step;
if( !$this->supress_tickmarks ) {
if( $this->majcolor!="" ) $img->PushColor($this->majcolor);
$img->Line($pos,$y,$xr,$y);
if( $this->majcolor!="" ) $img->PopColor();
}
}
 
// Draw the minor tick marks
$xr = $pos + $this->direction*$this->GetMinTickAbsSize();
$label = $scale->GetMinVal();
for( $i=0,$y=$scale->scale_abs[0]; $y>=$limit; ) {
 
$tmpmin[]=$y;
 
$this->ticks_pos[$i]=$y;
$this->ticks_label[$i]=$label;
$label+=$this->minor_step;
if( !$this->supress_tickmarks && !$this->supress_minor_tickmarks) {
if( $this->mincolor!="" ) $img->PushColor($this->mincolor);
$img->Line($pos,$y,$xr,$y);
if( $this->mincolor!="" ) $img->PopColor();
}
++$i;
$y=$scale->scale_abs[0]+$i*$min_step_abs;
}
}
}
//---------------
// PRIVATE METHODS
// Spoecify the offset of the displayed tick mark with the tick "space"
// Legal values for $o is [0,1] used to adjust where the tick marks and label
// should be positioned within the major tick-size
// $lo specifies the label offset and $to specifies the tick offset
// this comes in handy for example in bar graphs where we wont no offset for the
// tick but have the labels displayed halfway under the bars.
function SetXLabelOffset($aLabelOff,$aTickOff=-1) {
$this->xlabel_offset=$aLabelOff;
if( $aTickOff==-1 ) // Same as label offset
$this->xtick_offset=$aLabelOff;
else
$this->xtick_offset=$aTickOff;
if( $aLabelOff>0 )
$this->SupressLast(); // The last tick wont fit
}
 
// Which tick label should we start with?
function SetTextLabelStart($aTextLabelOff) {
$this->text_label_start=$aTextLabelOff;
}
} // Class
 
//===================================================
// CLASS LinearScale
// Description: Handle linear scaling between screen and world
//===================================================
class LinearScale {
var $scale=array(0,0);
var $scale_abs=array(0,0);
var $scale_factor; // Scale factor between world and screen
var $world_size; // Plot area size in world coordinates
var $world_abs_size; // Plot area size in pixels
var $off; // Offset between image edge and plot area
var $type; // is this x or y scale ?
var $ticks=null; // Store ticks
var $autoscale_min=false; // Forced minimum value, auto determine max
var $autoscale_max=false; // Forced maximum value, auto determine min
var $gracetop=0,$gracebottom=0;
var $intscale=false; // Restrict autoscale to integers
var $textscale=false; // Just a flag to let the Plot class find out if
// we are a textscale or not. This is a cludge since
// this ionformatyion is availabale in Graph::axtype but
// we don't have access to the graph object in the Plots
// stroke method. So we let graph store the status here
// when the linear scale is created. A real cludge...
var $text_scale_off = 0;
var $auto_ticks=false; // When using manual scale should the ticks be automatically set?
var $name = 'lin';
//---------------
// CONSTRUCTOR
function LinearScale($aMin=0,$aMax=0,$aType="y") {
assert($aType=="x" || $aType=="y" );
assert($aMin<=$aMax);
$this->type=$aType;
$this->scale=array($aMin,$aMax);
$this->world_size=$aMax-$aMin;
$this->ticks = new LinearTicks();
}
 
//---------------
// PUBLIC METHODS
// Second phase constructor
function Init(&$aImg) {
$this->InitConstants($aImg);
// We want image to notify us when the margins changes so we
// can recalculate the constants.
// PHP <= 4.04 BUGWARNING: IT IS IMPOSSIBLE TO DO THIS IN THE CONSTRUCTOR
// SINCE (FOR SOME REASON) IT IS IMPOSSIBLE TO PASS A REFERENCE
// TO 'this' INSTEAD IT WILL ADD AN ANONYMOUS COPY OF THIS OBJECT WHICH WILL
// GET ALL THE NOTIFICATIONS. (This took a while to track down...)
// Add us as an observer to class Image
$aImg->AddObserver("InitConstants",$this);
}
// Check if scale is set or if we should autoscale
// We should do this is either scale or ticks has not been set
function IsSpecified() {
if( $this->GetMinVal()==$this->GetMaxVal() ) { // Scale not set
return false;
}
return true;
}
// Set the minimum data value when the autoscaling is used.
// Usefull if you want a fix minimum (like 0) but have an
// automatic maximum
function SetAutoMin($aMin) {
$this->autoscale_min=$aMin;
}
 
// Set the minimum data value when the autoscaling is used.
// Usefull if you want a fix minimum (like 0) but have an
// automatic maximum
function SetAutoMax($aMax) {
$this->autoscale_max=$aMax;
}
 
// If the user manually specifies a scale should the ticks
// still be set automatically?
function SetAutoTicks($aFlag=true) {
$this->auto_ticks = $aFlag;
}
 
// Specify scale "grace" value (top and bottom)
function SetGrace($aGraceTop,$aGraceBottom=0) {
if( $aGraceTop<0 || $aGraceBottom < 0 )
JpGraphError::Raise(" Grace must be larger then 0");
$this->gracetop=$aGraceTop;
$this->gracebottom=$aGraceBottom;
}
// Get the minimum value in the scale
function GetMinVal() {
return $this->scale[0];
}
// get maximum value for scale
function GetMaxVal() {
return $this->scale[1];
}
// Specify a new min/max value for sclae
function Update(&$aImg,$aMin,$aMax) {
$this->scale=array($aMin,$aMax);
$this->world_size=$aMax-$aMin;
$this->InitConstants($aImg);
}
// Translate between world and screen
function Translate($aCoord) {
return $this->off+($aCoord - $this->GetMinVal()) * $this->scale_factor;
}
// Relative translate (don't include offset) usefull when we just want
// to know the relative position (in pixels) on the axis
function RelTranslate($aCoord) {
return ($aCoord - $this->GetMinVal()) * $this->scale_factor;
}
// Restrict autoscaling to only use integers
function SetIntScale($aIntScale=true) {
$this->intscale=$aIntScale;
}
// Calculate an integer autoscale
function IntAutoScale(&$img,$min,$max,$maxsteps,$majend=true) {
// Make sure limits are integers
$min=floor($min);
$max=ceil($max);
if( abs($min-$max)==0 ) {
--$min; ++$max;
}
$maxsteps = floor($maxsteps);
$gracetop=round(($this->gracetop/100.0)*abs($max-$min));
$gracebottom=round(($this->gracebottom/100.0)*abs($max-$min));
if( is_numeric($this->autoscale_min) ) {
$min = ceil($this->autoscale_min);
if( $min >= $max ) {
JpGraphError::Raise('You have specified a min value with SetAutoMin() which is larger than the maximum value used for the scale. This is not possible.');
die();
}
}
 
if( is_numeric($this->autoscale_max) ) {
$max = ceil($this->autoscale_max);
if( $min >= $max ) {
JpGraphError::Raise('You have specified a max value with SetAutoMax() which is smaller than the miminum value used for the scale. This is not possible.');
die();
}
}
 
if( abs($min-$max ) == 0 ) {
++$max;
--$min;
}
$min -= $gracebottom;
$max += $gracetop;
 
// First get tickmarks as multiples of 1, 10, ...
if( $majend ) {
list($num1steps,$adj1min,$adj1max,$maj1step) =
$this->IntCalcTicks($maxsteps,$min,$max,1);
}
else {
$adj1min = $min;
$adj1max = $max;
list($num1steps,$maj1step) =
$this->IntCalcTicksFreeze($maxsteps,$min,$max,1);
}
 
if( abs($min-$max) > 2 ) {
// Then get tick marks as 2:s 2, 20, ...
if( $majend ) {
list($num2steps,$adj2min,$adj2max,$maj2step) =
$this->IntCalcTicks($maxsteps,$min,$max,5);
}
else {
$adj2min = $min;
$adj2max = $max;
list($num2steps,$maj2step) =
$this->IntCalcTicksFreeze($maxsteps,$min,$max,5);
}
}
else {
$num2steps = 10000; // Dummy high value so we don't choose this
}
if( abs($min-$max) > 5 ) {
// Then get tickmarks as 5:s 5, 50, 500, ...
if( $majend ) {
list($num5steps,$adj5min,$adj5max,$maj5step) =
$this->IntCalcTicks($maxsteps,$min,$max,2);
}
else {
$adj5min = $min;
$adj5max = $max;
list($num5steps,$maj5step) =
$this->IntCalcTicksFreeze($maxsteps,$min,$max,2);
}
}
else {
$num5steps = 10000; // Dummy high value so we don't choose this
}
// Check to see whichof 1:s, 2:s or 5:s fit better with
// the requested number of major ticks
$match1=abs($num1steps-$maxsteps);
$match2=abs($num2steps-$maxsteps);
if( !empty($maj5step) && $maj5step > 1 )
$match5=abs($num5steps-$maxsteps);
else
$match5=10000; // Dummy high value
// Compare these three values and see which is the closest match
// We use a 0.6 weight to gravitate towards multiple of 5:s
if( $match1 < $match2 ) {
if( $match1 < $match5 )
$r=1;
else
$r=3;
}
else {
if( $match2 < $match5 )
$r=2;
else
$r=3;
}
// Minsteps are always the same as maxsteps for integer scale
switch( $r ) {
case 1:
$this->Update($img,$adj1min,$adj1max);
$this->ticks->Set($maj1step,$maj1step);
break;
case 2:
$this->Update($img,$adj2min,$adj2max);
$this->ticks->Set($maj2step,$maj2step);
break;
case 3:
$this->Update($img,$adj5min,$adj5max);
$this->ticks->Set($maj5step,$maj2step);
break;
}
}
// Calculate autoscale. Used if user hasn't given a scale and ticks
// $maxsteps is the maximum number of major tickmarks allowed.
function AutoScale(&$img,$min,$max,$maxsteps,$majend=true) {
if( $this->intscale ) {
$this->IntAutoScale($img,$min,$max,$maxsteps,$majend);
return;
}
if( abs($min-$max) < 0.00001 ) {
// We need some difference to be able to autoscale
// make it 5% above and 5% below value
if( $min==0 && $max==0 ) { // Special case
$min=-1; $max=1;
}
else {
$delta = (abs($max)+abs($min))*0.005;
$min -= $delta;
$max += $delta;
}
}
$gracetop=($this->gracetop/100.0)*abs($max-$min);
$gracebottom=($this->gracebottom/100.0)*abs($max-$min);
if( is_numeric($this->autoscale_min) ) {
$min = $this->autoscale_min;
if( $min >= $max ) {
JpGraphError::Raise('You have specified a min value with SetAutoMin() which is larger than the maximum value used for the scale. This is not possible.');
die();
}
if( abs($min-$max ) < 0.00001 )
$max *= 1.2;
}
 
if( is_numeric($this->autoscale_max) ) {
$max = $this->autoscale_max;
if( $min >= $max ) {
JpGraphError::Raise('You have specified a max value with SetAutoMax() which is smaller than the miminum value used for the scale. This is not possible.');
die();
}
if( abs($min-$max ) < 0.00001 )
$min *= 0.8;
}
 
$min -= $gracebottom;
$max += $gracetop;
 
// First get tickmarks as multiples of 0.1, 1, 10, ...
if( $majend ) {
list($num1steps,$adj1min,$adj1max,$min1step,$maj1step) =
$this->CalcTicks($maxsteps,$min,$max,1,2);
}
else {
$adj1min=$min;
$adj1max=$max;
list($num1steps,$min1step,$maj1step) =
$this->CalcTicksFreeze($maxsteps,$min,$max,1,2,false);
}
// Then get tick marks as 2:s 0.2, 2, 20, ...
if( $majend ) {
list($num2steps,$adj2min,$adj2max,$min2step,$maj2step) =
$this->CalcTicks($maxsteps,$min,$max,5,2);
}
else {
$adj2min=$min;
$adj2max=$max;
list($num2steps,$min2step,$maj2step) =
$this->CalcTicksFreeze($maxsteps,$min,$max,5,2,false);
}
// Then get tickmarks as 5:s 0.05, 0.5, 5, 50, ...
if( $majend ) {
list($num5steps,$adj5min,$adj5max,$min5step,$maj5step) =
$this->CalcTicks($maxsteps,$min,$max,2,5);
}
else {
$adj5min=$min;
$adj5max=$max;
list($num5steps,$min5step,$maj5step) =
$this->CalcTicksFreeze($maxsteps,$min,$max,2,5,false);
}
 
// Check to see whichof 1:s, 2:s or 5:s fit better with
// the requested number of major ticks
$match1=abs($num1steps-$maxsteps);
$match2=abs($num2steps-$maxsteps);
$match5=abs($num5steps-$maxsteps);
// Compare these three values and see which is the closest match
// We use a 0.8 weight to gravitate towards multiple of 5:s
$r=$this->MatchMin3($match1,$match2,$match5,0.8);
switch( $r ) {
case 1:
$this->Update($img,$adj1min,$adj1max);
$this->ticks->Set($maj1step,$min1step);
break;
case 2:
$this->Update($img,$adj2min,$adj2max);
$this->ticks->Set($maj2step,$min2step);
break;
case 3:
$this->Update($img,$adj5min,$adj5max);
$this->ticks->Set($maj5step,$min5step);
break;
}
}
 
//---------------
// PRIVATE METHODS
 
// This method recalculates all constants that are depending on the
// margins in the image. If the margins in the image are changed
// this method should be called for every scale that is registred with
// that image. Should really be installed as an observer of that image.
function InitConstants(&$img) {
if( $this->type=="x" ) {
$this->world_abs_size=$img->width - $img->left_margin - $img->right_margin;
$this->off=$img->left_margin;
$this->scale_factor = 0;
if( $this->world_size > 0 )
$this->scale_factor=$this->world_abs_size/($this->world_size*1.0);
}
else { // y scale
$this->world_abs_size=$img->height - $img->top_margin - $img->bottom_margin;
$this->off=$img->top_margin+$this->world_abs_size;
$this->scale_factor = 0;
if( $this->world_size > 0 )
$this->scale_factor=-$this->world_abs_size/($this->world_size*1.0);
}
$size = $this->world_size * $this->scale_factor;
$this->scale_abs=array($this->off,$this->off + $size);
}
// Initialize the conversion constants for this scale
// This tries to pre-calculate as much as possible to speed up the
// actual conversion (with Translate()) later on
// $start =scale start in absolute pixels (for x-scale this is an y-position
// and for an y-scale this is an x-position
// $len =absolute length in pixels of scale
function SetConstants($aStart,$aLen) {
$this->world_abs_size=$aLen;
$this->off=$aStart;
if( $this->world_size<=0 ) {
JpGraphError::Raise("<b>JpGraph Fatal Error</b>:<br>
You have unfortunately stumbled upon a bug in JpGraph. <br>
It seems like the scale range is ".$this->world_size." [for ".
$this->type." scale] <br>
Please report Bug #01 to jpgraph@aditus.nu and include the script
that gave this error. <br>
This problem could potentially be caused by trying to use \"illegal\"
values in the input data arrays (like trying to send in strings or
only NULL values) which causes the autoscaling to fail.");
}
// scale_factor = number of pixels per world unit
$this->scale_factor=$this->world_abs_size/($this->world_size*1.0);
// scale_abs = start and end points of scale in absolute pixels
$this->scale_abs=array($this->off,$this->off+$this->world_size*$this->scale_factor);
}
// Calculate number of ticks steps with a specific division
// $a is the divisor of 10**x to generate the first maj tick intervall
// $a=1, $b=2 give major ticks with multiple of 10, ...,0.1,1,10,...
// $a=5, $b=2 give major ticks with multiple of 2:s ...,0.2,2,20,...
// $a=2, $b=5 give major ticks with multiple of 5:s ...,0.5,5,50,...
// We return a vector of
// [$numsteps,$adjmin,$adjmax,$minstep,$majstep]
// If $majend==true then the first and last marks on the axis will be major
// labeled tick marks otherwise it will be adjusted to the closest min tick mark
function CalcTicks($maxsteps,$min,$max,$a,$b,$majend=true) {
$diff=$max-$min;
if( $diff==0 )
$ld=0;
else
$ld=floor(log10($diff));
 
// Gravitate min towards zero if we are close
if( $min>0 && $min < pow(10,$ld) ) $min=0;
//$majstep=pow(10,$ld-1)/$a;
$majstep=pow(10,$ld)/$a;
$minstep=$majstep/$b;
$adjmax=ceil($max/$minstep)*$minstep;
$adjmin=floor($min/$minstep)*$minstep;
$adjdiff = $adjmax-$adjmin;
$numsteps=$adjdiff/$majstep;
while( $numsteps>$maxsteps ) {
$majstep=pow(10,$ld)/$a;
$numsteps=$adjdiff/$majstep;
++$ld;
}
 
$minstep=$majstep/$b;
$adjmin=floor($min/$minstep)*$minstep;
$adjdiff = $adjmax-$adjmin;
if( $majend ) {
$adjmin = floor($min/$majstep)*$majstep;
$adjdiff = $adjmax-$adjmin;
$adjmax = ceil($adjdiff/$majstep)*$majstep+$adjmin;
}
else
$adjmax=ceil($max/$minstep)*$minstep;
 
return array($numsteps,$adjmin,$adjmax,$minstep,$majstep);
}
 
function CalcTicksFreeze($maxsteps,$min,$max,$a,$b) {
// Same as CalcTicks but don't adjust min/max values
$diff=$max-$min;
if( $diff==0 )
$ld=0;
else
$ld=floor(log10($diff));
 
//$majstep=pow(10,$ld-1)/$a;
$majstep=pow(10,$ld)/$a;
$minstep=$majstep/$b;
$numsteps=floor($diff/$majstep);
while( $numsteps > $maxsteps ) {
$majstep=pow(10,$ld)/$a;
$numsteps=floor($diff/$majstep);
++$ld;
}
$minstep=$majstep/$b;
return array($numsteps,$minstep,$majstep);
}
 
function IntCalcTicks($maxsteps,$min,$max,$a,$majend=true) {
$diff=$max-$min;
if( $diff==0 )
JpGraphError::Raise('Can\'t automatically determine ticks since min==max.');
else
$ld=floor(log10($diff));
// Gravitate min towards zero if we are close
if( $min>0 && $min < pow(10,$ld) ) $min=0;
if( $ld == 0 ) $ld=1;
if( $a == 1 )
$majstep = 1;
else
$majstep=pow(10,$ld)/$a;
$adjmax=ceil($max/$majstep)*$majstep;
 
$adjmin=floor($min/$majstep)*$majstep;
$adjdiff = $adjmax-$adjmin;
$numsteps=$adjdiff/$majstep;
while( $numsteps>$maxsteps ) {
$majstep=pow(10,$ld)/$a;
$numsteps=$adjdiff/$majstep;
++$ld;
}
$adjmin=floor($min/$majstep)*$majstep;
$adjdiff = $adjmax-$adjmin;
if( $majend ) {
$adjmin = floor($min/$majstep)*$majstep;
$adjdiff = $adjmax-$adjmin;
$adjmax = ceil($adjdiff/$majstep)*$majstep+$adjmin;
}
else
$adjmax=ceil($max/$majstep)*$majstep;
return array($numsteps,$adjmin,$adjmax,$majstep);
}
 
 
function IntCalcTicksFreeze($maxsteps,$min,$max,$a) {
// Same as IntCalcTick but don't change min/max values
$diff=$max-$min;
if( $diff==0 )
JpGraphError::Raise('Can\'t automatically determine ticks since min==max.');
else
$ld=floor(log10($diff));
if( $ld == 0 ) $ld=1;
if( $a == 1 )
$majstep = 1;
else
$majstep=pow(10,$ld)/$a;
 
$numsteps=floor($diff/$majstep);
while( $numsteps > $maxsteps ) {
$majstep=pow(10,$ld)/$a;
$numsteps=floor($diff/$majstep);
++$ld;
}
return array($numsteps,$majstep);
}
 
 
// Determine the minimum of three values witha weight for last value
function MatchMin3($a,$b,$c,$weight) {
if( $a < $b ) {
if( $a < ($c*$weight) )
return 1; // $a smallest
else
return 3; // $c smallest
}
elseif( $b < ($c*$weight) )
return 2; // $b smallest
return 3; // $c smallest
}
} // Class
 
//===================================================
// CLASS RGB
// Description: Color definitions as RGB triples
//===================================================
class RGB {
var $rgb_table;
var $img;
function RGB($aImg=null) {
$this->img = $aImg;
// Conversion array between color names and RGB
$this->rgb_table = array(
"aqua"=> array(0,255,255),
"lime"=> array(0,255,0),
"teal"=> array(0,128,128),
"whitesmoke"=>array(245,245,245),
"gainsboro"=>array(220,220,220),
"oldlace"=>array(253,245,230),
"linen"=>array(250,240,230),
"antiquewhite"=>array(250,235,215),
"papayawhip"=>array(255,239,213),
"blanchedalmond"=>array(255,235,205),
"bisque"=>array(255,228,196),
"peachpuff"=>array(255,218,185),
"navajowhite"=>array(255,222,173),
"moccasin"=>array(255,228,181),
"cornsilk"=>array(255,248,220),
"ivory"=>array(255,255,240),
"lemonchiffon"=>array(255,250,205),
"seashell"=>array(255,245,238),
"mintcream"=>array(245,255,250),
"azure"=>array(240,255,255),
"aliceblue"=>array(240,248,255),
"lavender"=>array(230,230,250),
"lavenderblush"=>array(255,240,245),
"mistyrose"=>array(255,228,225),
"white"=>array(255,255,255),
"black"=>array(0,0,0),
"darkslategray"=>array(47,79,79),
"dimgray"=>array(105,105,105),
"slategray"=>array(112,128,144),
"lightslategray"=>array(119,136,153),
"gray"=>array(190,190,190),
"lightgray"=>array(211,211,211),
"midnightblue"=>array(25,25,112),
"navy"=>array(0,0,128),
"cornflowerblue"=>array(100,149,237),
"darkslateblue"=>array(72,61,139),
"slateblue"=>array(106,90,205),
"mediumslateblue"=>array(123,104,238),
"lightslateblue"=>array(132,112,255),
"mediumblue"=>array(0,0,205),
"royalblue"=>array(65,105,225),
"blue"=>array(0,0,255),
"dodgerblue"=>array(30,144,255),
"deepskyblue"=>array(0,191,255),
"skyblue"=>array(135,206,235),
"lightskyblue"=>array(135,206,250),
"steelblue"=>array(70,130,180),
"lightred"=>array(211,167,168),
"lightsteelblue"=>array(176,196,222),
"lightblue"=>array(173,216,230),
"powderblue"=>array(176,224,230),
"paleturquoise"=>array(175,238,238),
"darkturquoise"=>array(0,206,209),
"mediumturquoise"=>array(72,209,204),
"turquoise"=>array(64,224,208),
"cyan"=>array(0,255,255),
"lightcyan"=>array(224,255,255),
"cadetblue"=>array(95,158,160),
"mediumaquamarine"=>array(102,205,170),
"aquamarine"=>array(127,255,212),
"darkgreen"=>array(0,100,0),
"darkolivegreen"=>array(85,107,47),
"darkseagreen"=>array(143,188,143),
"seagreen"=>array(46,139,87),
"mediumseagreen"=>array(60,179,113),
"lightseagreen"=>array(32,178,170),
"palegreen"=>array(152,251,152),
"springgreen"=>array(0,255,127),
"lawngreen"=>array(124,252,0),
"green"=>array(0,255,0),
"chartreuse"=>array(127,255,0),
"mediumspringgreen"=>array(0,250,154),
"greenyellow"=>array(173,255,47),
"limegreen"=>array(50,205,50),
"yellowgreen"=>array(154,205,50),
"forestgreen"=>array(34,139,34),
"olivedrab"=>array(107,142,35),
"darkkhaki"=>array(189,183,107),
"khaki"=>array(240,230,140),
"palegoldenrod"=>array(238,232,170),
"lightgoldenrodyellow"=>array(250,250,210),
"lightyellow"=>array(255,255,200),
"yellow"=>array(255,255,0),
"gold"=>array(255,215,0),
"lightgoldenrod"=>array(238,221,130),
"goldenrod"=>array(218,165,32),
"darkgoldenrod"=>array(184,134,11),
"rosybrown"=>array(188,143,143),
"indianred"=>array(205,92,92),
"saddlebrown"=>array(139,69,19),
"sienna"=>array(160,82,45),
"peru"=>array(205,133,63),
"burlywood"=>array(222,184,135),
"beige"=>array(245,245,220),
"wheat"=>array(245,222,179),
"sandybrown"=>array(244,164,96),
"tan"=>array(210,180,140),
"chocolate"=>array(210,105,30),
"firebrick"=>array(178,34,34),
"brown"=>array(165,42,42),
"darksalmon"=>array(233,150,122),
"salmon"=>array(250,128,114),
"lightsalmon"=>array(255,160,122),
"orange"=>array(255,165,0),
"darkorange"=>array(255,140,0),
"coral"=>array(255,127,80),
"lightcoral"=>array(240,128,128),
"tomato"=>array(255,99,71),
"orangered"=>array(255,69,0),
"red"=>array(255,0,0),
"hotpink"=>array(255,105,180),
"deeppink"=>array(255,20,147),
"pink"=>array(255,192,203),
"lightpink"=>array(255,182,193),
"palevioletred"=>array(219,112,147),
"maroon"=>array(176,48,96),
"mediumvioletred"=>array(199,21,133),
"violetred"=>array(208,32,144),
"magenta"=>array(255,0,255),
"violet"=>array(238,130,238),
"plum"=>array(221,160,221),
"orchid"=>array(218,112,214),
"mediumorchid"=>array(186,85,211),
"darkorchid"=>array(153,50,204),
"darkviolet"=>array(148,0,211),
"blueviolet"=>array(138,43,226),
"purple"=>array(160,32,240),
"mediumpurple"=>array(147,112,219),
"thistle"=>array(216,191,216),
"snow1"=>array(255,250,250),
"snow2"=>array(238,233,233),
"snow3"=>array(205,201,201),
"snow4"=>array(139,137,137),
"seashell1"=>array(255,245,238),
"seashell2"=>array(238,229,222),
"seashell3"=>array(205,197,191),
"seashell4"=>array(139,134,130),
"AntiqueWhite1"=>array(255,239,219),
"AntiqueWhite2"=>array(238,223,204),
"AntiqueWhite3"=>array(205,192,176),
"AntiqueWhite4"=>array(139,131,120),
"bisque1"=>array(255,228,196),
"bisque2"=>array(238,213,183),
"bisque3"=>array(205,183,158),
"bisque4"=>array(139,125,107),
"peachPuff1"=>array(255,218,185),
"peachpuff2"=>array(238,203,173),
"peachpuff3"=>array(205,175,149),
"peachpuff4"=>array(139,119,101),
"navajowhite1"=>array(255,222,173),
"navajowhite2"=>array(238,207,161),
"navajowhite3"=>array(205,179,139),
"navajowhite4"=>array(139,121,94),
"lemonchiffon1"=>array(255,250,205),
"lemonchiffon2"=>array(238,233,191),
"lemonchiffon3"=>array(205,201,165),
"lemonchiffon4"=>array(139,137,112),
"ivory1"=>array(255,255,240),
"ivory2"=>array(238,238,224),
"ivory3"=>array(205,205,193),
"ivory4"=>array(139,139,131),
"honeydew"=>array(193,205,193),
"lavenderblush1"=>array(255,240,245),
"lavenderblush2"=>array(238,224,229),
"lavenderblush3"=>array(205,193,197),
"lavenderblush4"=>array(139,131,134),
"mistyrose1"=>array(255,228,225),
"mistyrose2"=>array(238,213,210),
"mistyrose3"=>array(205,183,181),
"mistyrose4"=>array(139,125,123),
"azure1"=>array(240,255,255),
"azure2"=>array(224,238,238),
"azure3"=>array(193,205,205),
"azure4"=>array(131,139,139),
"slateblue1"=>array(131,111,255),
"slateblue2"=>array(122,103,238),
"slateblue3"=>array(105,89,205),
"slateblue4"=>array(71,60,139),
"royalblue1"=>array(72,118,255),
"royalblue2"=>array(67,110,238),
"royalblue3"=>array(58,95,205),
"royalblue4"=>array(39,64,139),
"dodgerblue1"=>array(30,144,255),
"dodgerblue2"=>array(28,134,238),
"dodgerblue3"=>array(24,116,205),
"dodgerblue4"=>array(16,78,139),
"steelblue1"=>array(99,184,255),
"steelblue2"=>array(92,172,238),
"steelblue3"=>array(79,148,205),
"steelblue4"=>array(54,100,139),
"deepskyblue1"=>array(0,191,255),
"deepskyblue2"=>array(0,178,238),
"deepskyblue3"=>array(0,154,205),
"deepskyblue4"=>array(0,104,139),
"skyblue1"=>array(135,206,255),
"skyblue2"=>array(126,192,238),
"skyblue3"=>array(108,166,205),
"skyblue4"=>array(74,112,139),
"lightskyblue1"=>array(176,226,255),
"lightskyblue2"=>array(164,211,238),
"lightskyblue3"=>array(141,182,205),
"lightskyblue4"=>array(96,123,139),
"slategray1"=>array(198,226,255),
"slategray2"=>array(185,211,238),
"slategray3"=>array(159,182,205),
"slategray4"=>array(108,123,139),
"lightsteelblue1"=>array(202,225,255),
"lightsteelblue2"=>array(188,210,238),
"lightsteelblue3"=>array(162,181,205),
"lightsteelblue4"=>array(110,123,139),
"lightblue1"=>array(191,239,255),
"lightblue2"=>array(178,223,238),
"lightblue3"=>array(154,192,205),
"lightblue4"=>array(104,131,139),
"lightcyan1"=>array(224,255,255),
"lightcyan2"=>array(209,238,238),
"lightcyan3"=>array(180,205,205),
"lightcyan4"=>array(122,139,139),
"paleturquoise1"=>array(187,255,255),
"paleturquoise2"=>array(174,238,238),
"paleturquoise3"=>array(150,205,205),
"paleturquoise4"=>array(102,139,139),
"cadetblue1"=>array(152,245,255),
"cadetblue2"=>array(142,229,238),
"cadetblue3"=>array(122,197,205),
"cadetblue4"=>array(83,134,139),
"turquoise1"=>array(0,245,255),
"turquoise2"=>array(0,229,238),
"turquoise3"=>array(0,197,205),
"turquoise4"=>array(0,134,139),
"cyan1"=>array(0,255,255),
"cyan2"=>array(0,238,238),
"cyan3"=>array(0,205,205),
"cyan4"=>array(0,139,139),
"darkslategray1"=>array(151,255,255),
"darkslategray2"=>array(141,238,238),
"darkslategray3"=>array(121,205,205),
"darkslategray4"=>array(82,139,139),
"aquamarine1"=>array(127,255,212),
"aquamarine2"=>array(118,238,198),
"aquamarine3"=>array(102,205,170),
"aquamarine4"=>array(69,139,116),
"darkseagreen1"=>array(193,255,193),
"darkseagreen2"=>array(180,238,180),
"darkseagreen3"=>array(155,205,155),
"darkseagreen4"=>array(105,139,105),
"seagreen1"=>array(84,255,159),
"seagreen2"=>array(78,238,148),
"seagreen3"=>array(67,205,128),
"seagreen4"=>array(46,139,87),
"palegreen1"=>array(154,255,154),
"palegreen2"=>array(144,238,144),
"palegreen3"=>array(124,205,124),
"palegreen4"=>array(84,139,84),
"springgreen1"=>array(0,255,127),
"springgreen2"=>array(0,238,118),
"springgreen3"=>array(0,205,102),
"springgreen4"=>array(0,139,69),
"chartreuse1"=>array(127,255,0),
"chartreuse2"=>array(118,238,0),
"chartreuse3"=>array(102,205,0),
"chartreuse4"=>array(69,139,0),
"olivedrab1"=>array(192,255,62),
"olivedrab2"=>array(179,238,58),
"olivedrab3"=>array(154,205,50),
"olivedrab4"=>array(105,139,34),
"darkolivegreen1"=>array(202,255,112),
"darkolivegreen2"=>array(188,238,104),
"darkolivegreen3"=>array(162,205,90),
"darkolivegreen4"=>array(110,139,61),
"khaki1"=>array(255,246,143),
"khaki2"=>array(238,230,133),
"khaki3"=>array(205,198,115),
"khaki4"=>array(139,134,78),
"lightgoldenrod1"=>array(255,236,139),
"lightgoldenrod2"=>array(238,220,130),
"lightgoldenrod3"=>array(205,190,112),
"lightgoldenrod4"=>array(139,129,76),
"yellow1"=>array(255,255,0),
"yellow2"=>array(238,238,0),
"yellow3"=>array(205,205,0),
"yellow4"=>array(139,139,0),
"gold1"=>array(255,215,0),
"gold2"=>array(238,201,0),
"gold3"=>array(205,173,0),
"gold4"=>array(139,117,0),
"goldenrod1"=>array(255,193,37),
"goldenrod2"=>array(238,180,34),
"goldenrod3"=>array(205,155,29),
"goldenrod4"=>array(139,105,20),
"darkgoldenrod1"=>array(255,185,15),
"darkgoldenrod2"=>array(238,173,14),
"darkgoldenrod3"=>array(205,149,12),
"darkgoldenrod4"=>array(139,101,8),
"rosybrown1"=>array(255,193,193),
"rosybrown2"=>array(238,180,180),
"rosybrown3"=>array(205,155,155),
"rosybrown4"=>array(139,105,105),
"indianred1"=>array(255,106,106),
"indianred2"=>array(238,99,99),
"indianred3"=>array(205,85,85),
"indianred4"=>array(139,58,58),
"sienna1"=>array(255,130,71),
"sienna2"=>array(238,121,66),
"sienna3"=>array(205,104,57),
"sienna4"=>array(139,71,38),
"burlywood1"=>array(255,211,155),
"burlywood2"=>array(238,197,145),
"burlywood3"=>array(205,170,125),
"burlywood4"=>array(139,115,85),
"wheat1"=>array(255,231,186),
"wheat2"=>array(238,216,174),
"wheat3"=>array(205,186,150),
"wheat4"=>array(139,126,102),
"tan1"=>array(255,165,79),
"tan2"=>array(238,154,73),
"tan3"=>array(205,133,63),
"tan4"=>array(139,90,43),
"chocolate1"=>array(255,127,36),
"chocolate2"=>array(238,118,33),
"chocolate3"=>array(205,102,29),
"chocolate4"=>array(139,69,19),
"firebrick1"=>array(255,48,48),
"firebrick2"=>array(238,44,44),
"firebrick3"=>array(205,38,38),
"firebrick4"=>array(139,26,26),
"brown1"=>array(255,64,64),
"brown2"=>array(238,59,59),
"brown3"=>array(205,51,51),
"brown4"=>array(139,35,35),
"salmon1"=>array(255,140,105),
"salmon2"=>array(238,130,98),
"salmon3"=>array(205,112,84),
"salmon4"=>array(139,76,57),
"lightsalmon1"=>array(255,160,122),
"lightsalmon2"=>array(238,149,114),
"lightsalmon3"=>array(205,129,98),
"lightsalmon4"=>array(139,87,66),
"orange1"=>array(255,165,0),
"orange2"=>array(238,154,0),
"orange3"=>array(205,133,0),
"orange4"=>array(139,90,0),
"darkorange1"=>array(255,127,0),
"darkorange2"=>array(238,118,0),
"darkorange3"=>array(205,102,0),
"darkorange4"=>array(139,69,0),
"coral1"=>array(255,114,86),
"coral2"=>array(238,106,80),
"coral3"=>array(205,91,69),
"coral4"=>array(139,62,47),
"tomato1"=>array(255,99,71),
"tomato2"=>array(238,92,66),
"tomato3"=>array(205,79,57),
"tomato4"=>array(139,54,38),
"orangered1"=>array(255,69,0),
"orangered2"=>array(238,64,0),
"orangered3"=>array(205,55,0),
"orangered4"=>array(139,37,0),
"deeppink1"=>array(255,20,147),
"deeppink2"=>array(238,18,137),
"deeppink3"=>array(205,16,118),
"deeppink4"=>array(139,10,80),
"hotpink1"=>array(255,110,180),
"hotpink2"=>array(238,106,167),
"hotpink3"=>array(205,96,144),
"hotpink4"=>array(139,58,98),
"pink1"=>array(255,181,197),
"pink2"=>array(238,169,184),
"pink3"=>array(205,145,158),
"pink4"=>array(139,99,108),
"lightpink1"=>array(255,174,185),
"lightpink2"=>array(238,162,173),
"lightpink3"=>array(205,140,149),
"lightpink4"=>array(139,95,101),
"palevioletred1"=>array(255,130,171),
"palevioletred2"=>array(238,121,159),
"palevioletred3"=>array(205,104,137),
"palevioletred4"=>array(139,71,93),
"maroon1"=>array(255,52,179),
"maroon2"=>array(238,48,167),
"maroon3"=>array(205,41,144),
"maroon4"=>array(139,28,98),
"violetred1"=>array(255,62,150),
"violetred2"=>array(238,58,140),
"violetred3"=>array(205,50,120),
"violetred4"=>array(139,34,82),
"magenta1"=>array(255,0,255),
"magenta2"=>array(238,0,238),
"magenta3"=>array(205,0,205),
"magenta4"=>array(139,0,139),
"mediumred"=>array(140,34,34),
"orchid1"=>array(255,131,250),
"orchid2"=>array(238,122,233),
"orchid3"=>array(205,105,201),
"orchid4"=>array(139,71,137),
"plum1"=>array(255,187,255),
"plum2"=>array(238,174,238),
"plum3"=>array(205,150,205),
"plum4"=>array(139,102,139),
"mediumorchid1"=>array(224,102,255),
"mediumorchid2"=>array(209,95,238),
"mediumorchid3"=>array(180,82,205),
"mediumorchid4"=>array(122,55,139),
"darkorchid1"=>array(191,62,255),
"darkorchid2"=>array(178,58,238),
"darkorchid3"=>array(154,50,205),
"darkorchid4"=>array(104,34,139),
"purple1"=>array(155,48,255),
"purple2"=>array(145,44,238),
"purple3"=>array(125,38,205),
"purple4"=>array(85,26,139),
"mediumpurple1"=>array(171,130,255),
"mediumpurple2"=>array(159,121,238),
"mediumpurple3"=>array(137,104,205),
"mediumpurple4"=>array(93,71,139),
"thistle1"=>array(255,225,255),
"thistle2"=>array(238,210,238),
"thistle3"=>array(205,181,205),
"thistle4"=>array(139,123,139),
"gray1"=>array(10,10,10),
"gray2"=>array(40,40,30),
"gray3"=>array(70,70,70),
"gray4"=>array(100,100,100),
"gray5"=>array(130,130,130),
"gray6"=>array(160,160,160),
"gray7"=>array(190,190,190),
"gray8"=>array(210,210,210),
"gray9"=>array(240,240,240),
"darkgray"=>array(100,100,100),
"darkblue"=>array(0,0,139),
"darkcyan"=>array(0,139,139),
"darkmagenta"=>array(139,0,139),
"darkred"=>array(139,0,0),
"silver"=>array(192, 192, 192),
"eggplant"=>array(144,176,168),
"lightgreen"=>array(144,238,144));
}
//----------------
// PUBLIC METHODS
// Colors can be specified as either
// 1. #xxxxxx HTML style
// 2. "colorname" as a named color
// 3. array(r,g,b) RGB triple
// This function translates this to a native RGB format and returns an
// RGB triple.
function Color($aColor) {
if (is_string($aColor)) {
 
// Strip of any alpha factor
$pos = strpos($aColor,'@');
if( $pos === false ) {
$alpha = 0;
}
else {
$pos2 = strpos($aColor,':');
if( $pos2===false )
$pos2 = $pos-1; // Sentinel
if( $pos > $pos2 ) {
$alpha = substr($aColor,$pos+1);
$aColor = substr($aColor,0,$pos);
}
else {
$alpha = substr($aColor,$pos+1,$pos2-$pos-1);
$aColor = substr($aColor,0,$pos).substr($aColor,$pos2);
}
}
 
// Extract potential adjustment figure at end of color
// specification
$pos = strpos($aColor,":");
if( $pos === false ) {
$adj = 1.0;
}
else {
$adj = 0.0 + substr($aColor,$pos+1);
$aColor = substr($aColor,0,$pos);
}
if( $adj < 0 )
JpGraphError::Raise('Adjustment factor for color must be > 0');
 
if (substr($aColor, 0, 1) == "#") {
$r = hexdec(substr($aColor, 1, 2));
$g = hexdec(substr($aColor, 3, 2));
$b = hexdec(substr($aColor, 5, 2));
} else {
if(!isset($this->rgb_table[$aColor]) )
JpGraphError::Raise(" Unknown color: <strong>$aColor</strong>");
$tmp=$this->rgb_table[$aColor];
$r = $tmp[0];
$g = $tmp[1];
$b = $tmp[2];
}
// Scale adj so that an adj=2 always
// makes the color 100% white (i.e. 255,255,255.
// and adj=1 neutral and adj=0 black.
if( $adj > 1 ) {
$m = ($adj-1.0)*(255-min(255,min($r,min($g,$b))));
return array(min(255,$r+$m), min(255,$g+$m), min(255,$b+$m),$alpha);
}
elseif( $adj < 1 ) {
$m = ($adj-1.0)*max(255,max($r,max($g,$b)));
return array(max(0,$r+$m), max(0,$g+$m), max(0,$b+$m),$alpha);
}
else {
return array($r,$g,$b,$alpha);
}
 
} elseif( is_array($aColor) ) {
if( count($aColor)==3 ) {
$aColor[3]=0;
return $aColor;
}
else
return $aColor;
}
else
JpGraphError::Raise(" Unknown color specification: $aColor , size=".count($aColor));
}
// Compare two colors
// return true if equal
function Equal($aCol1,$aCol2) {
$c1 = $this->Color($aCol1);
$c2 = $this->Color($aCol2);
if( $c1[0]==$c2[0] && $c1[1]==$c2[1] && $c1[2]==$c2[2] )
return true;
else
return false;
}
// Allocate a new color in the current image
// Return new color index, -1 if no more colors could be allocated
function Allocate($aColor,$aAlpha=0.0) {
list ($r, $g, $b, $a) = $this->color($aColor);
// If alpha is specified in the color string then this
// takes precedence over the second argument
if( $a > 0 )
$aAlpha = $a;
if(@$GLOBALS['gd2']==true) {
if( $aAlpha < 0 || $aAlpha > 1 ) {
JpGraphError::Raise('Alpha parameter for color must be between 0.0 and 1.0');
exit(1);
}
return imagecolorresolvealpha($this->img, $r, $g, $b, round($aAlpha * 127));
} else {
$index = imagecolorexact($this->img, $r, $g, $b);
if ($index == -1) {
$index = imagecolorallocate($this->img, $r, $g, $b);
if( USE_APPROX_COLORS && $index == -1 )
$index = imagecolorresolve($this->img, $r, $g, $b);
}
return $index;
}
}
} // Class
 
//===================================================
// CLASS Image
// Description: Wrapper class with some goodies to form the
// Interface to low level image drawing routines.
//===================================================
class Image {
var $img_format;
var $expired=true;
var $img;
var $left_margin=30,$right_margin=30,$top_margin=20,$bottom_margin=30;
var $plotwidth=0,$plotheight=0;
var $rgb=null;
var $current_color,$current_color_name;
var $lastx=0, $lasty=0;
var $width, $height;
var $line_weight=1;
var $line_style=1; // Default line style is solid
var $obs_list=array();
var $font_size=12,$font_family=FF_FONT1, $font_style=FS_NORMAL;
var $font_file='';
var $text_halign="left",$text_valign="bottom";
var $ttf=null;
var $use_anti_aliasing=false;
var $quality=null;
var $colorstack=array(),$colorstackidx=0;
var $canvascolor = 'white' ;
var $langconv = null ;
 
//---------------
// CONSTRUCTOR
function Image($aWidth,$aHeight,$aFormat=DEFAULT_GFORMAT) {
$this->CreateImgCanvas($aWidth,$aHeight);
$this->SetAutoMargin();
 
if( !$this->SetImgFormat($aFormat) ) {
JpGraphError::Raise("JpGraph: Selected graphic format is either not supported or unknown [$aFormat]");
}
$this->ttf = new TTF();
$this->langconv = new LanguageConv();
}
 
// Should we use anti-aliasing. Note: This really slows down graphics!
function SetAntiAliasing() {
$this->use_anti_aliasing=true;
}
 
function CreateRawCanvas($aWidth=0,$aHeight=0) {
if( @$GLOBALS['gd2']==true && USE_TRUECOLOR ) {
$this->img = @imagecreatetruecolor($aWidth, $aHeight);
if( $this->img < 1 ) {
die("<font color=red><b>JpGraph Error:</b></font> Can't create truecolor image. Check that you really have GD2 library installed.");
}
$this->SetAlphaBlending();
} else {
$this->img = @imagecreate($aWidth, $aHeight);
if( $this->img < 1 ) {
die("<font color=red><b>JpGraph Error:</b></font> Can't create image. Check that you really have the GD library installed.");
}
}
if( $this->rgb != null )
$this->rgb->img = $this->img ;
else
$this->rgb = new RGB($this->img);
}
 
function CloneCanvasH() {
$oldimage = $this->img;
$this->CreateRawCanvas($this->width,$this->height);
imagecopy($this->img,$oldimage,0,0,0,0,$this->width,$this->height);
return $oldimage;
}
function CreateImgCanvas($aWidth=0,$aHeight=0) {
 
$old = array($this->img,$this->width,$this->height);
$aWidth = round($aWidth);
$aHeight = round($aHeight);
 
$this->width=$aWidth;
$this->height=$aHeight;
 
if( $aWidth==0 || $aHeight==0 ) {
// We will set the final size later.
// Note: The size must be specified before any other
// img routines that stroke anything are called.
$this->img = null;
$this->rgb = null;
return $old;
}
$this->CreateRawCanvas($aWidth,$aHeight);
// Set canvas color (will also be the background color for a
// a pallett image
$this->SetColor($this->canvascolor);
$this->FilledRectangle(0,0,$aWidth,$aHeight);
 
return $old ;
}
 
function CopyCanvasH($aToHdl,$aFromHdl,$aToX,$aToY,$aFromX,$aFromY,$aWidth,$aHeight,$aw=-1,$ah=-1) {
if( $aw === -1 ) {
$aw = $aWidth;
$ah = $aHeight;
$f = 'imagecopyresized';
}
else {
$f = $GLOBALS['copyfunc'] ;
}
$f($aToHdl,$aFromHdl,
$aToX,$aToY,$aFromX,$aFromY, $aWidth,$aHeight,$aw,$ah);
}
 
function SetCanvasH($aHdl) {
$this->img = $aHdl;
$this->rgb->img = $aHdl;
}
 
function SetCanvasColor($aColor) {
$this->canvascolor = $aColor ;
}
 
function SetAlphaBlending($aFlg=true) {
if( $GLOBALS['gd2'] )
ImageAlphaBlending($this->img,$aFlg);
else
JpGraphError::Raise('You only seem to have GD 1.x installed. To enable Alphablending requires GD 2.x or higher. Please install GD or make sure the constant USE_GD2 is specified correctly to reflect your installation. By default it tries to autodetect what version of GD you have installed. On some very rare occasions it may falsely detect GD2 where only GD1 is installed. You must then set USE_GD2 to false.');
}
 
function SetAutoMargin() {
GLOBAL $gJpgBrandTiming;
$min_bm=0;
if( $gJpgBrandTiming )
$min_bm=15;
$lm = max(0,$this->width/7);
$rm = max(0,$this->width/10);
$tm = max(0,$this->height/7);
$bm = max($min_bm,$this->height/7);
$this->SetMargin($lm,$rm,$tm,$bm);
}
 
//---------------
// PUBLIC METHODS
 
// Add observer. The observer will be notified when
// the margin changes
function AddObserver($aMethod,&$aObject) {
$this->obs_list[]=array($aMethod,&$aObject);
}
// Call all observers
function NotifyObservers() {
// foreach($this->obs_list as $o)
// $o[1]->$o[0]($this);
for($i=0; $i < count($this->obs_list); ++$i) {
$obj = & $this->obs_list[$i][1];
$method = $this->obs_list[$i][0];
$obj->$method($this);
}
}
function SetFont($family,$style=FS_NORMAL,$size=10) {
if($family==FONT1_BOLD || $family==FONT2_BOLD || $family==FONT0 || $family==FONT1 || $family==FONT2 )
JpGraphError::Raise(" Usage of FONT0, FONT1, FONT2 is deprecated. Use FF_xxx instead.");
$this->font_family=$family;
$this->font_style=$style;
$this->font_size=$size;
$this->font_file='';
if( ($this->font_family==FF_FONT1 || $this->font_family==FF_FONT2) && $this->font_style==FS_BOLD ){
++$this->font_family;
}
if( $this->font_family > FF_FONT2+1 ) { // A TTF font so get the font file
 
// Check that this PHP has support for TTF fonts
if( !function_exists('imagettfbbox') ) {
JpGraphError::Raise('This PHP build has not been configured with TTF support. You need to recompile your PHP installation with FreeType support.');
exit();
}
$this->font_file = $this->ttf->File($this->font_family,$this->font_style);
}
}
 
// Get the specific height for a text string
function GetTextHeight($txt="",$angle=0) {
$tmp = split("\n",$txt);
$n = count($tmp);
$m=0;
for($i=0; $i< $n; ++$i)
$m = max($m,strlen($tmp[$i]));
 
if( $this->font_family <= FF_FONT2+1 ) {
if( $angle==0 )
return $n*imagefontheight($this->font_family);
else
return $m*imagefontwidth($this->font_family);
}
else {
$bbox = $this->GetTTFBBox($txt,$angle);
return $bbox[1]-$bbox[5];
}
}
// Estimate font height
function GetFontHeight($angle=0) {
$txt = "XOMg";
return $this->GetTextHeight($txt,$angle);
}
// Approximate font width with width of letter "O"
function GetFontWidth($angle=0) {
$txt = 'O';
return $this->GetTextWidth($txt,$angle);
}
// Get actual width of text in absolute pixels
function GetTextWidth($txt,$angle=0) {
 
$tmp = split("\n",$txt);
$n = count($tmp);
if( $this->font_family <= FF_FONT2+1 ) {
 
$m=0;
for($i=0; $i < $n; ++$i) {
$l=strlen($tmp[$i]);
if( $l > $m ) {
$m = $l;
}
}
 
if( $angle==0 ) {
$width=$m*imagefontwidth($this->font_family);
return $width;
}
else {
// 90 degrees internal so height becomes width
return $n*imagefontheight($this->font_family);
}
}
else {
// For TTF fonts we must walk through a lines and find the
// widest one which we use as the width of the multi-line
// paragraph
$m=0;
for( $i=0; $i < $n; ++$i ) {
$bbox = $this->GetTTFBBox($tmp[$i],$angle);
$mm = $bbox[2] - $bbox[0];
if( $mm > $m )
$m = $mm;
}
return $m;
}
}
// Draw text with a box around it
function StrokeBoxedText($x,$y,$txt,$dir=0,$fcolor="white",$bcolor="black",
$shadowcolor=false,$paragraph_align="left",
$xmarg=6,$ymarg=4,$cornerradius=0,$dropwidth=3) {
 
if( !is_numeric($dir) ) {
if( $dir=="h" ) $dir=0;
elseif( $dir=="v" ) $dir=90;
else JpGraphError::Raise(" Unknown direction specified in call to StrokeBoxedText() [$dir]");
}
if( $this->font_family >= FF_FONT0 && $this->font_family <= FF_FONT2+1) {
$width=$this->GetTextWidth($txt,$dir) ;
$height=$this->GetTextHeight($txt,$dir) ;
}
else {
$width=$this->GetBBoxWidth($txt,$dir) ;
$height=$this->GetBBoxHeight($txt,$dir) ;
}
$height += 2*$ymarg;
$width += 2*$xmarg;
 
if( $this->text_halign=="right" ) $x -= $width;
elseif( $this->text_halign=="center" ) $x -= $width/2;
if( $this->text_valign=="bottom" ) $y -= $height;
elseif( $this->text_valign=="center" ) $y -= $height/2;
if( $shadowcolor ) {
$this->PushColor($shadowcolor);
$this->FilledRoundedRectangle($x-$xmarg+$dropwidth,$y-$ymarg+$dropwidth,
$x+$width+$dropwidth,$y+$height+$dropwidth,
$cornerradius);
$this->PopColor();
$this->PushColor($fcolor);
$this->FilledRoundedRectangle($x-$xmarg,$y-$ymarg,$x+$width,$y+$height,$cornerradius);
$this->PopColor();
$this->PushColor($bcolor);
$this->RoundedRectangle($x-$xmarg,$y-$ymarg,$x+$width,$y+$height,$cornerradius);
$this->PopColor();
}
else {
if( $fcolor ) {
$oc=$this->current_color;
$this->SetColor($fcolor);
$this->FilledRoundedRectangle($x-$xmarg,$y-$ymarg,$x+$width,$y+$height,$cornerradius);
$this->current_color=$oc;
}
if( $bcolor ) {
$oc=$this->current_color;
$this->SetColor($bcolor);
$this->RoundedRectangle($x-$xmarg,$y-$ymarg,$x+$width,$y+$height,$cornerradius);
$this->current_color=$oc;
}
}
$h=$this->text_halign;
$v=$this->text_valign;
$this->SetTextAlign("left","top");
$this->StrokeText($x, $y, $txt, $dir, $paragraph_align);
$this->SetTextAlign($h,$v);
}
 
// Set text alignment
function SetTextAlign($halign,$valign="bottom") {
$this->text_halign=$halign;
$this->text_valign=$valign;
}
 
function _StrokeBuiltinFont($x,$y,$txt,$dir=0,$paragraph_align="left") {
 
if( is_numeric($dir) && $dir!=90 && $dir!=0)
JpGraphError::Raise(" Internal font does not support drawing text at arbitrary angle. Use TTF fonts instead.");
$h=$this->GetTextHeight($txt);
$fh=$this->GetFontHeight();
$w=$this->GetTextWidth($txt);
if( $this->text_halign=="right")
$x -= $dir==0 ? $w : $h;
elseif( $this->text_halign=="center" ) {
// For center we subtract 1 pixel since this makes the middle
// be prefectly in the middle
$x -= $dir==0 ? $w/2-1 : $h/2;
}
if( $this->text_valign=="top" )
$y += $dir==0 ? $h : $w;
elseif( $this->text_valign=="center" )
$y += $dir==0 ? $h/2 : $w/2;
if( $dir==90 )
imagestringup($this->img,$this->font_family,$x,$y,$txt,$this->current_color);
else {
if( ereg("\n",$txt) ) {
$tmp = split("\n",$txt);
for($i=0; $i < count($tmp); ++$i) {
$w1 = $this->GetTextWidth($tmp[$i]);
if( $paragraph_align=="left" ) {
imagestring($this->img,$this->font_family,$x,$y-$h+1+$i*$fh,$tmp[$i],$this->current_color);
}
elseif( $paragraph_align=="right" ) {
imagestring($this->img,$this->font_family,$x+($w-$w1),
$y-$h+1+$i*$fh,$tmp[$i],$this->current_color);
}
else {
imagestring($this->img,$this->font_family,$x+$w/2-$w1/2,
$y-$h+1+$i*$fh,$tmp[$i],$this->current_color);
}
}
}
else {
//Put the text
imagestring($this->img,$this->font_family,$x,$y-$h+1,$txt,$this->current_color);
}
}
}
 
function AddTxtCR($aTxt) {
// If the user has just specified a '\n'
// instead of '\n\t' we have to add '\r' since
// the width will be too muchy otherwise since when
// we print we stroke the individually lines by hand.
$e = explode("\n",$aTxt);
$n = count($e);
for($i=0; $i<$n; ++$i) {
$e[$i]=str_replace("\r","",$e[$i]);
}
return implode("\n\r",$e);
}
 
function GetTTFBBox($aTxt,$aAngle=0) {
$bbox = @ImageTTFBBox($this->font_size,$aAngle,$this->font_file,$aTxt);
if( $bbox === false ) {
JpGraphError::Raise("There is either a configuration problem with TrueType or a problem reading font file (".$this->font_file."). Make sure file exists and is in a readable place for the HTTP process. (If 'basedir' restriction is enabled in PHP then the font file must be located in the document root.). It might also be a wrongly installed FreeType library. Try uppgrading to at least FreeType 2.1.13 and recompile GD with the correct setup so it can find the new FT library.");
}
return $bbox;
}
 
function GetBBoxTTF($aTxt,$aAngle=0) {
// Normalize the bounding box to become a minimum
// enscribing rectangle
 
$aTxt = $this->AddTxtCR($aTxt);
 
if( !is_readable($this->font_file) ) {
JpGraphError::Raise('Can not read font file ('.$this->font_file.') in call to Image::GetBBoxTTF. Please make sure that you have set a font before calling this method and that the font is installed in the TTF directory.');
}
$bbox = $this->GetTTFBBox($aTxt,$aAngle);
 
if( $aAngle==0 )
return $bbox;
if( $aAngle >= 0 ) {
if( $aAngle <= 90 ) { //<=0
$bbox = array($bbox[6],$bbox[1],$bbox[2],$bbox[1],
$bbox[2],$bbox[5],$bbox[6],$bbox[5]);
}
elseif( $aAngle <= 180 ) { //<= 2
$bbox = array($bbox[4],$bbox[7],$bbox[0],$bbox[7],
$bbox[0],$bbox[3],$bbox[4],$bbox[3]);
}
elseif( $aAngle <= 270 ) { //<= 3
$bbox = array($bbox[2],$bbox[5],$bbox[6],$bbox[5],
$bbox[6],$bbox[1],$bbox[2],$bbox[1]);
}
else {
$bbox = array($bbox[0],$bbox[3],$bbox[4],$bbox[3],
$bbox[4],$bbox[7],$bbox[0],$bbox[7]);
}
}
elseif( $aAngle < 0 ) {
if( $aAngle <= -270 ) { // <= -3
$bbox = array($bbox[6],$bbox[1],$bbox[2],$bbox[1],
$bbox[2],$bbox[5],$bbox[6],$bbox[5]);
}
elseif( $aAngle <= -180 ) { // <= -2
$bbox = array($bbox[0],$bbox[3],$bbox[4],$bbox[3],
$bbox[4],$bbox[7],$bbox[0],$bbox[7]);
}
elseif( $aAngle <= -90 ) { // <= -1
$bbox = array($bbox[2],$bbox[5],$bbox[6],$bbox[5],
$bbox[6],$bbox[1],$bbox[2],$bbox[1]);
}
else {
$bbox = array($bbox[0],$bbox[3],$bbox[4],$bbox[3],
$bbox[4],$bbox[7],$bbox[0],$bbox[7]);
}
}
return $bbox;
}
 
function GetBBoxHeight($aTxt,$aAngle=0) {
$box = $this->GetBBoxTTF($aTxt,$aAngle);
return $box[1]-$box[7]+1;
}
 
function GetBBoxWidth($aTxt,$aAngle=0) {
$box = $this->GetBBoxTTF($aTxt,$aAngle);
return $box[2]-$box[0]+1;
}
 
function _StrokeTTF($x,$y,$txt,$dir=0,$paragraph_align="left",$debug=false) {
 
// Remember the anchor point before adjustment
if( $debug ) {
$ox=$x;
$oy=$y;
}
 
if( !ereg("\n",$txt) || ($dir>0 && ereg("\n",$txt)) ) {
// Format a single line
 
$txt = $this->AddTxtCR($txt);
 
$bbox=$this->GetBBoxTTF($txt,$dir);
// Align x,y ot lower left corner of bbox
$x -= $bbox[0];
$y -= $bbox[1];
 
// Note to self: "topanchor" is deprecated after we changed the
// bopunding box stuff.
if( $this->text_halign=="right" || $this->text_halign=="topanchor" )
$x -= $bbox[2]-$bbox[0];
elseif( $this->text_halign=="center" ) $x -= ($bbox[2]-$bbox[0])/2;
if( $this->text_valign=="top" ) $y += abs($bbox[5])+$bbox[1];
elseif( $this->text_valign=="center" ) $y -= ($bbox[5]-$bbox[1])/2;
 
ImageTTFText ($this->img, $this->font_size, $dir, $x, $y,
$this->current_color,$this->font_file,$txt);
 
if( $debug ) {
// Draw the bounding rectangle and the bounding box
$box=ImageTTFBBox($this->font_size,$dir,$this->font_file,$txt);
$p = array();
$p1 = array();
for($i=0; $i < 4; ++$i) {
$p[] = $bbox[$i*2]+$x;
$p[] = $bbox[$i*2+1]+$y;
$p1[] = $box[$i*2]+$x;
$p1[] = $box[$i*2+1]+$y;
}
 
// Draw bounding box
$this->PushColor('green');
$this->Polygon($p1,true);
$this->PopColor();
// Draw bounding rectangle
$this->PushColor('darkgreen');
$this->Polygon($p,true);
$this->PopColor();
// Draw a cross at the anchor point
$this->PushColor('red');
$this->Line($ox-15,$oy,$ox+15,$oy);
$this->Line($ox,$oy-15,$ox,$oy+15);
$this->PopColor();
}
}
else {
// Format a text paragraph
$fh=$this->GetFontHeight();
 
// Line margin is 15% of font height
$linemargin=round($fh*0.15);
$fh += $linemargin;
$w=$this->GetTextWidth($txt);
 
$y -= $linemargin/2;
$tmp = split("\n",$txt);
$nl = count($tmp);
$h = $nl * $fh;
 
if( $this->text_halign=="right")
$x -= $dir==0 ? $w : $h;
elseif( $this->text_halign=="center" ) {
$x -= $dir==0 ? $w/2 : $h/2;
}
if( $this->text_valign=="top" )
$y += $dir==0 ? $h : $w;
elseif( $this->text_valign=="center" )
$y += $dir==0 ? $h/2 : $w/2;
 
// Here comes a tricky bit.
// Since we have to give the position for the string at the
// baseline this means thaht text will move slightly up
// and down depending on any of it's character descend below
// the baseline, for example a 'g'. To adjust the Y-position
// we therefore adjust the text with the baseline Y-offset
// as used for the current font and size. This will keep the
// baseline at a fixed positoned disregarding the actual
// characters in the string.
$standardbox = $this->GetTTFBBox('Gg',$dir);
$yadj = $standardbox[1];
$xadj = $standardbox[0];
for($i=0; $i < $nl; ++$i) {
$wl = $this->GetTextWidth($tmp[$i]);
$bbox = $this->GetTTFBBox($tmp[$i],$dir);
if( $paragraph_align=="left" ) {
$xl = $x;
}
elseif( $paragraph_align=="right" ) {
$xl = $x + ($w-$wl);
}
else {
// Center
$xl = $x + $w/2 - $wl/2 ;
}
 
$xl -= $bbox[0];
$yl = $y - $yadj;
$xl = $xl - $xadj;
ImageTTFText ($this->img, $this->font_size, $dir,
$xl, $yl-($h-$fh)+$fh*$i,
$this->current_color,$this->font_file,$tmp[$i]);
 
 
if( $debug ) {
// Draw the bounding rectangle around each line
$box=ImageTTFBBox($this->font_size,$dir,$this->font_file,$tmp[$i]);
$p = array();
for($j=0; $j < 4; ++$j) {
$p[] = $bbox[$j*2]+$xl;
$p[] = $bbox[$j*2+1]+$yl-($h-$fh)+$fh*$i;
}
// Draw bounding rectangle
$this->PushColor('darkgreen');
$this->Polygon($p,true);
$this->PopColor();
}
}
 
if( $debug ) {
// Draw a cross at the anchor point
$this->PushColor('red');
$this->Line($ox-25,$oy,$ox+25,$oy);
$this->Line($ox,$oy-25,$ox,$oy+25);
$this->PopColor();
}
 
}
}
function StrokeText($x,$y,$txt,$dir=0,$paragraph_align="left",$debug=false) {
 
$x = round($x);
$y = round($y);
 
// Do special language encoding
$txt = $this->langconv->Convert($txt,$this->font_family);
 
if( !is_numeric($dir) )
JpGraphError::Raise(" Direction for text most be given as an angle between 0 and 90.");
if( $this->font_family >= FF_FONT0 && $this->font_family <= FF_FONT2+1) {
$this->_StrokeBuiltinFont($x,$y,$txt,$dir,$paragraph_align,$debug);
}
elseif($this->font_family >= FF_COURIER && $this->font_family <= FF_BOOK) {
$this->_StrokeTTF($x,$y,$txt,$dir,$paragraph_align,$debug);
}
else
JpGraphError::Raise(" Unknown font font family specification. ");
}
function SetMargin($lm,$rm,$tm,$bm) {
$this->left_margin=$lm;
$this->right_margin=$rm;
$this->top_margin=$tm;
$this->bottom_margin=$bm;
$this->plotwidth=$this->width - $this->left_margin-$this->right_margin ;
$this->plotheight=$this->height - $this->top_margin-$this->bottom_margin ;
if( $this->plotwidth < 0 || $this->plotheight < 0 )
JpGraphError::raise("To small plot area. ($lm,$rm,$tm,$bm : $this->plotwidth x $this->plotheight). With the given image size and margins there is to little space left for the plot. Increase the plot size or reduce the margins.");
$this->NotifyObservers();
}
 
function SetTransparent($color) {
imagecolortransparent ($this->img,$this->rgb->allocate($color));
}
function SetColor($color,$aAlpha=0) {
$this->current_color_name = $color;
$this->current_color=$this->rgb->allocate($color,$aAlpha);
if( $this->current_color == -1 ) {
$tc=imagecolorstotal($this->img);
JpGraphError::Raise("Can't allocate any more colors.
Image has already allocated maximum of <b>$tc colors</b>.
This might happen if you have anti-aliasing turned on
together with a background image or perhaps gradient fill
since this requires many, many colors. Try to turn off
anti-aliasing.<p>
If there is still a problem try downgrading the quality of
the background image to use a smaller pallete to leave some
entries for your graphs. You should try to limit the number
of colors in your background image to 64.<p>
If there is still problem set the constant
<pre>
DEFINE(\"USE_APPROX_COLORS\",true);
</pre>
in jpgraph.php This will use approximative colors
when the palette is full.
<p>
Unfortunately there is not much JpGraph can do about this
since the palette size is a limitation of current graphic format and
what the underlying GD library suppports.");
}
return $this->current_color;
}
function PushColor($color) {
if( $color != "" ) {
$this->colorstack[$this->colorstackidx]=$this->current_color_name;
$this->colorstack[$this->colorstackidx+1]=$this->current_color;
$this->colorstackidx+=2;
$this->SetColor($color);
}
else {
JpGraphError::Raise("Color specified as empty string in PushColor().");
}
}
function PopColor() {
if($this->colorstackidx<1)
JpGraphError::Raise(" Negative Color stack index. Unmatched call to PopColor()");
$this->current_color=$this->colorstack[--$this->colorstackidx];
$this->current_color_name=$this->colorstack[--$this->colorstackidx];
}
// Why this duplication? Because this way we can call this method
// for any image and not only the current objsct
function AdjSat($sat) { $this->_AdjSat($this->img,$sat); }
function _AdjSat($img,$sat) {
$nbr = imagecolorstotal ($img);
for( $i=0; $i<$nbr; ++$i ) {
$colarr = imagecolorsforindex ($img,$i);
$rgb[0]=$colarr["red"];
$rgb[1]=$colarr["green"];
$rgb[2]=$colarr["blue"];
$rgb = $this->AdjRGBSat($rgb,$sat);
imagecolorset ($img, $i, $rgb[0], $rgb[1], $rgb[2]);
}
}
function AdjBrightContrast($bright,$contr=0) {
$this->_AdjBrightContrast($this->img,$bright,$contr);
}
function _AdjBrightContrast($img,$bright,$contr=0) {
if( $bright < -1 || $bright > 1 || $contr < -1 || $contr > 1 )
JpGraphError::Raise(" Parameters for brightness and Contrast out of range [-1,1]");
$nbr = imagecolorstotal ($img);
for( $i=0; $i<$nbr; ++$i ) {
$colarr = imagecolorsforindex ($img,$i);
$r = $this->AdjRGBBrightContrast($colarr["red"],$bright,$contr);
$g = $this->AdjRGBBrightContrast($colarr["green"],$bright,$contr);
$b = $this->AdjRGBBrightContrast($colarr["blue"],$bright,$contr);
imagecolorset ($img, $i, $r, $g, $b);
}
}
// Private helper function for adj sat
// Adjust saturation for RGB array $u. $sat is a value between -1 and 1
// Note: Due to GD inability to handle true color the RGB values are only between
// 8 bit. This makes saturation quite sensitive for small increases in parameter sat.
//
// Tip: To get a grayscale picture set sat=-100, values <-100 changes the colors
// to it's complement.
//
// Implementation note: The saturation is implemented directly in the RGB space
// by adjusting the perpendicular distance between the RGB point and the "grey"
// line (1,1,1). Setting $sat>0 moves the point away from the line along the perp.
// distance and a negative value moves the point closer to the line.
// The values are truncated when the color point hits the bounding box along the
// RGB axis.
// DISCLAIMER: I'm not 100% sure this is he correct way to implement a color
// saturation function in RGB space. However, it looks ok and has the expected effect.
function AdjRGBSat($rgb,$sat) {
// TODO: Should be moved to the RGB class
// Grey vector
$v=array(1,1,1);
 
// Dot product
$dot = $rgb[0]*$v[0]+$rgb[1]*$v[1]+$rgb[2]*$v[2];
 
// Normalize dot product
$normdot = $dot/3; // dot/|v|^2
 
// Direction vector between $u and its projection onto $v
for($i=0; $i<3; ++$i)
$r[$i] = $rgb[$i] - $normdot*$v[$i];
 
// Adjustment factor so that sat==1 sets the highest RGB value to 255
if( $sat > 0 ) {
$m=0;
for( $i=0; $i<3; ++$i) {
if( sign($r[$i]) == 1 && $r[$i]>0)
$m=max($m,(255-$rgb[$i])/$r[$i]);
}
$tadj=$m;
}
else
$tadj=1;
$tadj = $tadj*$sat;
for($i=0; $i<3; ++$i) {
$un[$i] = round($rgb[$i] + $tadj*$r[$i]);
if( $un[$i]<0 ) $un[$i]=0; // Truncate color when they reach 0
if( $un[$i]>255 ) $un[$i]=255;// Avoid potential rounding error
}
return $un;
}
 
// Private helper function for AdjBrightContrast
function AdjRGBBrightContrast($rgb,$bright,$contr) {
// TODO: Should be moved to the RGB class
// First handle contrast, i.e change the dynamic range around grey
if( $contr <= 0 ) {
// Decrease contrast
$adj = abs($rgb-128) * (-$contr);
if( $rgb < 128 ) $rgb += $adj;
else $rgb -= $adj;
}
else { // $contr > 0
// Increase contrast
if( $rgb < 128 ) $rgb = $rgb - ($rgb * $contr);
else $rgb = $rgb + ((255-$rgb) * $contr);
}
// Add (or remove) various amount of white
$rgb += $bright*255;
$rgb=min($rgb,255);
$rgb=max($rgb,0);
return $rgb;
}
function SetLineWeight($weight) {
$this->line_weight = $weight;
}
function SetStartPoint($x,$y) {
$this->lastx=round($x);
$this->lasty=round($y);
}
function Arc($cx,$cy,$w,$h,$s,$e) {
// GD Arc doesn't like negative angles
while( $s < 0) $s += 360;
while( $e < 0) $e += 360;
imagearc($this->img,round($cx),round($cy),round($w),round($h),
$s,$e,$this->current_color);
}
function FilledArc($xc,$yc,$w,$h,$s,$e,$style="") {
 
if( $GLOBALS['gd2'] ) {
while( $s < 0 ) $s += 360;
while( $e < 0 ) $e += 360;
if( $style=="" )
$style=IMG_ARC_PIE;
imagefilledarc($this->img,round($xc),round($yc),round($w),round($h),
round($s),round($e),$this->current_color,$style);
return;
}
 
 
// In GD 1.x we have to do it ourself interesting enough there is surprisingly
// little difference in time between doing it PHP and using the optimised GD
// library (roughly ~20%) I had expected it to be at least 100% slower doing it
// manually with a polygon approximation in PHP.....
$fillcolor = $this->current_color_name;
 
$w /= 2; // We use radius in our calculations instead
$h /= 2;
 
// Setup the angles so we have the same conventions as the builtin
// FilledArc() which is a little bit strange if you ask me....
 
$s = 360-$s;
$e = 360-$e;
 
if( $e > $s ) {
$e = $e - 360;
$da = $s - $e;
}
$da = $s-$e;
 
// We use radians
$s *= M_PI/180;
$e *= M_PI/180;
$da *= M_PI/180;
 
// Calculate a polygon approximation
$p[0] = $xc;
$p[1] = $yc;
 
// Heuristic on how many polygons we need to make the
// arc look good
$numsteps = round(8 * abs($da) * ($w+$h)*($w+$h)/1500);
 
if( $numsteps == 0 ) return;
if( $numsteps < 7 ) $numsteps=7;
$delta = abs($da)/$numsteps;
$pa=array();
$a = $s;
for($i=1; $i<=$numsteps; ++$i ) {
$p[2*$i] = round($xc + $w*cos($a));
$p[2*$i+1] = round($yc - $h*sin($a));
//$a = $s + $i*$delta;
$a -= $delta;
$pa[2*($i-1)] = $p[2*$i];
$pa[2*($i-1)+1] = $p[2*$i+1];
}
 
// Get the last point at the exact ending angle to avoid
// any rounding errors.
$p[2*$i] = round($xc + $w*cos($e));
$p[2*$i+1] = round($yc - $h*sin($e));
$pa[2*($i-1)] = $p[2*$i];
$pa[2*($i-1)+1] = $p[2*$i+1];
$i++;
 
$p[2*$i] = $xc;
$p[2*$i+1] = $yc;
if( $fillcolor != "" ) {
$this->PushColor($fillcolor);
imagefilledpolygon($this->img,$p,count($p)/2,$this->current_color);
$this->PopColor();
}
}
 
function FilledCakeSlice($cx,$cy,$w,$h,$s,$e) {
$this->CakeSlice($cx,$cy,$w,$h,$s,$e,$this->current_color_name);
}
 
function CakeSlice($xc,$yc,$w,$h,$s,$e,$fillcolor="",$arccolor="") {
$s = round($s); $e = round($e);
$w = round($w); $h = round($h);
$xc = round($xc); $yc = round($yc);
$this->PushColor($fillcolor);
$this->FilledArc($xc,$yc,2*$w,2*$h,$s,$e);
$this->PopColor();
if( $arccolor != "" ) {
$this->PushColor($arccolor);
// We add 2 pixels to make the Arc() better aligned with
// the filled arc.
if( $GLOBALS['gd2'] ) {
imagefilledarc($this->img,$xc,$yc,2*$w,2*$h,$s,$e,$this->current_color_name,
IMG_ARC_NOFILL | IMG_ARC_EDGED ) ;
}
else {
$this->Arc($xc,$yc,2*$w+2,2*$h+2,$s,$e);
$xx = $w * cos(2*M_PI - $s*M_PI/180) + $xc;
$yy = $yc - $h * sin(2*M_PI - $s*M_PI/180);
$this->Line($xc,$yc,$xx,$yy);
$xx = $w * cos(2*M_PI - $e*M_PI/180) + $xc;
$yy = $yc - $h * sin(2*M_PI - $e*M_PI/180);
$this->Line($xc,$yc,$xx,$yy);
}
$this->PopColor();
}
}
 
function Ellipse($xc,$yc,$w,$h) {
$this->Arc($xc,$yc,$w,$h,0,360);
}
// Breseham circle gives visually better result then using GD
// built in arc(). It takes some more time but gives better
// accuracy.
function BresenhamCircle($xc,$yc,$r) {
$d = 3-2*$r;
$x = 0;
$y = $r;
while($x<=$y) {
$this->Point($xc+$x,$yc+$y);
$this->Point($xc+$x,$yc-$y);
$this->Point($xc-$x,$yc+$y);
$this->Point($xc-$x,$yc-$y);
$this->Point($xc+$y,$yc+$x);
$this->Point($xc+$y,$yc-$x);
$this->Point($xc-$y,$yc+$x);
$this->Point($xc-$y,$yc-$x);
if( $d<0 ) $d += 4*$x+6;
else {
$d += 4*($x-$y)+10;
--$y;
}
++$x;
}
}
function Circle($xc,$yc,$r) {
if( USE_BRESENHAM )
$this->BresenhamCircle($xc,$yc,$r);
else {
 
/*
// Some experimental code snippet to see if we can get a decent
// result doing a trig-circle
// Create an approximated circle with 0.05 rad resolution
$end = 2*M_PI;
$l = $r/10;
if( $l < 3 ) $l=3;
$step_size = 2*M_PI/(2*$r*M_PI/$l);
$pts = array();
$pts[] = $r + $xc;
$pts[] = $yc;
for( $a=$step_size; $a <= $end; $a += $step_size ) {
$pts[] = round($xc + $r*cos($a));
$pts[] = round($yc - $r*sin($a));
}
imagepolygon($this->img,$pts,count($pts)/2,$this->current_color);
*/
 
$this->Arc($xc,$yc,$r*2,$r*2,0,360);
 
// For some reason imageellipse() isn't in GD 2.0.1, PHP 4.1.1
//imageellipse($this->img,$xc,$yc,$r,$r,$this->current_color);
}
}
function FilledCircle($xc,$yc,$r) {
if( $GLOBALS['gd2'] ) {
imagefilledellipse($this->img,round($xc),round($yc),
2*$r,2*$r,$this->current_color);
}
else {
for( $i=1; $i < 2*$r; $i += 2 ) {
// To avoid moire patterns we have to draw some
// 1 extra "skewed" filled circles
$this->Arc($xc,$yc,$i,$i,0,360);
$this->Arc($xc,$yc,$i+1,$i,0,360);
$this->Arc($xc,$yc,$i+1,$i+1,0,360);
}
}
}
// Linear Color InterPolation
function lip($f,$t,$p) {
$p = round($p,1);
$r = $f[0] + ($t[0]-$f[0])*$p;
$g = $f[1] + ($t[1]-$f[1])*$p;
$b = $f[2] + ($t[2]-$f[2])*$p;
return array($r,$g,$b);
}
 
// Anti-aliased line.
// Note that this is roughly 8 times slower then a normal line!
function WuLine($x1,$y1,$x2,$y2) {
// Get foreground line color
$lc = imagecolorsforindex($this->img,$this->current_color);
$lc = array($lc["red"],$lc["green"],$lc["blue"]);
 
$dx = $x2-$x1;
$dy = $y2-$y1;
if( abs($dx) > abs($dy) ) {
if( $dx<0 ) {
$dx = -$dx;$dy = -$dy;
$tmp=$x2;$x2=$x1;$x1=$tmp;
$tmp=$y2;$y2=$y1;$y1=$tmp;
}
$x=$x1<<16; $y=$y1<<16;
$yinc = ($dy*65535)/$dx;
while( ($x >> 16) < $x2 ) {
$bc = @imagecolorsforindex($this->img,imagecolorat($this->img,$x>>16,$y>>16));
if( $bc <= 0 ) {
JpGraphError::Raise('Problem with color palette and your GD setup. Please disable anti-aliasing or use GD2 with true-color. If you have GD2 library installed please make sure that you have set the USE_GD2 constant to true and that truecolor is enabled.');
}
$bc=array($bc["red"],$bc["green"],$bc["blue"]);
$this->SetColor($this->lip($lc,$bc,($y & 0xFFFF)/65535));
imagesetpixel($this->img,$x>>16,$y>>16,$this->current_color);
$this->SetColor($this->lip($lc,$bc,(~$y & 0xFFFF)/65535));
imagesetpixel($this->img,$x>>16,($y>>16)+1,$this->current_color);
$x += 65536; $y += $yinc;
}
}
else {
if( $dy<0 ) {
$dx = -$dx;$dy = -$dy;
$tmp=$x2;$x2=$x1;$x1=$tmp;
$tmp=$y2;$y2=$y1;$y1=$tmp;
}
$x=$x1<<16; $y=$y1<<16;
$xinc = ($dx*65535)/$dy;
while( ($y >> 16) < $y2 ) {
$bc = @imagecolorsforindex($this->img,imagecolorat($this->img,$x>>16,$y>>16));
if( $bc <= 0 ) {
JpGraphError::Raise('Problem with color palette and your GD setup. Please disable anti-aliasing or use GD2 with true-color. If you have GD2 library installed please make sure that you have set the USE_GD2 constant to true and truecolor is enabled.');
 
}
 
$bc=array($bc["red"],$bc["green"],$bc["blue"]);
$this->SetColor($this->lip($lc,$bc,($x & 0xFFFF)/65535));
imagesetpixel($this->img,$x>>16,$y>>16,$this->current_color);
$this->SetColor($this->lip($lc,$bc,(~$x & 0xFFFF)/65535));
imagesetpixel($this->img,($x>>16)+1,$y>>16,$this->current_color);
$y += 65536; $x += $xinc;
}
}
$this->SetColor($lc);
imagesetpixel($this->img,$x2,$y2,$this->current_color);
imagesetpixel($this->img,$x1,$y1,$this->current_color);
}
 
// Set line style dashed, dotted etc
function SetLineStyle($s) {
if( is_numeric($s) ) {
if( $s<1 || $s>4 )
JpGraphError::Raise(" Illegal numeric argument to SetLineStyle(): ($s)");
}
elseif( is_string($s) ) {
if( $s == "solid" ) $s=1;
elseif( $s == "dotted" ) $s=2;
elseif( $s == "dashed" ) $s=3;
elseif( $s == "longdashed" ) $s=4;
else JpGraphError::Raise(" Illegal string argument to SetLineStyle(): $s");
}
else JpGraphError::Raise(" Illegal argument to SetLineStyle $s");
$this->line_style=$s;
}
// Same as Line but take the line_style into account
function StyleLine($x1,$y1,$x2,$y2) {
switch( $this->line_style ) {
case 1:// Solid
$this->Line($x1,$y1,$x2,$y2);
break;
case 2: // Dotted
$this->DashedLine($x1,$y1,$x2,$y2,1,6);
break;
case 3: // Dashed
$this->DashedLine($x1,$y1,$x2,$y2,2,4);
break;
case 4: // Longdashes
$this->DashedLine($x1,$y1,$x2,$y2,8,6);
break;
default:
JpGraphError::Raise(" Unknown line style: $this->line_style ");
break;
}
}
 
function Line($x1,$y1,$x2,$y2) {
 
$x1 = round($x1);
$x2 = round($x2);
$y1 = round($y1);
$y2 = round($y2);
 
if( $this->line_weight==0 ) return;
if( $this->use_anti_aliasing ) {
$dx = $x2-$x1;
$dy = $y2-$y1;
// Vertical, Horizontal or 45 lines don't need anti-aliasing
if( $dx!=0 && $dy!=0 && $dx!=$dy ) {
$this->WuLine($x1,$y1,$x2,$y2);
return;
}
}
if( $this->line_weight==1 ) {
imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color);
}
elseif( $x1==$x2 ) { // Special case for vertical lines
imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color);
$w1=floor($this->line_weight/2);
$w2=floor(($this->line_weight-1)/2);
for($i=1; $i<=$w1; ++$i)
imageline($this->img,$x1+$i,$y1,$x2+$i,$y2,$this->current_color);
for($i=1; $i<=$w2; ++$i)
imageline($this->img,$x1-$i,$y1,$x2-$i,$y2,$this->current_color);
}
elseif( $y1==$y2 ) { // Special case for horizontal lines
imageline($this->img,$x1,$y1,$x2,$y2,$this->current_color);
$w1=floor($this->line_weight/2);
$w2=floor(($this->line_weight-1)/2);
for($i=1; $i<=$w1; ++$i)
imageline($this->img,$x1,$y1+$i,$x2,$y2+$i,$this->current_color);
for($i=1; $i<=$w2; ++$i)
imageline($this->img,$x1,$y1-$i,$x2,$y2-$i,$this->current_color);
}
else { // General case with a line at an angle
$a = atan2($y1-$y2,$x2-$x1);
// Now establish some offsets from the center. This gets a little
// bit involved since we are dealing with integer functions and we
// want the apperance to be as smooth as possible and never be thicker
// then the specified width.
// We do the trig stuff to make sure that the endpoints of the line
// are perpendicular to the line itself.
$dx=(sin($a)*$this->line_weight/2);
$dy=(cos($a)*$this->line_weight/2);
 
$pnts = array($x2+$dx,$y2+$dy,$x2-$dx,$y2-$dy,$x1-$dx,$y1-$dy,$x1+$dx,$y1+$dy);
imagefilledpolygon($this->img,$pnts,count($pnts)/2,$this->current_color);
}
$this->lastx=$x2; $this->lasty=$y2;
}
 
function Polygon($p,$closed=FALSE) {
if( $this->line_weight==0 ) return;
$n=count($p);
$oldx = $p[0];
$oldy = $p[1];
for( $i=2; $i < $n; $i+=2 ) {
$this->Line($oldx,$oldy,$p[$i],$p[$i+1]);
$oldx = $p[$i];
$oldy = $p[$i+1];
}
if( $closed )
$this->Line($oldx,$oldy,$p[0],$p[1]);
}
function FilledPolygon($pts) {
$n=count($pts);
for($i=0; $i < $n; ++$i)
$pts[$i] = round($pts[$i]);
imagefilledpolygon($this->img,$pts,count($pts)/2,$this->current_color);
}
function Rectangle($xl,$yu,$xr,$yl) {
$this->Polygon(array($xl,$yu,$xr,$yu,$xr,$yl,$xl,$yl,$xl,$yu));
}
function FilledRectangle($xl,$yu,$xr,$yl) {
$this->FilledPolygon(array($xl,$yu,$xr,$yu,$xr,$yl,$xl,$yl));
}
 
function FilledRectangle2($xl,$yu,$xr,$yl,$color1,$color2,$style=1) {
// Fill a rectangle with lines of two colors
if( $style===1 ) {
// Horizontal stripe
if( $yl < $yu ) {
$t = $yl; $yl=$yu; $yu=$t;
}
for( $y=$yu; $y <= $yl; ++$y) {
$this->SetColor($color1);
$this->Line($xl,$y,$xr,$y);
++$y;
$this->SetColor($color2);
$this->Line($xl,$y,$xr,$y);
}
}
else {
if( $xl < $xl ) {
$t = $xl; $xl=$xr; $xr=$t;
}
for( $x=$xl; $x <= $xr; ++$x) {
$this->SetColor($color1);
$this->Line($x,$yu,$x,$yl);
++$x;
$this->SetColor($color2);
$this->Line($x,$yu,$x,$yl);
}
}
}
 
function ShadowRectangle($xl,$yu,$xr,$yl,$fcolor=false,$shadow_width=3,$shadow_color=array(102,102,102)) {
// This is complicated by the fact that we must also handle the case where
// the reactangle has no fill color
$this->PushColor($shadow_color);
$this->FilledRectangle($xr-$shadow_width,$yu+$shadow_width,$xr,$yl-$shadow_width-1);
$this->FilledRectangle($xl+$shadow_width,$yl-$shadow_width,$xr,$yl);
//$this->FilledRectangle($xl+$shadow_width,$yu+$shadow_width,$xr,$yl);
$this->PopColor();
if( $fcolor==false )
$this->Rectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1);
else {
$this->PushColor($fcolor);
$this->FilledRectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1);
$this->PopColor();
$this->Rectangle($xl,$yu,$xr-$shadow_width-1,$yl-$shadow_width-1);
}
}
 
function FilledRoundedRectangle($xt,$yt,$xr,$yl,$r=5) {
if( $r==0 ) {
$this->FilledRectangle($xt,$yt,$xr,$yl);
return;
}
 
// To avoid overlapping fillings (which will look strange
// when alphablending is enabled) we have no choice but
// to fill the five distinct areas one by one.
// Center square
$this->FilledRectangle($xt+$r,$yt+$r,$xr-$r,$yl-$r);
// Top band
$this->FilledRectangle($xt+$r,$yt,$xr-$r,$yt+$r-1);
// Bottom band
$this->FilledRectangle($xt+$r,$yl-$r+1,$xr-$r,$yl);
// Left band
$this->FilledRectangle($xt,$yt+$r+1,$xt+$r-1,$yl-$r);
// Right band
$this->FilledRectangle($xr-$r+1,$yt+$r,$xr,$yl-$r);
 
// Topleft & Topright arc
$this->FilledArc($xt+$r,$yt+$r,$r*2,$r*2,180,270);
$this->FilledArc($xr-$r,$yt+$r,$r*2,$r*2,270,360);
 
// Bottomleft & Bottom right arc
$this->FilledArc($xt+$r,$yl-$r,$r*2,$r*2,90,180);
$this->FilledArc($xr-$r,$yl-$r,$r*2,$r*2,0,90);
 
}
 
function RoundedRectangle($xt,$yt,$xr,$yl,$r=5) {
 
if( $r==0 ) {
$this->Rectangle($xt,$yt,$xr,$yl);
return;
}
 
// Top & Bottom line
$this->Line($xt+$r,$yt,$xr-$r,$yt);
$this->Line($xt+$r,$yl,$xr-$r,$yl);
 
// Left & Right line
$this->Line($xt,$yt+$r,$xt,$yl-$r);
$this->Line($xr,$yt+$r,$xr,$yl-$r);
 
// Topleft & Topright arc
$this->Arc($xt+$r,$yt+$r,$r*2,$r*2,180,270);
$this->Arc($xr-$r,$yt+$r,$r*2,$r*2,270,360);
 
// Bottomleft & Bottomright arc
$this->Arc($xt+$r,$yl-$r,$r*2,$r*2,90,180);
$this->Arc($xr-$r,$yl-$r,$r*2,$r*2,0,90);
}
 
function FilledBevel($x1,$y1,$x2,$y2,$depth=2,$color1='white@0.4',$color2='darkgray@0.4') {
$this->FilledRectangle($x1,$y1,$x2,$y2);
$this->Bevel($x1,$y1,$x2,$y2,$depth,$color1,$color2);
}
 
function Bevel($x1,$y1,$x2,$y2,$depth=2,$color1='white@0.4',$color2='black@0.5') {
$this->PushColor($color1);
for( $i=0; $i < $depth; ++$i ) {
$this->Line($x1+$i,$y1+$i,$x1+$i,$y2-$i);
$this->Line($x1+$i,$y1+$i,$x2-$i,$y1+$i);
}
$this->PopColor();
$this->PushColor($color2);
for( $i=0; $i < $depth; ++$i ) {
$this->Line($x1+$i,$y2-$i,$x2-$i,$y2-$i);
$this->Line($x2-$i,$y1+$i,$x2-$i,$y2-$i-1);
}
$this->PopColor();
}
 
function StyleLineTo($x,$y) {
$this->StyleLine($this->lastx,$this->lasty,$x,$y);
$this->lastx=$x;
$this->lasty=$y;
}
function LineTo($x,$y) {
$this->Line($this->lastx,$this->lasty,$x,$y);
$this->lastx=$x;
$this->lasty=$y;
}
function Point($x,$y) {
imagesetpixel($this->img,round($x),round($y),$this->current_color);
}
function Fill($x,$y) {
imagefill($this->img,round($x),round($y),$this->current_color);
}
 
function FillToBorder($x,$y,$aBordColor) {
$bc = $this->rgb->allocate($aBordColor);
if( $bc == -1 ) {
JpGraphError::Raise('Image::FillToBorder : Can not allocate more colors');
exit();
}
imagefilltoborder($this->img,round($x),round($y),$bc,$this->current_color);
}
function DashedLine($x1,$y1,$x2,$y2,$dash_length=1,$dash_space=4) {
// Code based on, but not identical to, work by Ariel Garza and James Pine
$line_length = ceil (sqrt(pow(($x2 - $x1),2) + pow(($y2 - $y1),2)) );
$dx = ($line_length) ? ($x2 - $x1) / $line_length : 0;
$dy = ($line_length) ? ($y2 - $y1) / $line_length : 0;
$lastx = $x1; $lasty = $y1;
$xmax = max($x1,$x2);
$xmin = min($x1,$x2);
$ymax = max($y1,$y2);
$ymin = min($y1,$y2);
for ($i = 0; $i < $line_length; $i += ($dash_length + $dash_space)) {
$x = ($dash_length * $dx) + $lastx;
$y = ($dash_length * $dy) + $lasty;
// The last section might overshoot so we must take a computational hit
// and check this.
if( $x>$xmax ) $x=$xmax;
if( $y>$ymax ) $y=$ymax;
if( $x<$xmin ) $x=$xmin;
if( $y<$ymin ) $y=$ymin;
 
$this->Line($lastx,$lasty,$x,$y);
$lastx = $x + ($dash_space * $dx);
$lasty = $y + ($dash_space * $dy);
}
}
 
function SetExpired($aFlg=true) {
$this->expired = $aFlg;
}
// Generate image header
function Headers() {
if ($this->expired) {
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
header("Content-type: image/$this->img_format");
}
 
// Adjust image quality for formats that allow this
function SetQuality($q) {
$this->quality = $q;
}
// Stream image to browser or to file
function Stream($aFile="") {
$func="image".$this->img_format;
if( $this->img_format=="jpeg" && $this->quality != null ) {
$res = @$func($this->img,$aFile,$this->quality);
}
else {
if( $aFile != "" ) {
$res = @$func($this->img,$aFile);
}
else
$res = @$func($this->img);
}
if( !$res )
JpGraphError::Raise("Can't create or stream image to file $aFile Check that PHP has enough permission to write a file to the current directory.");
}
// Clear resource tide up by image
function Destroy() {
imagedestroy($this->img);
}
// Specify image format. Note depending on your installation
// of PHP not all formats may be supported.
function SetImgFormat($aFormat) {
$aFormat = strtolower($aFormat);
$tst = true;
$supported = imagetypes();
if( $aFormat=="auto" ) {
if( $supported & IMG_PNG )
$this->img_format="png";
elseif( $supported & IMG_JPG )
$this->img_format="jpeg";
elseif( $supported & IMG_GIF )
$this->img_format="gif";
else
JpGraphError::Raise(" Your PHP (and GD-lib) installation does not appear to support any known graphic formats.".
"You need to first make sure GD is compiled as a module to PHP. If you also want to use JPEG images".
"you must get the JPEG library. Please see the PHP docs for details.");
return true;
}
else {
if( $aFormat=="jpeg" || $aFormat=="png" || $aFormat=="gif" ) {
if( $aFormat=="jpeg" && !($supported & IMG_JPG) )
$tst=false;
elseif( $aFormat=="png" && !($supported & IMG_PNG) )
$tst=false;
elseif( $aFormat=="gif" && !($supported & IMG_GIF) )
$tst=false;
else {
$this->img_format=$aFormat;
return true;
}
}
else
$tst=false;
if( !$tst )
JpGraphError::Raise(" Your PHP installation does not support the chosen graphic format: $aFormat");
}
}
} // CLASS
 
//===================================================
// CLASS RotImage
// Description: Exactly as Image but draws the image at
// a specified angle around a specified rotation point.
//===================================================
class RotImage extends Image {
var $m=array();
var $a=0;
var $dx=0,$dy=0,$transx=0,$transy=0;
function RotImage($aWidth,$aHeight,$a=0,$aFormat=DEFAULT_GFORMAT) {
$this->Image($aWidth,$aHeight,$aFormat);
$this->dx=$this->left_margin+$this->plotwidth/2;
$this->dy=$this->top_margin+$this->plotheight/2;
$this->SetAngle($a);
}
function SetCenter($dx,$dy) {
$old_dx = $this->dx;
$old_dy = $this->dy;
$this->dx=$dx;
$this->dy=$dy;
$this->SetAngle($this->a);
return array($old_dx,$old_dy);
}
function SetTranslation($dx,$dy) {
$old = array($this->transx,$this->transy);
$this->transx = $dx;
$this->transy = $dy;
return $old;
}
 
function UpdateRotMatrice() {
$a = $this->a;
$a *= M_PI/180;
$sa=sin($a); $ca=cos($a);
// Create the rotation matrix
$this->m[0][0] = $ca;
$this->m[0][1] = -$sa;
$this->m[0][2] = $this->dx*(1-$ca) + $sa*$this->dy ;
$this->m[1][0] = $sa;
$this->m[1][1] = $ca;
$this->m[1][2] = $this->dy*(1-$ca) - $sa*$this->dx ;
}
 
function SetAngle($a) {
$tmp = $this->a;
$this->a = $a;
$this->UpdateRotMatrice();
return $tmp;
}
 
function Circle($xc,$yc,$r) {
// Circle get's rotated through the Arc() call
// made in the parent class
parent::Circle($xc,$yc,$r);
}
 
function FilledCircle($xc,$yc,$r) {
// If we use GD1 then Image::FilledCircle will use a
// call to Arc so it will get rotated through the Arc
// call.
if( $GLOBALS['gd2'] ) {
list($xc,$yc) = $this->Rotate($xc,$yc);
}
parent::FilledCircle($xc,$yc,$r);
}
 
function Arc($xc,$yc,$w,$h,$s,$e) {
list($xc,$yc) = $this->Rotate($xc,$yc);
$s += $this->a;
$e += $this->a;
parent::Arc($xc,$yc,$w,$h,$s,$e);
}
 
function FilledArc($xc,$yc,$w,$h,$s,$e) {
list($xc,$yc) = $this->Rotate($xc,$yc);
$s += $this->a;
$e += $this->a;
parent::FilledArc($xc,$yc,$w,$h,$s,$e);
}
 
function SetMargin($lm,$rm,$tm,$bm) {
parent::SetMargin($lm,$rm,$tm,$bm);
$this->dx=$this->left_margin+$this->plotwidth/2;
$this->dy=$this->top_margin+$this->plotheight/2;
$this->UpdateRotMatrice();
}
function Rotate($x,$y) {
// Optimization. Ignore rotation if Angle==0 || ANgle==360
if( $this->a == 0 || $this->a == 360 ) {
return array($x + $this->transx, $y + $this->transy );
}
else {
$x1=round($this->m[0][0]*$x + $this->m[0][1]*$y,1) + $this->m[0][2] + $this->transx;
$y1=round($this->m[1][0]*$x + $this->m[1][1]*$y,1) + $this->m[1][2] + $this->transy;
return array($x1,$y1);
}
}
function ArrRotate($pnts) {
for($i=0; $i < count($pnts)-1; $i+=2)
list($pnts[$i],$pnts[$i+1]) = $this->Rotate($pnts[$i],$pnts[$i+1]);
return $pnts;
}
function Line($x1,$y1,$x2,$y2) {
list($x1,$y1) = $this->Rotate($x1,$y1);
list($x2,$y2) = $this->Rotate($x2,$y2);
parent::Line($x1,$y1,$x2,$y2);
}
 
function Rectangle($x1,$y1,$x2,$y2) {
// Rectangle uses Line() so it will be rotated through that call
parent::Rectangle($x1,$y1,$x2,$y2);
}
function FilledRectangle($x1,$y1,$x2,$y2) {
if( $y1==$y2 || $x1==$x2 )
$this->Line($x1,$y1,$x2,$y2);
else
$this->FilledPolygon(array($x1,$y1,$x2,$y1,$x2,$y2,$x1,$y2));
}
function Polygon($pnts,$closed=FALSE) {
//Polygon uses Line() so it will be rotated through that call
parent::Polygon($pnts,$closed);
}
function FilledPolygon($pnts) {
parent::FilledPolygon($this->ArrRotate($pnts));
}
function Point($x,$y) {
list($xp,$yp) = $this->Rotate($x,$y);
parent::Point($xp,$yp);
}
function StrokeText($x,$y,$txt,$dir=0,$paragraph_align="left",$debug=false) {
list($xp,$yp) = $this->Rotate($x,$y);
parent::StrokeText($xp,$yp,$txt,$dir,$paragraph_align,$debug);
}
}
 
//===================================================
// CLASS ImgStreamCache
// Description: Handle caching of graphs to files
//===================================================
class ImgStreamCache {
var $cache_dir;
var $img=null;
var $timeout=0; // Infinite timeout
//---------------
// CONSTRUCTOR
function ImgStreamCache(&$aImg, $aCacheDir=CACHE_DIR) {
$this->img = &$aImg;
$this->cache_dir = $aCacheDir;
}
 
//---------------
// PUBLIC METHODS
 
// Specify a timeout (in minutes) for the file. If the file is older then the
// timeout value it will be overwritten with a newer version.
// If timeout is set to 0 this is the same as infinite large timeout and if
// timeout is set to -1 this is the same as infinite small timeout
function SetTimeout($aTimeout) {
$this->timeout=$aTimeout;
}
// Output image to browser and also write it to the cache
function PutAndStream(&$aImage,$aCacheFileName,$aInline,$aStrokeFileName) {
// Some debugging code to brand the image with numbe of colors
// used
GLOBAL $gJpgBrandTiming;
if( $gJpgBrandTiming ) {
global $tim;
$t=$tim->Pop()/1000.0;
$c=$aImage->SetColor("black");
$t=sprintf(BRAND_TIME_FORMAT,round($t,3));
imagestring($this->img->img,2,5,$this->img->height-20,$t,$c);
}
 
// Check if we should stroke the image to an arbitrary file
if( $aStrokeFileName!="" ) {
if( $aStrokeFileName == "auto" )
$aStrokeFileName = GenImgName();
if( file_exists($aStrokeFileName) ) {
// Delete the old file
if( !@unlink($aStrokeFileName) )
JpGraphError::Raise(" Can't delete cached image $aStrokeFileName. Permission problem?");
}
$aImage->Stream($aStrokeFileName);
return;
}
 
if( $aCacheFileName != "" && USE_CACHE) {
 
$aCacheFileName = $this->cache_dir . $aCacheFileName;
if( file_exists($aCacheFileName) ) {
if( !$aInline ) {
// If we are generating image off-line (just writing to the cache)
// and the file exists and is still valid (no timeout)
// then do nothing, just return.
$diff=time()-filemtime($aCacheFileName);
if( $diff < 0 )
JpGraphError::Raise(" Cached imagefile ($aCacheFileName) has file date in the future!!");
if( $this->timeout>0 && ($diff <= $this->timeout*60) )
return;
}
if( !@unlink($aCacheFileName) )
JpGraphError::Raise(" Can't delete cached image $aStrokeFileName. Permission problem?");
$aImage->Stream($aCacheFileName);
}
else {
$this->MakeDirs(dirname($aCacheFileName));
if( !is_writeable(dirname($aCacheFileName)) ) {
JpGraphError::Raise('PHP has not enough permissions to write to the cache file '.$aCacheFileName.'. Please make sure that the user running PHP has write permission for this file if you wan to use the cache system with JpGraph.');
}
$aImage->Stream($aCacheFileName);
}
$res=true;
// Set group to specified
if( CACHE_FILE_GROUP != "" )
$res = @chgrp($aCacheFileName,CACHE_FILE_GROUP);
if( CACHE_FILE_MOD != "" )
$res = @chmod($aCacheFileName,CACHE_FILE_MOD);
if( !$res )
JpGraphError::Raise(" Can't set permission for cached image $aStrokeFileName. Permission problem?");
$aImage->Destroy();
if( $aInline ) {
if ($fh = @fopen($aCacheFileName, "rb") ) {
$this->img->Headers();
fpassthru($fh);
return;
}
else
JpGraphError::Raise(" Cant open file from cache [$aFile]");
}
}
elseif( $aInline ) {
$this->img->Headers();
$aImage->Stream();
return;
}
}
// Check if a given image is in cache and in that case
// pass it directly on to web browser. Return false if the
// image file doesn't exist or exists but is to old
function GetAndStream($aCacheFileName) {
$aCacheFileName = $this->cache_dir.$aCacheFileName;
if ( USE_CACHE && file_exists($aCacheFileName) && $this->timeout>=0 ) {
$diff=time()-filemtime($aCacheFileName);
if( $this->timeout>0 && ($diff > $this->timeout*60) ) {
return false;
}
else {
if ($fh = @fopen($aCacheFileName, "rb")) {
$this->img->Headers();
fpassthru($fh);
return true;
}
else
JpGraphError::Raise(" Can't open cached image \"$aCacheFileName\" for reading.");
}
}
return false;
}
//---------------
// PRIVATE METHODS
// Create all necessary directories in a path
function MakeDirs($aFile) {
$dirs = array();
while ( !(file_exists($aFile)) ) {
$dirs[] = $aFile;
$aFile = dirname($aFile);
}
for ($i = sizeof($dirs)-1; $i>=0; $i--) {
if(! @mkdir($dirs[$i],0777) )
JpGraphError::Raise(" Can't create directory $aFile. Make sure PHP has write permission to this directory.");
// We also specify mode here after we have changed group.
// This is necessary if Apache user doesn't belong the
// default group and hence can't specify group permission
// in the previous mkdir() call
if( CACHE_FILE_GROUP != "" ) {
$res=true;
$res =@chgrp($dirs[$i],CACHE_FILE_GROUP);
$res &= @chmod($dirs[$i],0777);
if( !$res )
JpGraphError::Raise(" Can't set permissions for $aFile. Permission problems?");
}
}
return true;
}
} // CLASS Cache
//===================================================
// CLASS Legend
// Description: Responsible for drawing the box containing
// all the legend text for the graph
//===================================================
DEFINE('_DEFAULT_LPM_SIZE',8);
class Legend {
var $color=array(0,0,0); // Default fram color
var $fill_color=array(235,235,235); // Default fill color
var $shadow=true; // Shadow around legend "box"
var $shadow_color='gray';
var $txtcol=array();
var $mark_abs_size=_DEFAULT_LPM_SIZE;
var $xmargin=10,$ymargin=6,$shadow_width=2;
var $xpos=0.05, $ypos=0.15, $xabspos=-1, $yabspos=-1;
var $halign="right", $valign="top";
var $font_family=FF_FONT1,$font_style=FS_NORMAL,$font_size=12;
var $font_color='black';
var $hide=false,$layout_n=1;
var $weight=1,$frameweight=1;
var $csimareas='';
//---------------
// CONSTRUCTOR
function Legend() {
// Empty
}
//---------------
// PUBLIC METHODS
function Hide($aHide=true) {
$this->hide=$aHide;
}
function SetShadow($aShow='gray',$aWidth=2) {
if( is_string($aShow) ) {
$this->shadow_color = $aShow;
$this->shadow=true;
}
else
$this->shadow=$aShow;
$this->shadow_width=$aWidth;
}
 
function SetMarkAbsSize($aSize) {
$this->mark_abs_size = $aSize ;
}
 
function SetLineWeight($aWeight) {
$this->weight = $aWeight;
}
 
function SetFrameWeight($aWeight) {
$this->frameweight = $aWeight;
}
function SetLayout($aDirection=LEGEND_VERT) {
$this->layout_n = $aDirection==LEGEND_VERT ? 1 : 99 ;
}
function SetColumns($aCols) {
$this->layout_n = $aCols ;
}
 
function SetLineSpacing($aSpacing) {
$this->ymargin = $aSpacing ;
}
 
// Set color on frame around box
function SetColor($aFontColor,$aColor='black') {
$this->font_color=$aFontColor;
$this->color=$aColor;
}
function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) {
$this->font_family = $aFamily;
$this->font_style = $aStyle;
$this->font_size = $aSize;
}
function SetPos($aX,$aY,$aHAlign="right",$aVAlign="top") {
$this->Pos($aX,$aY,$aHAlign,$aVAlign);
}
 
function SetAbsPos($aX,$aY,$aHAlign="right",$aVAlign="top") {
$this->xabspos=$aX;
$this->yabspos=$aY;
$this->halign=$aHAlign;
$this->valign=$aVAlign;
}
 
 
function Pos($aX,$aY,$aHAlign="right",$aVAlign="top") {
if( !($aX<1 && $aY<1) )
JpGraphError::Raise(" Position for legend must be given as percentage in range 0-1");
$this->xpos=$aX;
$this->ypos=$aY;
$this->halign=$aHAlign;
$this->valign=$aVAlign;
}
 
function SetFillColor($aColor) {
$this->fill_color=$aColor;
}
function Add($aTxt,$aColor,$aPlotmark="",$aLinestyle=0,$csimtarget="",$csimalt="") {
$this->txtcol[]=array($aTxt,$aColor,$aPlotmark,$aLinestyle,$csimtarget,$csimalt);
}
 
function GetCSIMAreas() {
return $this->csimareas;
}
function Stroke(&$aImg) {
if( $this->hide ) return;
 
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
 
$n=count($this->txtcol);
if( $n == 0 ) return;
 
// Find out the max width and height of each column to be able
// to size the legend box.
$numcolumns = ($n > $this->layout_n ? $this->layout_n : $n);
for( $i=0; $i < $numcolumns; ++$i ) {
$colwidth[$i] = $aImg->GetTextWidth($this->txtcol[$i][0]) +
2*$this->xmargin + 2*$this->mark_abs_size;
$colheight[$i] = 0;
}
 
// Find our maximum height in each row
$rows = -1 ;
for( $i=0; $i < $n; ++$i ) {
$h = max($this->mark_abs_size,$aImg->GetTextHeight($this->txtcol[$i][0]))+$this->ymargin;
if( $i % $numcolumns == 0 ) {
$rows++;
$rowheight[$rows] = 0;
}
$rowheight[$rows] = max($rowheight[$rows],$h);
}
 
$abs_height = 0;
for( $i=0; $i <= $rows; ++$i ) {
$abs_height += $rowheight[$i] ;
}
 
// Make damn sure that the height is at least as high as mark size + ymargin
$abs_height = max($abs_height,$this->mark_abs_size+$this->ymargin);
$abs_height += 2*$this->ymargin;
// Find out the maximum width in each column
for( $i=$numcolumns; $i < $n; ++$i ) {
$colwidth[$i % $numcolumns] = max(
$aImg->GetTextWidth($this->txtcol[$i][0])+2*$this->xmargin+2*$this->mark_abs_size,
$colwidth[$i % $numcolumns]);
}
// Get the total width
$mtw = 0;
for( $i=0; $i < $numcolumns; ++$i ) {
$mtw += $colwidth[$i];
}
 
// Find out maximum width we need for legend box
$abs_width = $mtw+$this->xmargin;
 
if( $this->xabspos === -1 && $this->yabspos === -1 ) {
$this->xabspos = $this->xpos*$aImg->width ;
$this->yabspos = $this->ypos*$aImg->height ;
}
 
// Positioning of the legend box
if( $this->halign=="left" )
$xp = $this->xabspos;
elseif( $this->halign=="center" )
$xp = $this->xabspos - $abs_width/2;
else
$xp = $aImg->width - $this->xabspos - $abs_width;
 
$yp=$this->yabspos;
if( $this->valign=="center" )
$yp-=$abs_height/2;
elseif( $this->valign=="bottom" )
$yp-=$abs_height;
// Stroke legend box
$aImg->SetColor($this->color);
$aImg->SetLineWeight($this->frameweight);
 
if( $this->shadow )
$aImg->ShadowRectangle($xp,$yp,$xp+$abs_width+$this->shadow_width,
$yp+$abs_height+$this->shadow_width,
$this->fill_color,$this->shadow_width,$this->shadow_color);
else {
$aImg->SetColor($this->fill_color);
$aImg->FilledRectangle($xp,$yp,$xp+$abs_width,$yp+$abs_height);
$aImg->SetColor($this->color);
$aImg->Rectangle($xp,$yp,$xp+$abs_width,$yp+$abs_height);
}
 
// x1,y1 is the position for the legend mark
$aImg->SetLineWeight($this->weight);
$x1=$xp+$this->mark_abs_size/2+3;
$y1=$yp + $this->mark_abs_size/2 + $this->ymargin/2;
$f2 = round($aImg->GetTextHeight('X')/2);
 
$grad = new Gradient($aImg);
 
// Now stroke each legend in turn
$i = 1 ; $row = 0;
foreach($this->txtcol as $p) {
$x1 = round($x1); $y1=round($y1);
if ( $p[2] != "" && $p[2]->GetType() > -1 ) {
// Make a plot mark legend
$aImg->SetColor($p[1]);
if( $p[3] > 0 ) {
$aImg->SetLineStyle($p[3]);
$aImg->StyleLine($x1-3,$y1+$f2,$x1+$this->mark_abs_size+3,$y1+$f2);
}
// Stroke a mark with the standard size
// (As long as it is not an image mark )
if( $p[2]->GetType() != MARK_IMG ) {
$p[2]->iFormatCallback = '';
if( $this->mark_abs_size === _DEFAULT_LPM_SIZE )
$p[2]->SetDefaultWidth();
else
$p[2]->SetSize($this->mark_abs_size);
$p[2]->Stroke($aImg,$x1+$this->mark_abs_size/2,$y1+$f2);
}
}
elseif ( $p[2] != "" && (is_string($p[3]) || $p[3]>0 ) ) {
// Draw a styled line
$aImg->SetColor($p[1]);
$aImg->SetLineStyle($p[3]);
$aImg->StyleLine($x1,$y1+$f2,$x1+$this->mark_abs_size,$y1+$f2);
$aImg->StyleLine($x1,$y1+$f2+1,$x1+$this->mark_abs_size,$y1+$f2+1);
}
else {
// Draw a colored box
$color = $p[1] ;
$ym = round($y1 + $f2 - $this->mark_abs_size/2);
if( is_array($color) && count($color)==3 ) {
// The client want a gradient color
$grad->FilledRectangle($x1,$ym,
$x1+$this->mark_abs_size,$ym+$this->mark_abs_size,
$color[0],$color[1],$color[2]);
}
else {
$aImg->SetColor($p[1]);
$aImg->FilledRectangle($x1,$ym,$x1+$this->mark_abs_size,$ym+$this->mark_abs_size);
}
$aImg->SetColor($this->color);
$aImg->SetLineWeight($this->weight);
$aImg->Rectangle($x1,$ym,$x1+$this->mark_abs_size,$ym+$this->mark_abs_size);
}
$aImg->SetColor($this->font_color);
$aImg->SetFont($this->font_family,$this->font_style,$this->font_size);
$aImg->SetTextAlign("left","top");
$aImg->StrokeText(round($x1+$this->mark_abs_size+$this->xmargin*1.5),$y1,$p[0]);
 
// Add CSIM for Legend if defined
if( $p[4] != "" ) {
$xe = $x1 + $this->xmargin+2*$this->mark_abs_size+$aImg->GetTextWidth($p[0]);
$ye = $y1 + max($this->mark_abs_size,$aImg->GetTextHeight($p[0]));
$coords = "$x1,$y1,$xe,$y1,$xe,$ye,$x1,$ye";
$this->csimareas .= "<area shape=\"poly\" coords=\"$coords\" href=\"".$p[4]."\"";
if( !empty($p[5]) ) {
$tmp=sprintf($p[5],$p[0]);
$this->csimareas .= " alt=\"$tmp\" title=\"$tmp\"";
}
$this->csimareas .= ">\n";
}
if( $i >= $this->layout_n ) {
$x1 = $xp+$this->mark_abs_size/2+3;
//$y1 += max($aImg->GetTextHeight($p[0]),$this->mark_abs_size)+$this->ymargin;
$y1 += $rowheight[$row++];
$i = 1;
}
else {
$x1 += $colwidth[($i-1) % $numcolumns] ;
++$i;
}
}
}
} // Class
 
//===================================================
// CLASS DisplayValue
// Description: Used to print data values at data points
//===================================================
class DisplayValue {
var $show=false,$format="%.1f",$negformat="";
var $iFormCallback='';
var $angle=0;
var $ff=FF_FONT1,$fs=FS_NORMAL,$fsize=10;
var $color="navy",$negcolor="";
var $margin=5,$valign="",$halign="center";
var $iHideZero=false;
 
function Show($aFlag=true) {
$this->show=$aFlag;
}
 
function SetColor($aColor,$aNegcolor="") {
$this->color = $aColor;
$this->negcolor = $aNegcolor;
}
 
function SetFont($aFontFamily,$aFontStyle=FS_NORMAL,$aFontSize=10) {
$this->ff=$aFontFamily;
$this->fs=$aFontStyle;
$this->fsize=$aFontSize;
}
 
function SetMargin($aMargin) {
$this->margin = $aMargin;
}
 
function SetAngle($aAngle) {
$this->angle = $aAngle;
}
 
function SetAlign($aHAlign,$aVAlign='') {
$this->halign = $aHAlign;
$this->valign = $aVAlign;
}
 
function SetFormat($aFormat,$aNegFormat="") {
$this->format= $aFormat;
$this->negformat= $aNegFormat;
}
 
function SetFormatCallback($aFunc) {
$this->iFormCallback = $aFunc;
}
 
function HideZero($aFlag=true) {
$this->iHideZero=$aFlag;
}
 
function Stroke($img,$aVal,$x,$y) {
if( $this->show )
{
if( $this->negformat=="" ) $this->negformat=$this->format;
if( $this->negcolor=="" ) $this->negcolor=$this->color;
 
if( $aVal===NULL || (is_string($aVal) && ($aVal=="" || $aVal=="-" || $aVal=="x" ) ) )
return;
 
if( is_numeric($aVal) && $aVal==0 && $this->iHideZero ) {
return;
}
 
// Since the value is used in different cirumstances we need to check what
// kind of formatting we shall use. For example, to display values in a line
// graph we simply display the formatted value, but in the case where the user
// has already specified a text string we don't fo anything.
if( $this->iFormCallback != '' ) {
$f = $this->iFormCallback;
$sval = $f($aVal);
}
elseif( is_numeric($aVal) ) {
if( $aVal >= 0 )
$sval=sprintf($this->format,$aVal);
else
$sval=sprintf($this->negformat,$aVal);
}
else
$sval=$aVal;
 
 
$y = $y-sign($aVal)*$this->margin;
 
$txt = new Text($sval,$x,$y);
$txt->SetFont($this->ff,$this->fs,$this->fsize);
if( $this->valign == "" ) {
if( $aVal >= 0 )
$valign = "bottom";
else
$valign = "top";
}
else
$valign = $this->valign;
$txt->Align($this->halign,$valign);
 
$txt->SetOrientation($this->angle);
if( $aVal > 0 )
$txt->SetColor($this->color);
else
$txt->SetColor($this->negcolor);
$txt->Stroke($img);
}
}
}
 
 
//===================================================
// CLASS Plot
// Description: Abstract base class for all concrete plot classes
//===================================================
class Plot {
var $line_weight=1;
var $coords=array();
var $legend='',$hidelegend=false;
var $csimtargets=array(); // Array of targets for CSIM
var $csimareas=""; // Resultant CSIM area tags
var $csimalts=null; // ALT:s for corresponding target
var $color="black";
var $numpoints=0;
var $weight=1;
var $value;
var $center=false;
var $legendcsimtarget='';
var $legendcsimalt='';
//---------------
// CONSTRUCTOR
function Plot(&$aDatay,$aDatax=false) {
$this->numpoints = count($aDatay);
if( $this->numpoints==0 )
JpGraphError::Raise(" Empty data array specified for plot. Must have at least one data point.");
$this->coords[0]=$aDatay;
if( is_array($aDatax) )
$this->coords[1]=$aDatax;
$this->value = new DisplayValue();
}
 
//---------------
// PUBLIC METHODS
 
// Stroke the plot
// "virtual" function which must be implemented by
// the subclasses
function Stroke(&$aImg,&$aXScale,&$aYScale) {
JpGraphError::Raise("JpGraph: Stroke() must be implemented by concrete subclass to class Plot");
}
 
function HideLegend($f=true) {
$this->hidelegend = $f;
}
 
function DoLegend(&$graph) {
if( !$this->hidelegend )
$this->Legend($graph);
}
 
function StrokeDataValue($img,$aVal,$x,$y) {
$this->value->Stroke($img,$aVal,$x,$y);
}
// Set href targets for CSIM
function SetCSIMTargets($aTargets,$aAlts=null) {
$this->csimtargets=$aTargets;
$this->csimalts=$aAlts;
}
// Get all created areas
function GetCSIMareas() {
return $this->csimareas;
}
// "Virtual" function which gets called before any scale
// or axis are stroked used to do any plot specific adjustment
function PreStrokeAdjust(&$aGraph) {
if( substr($aGraph->axtype,0,4) == "text" && (isset($this->coords[1])) )
JpGraphError::Raise("JpGraph: You can't use a text X-scale with specified X-coords. Use a \"int\" or \"lin\" scale instead.");
return true;
}
// Get minimum values in plot
function Min() {
if( isset($this->coords[1]) )
$x=$this->coords[1];
else
$x="";
if( $x != "" && count($x) > 0 )
$xm=min($x);
else
$xm=0;
$y=$this->coords[0];
if( count($y) > 0 ) {
$ym = $y[0];
$cnt = count($y);
$i=0;
while( $i<$cnt && !is_numeric($ym=$y[$i]) )
$i++;
while( $i < $cnt) {
if( is_numeric($y[$i]) )
$ym=min($ym,$y[$i]);
++$i;
}
}
else
$ym="";
return array($xm,$ym);
}
// Get maximum value in plot
function Max() {
if( isset($this->coords[1]) )
$x=$this->coords[1];
else
$x="";
 
if( $x!="" && count($x) > 0 )
$xm=max($x);
else {
//$xm=count($this->coords[0])-1; // We count from 0..(n-1)
$xm = $this->numpoints-1;
}
$y=$this->coords[0];
if( count($y) > 0 ) {
if( !isset($y[0]) ) {
$y[0] = 0;
// Change in 1.5.1 Don't treat this as an error any more. Just silently concert to 0
// JpGraphError::Raise(" You have not specified a y[0] value!!");
}
$cnt = count($y);
$i=0;
while( $i<$cnt && !is_numeric($ym=$y[$i]) )
$i++;
while( $i < $cnt ) {
if( is_numeric($y[$i]) ) $ym=max($ym,$y[$i]);
++$i;
}
}
else
$ym="";
return array($xm,$ym);
}
function SetColor($aColor) {
$this->color=$aColor;
}
function SetLegend($aLegend,$aCSIM="",$aCSIMAlt="") {
$this->legend = $aLegend;
$this->legendcsimtarget = $aCSIM;
$this->legendcsimalt = $aCSIMAlt;
}
 
function SetWeight($aWeight) {
$this->weight=$aWeight;
}
function SetLineWeight($aWeight=1) {
$this->line_weight=$aWeight;
}
function SetCenter($aCenter=true) {
$this->center = $aCenter;
}
// This method gets called by Graph class to plot anything that should go
// into the margin after the margin color has been set.
function StrokeMargin(&$aImg) {
return true;
}
 
// Framework function the chance for each plot class to set a legend
function Legend(&$aGraph) {
if( $this->legend != "" )
$aGraph->legend->Add($this->legend,$this->color,"",0,$this->legendcsimtarget,$this->legendcsimalt);
}
} // Class
 
require_once "jpgraph_plotmark.inc" ;
 
//==============================================================================
// The following section contains classes to implement the "band" functionality
//==============================================================================
 
// Utility class to hold coordinates for a rectangle
class Rectangle {
var $x,$y,$w,$h;
var $xe, $ye;
function Rectangle($aX,$aY,$aWidth,$aHeight) {
$this->x=$aX;
$this->y=$aY;
$this->w=$aWidth;
$this->h=$aHeight;
$this->xe=$aX+$aWidth-1;
$this->ye=$aY+$aHeight-1;
}
}
 
//=====================================================================
// Class RectPattern
// Base class for pattern hierarchi that is used to display patterned
// bands on the graph. Any subclass that doesn't override Stroke()
// must at least implement method DoPattern(&$aImg) which is responsible
// for drawing the pattern onto the graph.
//=====================================================================
class RectPattern {
var $color;
var $weight;
var $rect=null;
var $doframe=true;
var $linespacing; // Line spacing in pixels
var $iBackgroundColor=-1; // Default is no background fill
function RectPattern($aColor,$aWeight=1) {
$this->color = $aColor;
$this->weight = $aWeight;
}
 
function SetBackground($aBackgroundColor) {
$this->iBackgroundColor=$aBackgroundColor;
}
 
function SetPos(&$aRect) {
$this->rect = $aRect;
}
function ShowFrame($aShow=true) {
$this->doframe=$aShow;
}
 
function SetDensity($aDens) {
if( $aDens <1 || $aDens > 100 )
JpGraphError::Raise(" Desity for pattern must be between 1 and 100. (You tried $aDens)");
// 1% corresponds to linespacing=50
// 100 % corresponds to linespacing 1
$this->linespacing = floor(((100-$aDens)/100.0)*50)+1;
 
}
 
function Stroke(&$aImg) {
if( $this->rect == null )
JpGraphError::Raise(" No positions specified for pattern.");
 
if( !(is_numeric($this->iBackgroundColor) && $this->iBackgroundColor==-1) ) {
$aImg->SetColor($this->iBackgroundColor);
$aImg->FilledRectangle($this->rect->x,$this->rect->y,$this->rect->xe,$this->rect->ye);
}
 
$aImg->SetColor($this->color);
$aImg->SetLineWeight($this->weight);
 
// Virtual function implemented by subclass
$this->DoPattern($aImg);
 
// Frame around the pattern area
if( $this->doframe )
$aImg->Rectangle($this->rect->x,$this->rect->y,$this->rect->xe,$this->rect->ye);
}
 
}
 
 
//=====================================================================
// Class RectPatternSolid
// Implements a solid band
//=====================================================================
class RectPatternSolid extends RectPattern {
 
function RectPatternSolid($aColor="black",$aWeight=1) {
parent::RectPattern($aColor,$aWeight);
}
 
function DoPattern(&$aImg) {
$aImg->SetColor($this->color);
$aImg->FilledRectangle($this->rect->x,$this->rect->y,
$this->rect->xe,$this->rect->ye);
}
}
 
//=====================================================================
// Class RectPatternHor
// Implements horizontal line pattern
//=====================================================================
class RectPatternHor extends RectPattern {
function RectPatternHor($aColor="black",$aWeight=1,$aLineSpacing=7) {
parent::RectPattern($aColor,$aWeight);
$this->linespacing = $aLineSpacing;
}
function DoPattern(&$aImg) {
$x0 = $this->rect->x;
$x1 = $this->rect->xe;
$y = $this->rect->y;
while( $y < $this->rect->ye ) {
$aImg->Line($x0,$y,$x1,$y);
$y += $this->linespacing;
}
}
}
 
//=====================================================================
// Class RectPatternVert
// Implements vertical line pattern
//=====================================================================
class RectPatternVert extends RectPattern {
var $linespacing=10; // Line spacing in pixels
function RectPatternVert($aColor="black",$aWeight=1,$aLineSpacing=7) {
parent::RectPattern($aColor,$aWeight);
$this->linespacing = $aLineSpacing;
}
 
//--------------------
// Private methods
//
function DoPattern(&$aImg) {
$x = $this->rect->x;
$y0 = $this->rect->y;
$y1 = $this->rect->ye;
while( $x < $this->rect->xe ) {
$aImg->Line($x,$y0,$x,$y1);
$x += $this->linespacing;
}
}
}
 
 
//=====================================================================
// Class RectPatternRDiag
// Implements right diagonal pattern
//=====================================================================
class RectPatternRDiag extends RectPattern {
var $linespacing; // Line spacing in pixels
function RectPatternRDiag($aColor="black",$aWeight=1,$aLineSpacing=12) {
parent::RectPattern($aColor,$aWeight);
$this->linespacing = $aLineSpacing;
}
 
function DoPattern(&$aImg) {
// --------------------
// | / / / / /|
// |/ / / / / |
// | / / / / |
// --------------------
$xe = $this->rect->xe;
$ye = $this->rect->ye;
$x0 = $this->rect->x + round($this->linespacing/2);
$y0 = $this->rect->y;
$x1 = $this->rect->x;
$y1 = $this->rect->y + round($this->linespacing/2);
 
while($x0<=$xe && $y1<=$ye) {
$aImg->Line($x0,$y0,$x1,$y1);
$x0 += $this->linespacing;
$y1 += $this->linespacing;
}
 
if( $xe-$x1 > $ye-$y0 ) {
// Width larger than height
$x1 = $this->rect->x + ($y1-$ye);
$y1 = $ye;
$y0 = $this->rect->y;
while( $x0 <= $xe ) {
$aImg->Line($x0,$y0,$x1,$y1);
$x0 += $this->linespacing;
$x1 += $this->linespacing;
}
$y0=$this->rect->y + ($x0-$xe);
$x0=$xe;
}
else {
// Height larger than width
$diff = $x0-$xe;
$y0 = $diff+$this->rect->y;
$x0 = $xe;
$x1 = $this->rect->x;
while( $y1 <= $ye ) {
$aImg->Line($x0,$y0,$x1,$y1);
$y1 += $this->linespacing;
$y0 += $this->linespacing;
}
$diff = $y1-$ye;
$y1 = $ye;
$x1 = $diff + $this->rect->x;
}
 
while( $y0 <= $ye ) {
$aImg->Line($x0,$y0,$x1,$y1);
$y0 += $this->linespacing;
$x1 += $this->linespacing;
}
}
}
//=====================================================================
// Class RectPatternLDiag
// Implements left diagonal pattern
//=====================================================================
class RectPatternLDiag extends RectPattern {
var $linespacing; // Line spacing in pixels
function RectPatternLDiag($aColor="black",$aWeight=1,$aLineSpacing=12) {
$this->linespacing = $aLineSpacing;
parent::RectPattern($aColor,$aWeight);
}
 
function DoPattern(&$aImg) {
// --------------------
// |\ \ \ \ \ |
// | \ \ \ \ \|
// | \ \ \ \ |
// |------------------|
$xe = $this->rect->xe;
$ye = $this->rect->ye;
$x0 = $this->rect->x + round($this->linespacing/2);
$y0 = $this->rect->ye;
$x1 = $this->rect->x;
$y1 = $this->rect->ye - round($this->linespacing/2);
 
while($x0<=$xe && $y1>=$this->rect->y) {
$aImg->Line($x0,$y0,$x1,$y1);
$x0 += $this->linespacing;
$y1 -= $this->linespacing;
}
if( $xe-$x1 > $ye-$this->rect->y ) {
// Width larger than height
$x1 = $this->rect->x + ($this->rect->y-$y1);
$y0=$ye; $y1=$this->rect->y;
while( $x0 <= $xe ) {
$aImg->Line($x0,$y0,$x1,$y1);
$x0 += $this->linespacing;
$x1 += $this->linespacing;
}
$y0=$this->rect->ye - ($x0-$xe);
$x0=$xe;
}
else {
// Height larger than width
$diff = $x0-$xe;
$y0 = $ye-$diff;
$x0 = $xe;
while( $y1 >= $this->rect->y ) {
$aImg->Line($x0,$y0,$x1,$y1);
$y0 -= $this->linespacing;
$y1 -= $this->linespacing;
}
$diff = $this->rect->y - $y1;
$x1 = $this->rect->x + $diff;
$y1 = $this->rect->y;
}
while( $y0 >= $this->rect->y ) {
$aImg->Line($x0,$y0,$x1,$y1);
$y0 -= $this->linespacing;
$x1 += $this->linespacing;
}
}
}
 
//=====================================================================
// Class RectPattern3DPlane
// Implements "3D" plane pattern
//=====================================================================
class RectPattern3DPlane extends RectPattern {
var $alpha=50; // Parameter that specifies the distance
// to "simulated" horizon in pixel from the
// top of the band. Specifies how fast the lines
// converge.
 
function RectPattern3DPlane($aColor="black",$aWeight=1) {
parent::RectPattern($aColor,$aWeight);
$this->SetDensity(10); // Slightly larger default
}
 
function SetHorizon($aHorizon) {
$this->alpha=$aHorizon;
}
function DoPattern(&$aImg) {
// "Fake" a nice 3D grid-effect.
$x0 = $this->rect->x + $this->rect->w/2;
$y0 = $this->rect->y;
$x1 = $x0;
$y1 = $this->rect->ye;
$x0_right = $x0;
$x1_right = $x1;
 
// BTW "apa" means monkey in Swedish but is really a shortform for
// "alpha+a" which was the labels I used on paper when I derived the
// geometric to get the 3D perspective right.
// $apa is the height of the bounding rectangle plus the distance to the
// artifical horizon (alpha)
$apa = $this->rect->h + $this->alpha;
 
// Three cases and three loops
// 1) The endpoint of the line ends on the bottom line
// 2) The endpoint ends on the side
// 3) Horizontal lines
 
// Endpoint falls on bottom line
$middle=$this->rect->x + $this->rect->w/2;
$dist=$this->linespacing;
$factor=$this->alpha /($apa);
while($x1>$this->rect->x) {
$aImg->Line($x0,$y0,$x1,$y1);
$aImg->Line($x0_right,$y0,$x1_right,$y1);
$x1 = $middle - $dist;
$x0 = $middle - $dist * $factor;
$x1_right = $middle + $dist;
$x0_right = $middle + $dist * $factor;
$dist += $this->linespacing;
}
 
// Endpoint falls on sides
$dist -= $this->linespacing;
$d=$this->rect->w/2;
$c = $apa - $d*$apa/$dist;
while( $x0>$this->rect->x ) {
$aImg->Line($x0,$y0,$this->rect->x,$this->rect->ye-$c);
$aImg->Line($x0_right,$y0,$this->rect->xe,$this->rect->ye-$c);
$dist += $this->linespacing;
$x0 = $middle - $dist * $factor;
$x1 = $middle - $dist;
$x0_right = $middle + $dist * $factor;
$c = $apa - $d*$apa/$dist;
}
// Horizontal lines
// They need some serious consideration since they are a function
// of perspective depth (alpha) and density (linespacing)
$x0=$this->rect->x;
$x1=$this->rect->xe;
$y=$this->rect->ye;
// The first line is drawn directly. Makes the loop below slightly
// more readable.
$aImg->Line($x0,$y,$x1,$y);
$hls = $this->linespacing;
// A correction factor for vertical "brick" line spacing to account for
// a) the difference in number of pixels hor vs vert
// b) visual apperance to make the first layer of "bricks" look more
// square.
$vls = $this->linespacing*0.6;
$ds = $hls*($apa-$vls)/$apa;
// Get the slope for the "perspective line" going from bottom right
// corner to top left corner of the "first" brick.
// Uncomment the following lines if you want to get a visual understanding
// of what this helpline does. BTW this mimics the way you would get the
// perspective right when drawing on paper.
/*
$x0 = $middle;
$y0 = $this->rect->ye;
$len=floor(($this->rect->ye-$this->rect->y)/$vls);
$x1 = $middle-round($len*$ds);
$y1 = $this->rect->ye-$len*$vls;
$aImg->PushColor("red");
$aImg->Line($x0,$y0,$x1,$y1);
$aImg->PopColor();
*/
$y -= $vls;
$k=($this->rect->ye-($this->rect->ye-$vls))/($middle-($middle-$ds));
$dist = $hls;
while( $y>$this->rect->y ) {
$aImg->Line($this->rect->x,$y,$this->rect->xe,$y);
$adj = $k*$dist/(1+$dist*$k/$apa);
if( $adj < 2 ) $adj=2;
$y = $this->rect->ye - round($adj);
$dist += $hls;
}
}
}
 
//=====================================================================
// Class RectPatternCross
// Vert/Hor crosses
//=====================================================================
class RectPatternCross extends RectPattern {
var $vert=null;
var $hor=null;
function RectPatternCross($aColor="black",$aWeight=1) {
parent::RectPattern($aColor,$aWeight);
$this->vert = new RectPatternVert($aColor,$aWeight);
$this->hor = new RectPatternHor($aColor,$aWeight);
}
 
function SetOrder($aDepth) {
$this->vert->SetOrder($aDepth);
$this->hor->SetOrder($aDepth);
}
 
function SetPos(&$aRect) {
parent::SetPos($aRect);
$this->vert->SetPos($aRect);
$this->hor->SetPos($aRect);
}
 
function SetDensity($aDens) {
$this->vert->SetDensity($aDens);
$this->hor->SetDensity($aDens);
}
 
function DoPattern(&$aImg) {
$this->vert->DoPattern($aImg);
$this->hor->DoPattern($aImg);
}
}
 
//=====================================================================
// Class RectPatternDiagCross
// Vert/Hor crosses
//=====================================================================
 
class RectPatternDiagCross extends RectPattern {
var $left=null;
var $right=null;
function RectPatternDiagCross($aColor="black",$aWeight=1) {
parent::RectPattern($aColor,$aWeight);
$this->right = new RectPatternRDiag($aColor,$aWeight);
$this->left = new RectPatternLDiag($aColor,$aWeight);
}
 
function SetOrder($aDepth) {
$this->left->SetOrder($aDepth);
$this->right->SetOrder($aDepth);
}
 
function SetPos(&$aRect) {
parent::SetPos($aRect);
$this->left->SetPos($aRect);
$this->right->SetPos($aRect);
}
 
function SetDensity($aDens) {
$this->left->SetDensity($aDens);
$this->right->SetDensity($aDens);
}
 
function DoPattern(&$aImg) {
$this->left->DoPattern($aImg);
$this->right->DoPattern($aImg);
}
 
}
 
//=====================================================================
// Class RectPatternFactory
// Factory class for rectangular pattern
//=====================================================================
class RectPatternFactory {
function RectPatternFactory() {
// Empty
}
function Create($aPattern,$aColor,$aWeight=1) {
switch($aPattern) {
case BAND_RDIAG:
$obj = new RectPatternRDiag($aColor,$aWeight);
break;
case BAND_LDIAG:
$obj = new RectPatternLDiag($aColor,$aWeight);
break;
case BAND_SOLID:
$obj = new RectPatternSolid($aColor,$aWeight);
break;
case BAND_VLINE:
$obj = new RectPatternVert($aColor,$aWeight);
break;
case BAND_HLINE:
$obj = new RectPatternHor($aColor,$aWeight);
break;
case BAND_3DPLANE:
$obj = new RectPattern3DPlane($aColor,$aWeight);
break;
case BAND_HVCROSS:
$obj = new RectPatternCross($aColor,$aWeight);
break;
case BAND_DIAGCROSS:
$obj = new RectPatternDiagCross($aColor,$aWeight);
break;
default:
JpGraphError::Raise(" Unknown pattern specification ($aPattern)");
}
return $obj;
}
}
 
 
//=====================================================================
// Class PlotBand
// Factory class which is used by the client.
// It is reposnsible for factoring the corresponding pattern
// concrete class.
//=====================================================================
class PlotBand {
var $prect=null;
var $depth;
var $dir, $min, $max;
 
function PlotBand($aDir,$aPattern,$aMin,$aMax,$aColor="black",$aWeight=1,$aDepth=DEPTH_BACK) {
$f = new RectPatternFactory();
$this->prect = $f->Create($aPattern,$aColor,$aWeight);
$this->dir = $aDir;
$this->min = $aMin;
$this->max = $aMax;
$this->depth=$aDepth;
}
// Set position. aRect contains absolute image coordinates
function SetPos(&$aRect) {
assert( $this->prect != null ) ;
$this->prect->SetPos($aRect);
}
function ShowFrame($aFlag=true) {
$this->prect->ShowFrame($aFlag);
}
 
// Set z-order. In front of pplot or in the back
function SetOrder($aDepth) {
$this->depth=$aDepth;
}
function SetDensity($aDens) {
$this->prect->SetDensity($aDens);
}
function GetDir() {
return $this->dir;
}
function GetMin() {
return $this->min;
}
function GetMax() {
return $this->max;
}
// Display band
function Stroke(&$aImg,&$aXScale,&$aYScale) {
assert( $this->prect != null ) ;
if( $this->dir == HORIZONTAL ) {
if( $this->min === 'min' ) $this->min = $aYScale->GetMinVal();
if( $this->max === 'max' ) $this->max = $aYScale->GetMaxVal();
 
// Only draw the bar if it actually appears in the range
if ($this->min < $aYScale->GetMaxVal() && $this->max > $aYScale->GetMinVal()) {
// Trucate to limit of axis
$this->min = max($this->min, $aYScale->GetMinVal());
$this->max = min($this->max, $aYScale->GetMaxVal());
 
$x=$aXScale->scale_abs[0];
$y=$aYScale->Translate($this->max);
$width=$aXScale->scale_abs[1]-$aXScale->scale_abs[0]+1;
$height=abs($y-$aYScale->Translate($this->min))+1;
$this->prect->SetPos(new Rectangle($x,$y,$width,$height));
$this->prect->Stroke($aImg);
}
}
else { // VERTICAL
if( $this->min === 'min' ) $this->min = $aXScale->GetMinVal();
if( $this->max === 'max' ) $this->max = $aXScale->GetMaxVal();
// Only draw the bar if it actually appears in the range
if ($this->min < $aXScale->GetMaxVal() && $this->max > $aXScale->GetMinVal()) {
// Trucate to limit of axis
$this->min = max($this->min, $aXScale->GetMinVal());
$this->max = min($this->max, $aXScale->GetMaxVal());
 
$y=$aYScale->scale_abs[1];
$x=$aXScale->Translate($this->min);
$height=abs($aYScale->scale_abs[1]-$aYScale->scale_abs[0]);
$width=abs($x-$aXScale->Translate($this->max));
$this->prect->SetPos(new Rectangle($x,$y,$width,$height));
$this->prect->Stroke($aImg);
}
}
}
}
 
//===================================================
// CLASS PlotLine
// Description:
// Data container class to hold properties for a static
// line that is drawn directly in the plot area.
// Usefull to add static borders inside a plot to show
// for example set-values
//===================================================
class PlotLine {
var $weight=1;
var $color="black";
var $direction=-1;
var $scaleposition;
 
//---------------
// CONSTRUCTOR
function PlotLine($aDir=HORIZONTAL,$aPos=0,$aColor="black",$aWeight=1) {
$this->direction = $aDir;
$this->color=$aColor;
$this->weight=$aWeight;
$this->scaleposition=$aPos;
}
//---------------
// PUBLIC METHODS
function SetPosition($aScalePosition) {
$this->scaleposition=$aScalePosition;
}
function SetDirection($aDir) {
$this->direction = $aDir;
}
function SetColor($aColor) {
$this->color=$aColor;
}
function SetWeight($aWeight) {
$this->weight=$aWeight;
}
function Stroke(&$aImg,&$aXScale,&$aYScale) {
$aImg->SetColor($this->color);
$aImg->SetLineWeight($this->weight);
if( $this->direction == VERTICAL ) {
$ymin_abs=$aYScale->Translate($aYScale->GetMinVal());
$ymax_abs=$aYScale->Translate($aYScale->GetMaxVal());
$xpos_abs=$aXScale->Translate($this->scaleposition);
$aImg->Line($xpos_abs, $ymin_abs, $xpos_abs, $ymax_abs);
}
elseif( $this->direction == HORIZONTAL ) {
$xmin_abs=$aXScale->Translate($aXScale->GetMinVal());
$xmax_abs=$aXScale->Translate($aXScale->GetMaxVal());
$ypos_abs=$aYScale->Translate($this->scaleposition);
$aImg->Line($xmin_abs, $ypos_abs, $xmax_abs, $ypos_abs);
}
else
JpGraphError::Raise(" Illegal direction for static line");
}
}
 
// <EOF>
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/api/jpgraph_1.12.2/jpgraph_stock.php
New file
0,0 → 1,183
<?php
/*=======================================================================
// File: JPGRAPH_STOCK.PHP
// Description: Stock plot extension for JpGraph
// Created: 2003-01-27
// Author: Johan Persson (johanp@aditus.nu)
// Ver: $Id: jpgraph_stock.php,v 1.1 2004/06/15 10:13:19 jpm Exp $
//
// License: This code is released under QPL
// Copyright (C) 2003 Johan Persson
//========================================================================
*/
 
//===================================================
// CLASS StockPlot
//===================================================
class StockPlot extends Plot {
var $iWidth=9;
var $iEndLines=1;
var $iStockColor1='white',$iStockColor2='darkred',$iStockColor3='darkred';
var $iTupleSize = 4;
//---------------
// CONSTRUCTOR
function StockPlot(&$datay,$datax=false) {
if( count($datay) % $this->iTupleSize ) {
JpGraphError::Raise('Data values for Stock charts must contain an even multiple of '.$this->iTupleSize.' data points.');
}
$this->Plot($datay,$datax);
$this->numpoints /= $this->iTupleSize;
}
//---------------
// PUBLIC METHODS
function SetColor($aColor,$aColor1='white',$aColor2='darkred',$aColor3='darkred') {
$this->color = $aColor;
$this->iStockColor1 = $aColor1;
$this->iStockColor2 = $aColor2;
$this->iStockColor3 = $aColor3;
}
 
function SetWidth($aWidth) {
// Make sure it's odd
$this->iWidth = 2*floor($aWidth/2)+1;
}
 
function HideEndLines($aHide=true) {
$this->iEndLines = !$aHide;
}
 
// Gets called before any axis are stroked
function PreStrokeAdjust(&$graph) {
if( $this->center ) {
$a=0.5; $b=0.5;
$this->numpoints++;
} else {
$a=0; $b=0;
}
$graph->xaxis->scale->ticks->SetXLabelOffset($a);
$graph->SetTextScaleOff($b);
}
// Method description
function Stroke($img,$xscale,$yscale) {
$n=$this->numpoints;
if( $this->center ) $n--;
if( isset($this->coords[1]) ) {
if( count($this->coords[1])!=$n )
JpGraphError::Raise("Number of X and Y points are not equal. Number of X-points:".count($this->coords[1])." Number of Y-points:$numpoints");
else
$exist_x = true;
}
else
$exist_x = false;
 
if( $exist_x )
$xs=$this->coords[1][0];
else
$xs=0;
$ts = $this->iTupleSize;
$this->csimareas = '';
for( $i=0; $i<$n; ++$i) {
 
//If value is NULL, then don't draw a bar at all
if ($this->coords[0][$i] === null) continue;
 
if( $exist_x ) $x=$this->coords[1][$i];
else $x=$i;
$xt = $xscale->Translate($x);
$neg = $this->coords[0][$i*4] > $this->coords[0][$i*$ts+1] ;
$yopen = $yscale->Translate($this->coords[0][$i*$ts]);
$yclose = $yscale->Translate($this->coords[0][$i*$ts+1]);
$ymin = $yscale->Translate($this->coords[0][$i*$ts+2]);
$ymax = $yscale->Translate($this->coords[0][$i*$ts+3]);
 
$dx = floor($this->iWidth/2);
$xl = $xt - $dx;
$xr = $xt + $dx;
 
if( $neg )
$img->SetColor($this->iStockColor3);
else
$img->SetColor($this->iStockColor1);
$img->FilledRectangle($xl,$yopen,$xr,$yclose);
$img->SetLineWeight($this->weight);
if( $neg )
$img->SetColor($this->iStockColor2);
else
$img->SetColor($this->color);
$img->Rectangle($xl,$yopen,$xr,$yclose);
 
if( $yopen < $yclose ) {
$ytop = $yopen ;
$ybottom = $yclose ;
}
else {
$ytop = $yclose ;
$ybottom = $yopen ;
}
$img->SetColor($this->color);
$img->Line($xt,$ytop,$xt,$ymax);
$img->Line($xt,$ybottom,$xt,$ymin);
 
if( $this->iEndLines ) {
$img->Line($xl,$ymax,$xr,$ymax);
$img->Line($xl,$ymin,$xr,$ymin);
}
 
// A chance for subclasses to add things to the bar
// for data point i
$this->ModBox($img,$xscale,$yscale,$i,$xl,$xr,$neg);
 
// Setup image maps
if( !empty($this->csimtargets[$i]) ) {
$this->csimareas.= '<area shape="rect" coords="'.
round($xl).','.round($ytop).','.
round($xr).','.round($ybottom).'" ';
$this->csimareas .= ' href="'.$this->csimtargets[$i].'"';
if( !empty($this->csimalts[$i]) ) {
$sval=$this->csimalts[$i];
$this->csimareas .= " alt=\"$sval\" title=\"$sval\" ";
}
$this->csimareas.= ">\n";
}
}
return true;
}
 
// A hook for subclasses to modify the plot
function ModBox($img,$xscale,$yscale,$i,$xl,$xr,$neg) {}
 
} // Class
 
//===================================================
// CLASS BoxPlot
//===================================================
class BoxPlot extends StockPlot {
var $iPColor='black',$iNColor='white';
function BoxPlot($datay,$datax=false) {
$this->iTupleSize=5;
parent::StockPlot($datay,$datax);
}
 
function SetMedianColor($aPos,$aNeg) {
$this->iPColor = $aPos;
$this->iNColor = $aNeg;
}
 
function ModBox($img,$xscale,$yscale,$i,$xl,$xr,$neg) {
if( $neg )
$img->SetColor($this->iNColor);
else
$img->SetColor($this->iPColor);
$y = $yscale->Translate($this->coords[0][$i*5+4]);
$img->Line($xl,$y,$xr,$y);
}
}
 
/* EOF */
?>
/trunk/api/jpgraph_1.12.2/jpgraph_pie3d.php
New file
0,0 → 1,883
<?php
/*=======================================================================
// File: JPGRAPH_PIE3D.PHP
// Description: 3D Pie plot extension for JpGraph
// Created: 2001-03-24
// Author: Johan Persson (johanp@aditus.nu)
// Ver: $Id: jpgraph_pie3d.php,v 1.1 2004/06/15 10:13:19 jpm Exp $
//
// License: This code is released under QPL
// Copyright (C) 2001,2002 Johan Persson
//========================================================================
*/
 
//===================================================
// CLASS PiePlot3D
// Description: Plots a 3D pie with a specified projection
// angle between 20 and 70 degrees.
//===================================================
class PiePlot3D extends PiePlot {
var $labelhintcolor="red",$showlabelhint=true,$labelmargin=0.30;
var $angle=50;
var $edgecolor="", $edgeweight=1;
var $iThickness=false;
//---------------
// CONSTRUCTOR
function PiePlot3d(&$data) {
$this->radius = 0.5;
$this->data = $data;
$this->title = new Text("");
$this->title->SetFont(FF_FONT1,FS_BOLD);
$this->value = new DisplayValue();
$this->value->Show();
$this->value->SetFormat('%.0f%%');
}
 
//---------------
// PUBLIC METHODS
// Set label arrays
function SetLegends($aLegend) {
$this->legends = array_reverse($aLegend);
}
 
function SetSliceColors($aColors) {
$this->setslicecolors = $aColors;
}
 
function Legend(&$aGraph) {
parent::Legend($aGraph);
$aGraph->legend->txtcol = array_reverse($aGraph->legend->txtcol);
}
 
function SetCSIMTargets($targets,$alts=null) {
$this->csimtargets = $targets;
$this->csimalts = $alts;
}
 
// Should the slices be separated by a line? If color is specified as "" no line
// will be used to separate pie slices.
function SetEdge($aColor,$aWeight=1) {
$this->edgecolor = $aColor;
$this->edgeweight = $aWeight;
}
 
// Specify projection angle for 3D in degrees
// Must be between 20 and 70 degrees
function SetAngle($a) {
if( $a<5 || $a>90 )
JpGraphError::Raise("PiePlot3D::SetAngle() 3D Pie projection angle must be between 5 and 85 degrees.");
else
$this->angle = $a;
}
 
function AddSliceToCSIM($i,$xc,$yc,$height,$width,$thick,$sa,$ea) { //Slice number, ellipse centre (x,y), height, width, start angle, end angle
 
$sa *= M_PI/180;
$ea *= M_PI/180;
 
//add coordinates of the centre to the map
$coords = "$xc, $yc";
 
//add coordinates of the first point on the arc to the map
$xp = floor($width*cos($sa)/2+$xc);
$yp = floor($yc-$height*sin($sa)/2);
$coords.= ", $xp, $yp";
 
//If on the front half, add the thickness offset
if ($sa >= M_PI && $sa <= 2*M_PI*1.01) {
$yp = floor($yp+$thick);
$coords.= ", $xp, $yp";
}
//add coordinates every 0.2 radians
$a=$sa+0.2;
while ($a<$ea) {
$xp = floor($width*cos($a)/2+$xc);
if ($a >= M_PI && $a <= 2*M_PI*1.01) {
$yp = floor($yc-($height*sin($a)/2)+$thick);
} else {
$yp = floor($yc-$height*sin($a)/2);
}
$coords.= ", $xp, $yp";
$a += 0.2;
}
//Add the last point on the arc
$xp = floor($width*cos($ea)/2+$xc);
$yp = floor($yc-$height*sin($ea)/2);
 
 
if ($ea >= M_PI && $ea <= 2*M_PI*1.01) {
$coords.= ", $xp, ".floor($yp+$thick);
}
$coords.= ", $xp, $yp";
$alt='';
if( !empty($this->csimalts[$i]) ) {
$tmp=sprintf($this->csimalts[$i],$this->data[$i]);
$alt="alt=\"$tmp\" title=\"$tmp\"";
}
if( !empty($this->csimtargets[$i]) )
$this->csimareas .= "<area shape=\"poly\" coords=\"$coords\" href=\"".$this->csimtargets[$i]."\" $alt>\n";
}
 
function SetLabels($aLabels,$aLblPosAdj="auto") {
$this->labels = $aLabels;
$this->ilabelposadj=$aLblPosAdj;
}
 
// Distance from the pie to the labels
function SetLabelMargin($m) {
assert($m>0 && $m<1);
$this->labelmargin=$m;
}
// Show a thin line from the pie to the label for a specific slice
function ShowLabelHint($f=true) {
$this->showlabelhint=$f;
}
// Set color of hint line to label for each slice
function SetLabelHintColor($c) {
$this->labelhintcolor=$c;
}
 
function SetHeight($aHeight) {
$this->iThickness = $aHeight;
}
 
 
// Normalize Angle between 0-360
function NormAngle($a) {
// Normalize anle to 0 to 2M_PI
//
if( $a > 0 ) {
while($a > 360) $a -= 360;
}
else {
while($a < 0) $a += 360;
}
if( $a < 0 )
$a = 360 + $a;
 
if( $a == 360 ) $a=0;
return $a;
}
 
 
// Draw one 3D pie slice at position ($xc,$yc) with height $z
function Pie3DSlice($img,$xc,$yc,$w,$h,$sa,$ea,$z,$fillcolor,$shadow=0.65) {
// Due to the way the 3D Pie algorithm works we are
// guaranteed that any slice we get into this method
// belongs to either the left or right side of the
// pie ellipse. Hence, no slice will cross 90 or 270
// point.
if( ($sa < 90 && $ea > 90) || ( ($sa > 90 && $sa < 270) && $ea > 270) ) {
JpGraphError::Raise('Internal assertion failed. Pie3D::Pie3DSlice');
exit(1);
}
 
$p[] = array();
 
// Setup pre-calculated values
$rsa = $sa/180*M_PI; // to Rad
$rea = $ea/180*M_PI; // to Rad
$sinsa = sin($rsa);
$cossa = cos($rsa);
$sinea = sin($rea);
$cosea = cos($rea);
 
// p[] is the points for the overall slice and
// pt[] is the points for the top pie
 
// Angular step when approximating the arc with a polygon train.
$step = 0.05;
 
if( $sa >= 270 ) {
if( $ea > 360 || ($ea > 0 && $ea <= 90) ) {
if( $ea > 0 && $ea <= 90 ) {
// Adjust angle to simplify conditions in loops
$rea += 2*M_PI;
}
 
$p = array($xc,$yc,$xc,$yc+$z,
$xc+$w*$cossa,$z+$yc-$h*$sinsa);
$pt = array($xc,$yc,$xc+$w*$cossa,$yc-$h*$sinsa);
 
for( $a=$rsa; $a < 2*M_PI; $a += $step ) {
$tca = cos($a);
$tsa = sin($a);
$p[] = $xc+$w*$tca;
$p[] = $z+$yc-$h*$tsa;
$pt[] = $xc+$w*$tca;
$pt[] = $yc-$h*$tsa;
}
 
$pt[] = $xc+$w;
$pt[] = $yc;
 
$p[] = $xc+$w;
$p[] = $z+$yc;
$p[] = $xc+$w;
$p[] = $yc;
$p[] = $xc;
$p[] = $yc;
 
for( $a=2*M_PI+$step; $a < $rea; $a += $step ) {
$pt[] = $xc + $w*cos($a);
$pt[] = $yc - $h*sin($a);
}
$pt[] = $xc+$w*$cosea;
$pt[] = $yc-$h*$sinea;
$pt[] = $xc;
$pt[] = $yc;
 
}
else {
$p = array($xc,$yc,$xc,$yc+$z,
$xc+$w*$cossa,$z+$yc-$h*$sinsa);
$pt = array($xc,$yc,$xc+$w*$cossa,$yc-$h*$sinsa);
$rea = $rea == 0.0 ? 2*M_PI : $rea;
for( $a=$rsa; $a < $rea; $a += $step ) {
$tca = cos($a);
$tsa = sin($a);
$p[] = $xc+$w*$tca;
$p[] = $z+$yc-$h*$tsa;
$pt[] = $xc+$w*$tca;
$pt[] = $yc-$h*$tsa;
}
 
$pt[] = $xc+$w*$cosea;
$pt[] = $yc-$h*$sinea;
$pt[] = $xc;
$pt[] = $yc;
$p[] = $xc+$w*$cosea;
$p[] = $z+$yc-$h*$sinea;
$p[] = $xc+$w*$cosea;
$p[] = $yc-$h*$sinea;
$p[] = $xc;
$p[] = $yc;
}
}
elseif( $sa >= 180 ) {
$p = array($xc,$yc,$xc,$yc+$z,$xc+$w*$cosea,$z+$yc-$h*$sinea);
$pt = array($xc,$yc,$xc+$w*$cosea,$yc-$h*$sinea);
for( $a=$rea; $a>$rsa; $a -= $step ) {
$tca = cos($a);
$tsa = sin($a);
$p[] = $xc+$w*$tca;
$p[] = $z+$yc-$h*$tsa;
$pt[] = $xc+$w*$tca;
$pt[] = $yc-$h*$tsa;
}
 
$pt[] = $xc+$w*$cossa;
$pt[] = $yc-$h*$sinsa;
$pt[] = $xc;
$pt[] = $yc;
$p[] = $xc+$w*$cossa;
$p[] = $z+$yc-$h*$sinsa;
$p[] = $xc+$w*$cossa;
$p[] = $yc-$h*$sinsa;
$p[] = $xc;
$p[] = $yc;
}
elseif( $sa >= 90 ) {
if( $ea > 180 ) {
$p = array($xc,$yc,$xc,$yc+$z,$xc+$w*$cosea,$z+$yc-$h*$sinea);
$pt = array($xc,$yc,$xc+$w*$cosea,$yc-$h*$sinea);
 
for( $a=$rea; $a > M_PI; $a -= $step ) {
$tca = cos($a);
$tsa = sin($a);
$p[] = $xc+$w*$tca;
$p[] = $z + $yc - $h*$tsa;
$pt[] = $xc+$w*$tca;
$pt[] = $yc-$h*$tsa;
}
 
$p[] = $xc-$w;
$p[] = $z+$yc;
$p[] = $xc-$w;
$p[] = $yc;
$p[] = $xc;
$p[] = $yc;
 
$pt[] = $xc-$w;
$pt[] = $z+$yc;
$pt[] = $xc-$w;
$pt[] = $yc;
 
for( $a=M_PI-$step; $a > $rsa; $a -= $step ) {
$pt[] = $xc + $w*cos($a);
$pt[] = $yc - $h*sin($a);
}
 
$pt[] = $xc+$w*$cossa;
$pt[] = $yc-$h*$sinsa;
$pt[] = $xc;
$pt[] = $yc;
 
}
else { // $sa >= 90 && $ea <= 180
$p = array($xc,$yc,$xc,$yc+$z,
$xc+$w*$cosea,$z+$yc-$h*$sinea,
$xc+$w*$cosea,$yc-$h*$sinea,
$xc,$yc);
 
$pt = array($xc,$yc,$xc+$w*$cosea,$yc-$h*$sinea);
 
for( $a=$rea; $a>$rsa; $a -= $step ) {
$pt[] = $xc + $w*cos($a);
$pt[] = $yc - $h*sin($a);
}
 
$pt[] = $xc+$w*$cossa;
$pt[] = $yc-$h*$sinsa;
$pt[] = $xc;
$pt[] = $yc;
 
}
}
else { // sa > 0 && ea < 90
 
$p = array($xc,$yc,$xc,$yc+$z,
$xc+$w*$cossa,$z+$yc-$h*$sinsa,
$xc+$w*$cossa,$yc-$h*$sinsa,
$xc,$yc);
 
$pt = array($xc,$yc,$xc+$w*$cossa,$yc-$h*$sinsa);
 
for( $a=$rsa; $a < $rea; $a += $step ) {
$pt[] = $xc + $w*cos($a);
$pt[] = $yc - $h*sin($a);
}
 
$pt[] = $xc+$w*$cosea;
$pt[] = $yc-$h*$sinea;
$pt[] = $xc;
$pt[] = $yc;
}
$img->PushColor($fillcolor.":".$shadow);
$img->FilledPolygon($p);
$img->PopColor();
 
$img->PushColor($fillcolor);
$img->FilledPolygon($pt);
$img->PopColor();
}
// Draw a 3D Pie
function Pie3D($aaoption,$img,$data,$colors,$xc,$yc,$d,$angle,$z,
$shadow=0.65,$startangle=0,$edgecolor="",$edgeweight=1) {
 
//---------------------------------------------------------------------------
// As usual the algorithm get more complicated than I originally
// envisioned. I believe that this is as simple as it is possible
// to do it with the features I want. It's a good exercise to start
// thinking on how to do this to convince your self that all this
// is really needed for the general case.
//
// The algorithm two draw 3D pies without "real 3D" is done in
// two steps.
// First imagine the pie cut in half through a thought line between
// 12'a clock and 6'a clock. It now easy to imagine that we can plot
// the individual slices for each half by starting with the topmost
// pie slice and continue down to 6'a clock.
//
// In the algortithm this is done in three principal steps
// Step 1. Do the knife cut to ensure by splitting slices that extends
// over the cut line. This is done by splitting the original slices into
// upto 3 subslices.
// Step 2. Find the top slice for each half
// Step 3. Draw the slices from top to bottom
//
// The thing that slightly complicates this scheme with all the
// angle comparisons below is that we can have an arbitrary start
// angle so we must take into account the different equivalence classes.
// For the same reason we must walk through the angle array in a
// modulo fashion.
//
// Limitations of algorithm:
// * A small exploded slice which crosses the 270 degree point
// will get slightly nagged close to the center due to the fact that
// we print the slices in Z-order and that the slice left part
// get printed first and might get slightly nagged by a larger
// slice on the right side just before the right part of the small
// slice. Not a major problem though.
//---------------------------------------------------------------------------
 
// Determine the height of the ellippse which gives an
// indication of the inclination angle
$h = ($angle/90.0)*$d;
$sum = 0;
for($i=0; $i<count($data); ++$i ) {
$sum += $data[$i];
}
// Special optimization
if( $sum==0 ) return;
 
// Setup the start
$accsum = 0;
$a = $startangle;
$a = $this->NormAngle($a);
 
//
// Step 1 . Split all slices that crosses 90 or 270
//
$idx=0;
$adjexplode=array();
$numcolors = count($colors);
for($i=0; $i<count($data); ++$i, ++$idx ) {
$da = $data[$i]/$sum * 360;
 
if( empty($this->explode_radius[$i]) )
$this->explode_radius[$i]=0;
 
$expscale=1;
if( $aaoption == 1 )
$expscale=2;
 
$la = $a + $da/2;
$explode = array( $xc + $this->explode_radius[$i]*cos($la*M_PI/180)*$expscale,
$yc - $this->explode_radius[$i]*sin($la*M_PI/180) * ($h/$d) *$expscale );
$adjexplode[$idx] = $explode;
$labeldata[$i] = array($la,$explode[0],$explode[1]);
$originalangles[$i] = array($a,$a+$da);
 
$ne = $this->NormAngle($a+$da);
if( $da <= 180 ) {
// If the slice size is <= 90 it can at maximum cut across
// one boundary (either 90 or 270) where it needs to be split
$split=-1; // no split
if( ($da<=90 && ($a <= 90 && $ne > 90)) ||
(($da <= 180 && $da >90) && (($a < 90 || $a >= 270) && $ne > 90)) ) {
$split = 90;
}
elseif( ($da<=90 && ($a <= 270 && $ne > 270)) ||
(($da<=180 && $da>90) && ($a >= 90 && $a < 270 && ($a+$da) > 270 )) ) {
$split = 270;
}
if( $split > 0 ) { // split in two
$angles[$idx] = array($a,$split);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
$angles[++$idx] = array($split,$ne);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
}
else { // no split
$angles[$idx] = array($a,$ne);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
}
}
else {
// da>180
// Slice may, depending on position, cross one or two
// bonudaries
 
if( $a < 90 )
$split = 90;
elseif( $a <= 270 )
$split = 270;
else
$split = 90;
 
$angles[$idx] = array($a,$split);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
//if( $a+$da > 360-$split ) {
// For slices larger than 270 degrees we might cross
// another boundary as well. This means that we must
// split the slice further. The comparison gets a little
// bit complicated since we must take into accound that
// a pie might have a startangle >0 and hence a slice might
// wrap around the 0 angle.
// Three cases:
// a) Slice starts before 90 and hence gets a split=90, but
// we must also check if we need to split at 270
// b) Slice starts after 90 but before 270 and slices
// crosses 90 (after a wrap around of 0)
// c) If start is > 270 (hence the firstr split is at 90)
// and the slice is so large that it goes all the way
// around 270.
if( ($a < 90 && ($a+$da > 270)) ||
($a > 90 && $a<=270 && ($a+$da>360+90) ) ||
($a > 270 && $this->NormAngle($a+$da)>270) ) {
$angles[++$idx] = array($split,360-$split);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
$angles[++$idx] = array(360-$split,$ne);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
}
else {
// Just a simple split to the previous decided
// angle.
$angles[++$idx] = array($split,$ne);
$adjcolors[$idx] = $colors[$i % $numcolors];
$adjexplode[$idx] = $explode;
}
}
$a += $da;
$a = $this->NormAngle($a);
}
 
// Total number of slices
$n = count($angles);
 
for($i=0; $i<$n; ++$i) {
list($dbgs,$dbge) = $angles[$i];
}
 
//
// Step 2. Find start index (first pie that starts in upper left quadrant)
//
$minval = $angles[0][0];
$min = 0;
for( $i=0; $i<$n; ++$i ) {
if( $angles[$i][0] < $minval ) {
$minval = $angles[$i][0];
$min = $i;
}
}
$j = $min;
$cnt = 0;
while( $angles[$j][1] <= 90 ) {
$j++;
if( $j>=$n) {
$j=0;
}
if( $cnt > $n ) {
JpGraphError::Raise("Pie3D Internal error (#1). Trying to wrap twice when looking for start index");
}
++$cnt;
}
$start = $j;
 
//
// Step 3. Print slices in z-order
//
$cnt = 0;
// First stroke all the slices between 90 and 270 (left half circle)
// counterclockwise
while( $angles[$j][0] < 270 && $aaoption !== 2 ) {
 
list($x,$y) = $adjexplode[$j];
 
$this->Pie3DSlice($img,$x,$y,$d,$h,$angles[$j][0],$angles[$j][1],
$z,$adjcolors[$j],$shadow);
$last = array($x,$y,$j);
 
$j++;
if( $j >= $n ) $j=0;
if( $cnt > $n ) {
JpGraphError::Raise("Pie3D Internal Error: Z-Sorting algorithm for 3D Pies is not working properly (2). Trying to wrap twice while stroking.");
}
++$cnt;
}
$slice_left = $n-$cnt;
$j=$start-1;
if($j<0) $j=$n-1;
$cnt = 0;
// The stroke all slices from 90 to -90 (right half circle)
// clockwise
while( $cnt < $slice_left && $aaoption !== 2 ) {
 
list($x,$y) = $adjexplode[$j];
 
$this->Pie3DSlice($img,$x,$y,$d,$h,$angles[$j][0],$angles[$j][1],
$z,$adjcolors[$j],$shadow);
$j--;
if( $cnt > $n ) {
JpGraphError::Raise("Pie3D Internal Error: Z-Sorting algorithm for 3D Pies is not working properly (2). Trying to wrap twice while stroking.");
}
if($j<0) $j=$n-1;
$cnt++;
}
// Now do a special thing. Stroke the last slice on the left
// halfcircle one more time. This is needed in the case where
// the slice close to 270 have been exploded. In that case the
// part of the slice close to the center of the pie might be
// slightly nagged.
if( $aaoption !== 2 )
$this->Pie3DSlice($img,$last[0],$last[1],$d,$h,$angles[$last[2]][0],
$angles[$last[2]][1],$z,$adjcolors[$last[2]],$shadow);
 
 
if( $aaoption !== 1 ) {
// Now print possible labels and add csim
$img->SetFont($this->value->ff,$this->value->fs);
$margin = $img->GetFontHeight()/2;
for($i=0; $i < count($data); ++$i ) {
$la = $labeldata[$i][0];
$x = $labeldata[$i][1] + cos($la*M_PI/180)*($d+$margin);
$y = $labeldata[$i][2] - sin($la*M_PI/180)*($h+$margin);
if( $la > 180 && $la < 360 ) $y += $z;
if( $this->labeltype == 0 )
if( $sum > 0 )
$l = 100*$data[$i]/$sum;
else
$l = 0;
else
$l = $data[$i];
if( isset($this->labels[$i]) && is_string($this->labels[$i]) )
$l=sprintf($this->labels[$i],$l);
 
$this->StrokeLabels($l,$img,$labeldata[$i][0]*M_PI/180,$x,$y,$z);
$this->AddSliceToCSIM($i,$labeldata[$i][1],$labeldata[$i][2],$h*2,$d*2,$z,
$originalangles[$i][0],$originalangles[$i][1]);
}
}
 
//
// Finally add potential lines in pie
//
 
if( $edgecolor=="" || $aaoption !== 0 ) return;
 
$accsum = 0;
$a = $startangle;
$a = $this->NormAngle($a);
 
$a *= M_PI/180.0;
 
$idx=0;
$img->PushColor($edgecolor);
$img->SetLineWeight($edgeweight);
$fulledge = true;
for($i=0; $i < count($data) && $fulledge; ++$i ) {
if( empty($this->explode_radius[$i]) )
$this->explode_radius[$i]=0;
if( $this->explode_radius[$i] > 0 ) {
$fulledge = false;
}
}
 
for($i=0; $i < count($data); ++$i, ++$idx ) {
 
$da = $data[$i]/$sum * 2*M_PI;
$this->StrokeFullSliceFrame($img,$xc,$yc,$a,$a+$da,$d,$h,$z,$edgecolor,
$this->explode_radius[$i],$fulledge);
$a += $da;
}
$img->PopColor();
}
 
function StrokeFullSliceFrame($img,$xc,$yc,$sa,$ea,$w,$h,$z,$edgecolor,$exploderadius,$fulledge) {
$step = 0.02;
 
if( $exploderadius > 0 ) {
$la = ($sa+$ea)/2;
$xc += $exploderadius*cos($la);
$yc -= $exploderadius*sin($la) * ($h/$w) ;
}
 
$p = array($xc,$yc,$xc+$w*cos($sa),$yc-$h*sin($sa));
 
for($a=$sa; $a < $ea; $a += $step ) {
$p[] = $xc + $w*cos($a);
$p[] = $yc - $h*sin($a);
}
 
$p[] = $xc+$w*cos($ea);
$p[] = $yc-$h*sin($ea);
$p[] = $xc;
$p[] = $yc;
 
$img->SetColor($edgecolor);
$img->Polygon($p);
 
// Unfortunately we can't really draw the full edge around the whole of
// of the slice if any of the slices are exploded. The reason is that
// this algorithm is to simply. There are cases where the edges will
// "overwrite" other slices when they have been exploded.
// Doing the full, proper 3D hidden lines stiff is actually quite
// tricky. So for exploded pies we only draw the top edge. Not perfect
// but the "real" solution is much more complicated.
if( $fulledge && !( $sa > 0 && $sa < M_PI && $ea < M_PI) ) {
 
if($sa < M_PI && $ea > M_PI)
$sa = M_PI;
if($sa < 2*M_PI && (($ea >= 2*M_PI) || ($ea > 0 && $ea < $sa ) ) )
$ea = 2*M_PI;
 
if( $sa >= M_PI && $ea <= 2*M_PI ) {
$p = array($xc + $w*cos($sa),$yc - $h*sin($sa),
$xc + $w*cos($sa),$z + $yc - $h*sin($sa));
for($a=$sa+$step; $a < $ea; $a += $step ) {
$p[] = $xc + $w*cos($a);
$p[] = $z + $yc - $h*sin($a);
}
$p[] = $xc + $w*cos($ea);
$p[] = $z + $yc - $h*sin($ea);
$p[] = $xc + $w*cos($ea);
$p[] = $yc - $h*sin($ea);
$img->SetColor($edgecolor);
$img->Polygon($p);
}
}
}
 
function Stroke($img,$aaoption=0) {
 
// If user hasn't set the colors use the theme array
if( $this->setslicecolors==null ) {
$colors = array_keys($img->rgb->rgb_table);
sort($colors);
$idx_a=$this->themearr[$this->theme];
$ca = array();
$n = count($idx_a);
for($i=0; $i < $n; ++$i)
$ca[$i] = $colors[$idx_a[$i]];
}
else {
$ca = $this->setslicecolors;
}
 
if( $this->posx <= 1 && $this->posx > 0 )
$xc = round($this->posx*$img->width);
else
$xc = $this->posx ;
if( $this->posy <= 1 && $this->posy > 0 )
$yc = round($this->posy*$img->height);
else
$yc = $this->posy ;
if( $this->radius <= 1 ) {
$width = floor($this->radius*min($img->width,$img->height));
// Make sure that the pie doesn't overflow the image border
// The 0.9 factor is simply an extra margin to leave some space
// between the pie an the border of the image.
$width = min($width,min($xc*0.9,($yc*90/$this->angle-$width/4)*0.9));
}
else {
$width = $this->radius * ($aaoption === 1 ? 2 : 1 ) ;
}
 
// Add a sanity check for width
if( $width < 1 ) {
JpGraphError::Raise("Width for 3D Pie is 0. Specify a size > 0");
exit();
}
 
// Establish a thickness. By default the thickness is a fifth of the
// pie slice width (=pie radius) but since the perspective depends
// on the inclination angle we use some heuristics to make the edge
// slightly thicker the less the angle.
// Has user specified an absolute thickness? In that case use
// that instead
 
if( $this->iThickness ) {
$thick = $this->iThickness;
$thick *= ($aaoption === 1 ? 2 : 1 );
}
else
$thick = $width/12;
$a = $this->angle;
if( $a <= 30 ) $thick *= 1.6;
elseif( $a <= 40 ) $thick *= 1.4;
elseif( $a <= 50 ) $thick *= 1.2;
elseif( $a <= 60 ) $thick *= 1.0;
elseif( $a <= 70 ) $thick *= 0.8;
elseif( $a <= 80 ) $thick *= 0.7;
else $thick *= 0.6;
 
$thick = floor($thick);
 
if( $this->explode_all )
for($i=0;$i<count($this->data);++$i)
$this->explode_radius[$i]=$this->explode_r;
 
$this->Pie3D($aaoption,$img,$this->data, $ca, $xc, $yc, $width, $this->angle,
$thick, 0.65, $this->startangle, $this->edgecolor, $this->edgeweight);
 
// Adjust title position
if( $aaoption != 1 ) {
$this->title->Pos($xc,$yc-$this->title->GetFontHeight($img)-$width/2-$this->title->margin, "center","bottom");
$this->title->Stroke($img);
}
}
 
//---------------
// PRIVATE METHODS
 
// Position the labels of each slice
function StrokeLabels($label,$img,$a,$xp,$yp,$z) {
$this->value->halign="left";
$this->value->valign="top";
$this->value->margin=0;
 
// Position the axis title.
// dx, dy is the offset from the top left corner of the bounding box that sorrounds the text
// that intersects with the extension of the corresponding axis. The code looks a little
// bit messy but this is really the only way of having a reasonable position of the
// axis titles.
$img->SetFont($this->value->ff,$this->value->fs,$this->value->fsize);
$h=$img->GetTextHeight($label);
// For numeric values the format of the display value
// must be taken into account
if( is_numeric($label) ) {
if( $label > 0 )
$w=$img->GetTextWidth(sprintf($this->value->format,$label));
else
$w=$img->GetTextWidth(sprintf($this->value->negormat,$label));
}
else
$w=$img->GetTextWidth($label);
while( $a > 2*M_PI ) $a -= 2*M_PI;
if( $a>=7*M_PI/4 || $a <= M_PI/4 ) $dx=0;
if( $a>=M_PI/4 && $a <= 3*M_PI/4 ) $dx=($a-M_PI/4)*2/M_PI;
if( $a>=3*M_PI/4 && $a <= 5*M_PI/4 ) $dx=1;
if( $a>=5*M_PI/4 && $a <= 7*M_PI/4 ) $dx=(1-($a-M_PI*5/4)*2/M_PI);
if( $a>=7*M_PI/4 ) $dy=(($a-M_PI)-3*M_PI/4)*2/M_PI;
if( $a<=M_PI/4 ) $dy=(1-$a*2/M_PI);
if( $a>=M_PI/4 && $a <= 3*M_PI/4 ) $dy=1;
if( $a>=3*M_PI/4 && $a <= 5*M_PI/4 ) $dy=(1-($a-3*M_PI/4)*2/M_PI);
if( $a>=5*M_PI/4 && $a <= 7*M_PI/4 ) $dy=0;
$x = round($xp-$dx*$w);
$y = round($yp-$dy*$h);
 
/*
// Mark anchor point for debugging
$img->SetColor('red');
$img->Line($xp-10,$yp,$xp+10,$yp);
$img->Line($xp,$yp-10,$xp,$yp+10);
*/
 
$this->value->Stroke($img,$label,$x,$y);
}
} // Class
 
/* EOF */
?>
/trunk/api/fpdf/font/makefont/iso-8859-9.map
New file
0,0 → 1,256
!00 U+0000 .notdef
!01 U+0001 .notdef
!02 U+0002 .notdef
!03 U+0003 .notdef
!04 U+0004 .notdef
!05 U+0005 .notdef
!06 U+0006 .notdef
!07 U+0007 .notdef
!08 U+0008 .notdef
!09 U+0009 .notdef
!0A U+000A .notdef
!0B U+000B .notdef
!0C U+000C .notdef
!0D U+000D .notdef
!0E U+000E .notdef
!0F U+000F .notdef
!10 U+0010 .notdef
!11 U+0011 .notdef
!12 U+0012 .notdef
!13 U+0013 .notdef
!14 U+0014 .notdef
!15 U+0015 .notdef
!16 U+0016 .notdef
!17 U+0017 .notdef
!18 U+0018 .notdef
!19 U+0019 .notdef
!1A U+001A .notdef
!1B U+001B .notdef
!1C U+001C .notdef
!1D U+001D .notdef
!1E U+001E .notdef
!1F U+001F .notdef
!20 U+0020 space
!21 U+0021 exclam
!22 U+0022 quotedbl
!23 U+0023 numbersign
!24 U+0024 dollar
!25 U+0025 percent
!26 U+0026 ampersand
!27 U+0027 quotesingle
!28 U+0028 parenleft
!29 U+0029 parenright
!2A U+002A asterisk
!2B U+002B plus
!2C U+002C comma
!2D U+002D hyphen
!2E U+002E period
!2F U+002F slash
!30 U+0030 zero
!31 U+0031 one
!32 U+0032 two
!33 U+0033 three
!34 U+0034 four
!35 U+0035 five
!36 U+0036 six
!37 U+0037 seven
!38 U+0038 eight
!39 U+0039 nine
!3A U+003A colon
!3B U+003B semicolon
!3C U+003C less
!3D U+003D equal
!3E U+003E greater
!3F U+003F question
!40 U+0040 at
!41 U+0041 A
!42 U+0042 B
!43 U+0043 C
!44 U+0044 D
!45 U+0045 E
!46 U+0046 F
!47 U+0047 G
!48 U+0048 H
!49 U+0049 I
!4A U+004A J
!4B U+004B K
!4C U+004C L
!4D U+004D M
!4E U+004E N
!4F U+004F O
!50 U+0050 P
!51 U+0051 Q
!52 U+0052 R
!53 U+0053 S
!54 U+0054 T
!55 U+0055 U
!56 U+0056 V
!57 U+0057 W
!58 U+0058 X
!59 U+0059 Y
!5A U+005A Z
!5B U+005B bracketleft
!5C U+005C backslash
!5D U+005D bracketright
!5E U+005E asciicircum
!5F U+005F underscore
!60 U+0060 grave
!61 U+0061 a
!62 U+0062 b
!63 U+0063 c
!64 U+0064 d
!65 U+0065 e
!66 U+0066 f
!67 U+0067 g
!68 U+0068 h
!69 U+0069 i
!6A U+006A j
!6B U+006B k
!6C U+006C l
!6D U+006D m
!6E U+006E n
!6F U+006F o
!70 U+0070 p
!71 U+0071 q
!72 U+0072 r
!73 U+0073 s
!74 U+0074 t
!75 U+0075 u
!76 U+0076 v
!77 U+0077 w
!78 U+0078 x
!79 U+0079 y
!7A U+007A z
!7B U+007B braceleft
!7C U+007C bar
!7D U+007D braceright
!7E U+007E asciitilde
!7F U+007F .notdef
!80 U+0080 .notdef
!81 U+0081 .notdef
!82 U+0082 .notdef
!83 U+0083 .notdef
!84 U+0084 .notdef
!85 U+0085 .notdef
!86 U+0086 .notdef
!87 U+0087 .notdef
!88 U+0088 .notdef
!89 U+0089 .notdef
!8A U+008A .notdef
!8B U+008B .notdef
!8C U+008C .notdef
!8D U+008D .notdef
!8E U+008E .notdef
!8F U+008F .notdef
!90 U+0090 .notdef
!91 U+0091 .notdef
!92 U+0092 .notdef
!93 U+0093 .notdef
!94 U+0094 .notdef
!95 U+0095 .notdef
!96 U+0096 .notdef
!97 U+0097 .notdef
!98 U+0098 .notdef
!99 U+0099 .notdef
!9A U+009A .notdef
!9B U+009B .notdef
!9C U+009C .notdef
!9D U+009D .notdef
!9E U+009E .notdef
!9F U+009F .notdef
!A0 U+00A0 space
!A1 U+00A1 exclamdown
!A2 U+00A2 cent
!A3 U+00A3 sterling
!A4 U+00A4 currency
!A5 U+00A5 yen
!A6 U+00A6 brokenbar
!A7 U+00A7 section
!A8 U+00A8 dieresis
!A9 U+00A9 copyright
!AA U+00AA ordfeminine
!AB U+00AB guillemotleft
!AC U+00AC logicalnot
!AD U+00AD hyphen
!AE U+00AE registered
!AF U+00AF macron
!B0 U+00B0 degree
!B1 U+00B1 plusminus
!B2 U+00B2 twosuperior
!B3 U+00B3 threesuperior
!B4 U+00B4 acute
!B5 U+00B5 mu
!B6 U+00B6 paragraph
!B7 U+00B7 periodcentered
!B8 U+00B8 cedilla
!B9 U+00B9 onesuperior
!BA U+00BA ordmasculine
!BB U+00BB guillemotright
!BC U+00BC onequarter
!BD U+00BD onehalf
!BE U+00BE threequarters
!BF U+00BF questiondown
!C0 U+00C0 Agrave
!C1 U+00C1 Aacute
!C2 U+00C2 Acircumflex
!C3 U+00C3 Atilde
!C4 U+00C4 Adieresis
!C5 U+00C5 Aring
!C6 U+00C6 AE
!C7 U+00C7 Ccedilla
!C8 U+00C8 Egrave
!C9 U+00C9 Eacute
!CA U+00CA Ecircumflex
!CB U+00CB Edieresis
!CC U+00CC Igrave
!CD U+00CD Iacute
!CE U+00CE Icircumflex
!CF U+00CF Idieresis
!D0 U+011E Gbreve
!D1 U+00D1 Ntilde
!D2 U+00D2 Ograve
!D3 U+00D3 Oacute
!D4 U+00D4 Ocircumflex
!D5 U+00D5 Otilde
!D6 U+00D6 Odieresis
!D7 U+00D7 multiply
!D8 U+00D8 Oslash
!D9 U+00D9 Ugrave
!DA U+00DA Uacute
!DB U+00DB Ucircumflex
!DC U+00DC Udieresis
!DD U+0130 Idotaccent
!DE U+015E Scedilla
!DF U+00DF germandbls
!E0 U+00E0 agrave
!E1 U+00E1 aacute
!E2 U+00E2 acircumflex
!E3 U+00E3 atilde
!E4 U+00E4 adieresis
!E5 U+00E5 aring
!E6 U+00E6 ae
!E7 U+00E7 ccedilla
!E8 U+00E8 egrave
!E9 U+00E9 eacute
!EA U+00EA ecircumflex
!EB U+00EB edieresis
!EC U+00EC igrave
!ED U+00ED iacute
!EE U+00EE icircumflex
!EF U+00EF idieresis
!F0 U+011F gbreve
!F1 U+00F1 ntilde
!F2 U+00F2 ograve
!F3 U+00F3 oacute
!F4 U+00F4 ocircumflex
!F5 U+00F5 otilde
!F6 U+00F6 odieresis
!F7 U+00F7 divide
!F8 U+00F8 oslash
!F9 U+00F9 ugrave
!FA U+00FA uacute
!FB U+00FB ucircumflex
!FC U+00FC udieresis
!FD U+0131 dotlessi
!FE U+015F scedilla
!FF U+00FF ydieresis
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/api/fragmenteur/FRAG_Fragmenteur_Session.class.php
New file
0,0 → 1,425
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: FRAG_Fragmenteur_Session.class.php,v 1.10 2005/03/08 11:25:48 jpm Exp $
/**
* API : fragmenteur utilisant les sessions.
*
* Cette librairie contient la classe fragmenteur qui permet de créer
* une série de chiffres pour naviguer de page en page lorsque le
* résultat d'une recherche est trop long.
* Cette extension du fragmenteur utilise les sessions.
*
*@package API
*@subpackage Framenteur
//Auteur original :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Jean-Pascal MILCENT <jpm@clapas.org>
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.10 $ $Date: 2005/03/08 11:25:48 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/** Inclusion de la classe Fragmenteur principale. */
include_once 'FRAG_Fragmenteur.class.php';
 
// +------------------------------------------------------------------------------------------------------+
// | CLASSES |
// +------------------------------------------------------------------------------------------------------+
 
/**
* Classe pour séparer un résultat en plusieurs page.
*
* Basé sur la classe fragmenteur mais utilise les variables
* de session.
*
* @author Alexandre Granier <alexandre@tela-botanica.org>
*/
class fragmenteur_session
{
/**
* Contient le séparateur des chiffres
*
* @var string
* @access private
*/
var $separator;
var $nb_pages;
var $curr_page;
/**
* nombre maximum de numéros de pages qui doivent être affichées
*
* @var integer
* @access private
*/
var $max_fg_pages;
/**
* groupe courant de nombre de pages
* par défaut 10
*
* @var integer
* @access private
*/
var $curr_grp;
/**
* nbre de groupes total
*
* @var integer
* @access private
*/
var $nb_grp;
/**
*L'url de départ
*
* @var string
* @access private
*/
var $url ;
/**
*Le tableau des variables de l'url et des formulaire
*
* @var array
* @access private
*/
var $_variables ;
/**
*Le nombre de résultat par page
*
* @var integer
* @access private
*/
var $_pas ;
/**
*Le début de l'ensemble de résultat
*
* @var integer
* @access private
*/
var $_debut ;
/**
*Le nombre total de résultat
*
* @var integer
* @access private
*/
var $_nb_total ;
function fragmenteur_session ($caractere = ' - ', $nombre_p = 10)
{
// On va utiliser toutes les variables de l'url et des formulaires disponibles
global $HTTP_POST_VARS, $_GET, $HTTP_GET_VARS, $GS_GLOBAL ;
$this->_variables = array_merge($HTTP_GET_VARS, $HTTP_POST_VARS, $_GET) ;
// On récupère toutes les variables de sessions
if (!isset($_SESSION['fragment'])) {
// Il n'y a pas de variable de session, on en crée une et on y met $this->_variables
$_SESSION['fragment'] = $this->_variables;
} else {
// On récupère la variable et on l'affecte à $this->_variables
// en laissant cependant les valeurs existant déjà dans $this->_variables
// mise à jour de la variable de session
$tableau_temp = $_SESSION['fragment'];
foreach ($tableau_temp as $key=>$value) {
if (!isset ($this->_variables[$key]) || ($this->_variables[$key] == '')) {
if (!isset($HTTP_POST_VARS[$key])) {
$this->_variables[$key] = $tableau_temp[$key] ;
} else {
$this->_variables[$key] = '';
}
}
}
$_SESSION['fragment'] = $this->_variables;
}
$this->separator = $caractere;
$this->max_fg_pages = $nombre_p;
// on initialise $this->_debut avec soit 0, soit la valeur de $this->_variables['debut']
if (isset($this->_variables['debut']) && $this->_variables['debut'] != '') {
$this->_debut = $this->_variables['debut'] ;
} else {
$this->_debut = 0;
}
// on initialise $this->_pas avec soit 20, soit la valeur de $this->_variables['T_REPONSE']
if (isset ($this->_variables['T_REPONSE']) && $this->_variables['T_REPONSE'] != '') {
$this->_pas = $this->_variables['T_REPONSE'];
} else {
$this->_pas = 20;
}
}
/**
* fragmente() - Méthode qui fragmente des résultats.
*
* Permet de fragmenter des résultats.
* Le tableau des données à passer en paramêtre doit contenir a minima :
* - $tableau['pstart'] : valeur du début de la page
* - $tableau['step'] : valeur du pas (nombre d'items par pages)
* - $tableau['pend']
* Pour faire figurer des images sur les liens suivant, précédent, début et fin utiliser
* des css.
*
* @access public
* @param array Tableau qui contient les variables du fragmenteur.
* @param int Le nombre de résultat total.
* @return string Le xhtml permettant de naviguer dans les résultats.
*/
function fragmente($nbr_total)
{
$startPrev = $startNext = $this->_debut;
// Initialisation des variables
$var_fragmenteur = '';
$this->_nb_total = $nbr_total ;
$how_bloc = $this->_pas ;
$how_pages = ceil($nbr_total / $how_bloc);
$this->curr_page = ceil(($this->_debut / $how_bloc))+1;
$this->nb_pages = $how_pages;
$this->nb_grp = ceil(($this->nb_pages)/($this->max_fg_pages));
$this->curr_grp = floor(($this->_debut + ($this->max_fg_pages * $this->_pas))/(($this->max_fg_pages)*$this->_pas))-1;
// 1- Altération des données de tmpTab pour passer les paramètres de saut de page
// 1-a- tmpTab de la page précédente
if ($startPrev > 0) $startPrev = $startPrev - $this->_pas ;
// 1-b- tmpTab de la page suivante
$startNext = $startNext + $this->_pas;
// Bouton pour groupes de pages précédent
if ((($this->nb_pages) > ($this->max_fg_pages))&&(($this->curr_page) > ($this->max_fg_pages))) {
$pstart = ((($this->curr_grp)-1)*($this->max_fg_pages)*$this->_pas);
$txt_depart = (($this->max_fg_pages)*$this->_pas).' données précédentes';
$var_fragmenteur .= '<a class="frag_depart" href="'.$this->url.'&amp;debut='.$pstart.'" title="'.$txt_depart.'" >'.
'<span>'.$txt_depart.'</span>'.
'</a>'."\n";
}
// Bouton pour resultats précédent
if ($this->_debut > 0) {
$pstart = $startPrev;
$txt_precedent = $this->_pas.' données précédentes';
$var_fragmenteur .= '<a class="frag_precedent" href="'.$this->url.'&amp;debut='.$pstart.'" title="'.$txt_precedent.'" >'.
'<span>'.$txt_precedent.'</span>'.
'</a>'."\n";
}
// Fragmentation en page
$tmp_i = 1 + $this->curr_grp * $this->max_fg_pages ;
$j = 1;
while (($tmp_i <= $how_pages) && ($tmp_i <= (($this->max_fg_pages) * (($this->curr_grp) + 1))) && $how_pages != 1) {
if ($this->curr_page == $tmp_i) {
$var_fragmenteur .= '<span class="frag_page_courante">'.$tmp_i.'</span>'."\n";
} else {
$tmp_go = ($tmp_i - 1) * $how_bloc;
$pstart = $tmp_go ;
$var_fragmenteur .= '<a class="frag_page_autre" href="'.$this->url.'&amp;debut='.$pstart.'">'.
'<span>'.$tmp_i.'</span>'.
'</a>'."\n";
}
if (($tmp_i < $how_pages) && ($j<($this->max_fg_pages))) {
$var_fragmenteur .= '<span class="frag_separateur">'.$this->separator.'</span>'."\n";
}
$tmp_i++;
$j++;
}
// Bouton pour resultats suivant
if ($this->_debut + $this->_pas < $nbr_total) {
$pstart = $startNext ;
$var_fragmenteur .= '&nbsp;';
$txt_suivant = $this->_pas.' données suivantes';
$var_fragmenteur .= '<a class="frag_suivant" href="'.$this->url.'&amp;debut='.$pstart.'" title="'.$txt_suivant.'" >'.
'<span>'.$txt_suivant.'</span>'.
'</a>'."\n";
}
// Bouton pour groupes de pages suivants
if ((($this->nb_grp)>1)&&(($this->curr_grp)<(($this->nb_grp)-1))) {
$pstart = ((($this->curr_grp)+1)*($this->max_fg_pages)*$this->_pas) ;
$txt_fin = (($this->max_fg_pages)*$this->_pas).' données suivantes';
$var_fragmenteur .= '<a class="frag_fin" href="'.$this->url.'&amp;debut='.$pstart.'" title="'.$txt_fin.'" >'.
'<span>'.$txt_fin.'</span>'.
'</a>'."\n";
}
if ($var_fragmenteur == '') {
$var_fragmenteur = '&nbsp;';
}
return $var_fragmenteur;
}
/**
* Méthode setURL() -
*
* @access public
* @param url Chaine qui contient l'url de départ
*/
function setURL($url)
{
$this->url = $url;
}
/** getVariable() Renvoie la valeur d'une variable de l'url ou d'un formulaire
*
* @access public
* @param string Nom de la variable
* @return mixed La valeur de la variable ou la chaine vide
*/
function getVariable ($cle)
{
if (isset($this->_variables[$cle])) {
return $this->_variables[$cle];
} else {
return '';
}
}
/** setVariable() Affecte une valeur à une variable
*
* @param string clé
* @param string valeur
* @return void
*/
function setVariable ($cle, $valeur)
{
$tableau = $_SESSION['fragment'];
$tableau[$cle] = $valeur ;
$_SESSION['fragment'] = $tableau;
}
/** fixerLePas() Permet d'indiquer le nombre de résultat souhaité par page
*
* @param int le pas
* @return void
*/
function fixerLePas ($pas)
{
$this->_pas = $pas;
}
/** lireLePas() Permet d'obtenir le nombre de résultat souhaité par page
*
* @return integer le pas
*/
function lireLePas ()
{
return $this->_pas;
}
/** lireLeDebut() Permet d'obtenir le nombre du début du résultat
*
* @return integer le début
*/
function lireLeDebut ()
{
return $this->_debut;
}
/** fixerLeDebut() Permet d'indiquer le nombre du début du résultat
*
* @return integer le début
*/
function fixerLeDebut ($debut)
{
$this->_debut = $debut;
}
/** affNbRes() Affiche le nombre de résultat
*
* Permet de créer un petit texte uniforme du type "il y a x resultats sur y"...
* Possibilité de paramétrer un "modèle" pour afficher selon différentes mises
* en forme.
*
* @access public
* @param int nombre d'items trouvés par la requête
* @return string une phrase en HTML
*/
function affNbRes($nombre_total)
{
$this->_nb_total = $nombre_total ;
// init de $var_affiche
$var_affiche = '';
if ($this->_nb_total > 1) {
$pluriel_loc = 's';
} else {
$pluriel_loc = '';
}
if ($this->_nb_total > 1) {
$pluriel_tot = 's';
} else {
$pluriel_tot = '';
}
if ($this->_nb_total > 0) {
$add_from = $this->_debut + 1;
$tmp_num = $this->_debut + $this->_pas ;
if ($tmp_num < $this->_nb_total) {
$add_to = "$tmp_num";
} else {
$add_to = $this->_nb_total ;
}
}
$var_affiche .= '<b>'.$this->_nb_total.'</b>'.' résultat'.$pluriel_loc."\n";
if ($this->_nb_total > 0) {
$var_affiche .= ' Affichage des données <b>'.$add_from.'</b> à <b>'.$add_to.'</b>.'."\n";
}
return $var_affiche;
}
}//Fin classe.
 
/* +--Fin du code ---------------------------------------------------------------------------------------+
*
* $Log: FRAG_Fragmenteur_Session.class.php,v $
* Revision 1.10 2005/03/08 11:25:48 jpm
* Remplacement d'id en class car le fragmenteur peut être afficher plusieurs fois dans la même page XHTML.
*
* Revision 1.9 2005/03/03 08:40:48 jpm
* Correction de gestion des guillemets.
*
* Revision 1.8 2005/02/28 15:42:15 jpm
* Initialisation d'une variable de session.
*
* Revision 1.7 2005/02/24 18:32:08 jpm
* Correction : changement d'un id en class.
*
* Revision 1.6 2005/02/24 17:16:10 jpm
* Modif des noms des id.
*
* Revision 1.5 2005/02/23 17:28:35 jpm
* Suppression d'image dans le fragmenteur et remplacement par des styles css.
* Amélioration du code html.
*
* Revision 1.4 2005/02/22 19:32:45 jpm
* Initialisation de variables.
*
* Revision 1.3 2005/02/22 16:21:28 jpm
* Mise à jour : utilisation des session, mise en forme et suppression d'appel de fichiers inutiles.
*
* Revision 1.2 2004/09/11 19:12:38 jpm
* Début mise en forme.
*
*
* +--Fin du code ----------------------------------------------------------------------------------------+
*/
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/actu/dist/rubrique.html
New file
0,0 → 1,225
<BOUCLE_rubrique_principal(RUBRIQUES) {id_rubrique}
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="#LANG_DIR" lang="#LANG">
<head>
<title>[(#TITRE|textebrut)]</title>
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
 
<!-- Ceci est la feuille de style par defaut pour les types internes a SPIP -->
<link rel="stylesheet" href="spip_style.css" type="text/css" />
 
<!-- Les feuilles de style specifiques aux presents squelettes -->
<link rel="stylesheet" href="#DOSSIER_SQUELETTE/typographie.css" type="text/css" />
 
<!-- media="..." permet de ne pas utiliser ce style sous Netscape 4 (sinon plantage) -->
<link rel="stylesheet" href="#DOSSIER_SQUELETTE/habillage.css" type="text/css" media="projection, screen, tv" />
<!-- media="print" permet d'utiliser cette feuille de style quand vous imprimez depuis votre navigateur -->
<link rel="stylesheet" href="#DOSSIER_SQUELETTE/impression.css" type="text/css" media="print" />
 
<!-- Lien vers le backend pour navigateurs eclaires -->
<link rel="alternate" type="application/rss+xml" title="<:syndiquer_rubrique:>" href="backend.php3?id_rubrique=#ID_RUBRIQUE" />
</head>
 
<body>
 
<div id="navigation">
 
<h1 class="structure"><:navigation:></h1>
 
<!-- Menu de navigation general -->
 
<div class="menu">
<ul class="general">
<li class="menu-titre">
[<a href="(#URL_SITE_SPIP)" title="<:accueil_site:>"><b>#NOM_SITE_SPIP</b></a>]
</li>
<li class="menu-item">
<a href="plan.php3"><:plan_site:></a>
</li>
<li class="menu-item">
<a href="resume.php3" title="<:articles_populaires:>"><:en_resume:></a>
</li>
<li class="menu-item">
<a href="ecrire/"><:espace_prive:></a>
</li>
</ul>
</div>
 
 
<!-- Formulaire de recherche -->
 
[(#FORMULAIRE_RECHERCHE)]
 
 
<!-- Menu de navigation rubriques -->
 
<div class="menu">
<ol class="rubriques" title="<:hierarchie_site:>">
<BOUCLE_hierarchie(HIERARCHIE) {id_rubrique} {tout}>
<li>
<div class="menu-titre"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></div>
<B_rubriques_soeurs>
<ul class="menu-liste">
<BOUCLE_rubriques_soeurs(RUBRIQUES) {meme_parent} {exclus} {par titre}>
<li class="menu-item"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></li>
</BOUCLE_rubriques_soeurs>
</ul>
</B_rubriques_soeurs>
</li>
</BOUCLE_hierarchie>
</ol>
</div>
 
 
<!-- Breves dans la rubrique -->
 
<B_breves_rubrique>
 
<div class="menu">
<div class="breves" title="<:dernieres_breves:>">
<div class="menu-titre">
<:breves:>
</div>
<ul>
<BOUCLE_breves_rubrique(BREVES) {id_secteur} {par date} {inverse} {0,5}>
<li class="menu-item">
<i>[(#DATE|affdate_court)]</i>:
<a href="#URL_BREVE">#TITRE</a>
</li>
</BOUCLE_breves_rubrique>
</ul>
</div>
</div>
 
</B_breves_rubrique>
 
 
</div>
 
 
<!-- Une : contenu de la rubrique -->
 
<div class="contenu" id="principal">
 
<div class="cartouche">
[(#LOGO_RUBRIQUE|left)]
<h1 class="titre-texte">#TITRE</h1>
[<:dernier_ajout:> : (#DATE|nom_jour)] [(#DATE|affdate).]
</div>
 
<div class="encart">
 
<!-- Menu de navigation mots-cles -->
 
<B_mots>
<h2 class="structure"><:mots_clefs:></h2>
 
<div class="menu">
<ul class="divers" title="<:mots_clefs:>">
<BOUCLE_mots(MOTS) {id_rubrique} {par titre}>
<li>
<div class="menu-titre"><a href="#URL_MOT" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></div>
<B_rubriques_mots>
<ul class="menu-liste">
<BOUCLE_rubriques_mots(RUBRIQUES) {id_mot} {par hasard} {0,4}>
<li class="menu-item"><a href="#URL_RUBRIQUE" title="[(#DESCRIPTIF|textebrut|entites_html)]">#TITRE</a></li>
</BOUCLE_rubriques_mots>
</ul>
</B_rubriques_mots>
</li>
</BOUCLE_mots>
</ul>
</div>
</B_mots>
 
<!-- Sous-rubriques -->
 
<B_sous_rubriques>
<h2 class="structure"><:sous_rubriques:></h2>
 
<div class="menu">
<ul class="rubriques" title="<:sous_rubriques:>">
<BOUCLE_sous_rubriques(RUBRIQUES) {id_parent} {par titre}>
<li>
<div class="menu-titre"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></div>
<B_sous_sous_rubriques>
<ul class="menu-liste">
<BOUCLE_sous_sous_rubriques(RUBRIQUES) {id_parent} {par titre}>
<li class="menu-item"><a href="#URL_RUBRIQUE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></li>
</BOUCLE_sous_sous_rubriques>
</ul>
</B_sous_sous_rubriques>
</li>
</BOUCLE_sous_rubriques>
</ul>
</div>
</B_sous_rubriques>
<!-- Sites syndiques -->
<B_sites>
<div class="menu">
<div class="divers">
<div class="menu-titre">
<:sur_web:>
</div>
<ul>
<BOUCLE_sites(SITES) {id_rubrique} {par nom_site}>
<li class="menu-item">
<a href="#URL_SITE">#NOM_SITE</a>
<B_syndic>
<ul class="menu-liste">
<BOUCLE_syndic(SYNDIC_ARTICLES) {id_syndic} {par date} {inverse} {0,3}>
<li class="menu-item"><small><a href="#URL_ARTICLE">#TITRE</a></small></li>
</BOUCLE_syndic>
</ul>
</B_syndic>
</li>
</BOUCLE_sites>
</ul>
</div>
</div>
</B_sites>
[
<div class="menu">
<div class="divers">
<div class="menu-titre"><:proposer_site:>
<div class='reponse_formulaire'>(#FORMULAIRE_SITE)</div>
</div>
</div>
</div>
]
</div>
 
[<div class="chapo">(#TEXTE)</div>]
[<div class="notes">(#NOTES)</div>]
 
<BOUCLE_documents_joints(DOCUMENTS) {id_rubrique} {mode=document} {doublons} {"<br />"}>
[(#LOGO_DOCUMENT|#URL_DOCUMENT)][<br />(#TITRE)][ - (#DESCRIPTIF)]
</BOUCLE_documents_joints>
<br />
 
<!-- Articles de la rubrique -->
 
<h1 class="structure"><:articles_rubrique:></h1>
 
<div class="liste-articles">
 
<BOUCLE_articles_recents(ARTICLES) {id_rubrique} {par titre}>
<h2><a href="#URL_ARTICLE" [title="(#DESCRIPTIF|textebrut|entites_html)"]>#TITRE</a></h2>
<div class="detail">
[(#DATE|nom_jour)] [(#DATE|affdate)]
<B_auteurs_recents><:par_auteur:> <BOUCLE_auteurs_recents(AUTEURS) {id_article} {", "}>#NOM</BOUCLE_auteurs_recents>
</div>
<br />
</BOUCLE_articles_recents>
 
 
</div>
 
 
</div>
 
</body>
</html>
</BOUCLE_rubrique_principal>
/trunk/actu/dist/distrib.html
New file
0,0 → 1,7
document.write('<table border="0" bgcolor="#000000" cellspacing="0" cellpadding="0"><tr><td>');
document.write('<table border="0" bgcolor="#ffffff" cellspacing="1" cellpadding="2"><tr><td bgcolor="#d0d0d0" align="center">');
document.write('<a href="#URL_SITE_SPIP/"><b>[(#NOM_SITE_SPIP|addslashes)]</b></a>&nbsp;</td></tr><tr><td><ul><small>');
<BOUCLE_articles(articles){tout}{par date}{inverse}{0,10}>
document.write('<li><a href="#URL_SITE_SPIP/#URL_ARTICLE"><font color="#000000">[(#TITRE|addslashes)]</font></a></li>\n');
</BOUCLE_articles>
document.write('</small></ul></td></tr></table></td></tr></table>');
/trunk/actu/dist/ical.html
New file
0,0 → 1,29
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
X-WR-CALNAME;VALUE=TEXT:[(#NOM_SITE_SPIP|filtrer_ical)]
X-WR-RELCALID:[(#URL_SITE_SPIP|filtrer_ical)]
<BOUCLE_articles(ARTICLES){par date}{inverse}{0,100}>
BEGIN:VEVENT
SUMMARY:[(#TITRE|filtrer_ical)] [[(#NOM_SITE_SPIP|filtrer_ical)]]
UID:article#ID_ARTICLE @ [(#URL_SITE_SPIP|filtrer_ical)]
DTSTAMP:[(#DATE|date_ical)]
DTSTART:[(#DATE|date_ical)]
DTEND:[(#DATE|date_ical{60})]
CATEGORIES:<:articles|filtrer_ical:>
URL:#URL_SITE_SPIP/#URL_ARTICLE
STATUS:CONFIRMED
END:VEVENT
</BOUCLE_articles>
<BOUCLE_breves(BREVES){par date}{inverse}{0,100}>
BEGIN:VEVENT
SUMMARY:[(#TITRE|filtrer_ical)] [[(#NOM_SITE_SPIP|filtrer_ical)]]
UID:breve#ID_BREVE @ [(#URL_SITE_SPIP|filtrer_ical)]
DTSTAMP:[(#DATE|date_ical)]
DTSTART:[(#DATE|date_ical)]
DTEND:[(#DATE|date_ical{60})]
CATEGORIES:<:breves|filtrer_ical:>
URL:#URL_SITE_SPIP/#URL_BREVE
STATUS:CONFIRMED
END:VEVENT
</BOUCLE_breves>
END:VCALENDAR
/trunk/actu/dist/login.html
New file
0,0 → 1,42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="#LANG_DIR" lang="#LANG">
<head>
<title><:login_acces_prive:></title>
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
<link rel="stylesheet" href="spip_style.css" type="text/css" />
<link rel="stylesheet" href="#DOSSIER_SQUELETTE/typographie.css" type="text/css" />
</head>
<body>
 
<div style='text-align: center; margin: auto; width: 400px'>
<br /><br /><br />
<table width="100%"><tr><td>
<div style="float: center">
<h3 class="spip">#NOM_SITE_SPIP<br />
<small><:login_acces_prive:></small>
</h3>
<div style="text-align: #LANG_RIGHT">#MENU_LANG_ECRIRE</div>
</div>
 
#LOGIN_PRIVE
 
<div style='text-align: center;font-family: Verdana,arial,helvetica,sans-serif; font-size: 12px;'>
 
[&#91;<a style='color: #e86519'
href='spip_inscription.php3?mode=(#URL_SITE_SPIP|tester_config{mode_inscription})&amp;focus=nom_inscription'
target="spip_pass"
onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=500'); return false;"><:login_sinscrire:></a>&#93;]
 
&#91;<a style='color: #e86519'
href="spip_pass.php3"
target="spip_pass"
onclick="javascript:window.open(this.href, 'spip_pass', 'scrollbars=yes, resizable=yes, width=480, height=280'); return false;"><:login_motpasseoublie:></a>&#93;
 
&#91;<a style='color: #e86519' href="#URL_SITE_SPIP/"><:login_retoursitepublic:></a>&#93;
 
</div>
 
</td></tr></table></div>
 
</body>
</html>
/trunk/actu/resume.php3
New file
0,0 → 1,7
<?php
$fond = "resume";
$delais = 2 * 3600;
 
include ("inc-public.php3");
 
?>
/trunk/actu/ecrire/breves.php3
New file
0,0 → 1,72
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include ("inc.php3");
 
if ($statut AND $connect_statut == "0minirezo") {
$query="UPDATE spip_breves SET date_heure=NOW(), statut='$statut' WHERE id_breve=$id_breve";
$result=spip_query($query);
calculer_rubriques();
redirige_par_entete("breves.php3");
}
 
 
 
debut_page(_T('titre_page_breves'), "documents", "breves");
debut_gauche();
 
echo "<P align=left>";
debut_droite();
 
 
 
function enfant($leparent){
global $spip_lang_left, $spip_lang_right;
 
$query="SELECT * FROM spip_rubriques WHERE id_parent='$leparent' ORDER BY 0+titre, titre";
$result=spip_query($query);
 
while($row=spip_fetch_array($result)){
$id_rubrique=$row['id_rubrique'];
$id_parent=$row['id_parent'];
$titre=typo($row['titre']);
$descriptif=$row['descriptif'];
$texte=$row['texte'];
 
debut_cadre_enfonce("secteur-24.gif", false, '', $titre.aide ("breves"));
 
if ($GLOBALS['connect_statut'] == "0minirezo") $statuts = "'prop', 'refuse', 'publie'";
else $statuts = "'prop', 'publie'";
 
$query = "SELECT id_breve, date_heure, titre, statut FROM spip_breves ".
"WHERE id_rubrique='$id_rubrique' AND statut IN ($statuts) ORDER BY date_heure DESC";
afficher_breves('', $query);
echo "<div align='$spip_lang_right'>";
icone(_T('icone_nouvelle_breve'), "breves_edit.php3?new=oui&id_rubrique=$id_rubrique", "breve-24.gif", "creer.gif");
echo "</div>";
 
fin_cadre_enfonce();
 
}
}
 
 
 
enfant(0);
 
 
fin_page();
 
?>
 
/trunk/actu/ecrire/recherche.php3
New file
0,0 → 1,130
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include ("inc.php3");
include_ecrire ("inc_mots.php3");
include_ecrire ("inc_sites.php3");
 
$recherche = addslashes(entites_html($recherche));
 
 
debut_page(_T('titre_page_recherche', array('recherche' => $recherche)));
 
debut_gauche();
 
$recherche_aff = _T('info_rechercher');
$onfocus = "onfocus=this.value='';";
echo "<form method='get' style='margin: 0px;' action='recherche.php3'>";
echo '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="spip_recherche" accesskey="r" '.$onfocus.'>';
echo "</form>";
 
 
 
debut_droite();
 
if (strlen($recherche) > 0) {
 
echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'><B>"._T('info_resultat_recherche')."</B><BR>";
echo "<FONT SIZE=5 COLOR='$couleur_foncee'><B>$recherche</B></FONT><p>";
 
$query_articles = "SELECT * FROM spip_articles WHERE";
$query_breves = "SELECT * FROM spip_breves WHERE ";
$query_rubriques = "SELECT * FROM spip_rubriques WHERE ";
$query_sites = "SELECT * FROM spip_syndic WHERE ";
if (ereg("^[0-9]+$", $recherche)) {
$query_articles .= " (id_article = $recherche) OR ";
$query_breves .= " (id_breve = $recherche) OR ";
$query_rubriques .= " (id_rubrique = $recherche) OR ";
$query_sites .= " (id_syndic = $recherche) OR ";
}
// Eviter les symboles '%', caracteres SQL speciaux
$recherche = str_replace("%","\%",$recherche);
$rech2 = split("[[:space:]]+", $recherche);
if ($rech2)
$where = " (titre LIKE '%".join("%' AND titre LIKE '%", $rech2)."%') ";
else
$where = " 1=2";
$query_articles .= " $where ORDER BY date_modif DESC";
$query_breves .= " $where ORDER BY maj DESC";
$query_rubriques .= " $where ORDER BY maj DESC";
$query_sites .= " $where ORDER BY maj DESC";
$query_sites = ereg_replace("titre LIKE", "nom_site LIKE", $query_sites);
$activer_moteur = (lire_meta('activer_moteur') == 'oui');
if ($activer_moteur) { // texte integral
include_ecrire ('inc_index.php3');
list($hash_recherche,) = requete_hash ($recherche);
$query_articles_int = requete_txt_integral('article', $hash_recherche);
$query_breves_int = requete_txt_integral('breve', $hash_recherche);
$query_rubriques_int = requete_txt_integral('rubrique', $hash_recherche);
$query_sites_int = requete_txt_integral('syndic', $hash_recherche);
$query_auteurs_int = requete_txt_integral('auteur', $hash_recherche);
}
if ($query_articles)
$nba = afficher_articles (_T('info_articles_trouves'), $query_articles);
if ($activer_moteur) {
if ($nba) {
$doublons = join($nba, ",");
$query_articles_int = ereg_replace ("WHERE", "WHERE objet.id_article NOT IN ($doublons) AND", $query_articles_int);
}
$nba1 = afficher_articles (_T('info_articles_trouves_dans_texte'), $query_articles_int);
}
if ($query_breves)
$nbb = afficher_breves (_T('info_breves_touvees'), $query_breves, true);
if ($activer_moteur) {
if ($nbb) {
$doublons = join($nbb, ",");
$query_breves_int = ereg_replace ("WHERE", "WHERE objet.id_breve NOT IN ($doublons) AND", $query_breves_int);
}
$nbb1 = afficher_breves (_T('info_breves_touvees_dans_texte'), $query_breves_int, true);
}
if ($query_rubriques)
$nbr = afficher_rubriques (_T('info_rubriques_trouvees'), $query_rubriques);
if ($activer_moteur) {
if ($nbr) {
$doublons = join($nbr, ",");
$query_rubriques_int = ereg_replace ("WHERE", "WHERE objet.id_rubrique NOT IN ($doublons) AND", $query_rubriques_int);
}
$nbr1 = afficher_rubriques (_T('info_rubriques_trouvees_dans_texte'), $query_rubriques_int);
}
if ($activer_moteur)
$nbt = afficher_auteurs (_T('info_auteurs_trouves'), $query_auteurs_int);
if ($query_sites)
$nbs = afficher_sites (_T('info_sites_trouves'), $query_sites);
if ($activer_moteur) {
if ($nbs) {
$doublons = join($nbs, ",");
$query_sites_int = ereg_replace ("WHERE", "WHERE objet.id_syndic NOT IN ($doublons) AND", $query_sites_int);
}
$nbs1 = afficher_sites (_T('info_sites_trouves_dans_texte'), $query_sites_int);
}
if (!$nba AND !$nba1 AND !$nbb AND !$nbb1 AND !$nbr AND !$nbr1 AND !$nbt AND !$nbs AND !$nbs1) {
echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>"._T('avis_aucun_resultat')."</FONT><P>";
}
}
 
echo "<p>";
 
fin_page();
 
?>
/trunk/actu/ecrire/spip_style.php3
New file
0,0 → 1,1405
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include("inc_version.php3");
 
// En-tetes
 
if (http_last_modified(@filemtime("spip_style.php3"), time() + 24 * 3600))
exit;
 
// mettre absolument le charset :
// Apache-AdvancedExtranetServer & FireFox s'entendent mal sinon
@Header ("Content-Type: text/css; charset=iso-8859-1");
 
// parano XSS
eregi("^([#0-9a-z]*).*-([#0-9a-z]*).*-([0-9a-z]*).*", "$couleur_claire-$couleur_foncee-$left", $regs);
list (,$couleur_claire,$couleur_foncee,$left) = $regs;
 
// Sommes-nous en rtl ou ltr ?
$ltr = ($left == 'left');
if ($ltr) {
$left = 'left';
$right = 'right';
$_rtl = '';
} else {
$left = 'right';
$right = 'left';
$_rtl = '_rtl';
}
 
// Envoyer la feuille de style
if (!isset($couleur_claire))
$couleur_claire = "#EDF3FE";
if (!isset($couleur_foncee))
$couleur_foncee = "#3874B0";
 
function http_img_pack($f) { return _DIR_IMG_PACK . $f; }
?>
 
/*
* Police par defaut (bof...)
*/
body {
font-family: Verdana,Arial,Sans,sans-serif;
border: 0px;
scrollbar-face-color: white;
scrollbar-shadow-color: white;
scrollbar-highlight-color: white;
scrollbar-3dlight-color: <?php echo $couleur_claire; ?>;
scrollbar-darkshadow-color: white;
scrollbar-track-color: <?php echo $couleur_foncee; ?>;
scrollbar-arrow-color: <?php echo $couleur_foncee; ?>;
}
td {
text-align: <?php echo $left; ?>;
}
/*
* Formulaires
*/
.forml {
width: 100%;
display: block;
padding: 3px;
background-color: #e4e4e4;
border: 1px solid <?php echo $couleur_claire; ?>;
background-position: center bottom;
float: none;
behavior: url("win_width.htc");
}
.formo {
width: 100%;
display: block;
padding: 3px;
background-color: white;
border: 1px solid <?php echo $couleur_claire; ?>;
background-position: center bottom; float: none;
behavior: url("win_width.htc");
}
.fondl {
padding: 3px;
background-color: #e4e4e4;
border: 1px solid <?php echo $couleur_claire; ?>;
background-position: center bottom;
float: none;
}
.fondo { background-color: <?php echo $couleur_foncee; ?>;
background-position: center bottom; float: none; color: #FFFFFF;
}
.fondf { background-color: #FFFFFF; border-style: solid ; border-width: 1; border-color: #E86519; color: #E86519;
}
 
 
select.fondl {
padding: 0px;
}
.maj-debut:first-letter { text-transform: uppercase; }
 
 
.format_png {
behavior: url("<?php echo _DIR_PREFIX1; ?>win_png.htc");
}
 
 
/*
* Icones et bandeaux
*/
 
.bandeau-principal {
background-color: white;
margin: 0px;
padding: 0px;
border-bottom: 1px solid black;
}
 
.bandeau-icones {
background-color: white;
margin: 0px;
padding: 0px;
padding-bottom: 2px;
padding-top: 4px;
}
 
.bandeau_sec .gauche {
margin-top: 0px;
padding: 2px;
padding-top: 0px;
background-color: white;
border-bottom: 1px solid black;
border-left: 1px solid black;
border-right: 1px solid black;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
z-index: 100;
}
 
.bandeau-icones .separateur {
vertical-align: center;
height: 100%;
width: 11px;
padding: 0px;
margin: 0px;
background: url(<?php echo http_img_pack('tirets-separation.gif') ?>);
background-position: 5px 0px;
}
.bandeau_couleur {
padding-right: 4px;
padding-left: 4px;
font-family: verdana, helvetica, arial, sans;
font-size: 11px;
color: black;
text-align: center;
font-weight: bold;
height: 22px;
}
 
.bandeau_couleur_sous {
position: absolute;
visibility: hidden;
top: 0px;
background-color: <?php echo $couleur_claire; ?>;
color: black;
padding: 5px;
padding-top: 2px;
font-family: verdana, helvetica, arial, sans;
font-size: 11px;
border-bottom: 1px solid white;
border-right; 1px solid white;
-moz-border-radius-bottomleft: 5px;
-moz-border-radius-bottomright: 5px;
}
 
a.lien_sous {
color: #666666;
}
a.lien_sous:hover {
color: black;
}
 
 
div.bandeau_rubriques {
background-color: #eeeeee;
border: 1px solid #555555;
}
a.bandeau_rub {
display: block;
font-size: 10px;
padding: 2px;
padding-<?php echo $right; ?>: 13px;
padding-<?php echo $left; ?>: 16px;
color: #666666;
text-decoration: none;
border-bottom: 1px solid #cccccc;
background-repeat: no-repeat;
background-position: <?php echo $ltr ? "1%" : "99%"; ?> center;
background-image: url(<?php echo http_img_pack('rubrique-12.gif') ?>);
}
a.bandeau_rub:hover {
background-color: white;
text-decoration: none;
color: #333333;
background-repeat: no-repeat;
background-position: <?php echo $ltr ? "1%" : "99%"; ?> center;
}
div.bandeau_rub {
position: absolute;
top: 4px;
<?php echo $left; ?>: 120px;
background-color: #eeeeee;
padding: 0px;
border: 1px solid #555555;
visibility: hidden;
width: 170px;
}
 
div.brt {
background: url(<?php echo http_img_pack('triangle-droite' . $_rtl .'.gif'), ')', $right; ?> center no-repeat;
}
div.pos_r {
position: relative;
}
 
option.selec_rub {
background-position: <?php echo $left; ?> center;
background-image: url(<?php echo http_img_pack('rubrique-12.gif') ?>);
background-repeat: no-repeat;
padding-<?php echo $left; ?>: 16px;
}
 
 
div.messages {
padding: 5px;
border-bottom: 1px solid <?php echo $couleur_foncee; ?>;
font-size: 10px;
font-weight: bold;
}
 
 
/* Icones de fonctions */
 
a.icone26 {
font-family: verdana, helvetica, arial, sans;
font-size: 11px;
font-weight: bold;
color: black;
text-decoration: none;
padding: 1px;
margin-<?php echo $right; ?>: 2px;
}
a.icone26:hover {
text-decoration: none;
}
a.icone26 img {
vertical-align: middle;
behavior: url("<?php echo _DIR_PREFIX1; ?>win_png.htc");
background-color: <?php echo $couleur_foncee; ?>;
}
a.icone26:hover img {
background: url(<?php echo http_img_pack('fond-gris-anim.gif') ?>);
}
 
 
.icone36, icone36-danger {
border: none;
padding: 0px;
margin: 0px;
text-align: center;
vertical-align: top;
text-align: center;
text-decoration: none;
}
.icone36 a, .icone36 a:hover, icone36-danger a, .icone36-danger a:hover {
text-decoration: none;
}
.icone36 a img {
margin: 0px;
display: inline;
padding: 4px;
background-color: #eeeeee;
border: 2px solid <?php echo $couleur_foncee; ?>;
-moz-border-radius: 5px;
}
.icone36 a:hover img {
margin: 0px;
display: inline;
padding: 4px;
background-color: white;
border: 2px solid #666666;
-moz-border-radius: 5px;
}
.icone36-danger a img {
margin: 0px;
display: inline;
padding: 3px;
background-color: white;
border: 2px solid #ff9999;
-moz-border-radius: 5px;
}
.icone36-danger a:hover img {
margin: 0px;
display: inline;
padding: 3px;
background-color: white;
border: 2px solid red;
-moz-border-radius: 5px;
}
.icone36-danger a span {
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 10px;
color: red; display: block; margin: 2px;
width: 100%
}
.icone36 a span {
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 10px;
color: <?php echo $couleur_foncee; ?>;
display: block;
margin: 2px;
width: 100%
}
.icone36 a:hover span {
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 10px;
color: #000000; display: block; margin: 2px;
width: 100%;
}
 
 
/* Icones 48 * 48 et 24 * 24 */
 
.cellule36, .cellule48 {
border: none;
padding: 0px;
text-align: center;
vertical-align: top;
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
text-align: center;
text-decoration: none;
}
.cellule36 {
margin: 0px;
font-size: 10px;
}
.cellule48 {
margin: 2px;
font-size: 12px;
}
.cellule36 a, .cellule36 a:hover, .cellule48 a, .cellule48 a:hover {
text-decoration: none;
}
.cellule36 a, .cellule48 a {
display: block; text-align: center;
}
 
 
.cellule48 a img {
behavior: url("<?php echo _DIR_PREFIX1; ?>win_png.htc");
display: inline;
margin: 4px;
padding: 0px;
border: 0px;
background-color: <?php echo $couleur_claire; ?>;
}
 
.cellule48 a.selection img {
display: inline;
margin: 4px;
padding: 0px;
border: 0px;
background-color: #999999;
}
.cellule48 a:hover img {
display: inline;
margin: 4px;
padding: 0px;
border: 0px;
background: url(<?php echo http_img_pack('fond-gris-anim.gif') ?>);
}
 
 
.cellule36 a img {
margin: 0px;
display: inline;
padding: 3px;
border: 0px;
border: 1px solid white;
-moz-border-radius: 5px;
}
.cellule36 a.selection img{
margin: 0px;
display: inline;
padding: 3px;
background-color: white;
border: 1px solid #aaaaaa;
-moz-border-radius: 5px;
}
.cellule36 a:hover img {
margin: 0px;
display: inline;
padding: 3px;
background-color: #e4e4e4;
background: url(<?php echo http_img_pack('fond-gris-anim.gif') ?>);
border: 1px solid <?php echo $couleur_foncee; ?>;
-moz-border-radius: 5px;
}
.cellule36 a span, .cellule48 a span {
color: #666666; display: block; margin: 1px;
width: 100%;
}
.cellule36 a:hover span, .cellule48 a:hover span {
color: #000000; display: block; margin: 1px;
width: 100%;
}
.cellule36 a.selection span, .cellule48 a.selection span {
color: #000000; display: block; margin: 1px;
width: 100%;
}
 
.cellule36 a.aide, .cellule36 a.aide:hover {
display: inline;
background: none;
margin: 0px;
padding: 0px;
}
.cellule36 a.aide img {
margin: 0px;
padding: 0px;
}
 
/* Navigation texte */
 
.cellule-texte {
border: none;
padding: 0px;
margin: 0px;
text-align: center;
vertical-align: top;
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
text-align: center;
text-decoration: none;
font-size: 10px;
}
.cellule-texte a, .cellule-texte a:hover {
text-decoration: none;
display: block;
}
.cellule-texte a {
padding: 4px; margin: 1px; border: 0px;
color: #606060;
}
.cellule-texte a.selection {
padding: 3px; margin: 1px;
border: 1px solid <?php echo $couleur_foncee; ?>;
background-color: <?php echo $couleur_claire; ?>;
-moz-border-radius: 5px;
color: #000000;
}
.cellule-texte a:hover {
padding: 3px; margin: 1px;
border: 1px solid <?php echo $couleur_foncee; ?>;
background-color: white;
-moz-border-radius: 5px;
color: #333333;
}
.cellule-texte a.aide, .cellule-texte a.aide:hover {
border: none;
background: none;
display: inline;
}
.cellule-texte a.aide img {
margin: 0px;
}
 
 
/*
* Icones horizontales
*/
 
a.cellule-h {
display: block;
}
a.cellule-h {
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 10px;
text-align: <?php echo $left; ?>;
text-decoration: none;
color: #666666;
}
a.cellule-h:hover, a.cellule-h:hover a.cellule-h, a.cellule-h a.cellule-h:hover {
font-family: Verdana, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 10px;
text-align: <?php echo $left; ?>;
text-decoration: none;
color: #000000;
}
a.cellule-h div.cell-i {
padding: 0px;
border: 1px solid white;
-moz-border-radius: 5px;
margin: 0px;
margin-<?php echo $right; ?>: 3px;
}
a.cellule-h:hover div.cell-i {
padding: 0px;
border: 1px solid <?php echo $couleur_foncee; ?>;
background: url(<?php echo http_img_pack('fond-gris-anim.gif') ?>);
-moz-border-radius: 5px;
margin: 0px;
margin-<?php echo $right; ?>: 3px;
}
 
a.cellule-h table {
border: none;
padding: 0px;
margin: 0px;
}
 
a.cellule-h img {
width: 24px;
height: 24px;
border: none;
margin: 3px;
background-repeat: no-repeat;
background-position: center center;
}
 
a.cellule-h a.aide img {
width: 12px; height: 12px;
}
 
 
a.cellule-h-texte {
display: block;
clear: both;
text-align: <?php echo $left; ?>;
font-family: Trebuchet Sans MS, Arial, Sans, sans-serif;
font-weight: bold;
font-size: 11px;
color: #606060;
padding: 4px;
margin: 3px;
border: 1px solid #dddddd;
-moz-border-radius: 5px;
background-color: #f0f0f0;
width: 92%;
}
.danger a.cellule-h-texte {
border: 1px dashed black;
background: url(<?php echo http_img_pack('rayures-sup.gif') ?>);
}
a.cellule-h-texte:hover {
text-decoration: none;
color: black;
border-right: solid 1px white;
border-bottom: solid 1px white;
border-left: solid 1px #666666;
border-top: solid 1px #666666;
background-color: #eeeeee;
}
 
 
 
/*
* Style des icones
*/
 
.fondgris { cursor: pointer; padding: 4px; margin: 1px; }
.fondgrison {
cursor: pointer; padding: 3px; margin: 1px; border: 1px dashed #999999; background-color: #e4e4e4;
}
.fondgrison2 {
cursor: pointer; padding: 3px; margin: 1px; border: 1px dashed #999999; background-color: white;
}
.bouton36gris {
padding: 6px;
margin-top: 2px;
border: 1px solid #aaaaaa;
background-color: #eeeeee;
-moz-border-radius: 5px;
}
.bouton36blanc {
padding: 6px;
margin-top: 2px;
border: 1px solid #999999;
background-color: white;
-moz-border-radius: 5px;
}
.bouton36rouge {
padding: 6px;
margin-top: 2px;
border: 1px solid red;
background-color: white;
-moz-border-radius: 5px;
}
.bouton36off {
padding: 6px;
margin-top: 2px;
width: 24px;
height: 24px;
}
 
div.onglet {
font-family: Arial, Sans, sans-serif;
font-size: 11px;
font-weight: bold;
border: 1px solid <?php echo $couleur_foncee; ?>;
margin-right: 3px;
padding: 5px;
background-color: white;
}
div.onglet a {
color: <?php echo $couleur_foncee; ?>;
}
 
div.onglet_on {
font-family: Arial, Sans, sans-serif;
font-size: 11px;
font-weight: bold;
border: 1px solid <?php echo $couleur_foncee; ?>;
margin-right: 3px;
padding: 5px;
background-color: <?php echo $couleur_claire; ?>;
}
div.onglet_on a, div.onglet_on a:hover {
color: <?php echo $couleur_foncee; ?>;
text-decoration: none;
}
 
div.onglet_off {
font-family: Arial, Sans, sans-serif;
font-size: 11px;
font-weight: bold;
border: 1px solid <?php echo $couleur_foncee; ?>;
margin-right: 3px;
padding: 5px;
background-color: <?php echo $couleur_foncee; ?>;
color: white;
}
 
 
 
.reliefblanc {
background-image: url(<?php echo http_img_pack('barre-blanc.gif') ?>);
}
.reliefgris {
background-image: url(<?php echo http_img_pack('barre-noir.gif') ?>);
}
.iconeoff {
padding: 3px; margin: 1px; border: 1px dashed #aaaaaa; background-color: #f0f0f0;
}
.iconeon {
cursor: pointer; padding: 3px; margin: 1px; border-right: solid 1px white; border-bottom: solid 1px white; border-left: solid 1px #666666; border-top: solid 1px #666666; background-color: #eeeeee;
}
.iconedanger { padding: 3px; margin: 1px; border: 1px dashed black;
background: url(<?php echo http_img_pack('rayures-sup.gif') ?>);
}
 
/* Raccourcis pour les polices (utile pour les tableaux) */
.arial0 { font-family: Arial, Sans, sans-serif; font-size: 9px; }
.arial1 { font-family: Arial, Sans, sans-serif; font-size: 10px; }
.arial11 { font-family: Arial, Sans, sans-serif; font-size: 11px; }
.arial2 { font-family: Arial, Sans, sans-serif; font-size: 12px; }
.verdana1 { font-family: Verdana, Arial, Sans, sans-serif; font-size: 10px; }
.verdana2 { font-family: Verdana, Arial, Sans, sans-serif; font-size: 11px; }
.verdana3 { font-family: Verdana, Arial, Sans, sans-serif; font-size: 13px; }
.serif { font-family: Georgia, Garamond, Times New Roman, serif; }
.serif1 { font-family: Georgia, Garamond, Times New Roman, serif; font-size: 11px; }
.serif2 { font-family: Georgia, Garamond, Times New Roman, serif; font-size: 13px; }
 
/* Liens hypertexte */
a { text-decoration: none; }
a:hover { text-decoration: none; }
a.icone { text-decoration: none; }
a.icone:hover { text-decoration: none; }
 
/*
* Correction orthographique
*/
 
.ortho {
background: #ffe0e0;
margin: 0px;
margin-bottom: -2px;
border-bottom: 2px dashed red;
color: inherit;
text-decoration: none;
}
a.ortho:hover {
margin: -2px;
border: 2px dashed red;
color: inherit;
text-decoration: none;
}
.ortho-dico {
background: #e0f4d0;
margin: 0px;
margin-bottom: -2px;
border-bottom: 2px dashed #a0b890;
color: inherit;
text-decoration: none;
}
a.ortho-dico:hover {
margin: -2px;
border: 2px dashed #a0b890;
color: inherit;
text-decoration: none;
}
 
#ortho-fixed {
position: fixed; top: 0px; <?php echo $right; ?>: 0px; width: 25%; padding: 15px; margin: 0px;
}
.ortho-content {
position: absolute; top: 0px; width: 70%; padding: 15px; margin: 0px;
}
.suggest-actif, .suggest-inactif {
font-family: "Trebuchet Sans MS", Verdana, Arial, sans-serif;
font-size: 95%;
font-weight: bold;
margin: 8px;
z-index: 1;
}
.suggest-actif .detail, .suggest-inactif .detail {
margin: 8px;
margin-top: -0.5em;
padding: 0.5em;
padding-top: 1em;
border: 1px solid #c8c8c8;
background: #f3f2f3;
font-family: Georgia, Garamond, "Times New Roman", serif;
font-weight: normal;
z-index: 0;
}
.suggest-actif .detail ul, .suggest-inactif .detail ul {
list-style-image: url(<?php echo http_img_pack('puce.gif') ?>);
background: #f3f2f3;
margin: 0px;
padding: 0px;
padding-left: 25px;
}
.suggest-actif {
display: block;
}
.suggest-inactif {
display: none;
}
.form-ortho select {
background: #ffe0e0;
}
 
 
/*
* Comparaison d'articles
*/
 
.diff-para-deplace {
background: #e8e8ff;
}
.diff-para-ajoute {
background: #d0ffc0;
color: #000000;
}
.diff-para-supprime {
background: #ffd0c0;
color: #904040;
text-decoration: line-through;
}
.diff-deplace {
background: #e8e8ff;
}
.diff-ajoute {
background: #d0ffc0;
}
.diff-supprime {
background: #ffd0c0;
color: #802020;
text-decoration: line-through;
}
.diff-para-deplace .diff-ajoute {
border: 1px solid #808080;
background: #b8ffb8;
}
.diff-para-deplace .diff-supprime {
border: 1px solid #808080;
background: #ffb8b8;
}
.diff-para-deplace .diff-deplace {
border: 1px solid #808080;
background: #b8b8ff;
}
 
/*
* Barre de raccourcis
*/
 
table.spip_barre {
border-<?php echo $right; ?>: 1px solid <?php echo $couleur_claire; ?>;
}
 
table.spip_barre td {
text-align: <?php echo $left; ?>;
border-top: 1px solid <?php echo $couleur_claire; ?>;
border-<?php echo $left; ?>: 1px solid <?php echo $couleur_claire; ?>;
}
 
a.spip_barre img {
padding: 3px;
margin: 0px;
background-color: #eeeeee;
border-<?php echo $right; ?>: 1px solid <?php echo $couleur_claire; ?>;
}
a.spip_barre:hover img {
background-color: white;
}
 
td.icone table {
}
td.icone a {
color: black;
text-decoration: none;
font-family: Verdana,Arial,Sans,sans-serif;
font-size: 10px;
font-weight: bold;
}
td.icone a:hover {
text-decoration: none;
}
td.icone a img {
border: 0px;
}
 
a.bouton_rotation img, div.bouton_rotation img {
padding: 1px;
margin-bottom: 1px;
background-color: #eeeeee;
border: 1px solid <?php echo $couleur_claire; ?>;
}
 
a.bouton_rotation:hover img {
border: 1px solid <?php echo $couleur_foncee; ?>;
}
 
 
/*
* Cadre couleur foncee
*/
 
.cadre-padding {
font-family: verdana, arial, helvetica, sans;
font-size: 12px;
padding: 6px;
position: relative;
}
 
.cadre-titre {
font-family: verdana, arial, helvetica, sans;
font-weight: bold;
font-size: 12px;
padding: 3px;
}
 
.cadre-fonce {
background-color: <?php echo $couleur_foncee; ?>;
-moz-border-radius: 8px;
}
 
.cadre-gris-fonce {
background-color: #666666;
-moz-border-radius: 8px;
}
 
.cadre-gris-clair {
border: 1px solid #aaaaaa;
background-color: #cccccc;
-moz-border-radius: 8px;
}
 
.cadre-couleur {
background-color: <?php echo $couleur_claire; ?>;
-moz-border-radius: 8px;
}
.cadre-couleur div.cadre-titre {
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
background: <?php echo $couleur_foncee; ?>;
border-bottom: 2px solid <?php echo $couleur_foncee; ?>;
color: white;
}
 
.cadre-couleur-foncee {
background-color: <?php echo $couleur_foncee; ?>;
-moz-border-radius: 8px;
}
.cadre-couleur-foncee div.cadre-titre {
color: white;
}
 
 
 
.cadre-trait-couleur {
background-color: white;
border: 2px solid <?php echo $couleur_foncee; ?>;
-moz-border-radius: 8px;
}
.cadre-trait-couleur div.cadre-titre {
background: <?php echo $couleur_foncee; ?>;
border-bottom: 2px solid <?php echo $couleur_foncee; ?>;
color: white;
}
 
.cadre-r {
background-color: white;
border: 1px solid #666666;
-moz-border-radius: 8px;
}
 
 
.cadre-r div.cadre-titre {
background: #aaaaaa;
border-bottom: 1px solid #666666;
color: black;
}
 
.cadre-e {
background-color: #dddddd;
border-top: 1px solid #aaaaaa;
border-left: 1px solid #aaaaaa;
border-bottom: 1px solid white;
border-right: 1px solid white;
-moz-border-radius: 8px;
}
 
.cadre-e div.cadre-titre {
background: <?php echo $couleur_claire; ?>;
border-bottom: 1px solid #666666;
color: black;
}
 
.cadre-e-noir {
border: 1px solid #666666;
-moz-border-radius: 8px;
}
 
.cadre-forum {
background-color: white;
border: 1px solid #aaaaaa;
-moz-border-radius-top<?php echo $left; ?>: 8px;
}
.cadre-forum div.cadre-titre {
background: <?php echo $couleur_claire; ?>;
border-bottom: 1px solid #aaaaaa;
color: black;
}
 
.cadre-sous_rub {
background-color: white;
border: 1px solid #666666;
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
-moz-border-radius-top<?php echo $left; ?>: 8px;
}
 
 
.cadre-thread-forum {
background-color: #eeeeee;
border: 1px solid #cccccc;
border-top: 0px;
}
.cadre-thread-forum div.cadre-titre {
background: #cccccc;
color: black;
}
 
.cadre-info{
background-color: white;
border: 2px solid <?php echo $couleur_foncee; ?>;
padding: 5px;
-moz-border-radius: 8px;
}
 
 
.cadre-formulaire {
/* border: 1px solid <?php echo $couleur_foncee; ?>;
background-color: #dddddd;*/
color: #444444;
font-family: verdana, arial, helvetica, sans;
font-size: 11px;
}
 
 
 
/*
* Styles pour "Tout le site"
*/
 
.plan-rubrique {
margin-<?php echo $left; ?>: 12px;
padding-<?php echo $left; ?>: 10px;
border-<?php echo $left; ?>: 1px dotted #888888;
}
.plan-secteur {
margin-<?php echo $left; ?>: 12px;
padding-<?php echo $left; ?>: 10px;
border-<?php echo $left; ?>: 1px dotted #404040;
}
.plan-articles {
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
border-right: 1px solid #cccccc;
}
.plan-articles a {
display: block;
padding: 2px;
padding-<?php echo $left; ?>: 18px;
border-bottom: 1px solid #cccccc;
background: <?php echo $ltr ? "1%" : "99%"; ?> no-repeat;
background-color: #e0e0e0;
font-family: Verdana, Arial, Sans, sans-serif;
font-size: 11px;
text-decoration: none;
}
.plan-articles a:hover {
background-color: white;
text-decoration: none;
}
.plan-articles .publie {
background-image: url(<?php echo http_img_pack('puce-verte.gif') ?>);
}
.plan-articles .prepa {
background-image: url(<?php echo http_img_pack('puce-blanche.gif') ?>);
}
.plan-articles .prop {
background-image: url(<?php echo http_img_pack('puce-orange.gif') ?>);
}
.plan-articles .refuse {
background-image: url(<?php echo http_img_pack('puce-rouge.gif') ?>);
}
.plan-articles .poubelle {
background-image: url(<?php echo http_img_pack('puce-poubelle.gif') ?>);
}
 
a.foncee, a.foncee:hover, a.claire, a.claire:hover, span.creer, span.lang_base {
display: inline;
float: none;
padding: 2px;
margin: 0px;
margin-left: 1px;
margin-right: 1px;
border: 0px;
font-family: Arial, Helvetica, Sans, sans-serif;
font-size: 9px;
text-decoration: none;
z-index: 1;
 
}
a.foncee, a.foncee:hover {
background-color: <?php echo $couleur_foncee; ?>;
color: white;
border: 1px solid <?php echo $couleur_foncee; ?>;
}
a.claire, a.claire:hover {
background-color: <?php echo $couleur_claire; ?>;
color: <?php echo $couleur_foncee; ?>;
border: 1px solid <?php echo $couleur_foncee; ?>;
}
span.lang_base {
color: #666666;
border: 1px solid #666666;
background-color: #eeeeee;
}
span.creer {
color: #333333;
border: 1px solid #333333;
background-color: white;
}
.trad_float {
float: <?php echo $right; ?>;
z-index: 20;
margin-top: 4px;
}
 
div.liste {
border: 1px solid #444444;
margin-top: 3px;
margin-bottom: 3px;
}
 
a.liste-mot {
background: url(<?php echo http_img_pack('petite-cle.gif'), ')', $left; ?> center no-repeat;
padding-<?php echo $left; ?>: 30px;
}
 
.tr_liste {
background-color: #eeeeee;
}
.tr_liste_over, .tr_liste:hover {
background-color: white;
}
 
.tr_liste td, .tr_liste:hover td, .tr_liste_over td {
border-bottom: 1px solid #cccccc;
}
 
.tr_liste td div.liste_clip {
height: 12px;
overflow: hidden;
}
 
.tr_liste:hover td div.liste_clip {
overflow: visible;
height: 100%;
}
 
div.puce_article {
position: relative;
height: 11px;
width: 11px;
}
 
div.puce_breve {
position: relative;
height: 9px;
width: 9px;
}
div.puce_article_fixe, div.puce_breve_fixe {
position: absolute;
}
 
div.puce_article_popup, div.puce_breve_popup {
position: absolute;
visibility: hidden;
margin-top: -1px; top: 0px;
border: 1px solid #666666;
background-color:
#cccccc; z-index: 10;
-moz-border-radius: 3px;
}
div.puce_article_popup img, div.puce_breve_popup img {
padding: 1px;
border: 0px;
}
 
div.puce_article_popup {
width: 55px;
}
div.puce_breve_popup {
width: 27px;
}
 
 
 
div.brouteur_rubrique {
display: block;
padding: 3px;
padding-<?php echo $right; ?>: 10px;
border-top: 0px solid <?php echo $couleur_foncee; ?>;
border-bottom: 1px solid <?php echo $couleur_foncee; ?>;
border-left: 1px solid <?php echo $couleur_foncee; ?>;
border-right: 1px solid <?php echo $couleur_foncee; ?>;
background: url(<?php echo http_img_pack('triangle-droite'. $_rtl . '.gif'), ')', $right; ?> center no-repeat;
background-color: white;
}
 
div.brouteur_rubrique_on {
display: block;
padding: 3px;
padding-<?php echo $right; ?>: 10px;
border-top: 0px solid <?php echo $couleur_foncee; ?>;
border-bottom: 1px solid <?php echo $couleur_foncee; ?>;
border-left: 1px solid <?php echo $couleur_foncee; ?>;
border-right: 1px solid <?php echo $couleur_foncee; ?>;
background: url(<?php echo http_img_pack('triangle-droite' . $_rtl . '.gif'), ')', $right; ?> center no-repeat;
background-color: #e0e0e0;
}
 
xdiv.brouteur_rubrique:hover {
background-color: #e0e0e0;
}
 
div.brouteur_rubrique div, div.brouteur_rubrique_on div {
padding-top: 5px;
padding-bottom: 5px;
padding-<?php echo $left; ?>: 28px;
background-repeat: no-repeat;
background-position: center <?php echo $left; ?>;
font-weight: bold;
font-family: Arial,Sans,sans-serif;
font-size: 12px;
}
 
div.brouteur_rubrique div a {
color: <?php echo $couleur_foncee; ?>;
}
 
div.brouteur_rubrique_on div a {
color: black;
}
 
.iframe-bouteur {
background-color: #eeeeee;
border: 0px;
z-index: 1;
}
 
 
/*
* Styles generes par les raccourcis de mis en page
*/
 
p.spip {
line-height: 140%;
}
p.spip_note {
margin-bottom: 3px;
margin-top: 3px;
margin-<?php echo $left; ?>: 17px;
text-indent: -17px;
}
 
 
a.spip_in {
border-bottom: 1px dashed;
}
a.spip_out {
background: url(<?php echo http_img_pack('spip_out.gif'), ') ', $right; ?> center no-repeat;
padding-<?php echo $right; ?>: 10px;
border-bottom: 1px solid;
}
a.spip_url {
}
 
 
a.spip_note {
background-color:#eeeeee;
}
a.spip_glossaire:hover {text-decoration: underline overline;}
 
.spip_recherche {
padding: 3px;
width : 100%;
font-size: 10px;
border: 1px solid white;
background-color: <?php echo $couleur_foncee; ?>;
color: white;
}
.spip_cadre {
width : 100%;
background-color: #eeeeee;
margin-top: 10px;
padding: 5px;
border: 1px solid #666666;
behavior: url("win_width.htc");
}
blockquote.spip {
margin-<?php echo $left; ?>: 40px;
margin-<?php echo $right; ?>: 0px;
margin-top : 10px;
margin-bottom : 10px;
border : solid 1px #aaaaaa;
background-color: #ffffff;
padding-left: 10px;
padding-right: 10px;
}
 
div.spip_poesie {
margin-<?php echo $left; ?>: 10px;
padding-<?php echo $left; ?>: 10px;
border-<?php echo $left; ?>: 1px solid #999999;
}
div.spip_poesie div {
text-indent: -60px;
margin-<?php echo $left; ?>: 60px;
}
 
.spip-nbsp {
border-bottom: 2px solid #c8c8c8;
padding-left: 2px;
padding-right: 2px;
margin-left: -1px;
margin-right: -1px;
}
 
.boutonlien {
font-family: Verdana,Arial,Sans,sans-serif;
font-weight: bold;
font-size: 9px;
}
a.boutonlien:hover {
color:#454545; text-decoration: none;
}
a.boutonlien {
color:#808080; text-decoration: none;
}
 
a.triangle_block {
margin-top: -3px;
margin-bottom: -3px;
margin-<?php echo $right; ?>: -3px;
}
a.triangle_block:hover {
margin-<?php echo $left; ?>: 1px;
margin-<?php echo $right; ?>: -4px;
}
 
h3.spip {
margin-top : 40px;
margin-bottom : 40px;
font-family: Verdana,Arial,Sans,sans-serif;
font-weight: bold;
font-size: 120%;
text-align: center;
}
.spip_documents{
font-family: Verdana,Arial,Sans,sans-serif;
font-size : 70%;
}
.spip_documents_center{
margin: auto;
text-align: center;
width: 80%
}
 
.spip_documents_left{
margin: 0px;
margin-right: 20px;
margin-bottom: 5px;
text-align: center;
}
 
.spip_documents_right{
margin: 0px;
margin-left: 20px;
margin-bottom: 5px;
text-align: center;
}
 
table.spip {
margin-left: auto;
margin-right: auto;
border: 1px solid black;
border-collapse:collapse;
}
 
table.spip caption{
caption-side: top; /* bottom pas pris en compte par IE */
text-align: center;
margin-left: auto;
margin-right: auto;
padding: 3px;
font-weight: bold;
font-family: Verdana,Arial,Sans,sans-serif;
font-size : 70%;
}
 
table.spip tr.row_first {
background-color: <?php echo $couleur_claire; ?>;
}
table.spip tr.row_odd {
background-color: #d0d0d0;
}
table.spip tr.row_even {
background-color: #F0F0F0;
}
table.spip td {
padding: 3px;
text-align: left;
vertical-align: center;
margin: 1px;
}
 
.rss-button {
border: 1px solid;
border-color: #FC9 #630 #330 #F96;
padding: 0 3px;
font: bold 10px verdana,sans-serif;
color: #FFF;
background: #F60;
text-decoration: none;
margin: 0;
}
 
.fond-agenda {
background: url<?php echo '(', http_img_pack('fond-agenda.gif'), ') ', $right; ?> center no-repeat;
float: <?php echo $left; ?>;
margin-<?php echo $right; ?>: 3px;
padding-<?php echo $right; ?>: 4px;
line-height: 12px;
color: #666666;
}
/trunk/actu/ecrire/lang/ecrire_ja.php3
New file
0,0 → 1,953
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'aide_non_disponible' => '&#29694;&#22312;&#12398;&#35328;&#35486;&#12398;&#35373;&#23450;&#12391;&#12399;&#12289;&#12371;&#12398;&#12458;&#12531;&#12521;&#12452;&#12531;&#12504;&#12523;&#12503;&#12399;&#12414;&#12384;&#12372;&#21033;&#29992;&#12395;&#12394;&#12428;&#12414;&#12379;&#12435;&#12290;',
'avis_acces_interdit' => '&#12450;&#12463;&#12475;&#12473;&#27177;&#12364;&#12354;&#12426;&#12414;&#12379;&#12435;',
'avis_article_modifie' => '&#12372;&#27880;&#24847;&#12367;&#12384;&#12373;&#12356;&#12290; @nom_auteur_modif@&#12288;&#12364;@date_diff@&#20998;&#21069;&#12395;&#12371;&#12398;&#35352;&#20107;&#12395;&#12388;&#12356;&#12390;&#20316;&#26989;&#12434;&#34892;&#12356;&#12414;&#12375;&#12383;&#12290;',
'avis_aucun_resultat' => '&#19968;&#33268;&#12377;&#12427;&#12487;&#12540;&#12479;&#12364;&#12354;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;',
'avis_chemin_invalide_1' => '&#36984;&#25246;&#12373;&#12428;&#12383;&#12501;&#12449;&#12452;&#12523;&#12497;&#12473;',
'avis_chemin_invalide_2' => '&#12364;&#28961;&#21177;&#12391;&#12377;&#12290;&#21069;&#12398;&#12506;&#12540;&#12472;&#12395;&#25147;&#12387;&#12390;&#12289;&#19982;&#12360;&#12425;&#12428;&#12383;&#24773;&#22577;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_connexion_echec_1' => 'MySQL&#12469;&#12540;&#12496;&#12540;&#12408;&#12398;&#25509;&#32154;&#12395;&#22833;&#25943;&#12375;&#12414;&#12375;&#12383;&#12290;',
'avis_connexion_echec_2' => '&#21069;&#12398;&#12506;&#12540;&#12472;&#12395;&#25147;&#12387;&#12390;&#12289;&#19982;&#12360;&#12425;&#12428;&#12390;&#12356;&#12427;&#24773;&#22577;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_connexion_echec_3' => '<B>&#27880;&#24847;</B> &#22810;&#12367;&#12398;&#12469;&#12540;&#12496;&#12540;&#19978;&#12391;&#12399;&#12289;&#12381;&#12428;&#12434;&#21033;&#29992;&#12391;&#12365;&#12427;&#12383;&#12417;&#12395;&#12399;&#20107;&#21069;&#12395;&#33258;&#20998;&#12364;, MySQL&#12395;&#12450;&#12463;&#12475;&#12473;&#12391;&#12365;&#12427;&#12424;&#12358;<B>&#12522;&#12463;&#12456;&#12473;&#12488;&#12434;&#34892;&#12358;</B>&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290; &#12418;&#12375;&#25509;&#32154;&#12391;&#12365;&#12394;&#12356;&#22580;&#21512;&#12289;&#29694;&#22312;&#12371;&#12398;&#12522;&#12463;&#12456;&#12473;&#12488;&#12364;&#34892;&#12431;&#12428;&#12390;&#12356;&#12427;&#12363;&#12393;&#12358;&#12363;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_connexion_ldap_echec_1' => 'LDAP&#12469;&#12540;&#12496;&#12408;&#12398;&#25509;&#32154;&#12395;&#22833;&#25943;&#12375;&#12414;&#12375;&#12383;&#12290;',
'avis_connexion_ldap_echec_2' => '&#21069;&#12398;&#12506;&#12540;&#12472;&#12395;&#25147;&#12387;&#12390;&#12289;&#19982;&#12360;&#12425;&#12428;&#12390;&#12356;&#12427;&#24773;&#22577;&#12434;&#30906;&#35469;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_connexion_ldap_echec_3' => '&#20132;&#20195;&#12391;LDAP&#12469;&#12509;&#12540;&#12488;&#12434;&#12518;&#12540;&#12470;&#12398;&#12452;&#12531;&#12509;&#12540;&#12488;&#12398;&#12383;&#12417;&#12395;&#21033;&#29992;&#12375;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_conseil_selection_mot_cle' => '<b>&#37325;&#35201;&#12464;&#12523;&#12540;&#12503;&nbsp;:</b> &#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#12363;&#12425;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12434;&#24375;&#12367;&#12362;&#34214;&#12417;&#12375;&#12414;&#12377;&#12290;',
'avis_deplacement_rubrique' => '&#27880;&#24847;&#65281; &#12371;&#12398;&#38917;&#30446;&#12399;&#12289; @contient_breves@&#12288;&#20214;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12414;&#12377;: &#12381;&#12428;&#12434;&#31227;&#21205;&#12377;&#12427;&#22580;&#21512;&#12399;&#12289;&#30906;&#35469;&#12398;&#12383;&#12417;&#12371;&#12398;&#12508;&#12483;&#12463;&#12473;&#12395;&#12481;&#12455;&#12483;&#12463;&#12434;&#20837;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_destinataire_obligatoire' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#20449;&#12377;&#12427;&#12395;&#12399;&#12289;&#21463;&#21462;&#20154;&#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_erreur_connexion_mysql' => 'MySQL&#25509;&#32154;&#12398;&#12456;&#12521;&#12540;&#12391;&#12377;&#12290;',
'avis_erreur_version_archive' => '<b>&#27880;&#24847;&#65281; @archive@ &#12501;&#12449;&#12452;&#12523;&#12399;
&#12354;&#12394;&#12383;&#12398;&#12362;&#25163;&#20803;&#12398;SPIP&#12392;&#12399;&#30064;&#12394;&#12427;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;SPIP&#12395;&#23550;&#24540;&#12377;&#12427;&#12418;&#12398;&#12391;&#12377;&#12290;</b>&#12371;&#12398;&#12414;&#12414;&#12391;&#12377;&#12392;&#12289;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#30772;&#22730;&#12420;
&#12356;&#12367;&#12388;&#12363;&#12398;&#12469;&#12452;&#12488;&#12395;&#38306;&#12377;&#12427;&#27231;&#33021;&#19981;&#20840;&#12392;&#12356;&#12387;&#12383;
&#28145;&#21051;&#12394;&#21839;&#38988;&#12395;&#34892;&#12365;&#24403;&#12383;&#12427;&#12371;&#12392;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;
&#12371;&#12398;&#12452;&#12531;&#12509;&#12540;&#12488;&#12399;&#12522;&#12463;&#12456;&#12473;&#12488;&#12375;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;<P />&#35443;&#32048;&#12399;&#12289;
<a href=\'http://www.spip.net/fr_article1489.html\'>
SPIP&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</a>&#12434;&#12372;&#35239;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_espace_interdit' => '<b>&#35377;&#12373;&#12428;&#12394;&#12356;&#12456;&#12522;&#12450;</b><p>SPIP&#12364;&#26082;&#12395;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;',
'avis_lecture_noms_bases_1' => '&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12503;&#12525;&#12464;&#12521;&#12512;&#12399;&#12289;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12383;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#21517;&#21069;&#12434;&#35501;&#12416;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;',
'avis_lecture_noms_bases_2' => '&#12505;&#12540;&#12473;&#12364;&#26377;&#21177;&#12391;&#12394;&#12356;&#12363;&#12289;&#12505;&#12540;&#12473;&#12522;&#12473;&#12488;&#12434;&#35377;&#21487;&#12377;&#12427;&#27231;&#33021;&#12364;&#12450;&#12463;&#12486;&#12451;&#12502;&#12391;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;
&#12371;&#12428;&#12399;&#12475;&#12461;&#12517;&#12522;&#12486;&#12451;&#19978;&#12398;&#29702;&#30001;&#12395;&#12424;&#12426;&#12414;&#12377;&#65288;&#22810;&#12367;&#12398;&#12507;&#12473;&#12486;&#12451;&#12531;&#12464;&#12395;&#12424;&#12367;&#12415;&#12425;&#12428;&#12427;&#12418;&#12398;&#12391;&#12377;&#65289;&#12290;',
'avis_lecture_noms_bases_3' => '&#20108;&#12388;&#30446;&#12398;&#36984;&#25246;&#12395;&#12362;&#12356;&#12390;&#12289;&#12354;&#12394;&#12383;&#12398;&#12525;&#12464;&#12452;&#12531;&#21517;&#12434;&#21547;&#12416;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12364;&#21033;&#29992;&#21487;&#33021;&#12394;&#12424;&#12358;&#12391;&#12377;&nbsp;:',
'avis_non_acces_message' => '&#12371;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12395;&#12399;&#12450;&#12463;&#12475;&#12473;&#12375;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;',
'avis_non_acces_page' => '&#12371;&#12398;&#12506;&#12540;&#12472;&#12395;&#12399;&#12450;&#12463;&#12475;&#12473;&#12375;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;',
'avis_operation_echec' => '&#25805;&#20316;&#12395;&#22833;&#25943;&#12375;&#12414;&#12375;&#12383;&#12290;',
'avis_probleme_archive' => '@archive@ &#12501;&#12449;&#12452;&#12523;&#12398;&#35501;&#12415;&#36796;&#12415;&#12395;&#21839;&#38988;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;',
'avis_site_introuvable' => '&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12290;',
'avis_site_syndique_probleme' => '&#35686;&#21578;: &#12371;&#12398;&#12469;&#12452;&#12488;&#12391;&#36973;&#36935;&#12375;&#12383;&#21839;&#38988;&#12434;&#20379;&#32102;&#12377;&#12427;&#12371;&#12392;&#12395;&#12388;&#12356;&#12390;; &#24467;&#12387;&#12390;&#12289;&#12381;&#12398;&#12471;&#12473;&#12486;&#12512;&#12399;&#19968;&#26178;&#30340;&#12395;&#22952;&#23475;&#12373;&#12428;&#12383;&#12290;&#12393;&#12358;&#12363;&#12289;&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#20379;&#32102;&#12501;&#12449;&#12452;&#12523;&#65288;<b>@url_syndic@</b>&#65289;&#12398;&#12450;&#12489;&#12524;&#12473;&#12434;&#30906;&#12363;&#12417;&#12390;&#12289;&#24773;&#22577;&#12434;&#26032;&#12375;&#12367;&#12522;&#12459;&#12496;&#12522;&#12540;&#12377;&#12427;&#12371;&#12392;&#12395;&#25361;&#25126;&#12375;&#12390;&#12415;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'avis_sites_probleme_syndication' => '&#12371;&#12428;&#12425;&#12398;&#12469;&#12452;&#12488;&#12399;&#12289;&#20379;&#32102;&#12398;&#21839;&#38988;&#12395;&#36973;&#36935;&#12375;&#12383;',
'avis_sites_syndiques_probleme' => '&#12381;&#12428;&#12425;&#12399;&#21839;&#38988;&#12434;&#29983;&#12376;&#12427;&#12469;&#12452;&#12488;&#12434;&#37197;&#32102;&#12375;&#12414;&#12375;&#12383;',
'avis_suppression_base' => '&#27880;&#24847;&#65281;&#12487;&#12540;&#12479;&#28040;&#21435;&#12375;&#12414;&#12377;&#12290;&#24489;&#26087;&#20986;&#26469;&#12414;&#12379;&#12435;&#12290;',
'avis_version_mysql' => '&#12354;&#12394;&#12383;&#12398;MySQL&#12398;&#12496;&#12540;&#12472;&#12519;&#12531; &#65288;@version_mysql@&#65289; &#12399;&#12289;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12486;&#12540;&#12502;&#12523;&#12398;&#33258;&#21205;&#20462;&#24489;&#12364;&#19981;&#21487;&#33021;&#12391;&#12377;&#12290;',
 
 
// B
'bouton_acces_ldap' => 'LDAP&#12408;&#12398;&#12450;&#12463;&#12475;&#12473;&#12434;&#36861;&#21152; >>',
'bouton_ajouter' => '&#36861;&#21152;&#12377;&#12427;',
'bouton_ajouter_participant' => '&#38306;&#20418;&#12377;&#12427;&#12418;&#12398;&#12434;&#36861;&#21152;:',
'bouton_annonce' => '&#12450;&#12490;&#12454;&#12531;&#12473;',
'bouton_checkbox_envoi_message' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12427;&#35211;&#36796;&#12415;',
'bouton_checkbox_indiquer_site' => '&#12354;&#12394;&#12383;&#12399;&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12398;&#21517;&#21069;&#12434;&#20837;&#21147;&#12375;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;',
'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => '&#12469;&#12452;&#12488;&#12398;&#31649;&#29702;&#32773;',
'bouton_checkbox_qui_attribue_mot_cle_redacteurs' => '&#12456;&#12487;&#12451;&#12479;&#12540;&#12474;',
'bouton_checkbox_qui_attribue_mot_cle_visiteurs' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12398;&#35370;&#21839;&#32773;&#12364;&#12501;&#12457;&#12540;&#12521;&#12512;&#12395;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#25237;&#31295;&#12375;&#12383;&#12392;&#12365;',
'bouton_checkbox_signature_unique_email' => 'e-mail&#12450;&#12489;&#12524;&#12473;&#12372;&#12392;&#12398;&#12383;&#12387;&#12383;&#65297;&#12388;&#12398;&#32626;&#21517;',
'bouton_checkbox_signature_unique_site' => '&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12372;&#12392;&#12398;&#12383;&#12387;&#12383;&#65297;&#12388;&#12398;&#32626;&#21517;',
'bouton_demande_publication' => '&#12371;&#12398;&#35352;&#20107;&#12398;&#20844;&#38283;&#12434;&#35201;&#27714;&#12377;&#12427;',
'bouton_effacer_index' => '&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12398;&#21066;&#38500;',
'bouton_effacer_tout' => '&#12377;&#12409;&#12390;&#12398;&#21066;&#38500;',
'bouton_envoi_message_02' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12427;',
'bouton_envoyer_message' => '&#26368;&#24460;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;: &#36865;&#12427;',
'bouton_forum_petition' => '&#12501;&#12457;&#12540;&#12521;&#12512; &amp; &#35531;&#39000;',
'bouton_modifier' => '&#20462;&#27491;',
'bouton_pense_bete' => '&#20491;&#20154;&#30340;&#12394;&#12513;&#12514;',
'bouton_radio_activer_messagerie' => '&#20869;&#37096;&#12391;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12434;&#21487;&#33021;&#12395;&#12377;&#12427;',
'bouton_radio_activer_messagerie_interne' => '&#20869;&#37096;&#12391;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12434;&#21487;&#33021;&#12395;&#12377;&#12427;',
'bouton_radio_activer_petition' => '&#35531;&#39000;&#12434;&#27963;&#30330;&#12395;&#12375;&#12390;&#12356;&#12414;&#12377;',
'bouton_radio_afficher' => '&#34920;&#31034;',
'bouton_radio_apparaitre_liste_redacteurs_connectes' => '&#25509;&#32154;&#20013;&#12395;&#25509;&#32154;&#20013;&#12456;&#12487;&#12451;&#12479;&#12540;&#12398;&#12522;&#12473;&#12488;&#12395;&#34920;&#31034;',
'bouton_radio_articles_futurs' => '&#26410;&#26469;&#12408;&#12398;&#35352;&#20107;&#38480;&#23450;&#65288;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#19978;&#12391;&#12399;&#28961;&#21453;&#24540;&#65289;&#12290;',
'bouton_radio_articles_tous' => '&#20363;&#22806;&#12434;&#38500;&#12356;&#12383;&#12377;&#12409;&#12390;&#12398;&#35352;&#20107;&#12408;',
'bouton_radio_articles_tous_sauf_forum_desactive' => '&#20351;&#29992;&#19981;&#33021;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#12289;&#12377;&#12409;&#12390;&#12398;&#35352;&#20107;&#12434;&#38500;&#22806;&#12290;',
'bouton_radio_desactiver_messagerie' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12434;&#19981;&#33021;&#12395;&#12377;&#12427;',
'bouton_radio_enregistrement_obligatoire' => '&#24517;&#35201;&#12394;&#30331;&#37682; (
&#12518;&#12540;&#12470;&#12399;&#12289;&#23492;&#31295;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#21069;&#12395;&#24444;&#12425;&#12398;e-mail&#12450;&#12489;&#12524;&#12473;&#12434;&#25552;&#20379;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289;
&#23450;&#26399;&#21463;&#20449;&#12377;&#12409;&#12365;&#12391;&#12377;)&#12290;',
'bouton_radio_envoi_annonces_adresse' => '&#12450;&#12490;&#12454;&#12531;&#12473;&#12434;&#36865;&#20449;&#12377;&#12427;&#12450;&#12489;&#12524;&#12473;:',
'bouton_radio_envoi_liste_nouveautes' => '&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12522;&#12473;&#12488;&#12434;&#36865;&#12427;',
'bouton_radio_moderation_priori' => '&#12354;&#12425;&#12363;&#12376;&#12417;&#12289;&#31680;&#24230;&#12434;&#25345;&#12387;&#12390; (
&#23492;&#31295;&#12399;&#31649;&#29702;&#32773;&#12395;&#12424;&#12387;&#12390;&#36969;&#27491;&#26908;&#26619;&#12373;&#12428;&#12383;&#24460;
&#34920;&#31034;&#12373;&#12428;&#12427;&#12384;&#12369;&#12391;&#12375;&#12423;&#12358;)&#12290;',
'bouton_radio_modere_abonnement' => '<MODIF>&#23450;&#26399;&#21463;&#20449;&#12414;&#12391;&#12398;&#31680;&#24230;',
'bouton_radio_modere_posteriori' => '<MODIF>&#12381;&#12398;&#24460;&#12398;&#31680;&#24230;',
'bouton_radio_modere_priori' => '<MODIF>&#12354;&#12425;&#12363;&#12376;&#12417;&#31680;&#24230;&#12434;&#25345;&#12387;&#12390;',
'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => '&#25509;&#32154;&#20013;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12474;&#12398;&#12522;&#12473;&#12488;&#12395;&#34920;&#31034;&#12375;&#12394;&#12356;',
'bouton_radio_non_envoi_annonces_editoriales' => '&#32232;&#38598;&#12398;&#30330;&#34920;&#12434;&#36865;&#12425;&#12394;&#12356;',
'bouton_radio_non_syndication' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12375;&#12394;&#12356;',
'bouton_radio_occidental' => '&#35199;&#27915;&#12398;&#12450;&#12523;&#12501;&#12449;&#12505;&#12483;&#12488; (<tt>iso-8859-1</tt>): &#20027;&#12395;West-european&#35328;&#35486;&#12434;
&#34920;&#31034;&#12375;&#12414;&#12377; (English, French, German...);
&#12375;&#12363;&#12375;&#12289;SPIP&#12399;&#38750;&#24120;&#12395;&#19978;&#25163;&#12395;&#20182;&#12398;&#35328;&#35486;&#12434;&#31649;&#29702;&#12375;&#12414;&#12377;&#12290;',
'bouton_radio_pas_petition' => '&#35531;&#39000;&#12399;&#12394;&#12375;',
'bouton_radio_personnalise' => '&#25991;&#23383;&#12467;&#12540;&#12489;&#12539;&#12475;&#12483;&#12488;&#12398;&#12459;&#12473;&#12479;&#12512;&#65306; &#29305;&#23450;&#12398;&#25991;&#23383;&#12467;&#12540;&#12489;&#12539;&#12475;&#12483;&#12488;&#12434;&#20351;&#12356;&#12383;&#12356;&#22580;&#21512;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'bouton_radio_petition_activee' => '&#35531;&#39000;&#12364;&#27963;&#30330;&#12395;&#34892;&#12431;&#12428;&#12414;&#12375;&#12383;',
'bouton_radio_publication_immediate' => '&#25237;&#31295;&#12392;&#21516;&#26178;&#12395;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#34920;&#31034;
&#65288;&#25237;&#31295;&#12377;&#12427;&#12392;&#30636;&#26178;&#12395;&#34920;&#31034;&#12377;&#12427;&#12383;&#12417;&#12289;&#31649;&#29702;&#32773;&#12399;&#25237;&#31295;&#12434;&#21066;&#38500;&#12377;&#12427;&#12371;&#12392;&#12399;&#20986;&#26469;&#12414;&#12377;&#12364;&#12289;&#12381;&#12398;&#24460;&#12391;&#12375;&#12363;&#20986;&#26469;&#12394;&#12356;&#12391;&#12375;&#12423;&#12358;&#65289;&#12290;',
'bouton_radio_sauvegarde_compressee' => '&#22311;&#32302;&#12375;&#12390;&#12289;<b>ecrire/data/dump.xml.gz</b>&#12395;&#20445;&#23384;&#12377;&#12427;',
'bouton_radio_sauvegarde_non_compressee' => '&#26410;&#22311;&#32302;&#12391;&#12289;<b>ecrire/data/dump.xml</b>&#12395;&#20445;&#23384;&#12377;&#12427;',
'bouton_radio_supprimer_petition' => '&#35531;&#39000;&#12434;&#21066;&#38500;',
'bouton_radio_syndication' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;:',
'bouton_radio_universel' => 'Universal alphabet (<tt>utf-8</tt>)&#65306;&#12377;&#12409;&#12390;&#12398;&#35328;&#35486;&#12434;&#34920;&#31034;&#12375;&#12414;&#12377;&#12364;&#12289;&#12354;&#12394;&#12383;&#12364;&#12486;&#12531;&#12503;&#12524;&#12540;&#12488;&#12434;&#22793;&#26356;&#12395;&#20351;&#12358;&#12477;&#12501;&#12488;&#12420;&#33509;&#24178;&#12398;e-mail&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;&#12398;&#12477;&#12501;&#12488;&#12395;&#12424;&#12427;&#20114;&#25563;&#24615;&#21839;&#38988;&#12364;&#29983;&#12376;&#12414;&#12377;&#12290;&#65288;&#26085;&#26412;&#20154;&#12395;&#12399;&#12371;&#12428;&#12434;&#25512;&#22888;&#65289;',
'bouton_redirection' => '&#12522;&#12480;&#12452;&#12524;&#12463;&#12488;',
'bouton_relancer_installation' => '&#12452;&#12531;&#12473;&#12488;&#12524;&#12540;&#12471;&#12519;&#12531;&#12434;&#20877;&#36215;&#21205;',
'bouton_restaurer_base' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#24489;&#20803;',
'bouton_suivant' => '&#27425;',
'bouton_tenter_recuperation' => '&#20462;&#24489;&#12434;&#35430;&#12415;&#12427;',
'bouton_test_proxy' => '&#12503;&#12525;&#12461;&#12471;&#12540;&#12434;&#12486;&#12473;&#12488;',
'bouton_vider_cache' => '&#12471;&#12473;&#12486;&#12512;&#12461;&#12515;&#12483;&#12471;&#12517;&#12434;&#31354;&#12395;&#12377;&#12427;',
'bouton_voir_message' => '&#25215;&#35469;&#21069;&#12395;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#20877;&#24230;&#34920;&#31034;&#12377;&#12427;',
 
 
// C
'cache_mode_compresse' => '&#12461;&#12515;&#12483;&#12471;&#12517;&#12501;&#12449;&#12452;&#12523;&#12399;&#22311;&#32302;&#12375;&#12390;&#20445;&#23384;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;',
'cache_mode_non_compresse' => '&#12461;&#12515;&#12483;&#12471;&#12517;&#12501;&#12449;&#12452;&#12523;&#12399;&#26410;&#22311;&#32302;&#12391;&#20445;&#23384;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;',
'cache_modifiable_webmestre' => '&#12371;&#12428;&#12425;&#12398;&#12497;&#12521;&#12513;&#12540;&#12479;&#12399;webmaster&#12395;&#12424;&#12387;&#12390;&#20462;&#27491;&#12391;&#12365;&#12414;&#12377;&#12290;',
'calendrier_synchro' => '<b>iCal</b>&#12392;&#20114;&#25563;&#24615;&#12398;&#12354;&#12427;&#26085;&#35352;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;&#12434;&#20351;&#12387;&#12390;&#12356;&#12427;&#12394;&#12425;&#12289;&#12381;&#12428;&#12392;&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#24773;&#22577;&#12434;&#21516;&#35519;&#65288;&#12471;&#12531;&#12463;&#12525;&#65289;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
 
 
// D
'date_mot_heures' => '&#26178;',
'diff_para_ajoute' => '&#30701;&#12356;&#35352;&#20107;&#12434;&#36861;&#21152;&#12375;&#12383;',
'diff_para_deplace' => '&#30701;&#12356;&#35352;&#20107;&#12434;&#22793;&#26356;&#12375;&#12383;',
'diff_para_supprime' => '&#30701;&#12356;&#35352;&#20107;&#12434;&#21066;&#38500;&#12375;&#12383;',
'diff_texte_ajoute' => '&#12486;&#12461;&#12473;&#12488;&#12434;&#36861;&#21152;&#12375;&#12383;',
'diff_texte_deplace' => '&#12486;&#12461;&#12473;&#12488;&#12434;&#22793;&#26356;&#12375;&#12383;',
'diff_texte_supprime' => '&#25991;&#31456;&#12434;&#21066;&#38500;&#12375;&#12383;',
'double_clic_inserer_doc' => '&#12480;&#12502;&#12523;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#25991;&#31456;&#12395;&#12371;&#12398;&#12471;&#12519;&#12540;&#12488;&#12459;&#12483;&#12488;&#12434;&#25407;&#20837;',
 
 
// E
'email' => '&#12513;&#12540;&#12523;',
'email_2' => '&#12513;&#12540;&#12523;&#65306;',
'entree_adresse_annuaire' => '&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12450;&#12489;&#12524;&#12473;',
'entree_adresse_email' => '&#12513;&#12540;&#12523;&#12450;&#12489;&#12524;&#12473;',
'entree_adresse_fichier_syndication' => '&#37197;&#32102;&#12398;&#12383;&#12417;&#12398; &laquo;backend&raquo; &#12501;&#12449;&#12452;&#12523;&#12398;&#12450;&#12489;&#12524;&#12473;:',
'entree_adresse_site' => '<b>URL</b> [&#24517;&#38920;]',
'entree_base_donnee_1' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12450;&#12489;&#12524;&#12473;',
'entree_base_donnee_2' => '(&#12424;&#12367;&#12289;&#12371;&#12398;&#12450;&#12489;&#12524;&#12473;&#12399;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#12450;&#12489;&#12524;&#12473;&#12392;&#21516;&#12376;&#12391;&#12289;&#26178;&#12293;&laquo;localhost&raquo;&#12398;&#26178;&#12418;&#12354;&#12426;&#12289;&#23436;&#20840;&#12395;&#31354;&#12398;&#12414;&#12414;&#12398;&#26178;&#12418;&#12354;&#12426;&#12414;&#12377;&#12290;)',
'entree_biographie' => '&#12354;&#12394;&#12383;&#12398;&#30053;&#35352;&#12434;&#25968;&#34892;&#12391;&#12362;&#39000;&#12356;&#12375;&#12414;&#12377;&#12290;',
'entree_breve_publiee' => '&#12371;&#12398;&#12491;&#12517;&#12540;&#12473;&#12399;&#20844;&#38283;&#12373;&#12428;&#12427;&#12399;&#12378;&#12391;&#12377;&#12363;&#65311;',
'entree_chemin_acces' => '&#12497;&#12473;&#12434;<B>&#20837;&#21147;</B>:',
'entree_cle_pgp' => '&#12354;&#12394;&#12383;&#12398;PGP&#12461;&#12540;',
'entree_contenu_rubrique' => '&#65288;&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#20869;&#23481;&#12434;&#30701;&#12356;&#35328;&#33865;&#12391;&#12290;&#65289;',
'entree_description_site' => '&#12469;&#12452;&#12488;&#12398;&#35299;&#35500;',
'entree_identifiants_connexion' => '&#12354;&#12394;&#12383;&#12398;&#25509;&#32154;ID...',
'entree_informations_connexion_ldap' => 'LDAP&#25509;&#32154;&#12398;&#24773;&#22577;&#12434;&#12371;&#12398;&#12501;&#12457;&#12540;&#12512;&#12395;&#26360;&#12365;&#36796;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;&#12354;&#12394;&#12383;&#12399;&#12354;&#12394;&#12383;&#12398;&#12471;&#12473;&#12486;&#12512;&#12414;&#12383;&#12399;&#12289;&#12493;&#12483;&#12488;&#12527;&#12540;&#12463;&#31649;&#29702;&#32773;&#12395;&#12424;&#12387;&#12390;&#12371;&#12398;&#24773;&#22577;&#12434;&#25552;&#20379;&#12373;&#12428;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;',
'entree_infos_perso' => '&#12354;&#12394;&#12383;&#12399;&#35504;&#65311;',
'entree_interieur_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#20013;&#12395;&#65306;',
'entree_liens_sites' => '<B>&#12495;&#12452;&#12497;&#12540;&#12522;&#12531;&#12463;</B>&#65288;&#35370;&#21839;&#12469;&#12452;&#12488;&#12398;&#21442;&#29031;...&#65289;',
'entree_login' => '&#12354;&#12394;&#12383;&#12398;&#12525;&#12464;&#12452;&#12531;ID',
'entree_login_connexion_1' => '&#25509;&#32154;&#12377;&#12427;&#12525;&#12464;&#12452;&#12531;ID',
'entree_login_connexion_2' => '(&#12354;&#12394;&#12383;&#12398;FTP&#29992;&#12398;&#12525;&#12464;&#12452;&#12531;ID&#12392;&#21516;&#12376;&#12392;&#12365;&#12418;&#12354;&#12428;&#12400;&#31354;&#27396;&#12398;&#12392;&#12365;&#12418;&#12354;&#12426;&#12414;&#12377;)',
'entree_login_ldap' => '&#26368;&#21021;&#12398;LDAP&#12398;&#12525;&#12464;&#12452;&#12531;ID',
'entree_mot_passe' => '&#12497;&#12473;&#12527;&#12540;&#12489;',
'entree_mot_passe_1' => '&#25509;&#32154;&#12497;&#12473;&#12527;&#12540;&#12489;',
'entree_mot_passe_2' => '(&#12354;&#12394;&#12383;&#12398;FTP&#29992;&#12398;&#12497;&#12473;&#12527;&#12540;&#12489;&#12392;&#21516;&#12376;&#12392;&#12365;&#12418;&#12354;&#12428;&#12400;&#31354;&#27396;&#12398;&#12392;&#12365;&#12418;&#12354;&#12426;&#12414;&#12377;)',
'entree_nom_fichier' => '&#12501;&#12449;&#12452;&#12523;&#21517;&#12434;&#25171;&#12385;&#36796;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356; @texte_compresse@:',
'entree_nom_pseudo' => '&#12354;&#12394;&#12383;&#12398;&#21517;&#21069;&#12363;&#20206;&#21517;',
'entree_nom_pseudo_1' => '&#65288;&#12354;&#12394;&#12383;&#12398;&#21517;&#21069;&#12363;&#20206;&#21517;&#65289;',
'entree_nom_site' => '&#12354;&#12394;&#12383;&#12398;&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12398;&#21517;&#21069;',
'entree_nouveau_passe' => '&#26032;&#12375;&#12356;&#12497;&#12473;&#12527;&#12540;&#12489;',
'entree_passe_ldap' => '&#12497;&#12473;&#12527;&#12540;&#12489;',
'entree_port_annuaire' => '&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12509;&#12540;&#12488;&#12490;&#12531;&#12496;&#12540;',
'entree_signature' => '&#32626;&#21517;',
'entree_texte_breve' => '&#12491;&#12517;&#12540;&#12473;&#12398;&#25991;',
'entree_titre_obligatoire' => '<B>&#12479;&#12452;&#12488;&#12523;</b> [&#24517;&#38920;]<BR>',
'entree_url' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;URL',
 
 
// I
'ical_info1' => '&#12371;&#12398;&#12506;&#12540;&#12472;&#12399;&#12289;&#12371;&#12398;&#12469;&#12452;&#12488;&#12391;&#12398;&#27963;&#21205;&#12391;&#12354;&#12394;&#12383;&#12392;&#12398;&#36899;&#32097;&#12434;&#20445;&#12388;&#12356;&#12367;&#12388;&#12363;&#12398;&#25163;&#27573;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;',
'ical_info2' => '&#12373;&#12425;&#12395;&#24773;&#22577;&#12364;&#27442;&#12375;&#12356;&#22580;&#21512;&#12289;&#36490;&#36487;&#12379;&#12378;&#12395;&#12289;<a href="http://www.spip.net/en_suivi">SPIP\'s&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;</a>&#12434;&#35370;&#12428;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'ical_info_calendrier' => '&#12354;&#12394;&#12383;&#12399;&#65298;&#31278;&#39006;&#12398;&#12459;&#12524;&#12531;&#12480;&#12540;&#12364;&#33258;&#30001;&#12395;&#20351;&#12360;&#12414;&#12377;&#12290;&#65297;&#12388;&#12417;&#12399;&#12377;&#12409;&#12390;&#12398;&#20844;&#38283;&#12373;&#12428;&#12383;&#35352;&#20107;&#12434;&#31034;&#12377;&#12469;&#12452;&#12488;&#12510;&#12483;&#12503;&#12391;&#12377;&#12290;&#65298;&#12388;&#12417;&#12399;&#32232;&#38598;&#20013;&#12398;&#12450;&#12490;&#12454;&#12531;&#12473;&#12395;&#21152;&#12360;&#12289;&#12354;&#12394;&#12383;&#12398;&#26368;&#26032;&#12398;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12513;&#12483;&#12475;&#12540;&#12472;&#12418;&#21547;&#12435;&#12391;&#12356;&#12414;&#12377;: URL&#20013;&#12395;&#21547;&#12414;&#12428;&#12427;&#20491;&#20154;&#12398;&#12461;&#12540;&#12399;&#12354;&#12394;&#12383;&#12398;&#28858;&#12395;&#30906;&#20445;&#12375;&#12390;&#12354;&#12426;&#12289;&#12354;&#12394;&#12383;&#12398;&#12497;&#12473;&#12527;&#12540;&#12489;&#12434;&#26032;&#12375;&#12367;&#12377;&#12427;&#12371;&#12392;&#12391;&#12356;&#12388;&#12391;&#12418;&#22793;&#26356;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'ical_methode_http' => '&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;&#12377;&#12427;',
'ical_methode_webcal' => '&#21516;&#35519;&#65288;&#12471;&#12531;&#12463;&#12525;&#65289;&#12377;&#12427; (webcal://)',
'ical_texte_js' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12391;&#20986;&#29256;&#12373;&#12428;&#12383;&#26368;&#26032;&#35352;&#20107;&#12434;&#12289;&#12354;&#12394;&#12383;&#12398;&#31649;&#29702;&#12375;&#12390;&#12356;&#12427;&#12393;&#12435;&#12394;&#12469;&#12452;&#12488;&#12391;&#12418;&#12392;&#12390;&#12418;&#31777;&#21336;&#12395;&#12289;&#12383;&#12387;&#12383;&#65297;&#34892;&#12398;javascript&#12391;&#34920;&#31034;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'ical_texte_prive' => '&#12371;&#12398;&#12459;&#12524;&#12531;&#12480;&#12540;&#12399;&#23436;&#20840;&#12395;&#20491;&#20154;&#29992;&#12391;&#12289;&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#12354;&#12394;&#12383;&#12398;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12398;&#32232;&#38598;&#27963;&#21205;&#12434;&#30693;&#12425;&#12379;&#12414;&#12377;&#65288;&#20181;&#20107;&#12289;&#20491;&#20154;&#30340;&#12394;&#32004;&#26463;&#12289;&#25552;&#20986;&#12373;&#12428;&#12383;&#35352;&#20107;&#12392;&#12491;&#12517;&#12540;&#12473;...&#65289;&#12290;',
'ical_texte_public' => '&#12371;&#12398;&#12459;&#12524;&#12531;&#12480;&#12540;&#12399;&#12289;&#12354;&#12394;&#12383;&#12364;&#12371;&#12398;&#12469;&#12452;&#12488;&#65288;&#20844;&#38283;&#12373;&#12428;&#12383;&#35352;&#20107;&#12392;&#12491;&#12517;&#12540;&#12473;&#65289;&#12398;&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#27963;&#21205;&#12434;&#29702;&#35299;&#12377;&#12427;&#12398;&#12434;&#25163;&#20253;&#12356;&#12414;&#12377;&#12290;',
'ical_texte_rss' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#12289;XML/RSS (Rich Site Summary) &#12522;&#12540;&#12480;&#12540;&#12395;&#12424;&#12387;&#12390;&#21462;&#24471;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12371;&#12428;&#12399;&#12414;&#12383;&#12289;&#20114;&#25563;&#24615;&#12354;&#12427;&#12501;&#12457;&#12540;&#12510;&#12483;&#12488;&#12391;&#12420;&#12426;&#21462;&#12426;&#65288;&#12469;&#12452;&#12488;&#12434;&#37197;&#20449;&#65289;&#12434;&#12377;&#12427;&#21029;&#12398;&#12469;&#12452;&#12488;&#12391;&#12289;SPIP&#12391;&#30330;&#34920;&#12373;&#12428;&#12383;&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#12289;&#35501;&#12417;&#12427;&#12424;&#12358;&#12395;&#12377;&#12427;&#12501;&#12457;&#12540;&#12510;&#12483;&#12488;&#12391;&#12377;&#12290;',
'ical_titre_js' => 'Javascript',
'ical_titre_mailing' => '&#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;',
'ical_titre_rss' => 'Backend&#12501;&#12449;&#12452;&#12523;',
'icone_activer_cookie' => '&#12463;&#12483;&#12461;&#12540;&#12434;&#32622;&#12367;',
'icone_afficher_auteurs' => '&#33879;&#32773;&#12434;&#34920;&#31034;',
'icone_afficher_visiteurs' => '&#35370;&#21839;&#32773;&#12434;&#34920;&#31034;',
'icone_arret_discussion' => '&#12371;&#12398;&#12487;&#12451;&#12473;&#12459;&#12483;&#12471;&#12519;&#12531;&#12395;&#21442;&#21152;&#12377;&#12427;&#12398;&#12434;&#12420;&#12417;&#12427;',
'icone_calendrier' => '&#12459;&#12524;&#12531;&#12480;&#12540;',
'icone_creation_groupe_mots' => '&#26032;&#12375;&#12356;&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#12464;&#12523;&#12540;&#12503;&#12434;&#20316;&#12427;',
'icone_creation_mots_cles' => '&#26032;&#12375;&#12356;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#20316;&#12427;',
'icone_creer_auteur' => '&#26032;&#12375;&#12356;&#33879;&#32773;&#12434;&#20316;&#12387;&#12390;&#12289;&#24444;&#12434;&#12371;&#12398;&#35352;&#20107;&#12395;&#21442;&#21152;&#12373;&#12379;&#12427;&#12290;',
'icone_creer_rubrique_2' => '&#26032;&#12375;&#12356;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#20316;&#12427;',
'icone_ecrire_nouvel_article' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#12491;&#12517;&#12540;&#12473;',
'icone_envoyer_message' => '&#12371;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12427;',
'icone_evolution_visites' => '&#35370;&#21839;&#29575;<br>@visites@&#35370;&#21839;',
'icone_modif_groupe_mots' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;&#12434;&#22793;&#26356;&#12377;&#12427;',
'icone_modifier_article' => '&#12371;&#12398;&#35352;&#20107;&#12434;&#20462;&#27491;',
'icone_modifier_breve' => '&#12371;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#20462;&#27491;',
'icone_modifier_message' => '&#12371;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#20462;&#27491;',
'icone_modifier_rubrique' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#20462;&#27491;',
'icone_modifier_site' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12434;&#20462;&#27491;',
'icone_poster_message' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12398;&#25237;&#31295;',
'icone_publier_breve' => '&#12371;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#25522;&#12370;&#12427;',
'icone_referencer_nouveau_site' => '&#26032;&#12375;&#12356;&#12469;&#12452;&#12488;&#12434;&#21442;&#29031;&#12377;&#12427;',
'icone_refuser_breve' => '&#12371;&#12398;&#12491;&#12517;&#12540;&#12473;&#12434;&#25298;&#12416;',
'icone_retour' => '&#25147;&#12427;',
'icone_retour_article' => '&#35352;&#20107;&#12395;&#25147;&#12427;',
'icone_suivi_forum' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#36861;&#36321;: @nb_forums@ &#36002;&#29486;',
'icone_supprimer_cookie' => '&#12463;&#12483;&#12461;&#12540;&#12398;&#21066;&#38500;',
'icone_supprimer_groupe_mots' => '&#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#12434;&#21066;&#38500;',
'icone_supprimer_rubrique' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#21066;&#38500;',
'icone_supprimer_signature' => '&#12371;&#12398;&#32626;&#21517;&#12434;&#21066;&#38500;',
'icone_valider_signature' => '&#12371;&#12398;&#32626;&#21517;&#12434;&#30906;&#35469;',
'icone_voir_sites_references' => '&#21442;&#29031;&#12375;&#12383;&#12469;&#12452;&#12488;&#12398;&#34920;&#31034;',
'icone_voir_tous_mots_cles' => '&#12377;&#12409;&#12390;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#34920;&#31034;',
'image_administrer_rubrique' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#31649;&#29702;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;',
'info_1_article' => '&#65297;&#35352;&#20107;',
'info_1_breve' => '&#65297;&#12491;&#12517;&#12540;&#12473;',
'info_1_site' => '1 &#12469;&#12452;&#12488;',
'info_activer_cookie' => '<b>&#31649;&#29702;&#32773;&#29992;&#12463;&#12483;&#12461;&#12540;</b>&#12434;&#20351;&#12358;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290; &#12381;&#12428;&#12395;&#12424;&#12387;&#12390;
&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12392;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12398;&#20999;&#26367;&#12364;&#31777;&#21336;&#12395;&#20986;&#26469;&#12414;&#12377;&#12290;',
'info_activer_forum_public' => '<I>&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#21033;&#29992;&#21487;&#33021;&#12395;&#12377;&#12427;&#12383;&#12417;&#12289;&#36969;&#20999;&#12394;&#12487;&#12501;&#12457;&#12523;&#12488;&#12514;&#12540;&#12489;&#12434;&#36984;&#25246;&#12375;&#12390;&#19979;&#12373;&#12356;:</I>',
'info_admin_gere_rubriques' => '&#12371;&#12398;&#31649;&#29702;&#32773;&#12399;&#19979;&#35352;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#31649;&#29702;:',
'info_admin_gere_toutes_rubriques' => '&#12371;&#12398;&#31649;&#29702;&#32773;&#12399;<b>&#12377;&#12409;&#12390;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;</b>&#12434;&#31649;&#29702;&#12290;',
'info_administrateur' => '&#31649;&#29702;&#32773;',
'info_administrateur_1' => '&#31649;&#29702;&#32773;',
'info_administrateur_2' => '&#12469;&#12452;&#12488;&#12395;&#12388;&#12356;&#12390;&#65288;<i>&#27880;&#24847;&#12375;&#12390;&#20351;&#12387;&#12390;</i>&#65289;',
'info_administrateur_site_01' => '&#12418;&#12375;&#12469;&#12452;&#12488;&#12398;&#31649;&#29702;&#32773;&#12394;&#12425;&#12400;',
'info_administrateur_site_02' => '&#12371;&#12398;&#12522;&#12531;&#12463;&#12434;&#12463;&#12522;&#12483;&#12463;',
'info_administrateurs' => '&#31649;&#29702;&#32773;',
'info_administrer_rubrique' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#31649;&#29702;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;',
'info_adresse' => '&#12381;&#12398;&#12450;&#12489;&#12524;&#12473;&#12408;:',
'info_adresse_email' => '&#12513;&#12540;&#12523;&#12450;&#12489;&#12524;&#12473;&#65306;',
'info_adresse_url' => '&#12354;&#12394;&#12383;&#12398;&#20844;&#38283;&#12469;&#12452;&#12488;&#12398;URL',
'info_afficher_visites' => '&#35370;&#21839;&#32773;&#12398;&#34920;&#31034;:',
'info_affichier_visites_articles_plus_visites' => '<b>&#12399;&#12376;&#12417;&#12398;&#38915;&#12363;&#12425;&#26368;&#12418;&#22810;&#12367;&#35370;&#21839;&#12373;&#12428;&#12383;&#35352;&#20107;</b>&#12398;&#35370;&#21839;&#32773;&#12398;&#34920;&#31034;&#65306;',
'info_aide_en_ligne' => 'SPIP&#12458;&#12531;&#12521;&#12452;&#12531;&#12504;&#12523;&#12503;',
'info_ajout_image' => '&#35352;&#20107;&#12395;&#28155;&#20184;&#26360;&#39006;&#12392;&#12375;&#12390;&#30011;&#20687;&#12452;&#12513;&#12540;&#12472;&#12434;&#20184;&#12369;&#21152;&#12360;&#12427;&#12392;&#12365;&#12289;
SPIP&#12399;&#33258;&#21205;&#30340;&#12395;&#12532;&#12451;&#12491;&#12455;&#12483;&#12488;&#65308;&#21322;&#36523;&#20687;&#12539;&#12525;&#12468;&#12394;&#12393;&#65310;&#65288;&#12469;&#12512;&#12493;&#12452;&#12523;&#65289;&#12434;
&#25407;&#20837;&#12373;&#12428;&#12383;&#30011;&#20687;&#12363;&#12425;&#20316;&#25104;&#12375;&#12414;&#12377;&#12290; &#12371;&#12428;&#12395;&#12424;&#12426;&#20363;&#12360;&#12400;
&#12462;&#12515;&#12521;&#12522;&#12540;&#12420;&#12509;&#12540;&#12488;&#12501;&#12457;&#12522;&#12458;&#12398;&#33258;&#21205;&#20316;&#25104;&#12434;&#21487;&#33021;&#12395;&#12375;&#12414;&#12377;&#12290;',
'info_ajout_participant' => '&#27425;&#12398;&#38306;&#20418;&#32773;&#12399;&#21152;&#12360;&#12425;&#12428;&#12383;:',
'info_ajouter_rubrique' => '&#31649;&#29702;&#12377;&#12427;&#20182;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#36861;&#21152;:',
'info_annonce_nouveautes' => '&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12450;&#12490;&#12454;&#12531;&#12473;',
'info_anterieur' => '&#21069;&#20505;&#35036;',
'info_appliquer_choix_moderation' => '&#12371;&#12398;&#12514;&#12487;&#12524;&#12540;&#12488;&#12434;&#36984;&#25246;&#12375;&#12390;&#36969;&#29992;&#12377;&#12427;:',
'info_article' => '&#35352;&#20107;',
'info_article_2' => '&#35352;&#20107;',
'info_article_a_paraitre' => '&#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#35352;&#20107;&#12398;&#25237;&#31295;&#26085;&#20184;',
'info_articles_02' => '&#35352;&#20107;',
'info_articles_2' => '&#35352;&#20107;',
'info_articles_auteur' => '&#12371;&#12398;&#33879;&#32773;&#12398;&#35352;&#20107;',
'info_articles_lies_mot' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#38306;&#36899;&#12375;&#12383;&#35352;&#20107;',
'info_articles_trouves' => '&#35352;&#20107;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12375;&#12383;',
'info_articles_trouves_dans_texte' => '&#35352;&#20107;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12375;&#12383;&#65288;&#25991;&#20013;&#65289;',
'info_attente_validation' => '&#36969;&#24615;&#26908;&#26619;&#21069;&#12398;&#12354;&#12394;&#12383;&#12398;&#35352;&#20107;',
'info_aujourdhui' => '&#20170;&#26085;&#65306;',
'info_auteur_message' => '&#24046;&#20986;&#20154;:',
'info_auteurs' => '&#33879;&#32773;&#12383;&#12385;',
'info_auteurs_par_tri' => '&#33879;&#32773;@partri@',
'info_auteurs_trouves' => '&#35211;&#12388;&#12363;&#12387;&#12383;&#33879;&#32773;&#12383;&#12385;',
'info_authentification_externe' => '&#22806;&#37096;&#12398;&#35469;&#35388;',
'info_avertissement' => '&#35686;&#21578;',
'info_base_installee' => '&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#20013;&#12395;&#27083;&#36896;&#29289;&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;',
'info_base_restauration' => '&#36914;&#34892;&#20013;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#20462;&#24489;&#12290;',
'info_bloquer' => '<NEW>block',
'info_breves' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12391;&#12289;&#12491;&#12517;&#12540;&#12473;&#12539;&#12471;&#12473;&#12486;&#12512;&#12434;&#12362;&#20351;&#12356;&#12391;&#12377;&#12363;&#65311;',
'info_breves_03' => '&#12491;&#12517;&#12540;&#12473;',
'info_breves_liees_mot' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#38306;&#36899;&#12377;&#12427;&#12491;&#12517;&#12540;&#12473;',
'info_breves_touvees' => '&#12491;&#12517;&#12540;&#12473;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12375;&#12383;&#12290;',
'info_breves_touvees_dans_texte' => '&#12491;&#12517;&#12540;&#12473;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12375;&#12383;&#65288;&#25991;&#20013;&#65289;&#12290;',
'info_changer_nom_groupe' => '&#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#21517;&#12434;&#22793;&#26356;&#12375;&#12390;&#19979;&#12373;&#12356;:',
'info_chapeau' => '&#39166;&#12426;',
'info_chapeau_2' => '&#12452;&#12531;&#12488;&#12525;&#12480;&#12463;&#12471;&#12519;&#12531;:',
'info_chemin_acces_1' => '&#12458;&#12503;&#12471;&#12519;&#12531;: <B>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12450;&#12463;&#12475;&#12473;&#12539;&#12497;&#12473;</b>',
'info_chemin_acces_2' => '&#12371;&#12371;&#12363;&#12425;&#20808;&#12391;&#12399;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#24773;&#22577;&#12395;&#12450;&#12463;&#12475;&#12473;&#12539;&#12497;&#12473;&#12434;&#35373;&#23450;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12371;&#12398;&#24773;&#22577;&#12399;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#20445;&#23384;&#12373;&#12428;&#12390;&#12356;&#12427;&#12518;&#12540;&#12470;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;&#12434;&#35501;&#12416;&#12383;&#12417;&#12395;&#24517;&#38920;&#12391;&#12377;&#12290;',
'info_chemin_acces_annuaire' => '&#12458;&#12503;&#12471;&#12519;&#12531; : <B>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12450;&#12463;&#12475;&#12473;&#12539;&#12497;&#12473;',
'info_choix_base' => '&#65299;&#30058;&#30446;&#12398;&#12473;&#12486;&#12483;&#12503;:',
'info_classement_1' => '&nbsp;@liste@ &#12398;&#22806;',
'info_classement_2' => '&nbsp; @liste@ &#22806;',
'info_code_acces' => '&#12354;&#12394;&#12383;&#12398;&#25152;&#26377;&#12377;&#12427;&#12450;&#12463;&#12475;&#12473;&#12467;&#12540;&#12489;&#12434;&#24536;&#12428;&#12394;&#12356;&#12391;&#19979;&#12373;&#12356;&#65281;',
'info_comment_lire_tableau' => '&#12371;&#12398;&#30011;&#20687;&#12434;&#35501;&#12415;&#36796;&#12416;&#12395;&#12399;',
'info_config_suivi' => '&#12418;&#12375;&#12418;&#12371;&#12398;&#12450;&#12489;&#12524;&#12473;&#12364;&#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;&#12398;&#12418;&#12398;&#12392;&#19968;&#33268;&#12377;&#12427;&#22580;&#21512;&#12289;&#12469;&#12452;&#12488;&#21442;&#21152;&#32773;&#12364;&#30331;&#37682;&#21487;&#33021;&#12394;&#12450;&#12489;&#12524;&#12473;&#12434;&#19979;&#35352;&#12395;&#34920;&#31034;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#35352;&#12377;&#12409;&#12365;&#12450;&#12489;&#12524;&#12473;&#12399;&#12289;URL&#65288;&#20363;&#12360;&#12400;Web&#32076;&#30001;&#12398;&#30331;&#37682;&#12506;&#12540;&#12472;&#12394;&#12393;&#65289;&#12289;&#12469;&#12502;&#12472;&#12455;&#12463;&#12488;&#12434;&#29305;&#23450;&#12375;&#12390;&#12354;&#12427;&#12513;&#12540;&#12523;&#12450;&#12489;&#12524;&#12473; (&#12383;&#12392;&#12360;&#12400;: <tt>@adresse_suivi@?subject=subscribe</tt>)&#12364;&#12356;&#12356;&#12391;&#12375;&#12423;&#12358;&#12290;',
'info_config_suivi_explication' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12469;&#12452;&#12488;&#12395;&#38306;&#12377;&#12427;&#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;&#12395;&#21152;&#20837;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12354;&#12394;&#12383;&#12399;&#33258;&#21205;&#36865;&#20449;&#12513;&#12540;&#12523;&#12395;&#12424;&#12387;&#12390;&#12289;&#20844;&#34920;&#12377;&#12427;&#12383;&#12417;&#12395;&#25552;&#20986;&#12373;&#12428;&#12383;&#35352;&#20107;&#12289;&#12491;&#12517;&#12540;&#12473;&#12395;&#38306;&#12377;&#12427;&#12450;&#12490;&#12454;&#12531;&#12473;&#12434;&#21463;&#12369;&#21462;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;(&#35379;&#27880;&#65306;&#12501;&#12521;&#12531;&#12473;&#35486;&#65311;&#12384;&#12425;&#12369;&#65289;',
'info_confirmer_passe' => '&#26032;&#12375;&#12356;&#12497;&#12473;&#12527;&#12540;&#12489;&#12398;&#30906;&#35469;:',
'info_connexion_base' => '&#65298;&#30058;&#30446;&#12398;&#12473;&#12486;&#12483;&#12503;: <B>&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12392;&#25509;&#32154;&#12434;&#35430;&#12415;&#12427;</B>',
'info_connexion_ldap_ok' => 'LDAP&#25509;&#32154;&#12395;&#25104;&#21151;&#12375;&#12414;&#12375;&#12383;&#12290;</b><p /> &#27425;&#12398;&#27573;&#38542;&#12395;&#36914;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;',
'info_connexion_mysql' => '&#26368;&#21021;&#12398;&#12473;&#12486;&#12483;&#12503;: <B>&#12354;&#12394;&#12383;&#12398;MySQL&#12392;&#25509;&#32154;</b>',
'info_connexion_ok' => '&#25509;&#32154;&#12364;&#25104;&#21151;&#12375;&#12414;&#12375;&#12383;&#12290;',
'info_contact' => '&#36899;&#32097;&#26041;&#27861;',
'info_contenu_articles' => '&#35352;&#20107;&#12398;&#20869;&#23481;',
'info_creation_mots_cles' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#12371;&#12371;&#12395;&#20316;&#12387;&#12390;&#35373;&#23450;&#12375;&#12390;&#19979;&#12373;&#12356;&#12290;',
'info_creation_paragraphe' => '(&#12497;&#12521;&#12464;&#12521;&#12501;&#65308;&#27573;&#33853;&#12539;&#25991;&#31680;&#65310;&#12434;&#20316;&#12427;&#12395;&#12399;&#12289;&#31354;&#34892;&#12434;&#12362;&#12369;&#12400;&#12356;&#12356;&#12384;&#12369;&#12391;&#12377;&#12290;)',
'info_creation_rubrique' => '&#35352;&#20107;&#12434;&#26360;&#12369;&#12427;&#12424;&#12358;&#12395;&#12394;&#12427;&#21069;&#12395;&#12289;<BR>&#26368;&#20302;&#65297;&#12388;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#20316;&#25104;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;<BR>',
'info_creation_tables' => '&#65300;&#30058;&#30446;&#12398;&#12473;&#12486;&#12483;&#12503;: <B>&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#12486;&#12540;&#12502;&#12523;&#12398;&#20316;&#25104;</b>',
'info_creer_base' => '&#26032;&#12375;&#12356;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;<B>&#20316;&#25104;</B>:',
'info_dans_groupe' => '&#12464;&#12523;&#12540;&#12503;&#20869;:',
'info_dans_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#20869;:',
'info_date_publication_anterieure' => '&#20844;&#34920;&#26178;&#12398;&#26085;&#20184;:',
'info_date_referencement' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12434;&#21442;&#29031;&#12375;&#12383;&#26085;&#20184;&nbsp;:',
'info_delet_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#21066;&#38500;&#12522;&#12463;&#12456;&#12473;&#12488;&#12434;&#21463;&#12369;&#20184;&#12369;&#12414;&#12375;&#12383;&#12290;
<B>@titre_mot@</B> (@type_mot@)&#12399;
<b>@texte_lie@</b>&#12395;&#38306;&#36899;&#12389;&#12369;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289; &#12371;&#12398;&#27770;&#23450;&#12434;&#30906;&#23450;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&nbsp;:',
'info_derniere_etape' => '&#26368;&#24460;&#12398;&#12473;&#12486;&#12483;&#12503;: <B>&#32066;&#12431;&#12426;&#12414;&#12375;&#12383;&#65281;',
'info_derniere_syndication' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#26368;&#24460;&#12398;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12471;&#12519;&#12531;&#65289;&#12364;&#23455;&#34892;&#12373;&#12428;&#12383;&#12398;&#12399;',
'info_derniers_articles_publies' => '&#12354;&#12394;&#12383;&#12398;&#26368;&#36817;&#20844;&#38283;&#12373;&#12428;&#12383;&#35352;&#20107;',
'info_desactiver_forum_public' => '&#20844;&#38283;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#20351;&#29992;&#12364;&#28961;&#21177;&#12290;&#20844;&#38283;&#12501;&#12457;&#12540;&#12521;&#12512;&#12399;&#20107;&#20363;&#12372;&#12392;&#12395;&#35352;&#20107;&#12434;&#35377;&#21487;&#12373;&#12428;&#24471;&#12414;&#12375;&#12383;; &#12381;&#12428;&#12425;&#12399;&#12475;&#12463;&#12471;&#12519;&#12531;&#12289;&#12491;&#12517;&#12540;&#12473;&#12289;&#12381;&#12398;&#20182;&#12395;&#12424;&#12387;&#12390;&#31105;&#27490;&#12373;&#12428;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;',
'info_desactiver_messagerie_personnelle' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12469;&#12452;&#12488;&#19978;&#12391;&#20491;&#20154;&#30340;&#12394;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12434;&#12289;&#12377;&#12427;&#12363;&#12375;&#12394;&#12356;&#12363;&#27770;&#12417;&#12425;&#12428;&#12414;&#12377;&#12290;',
'info_descriptif' => '&#35352;&#36848;:',
'info_discussion_cours' => '&#36914;&#34892;&#20013;&#12398;&#35342;&#35542;',
'info_ecrire_article' => '&#35352;&#20107;&#12434;&#26360;&#12367;&#21069;&#12395;&#12289;&#12354;&#12394;&#12383;&#12399;&#26368;&#20302;&#65297;&#12388;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#20316;&#12425;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;',
'info_email_envoi' => '&#36865;&#12426;&#20027;&#12398;e-mail&#12450;&#12489;&#12524;&#12473;&#65288;&#20219;&#24847;&#65289;',
'info_email_envoi_txt' => 'e-mail&#12434;&#36865;&#12427;&#12398;&#12395;&#20351;&#12387;&#12390;&#12356;&#12427;&#36865;&#12426;&#20027;&#12398;e-mail&#12450;&#12489;&#12524;&#12473;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#65288;&#12487;&#12501;&#12457;&#12523;&#12488;&#12391;&#12289;&#21463;&#20449;&#32773;&#12398;&#12450;&#12489;&#12524;&#12473;&#12399;&#36865;&#20449;&#32773;&#12398;&#12450;&#12489;&#12524;&#12473;&#12364;&#20837;&#21147;&#12375;&#12390;&#12354;&#12426;&#12414;&#12377;&nbsp;:',
'info_email_webmestre' => '&#12454;&#12455;&#12502;&#12510;&#12473;&#12479;&#12540;&#12398;e-mail&#12450;&#12489;&#12524;&#12473;&#65288;&#20219;&#24847;&#65289;',
'info_entrer_code_alphabet' => '&#20351;&#12387;&#12390;&#12356;&#12427;&#25991;&#23383;&#12475;&#12483;&#12488;&#12398;&#12467;&#12540;&#12489;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;:',
'info_envoi_email_automatique' => '&#12513;&#12540;&#12523;&#12434;&#33258;&#21205;&#36865;&#20449;',
'info_envoi_forum' => '&#35352;&#20107;&#12398;&#33879;&#32773;&#12383;&#12385;&#12395;&#12501;&#12457;&#12540;&#12521;&#12512;&#12391;&#36865;&#12427;',
'info_envoyer_maintenant' => '&#20170;&#36865;&#12427;',
'info_erreur_restauration' => '&#24489;&#20803;&#12456;&#12521;&#12540;&#65306;&#12501;&#12449;&#12452;&#12523;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12290;',
'info_etape_suivante' => '&#27425;&#12398;&#12473;&#12486;&#12483;&#12503;&#12395;&#36914;&#12416;',
'info_etape_suivante_1' => '&#27425;&#12398;&#12473;&#12486;&#12483;&#12503;&#12395;&#31227;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'info_etape_suivante_2' => '&#27425;&#12398;&#12473;&#12486;&#12483;&#12503;&#12395;&#31227;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'info_exportation_base' => '@archive@ &#12408;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#12456;&#12461;&#12473;&#12509;&#12540;&#12488;&#65288;&#36664;&#20986;&#65289;',
'info_facilite_suivi_activite' => '&#12469;&#12452;&#12488;&#12391;&#12398;&#32232;&#38598;&#27963;&#21205;&#12398;&#12362;&#25163;&#20253;&#12356;&#12398;&#12383;&#12417;&#12395;&#12289;SPIP&#12399;&#35352;&#20107;&#20844;&#38283;&#35201;&#27714;&#12289;&#36969;&#24615;&#26908;&#26619;&#12398;&#32080;&#26524;&#12394;&#12393;&#12289;&#12513;&#12540;&#12523;&#12391;&#33258;&#21205;&#36865;&#20449;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#65288;&#20363;&#12360;&#12400;&#12513;&#12540;&#12522;&#12531;&#12464;&#12522;&#12473;&#12488;&#12394;&#12393;&#65289;',
'info_fichiers_authent' => '&#35469;&#35388;&#12501;&#12449;&#12452;&#12523; ".htpasswd"',
'info_fonctionnement_forum' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#25805;&#20316;:',
'info_forum_administrateur' => '&#31649;&#29702;&#32773;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;',
'info_forum_interne' => '&#20869;&#37096;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;',
'info_forum_ouvert' => '&#12469;&#12452;&#12488;&#12398;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12398;&#20013;&#12391;&#12289;&#12501;&#12457;&#12540;&#12521;&#12512;&#12399;&#12377;&#12409;&#12390;&#12398;&#30331;&#37682;&#12373;&#12428;&#12383;&#12456;&#12487;&#12451;&#12479;&#12540;&#12395;&#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;
&#19979;&#12391;&#12289;&#12354;&#12394;&#12383;&#12399;&#31649;&#29702;&#32773;&#12398;&#12383;&#12417;&#12395;
&#20104;&#32004;&#12373;&#12428;&#12383;&#29305;&#21029;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#26377;&#21177;&#12395;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'info_forum_statistiques' => '&#35370;&#21839;&#32773;&#12398;&#32113;&#35336;',
'info_forums_abo_invites' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12399;&#12469;&#12502;&#12473;&#12463;&#12522;&#12503;&#12471;&#12519;&#12531;&#12398;&#12383;&#12417;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#25345;&#12387;&#12390;&#12356;&#12414;&#12377;; &#35370;&#21839;&#32773;&#36948;&#12399;&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12391;&#12381;&#12428;&#12425;&#12398;&#12383;&#12417;&#12395;&#30331;&#37682;&#12377;&#12427;&#12363;&#12418;&#12375;&#12428;&#12414;&#12379;&#12435;&#12290;',
'info_gauche_admin_effacer' => '<b>&#31649;&#29702;&#32773;&#12398;&#12415;&#12364;&#12371;&#12398;&#12506;&#12540;&#12472;&#12395;&#12450;&#12463;&#12475;&#12473;&#20986;&#26469;&#12427;&#12290;</b><p /> &#12381;&#12398;&#12506;&#12540;&#12472;&#12399;&#12373;&#12414;&#12374;&#12414;&#12394;&#25216;&#34899;&#30340;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;&#12398;&#12383;&#12417;&#12398;&#25163;&#38918;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;&#12356;&#12367;&#12425;&#12363;&#12398;&#25163;&#38918;&#12391;&#12399;&#21516;WEB&#12469;&#12452;&#12488;&#12408;&#12398;FTP&#12450;&#12463;&#12475;&#12473;&#12395;&#12424;&#12427;&#29305;&#21029;&#12394;&#35469;&#35388;&#25163;&#38918;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;',
'info_gauche_admin_tech' => '<b>&#31649;&#29702;&#32773;&#12398;&#12415;&#12364;&#12371;&#12398;&#12506;&#12540;&#12472;&#12395;&#12450;&#12463;&#12475;&#12473;&#20986;&#26469;&#12427;&#12290;</b><p /> &#12381;&#12398;&#12506;&#12540;&#12472;&#12399;&#12373;&#12414;&#12374;&#12414;&#12394;&#25216;&#34899;&#30340;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;&#12398;&#12383;&#12417;&#12398;&#25163;&#38918;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;&#12356;&#12367;&#12425;&#12363;&#12398;&#25163;&#38918;&#12391;&#12399;&#21516;WEB&#12469;&#12452;&#12488;&#12408;&#12398;FTP&#12450;&#12463;&#12475;&#12473;&#12395;&#12424;&#12427;&#29305;&#21029;&#12394;&#35469;&#35388;&#25163;&#38918;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;',
'info_gauche_admin_vider' => '<b>&#12371;&#12398;&#12506;&#12540;&#12472;&#12399;&#31649;&#29702;&#32773;&#12398;&#12415;&#12450;&#12463;&#12475;&#12473;&#20986;&#26469;&#12414;&#12377;&#12290;</b><p /> &#12371;&#12398;&#12506;&#12540;&#12472;&#12399;&#12356;&#12429;&#12356;&#12429;&#12394;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;&#12398;&#25163;&#38918;&#12434;&#25552;&#20379;&#12375;&#12414;&#12377;&#12290;&#12356;&#12367;&#12388;&#12363;&#12398;&#25163;&#38918;&#12399;&#21516;WEB&#12469;&#12452;&#12488;&#12408;&#12398;&#12450;&#12463;&#12475;&#12473;&#12395;&#12424;&#12427;&#29305;&#21029;&#12394;&#35469;&#35388;&#12434;&#24517;&#35201;&#12392;&#12375;&#12414;&#12377;&#12290;',
'info_gauche_auteurs' => '&#12354;&#12394;&#12383;&#12399;&#12469;&#12452;&#12488;&#12398;&#33879;&#32773;&#12383;&#12385;&#12377;&#12409;&#12390;&#12434;&#12371;&#12371;&#12391;&#35211;&#12388;&#12369;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
&#12381;&#12428;&#12382;&#12428;&#12398;&#29366;&#24907;&#12399;&#12450;&#12452;&#12467;&#12531;&#12398;&#33394;&#12395;&#12424;&#12387;&#12390;&#31034;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#65288;&#31649;&#29702;&#32773; = &#32209;; &#12456;&#12487;&#12451;&#12479;&#12540; = &#40644;&#33394;&#65289;&#12290;',
'info_gauche_auteurs_exterieurs' => '&#22806;&#37096;&#12398;&#33879;&#32773;&#12383;&#12385;&#12289;&#12469;&#12452;&#12488;&#12408;&#12398;&#12393;&#12435;&#12394;&#12450;&#12463;&#12475;&#12473;&#12418;&#12394;&#12356;&#12289;&#12399;&#38738;&#12356;&#12450;&#12452;&#12467;&#12531;&#12391;&#31034;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;; &#12414;&#12383;&#12289;&#21066;&#38500;&#12373;&#12428;&#12383;&#33879;&#32773;&#12383;&#12385;&#12399;&#12468;&#12511;&#31665;&#12391;&#12377;&#12290;',
'info_gauche_messagerie' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12399;&#12456;&#12487;&#12451;&#12479;&#12540;&#21516;&#22763;&#12391;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12398;&#20132;&#25563;&#12434;&#21487;&#33021;&#12395;&#12375;&#12414;&#12377;&#12289;&#20445;&#35703;&#12373;&#12428;&#12383;&#12513;&#12514;&#65288;&#12354;&#12394;&#12383;&#12398;&#31169;&#29992;&#21521;&#12369;&#65289;&#12414;&#12383;&#12399;&#12289;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12398;&#12507;&#12540;&#12512;&#12506;&#12540;&#12472;&#12398;&#12450;&#12490;&#12454;&#12531;&#12473;&#12434;&#31034;&#12377;&#65288;&#12354;&#12394;&#12383;&#12364;&#31649;&#29702;&#32773;&#12398;&#22580;&#21512;&#65289;&#12290;',
'info_gauche_numero_auteur' => '&#33879;&#32773;&#30058;&#21495;',
'info_gauche_numero_breve' => '&#12491;&#12517;&#12540;&#12473;&#30058;&#21495;',
'info_gauche_statistiques_referers' => '&#12371;&#12398;&#12506;&#12540;&#12472;&#12399;<I>referrers</I>&#12398;&#12522;&#12473;&#12488;&#12434;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;&#12388;&#12414;&#12426;&#26152;&#26085;&#12392;&#20170;&#26085;&#12398;&#38291;&#12289;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12408;&#12398;&#12522;&#12531;&#12463;&#12434;&#21547;&#12435;&#12384;&#12469;&#12452;&#12488;&#65306;&#23455;&#38555;&#12395;&#12371;&#12398;&#12522;&#12473;&#12488;&#12399;&#65298;&#65300;&#26178;&#38291;&#12372;&#12392;&#12395;&#21021;&#26399;&#21270;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;',
'info_gauche_suivi_forum' => '<I>&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#32154;&#22577;</i>&#12506;&#12540;&#12472;&#12399;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#31649;&#29702;&#36947;&#20855;&#12391;&#12377;&#12290;&#65288;&#35696;&#35542;&#12375;&#12383;&#12426;&#12456;&#12522;&#12450;&#12434;&#32232;&#38598;&#12391;&#12365;&#12414;&#12379;&#12435;&#65289;&#12290;&#12371;&#12398;&#35352;&#20107;&#12398;&#20844;&#38283;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#12377;&#12409;&#12390;&#12398;&#36002;&#29486;&#12434;&#34920;&#31034;&#12375;&#12390;&#12289;&#12381;&#12428;&#12425;&#36002;&#29486;&#12434;&#31649;&#29702;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;',
'info_gauche_suivi_forum_2' => '<I>&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#32154;&#22577;</i>&#12506;&#12540;&#12472;&#12399;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#31649;&#29702;&#36947;&#20855;&#12391;&#12377;&#12290;&#65288;&#35696;&#35542;&#12375;&#12383;&#12426;&#32232;&#38598;&#12391;&#12365;&#12414;&#12379;&#12435;&#65289;&#12290;&#12371;&#12398;&#35352;&#20107;&#12398;&#20844;&#38283;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#12377;&#12409;&#12390;&#12398;&#36002;&#29486;&#12434;&#34920;&#31034;&#12375;&#12390;&#12289;&#12381;&#12428;&#12425;&#36002;&#29486;&#12434;&#31649;&#29702;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;',
'info_gauche_visiteurs_enregistres' => '&#12371;&#12371;&#12391;&#12469;&#12452;&#12488;&#12398;&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12456;&#12522;&#12450;&#12391;&#30331;&#37682;&#12373;&#12428;&#12383;&#35370;&#21839;&#32773;&#12383;&#12385;&#12434;&#25506;&#12379;&#12427;&#12391;&#12375;&#12423;&#12358;&#65288;&#23492;&#20184;&#12395;&#12424;&#12427;&#12501;&#12457;&#12540;&#12521;&#12512;&#65289;&#12290;',
'info_generation_miniatures_images' => '&#30011;&#20687;&#12398;&#12469;&#12512;&#12493;&#12452;&#12523;&#12434;&#29983;&#25104;',
'info_gerer_trad' => '&#32763;&#35379;&#29256;&#21516;&#22763;&#12522;&#12531;&#12463;&#12375;&#21512;&#12356;&#12414;&#12377;&#12363;&#65311;',
'info_groupe_important' => '&#37325;&#35201;&#12394;&#12464;&#12523;&#12540;&#12503;',
'info_hebergeur_desactiver_envoi_email' => '&#33509;&#24178;&#12398;&#12507;&#12473;&#12488;&#12391;&#12399;&#12289;&#12381;&#12428;&#12425;&#12469;&#12540;&#12496;&#12540;&#19978;&#12363;&#12425;&#33258;&#21205;&#30340;&#12395;&#12513;&#12540;&#12523;&#12434;&#36865;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12379;&#12435;&#12290;&#12381;&#12358;&#12356;&#12358;&#22580;&#21512;&#12289;SPIP&#12398;&#27425;&#12398;&#27231;&#33021;&#12399;&#23455;&#26045;&#12391;&#12365;&#12414;&#12379;&#12435;&#12290;',
'info_hier' => '&#26152;&#26085;&#65306;',
'info_historique' => '&#12522;&#12499;&#12472;&#12519;&#12531;&#65288;&#20462;&#27491;&#65289;:',
'info_historique_activer' => '&#12522;&#12499;&#12472;&#12519;&#12531;&#65288;&#20462;&#27491;&#28857;&#65289;&#12398;&#34920;&#31034;&#12434;&#26377;&#21177;&#12395;&#12377;&#12427;',
'info_historique_affiche' => '&#12371;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#34920;&#31034;',
'info_historique_comparaison' => '&#27604;&#36611;',
'info_historique_desactiver' => '&#12522;&#12499;&#12472;&#12519;&#12531;&#65288;&#25913;&#35330;&#65289;&#12398;&#34920;&#31034;&#12434;&#28961;&#21177;&#21270;&#12377;&#12427;',
'info_historique_lien' => '&#22793;&#26356;&#12398;&#12522;&#12473;&#12488;&#12434;&#34920;&#31034;',
'info_historique_texte' => '&#25913;&#35330;&#65288;&#12522;&#12499;&#12472;&#12519;&#12531;&#65289;&#12398;&#36861;&#36321;&#12391;&#12289;&#12354;&#12394;&#12383;&#12364;&#35352;&#20107;&#12398;&#12377;&#12409;&#12390;&#12398;&#22793;&#26356;&#12434;&#35352;&#37682;&#12539;&#36861;&#36321;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#21069;&#24460;&#12496;&#12540;&#12472;&#12519;&#12531;&#12392;&#12398;&#35352;&#20107;&#12398;&#22793;&#26356;&#28857;&#12434;&#34920;&#31034;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'info_historique_titre' => '&#25913;&#35330;&#65288;&#12522;&#12499;&#12472;&#12519;&#12531;&#65289;&#12398;&#36861;&#36321;',
'info_identification_publique' => '&#12354;&#12394;&#12383;&#12398;&#20844;&#38283;ID...',
'info_image_process' => '&#12511;&#12491;&#12481;&#12517;&#12450;&#12434;&#20316;&#12427;&#26368;&#12418;&#33391;&#12356;&#26041;&#27861;&#12434;&#12289;&#23550;&#24540;&#12377;&#12427;&#20889;&#30495;&#12398;&#19978;&#12434;&#12289;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#36984;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;',
'info_image_process2' => '<b>&#20184;&#35352;</b> <i>&#12418;&#12375;&#30011;&#20687;&#12434;&#35211;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12394;&#12363;&#12387;&#12383;&#12425;&#12289;&#12354;&#12394;&#12383;&#12398;&#12469;&#12540;&#12496;&#12540;&#12391;&#12399;&#12477;&#12501;&#12488;&#12364;&#20351;&#12360;&#12427;&#12424;&#12358;&#12395;&#35373;&#23450;&#12375;&#12390;&#12354;&#12426;&#12414;&#12379;&#12435;&#12290;&#12418;&#12375;&#12354;&#12394;&#12383;&#12364;&#12381;&#12428;&#12425;&#12398;&#27231;&#33021;&#12434;&#20351;&#12356;&#12383;&#12356;&#12394;&#12425;&#12289;&#12503;&#12525;&#12496;&#12452;&#12480;&#12398;&#25216;&#34899;&#12469;&#12509;&#12540;&#12488;&#12395;&laquo;GD&raquo;&#12363;&laquo;Imagick&raquo;&#25313;&#24373;&#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12418;&#12425;&#12387;&#12390;&#19979;&#12373;&#12356;&#12290;</i>',
'info_images_auto' => '&#30011;&#20687;&#33258;&#21205;&#31649;&#29702;',
'info_informations_personnelles' => '&#65301;&#30058;&#30446;&#12398;&#12473;&#12486;&#12483;&#12503;: <B>&#20491;&#20154;&#24773;&#22577;</B>',
'info_inscription_automatique' => '&#26032;&#12375;&#12356;&#12456;&#12487;&#12451;&#12479;&#12540;&#12398;&#30331;&#37682;&#12398;&#33258;&#21205;&#21270;',
'info_jeu_caractere' => '&#12469;&#12452;&#12488;&#12398;&#25991;&#23383;&#12467;&#12540;&#12489;',
'info_jours' => '&#26085;',
'info_laisser_champs_vides' => '&#12371;&#12428;&#12425;&#12398;&#12501;&#12451;&#12540;&#12523;&#12489;&#12434;&#31354;&#12398;&#12414;&#12414;&#12395;&#12375;&#12390;&#12362;&#12367;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;)',
'info_langues' => '&#12469;&#12452;&#12488;&#12398;&#35328;&#35486;',
'info_ldap_ok' => 'LDAP&#35469;&#35388;&#12399;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;',
'info_lien_hypertexte' => '&#12522;&#12531;&#12463;:',
'info_liens_syndiques_1' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12522;&#12531;&#12463;',
'info_liens_syndiques_2' => '&#36969;&#27491;&#26908;&#26619;&#21069;&#12290;',
'info_liens_syndiques_3' => '&#12501;&#12457;&#12540;&#12521;&#12512;',
'info_liens_syndiques_4' => 'are',
'info_liens_syndiques_5' => '&#12501;&#12457;&#12540;&#12521;&#12512;',
'info_liens_syndiques_6' => 'is',
'info_liens_syndiques_7' => '&#36969;&#27491;&#26908;&#26619;&#21069;&#12290;',
'info_liste_redacteurs_connectes' => '&#25509;&#32154;&#20013;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12398;&#12522;&#12473;&#12488;',
'info_login_existant' => '&#12371;&#12398;ID&#12399;&#26082;&#12395;&#20351;&#12431;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;',
'info_login_trop_court' => '&#12525;&#12464;&#12452;&#12531;ID&#12364;&#30701;&#12377;&#12366;&#12414;&#12377;&#12290;',
'info_maximum' => '&#26368;&#22823;:',
'info_meme_rubrique' => '&#21516;&#12376;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;',
'info_message' => '&#12513;&#12483;&#12475;&#12540;&#12472; from',
'info_message_efface' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12399;&#21066;&#38500;&#12373;&#12428;&#12383;',
'info_message_en_redaction' => '&#36914;&#34892;&#20013;&#12398;&#12354;&#12394;&#12383;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;',
'info_message_technique' => '&#25216;&#34899;&#30340;&#12394;&#12513;&#12483;&#12475;&#12540;&#12472;:',
'info_messagerie_interne' => '&#20869;&#37096;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;',
'info_mise_a_niveau_base' => 'MySQL&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12364;&#12450;&#12483;&#12503;&#12464;&#12524;&#12540;&#12489;&#12375;&#12383;',
'info_mise_a_niveau_base_2' => '{{&#35686;&#21578;!}} &#12354;&#12394;&#12383;&#12399;&#21069;&#12395;&#12371;&#12398;&#12469;&#12452;&#12488;&#12395;&#12354;&#12387;&#12383;&#12418;&#12398;&#12424;&#12426;
{&#21476;&#12356;}&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;SPIP&#12398;&#12501;&#12449;&#12452;&#12523;&#12434;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12414;&#12375;&#12383;: &#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12395;&#12399;&#25613;&#22833;&#12398;&#21361;&#27231;&#12364;&#36843;&#12426;&#12289;
&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12399;&#12371;&#12428;&#20197;&#19978;&#36969;&#20999;&#12395;&#21205;&#12363;&#12394;&#12356;&#12391;&#12375;&#12423;&#12358;&#12290;<br>{{SPIP&#12501;&#12449;&#12452;&#12523;&#12434;
&#20877;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12290;}}',
'info_mode_fonctionnement_defaut_forum_public' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#12398;&#21629;&#20196;&#12514;&#12540;&#12489;',
'info_modifier_breve' => '&#20462;&#27491;&#12377;&#12427;&#12491;&#12517;&#12540;&#12473;:',
'info_modifier_rubrique' => '&#20462;&#27491;&#12377;&#12427;&#12475;&#12463;&#12471;&#12519;&#12531;:',
'info_modifier_titre' => '&#20462;&#27491;: @titre@',
'info_mon_site_spip' => '&#31169;&#12398;SPIP&#12398;&#12469;&#12452;&#12488;',
'info_mot_sans_groupe' => '(&#12464;&#12523;&#12540;&#12503;&#12434;&#38500;&#12356;&#12383;&#12461;&#12540;&#12527;&#12540;&#12489;...)',
'info_moteur_recherche' => '&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12434;&#32080;&#21512;&#12375;&#12383;',
'info_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;',
'info_mots_cles_association' => '&#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#32080;&#12403;&#12388;&#12369;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12427;:',
'info_moyenne' => '&#24179;&#22343;&#65306;',
'info_multi_articles' => '&#35352;&#20107;&#29992;&#12395;&#35328;&#35486;&#36984;&#25246;&#12513;&#12491;&#12517;&#12540;&#12434;&#26377;&#21177;&#12395;&#12375;&#12414;&#12377;&#12363;&#65311;',
'info_multi_cet_article' => '&#12371;&#12398;&#35352;&#20107;&#12398;&#35328;&#35486;&#65306;',
'info_multi_langues_choisies' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12364;&#21033;&#29992;&#12391;&#12365;&#12427;&#35328;&#35486;&#12434;&#19979;&#12391;&#36984;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;&#12418;&#12358;&#12377;&#12391;&#12395;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#20869;&#12391;&#65288;&#12522;&#12473;&#12488;&#12398;&#19978;&#12391;&#65289;&#20351;&#12431;&#12428;&#12390;&#12356;&#12427;&#35328;&#35486;&#12399;&#28961;&#21177;&#12395;&#20986;&#26469;&#12414;&#12379;&#12435;&#12290;',
'info_multi_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#29992;&#12395;&#12395;&#35328;&#35486;&#36984;&#25246;&#12513;&#12491;&#12517;&#12540;&#12434;&#26377;&#21177;&#12395;&#12375;&#12414;&#12377;&#12363;&#65311;',
'info_multi_secteurs' => '... &#12523;&#12540;&#12488;&#65288;&#19968;&#30058;&#19978;&#12398;&#12501;&#12457;&#12523;&#12480;&#65289;&#12395;&#12354;&#12427;&#12475;&#12463;&#12471;&#12519;&#12531;&#12384;&#12369;&#26377;&#21177;&#12395;&#12375;&#12414;&#12377;&#12363;&#65311;',
'info_nom' => '&#21517;&#21069;',
'info_nom_destinataire' => '&#21463;&#21462;&#20154;&#12398;&#21517;&#21069;',
'info_nom_site' => '&#65320;&#65328;&#12398;&#21517;&#21069;',
'info_nom_site_2' => '<b>&#12469;&#12452;&#12488;&#12398;&#21517;&#21069;</b> [&#24517;&#38920;]',
'info_nombre_articles' => '@nb_articles@ &#35352;&#20107;&#12289;',
'info_nombre_breves' => '@nb_breves@ &#12491;&#12517;&#12540;&#12473;&#12289;',
'info_nombre_partcipants' => '&#35342;&#35542;&#12398;&#21442;&#21152;&#32773;:',
'info_nombre_rubriques' => '@nb_rubriques@ &#12475;&#12463;&#12471;&#12519;&#12531;&#12289;',
'info_nombre_sites' => '@nb_sites@&#12469;&#12452;&#12488;&#12289;',
'info_non_deplacer' => '&#21205;&#12363;&#12373;&#12394;&#12356;&#12391;...',
'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP&#12399;&#23450;&#26399;&#30340;&#12395;&#12469;&#12452;&#12488;&#12398;&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12289;&#12450;&#12490;&#12454;&#12531;&#12473;&#12434;&#36865;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;
&#65288;&#26368;&#36817;&#20844;&#38283;&#12373;&#12428;&#12383;&#35352;&#20107;&#12392;&#12491;&#12517;&#12540;&#12473;&#65289;&#12290;',
'info_non_envoi_liste_nouveautes' => '&#26368;&#26032;&#12398;&#12491;&#12517;&#12540;&#12473;&#12398;&#12522;&#12473;&#12488;&#12434;&#36865;&#12425;&#12394;&#12356;',
'info_non_modifiable' => '&#22793;&#26356;&#12391;&#12365;&#12394;&#12356;',
'info_non_suppression_mot_cle' => '&#31169;&#12399;&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#21066;&#38500;&#12377;&#12427;&#12371;&#12392;&#12434;&#26395;&#12415;&#12414;&#12379;&#12435;&#12290;',
'info_notes' => '&#35036;&#36275;',
'info_nouveaux_message' => '&#26032;&#12375;&#12356;&#12513;&#12483;&#12475;&#12540;&#12472;',
'info_nouvel_article' => '&#26032;&#12375;&#12356;&#35352;&#20107;',
'info_nouvelle_traduction' => '&#26032;&#12375;&#12356;&#32763;&#35379;:',
'info_numero_article' => '&#35352;&#20107;&#30058;&#21495;:',
'info_obligatoire_02' => '[&#35201;&#27714;&#12375;&#12383;]',
'info_option_accepter_visiteurs' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12363;&#12425;&#12398;&#35370;&#21839;&#32773;&#12398;&#30331;&#37682;&#12434;&#35377;&#21487;',
'info_option_email' => '&#12469;&#12452;&#12488;&#12398;&#35370;&#21839;&#32773;&#12364;&#12289;&#35352;&#20107;&#12395;&#38306;&#36899;&#12375;&#12390;&#12356;&#12427;&#12501;&#12457;&#12540;&#12521;&#12512;&#12395;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#25237;&#31295;&#12375;&#12383;&#26178;&#12289;&#35352;&#20107;&#12398;&#33879;&#32773;&#12383;&#12385;&#12395;e-mail&#12395;&#12424;&#12387;&#12390;&#12371;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36890;&#30693;&#12391;&#12365;&#12414;&#12377;&#12290;&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#20351;&#12356;&#12383;&#12356;&#12391;&#12377;&#12363;&nbsp;&#65311;',
'info_option_faire_suivre' => '&#33879;&#32773;&#12383;&#12385;&#12408;&#12501;&#12457;&#12540;&#12521;&#12512;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12427;',
'info_option_ne_pas_accepter_visiteurs' => '&#35370;&#21839;&#32773;&#12398;&#30331;&#37682;&#12434;&#26029;&#12427;',
'info_option_ne_pas_faire_suivre' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12425;&#12394;&#12356;',
'info_options_avancees' => '&#25313;&#24373;&#12458;&#12503;&#12471;&#12519;&#12531;',
'info_ortho_activer' => '&#12473;&#12506;&#12523;&#12481;&#12455;&#12483;&#12459;&#12540;&#12434;&#26377;&#21177;&#12395;&#12377;&#12427;',
'info_ortho_desactiver' => '&#12473;&#12506;&#12523;&#12481;&#12455;&#12483;&#12459;&#12540;&#12434;&#28961;&#21177;&#12395;&#12377;&#12427;&#12290;',
'info_ou' => '&#21448;&#12399;...',
'info_oui_suppression_mot_cle' => '&#31169;&#12399;&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#27704;&#20037;&#12395;&#21066;&#38500;&#12377;&#12427;&#12371;&#12392;&#12434;&#26395;&#12415;&#12414;&#12377;&#12290;',
'info_page_interdite' => '&#31105;&#12376;&#12425;&#12428;&#12383;&#12506;&#12540;&#12472;',
'info_par_nombre_article' => '(&#35352;&#20107;&#12398;&#25968;&#12395;&#12424;&#12387;&#12390;)',
'info_par_tri' => '(By @tri@)',
'info_pas_de_forum' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12399;&#28961;&#12356;',
'info_passe_trop_court' => '&#12497;&#12473;&#12527;&#12540;&#12489;&#12364;&#30701;&#12377;&#12366;&#12414;&#12377;&#12290;',
'info_passes_identiques' => '&#12381;&#12398;&#20108;&#12388;&#12398;&#12497;&#12473;&#12527;&#12540;&#12489;&#12399;&#21516;&#19968;&#12391;&#12394;&#12356;&#12290;',
'info_pense_bete_ancien' => '&#12354;&#12394;&#12383;&#12398;&#21476;&#12356;&#12513;&#12514;&#39006;',
'info_plus_cinq_car' => '&#65302;&#25991;&#23383;&#20197;&#19978;',
'info_plus_cinq_car_2' => '(&#65302;&#25991;&#23383;&#20197;&#19978;)',
'info_plus_trois_car' => '(&#65300;&#25991;&#23383;&#20197;&#19978;)',
'info_popularite' => '&#20154;&#27671;&#24230;: @popularite@; &#35370;&#21839;&#32773;: @visites@',
'info_popularite_2' => '&#12469;&#12452;&#12488;&#12398;&#20154;&#27671;&#24230;:',
'info_popularite_3' => '&#20154;&#27671;&#24230;:&nbsp;@popularite@; &#35370;&#21839;&#32773;:&nbsp;@visites@',
'info_popularite_4' => '&#20154;&#27671;&#24230;:&nbsp;@popularite@; &#35370;&#21839;&#32773;:&nbsp;@visites@',
'info_post_scriptum' => 'Postscript',
'info_post_scriptum_2' => 'Postscript:',
'info_pour' => 'for',
'info_preview_admin' => '&#31649;&#29702;&#32773;&#12398;&#12415;&#12289;&#12503;&#12524;&#12499;&#12517;&#12540;&#12514;&#12540;&#12489;&#12408;&#12450;&#12463;&#12475;&#12473;&#20986;&#26469;&#12427;',
'info_preview_comite' => '&#12377;&#12409;&#12390;&#12398;&#32232;&#38598;&#32773;&#12364;&#12503;&#12524;&#12499;&#12517;&#12540;&#12514;&#12540;&#12489;&#12408;&#12450;&#12463;&#12475;&#12473;&#20986;&#26469;&#12427;',
'info_preview_desactive' => '&#12503;&#12524;&#12499;&#12517;&#12540;&#12514;&#12540;&#12489;&#12399;&#20351;&#29992;&#19981;&#33021;',
'info_preview_texte' => '&#65288;&#23569;&#12394;&#12367;&#12392;&#12418;"&#25552;&#20986;&#20013;"&#29366;&#24907;&#12398;&#65289;&#12377;&#12409;&#12390;&#12398;&#35352;&#20107;&#12392;&#12491;&#12517;&#12540;&#12473;&#12434;&#20844;&#34920;&#12375;&#12383;&#26178;&#12393;&#12398;&#12424;&#12358;&#12395;&#35211;&#12360;&#12427;&#12363;&#35430;&#12375;&#12395;&#35211;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12371;&#12398;&#12503;&#12524;&#12499;&#12517;&#12540;&#12514;&#12540;&#12489;&#12399;&#31649;&#29702;&#20154;&#12384;&#12369;&#12395;&#38480;&#23450;&#12377;&#12427;&#12363;&#12289;&#12377;&#12409;&#12390;&#12398;&#32232;&#38598;&#32773;&#12395;&#38283;&#25918;&#12377;&#12427;&#12363;&#12289;&#23436;&#20840;&#12395;&#28961;&#21177;&#12395;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'info_principaux_correspondants' => '&#12354;&#12394;&#12383;&#12398;&#20027;&#12394;&#36890;&#20449;&#32773;',
'info_procedez_par_etape' => '&#12393;&#12358;&#12363;&#12473;&#12486;&#12483;&#12503;by&#12473;&#12486;&#12483;&#12503;&#12391;&#36914;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;',
'info_procedure_maj_version' => '&#26032;&#12375;&#12356;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;SPIP&#12395;&#38918;&#24540;&#12373;&#12379;&#12427;&#12383;&#12417;&#12395;&#12289;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#12450;&#12483;&#12503;&#12464;&#12524;&#12540;&#12489;&#12377;&#12427;&#12409;&#12365;&#12391;&#12377;&#12290;',
'info_ps' => 'P.S.',
'info_publier' => '<NEW>publish',
'info_publies' => '&#12458;&#12531;&#12521;&#12452;&#12531;&#12395;&#20844;&#38283;&#12373;&#12428;&#12383;&#12354;&#12394;&#12383;&#12398;&#35352;&#20107;',
'info_question_accepter_visiteurs' => '&#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#12486;&#12531;&#12503;&#12524;&#12540;&#12488;&#12364;&#12289;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12395;&#20837;&#12425;&#12394;&#12356;&#12391;&#30331;&#37682;&#12377;&#12427;&#35370;&#21839;&#32773;&#12383;&#12385;&#12434;&#35377;&#12377;&#12394;&#12425;&#12289;&#27425;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#26377;&#21177;&#12395;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;:',
'info_question_gerer_statistiques' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#35370;&#21839;&#32773;&#12398;&#32113;&#35336;&#12434;&#31649;&#29702;&#12377;&#12409;&#12365;&#12391;&#12377;&#12363;&#65311;',
'info_question_inscription_nouveaux_redacteurs' => '&#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12391;&#26032;&#12375;&#12356;&#12456;&#12487;&#12451;&#12479;&#12540;&#12398;&#30331;&#37682;&#12434;&#21215;&#12426;&#12414;&#12377;&#12363;&#65311;&#12288;&#35377;&#21487;&#12375;&#12383;&#22580;&#21512;&#12289;&#35370;&#21839;&#32773;&#12383;&#12385;&#12399;&#12501;&#12457;&#12540;&#12512;&#12363;&#12425;&#33258;&#21205;&#12391;&#30331;&#37682;&#12391;&#12365;&#12289;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12395;&#12450;&#12463;&#12475;&#12473;&#12375;&#33258;&#20998;&#12398;&#35352;&#20107;&#12434;&#25552;&#20986;&#12391;&#12365;&#12414;&#12377;&#12290; <blockquote><i>&#30331;&#37682;&#20316;&#26989;&#20013;&#12395;&#12289;&#12518;&#12540;&#12470;&#12540;&#12399;&#33258;&#21205;&#30340;&#12395;&#36865;&#20449;&#12373;&#12428;&#12427;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12408;&#12398;ID&#12392;&#12497;&#12473;&#12527;&#12540;&#12489;&#12434;&#35352;&#12375;&#12383;e-mail&#12434;&#21463;&#12369;&#21462;&#12426;&#12414;&#12377;&#12290;&#33509;&#24178;&#12398;&#12507;&#12473;&#12488;&#12391;&#12399;&#12289;&#12381;&#12428;&#12425;&#12469;&#12540;&#12496;&#12540;&#19978;&#12363;&#12425;&#12513;&#12540;&#12523;&#12364;&#36865;&#12428;&#12394;&#12356;&#22580;&#21512;&#12364;&#12354;&#12426;&#12414;&#12377;&#65306;&#12381;&#12358;&#12356;&#12358;&#22580;&#21512;&#12289;&#33258;&#21205;&#30331;&#37682;&#12434;&#23455;&#26045;&#12391;&#12365;&#12414;&#12379;&#12435;&#12290;',
'info_question_mots_cles' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12391;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#20351;&#12356;&#12383;&#12356;&#12391;&#12377;&#12363;&#65311;',
'info_question_proposer_site' => '&#35504;&#12364;&#21442;&#29031;&#12469;&#12452;&#12488;&#12434;&#25552;&#26696;&#12391;&#12365;&#12414;&#12377;&#12363;&#65311;',
'info_question_utilisation_moteur_recherche' => 'SPIP&#12395;&#32080;&#21512;&#12373;&#12428;&#12383;&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12434;&#20351;&#12356;&#12383;&#12356;&#12391;&#12377;&#12363;?
(&#28961;&#21177;&#12395;&#12377;&#12427;&#12392;&#12471;&#12473;&#12486;&#12512;&#12364;&#26089;&#12367;&#12394;&#12426;&#12414;&#12377;&#12290;)',
'info_qui_attribue_mot_cle' => '&#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12399;&#27425;&#12395;&#12424;&#12387;&#12390;&#21106;&#12426;&#24403;&#12390;&#20986;&#26469;&#12427;:',
'info_racine_site' => '&#12469;&#12452;&#12488;&#12398;&#12523;&#12540;&#12488;',
'info_recharger_page' => '&#12385;&#12423;&#12387;&#12392;&#12375;&#12390;&#12363;&#12425;&#12371;&#12398;&#12506;&#12540;&#12472;&#12434;&#20877;&#35501;&#36796;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'info_recherche_auteur_a_affiner' => '"@cherche_auteur@"&#12398;&#26908;&#32034;&#32080;&#26524;&#12364;&#22810;&#12377;&#12366;&#12414;&#12377;; &#12418;&#12358;&#12385;&#12423;&#12387;&#12392;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#12402;&#12397;&#12387;&#12390;&#26908;&#32034;&#12375;&#12390;&#19979;&#12373;&#12356;&#12290;',
'info_recherche_auteur_ok' => '"@cherche_auteur@"&#12395;&#23550;&#12377;&#12427;&#12456;&#12487;&#12451;&#12479;&#12540;&#12364;&#24190;&#20154;&#12363;&#35211;&#12388;&#12363;&#12426;&#12414;&#12375;&#12383;:',
'info_recherche_auteur_zero' => '"@cherche_auteur@"&#12399;&#20309;&#12418;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;',
'info_recommencer' => '&#12418;&#12358;&#19968;&#24230;&#25361;&#25126;&#12375;&#12390;&#12415;&#12390;&#19979;&#12373;&#12356;&#12290;',
'info_redacteur_1' => '&#32232;&#38598;&#32773;',
'info_redacteur_2' => '&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#12408;&#12398;&#12450;&#12463;&#12475;&#12473;&#12434;&#25345;&#12387;&#12390;&#12356;&#12427; (<i>&#25512;&#22888;</i>)',
'info_redacteurs' => '&#12456;&#12487;&#12451;&#12479;&#12540;&#12474;',
'info_redaction_en_cours' => '&#36914;&#34892;&#20013;&#12398;&#32232;&#38598;',
'info_redirection' => '&#12522;&#12480;&#12452;&#12524;&#12463;&#12471;&#12519;&#12531;',
'info_referencer_doc_distant' => '&#12452;&#12531;&#12479;&#12540;&#12493;&#12483;&#12488;&#19978;&#12398;&#25991;&#31456;&#12434;&#21442;&#29031;:',
'info_refuses' => '&#12354;&#12394;&#12383;&#12398;&#35352;&#20107;&#12399;&#25298;&#32118;&#12373;&#12428;&#12383;',
'info_reglage_ldap' => '&#12458;&#12503;&#12471;&#12519;&#12531;&#65306;<B>LDAP&#12452;&#12531;&#12509;&#12540;&#12488;&#12398;&#35519;&#25972;</b>',
'info_renvoi_article' => '<B>&#12522;&#12480;&#12452;&#12524;&#12463;&#12471;&#12519;&#12531;&#12290;</B> &#12371;&#12398;&#35352;&#20107;&#12399;&#12381;&#12398;&#12506;&#12540;&#12472;&#12434;&#21442;&#29031;&#12375;&#12414;&#12377;:',
'info_reserve_admin' => '&#31649;&#29702;&#32773;&#12398;&#12415;&#12364;&#12371;&#12398;&#12450;&#12489;&#12524;&#12473;&#12434;&#22793;&#26356;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12427;&#12290;',
'info_restauration_sauvegarde' => '&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;@archive@&#12398;&#24489;&#20803;',
'info_restreindre_rubrique' => '&#31649;&#29702;&#12391;&#12365;&#12427;&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#21046;&#38480;:',
'info_resultat_recherche' => '&#26908;&#32034;&#32080;&#26524;:',
'info_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;',
'info_rubriques_02' => '&#12475;&#12463;&#12471;&#12519;&#12531;',
'info_rubriques_liees_mot' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12392;&#32080;&#12403;&#12388;&#12369;&#12425;&#12428;&#12390;&#12356;&#12427;&#12475;&#12463;&#12471;&#12519;&#12531;',
'info_rubriques_trouvees' => '&#35211;&#12388;&#12363;&#12387;&#12383;&#12475;&#12463;&#12471;&#12519;&#12531;',
'info_rubriques_trouvees_dans_texte' => '&#35211;&#12388;&#12363;&#12387;&#12383;&#12475;&#12463;&#12471;&#12519;&#12531;&#65288;&#25991;&#20013;&#65289;',
'info_sans_titre' => '&#28961;&#21517;',
'info_sauvegarde' => '&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_articles' => '&#35352;&#20107;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_articles_sites_ref' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;&#12398;&#35352;&#20107;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_auteurs' => '&#33879;&#32773;&#36948;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_breves' => '&#12491;&#12517;&#12540;&#12473;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_documents' => '&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_echouee' => '&#12418;&#12375;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12364;&#22833;&#25943;&#12377;&#12427;&#12394;&#12425; (&laquo;&#26368;&#22823;&#23455;&#34892;&#26178;&#38291;&#12434;&#36229;&#12360;&#12383;&raquo;),',
'info_sauvegarde_forums' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_groupe_mots' => '&#12464;&#12523;&#12540;&#12503;&#12461;&#12540;&#12527;&#12540;&#12489;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_messages' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_petitions' => '&#35531;&#39000;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_refers' => '&#21442;&#29031;&#39006;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_reussi_01' => '&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12399;&#25104;&#21151;&#12375;&#12414;&#12375;&#12383;&#12290;',
'info_sauvegarde_reussi_02' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12399;&#12289;<b>ecrire/data/@archive@</b>&#12395;&#20445;&#23384;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;&#12354;&#12394;&#12383;&#12399;&#20986;&#26469;&#12414;&#12377;',
'info_sauvegarde_reussi_03' => '&#31649;&#29702;&#30011;&#38754;&#12408;&#25147;&#12427;',
'info_sauvegarde_reussi_04' => 'of &#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12290;',
'info_sauvegarde_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_signatures' => '&#35531;&#39000;&#12398;&#32626;&#21517;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_sites_references' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_type_documents' => '&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12398;&#12479;&#12452;&#12503;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_sauvegarde_visites' => '&#35370;&#21839;&#32773;&#39006;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'info_selection_chemin_acces' => '<b>&#19979;&#12434;&#36984;&#25246;</b> &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12450;&#12463;&#12475;&#12473;&#12497;&#12473;:',
'info_selection_un_seul_mot_cle' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#12464;&#12523;&#12540;&#12503;&#20869;&#12391;&#12289;&#65297;&#24230;&#12395;<b>&#65297;&#12388;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12384;&#12369;</b>&#36984;&#12406;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'info_signatures' => '&#32626;&#21517;',
'info_site' => '&#12469;&#12452;&#12488;',
'info_site_2' => '&#12469;&#12452;&#12488;&#65306;',
'info_site_min' => '&#12469;&#12452;&#12488;',
'info_site_propose' => '&#12469;&#12452;&#12488;&#12395;&#25552;&#20986;&#12373;&#12428;&#12383;:',
'info_site_reference_2' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;',
'info_site_syndique' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12399;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;...',
'info_site_valider' => '&#36969;&#27491;&#26908;&#26619;&#28168;&#12415;&#12469;&#12452;&#12488;',
'info_site_web' => '&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#65306;',
'info_sites' => '&#12469;&#12452;&#12488;',
'info_sites_lies_mot' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;&#12434;&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12392;&#38306;&#36899;&#20184;&#12369;&#12427;',
'info_sites_proxy' => '&#12503;&#12525;&#12461;&#12471;&#12434;&#20351;&#12358;',
'info_sites_refuses' => '&#12469;&#12452;&#12488;&#12395;&#25298;&#21542;&#12373;&#12428;&#12383;',
'info_sites_trouves' => '&#35211;&#12388;&#12363;&#12387;&#12383;&#12469;&#12452;&#12488;',
'info_sites_trouves_dans_texte' => '&#35211;&#12388;&#12363;&#12387;&#12383;&#12469;&#12452;&#12488;&#65288;&#25991;&#20013;&#65289;',
'info_sous_titre' => '&#12469;&#12502;&#12479;&#12452;&#12488;&#12523;:',
'info_statut_administrateur' => '&#31649;&#29702;&#32773;',
'info_statut_auteur' => '&#12371;&#12398;&#33879;&#32773;&#12398;&#29366;&#24907;:',
'info_statut_efface' => '&#21066;&#38500;',
'info_statut_redacteur' => '&#12456;&#12487;&#12451;&#12479;&#12540;',
'info_statut_site_1' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12399;:',
'info_statut_site_2' => '&#20844;&#38283;&#20013;',
'info_statut_site_3' => '&#25552;&#20986;&#20013;',
'info_statut_site_4' => '&#12468;&#12511;&#31665;&#12398;&#20013;',
'info_statut_utilisateurs_1' => '&#35501;&#12415;&#36796;&#12414;&#12428;&#12383;&#12518;&#12540;&#12470;&#12540;&#12398;&#27161;&#28310;&#12398;&#29366;&#24907;',
'info_statut_utilisateurs_2' => '&#22987;&#12417;&#12390;&#25509;&#32154;&#12375;&#12383;&#12392;&#12365;&#12395;LDAP&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#23384;&#22312;&#12539;&#23646;&#12375;&#12390;&#12356;&#12427;&#20154;&#12383;&#12385;&#12398;&#29366;&#24907;&#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#24460;&#12391;&#12289;&#12381;&#12428;&#12382;&#12428;&#12398;&#33879;&#32773;&#12372;&#12392;&#12395;&#12465;&#12540;&#12473;&#12496;&#12452;&#12465;&#12540;&#12473;&#12391;&#20516;&#12434;&#22793;&#26356;&#12391;&#12365;&#12414;&#12377;&#12290;',
'info_suivi_activite' => '&#32232;&#38598;&#27963;&#21205;&#12398;&#25163;&#20253;&#12356;',
'info_supprimer_mot' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#21066;&#38500;',
'info_surtitre' => '&#12488;&#12483;&#12503;&#12479;&#12452;&#12488;&#12523;:',
'info_taille_maximale_vignette' => '&#12471;&#12473;&#12486;&#12512;&#12395;&#12424;&#12387;&#12390;&#29983;&#29987;&#12373;&#12428;&#12383;&#12499;&#12493;&#12483;&#12488;&#65288;&#21322;&#36523;&#20687;&#12289;&#12525;&#12468;&#12394;&#12393;&#65289;&#12398;&#26368;&#22823;&#12398;&#22823;&#12365;&#12373;:',
'info_terminer_installation' => '&#12354;&#12394;&#12383;&#12399;&#20170;&#27161;&#28310;&#30340;&#12394;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#25163;&#38918;&#12434;&#32066;&#12360;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'info_texte' => '&#12486;&#12461;&#12473;&#12488;',
'info_texte_explicatif' => '&#35500;&#26126;&#29992;&#12398;&#25991;&#31456;',
'info_texte_long' => '(&#25991;&#31456;&#12364;&#38263;&#12356;&#65306;&#12356;&#12367;&#12388;&#12363;&#12395;&#25991;&#31456;&#12395;&#20998;&#12369;&#12425;&#12428;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#36969;&#27491;&#26908;&#26619;&#24460;&#12289;&#12471;&#12473;&#12486;&#12512;&#12364;&#33258;&#21205;&#12391;&#32331;&#12366;&#12414;&#12377;&#12290;)',
'info_texte_message' => '&#12354;&#12394;&#12383;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#25991;&#31456;:',
'info_texte_message_02' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12398;&#25991;&#31456;',
'info_titre' => '&#12479;&#12452;&#12488;&#12523;:',
'info_titre_mot_cle' => '&#12371;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#21517;&#21069;&#12363;&#12479;&#12452;&#12488;&#12523;',
'info_total' => '&#21512;&#35336;:',
'info_tous_articles_en_redaction' => '&#36914;&#34892;&#20013;&#12398;&#12377;&#12409;&#12390;&#12398;&#35352;&#20107;',
'info_tous_articles_presents' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12395;&#20986;&#29256;&#12375;&#12383;&#12377;&#12409;&#12390;&#12398;&#35352;&#20107;',
'info_tous_les' => '&#12377;&#12409;&#12390;:',
'info_tous_redacteurs' => '&#12377;&#12409;&#12390;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12408;&#12398;&#12450;&#12490;&#12454;&#12531;&#12473;',
'info_tout_site' => '&#20840;&#12469;&#12452;&#12488;',
'info_tout_site2' => '&#35352;&#20107;&#12399;&#12371;&#12398;&#35328;&#35486;&#12408;&#32763;&#35379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12379;&#12435;&#12290;',
'info_tout_site3' => '&#35352;&#20107;&#12399;&#12371;&#12398;&#35328;&#35486;&#12408;&#32763;&#35379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12364;&#12289;&#12356;&#12367;&#12388;&#12363;&#12398;&#21029;&#35328;&#35486;&#29256;&#12395;&#12289;&#12381;&#12398;&#24460;&#20837;&#21147;&#12364;&#12394;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;&#32763;&#35379;&#12398;&#12450;&#12483;&#12503;&#12487;&#12540;&#12488;&#12434;&#35201;&#27714;&#12375;&#12414;&#12377;&#12290;',
'info_tout_site4' => '&#35352;&#20107;&#12399;&#12371;&#12398;&#35352;&#20107;&#12408;&#32763;&#35379;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12289;&#12381;&#12375;&#12390;&#12289;&#32763;&#35379;&#29256;&#12399;&#26356;&#26032;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;',
'info_tout_site5' => '&#20803;&#12398;&#35352;&#20107;&#12290;',
'info_tout_site6' => '<b>&#35686;&#21578;:</b> &#12458;&#12522;&#12472;&#12490;&#12523;&#12398;&#35352;&#20107;&#12384;&#12369;&#12434;&#34920;&#31034;&#12375;&#12390;&#12356;&#12427;&#12290;
&#32763;&#35379;&#29256;&#12399;&#12458;&#12522;&#12472;&#12490;&#12523;&#12392;&#32080;&#12403;&#12388;&#12369;&#12425;&#12428;&#12427;&#12289;
&#12381;&#12428;&#12425;&#12398;&#12473;&#12486;&#12540;&#12479;&#12473;&#12434;&#34920;&#12377;&#33394;&#12395;&#12424;&#12387;&#12390;:',
'info_travail_colaboratif' => '&#35352;&#20107;&#12398;&#20849;&#21516;&#20316;&#26989;',
'info_un_article' => '&#35352;&#20107;&#12289;',
'info_un_mot' => '&#65297;&#24230;&#12395;&#65297;&#12388;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;',
'info_un_site' => '&#65297;&#12388;&#12398;&#12469;&#12452;&#12488;&#12289;',
'info_une_breve' => '&#65297;&#12388;&#12398;&#12491;&#12517;&#12540;&#12473;&#12289;',
'info_une_rubrique' => '&#65297;&#12388;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12289;',
'info_une_rubrique_02' => '&#65297;&#12475;&#12463;&#12471;&#12519;&#12531;',
'info_url' => 'URL:',
'info_url_site' => '&#12469;&#12452;&#12488;&#12398;URL:',
'info_urlref' => '&#12522;&#12531;&#12463;:',
'info_utilisation_spip' => 'SPIP&#12364;&#20351;&#12360;&#12427;&#12424;&#12358;&#12395;&#28310;&#20633;&#20013;...',
'info_visites_par_mois' => '&#26376;&#21336;&#20301;&#12391;&#34920;&#31034;:',
'info_visites_plus_populaires' => '&#35370;&#21839;&#32773;&#12434;&#34920;&#31034; <b>&#19968;&#30058;&#20154;&#27671;&#12398;&#12354;&#12427;&#35352;&#20107;</b> &#12392; <b>&#26368;&#26032;&#12398;&#20844;&#38283;&#35352;&#20107;:</b>',
'info_visiteur_1' => '&#35370;&#21839;&#32773;',
'info_visiteur_2' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12398;',
'info_visiteurs' => '&#35370;&#21839;&#32773;',
'info_visiteurs_02' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12398;&#35370;&#21839;&#32773;&#25968;',
'install_echec_annonce' => '&#12371;&#12398;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12391;&#12399;&#12383;&#12406;&#12435;&#21205;&#12363;&#12394;&#12356;&#12363;&#12289;&#19978;&#25163;&#12367;&#27231;&#33021;&#12375;&#12394;&#12356;&#12469;&#12452;&#12488;&#12395;&#12394;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;',
'install_extension_mbstring' => 'SPIP&#12399;&#27425;&#12395;&#12424;&#12387;&#12390;&#20572;&#27490;&#20013;:',
'install_extension_php_obligatoire' => 'SPIP&#12395;&#12399;php&#12398;&#25313;&#24373;&#12514;&#12472;&#12517;&#12540;&#12523;&#12364;&#24517;&#35201;:',
'install_select_langue' => '&#35328;&#35486;&#12434;&#36984;&#12435;&#12384;&#12425;&#12289;"&#27425;&#65310;&#65310;"&#12508;&#12479;&#12531;&#12434;&#25276;&#12375;&#12390;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12434;&#22987;&#12417;&#12390;&#19979;&#12373;&#12356;&#12290;',
'intem_redacteur' => '&#12456;&#12487;&#12451;&#12479;&#12540;',
'item_accepter_inscriptions' => '&#30331;&#37682;&#12434;&#35377;&#21487;',
'item_activer_forum_administrateur' => '&#31649;&#29702;&#32773;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#26377;&#21177;&#12395;&#12377;&#12427;',
'item_activer_messages_avertissement' => '&#35686;&#21578;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#20316;&#21205;&#12373;&#12379;&#12427;',
'item_administrateur_2' => '&#31649;&#29702;&#32773;',
'item_afficher_calendrier' => '&#12459;&#12524;&#12531;&#12480;&#12540;&#12395;&#34920;&#31034;',
'item_ajout_mots_cles' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12408;&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#36861;&#21152;&#12434;&#35377;&#21487;',
'item_autoriser_documents_joints' => '&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12364;&#35352;&#20107;&#12395;&#32080;&#12403;&#12388;&#12367;&#12398;&#12434;&#35377;&#21487;&#12377;&#12427;',
'item_autoriser_documents_joints_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#20869;&#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#35377;&#21487;&#12377;&#12427;',
'item_bloquer_liens_syndiques' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12522;&#12531;&#12463;&#12434;&#26908;&#26619;&#21069;&#12289;&#22952;&#23475;&#12377;&#12427;',
'item_breve_refusee' => '&#12356;&#12356;&#12360; - &#12491;&#12517;&#12540;&#12473;&#12399;&#25298;&#21542;&#12373;&#12428;&#12383;',
'item_breve_validee' => '&#12399;&#12356; - &#26908;&#26619;&#28168;&#12415;&#12491;&#12517;&#12540;&#12473;',
'item_choix_administrateurs' => '&#31649;&#29702;&#32773;&#12383;&#12385;',
'item_choix_generation_miniature' => '&#33258;&#21205;&#30340;&#12395;&#30011;&#20687;&#12398;&#12469;&#12512;&#12493;&#12452;&#12523;&#12434;&#20316;&#12427;&#12290;',
'item_choix_non_generation_miniature' => '&#30011;&#20687;&#12398;&#12469;&#12512;&#12493;&#12452;&#12523;&#12434;&#20316;&#12425;&#12394;&#12356;&#12290;',
'item_choix_redacteurs' => '&#12456;&#12487;&#12451;&#12479;&#12540;&#12474;',
'item_choix_visiteurs' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12398;&#35370;&#21839;&#32773;',
'item_creer_fichiers_authent' => '.htpasswd&#12501;&#12449;&#12452;&#12523;&#12434;&#20316;&#12427;',
'item_desactiver_forum_administrateur' => '&#31649;&#29702;&#32773;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#28961;&#21177;&#21270;',
'item_gerer_annuaire_site_web' => 'Web&#12469;&#12452;&#12488;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12434;&#31649;&#29702;',
'item_gerer_statistiques' => '&#32113;&#35336;&#12434;&#31649;&#29702;',
'item_limiter_recherche' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12395;&#21547;&#12414;&#12428;&#12390;&#12356;&#12427;&#24773;&#22577;&#12395;&#26908;&#32034;&#12434;&#21046;&#38480;&#12377;&#12427;',
'item_login' => '&#12525;&#12464;&#12452;&#12531;ID',
'item_mots_cles_association_articles' => '&#35352;&#20107;',
'item_mots_cles_association_breves' => '&#12491;&#12517;&#12540;&#12473;',
'item_mots_cles_association_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;',
'item_mots_cles_association_sites' => '&#21442;&#29031;&#12363;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12375;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;',
'item_non' => '&#12356;&#12356;&#12360;',
'item_non_accepter_inscriptions' => '&#30331;&#37682;&#12434;&#35377;&#21487;&#12375;&#12394;&#12356;',
'item_non_activer_messages_avertissement' => '&#35686;&#21578;&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#34920;&#31034;&#12375;&#12394;&#12356;',
'item_non_afficher_calendrier' => '&#12459;&#12524;&#12531;&#12480;&#12540;&#19978;&#12395;&#34920;&#31034;&#12375;&#12394;&#12356;',
'item_non_ajout_mots_cles' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12408;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#20184;&#21152;&#12434;&#35377;&#21487;&#12375;&#12394;&#12356;',
'item_non_autoriser_documents_joints' => '&#35352;&#20107;&#20869;&#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#35377;&#21487;&#12375;&#12394;&#12356;',
'item_non_autoriser_documents_joints_rubriques' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#20869;&#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#35377;&#21487;&#12375;&#12394;&#12356;',
'item_non_bloquer_liens_syndiques' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12363;&#12425;&#29983;&#12376;&#12427;&#12522;&#12531;&#12463;&#12434;&#22952;&#23475;&#12375;&#12394;&#12356;',
'item_non_creer_fichiers_authent' => '&#12381;&#12428;&#12425;&#12501;&#12449;&#12452;&#12523;&#12434;&#20316;&#12425;&#12394;&#12356;',
'item_non_gerer_annuaire_site_web' => 'Web&#12469;&#12452;&#12488;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12434;&#28961;&#21177;&#21270;',
'item_non_gerer_statistiques' => '&#32113;&#35336;&#12434;&#31649;&#29702;&#12375;&#12394;&#12356;',
'item_non_limiter_recherche' => '&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12398;&#20869;&#23481;&#12408;&#26908;&#32034;&#12434;&#25313;&#24373;&#12377;&#12427;',
'item_non_publier_articles' => '&#12381;&#12428;&#12425;&#12398;&#20844;&#38283;&#26085;&#20184;&#21069;&#12395;&#35352;&#20107;&#12434;&#20844;&#34920;&#12375;&#12394;&#12356;&#12290;',
'item_non_utiliser_breves' => '&#12491;&#12517;&#12540;&#12473;&#12434;&#20351;&#12431;&#12394;&#12356;',
'item_non_utiliser_config_groupe_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;&#12398;&#25313;&#24373;&#35373;&#23450;&#12434;&#20351;&#12431;&#12394;&#12356;',
'item_non_utiliser_moteur_recherche' => '&#12456;&#12531;&#12472;&#12531;&#12434;&#20351;&#12431;&#12394;&#12356;',
'item_non_utiliser_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#20351;&#12431;&#12394;&#12356;',
'item_non_utiliser_syndication' => '&#33258;&#21205;&#30340;&#12395;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12375;&#12394;&#12356;',
'item_nouvel_auteur' => '&#26032;&#12375;&#12356;&#33879;&#32773;',
'item_nouvelle_breve' => '&#26032;&#12375;&#12356;&#12491;&#12517;&#12540;&#12473;',
'item_nouvelle_rubrique' => '&#26032;&#12375;&#12356;&#12475;&#12463;&#12471;&#12519;&#12531;',
'item_oui' => '&#12399;&#12356;',
'item_publier_articles' => '&#12381;&#12428;&#12425;&#12398;&#30330;&#34920;&#26085;&#26178;&#12434;&#28961;&#35222;&#12375;&#12390;&#35352;&#20107;&#12434;&#20844;&#34920;&#12377;&#12427;&#12290;',
'item_reponse_article' => '&#35352;&#20107;&#12395;&#36820;&#20449;',
'item_utiliser_breves' => '&#12491;&#12517;&#12540;&#12473;&#12434;&#20351;&#12358;',
'item_utiliser_config_groupe_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;&#12398;&#25313;&#24373;&#35373;&#23450;&#12434;&#20351;&#12358;',
'item_utiliser_moteur_recherche' => '&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12434;&#20351;&#12358;',
'item_utiliser_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#20351;&#12358;',
'item_utiliser_syndication' => '&#33258;&#21205;&#30340;&#12395;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12377;&#12427;',
'item_visiteur' => '&#35370;&#21839;&#32773;',
 
 
// J
'jour_non_connu_nc' => '&#26410;&#23450;&#32681;',
 
 
// L
'lien_ajout_destinataire' => '&#12371;&#12398;&#21463;&#21462;&#20154;&#12434;&#36861;&#21152;',
'lien_ajouter_auteur' => '&#12371;&#12398;&#33879;&#32773;&#12434;&#36861;&#21152;',
'lien_ajouter_participant' => '&#38306;&#20418;&#32773;&#12434;&#36861;&#21152;',
'lien_email' => 'e-mail',
'lien_forum_public' => '&#12371;&#12398;&#35352;&#20107;&#12398;&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#31649;&#29702;',
'lien_mise_a_jour_syndication' => '&#20170;&#12450;&#12483;&#12503;&#12487;&#12540;&#12488;',
'lien_nom_site' => '&#12469;&#12452;&#12488;&#12398;&#21517;&#21069;:',
'lien_nouvelle_recuperation' => '&#12487;&#12540;&#12479;&#12398;&#26032;&#12375;&#12356;&#26908;&#32034;&#12434;&#38283;&#22987;',
'lien_reponse_article' => '&#35352;&#20107;&#12408;&#36820;&#20449;',
'lien_reponse_breve' => '&#12491;&#12517;&#12540;&#12473;&#12395;&#36820;&#20449;',
'lien_reponse_breve_2' => '&#12491;&#12517;&#12540;&#12473;&#12395;&#36820;&#20449;',
'lien_reponse_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12395;&#36820;&#20449;',
'lien_reponse_site_reference' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;&#12395;&#36820;&#20449;:',
'lien_retirer_auteur' => '&#33879;&#32773;&#12434;&#21066;&#38500;',
'lien_retrait_particpant' => '&#12371;&#12398;&#38306;&#20418;&#32773;&#12434;&#21066;&#38500;',
'lien_site' => '&#12469;&#12452;&#12488;',
'lien_supprimer_rubrique' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#21066;&#38500;',
'lien_tout_deplier' => '&#12377;&#12409;&#12390;&#25313;&#24373;',
'lien_tout_replier' => '&#12377;&#12409;&#12390;&#22730;&#12377;',
'lien_trier_nom' => '&#21517;&#21069;&#12391;&#12477;&#12540;&#12488;',
'lien_trier_nombre_articles' => '&#35352;&#20107;&#30058;&#21495;&#12391;&#12477;&#12540;&#12488;',
'lien_trier_statut' => '&#29366;&#24907;&#12391;&#12477;&#12540;&#12488;',
'lien_voir_en_ligne' => '&#12458;&#12531;&#12521;&#12452;&#12531;&#12391;&#35211;&#12427;:',
'logo_article' => '&#35352;&#20107;&#12398;&#12525;&#12468;',
'logo_auteur' => '&#33879;&#32773;&#12398;&#12525;&#12468;',
'logo_breve' => '&#12491;&#12517;&#12540;&#12473;&#12398;&#12525;&#12468;',
'logo_mot_cle' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12398;&#12525;&#12468;',
'logo_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#12525;&#12468;',
'logo_site' => '&#12469;&#12452;&#12488;&#12398;&#12525;&#12468;',
'logo_standard_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#12383;&#12417;&#12398;&#27161;&#28310;&#30340;&#12394;&#12525;&#12468;',
'logo_survol' => '&#12507;&#12496;&#12522;&#12531;&#12464;&#12377;&#12427;&#12525;&#12468;',
 
 
// M
'menu_aide_installation_choix_base' => '&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#36984;&#25246;',
'module_fichier_langue' => '&#35328;&#35486;&#12501;&#12449;&#12452;&#12523;',
'module_raccourci' => '&#12471;&#12519;&#12540;&#12488;&#12459;&#12483;&#12488;',
'module_texte_affiche' => '&#12486;&#12461;&#12473;&#12488;&#12434;&#34920;&#31034;',
'module_texte_explicatif' => '&#12354;&#12394;&#12383;&#12399;&#27425;&#12398;&#12471;&#12519;&#12540;&#12488;&#12459;&#12483;&#12488;&#12434;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#12486;&#12531;&#12503;&#12524;&#12540;&#12488;&#12391;&#20351;&#12358;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12399;&#35328;&#35486;&#12501;&#12449;&#12452;&#12523;&#12395;&#12424;&#12387;&#12390;&#31278;&#12293;&#12398;&#35328;&#35486;&#12395;&#33258;&#21205;&#30340;&#12395;&#32763;&#35379;&#12373;&#12428;&#12414;&#12377;&#12290;',
'module_texte_traduction' => '&laquo;&nbsp;@module@&nbsp;&raquo;&#12398;&#35328;&#35486;&#12501;&#12449;&#12452;&#12523;&#12399;&#27425;&#12398;&#35328;&#35486;&#12364;&#20351;&#29992;&#21487;&#33021;:',
'mois_non_connu' => '&#26410;&#23450;&#32681;',
 
 
// O
'onglet_repartition_actuelle' => '&#20170;',
'ortho_ajouter_ce_mot' => '&#36766;&#26360;&#12395;&#12371;&#12398;&#21336;&#35486;&#12434;&#36861;&#21152;',
'ortho_aucune_suggestion' => '&#12371;&#12398;&#21336;&#35486;&#12398;&#12383;&#12417;&#12398;&#25552;&#26696;&#12399;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;',
'ortho_avis_privacy' => 'Spip&#12399;&#12473;&#12506;&#12523;&#12481;&#12455;&#12483;&#12459;&#12540;&#12434;&#21547;&#12435;&#12391;&#12356;&#12414;&#12377;&#12290;&#12375;&#12363;&#12375;&#12381;&#12428;&#12434;&#26377;&#21177;&#12395;&#12377;&#12427;&#21069;&#12395;&#12289;&#24910;&#37325;&#12395;&#27425;&#12398;&#35500;&#26126;&#12434;&#35501;&#12435;&#12391;&#12367;&#12384;&#12373;&#12356;:',
'ortho_avis_privacy2' => '&#25991;&#31456;&#12398;&#12473;&#12506;&#12523;&#12434;&#12481;&#12455;&#12483;&#12463;&#12377;&#12427;&#12383;&#12417;&#12395;&#12289;&#12469;&#12452;&#12488;&#12399;&#12481;&#12455;&#12483;&#12463;&#12373;&#12428;&#12427;&#21336;&#35486;&#12398;&#12522;&#12473;&#12488;&#12434;&#12289;Spip&#12467;&#12511;&#12517;&#12491;&#12486;&#12451;&#12540;&#12398;&#20154;&#12364;&#21033;&#29992;&#21487;&#33021;&#12394;&#22806;&#37096;&#12398;"&#12473;&#12506;&#12523;&#12481;&#12455;&#12483;&#12463;&#12377;&#12427;&#12469;&#12540;&#12496;&#12540;"&#12395;&#36865;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;&#21336;&#35486;&#12399;&#12356;&#12367;&#12425;&#12363;&#27231;&#23494;&#24615;&#12434;&#39640;&#12417;&#12427;&#12383;&#12417;&#12395;&#12289;&#36865;&#12425;&#12428;&#12427;&#21069;&#12395;&#12368;&#12385;&#12419;&#12368;&#12385;&#12419;&#12395;&#20837;&#12428;&#26367;&#12360;&#12425;&#12428;&#12414;&#12377;&#12290;&#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12364;&#24515;&#37197;&#12394;&#12425;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#26377;&#21177;&#12395;&#12375;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;&#65288;&#12381;&#12375;&#12390;&#12289;&#12377;&#12368;&#12395;&#12354;&#12394;&#12383;&#12398;&#12377;&#12409;&#12390;&#12398;&#24773;&#22577;&#12434;Web&#12363;&#12425;&#25764;&#22238;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#65289;&#12290;',
'ortho_ce_mot_connu' => '&#12371;&#12398;&#21336;&#35486;&#12399;&#12469;&#12452;&#12488;&#12398;&#36766;&#26360;&#12395;&#12354;&#12426;&#12414;&#12377;&#12290;',
'ortho_dico_absent' => '&#12371;&#12398;&#35328;&#35486;&#12398;&#12383;&#12417;&#12398;&#36766;&#26360;&#12364;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;',
'ortho_mode_demploi' => '&#35469;&#35672;&#12391;&#12365;&#12390;&#12356;&#12394;&#12356;&#21336;&#35486;&#12399;&#12289;&#36196;&#12391;&#24375;&#35519;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#35330;&#27491;&#20505;&#35036;&#12434;&#35211;&#12427;&#12395;&#12399;&#12381;&#12428;&#12425;&#21336;&#35486;&#12434;&#12463;&#12522;&#12483;&#12463;&#12290;',
'ortho_mots_a_corriger' => '&#35330;&#27491;&#12377;&#12409;&#12365;&#21336;&#35486;',
'ortho_orthographe' => '&#12473;&#12506;&#12522;&#12531;&#12464;',
'ortho_supprimer_ce_mot' => '&#36766;&#26360;&#12363;&#12425;&#12371;&#12398;&#21336;&#35486;&#12434;&#21462;&#12426;&#38500;&#12367;',
'ortho_trop_de_fautes' => '&#12354;&#12394;&#12383;&#12398;&#25991;&#31456;&#12399;&#12473;&#12506;&#12523;&#38291;&#36949;&#12356;&#12364;&#12354;&#12414;&#12426;&#12395;&#22810;&#12377;&#12366;&#12414;&#12377;&#65281;&#12471;&#12473;&#12486;&#12512;&#12395;&#36000;&#25285;&#12434;&#25499;&#12369;&#12377;&#12366;&#12394;&#12356;&#12424;&#12358;&#12395;&#12289;&#35330;&#27491;&#37096;&#20998;&#12399;&#34920;&#31034;&#12375;&#12414;&#12379;&#12435;&#12290;',
'ortho_verif_impossible' => '&#12471;&#12473;&#12486;&#12512;&#12399;&#12371;&#12398;&#25991;&#31456;&#12398;&#12473;&#12506;&#12523;&#12434;&#26908;&#26619;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12379;&#12435;&#12290;',
'ortho_verifier' => '&#12473;&#12506;&#12523;&#12481;&#12455;&#12483;&#12463;',
 
 
// S
'statut_admin_restreint' => '(&#38480;&#23450;&#12373;&#12428;&#12383;&#31649;&#29702;&#32773;)',
'syndic_choix_moderation' => '<NEW>What should be done with the next links from this site?',
'syndic_choix_oublier' => '<NEW>What should be done with links which are no longer present in the syndication file?',
'syndic_lien_obsolete' => '<NEW>obsolete link',
'syndic_option_miroir' => '<NEW>block them automatically',
'syndic_option_oubli' => '<NEW>delete them (after @mois@&nbsp;months)',
'syndic_options' => '<NEW>Syndication options:',
 
 
// T
'taille_cache_image' => 'SPIP&#12395;&#12424;&#12427;&#30011;&#20687;&#33258;&#21205;&#31649;&#29702;&#65288;&#12499;&#12493;&#12483;&#12488;&#65288;&#21322;&#36523;&#20687;&#12289;&#30011;&#20687;&#12391;&#20316;&#12425;&#12428;&#12390;&#12356;&#12427;&#38988;&#21517;&#12289;TeX&#12501;&#12457;&#12540;&#12510;&#12483;&#12488;&#12398;&#25968;&#24335;&#12394;&#12393;...) @dir@ &#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#20869;&#12434;&#21512;&#35336; @taille@ &#12395;&#35519;&#25972;&#12375;&#12414;&#12377;&#12290;',
'taille_cache_infinie' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12399;<code>CACHE/</code>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12393;&#12435;&#12394;&#22823;&#12365;&#12373;&#12398;&#21046;&#38480;&#12418;&#35373;&#23450;&#12375;&#12390;&#12356;&#12394;&#12356;&#12290;',
'taille_cache_maxi' => 'SPIP&#12399;<code>CACHE/</code>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#12487;&#12540;&#12479;&#12398;&#22823;&#12365;&#12373;&#12434;&#22823;&#20307;<b>@octets@</b>&#12414;&#12391;&#12395;&#21046;&#38480;&#12391;&#12365;&#12414;&#12377;&#12290;',
'taille_cache_octets' => '&#12461;&#12515;&#12483;&#12471;&#12517;&#12398;&#22823;&#12365;&#12373;&#12399;&#29694;&#22312; @octets@ &#12391;&#12377;&#12290;',
'taille_cache_vide' => '&#12461;&#12515;&#12483;&#12471;&#12517;&#12399;&#31354;&#12391;&#12377;&#12290;',
'taille_repertoire_cache' => '&#29694;&#22312;&#12398;&#12461;&#12515;&#12483;&#12471;&#12517;&#12398;&#22823;&#12365;&#12373;',
'text_article_propose_publication' => '&#12371;&#12398;&#35352;&#20107;&#12399;&#20844;&#38283;&#12398;&#28858;&#12395;&#25552;&#20986;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;&#12371;&#12398;&#35352;&#20107;&#12392;&#32331;&#12364;&#12387;&#12390;&#12356;&#12427;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#36890;&#12376;&#12390;&#12289;&#12393;&#12358;&#12382;&#12383;&#12417;&#12425;&#12431;&#12378;&#24847;&#35211;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;(&#12506;&#12540;&#12472;&#12398;&#19968;&#30058;&#19979;)&#12290;',
'texte_acces_ldap_anonyme_1' => '&#12356;&#12367;&#12425;&#12363;&#12398;LDAP&#12469;&#12540;&#12496;&#12540;&#12399;&#12393;&#12435;&#12394;&#21311;&#21517;&#12391;&#12398;&#12450;&#12463;&#12475;&#12473;&#12418;&#35377;&#12375;&#12414;&#12379;&#12435;&#12290;&#12371;&#12358;&#12356;&#12358;&#22580;&#21512;&#12289;&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#24460;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;&#24773;&#22577;&#12434;&#26908;&#32034;&#12391;&#12365;&#12427;&#26368;&#21021;&#12398;ID&#12434;&#20837;&#21147;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12375;&#12363;&#12375;&#12394;&#12364;&#12425;&#12289;&#27425;&#12398;&#12392;&#12371;&#12429;&#12399;&#12411;&#12392;&#12435;&#12393;&#12398;&#22580;&#21512;&#12399;&#31354;&#27396;&#12398;&#12414;&#12414;&#12391;&#22823;&#19976;&#22827;&#12391;&#12377;&#12290;',
'texte_admin_effacer_01' => '&#12371;&#12398;&#25163;&#38918;&#12399;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;<i>&#12377;&#12409;&#12390;&#12398;</i> &#20869;&#23481;&#12434;&#21066;&#38500;&#12375;&#12414;&#12377;&#12290;<i>&#12377;&#12409;&#12390;&#12398;</i> &#12456;&#12487;&#12451;&#12479;&#12540;&#36948;&#12420;&#31649;&#29702;&#32773;&#12398;&#12450;&#12463;&#12475;&#12473;&#12398;&#28858;&#12398;&#35373;&#23450;&#12418;&#21547;&#12415;&#12414;&#12377;&#12290;&#23455;&#34892;&#12375;&#12383;&#24460;&#12289;&#26032;&#12375;&#12356;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#20316;&#12426;&#12289;&#31649;&#29702;&#32773;&#12364;&#26368;&#21021;&#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12383;&#12417;&#12289;SPIP&#12434;&#20877;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12377;&#12427;&#24517;&#35201;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;',
'texte_admin_tech_01' => '&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#20869;&#23481;&#12434;<i>ecrire/data/</i>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#29992;&#24847;&#12375;&#12390;&#12354;&#12427;&#12501;&#12449;&#12452;&#12523;&#12395;&#20445;&#23384;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#35352;&#20107;&#12420;&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;&#20351;&#12387;&#12383;&#30011;&#20687;&#12420;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12434;&#21547;&#12435;&#12384;<i>IMG/</i>&#20840;&#20307;&#12289;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12434;&#24536;&#12428;&#12378;&#12395;&#20445;&#23384;&#12375;&#12390;&#12362;&#12356;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_admin_tech_02' => '&#35686;&#21578;&#65306;&#12371;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12399;&#12289;&#21516;&#12376;&#12496;&#12540;&#12472;&#12519;&#12531;&#12398;SPIP&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12375;&#12390;&#12354;&#12427;&#22580;&#21512;&#12398;&#12415;&#24489;&#20803;&#12391;&#12365;&#12414;&#12377;&#12290;&#12418;&#12385;&#12429;&#12435;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#31354;&#12395;&#12375;&#12383;&#12426;&#12289;&#12450;&#12483;&#12503;&#12464;&#12524;&#12540;&#12489;&#24460;&#12395;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12434;&#24489;&#20803;&#12375;&#12390;&#12399;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12373;&#12425;&#12395;&#35443;&#12375;&#12356;&#12371;&#12392;&#12399;<a href=\'http://www.spip.net/en_article2428.html\'>SPIP documentation</a>&#12434;&#21442;&#29031;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_admin_tech_03' => '&#12501;&#12449;&#12452;&#12523;&#12434;&#22311;&#32302;&#12375;&#12390;&#20445;&#23384;&#12377;&#12427;&#12363;&#26410;&#22311;&#32302;&#12391;&#20445;&#23384;&#12377;&#12427;&#12363;&#27770;&#12417;&#12425;&#12428;&#12414;&#12377;&#12290;&#22311;&#32302;&#12377;&#12427;&#12392;&#12289;&#12354;&#12394;&#12383;&#12398;&#12510;&#12471;&#12531;&#12363;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12469;&#12540;&#12496;&#12540;&#12408;&#12398;&#36578;&#36865;&#12399;&#26089;&#12367;&#12394;&#12426;&#12289;&#22823;&#12365;&#12373;&#12364;&#33509;&#24178;&#23567;&#12373;&#12367;&#12394;&#12426;&#12414;&#12377;&#12290;',
'texte_adresse_annuaire_1' => '( &#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12364;&#12354;&#12394;&#12383;&#12398;Web&#12469;&#12452;&#12488;&#12392;&#21516;&#12376;&#12510;&#12471;&#12531;&#12395;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12390;&#12356;&#12427;&#12394;&#12425;&#12289;&#12381;&#12428;&#12399;&#12362;&#12381;&#12425;&#12367;&laquo;localhost&raquo;&#12290;&#65289;',
'texte_ajout_auteur' => '&#27425;&#12398;&#33879;&#32773;&#12399;&#35352;&#20107;&#12395;&#21152;&#31558;&#12375;&#12383;:',
'texte_annuaire_ldap_1' => '&#12418;&#12375;&#12354;&#12394;&#12383;&#12364;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#65288;LDAP&#65289;&#12395;&#12450;&#12463;&#12475;&#12473;&#12391;&#12365;&#12427;&#12398;&#12394;&#12425;&#12289;SPIP&#12395;&#33258;&#21205;&#30340;&#12395;&#12518;&#12540;&#12470;&#12540;&#12434;&#36664;&#20837;&#65288;&#12452;&#12531;&#12509;&#12540;&#12488;&#65289;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;',
'texte_article_statut' => '&#35352;&#20107;&#12398;&#29366;&#24907;:',
'texte_article_virtuel' => '&#20206;&#24819;&#35352;&#20107;',
'texte_article_virtuel_reference' => '<b>&#20206;&#24819;&#35352;&#20107;:</b> &#12354;&#12394;&#12383;&#12398;SPIP&#12469;&#12452;&#12488;&#20869;&#12398;&#35352;&#20107;&#12434;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#12364;&#12289;&#12411;&#12363;&#12398;URL&#12408;&#12392;&#12522;&#12480;&#12452;&#12524;&#12463;&#12488;&#12375;&#12390;&#12356;&#12427;&#12290;&#12522;&#12480;&#12452;&#12524;&#12463;&#12471;&#12519;&#12531;&#12434;&#21066;&#38500;&#12377;&#12427;&#12395;&#12399;&#19978;&#12398;URL&#12434;&#21066;&#38500;&#12375;&#12390;&#19979;&#12373;&#12356;&#12290;',
'texte_aucun_resultat_auteur' => '"@cherche_auteur@"&#12399;&#35211;&#12388;&#12363;&#12426;&#12414;&#12379;&#12435;&#12391;&#12375;&#12383;&#12290;',
'texte_auteur_messagerie' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12399;&#12522;&#12450;&#12523;&#12479;&#12452;&#12512;&#12391;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12391;&#12365;&#12427;&#12424;&#12358;&#12395;&#12289;&#25509;&#32154;&#20013;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12398;&#12522;&#12473;&#12488;&#12434;&#32118;&#12360;&#12378;&#34920;&#31034;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12371;&#12398;&#12522;&#12473;&#12488;&#12395;&#34920;&#12428;&#12394;&#12356;&#12424;&#12358;&#12395;&#12418;&#20986;&#26469;&#12414;&#12377;&#12290;(&#12381;&#12358;&#12377;&#12427;&#12392;&#12289;&#20182;&#12398;&#33879;&#32773;&#12383;&#12385;&#12395;&#12399;"&nbsp;&#35211;&#12360;&#12414;&#12379;&#12435;&nbsp;")&#12290;',
'texte_auteur_messagerie_1' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12399;&#12513;&#12483;&#12475;&#12540;&#12472;&#20132;&#25563;&#12420;&#12469;&#12452;&#12488;&#12398;&#21442;&#21152;&#32773;&#12392;&#12398;&#20869;&#12293;&#12398;&#35542;&#35696;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#20316;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#20132;&#25563;&#12395;&#21442;&#21152;&#12375;&#12394;&#12356;&#12424;&#12358;&#12395;&#12418;&#35373;&#23450;&#20986;&#26469;&#12414;&#12377;&#12290;',
'texte_auteurs' => '&#33879;&#32773;&#12383;&#12385;',
'texte_breves' => '&#12491;&#12517;&#12540;&#12473;&#12399;&#30701;&#12367;&#12390;&#31777;&#21336;&#12394;&#25991;&#31456;&#12391;&#12377;&#12290;&#12458;&#12531;&#12521;&#12452;&#12531;&#12391;&#31777;&#28500;&#12394;&#24773;&#22577;&#12434;&#20844;&#34920;&#12375;&#12383;&#12426;&#12289;&#12503;&#12524;&#12473;&#12524;&#12499;&#12517;&#12540;&#12395;&#20351;&#12387;&#12383;&#12426;&#12289;&#12452;&#12505;&#12531;&#12488;&#12398;&#12459;&#12524;&#12531;&#12480;&#12540;&#12394;&#12393;&#12395;&#20351;&#12360;&#12414;&#12377;&#12290;',
'texte_choix_base_1' => '&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#36984;&#25246;:',
'texte_choix_base_2' => 'MySQL&#12469;&#12540;&#12496;&#12540;&#12399;&#12356;&#12367;&#12388;&#12363;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#21547;&#12435;&#12391;&#12356;&#12414;&#12377;&#12290;',
'texte_choix_base_3' => '&#12354;&#12394;&#12383;&#12398;&#12507;&#12473;&#12488;&#12364;&#12354;&#12394;&#12383;&#12395;&#21106;&#12426;&#24403;&#12390;&#12383;&#12418;&#12398;&#12434;<B>&#19979;&#12363;&#12425;&#65297;&#12388;&#36984;&#12435;&#12391;&#19979;&#12373;&#12356;</B>:',
'texte_commande_vider_tables_indexation' => '&#12371;&#12398;&#25163;&#38918;&#12434;&#20351;&#12358;&#12392;SPIP&#12395;&#32080;&#21512;&#12373;&#12428;&#12383;&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12364;&#20351;&#12387;&#12390;&#12356;&#12427;&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12486;&#12540;&#12502;&#12523;&#12364;&#31354;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12356;&#12367;&#12425;&#12363;&#12398;&#12487;&#12451;&#12473;&#12463;&#12364;&#31354;&#12367;&#12371;&#12392;&#12391;&#12375;&#12423;&#12358;&#12290;',
'texte_comment_lire_tableau' => '&#35352;&#20107;&#12398;&#12521;&#12531;&#12463;&#12289;&#20998;&#39006;&#12398;&#20154;&#27671;&#12399;&#12510;&#12540;&#12472;&#12531;&#12391;&#31034;&#12373;&#12428;&#12414;&#12377;; &#35352;&#20107;&#12398;&#20154;&#27671;&#24230;&#65288;&#65297;&#26085;&#12398;&#35370;&#21839;&#32773;&#12398;&#27010;&#31639;&#25968;&#12290;&#12488;&#12521;&#12501;&#12451;&#12483;&#12463;&#12398;&#23455;&#38555;&#12398;&#12506;&#12540;&#12473;&#12434;&#34920;&#12375;&#12390;&#12356;&#12414;&#12377;&#65289;&#12392;&#12289;&#21021;&#12417;&#12363;&#12425;&#12398;&#35370;&#21839;&#32773;&#25968;&#12399;&#12289;&#35352;&#20107;&#12398;&#38988;&#21517;&#19978;&#12395;&#12510;&#12454;&#12473;&#12398;&#12459;&#12540;&#12477;&#12523;&#12434;&#32622;&#12356;&#12390;&#12362;&#12367;&#12392;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;',
'texte_compresse_ou_non' => '(&#12371;&#12428;&#12364;&#22311;&#32302;&#12391;&#12365;&#12394;&#12363;&#12387;&#12383;&#12363;&#12289;&#36949;&#12358;)',
'texte_compte_element' => '@count@ &#35201;&#32032;',
'texte_compte_elements' => '@count@ &#35201;&#32032;',
'texte_config_groupe_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;&#12398;&#25313;&#24373;&#35373;&#23450;&#12434;&#20351;&#29992;&#12375;&#12383;&#12356;&#12391;&#12377;&#12363;&#65311;&#12289;&#25351;&#23450;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289;&#20363;&#12360;&#12400;&#12464;&#12523;&#12540;&#12503;&#27598;&#12395;&#65297;&#12388;&#12518;&#12491;&#12540;&#12463;&#12394;&#21336;&#35486;&#12434;&#12434;&#36984;&#25246;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12375;&#12383;&#12289;&#12381;&#12398;&#12464;&#12523;&#12540;&#12503;&#12399;&#37325;&#35201;...?',
'texte_connexion_mysql' => '&#12354;&#12394;&#12383;&#12398;&#12507;&#12473;&#12488;&#12363;&#12425;&#12354;&#12394;&#12383;&#12395;&#25552;&#20379;&#12373;&#12428;&#12390;&#12356;&#12427;&#24773;&#22577;&#12434;&#21442;&#29031;&#12375;&#12390;&#19979;&#12373;&#12356;: &#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12507;&#12473;&#12488;&#12364;MySQL&#12289;MySQL&#12469;&#12540;&#12496;&#12540;&#12408;&#12398;&#25509;&#32154;&#12467;&#12540;&#12489;&#12434;&#12469;&#12509;&#12540;&#12488;&#12377;&#12427;&#12394;&#12425;&#12289;&#12381;&#12428;&#12399;&#12354;&#12394;&#12383;&#12434;&#19982;&#12360;&#12427;&#12409;&#12365;&#12391;&#12377;&#12290;',
'texte_contenu_article' => '&#65288;&#35352;&#20107;&#12398;&#20869;&#23481;&#12398;&#30701;&#12356;&#35500;&#26126;&#12290;&#65289;',
'texte_contenu_articles' => '&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#29992;&#12395;&#27770;&#12417;&#12383;&#12524;&#12452;&#12450;&#12454;&#12488;&#12395;&#22522;&#12389;&#12356;&#12390;&#12289;&#12354;&#12394;&#12383;&#12399;&#12356;&#12367;&#12388;&#12363;&#12398;&#35352;&#20107;&#12398;&#38917;&#30446;&#12434;&#20351;&#12358;&#12363;&#20351;&#12431;&#12394;&#12356;&#12363;&#27770;&#12417;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#27425;&#12398;&#12522;&#12473;&#12488;&#12398;&#20013;&#12363;&#12425;&#20351;&#12358;&#12418;&#12398;&#12434;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_crash_base' => '&#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12364;&#22730;&#12428;&#12383;&#12425;&#12289;&#12354;&#12394;&#12383;&#12399;&#33258;&#21205;&#30340;&#12395;&#24489;&#20803;&#12395;&#25361;&#25126;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'texte_creer_rubrique' => '&#35352;&#20107;&#12434;&#26360;&#12365;&#22987;&#12417;&#12427;&#21069;&#12395;&#12289;<BR> &#12354;&#12394;&#12383;&#12399;&#12475;&#12463;&#12471;&#12519;&#12531;&#12434;&#20316;&#12425;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;',
'texte_date_creation_article' => '&#35352;&#20107;&#12364;&#20316;&#12425;&#12428;&#12383;&#26085;&#26178;:',
'texte_date_publication_anterieure' => '&#20844;&#38283;&#21069;&#12398;&#26085;&#20184;:',
'texte_date_publication_anterieure_nonaffichee' => '&#20844;&#34920;&#21069;&#12398;&#26085;&#26178;&#12434;&#38560;&#12377;&#12290;',
'texte_date_publication_article' => '&#12458;&#12531;&#12521;&#12452;&#12531;&#12395;&#20844;&#34920;&#12373;&#12428;&#12383;&#26085;&#26178;:',
'texte_descriptif_petition' => '&#35531;&#39000;&#12398;&#35352;&#36848;',
'texte_descriptif_rapide' => '&#30701;&#12356;&#35352;&#36848;',
'texte_documents_joints' => '&#12354;&#12394;&#12383;&#12399;&#35352;&#20107;&#12420;&#12475;&#12463;&#12471;&#12519;&#12531;&#12395;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#65288;&#12458;&#12501;&#12451;&#12473;&#12501;&#12449;&#12452;&#12523;&#12289;&#30011;&#20687;&#12289;&#12510;&#12523;&#12481;&#12513;&#12487;&#12451;&#12450;&#12289;&#12381;&#12398;&#20182;&#65289;&#12434;&#36861;&#21152;&#12377;&#12427;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12381;&#12428;&#12425;&#12501;&#12449;&#12452;&#12523;&#12399;&#35352;&#20107;&#20869;&#12391;&#21442;&#29031;&#12373;&#12428;&#12427;&#12363;&#12289;&#21029;&#12395;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;<p />',
'texte_documents_joints_2' => '&#12371;&#12398;&#35373;&#23450;&#12399;&#12289;&#35352;&#20107;&#12408;&#30452;&#25509;&#30011;&#20687;&#12434;&#25407;&#20837;&#12377;&#12427;&#12371;&#12392;&#12434;&#27490;&#12417;&#12414;&#12379;&#12435;&#12290;',
'texte_effacer_base' => 'SPIP&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#21066;&#38500;',
'texte_effacer_donnees_indexation' => '&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12487;&#12540;&#12479;&#12434;&#21066;&#38500;',
'texte_en_cours_validation' => '&#27425;&#12398;&#35352;&#20107;&#12362;&#12424;&#12403;&#12491;&#12517;&#12540;&#12473;&#12399;&#20844;&#34920;&#12377;&#12427;&#12383;&#12417;&#12395;&#36865;&#12425;&#12428;&#12414;&#12375;&#12383;&#12290;&#12381;&#12428;&#12425;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#12434;&#36890;&#12375;&#12390;&#12354;&#12394;&#12383;&#12398;&#24847;&#35211;&#12434;&#36848;&#12409;&#12427;&#12371;&#12392;&#12434;&#12289;&#12383;&#12417;&#12425;&#12431;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_enrichir_mise_a_jour' => '&#12354;&#12394;&#12383;&#12399;&#12289;&laquo;&#21360;&#21047;&#19978;&#12398;&#12471;&#12519;&#12540;&#12488;&#12459;&#12483;&#12488;&raquo;&#12434;&#20351;&#12358;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12354;&#12394;&#12383;&#12398;&#25991;&#31456;&#12398;&#12524;&#12452;&#12450;&#12454;&#12488;&#12434;&#35914;&#12363;&#12395;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;',
'texte_fichier_authent' => '<b>SPIP&#12399;<tt>.ecrire/data/</tt>&#12501;&#12457;&#12523;&#12480;&#20869;&#12395;<tt>.htpasswd</tt>&#12501;&#12449;&#12452;&#12523;&#12392;<tt>.htpasswd-admin</tt>&#12501;&#12449;&#12452;&#12523;&#12434;&#20316;&#12427;&#12409;&#12365;&#12391;&#12377;&#12363;&#65311;</b><p />&#12381;&#12428;&#12425;&#12398;&#12501;&#12449;&#12452;&#12523;&#12391;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#20182;&#12398;&#37096;&#20998;&#12391;&#12289;&#33879;&#32773;&#12383;&#12385;&#12392;&#31649;&#29702;&#32773;&#12395;&#38480;&#23450;&#12375;&#12383;&#12450;&#12463;&#12475;&#12473;&#12434;&#20351;&#12358;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#65288;&#20363;&#12360;&#12400;&#12289;&#22806;&#37096;&#12398;&#32113;&#35336;&#12503;&#12525;&#12464;&#12521;&#12512;&#12392;&#12363;&#65289;&#12290;<p />
&#12418;&#12375;&#12371;&#12398;&#12424;&#12358;&#12394;&#12501;&#12449;&#12452;&#12523;&#12434;&#20351;&#12431;&#12394;&#12356;&#12398;&#12394;&#12425;&#12289;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12434;&#35302;&#12425;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#65288;&#12501;&#12449;&#12452;&#12523;&#12434;&#20316;&#12425;&#12394;&#12356;&#12391;&#12367;&#12384;&#12373;&#12356;&#65289;&#12290;',
'texte_informations_personnelles_1' => '&#20170;&#35519;&#25972;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12289;&#12471;&#12473;&#12486;&#12512;&#12399;&#12354;&#12394;&#12383;&#12395;&#12469;&#12452;&#12488;&#12408;&#12398;&#12450;&#12463;&#12475;&#12473;&#12434;&#25552;&#20379;&#12377;&#12427;&#12391;&#12375;&#12423;&#12358;&#12290;',
'texte_informations_personnelles_2' => '(&#12513;&#12514;: &#12418;&#12375;&#12381;&#12428;&#12364;&#20877;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12391;&#12354;&#12426;&#12289;&#12381;&#12375;&#12390;&#12354;&#12394;&#12383;&#12398;&#12450;&#12463;&#12475;&#12473;&#12364;&#12414;&#12384;&#27231;&#33021;&#12375;&#12390;&#12356;&#12427;&#12394;&#12425;&#12289;&#12354;&#12394;&#12383;&#12399;',
'texte_introductif_article' => '&#65288;&#35352;&#20107;&#12398;&#32057;&#20171;&#25991;&#31456;&#12290;&#65289;',
'texte_jeu_caractere' => '&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12364;&#12525;&#12540;&#12510;&#23383;&#65288;&laquo;western&raquo;&#65289;&#12392;&#12381;&#12398;&#27966;&#29983;&#29289;&#20197;&#22806;&#12398;&#25991;&#23383;&#12475;&#12483;&#12488;&#65288;&#26085;&#26412;&#35486;&#12394;&#12393;&#65289;&#12434;&#34920;&#31034;&#12377;&#12427;&#22580;&#21512;&#12395;&#20351;&#29992;&#12377;&#12427;&#12392;&#20415;&#21033;&#12391;&#12377;&#12290;&#12381;&#12358;&#12356;&#12358;&#22580;&#21512;&#12289;&#33258;&#20998;&#12395;&#12354;&#12387;&#12383;&#25991;&#23383;&#12467;&#12540;&#12489;&#65288;&#25991;&#23383;&#12398;&#35373;&#23450;&#65289;&#12395;&#22793;&#12360;&#12394;&#12369;&#12428;&#12400;&#12356;&#12369;&#12414;&#12379;&#12435;&#12290;&#12392;&#12395;&#12363;&#12367;&#12289;&#31169;&#12383;&#12385;&#12399;&#27491;&#12375;&#12356;&#12398;&#12434;&#25506;&#12377;&#12383;&#12417;&#12395;&#36949;&#12358;&#12398;&#12434;&#35430;&#12375;&#12390;&#12415;&#12427;&#12371;&#12392;&#12434;&#21223;&#12417;&#12375;&#12414;&#12377;&#12290;&#12418;&#12375;&#12371;&#12398;&#35373;&#23450;&#12434;&#22793;&#26356;&#12375;&#12383;&#12394;&#12425;&#12289;&#24536;&#12428;&#12378;&#12395;<tt>#CHARSET</tt>&#12479;&#12464;&#12395;&#12354;&#12431;&#12379;&#12390;&#20844;&#38283;&#12375;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12434;&#22793;&#26356;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_jeu_caractere_2' => '&#12371;&#12398;&#35373;&#23450;&#12399;&#12373;&#12363;&#12398;&#12412;&#12387;&#12390;&#26377;&#21177;&#12395;&#12399;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;&#12375;&#12383;&#12364;&#12387;&#12390;&#12289;&#12371;&#12398;&#35373;&#23450;&#12434;&#22793;&#26356;&#12375;&#12383;&#24460;&#12289;&#25991;&#31456;&#12364;&#25991;&#23383;&#21270;&#12369;&#12377;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;&#12356;&#12378;&#12428;&#12395;&#12375;&#12390;&#12418;&#12289;&#12354;&#12394;&#12383;&#12399;&#12356;&#12388;&#12391;&#12418;&#21069;&#12398;&#35373;&#23450;&#12395;&#25147;&#12377;&#12371;&#12392;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;',
'texte_lien_hypertexte' => '&#65288;&#12418;&#12375;&#12354;&#12394;&#12383;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#12454;&#12455;&#12502;&#12395;&#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#35352;&#20107;&#12363;&#12289;&#12373;&#12425;&#12394;&#12427;&#24773;&#22577;&#12434;&#25552;&#20379;&#12375;&#12390;&#12356;&#12427;&#12506;&#12540;&#12472;&#12408;&#12522;&#12531;&#12463;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12289;&#12371;&#12371;&#12395;&#12506;&#12540;&#12472;&#12398;&#12479;&#12452;&#12488;&#12523;&#12392;URL&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#65289;',
'texte_liens_sites_syndiques' => '&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12469;&#12452;&#12488;&#12363;&#12425;&#29983;&#12376;&#12427;&#12522;&#12531;&#12463;&#12434;&#12354;&#12425;&#12363;&#12376;&#12417;&#25490;&#38500;&#12375;&#12390;&#12362;&#12369;&#12414;&#12377;; &#27425;&#12398;&#35373;&#23450;&#12399;&#12381;&#12428;&#12425;&#12434;&#20316;&#12387;&#12383;&#24460;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12469;&#12452;&#12488;&#12398;&#12487;&#12501;&#12457;&#12523;&#12488;&#35373;&#23450;&#12434;&#34920;&#31034;&#12375;&#12414;&#12377;&#12290;&#12381;&#12428;&#12399;&#12289;&#12381;&#12398;&#12392;&#12365;&#12289;&#12392;&#12395;&#12363;&#12367;&#21487;&#33021;&#12394;&#12381;&#12428;&#12382;&#12428;&#12398;&#20491;&#21029;&#12398;&#12522;&#12531;&#12463;&#12434;&#25490;&#38500;&#12377;&#12427;&#12363;&#12289;&#12381;&#12428;&#12382;&#12428;&#12398;&#12469;&#12452;&#12488;&#12395;&#12289;&#29305;&#23450;&#12398;&#12469;&#12452;&#12488;&#12363;&#12425;&#26469;&#12390;&#12356;&#12427;&#12522;&#12531;&#12463;&#12434;&#25490;&#38500;&#12377;&#12427;&#12290;',
'texte_login_ldap_1' => '&#65288;&#21311;&#21517;&#12450;&#12463;&#12475;&#12473;&#12398;&#12383;&#12417;&#12395;&#31354;&#29366;&#24907;&#12395;&#12375;&#12390;&#12362;&#12367;&#12363;&#12289;&#23436;&#20840;&#12394;&#12497;&#12473;&#12434;&#20837;&#21147;&#12289;&#20363;&#12360;&#12400;&#12289;&laquo;<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>&raquo;&#12290;&#65289;',
'texte_login_precaution' => '&#35686;&#21578;! &#12371;&#12428;&#12399;&#20170;&#12354;&#12394;&#12383;&#12364;&#25509;&#32154;&#12375;&#12390;&#12356;&#12427;&#12525;&#12464;&#12452;&#12531;ID&#12391;&#12377;&#12290;
&#27880;&#24847;&#12375;&#12390;&#12371;&#12398;&#12501;&#12457;&#12540;&#12512;&#12434;&#20351;&#12387;&#12390;&#12367;&#12384;&#12373;&#12356;...',
'texte_message_edit' => '&#35686;&#21578;&#65306;&#12371;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12399;&#12377;&#12409;&#12390;&#12398;&#12469;&#12452;&#12488;&#31649;&#29702;&#32773;&#12395;&#12424;&#12387;&#12390;&#22793;&#26356;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12289;&#12381;&#12375;&#12390;&#12377;&#12409;&#12390;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12395;&#34920;&#31034;&#12373;&#12428;&#12414;&#12377;&#12290;&#12469;&#12452;&#12488;&#29983;&#27963;&#12391;&#12398;&#37325;&#35201;&#12394;&#20986;&#26469;&#20107;&#12434;&#24375;&#35519;&#12377;&#12427;&#12392;&#12365;&#12398;&#12415;&#12289;&#12450;&#12490;&#12454;&#12531;&#12473;&#12434;&#20351;&#12387;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_messages_publics' => '&#35352;&#20107;&#12398;&#20844;&#38283;&#12513;&#12483;&#12475;&#12540;&#12472;:',
'texte_mise_a_niveau_base_1' => '&#12354;&#12394;&#12383;&#12399;&#12385;&#12423;&#12358;&#12393;&#20170;SPIP&#12398;&#12501;&#12449;&#12452;&#12523;&#12434;&#26356;&#26032;&#12375;&#12414;&#12375;&#12383;
&#20170;&#12354;&#12394;&#12383;&#12399;&#12469;&#12452;&#12488;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12418;&#26356;&#26032;&#12375;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;',
'texte_modifier_article' => '&#20462;&#27491;&#12377;&#12427;&#35352;&#20107;:',
'texte_moteur_recherche_active' => '<b>&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12399;&#26377;&#21177;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;</b>&#12377;&#12400;&#12420;&#12367;&#20877;&#24230;&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12375;&#12383;&#12356;&#12394;&#12425;&#12371;&#12428;&#12434;&#23455;&#34892;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#65288;&#20363;&#12360;&#12400;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12434;&#24489;&#20803;&#12375;&#12383;&#24460;&#12394;&#12393;&#65289;&#12290;&#27671;&#12434;&#12388;&#12369;&#12390;&#12367;&#12384;&#12373;&#12356;&#12289;&#65288;SPIP&#12398;&#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12363;&#12425;&#65289;&#26222;&#36890;&#12395;&#22793;&#26356;&#12373;&#12428;&#12383;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12399;&#20877;&#24230;&#33258;&#21205;&#30340;&#12395;&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;&#12373;&#12428;&#12390;&#12356;&#12414;&#12377;&#12290;&#65306;&#12381;&#12398;&#12383;&#12417;&#12371;&#12398;&#12467;&#12510;&#12531;&#12489;&#12399;&#29305;&#21029;&#12394;&#20107;&#24773;&#12364;&#12354;&#12427;&#12392;&#12365;&#12384;&#12369;&#26377;&#29992;&#12391;&#12377;&#12290;',
'texte_moteur_recherche_non_active' => '&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12364;&#28961;&#21177;&#12391;&#12377;&#12290;',
'texte_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12399;&#35352;&#20107;&#12398;&#22580;&#25152;&#12395;&#12363;&#12363;&#12431;&#12425;&#12378;&#12289;&#12354;&#12394;&#12383;&#12398;&#35352;&#20107;&#12392;&#35441;&#38988;&#65288;&#12461;&#12540;&#12527;&#12540;&#12489;&#65289;&#12434;&#12367;&#12387;&#12388;&#12369;&#12427;&#20107;&#12364;&#20986;&#26469;&#12414;&#12377;&#12290;&#12381;&#12398;&#12424;&#12358;&#12395;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12391;&#26908;&#32034;&#12375;&#26131;&#12367;&#12377;&#12427;&#12363;&#12289;&#12354;&#12394;&#12383;&#12398;&#12486;&#12531;&#12503;&#12524;&#12540;&#12488;&#12391;&#35352;&#20107;&#12434;&#12459;&#12473;&#12479;&#12510;&#12452;&#12474;&#12377;&#12427;&#12381;&#12428;&#12425;&#12398;&#29305;&#24615;&#12434;&#20351;&#12358;&#12290;',
'texte_mots_cles_dans_forum' => '&#20844;&#38283;&#12469;&#12452;&#12488;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#20013;&#12391;&#12289;&#35370;&#21839;&#32773;&#12395;&#12424;&#12387;&#12390;&#12461;&#12540;&#12527;&#12540;&#12489;&#12364;&#36984;&#25246;&#12373;&#12428;&#12427;&#12398;&#12434;&#35377;&#21487;&#12375;&#12414;&#12377;&#12363;&#65311;&#65288;&#35686;&#21578;&#65306;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12393;&#12385;&#12425;&#12363;&#12392;&#12356;&#12358;&#12392;&#35079;&#38609;&#12391;&#12377;&#12290;&#65289;',
'texte_multilinguisme' => '&#12418;&#12375;&#35352;&#20107;&#12434;&#12356;&#12367;&#12388;&#12363;&#12398;&#35328;&#35486;&#12391;&#31649;&#29702;&#12375;&#12383;&#12356;&#12394;&#12425;&#12289;&#23436;&#20840;&#12394;&#12490;&#12499;&#12466;&#12540;&#12471;&#12519;&#12531; &#12452;&#12531;&#12479;&#12540;&#12501;&#12455;&#12540;&#12473;&#12395;&#12424;&#12387;&#12390;&#12289;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12398;&#32068;&#32340;&#12398;&#35352;&#20107;&#12392;&#12289;&#12475;&#12463;&#12471;&#12519;&#12531;&#12395;&#35328;&#35486;&#36984;&#25246;&#12513;&#12491;&#12517;&#12540;&#12434;&#36861;&#21152;&#12391;&#12365;&#12414;&#12377;&#12290;',
'texte_multilinguisme_trad' => '&#21516;&#12376;&#12367;&#12289;&#12354;&#12394;&#12383;&#12399;&#65297;&#12388;&#12398;&#35352;&#20107;&#12398;&#12289;&#36949;&#12358;&#32763;&#35379;&#29256;&#38291;&#12398;&#12522;&#12531;&#12463;&#31649;&#29702;&#12471;&#12473;&#12486;&#12512;&#12434;&#26377;&#21177;&#12395;&#12391;&#12365;&#12414;&#12377;&#12290;',
'texte_non_compresse' => '<i>&#26410;&#22311;&#32302;</i>&#65288;&#12354;&#12394;&#12383;&#12398;&#12469;&#12540;&#12496;&#12540;&#12391;&#12371;&#12398;&#27231;&#33021;&#12399;&#20351;&#12360;&#12414;&#12379;&#12435;&#65289;',
'texte_non_fonction_referencement' => '&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#33258;&#21205;&#21270;&#27231;&#33021;&#12434;&#20351;&#12431;&#12378;&#12289;&#12381;&#12398;&#12469;&#12452;&#12488;&#12395;&#38306;&#12377;&#12427;&#35201;&#32032;&#12434;&#25163;&#20316;&#26989;&#12391;&#20837;&#21147;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;...',
'texte_nouveau_message' => '&#26032;&#12375;&#12356;&#12513;&#12483;&#12475;&#12540;&#12472;',
'texte_nouveau_mot' => '&#26032;&#12375;&#12356;&#12461;&#12540;&#12527;&#12540;&#12489;',
'texte_nouvelle_version_spip_1' => '&#12383;&#12387;&#12383;&#20170;SPIP&#12398;&#26032;&#12375;&#12356;&#12496;&#12540;&#12472;&#12519;&#12531;&#12364;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12373;&#12428;&#12414;&#12375;&#12383;&#12290;',
'texte_nouvelle_version_spip_2' => '&#12371;&#12398;&#26032;&#12375;&#12356;&#12496;&#12540;&#12472;&#12519;&#12531;&#12399;&#12371;&#12414;&#12417;&#12395;&#26356;&#26032;&#65288;&#12450;&#12483;&#12503;&#12487;&#12540;&#12488;&#65289;&#12377;&#12427;&#12371;&#12392;&#12364;&#24517;&#35201;&#12392;&#12394;&#12426;&#12414;&#12377;&#12290;&#12418;&#12375;&#12371;&#12398;&#12469;&#12452;&#12488;&#12398;&#31649;&#29702;&#32773;&#12394;&#12425;&#12289;<tt>ecrire</tt>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12398;<tt>inc_connect.php3</tt>&#12501;&#12449;&#12452;&#12523;&#12434;&#21066;&#38500;&#12375;&#12390;&#12289;&#12354;&#12394;&#12383;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12392;&#12398;&#25509;&#32154;&#12398;&#20181;&#26041;&#12394;&#12393;&#12434;&#22793;&#26356;&#12377;&#12427;&#12383;&#12417;&#12452;&#12531;&#12473;&#12488;&#12540;&#12523;&#12434;&#20877;&#24230;&#23455;&#26045;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;<p />&#65288;&#20184;&#35352;&#65306;&#12418;&#12375;&#25509;&#32154;&#29992;&#12398;&#24773;&#22577;&#12394;&#12393;&#12434;&#24536;&#12428;&#12390;&#12356;&#12427;&#12398;&#12394;&#12425;&#12289;<tt>inc_connect.php3</tt>&#12434;"&#21066;&#38500;&#12377;&#12427;&#21069;&#12395;"&#35211;&#12390;&#12362;&#12356;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#65289;',
'texte_operation_echec' => '&#21069;&#12398;&#12506;&#12540;&#12472;&#12395;&#25147;&#12387;&#12390;&#12289;&#20182;&#12398;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#36984;&#25246;&#12377;&#12427;&#12363;&#12289;&#26032;&#12375;&#12356;&#12398;&#12434;&#20316;&#12387;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#12354;&#12394;&#12383;&#12398;&#12507;&#12473;&#12488;&#12395;&#25552;&#20379;&#12373;&#12428;&#12383;&#24773;&#22577;&#12434;&#30906;&#35469;&#12375;&#12390;&#12415;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_plus_trois_car' => '&#65299;&#25991;&#23383;&#20197;&#19978;',
'texte_plusieurs_articles' => '&#25968;&#20154;&#12398;&#33879;&#32773;&#12383;&#12385;&#12364;&#35211;&#12388;&#12363;&#12387;&#12383; "@cherche_auteur@":',
'texte_port_annuaire' => '&#65288;&#12487;&#12501;&#12457;&#12523;&#12488;&#20516;&#12391;&#36890;&#24120;&#12399;&#36969;&#20999;&#12391;&#12377;&#12290;)',
'texte_proposer_publication' => '&#35352;&#20107;&#12364;&#23436;&#25104;&#12375;&#12383;&#24460;&#12289;<br>&#12354;&#12394;&#12383;&#12399;&#20844;&#38283;&#12377;&#12427;&#12383;&#12417;&#12381;&#12428;&#12434;&#25552;&#20986;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;&#12290;',
'texte_proxy' => '&#12354;&#12427;&#22580;&#21512;&#65288;&#12452;&#12531;&#12488;&#12521;&#12493;&#12483;&#12488;&#12289;&#20445;&#35703;&#12373;&#12428;&#12383;&#12493;&#12483;&#12488;&#12527;&#12540;&#12463;...&#65289;&#12289;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12377;&#12427;&#12469;&#12452;&#12488;&#12395;&#12450;&#12463;&#12475;&#12473;&#12377;&#12427;&#12383;&#12417;&#12395;&#12289;<I>HTTP&#12503;&#12525;&#12461;&#12471;</i>&#12398;&#20351;&#29992;&#12364;&#24517;&#35201;&#12391;&#12377;&#12290;&#12503;&#12525;&#12461;&#12471;&#12364;&#24517;&#35201;&#12394;&#12392;&#12365;&#12399;&#12289;&#19979;&#12395;&#12503;&#12525;&#12461;&#12471;&#12398;&#12450;&#12489;&#12524;&#12473;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;&#20363;&#12360;&#12400;&#12289;<tt><html>http://proxy:8080</html></tt>&#12398;&#12424;&#12358;&#12395;&#20837;&#21147;&#12375;&#12414;&#12377;&#12290;&#26222;&#36890;&#12371;&#12371;&#12395;&#12399;&#20309;&#12418;&#20837;&#21147;&#12375;&#12414;&#12379;&#12435;&#12290;&#65288;&#36890;&#24120;&#20351;&#29992;&#12375;&#12414;&#12379;&#12435;&#12290;&#65289;',
'texte_publication_articles_post_dates' => '&#20986;&#29256;&#29992;&#12395;&#26410;&#26469;&#12398;&#26085;&#20184;&#12364;&#35373;&#23450;&#12373;&#12428;&#12383;&#35352;&#20107;&#12395;&#23550;&#12377;&#12427;SPIP&#12398;&#23550;&#24540;&#12434;&#27770;&#12417;&#12390;&#19979;&#12373;&#12356;&#12290;',
'texte_rappel_selection_champs' => '[&#24536;&#12428;&#12378;&#12395;&#12371;&#12398;&#37096;&#20998;&#12434;&#12365;&#12385;&#12435;&#12392;&#36984;&#25246;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;]',
'texte_recalcul_page' => '&#12418;&#12375;&#12354;&#12394;&#12383;&#12364;&#65297;&#12388;&#12398;&#12506;&#12540;&#12472;&#12384;&#12369;&#12522;&#12501;&#12524;&#12483;&#12471;&#12517;&#12375;&#12383;&#12356;&#22580;&#21512;&#12289;&#20844;&#38283;&#12456;&#12522;&#12450;&#12391;&laquo; &#12522;&#12501;&#12524;&#12483;&#12471;&#12517; &raquo;&#12508;&#12479;&#12531;&#12434;&#20351;&#12387;&#12383;&#26041;&#12364;&#33391;&#12356;&#12391;&#12377;&#12290;',
'texte_recapitiule_liste_documents' => '&#12371;&#12398;&#12506;&#12540;&#12472;&#12399;&#12475;&#12463;&#12471;&#12519;&#12531;&#20869;&#12395;&#32622;&#12356;&#12390;&#12354;&#12427;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12398;&#12522;&#12473;&#12488;&#12398;&#12414;&#12392;&#12417;&#12391;&#12377;&#12290;&#12381;&#12428;&#12382;&#12428;&#12398;&#12489;&#12461;&#12517;&#12513;&#12531;&#12488;&#12398;&#24773;&#22577;&#12434;&#22793;&#26356;&#12377;&#12427;&#12395;&#12399;&#12289;&#27425;&#12398;&#65288;&#32622;&#12356;&#12390;&#12354;&#12427;&#12475;&#12463;&#12471;&#12519;&#12531;&#12408;&#12522;&#12531;&#12463;&#12375;&#12390;&#12356;&#12427;&#65289;&#12522;&#12531;&#12463;&#12434;&#12463;&#12522;&#12483;&#12463;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_recuperer_base' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#24489;&#20803;',
'texte_reference_mais_redirige' => '&#12354;&#12394;&#12383;&#12398;SPIP&#12469;&#12452;&#12488;&#20869;&#12398;&#35352;&#20107;&#12434;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#12369;&#12428;&#12393;&#12289;&#20182;&#12398;URL&#12408;&#12392;&#12522;&#12480;&#12452;&#12524;&#12463;&#12471;&#12519;&#12531;&#12375;&#12390;&#12356;&#12427;&#12290;',
'texte_referencement_automatique' => '<b>&#12469;&#12452;&#12488;&#12398;&#33258;&#21205;&#21442;&#29031;</b><br>&#19979;&#12395;&#12354;&#12394;&#12383;&#12398;&#26395;&#12416;URL&#12363;&#12289;&#12381;&#12398;backend&#12501;&#12449;&#12452;&#12523;&#12398;&#12450;&#12489;&#12524;&#12473;&#12434;&#20837;&#21147;&#12377;&#12427;&#12371;&#12392;&#12395;&#12424;&#12387;&#12390;&#12377;&#12400;&#12420;&#12367;&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12434;&#21442;&#29031;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;SPIP&#12399;&#33258;&#21205;&#30340;&#12395;&#12381;&#12398;&#12469;&#12452;&#12488;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;&#12434;&#25342;&#12387;&#12390;&#12367;&#12427;&#12391;&#12375;&#12423;&#12358;&#65288;&#12479;&#12452;&#12488;&#12523;&#12289;&#35352;&#36848;...&#65289;&#12290;',
'texte_requetes_echouent' => '<b>&#12356;&#12367;&#12425;&#12363;&#12398;MySQL&#12398;&#35201;&#27714;&#65288;&#12463;&#12456;&#12522;&#12540;&#65289;&#12364;&#12471;&#12473;&#12486;&#12512;&#30340;&#12395;&#20309;&#12418;&#29702;&#30001;&#12434;&#34920;&#12373;&#12378;&#22833;&#25943;&#12375;&#12383;&#12392;&#12365;&#12289;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#33258;&#20307;&#12364;&#22730;&#12428;&#12390;&#12356;&#12427;&#21487;&#33021;&#24615;&#12364;&#12354;&#12426;&#12414;&#12377;&#12290;</b><p />MySQL&#12399;&#20598;&#28982;&#22730;&#12428;&#12383;&#12392;&#12365;&#12289;&#12414;&#12383;&#20351;&#12360;&#12427;&#12424;&#12358;&#12395;&#12486;&#12540;&#12502;&#12523;&#12398;&#27231;&#33021;&#12434;&#20462;&#24489;&#12375;&#12414;&#12377;&#12290;&#12371;&#12371;&#12391;&#12289;&#12354;&#12394;&#12383;&#12399;&#12371;&#12398;&#20462;&#24489;&#12395;&#25361;&#25126;&#12391;&#12365;&#12414;&#12377;; &#22833;&#25943;&#12375;&#12383;&#22580;&#21512;&#12289;&#12354;&#12394;&#12383;&#12399;&#30011;&#38754;&#12398;&#35079;&#35069;&#12434;&#12392;&#12387;&#12390;&#12362;&#12367;&#12409;&#12365;&#12391;&#12377;&#12290;&#20309;&#12364;&#24746;&#12363;&#12387;&#12383;&#12398;&#12363;&#12364;&#26360;&#12356;&#12390;&#12354;&#12427;&#12363;&#12418;&#12375;&#12428;&#12414;&#12379;&#12435;&#12290;<p />&#12418;&#12375;&#21839;&#38988;&#12364;&#27531;&#12387;&#12390;&#12356;&#12427;&#12394;&#12425;&#12289;&#12354;&#12394;&#12383;&#12398;&#12507;&#12473;&#12488;&#12392;&#36899;&#32097;&#12434;&#12392;&#12387;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;<p />',
'texte_restaurer_base' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12398;&#20869;&#23481;&#12434;&#24489;&#20803;',
'texte_restaurer_sauvegarde' => '&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12391;&#21069;&#12395;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12375;&#12383;&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#24489;&#20803;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12391;&#12377;&#12290;&#24489;&#20803;&#12377;&#12427;&#12395;&#12399;&#12289;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#29992;&#12398;&#12501;&#12449;&#12452;&#12523;&#12364;<i>ecrire/data/</i>&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12395;&#20445;&#23384;&#12373;&#12428;&#12390;&#12356;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;&#24517;&#12378;&#12371;&#12398;&#27231;&#33021;&#12399;&#27880;&#24847;&#12375;&#12390;&#20351;&#12387;&#12390;&#12367;&#12384;&#12373;&#12356;&#65306;<b>&#12393;&#12435;&#12394;&#28508;&#22312;&#30340;&#12394;&#22793;&#26356;&#12420;&#25613;&#22833;&#12418;&#25764;&#22238;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12379;&#12435;&#12290;</b>',
'texte_sauvegarde' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#20869;&#23481;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'texte_sauvegarde_base' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;',
'texte_sauvegarde_compressee' => '<b>ecrire/data/dump.xml</b> &#12395;&#22311;&#32302;&#12375;&#12390;&#12394;&#12356;&#29366;&#24907;&#12391;&#12496;&#12483;&#12463;&#12450;&#12483;&#12503;&#12373;&#12428;&#12414;&#12377;&#12290;',
'texte_selection_langue_principale' => '&#12354;&#12394;&#12383;&#12399;&#12469;&#12452;&#12488;&#12398;"&#20027;&#12394;&#35328;&#35486;"&#12434;&#19979;&#12391;&#36984;&#25246;&#12391;&#12365;&#12414;&#12377;&#12290;&#36939;&#33391;&#12367;&#12289;&#12371;&#12398;&#36984;&#25246;&#12395;&#12424;&#12387;&#12390;&#12289;&#36984;&#25246;&#12375;&#12383;&#35328;&#35486;&#12391;&#12375;&#12363;&#35352;&#20107;&#12364;&#26360;&#12369;&#12394;&#12356;&#12392;&#12356;&#12358;&#12371;&#12392;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;&#12364;&#12289;&#27425;&#12434;&#27770;&#23450;&#12375;&#12414;&#12377;
 
<ul><li> &#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12398;&#26085;&#20184;&#12398;&#27161;&#28310;&#12394;&#26360;&#12365;&#26041;</li>
 
<li> &#25991;&#31456;&#12398;&#34920;&#31034;&#12398;&#12383;&#12417;&#12395;SPIP&#12364;&#20351;&#12358;&#21360;&#21047;&#12456;&#12531;&#12472;&#12531;&#12398;&#24615;&#36074;;</li>
 
<li> &#20844;&#38283;&#12373;&#12428;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#20869;&#12391;&#20351;&#12431;&#12428;&#12427;&#35328;&#35486;</li>
 
<li> &#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;&#20869;&#12391;&#34920;&#31034;&#12373;&#12428;&#12427;&#27161;&#28310;&#35328;&#35486;</li></ul>',
'texte_signification' => '&#28611;&#12356;&#32218;&#12399;&#32047;&#31309;&#30340;&#12394;&#38917;&#30446;&#12434;&#65288;&#12469;&#12502;&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#21512;&#35336;&#65289;&#12289;&#34180;&#12356;&#32218;&#12399;&#12381;&#12428;&#12382;&#12428;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#35370;&#21839;&#32773;&#25968;&#12434;&#34920;&#12375;&#12390;&#12356;&#12414;&#12377;&#12290;',
'texte_sous_titre' => '&#12469;&#12502;&#12479;&#12452;&#12488;&#12523;',
'texte_statistiques_visites' => '(&#40658;&#12356;&#32218;&#65306; &#26085;&#26332;&#26085; / &#40658;&#12356;&#26354;&#32218;&#65306;&#24179;&#22343;&#27700;&#28310;)',
'texte_statut_attente_validation' => '&#36969;&#27491;&#26908;&#26619;&#21069;',
'texte_statut_publies' => '&#12458;&#12531;&#12521;&#12452;&#12531;&#12395;&#20844;&#38283;&#12373;&#12428;&#12383;',
'texte_statut_refuses' => '&#25298;&#21542;&#12373;&#12428;&#12383;',
'texte_suppression_fichiers' => '&#12371;&#12428;&#12434;&#20351;&#12358;&#12392;SPIP&#12398;&#12377;&#12409;&#12390;&#12398;&#12461;&#12515;&#12483;&#12471;&#12517;&#12501;&#12449;&#12452;&#12523;&#12364;&#21066;&#38500;&#12373;&#12428;&#12414;&#12377;&#12290;&#12371;&#12428;&#12434;&#35377;&#21487;&#12377;&#12427;&#12392;&#12289;&#29305;&#12395;&#12469;&#12452;&#12488;&#12398;&#27083;&#36896;&#12420;&#30011;&#20687;&#12398;&#37325;&#35201;&#12394;&#22793;&#26356;&#12434;&#20837;&#21147;&#12375;&#12390;&#12356;&#12427;&#22580;&#21512;&#12395;&#20633;&#12360;&#12390;&#12289;&#12377;&#12409;&#12390;&#12398;&#12506;&#12540;&#12472;&#12398;&#12522;&#12501;&#12524;&#12483;&#12471;&#12517;&#12434;&#24375;&#21046;&#12375;&#12414;&#12377;&#12290;',
'texte_sur_titre' => '&#12488;&#12483;&#12503;&#12479;&#12452;&#12488;&#12523;',
'texte_syndication' => '&#12371;&#12428;&#12434;&#35377;&#21487;&#12377;&#12427;&#12392;&#12289;&#26368;&#26032;&#12398;&#36039;&#26009;&#12398;&#12522;&#12473;&#12488;&#12434;&#33258;&#21205;&#30340;&#12395;&#26908;&#32034;&#12377;&#12427;&#12371;&#12392;&#12364;&#21487;&#33021;&#12395;&#12394;&#12426;&#12414;&#12377;&#12290;&#12371;&#12428;&#12434;&#12377;&#12427;&#12395;&#12399;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12434;&#20316;&#21205;&#12373;&#12379;&#12394;&#12369;&#12428;&#12400;&#12394;&#12426;&#12414;&#12379;&#12435;&#12290;
<blockquote><i>&#33509;&#24178;&#12398;&#12507;&#12473;&#12488;&#12391;&#12399;&#12371;&#12398;&#27231;&#33021;&#12399;&#28961;&#21177;&#12391;&#12377;&#12290;&#12381;&#12358;&#12356;&#12358;&#22580;&#21512;&#12289;&#12354;&#12394;&#12383;&#12399;&#12354;&#12394;&#12383;&#12398;&#12469;&#12452;&#12488;&#12363;&#12425;&#20869;&#23481;&#12434;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12377;&#12427;&#12371;&#12392;&#12399;&#20986;&#26469;&#12394;&#12356;&#12391;&#12375;&#12423;&#12358;&#12290;</i></blockquote>',
'texte_table_ok' => ': &#12371;&#12398;&#12486;&#12540;&#12502;&#12523;&#12399;OK&#12290;',
'texte_tables_indexation_vides' => '&#31354;&#12398;&#12456;&#12531;&#12472;&#12531;&#12398;&#12486;&#12540;&#12502;&#12523;&#12434;&#12452;&#12531;&#12487;&#12483;&#12463;&#12473;',
'texte_tentative_recuperation' => '&#24489;&#20803;&#12434;&#35430;&#12415;&#12427;',
'texte_tenter_reparation' => '&#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12398;&#24489;&#20803;&#12434;&#35430;&#12415;&#12427;',
'texte_test_proxy' => '&#12371;&#12398;&#12503;&#12525;&#12461;&#12471;&#12434;&#35430;&#12377;&#12383;&#12417;&#12395;&#12289;&#12371;&#12371;&#12395;&#12354;&#12394;&#12383;&#12364;&#12486;&#12473;&#12488;&#12375;&#12390;&#12415;&#12383;&#12356;&#12454;&#12455;&#12502;&#12469;&#12452;&#12488;&#12398;&#12450;&#12489;&#12524;&#12473;&#12434;&#20837;&#21147;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_titre_02' => '&#20214;&#21517;:',
'texte_titre_obligatoire' => '<B>&#12479;&#12452;&#12488;&#12523;</b> [&#24517;&#38920;]',
'texte_travail_article' => '@nom_auteur_modif@&#12399;&#12289;@date_diff@&#20998;&#21069;&#12289;&#12371;&#12398;&#35352;&#20107;&#12391;&#20685;&#12356;&#12390;&#12356;&#12383;',
'texte_travail_collaboratif' => '&#21516;&#12376;&#35352;&#20107;&#19978;&#12391;&#25968;&#20154;&#12398;&#12456;&#12487;&#12451;&#12479;&#12540;&#12364;&#38971;&#32321;&#12395;&#20685;&#12367;&#12392;&#12289;&#12471;&#12473;&#12486;&#12512;&#12399;&#35352;&#20107;&#12364;&#21516;&#26178;&#12395;&#20462;&#27491;&#12373;&#12428;&#12427;&#12398;&#12434;&#38450;&#12368;&#12383;&#12417;&#12395;&#26368;&#36817;&laquo;&#38283;&#12363;&#12428;&#12383;&raquo;&#12392;&#34920;&#31034;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;&#12371;&#12398;&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;&#12383;&#12367;&#12373;&#12435;&#35686;&#21578;&#12513;&#12483;&#12475;&#12540;&#12472;&#12364;&#34920;&#31034;&#12373;&#12428;&#12427;&#12398;&#12434;&#38450;&#12368;&#12383;&#12417;&#12289;&#21021;&#12417;&#12399;&#28961;&#21177;&#12395;&#12394;&#12387;&#12390;&#12356;&#12414;&#12377;&#12290;',
'texte_trop_resultats_auteurs' => '"@cherche_auteur@"&#12395;&#23550;&#12377;&#12427;&#32080;&#26524;&#12364;&#22810;&#12377;&#12366;&#12414;&#12377;; &#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#12402;&#12397;&#12387;&#12390;&#26908;&#32034;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;',
'texte_unpack' => '&#26368;&#26032;&#12496;&#12540;&#12472;&#12519;&#12531;&#12434;&#12480;&#12454;&#12531;&#12525;&#12540;&#12489;',
'texte_utilisation_moteur_syndiques' => '&#12354;&#12394;&#12383;&#12364;SPIP&#12395;&#32080;&#21512;&#12373;&#12428;&#12383;&#26908;&#32034;&#12456;&#12531;&#12472;&#12531;&#12434;&#20351;&#12358;&#12392;&#12365;&#12289;&#12469;&#12452;&#12488;&#19978;&#12392;&#20379;&#32102;&#65288;&#12471;&#12531;&#12472;&#12465;&#12540;&#12488;&#65289;&#12373;&#12428;&#12390;&#12356;&#12427;&#35352;&#20107;&#12434;&#36949;&#12387;&#12383;&#24907;&#24230;&#12391;&#26908;&#32034;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#12290;<br><img src=\'puce.gif\'>&#26368;&#12418;&#31777;&#21336;&#12394;&#12398;&#12399;&#35352;&#20107;&#12398;&#12479;&#12452;&#12488;&#12523;&#12392;&#35352;&#36848;&#12384;&#12369;&#12434;&#26908;&#32034;&#12377;&#12427;&#12371;&#12392;&#12391;&#12377;&#12290;<br><img src=\'puce.gif\'>&#12418;&#12387;&#12392;&#24375;&#21147;&#12394;&#65298;&#30058;&#30446;&#12398;&#26041;&#27861;&#12399;&#12289;&#21516;&#12376;&#12424;&#12358;&#12395;&#21442;&#29031;&#12373;&#12428;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#20869;&#12398;&#25991;&#12418;&#26908;&#32034;&#12391;&#12365;&#12414;&#12377;&#12290;&#12418;&#12375;&#12354;&#12394;&#12383;&#12364;&#12469;&#12452;&#12488;&#12434;&#21442;&#29031;&#12377;&#12427;&#12394;&#12425;&#12289;SPIP&#12399;&#12469;&#12452;&#12488;&#12398;&#25991;&#33258;&#20307;&#12398;&#26908;&#32034;&#12434;&#34892;&#12358;&#12391;&#12375;&#12423;&#12358;&#12290;',
'texte_utilisation_moteur_syndiques_2' => '&#12371;&#12398;&#26041;&#27861;&#12399;&#23450;&#26399;&#30340;&#12395;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#12469;&#12452;&#12488;&#12408;&#35370;&#21839;&#12377;&#12427;&#12371;&#12392;&#12434;&#24375;&#12356;&#12414;&#12377;&#12290;&#12354;&#12394;&#12383;&#33258;&#36523;&#12398;&#12469;&#12452;&#12488;&#12395;&#23569;&#12293;&#36000;&#25285;&#12434;&#25499;&#12369;&#12414;&#12377;&#12290;',
'texte_vide' => '&#31354;&#12395;&#12377;&#12427;',
'texte_vider_cache' => '&#12461;&#12515;&#12483;&#12471;&#12517;&#12434;&#31354;&#12395;&#12377;&#12427;',
'titre_admin_effacer' => '&#25216;&#34899;&#30340;&#12394;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;',
'titre_admin_tech' => '&#25216;&#34899;&#30340;&#12394;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;',
'titre_admin_vider' => '&#25216;&#34899;&#30340;&#12394;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;',
'titre_articles_syndiques' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12391;&#25104;&#21151;&#12375;&#12383;&#35352;&#20107;&#12434;&#37197;&#32102;&#12375;&#12414;&#12375;&#12383;&#12290;',
'titre_breves' => '&#12491;&#12517;&#12540;&#12473;',
'titre_cadre_afficher_article' => '&#35352;&#20107;&#12398;&#34920;&#31034;:',
'titre_cadre_afficher_traductions' => '&#27425;&#12398;&#35328;&#35486;&#12398;&#12383;&#12417;&#12398;&#12289;&#32763;&#35379;&#12398;&#12473;&#12486;&#12540;&#12479;&#12473;&#12398;&#34920;&#31034;:',
'titre_cadre_ajouter_auteur' => '&#33879;&#32773;&#12398;&#36861;&#21152;:',
'titre_cadre_forum_administrateur' => '&#31649;&#29702;&#32773;&#12398;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12394;&#12501;&#12457;&#12540;&#12521;&#12512;',
'titre_cadre_forum_interne' => '&#20869;&#37096;&#12501;&#12457;&#12540;&#12521;&#12512;',
'titre_cadre_interieur_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12391;',
'titre_cadre_numero_auteur' => '&#33879;&#32773;&#30058;&#21495;',
'titre_cadre_signature_obligatoire' => '<B>&#32626;&#21517;</B> [&#24517;&#38920;]<BR>',
'titre_config_fonctions' => '&#12469;&#12452;&#12488;&#12398;&#35373;&#23450;',
'titre_config_groupe_mots_cles' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;&#12398;&#35373;&#23450;',
'titre_configuration' => '&#12469;&#12452;&#12488;&#12398;&#35373;&#23450;',
'titre_connexion_ldap' => '&#12458;&#12503;&#12471;&#12519;&#12531;&#12474;: <b>&#12354;&#12394;&#12383;&#12398;LDAP&#12467;&#12493;&#12463;&#12471;&#12519;&#12531;</b>',
'titre_dernier_article_syndique' => '&#26368;&#26032;&#12398;&#37197;&#32102;&#12373;&#12428;&#12383;&#35352;&#20107;',
'titre_documents_joints' => '&#20184;&#21152;&#12373;&#12428;&#12390;&#12356;&#12427;&#26360;&#39006;',
'titre_evolution_visite' => '&#35370;&#12428;&#12427;&#12524;&#12505;&#12523;',
'titre_forum_suivi' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#32154;&#22577;',
'titre_gauche_mots_edit' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#30058;&#21495;:',
'titre_groupe_mots' => '&#12461;&#12540;&#12527;&#12540;&#12489;&#12464;&#12523;&#12540;&#12503;:',
'titre_langue_article' => '&#35352;&#20107;&#12398;&#35328;&#35486;',
'titre_langue_breve' => '&#12491;&#12517;&#12540;&#12473;&#12398;&#35328;&#35486;',
'titre_langue_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12398;&#35328;&#35486;',
'titre_langue_trad_article' => '&#35352;&#20107;&#12398;&#35328;&#35486;&#12392;&#32763;&#35379;&#29256;',
'titre_les_articles' => '&#35352;&#20107;',
'titre_mots_cles_dans_forum' => '&#12497;&#12502;&#12522;&#12483;&#12463;&#12394;&#12469;&#12452;&#12488;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;&#20869;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;',
'titre_mots_tous' => '&#12461;&#12540;&#12527;&#12540;&#12489;',
'titre_naviguer_dans_le_site' => '&#12371;&#12398;&#12469;&#12452;&#12488;&#12434;&#12502;&#12521;&#12454;&#12470;&#12377;&#12427;...',
'titre_nouveau_groupe' => '&#26032;&#12375;&#12356;&#12464;&#12523;&#12540;&#12503;',
'titre_nouvelle_breve' => '&#26032;&#12375;&#12356;&#12491;&#12517;&#12540;&#12473;',
'titre_nouvelle_rubrique' => '&#26032;&#12375;&#12356;&#12475;&#12463;&#12471;&#12519;&#12531;',
'titre_numero_rubrique' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#30058;&#21495;:',
'titre_page_admin_effacer' => '&#25216;&#34899;&#30340;&#12394;&#12513;&#12531;&#12486;&#12490;&#12531;&#12473;: &#12487;&#12540;&#12479;&#12505;&#12540;&#12473;&#12434;&#21066;&#38500;&#12375;&#12390;&#12356;&#12414;&#12377;',
'titre_page_articles_edit' => '&#22793;&#26356;: @titre@',
'titre_page_articles_page' => '&#35352;&#20107;',
'titre_page_articles_tous' => '&#20840;&#12390;&#12398;&#12469;&#12452;&#12488;',
'titre_page_auteurs' => '&#35370;&#21839;&#32773;&#12383;&#12385;',
'titre_page_breves' => '&#12491;&#12517;&#12540;&#12473;',
'titre_page_breves_edit' => '&#12491;&#12517;&#12540;&#12473;&#12398;&#22793;&#26356;: &laquo;@titre@&raquo;',
'titre_page_calendrier' => '&#12459;&#12524;&#12531;&#12480;&#12540; @nom_mois@ @annee@',
'titre_page_config_contenu' => '&#12469;&#12452;&#12488;&#12398;&#35373;&#23450;',
'titre_page_config_fonctions' => '&#12469;&#12452;&#12488;&#12398;&#35373;&#23450;',
'titre_page_configuration' => '&#12469;&#12452;&#12488;&#12398;&#35373;&#23450;',
'titre_page_controle_petition' => '&#32154;&#22577;&#12434;&#35531;&#39000;&#12377;&#12427;',
'titre_page_delete_all' => '&#25764;&#22238;&#12391;&#12365;&#12394;&#12356;&#12289;&#12506;&#12540;&#12472;&#20840;&#20307;&#12398;&#21066;&#38500;',
'titre_page_documents_liste' => '&#20184;&#23646;&#12375;&#12383;&#25991;&#31456;',
'titre_page_forum' => '&#31649;&#29702;&#32773;&#12398;&#12501;&#12457;&#12540;&#12521;&#12512;',
'titre_page_forum_envoi' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#36865;&#12427;',
'titre_page_forum_suivi' => '&#12501;&#12457;&#12540;&#12521;&#12512;&#12398;&#32154;&#22577;',
'titre_page_index' => '&#12354;&#12394;&#12383;&#12398;&#12503;&#12521;&#12452;&#12505;&#12540;&#12488;&#12456;&#12522;&#12450;',
'titre_page_message_edit' => '&#12513;&#12483;&#12475;&#12540;&#12472;&#12434;&#26360;&#12367;',
'titre_page_messagerie' => '&#12354;&#12394;&#12383;&#12398;&#12513;&#12483;&#12475;&#12540;&#12472;&#12531;&#12464;',
'titre_page_mots_tous' => '&#12461;&#12540;&#12527;&#12540;&#12489;',
'titre_page_recherche' => '&#26908;&#32034;&#35486; @recherche@ &#12395;&#12424;&#12427;&#26908;&#32034;&#32080;&#26524;',
'titre_page_sites_tous' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;',
'titre_page_statistiques' => '&#12475;&#12463;&#12471;&#12519;&#12531;&#12372;&#12392;&#12398;&#32113;&#35336;',
'titre_page_statistiques_referers' => '&#32113;&#35336;&#65288;&#20837;&#12387;&#12390;&#12367;&#12427;&#12522;&#12531;&#12463;&#65289;',
'titre_page_statistiques_visites' => '&#35370;&#21839;&#32773;&#12398;&#32113;&#35336;',
'titre_page_upgrade' => 'SPIP&#12450;&#12483;&#12503;&#12464;&#12524;&#12540;&#12489;',
'titre_publication_articles_post_dates' => '&#35352;&#20107;&#12398;&#25237;&#31295;&#26178;&#38291;&#12398;&#20844;&#38283;',
'titre_referencement_sites' => '&#12469;&#12452;&#12488;&#12434;&#21442;&#29031;&#12375;&#12390;&#12356;&#12427;&#12398;&#12392;&#12289;&#37197;&#32102;',
'titre_referencer_site' => '&#12469;&#12452;&#12488;&#12398;&#21442;&#29031;:',
'titre_rendez_vous' => '&#32004;&#26463;:',
'titre_reparation' => '&#20462;&#29702;',
'titre_site_numero' => '&#12469;&#12452;&#12488;&#30058;&#21495;:',
'titre_sites_proposes' => '&#25552;&#20986;&#12375;&#12383;&#12469;&#12452;&#12488;',
'titre_sites_references_rubrique' => '&#12371;&#12398;&#12475;&#12463;&#12471;&#12519;&#12531;&#20869;&#12391;&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488; ',
'titre_sites_syndiques' => '&#37197;&#32102;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;',
'titre_sites_tous' => '&#21442;&#29031;&#12373;&#12428;&#12383;&#12469;&#12452;&#12488;',
'titre_suivi_petition' => '&#32154;&#22577;&#12434;&#35531;&#39000;&#12377;&#12427;',
'titre_syndication' => '&#12469;&#12452;&#12488;&#12398;&#37197;&#32102;',
'tout_dossier_upload' => '@upload@&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#20840;&#20307;',
'trad_article_inexistant' => '&#12371;&#12398;&#30058;&#21495;&#12395;&#12399;&#35352;&#20107;&#12399;&#12354;&#12426;&#12414;&#12379;&#12435;',
'trad_article_traduction' => '&#35352;&#20107;&#12398;&#12377;&#12409;&#12390;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;:',
'trad_deja_traduit' => '&#12371;&#12398;&#35352;&#20107;&#12399;&#12289;&#12381;&#12428;&#33258;&#36523;&#29694;&#22312;&#12398;&#35352;&#20107;&#12398;&#32763;&#35379;&#12391;&#12377;&#12290;',
'trad_delier' => '&#12371;&#12398;&#35352;&#20107;&#12434;&#12381;&#12398;&#32763;&#35379;&#12395;&#38306;&#36899;&#20184;&#12369;&#12394;&#12356;&#12391;&#19979;&#12373;&#12356;&#12290;',
'trad_lier' => '&#12371;&#12398;&#35352;&#20107;&#12399;&#12371;&#12398;&#35352;&#20107;&#30058;&#21495;&#12398;&#32763;&#35379;&#12391;&#12377;:',
'trad_new' => '&#12371;&#12398;&#35352;&#20107;&#12398;&#26032;&#12375;&#12356;&#32763;&#35379;&#12434;&#26360;&#12367;',
 
 
// V
'version_initiale' => '&#26368;&#21021;&#12398;&#12496;&#12540;&#12472;&#12519;&#12531;'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_oc_lnc.php3
New file
0,0 → 1,127
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'Acu&egrave;lh del sit',
'articles' => 'Articles',
'articles_auteur' => 'Articles d\'aquel autor',
'articles_populaires' => 'Los articles mai populars',
'articles_recents' => 'Los articles mai recents',
'articles_rubrique' => 'Articles d\'aquela rubrica',
'aucun_article' => 'I a pas cap d\'article a aquela adrei&ccedil;a ',
'aucun_auteur' => 'I a pas cap d\'autor a aquela adrei&ccedil;a ',
'aucun_site' => 'I a pas cap de sit a aquela adrei&ccedil;a ',
'aucune_breve' => 'I a pas cap de br&egrave;va a aquela adrei&ccedil;a ',
'aucune_rubrique' => 'I a pas cap de rubrica a aquela adrei&ccedil;a ',
'autres_breves' => 'Autras br&egrave;vas',
'autres_groupes_mots_clefs' => 'Autres grops de mots clau',
'autres_sites' => 'Autres sits',
 
 
// B
'bonjour' => 'Adieu-siatz',
'breves' => 'Br&egrave;vas',
 
 
// C
'commenter_site' => 'Comentar aquel sit',
 
 
// D
'date' => 'Data',
'dernier_ajout' => 'Darri&egrave;r apondon',
'dernieres_breves' => 'Darri&egrave;ras br&egrave;vas',
'derniers_articles' => 'Darri&egrave;rs articles',
'derniers_commentaires' => 'Darri&egrave;rs comentaris',
'derniers_messages_forum' => 'Darri&egrave;rs messatges publicats dins los forums',
 
 
// E
'edition_mode_texte' => 'Edicion en m&ograve;de t&egrave;xt de',
'en_reponse' => 'En responsa a:',
'en_resume' => 'En resumit',
'envoyer_message' => 'Mandar un messatge',
'espace_prive' => 'Espaci privat',
 
 
// F
'forum' => 'Forum',
 
 
// H
'hierarchie_site' => 'Ierarquia del sit',
 
 
// J
'jours' => 'jorns',
 
 
// M
'meme_auteur' => 'Del meteis autor',
'meme_rubrique' => 'Dins la meteissa rubrica',
'memes_auteurs' => 'Dels meteisses autors',
'message' => 'Messatge',
'messages_forum' => 'Messatges de forum',
'messages_recents' => 'Los messatges de forums mai recents',
'mots_clefs' => 'Mots clau',
'mots_clefs_meme_groupe' => 'Mots clau dins lo meteis grop',
 
 
// N
'navigation' => 'Navigacion',
'nom' => 'Nom',
'nouveautes' => 'Las novetats',
'nouveautes_web' => 'Novetats subre lo web',
'nouveaux_articles' => 'Articles n&ograve;us',
'nouvelles_breves' => 'Br&egrave;vas n&ograve;vas',
 
 
// P
'page_precedente' => 'pagina precedenta',
'page_suivante' => 'pagina seguenta',
'par_auteur' => 'per&nbsp;',
'participer_site' => 'Pod&egrave;tz participar a la vida d\'aquel sit e prepausar los articles v&ograve;stres en vos inscriure &ccedil;ai jos. Recebretz c&ograve;p sec un e-mail que vos indicar&agrave; v&ograve;stres c&ograve;des per accedir a l\'espaci privat del sit.',
'plan_site' => 'Plan del sit',
'popularite' => 'Popularitat',
'poster_message' => 'Postar un messatge',
'proposer_site' => 'Pod&egrave;tz prepausar un sit d\'apondre a aquesta rubrica:',
 
 
// R
'repondre_article' => 'Respondre a aquel article',
'repondre_breve' => 'Respondre a aquela br&egrave;va',
'repondre_message' => 'Respondre a aquel messatge',
'resultats_recherche' => 'Resultats de la c&egrave;rca',
'retour_debut_forums' => 'Retorn al comen&ccedil;ament dels forums',
'rubrique' => 'Rubrica',
'rubriques' => 'Rubricas',
 
 
// S
'signatures_petition' => 'Signaturas',
'site_realise_avec_spip' => 'Sit realizat amb SPIP',
'sites_web' => 'Sits web',
'sous_rubriques' => 'Sosrubricas',
'suite' => 'seguida',
'sur_web' => 'Subre lo web',
'syndiquer_rubrique' => 'Sindicar aquela rubrica',
'syndiquer_site' => 'Sindicar tot lo sit',
 
 
// T
'texte_lettre_information' => 'Vaic&iacute; la letra d\'informacion del sit',
'texte_lettre_information_2' => 'Aquela letra recensa los articles e br&egrave;vas publicats dempu&egrave;i',
 
 
// V
'ver_imprimer' => 'Version d\'estampar',
'voir_en_ligne' => 'Vejatz en linha'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_en.php3
New file
0,0 → 1,739
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
'0_langue' => 'English [en]',
'0_liste' => 'spip-en@rezo.net',
'0_mainteneur' => 'George Kandalaft (george@diwanalarab.com)',
 
 
// A
'access_interface_graphique' => 'Back to the complete graphical interface',
'access_mode_texte' => 'Show the simplified text interface',
'admin_debug' => 'debug',
'admin_modifier_article' => 'Modify this article',
'admin_modifier_auteur' => 'Modify this author',
'admin_modifier_breve' => 'Modify this news item',
'admin_modifier_mot' => 'Modify this keyword',
'admin_modifier_rubrique' => 'Modify this section',
'admin_recalculer' => 'Refresh this page',
'alerte_maj_impossible' => '<b>Warning!</b> Failed to update the MySQL database to version @version@, maybe due to a permissions problem on the database. Please contact your ISP.',
'analyse_xml' => 'XML parsing',
'avis_archive_incorrect' => 'archive file is not a valid SPIP file',
'avis_archive_invalide' => 'archive file is not valid',
'avis_attention' => 'CAUTION!',
'avis_champ_incorrect_type_objet' => 'Invalid field name @name@ for object of type @type@',
'avis_colonne_inexistante' => 'Column @col@ does not exist',
'avis_echec_syndication_01' => 'Syndication failed: either the selected backend is unreadable or it does not offer any article.',
'avis_echec_syndication_02' => 'Syndication failed: could not reach the backend of this site.',
'avis_erreur' => 'Error: see below\';',
'avis_erreur_connexion' => 'Connection error',
'avis_erreur_cookie' => 'cookie problem',
'avis_erreur_fonction_contexte' => 'Programming error. This function should not be called in this context.',
'avis_erreur_mysql' => 'MySQL error',
'avis_erreur_sauvegarde' => 'Error in backup (@type@ @id_objet@)!',
 
 
// B
'barre_a_accent_grave' => 'Insert a capital A with grave accent',
'barre_aide' => 'Use the typographic short cuts to refine your layout',
'barre_e_accent_aigu' => 'Insert a capital E with acute accent',
'barre_eo' => 'Insert an oe-ligature',
'barre_eo_maj' => 'Insert a capital EO-ligature',
'barre_euro' => 'Insert the &euro; symbol',
'barre_gras' => 'Put in {{bold type}}',
'barre_guillemets' => 'Place between "double quotes"',
'barre_guillemets_simples' => 'Place between ‘single quotes’',
'barre_intertitre' => 'Turn into a {{{subheading}}}',
'barre_italic' => 'Put in {italics}',
'barre_lien' => 'Turn into a [hyperlink->http://...]',
'barre_lien_input' => 'Please enter the target of your hyperlink (you may give an internet URL in the form http://www.mysite.com or else simply the number of an article on this site).',
'barre_note' => 'Turn into a [[Footnote]]',
'barre_quote' => '<quote>Quote a message</quote>',
'bouton_ajouter_document' => 'ADD A DOCUMENT',
'bouton_ajouter_image' => 'ADD AN IMAGE',
'bouton_changer' => 'Modify',
'bouton_chercher' => 'Search',
'bouton_choisir' => 'Select',
'bouton_enregistrer' => 'Save',
'bouton_radio_desactiver_messagerie_interne' => 'Disable internal messaging',
'bouton_radio_envoi_annonces' => 'Send editorial announcements',
'bouton_radio_non_envoi_annonces' => 'Do not send any announcements',
'bouton_radio_non_envoi_liste_nouveautes' => 'Do not send latest news list',
'bouton_recharger_page' => 'reload this page',
'bouton_telecharger' => 'Upload',
'bouton_valider' => 'Submit',
 
 
// C
'cal_apresmidi' => 'afternoon (p.m.)',
'cal_jour_entier' => 'entire day',
'cal_matin' => 'morning (a.m.)',
'cal_par_jour' => 'daily calendar',
'cal_par_mois' => 'monthly calendar',
'cal_par_semaine' => 'weekly calendar',
'confirm_changer_statut' => 'Confirmation required: You have asked to change this article\'s status. Do you wish to continue?',
 
 
// D
'date_aujourdhui' => 'today',
'date_avant_jc' => 'B.C.',
'date_dans' => 'in @delai@',
'date_de_mois_1' => '@j@ @nommois@',
'date_de_mois_10' => '@j@ @nommois@',
'date_de_mois_11' => '@j@ @nommois@',
'date_de_mois_12' => '@j@ @nommois@',
'date_de_mois_2' => '@j@ @nommois@',
'date_de_mois_3' => '@j@ @nommois@',
'date_de_mois_4' => '@j@ @nommois@',
'date_de_mois_5' => '@j@ @nommois@',
'date_de_mois_6' => '@j@ @nommois@',
'date_de_mois_7' => '@j@ @nommois@',
'date_de_mois_8' => '@j@ @nommois@',
'date_de_mois_9' => '@j@ @nommois@',
'date_demain' => 'tomorrow',
'date_fmt_heures_minutes' => '@h@:@m@',
'date_fmt_jour_heure' => '@jour@ at @heure@',
'date_fmt_jour_mois' => '@jourmois@',
'date_fmt_jour_mois_annee' => '@jourmois@ @annee@',
'date_fmt_mois_annee' => '@nommois@ @annee@',
'date_fmt_nomjour_date' => 'on @nomjour@ @date@',
'date_heures' => 'hours',
'date_hier' => 'yesterday',
'date_il_y_a' => '@delai@ ago',
'date_jnum1' => '1',
'date_jnum10' => '10',
'date_jnum11' => '11',
'date_jnum12' => '12',
'date_jnum13' => '13',
'date_jnum14' => '14',
'date_jnum15' => '15',
'date_jnum16' => '16',
'date_jnum17' => '17',
'date_jnum18' => '18',
'date_jnum19' => '19',
'date_jnum2' => '2',
'date_jnum20' => '20',
'date_jnum21' => '21',
'date_jnum22' => '22',
'date_jnum23' => '23',
'date_jnum24' => '24',
'date_jnum25' => '25',
'date_jnum26' => '26',
'date_jnum27' => '27',
'date_jnum28' => '28',
'date_jnum29' => '29',
'date_jnum3' => '3',
'date_jnum30' => '30',
'date_jnum31' => '31',
'date_jnum4' => '4',
'date_jnum5' => '5',
'date_jnum6' => '6',
'date_jnum7' => '7',
'date_jnum8' => '8',
'date_jnum9' => '9',
'date_jour_1' => 'Sunday',
'date_jour_2' => 'Monday',
'date_jour_3' => 'Tuesday',
'date_jour_4' => 'Wednesday',
'date_jour_5' => 'Thursday',
'date_jour_6' => 'Friday',
'date_jour_7' => 'Saturday',
'date_jours' => 'days',
'date_minutes' => 'minutes',
'date_mois' => 'months',
'date_mois_1' => 'January',
'date_mois_10' => 'October',
'date_mois_11' => 'November',
'date_mois_12' => 'December',
'date_mois_2' => 'February',
'date_mois_3' => 'March',
'date_mois_4' => 'April',
'date_mois_5' => 'May',
'date_mois_6' => 'June',
'date_mois_7' => 'July',
'date_mois_8' => 'August',
'date_mois_9' => 'September',
'date_saison_1' => 'winter',
'date_saison_2' => 'spring',
'date_saison_3' => 'summer',
'date_saison_4' => 'autumn',
'date_semaines' => 'weeks',
'dirs_commencer' => ' in order to really start the installation',
'dirs_preliminaire' => 'Preliminary: <b>Setting up access permissions</b>',
'dirs_probleme_droits' => '<b>Problem in access permissions</b>',
'dirs_repertoires_absents' => '<b>The following directories have not been found: <ul>@bad_dirs@.</ul> </b>
<p />The possible cause is a bad lower or upper case handling.
Please make sure that the lower and upper case letters of these directories match what is displayed
above; if they don\'t, rename the directories using your FTP client in order to correct the error.
<p />Once this is done, you can',
'dirs_repertoires_suivants' => '<b>The following directories do not have write permission: <ul>@bad_dirs@.</ul> </b>
 
<p />To change this, use your FTP client in order to set access permissions for each
 
of these directories. The procedure is detailed in the install guide.
 
<p />Once you achieve this operation, you can ',
 
 
// E
'entree_dimensions' => 'Size:',
'entree_titre_document' => 'Document title:',
'entree_titre_image' => 'Image title:',
'envoi_via_le_site' => 'Send via the site',
 
 
// F
'fichier_introuvable' => 'File not found: @fichier@',
'form_deja_inscrit' => 'You are already registered.',
'form_email_non_valide' => 'Your e-mail address is not valid.',
'form_forum_access_refuse' => 'You do not have access to this site anymore.',
'form_forum_bonjour' => 'Good day @nom@,',
'form_forum_email_deja_enregistre' => 'This e-mail address is already registered, consequently you can use your usual password.',
'form_forum_identifiant_mail' => 'Your new identifier has just been sent to you by e-mail.',
'form_forum_identifiants' => 'Personal identifiers',
'form_forum_indiquer_nom_email' => 'Enter here your name and e-mail address. You will receive your personal identifier shortly by e-mail.',
'form_forum_login' => 'login:',
'form_forum_message_auto' => '(this is an automated message)',
'form_forum_pass' => 'password:',
'form_forum_probleme_mail' => 'Mail problem: the identifier could not be sent.',
'form_forum_voici1' => 'Here are your identifiers to participate in the site\'s life
"@nom_site_spip@" (@adresse_site@/):',
'form_forum_voici2' => 'Here are your identifiers to submit articles for
the site "@nom_site_spip@" (@adresse_site@/ecrire/):',
'form_indiquer_email' => 'Please enter your e-mail address.',
'form_indiquer_nom' => 'Please enter your name.',
'form_indiquer_nom_site' => 'Please enter your siteÂ’s name.',
'form_pet_adresse_site' => 'Your site\'s URL',
'form_pet_aucune_signature' => 'No signature matches this code...',
'form_pet_confirmation' => 'Please confirm your signature:',
'form_pet_deja_enregistre' => 'This site is already registered',
'form_pet_deja_signe' => 'You have already signed this text.',
'form_pet_envoi_mail_confirmation' => 'A confirmation e-mail has just been sent to you. You should visit the URL mentioned in this mail to validate your signature.',
'form_pet_mail_confirmation' => 'Good day,
 
You requested to sign the petition:
@titre@.
 
You provided the following information:
Name: @nom_email@
Site: @nom_site@ - @url_site@
 
IMPORTANT...
To validate your signature, you just have to connect to
the address below (otherwise, your request
will be rejected):
@url@
 
Thank you for your participation
',
'form_pet_message_commentaire' => 'Any message or comment?',
'form_pet_nom_site2' => 'Name of your web site',
'form_pet_probleme_technique' => 'Technical problem, signatures are interrupted momentarily.',
'form_pet_signature_pasprise' => 'Your signature has been ignored.',
'form_pet_signature_validee' => 'Your signature is valid. Thank you!',
'form_pet_site_deja_enregistre' => 'This site is already registered',
'form_pet_url_invalide' => 'The URL that you have entered is not valid.',
'form_pet_votre_email' => 'Your e-mail address',
'form_pet_votre_nom' => 'Your name or alias',
'form_pet_votre_site' => 'If you have a web site, you can enter it below',
'form_prop_confirmer_envoi' => 'Confirm dispatch',
'form_prop_description' => 'Description/comment',
'form_prop_enregistre' => 'Your proposal has been recorded, it will appear online after being validated by the administrators of this site.',
'form_prop_envoyer' => 'Send a message',
'form_prop_indiquer_email' => 'Please enter a valid e-mail address',
'form_prop_indiquer_nom_site' => 'Please enter the site\'s name.',
'form_prop_indiquer_sujet' => 'Please enter a subject',
'form_prop_message_envoye' => 'Message sent',
'form_prop_nom_site' => 'Site\'s name',
'form_prop_non_enregistre' => 'Your proposal has not been recorded.',
'form_prop_sujet' => 'Subject',
'form_prop_url_site' => 'Site\'s URL',
'forum_acces_refuse' => 'You have not access to these forums anymore.',
'forum_attention_dix_caracteres' => '<b>Warning!</b> Your message needs to be at least ten characters in length.',
'forum_attention_trois_caracteres' => '<b>Warning!</b> Your title needs to be at least three characters in length.',
'forum_avez_selectionne' => 'You have selected:',
'forum_cliquer_retour' => 'Click <a href=\'@retour_forum@\'>here</a> to continue.',
'forum_forum' => 'forum',
'forum_info_modere' => 'This forum is moderated beforehand: your contribution will only appear after being validated by a site administrator.',
'forum_lien_hyper' => '<b>Hypertext link</b> (optional)',
'forum_message_definitif' => 'Final message: send to the site',
'forum_message_trop_long' => 'Your message is too long. Maximum length should be 20000 characters.',
'forum_ne_repondez_pas' => 'Do not reply to this mail but in the forum at the following address:',
'forum_non_inscrit' => 'Either you are not registered or the address or password are wrong.',
'forum_page_url' => '(If your message refers to an article published on the web or to a page providing further information, please enter the title of the page and its URL below).',
'forum_par_auteur' => 'by @auteur@',
'forum_poste_par' => 'Message posted@parauteur@ following your article.',
'forum_probleme_database' => 'Database problem, your message could not be recorded.',
'forum_qui_etes_vous' => '<b>Who are you?</b> (optional)',
'forum_texte' => 'Text of your message:',
'forum_titre' => 'Subject:',
'forum_titre_erreur' => 'Error...',
'forum_url' => 'URL:',
'forum_valider' => 'Validate this choice',
'forum_voir_avant' => 'Preview message before posting',
'forum_votre_email' => 'Your e-mail address:',
'forum_votre_nom' => 'Your name (or alias):',
'forum_vous_enregistrer' => 'Prior to participating in
this forum, you must register. Thank you
for entering the personal identifier
supplied to you. If you are not already registered, you must',
'forum_vous_inscrire' => 'register.',
 
 
// I
'ical_texte_rss_articles' => 'The address of the backend file of the site\'s articles is:',
'ical_texte_rss_articles2' => 'Also, you can get backend files for the articles of each section of the site:',
'ical_texte_rss_breves' => 'Furthermore, there is a file containing the site\'s news items. By selecting a section number, you could get only the news items of that section.',
'icone_a_suivre' => 'Launch pad',
'icone_admin_site' => 'Site administration',
'icone_agenda' => 'Calendar',
'icone_aide_ligne' => 'Help',
'icone_articles' => 'Articles',
'icone_auteurs' => 'Authors',
'icone_breves' => 'News',
'icone_brouteur' => 'Quick browsing',
'icone_configuration_site' => 'Configuration',
'icone_configurer_site' => 'Configure your site',
'icone_creer_mot_cle' => 'Create a new keyword and link it to this article',
'icone_creer_nouvel_auteur' => 'Create a new author',
'icone_creer_rubrique' => 'Create a section',
'icone_creer_sous_rubrique' => 'Create a sub-section',
'icone_deconnecter' => 'Log out',
'icone_discussions' => 'Discussions',
'icone_doc_rubrique' => 'Attached documents',
'icone_ecrire_article' => 'Write a new article',
'icone_edition_site' => 'Site edit',
'icone_forum_administrateur' => 'Administrators\' forum',
'icone_forum_suivi' => 'Forums follow-up',
'icone_gestion_langues' => 'Language management',
'icone_informations_personnelles' => 'Personal information',
'icone_interface_complet' => 'complete interface',
'icone_interface_simple' => 'Simplified interface',
'icone_maintenance_site' => 'Site maintenance',
'icone_messagerie_personnelle' => 'Personal messaging',
'icone_mots_cles' => 'Keywords',
'icone_nouvelle_breve' => 'Write a new news item',
'icone_repartition_actuelle' => 'Show current distribution',
'icone_repartition_debut' => 'Show distribution from the start',
'icone_repartition_visites' => 'Visits distribution',
'icone_rubriques' => 'Sections',
'icone_sauver_site' => 'Site backup',
'icone_site_entier' => 'The entire site',
'icone_sites_references' => 'Referenced sites',
'icone_statistiques' => 'Site statistics',
'icone_statistiques_visites' => 'Statistics',
'icone_suivi_activite' => 'Follow-up of the site\'s activity',
'icone_suivi_actualite' => 'Site statistics',
'icone_suivi_forums' => 'Manage forums',
'icone_suivi_pettions' => 'Manage petitions',
'icone_suivi_revisions' => 'Article revisions',
'icone_supprimer_document' => 'Delete this document',
'icone_supprimer_image' => 'Delete this image',
'icone_supprimer_message' => 'Delete this message',
'icone_tous_articles' => 'All your articles',
'icone_tous_auteur' => 'All the authors',
'icone_valider_message' => 'Validate this message',
'icone_visiter_site' => 'Visit the site',
'icone_voir_en_ligne' => 'View online',
'image_tourner_180' => 'Rotate 180&deg;',
'image_tourner_droite' => 'Rotate 90&deg; right',
'image_tourner_gauche' => 'Rotate 90&deg; left',
'img_indisponible' => 'image unavailable',
'info_a_suivre' => 'LAUNCH PAD&raquo;',
'info_a_valider' => '[to be validated]',
'info_acces_interdit' => 'Access forbidden',
'info_acces_refuse' => 'Access denied',
'info_action' => 'Action: @action@',
'info_administrer_rubriques' => 'You can manage this section and its sub-sections',
'info_adresse_non_indiquee' => 'You did not specify an address to test!',
'info_aide' => 'HELP:',
'info_ajouter_mot' => 'Add this keyword',
'info_annonce' => 'ANNOUNCEMENT',
'info_annonces_generales' => 'General announcements:',
'info_article_propose' => 'Article submitted',
'info_article_publie' => 'Article published',
'info_article_redaction' => 'Article in progress',
'info_article_refuse' => 'Article rejected',
'info_article_supprime' => 'Article deleted',
'info_articles' => 'Articles',
'info_articles_a_valider' => 'Articles to be validated',
'info_articles_proposes' => 'Articles submitted',
'info_auteurs_nombre' => 'author(s):',
'info_authentification_ftp' => 'Authentication (by FTP).',
'info_bloquer_lien' => 'block this link',
'info_breves_02' => 'News',
'info_breves_2' => 'news',
'info_breves_valider' => 'News items to be validated',
'info_connexion_refusee' => 'Connection denied',
'info_contact_developpeur' => 'Please contact a developer.',
'info_contenance' => 'This site contains:',
'info_contribution' => 'forum contributions',
'info_copyright' => '@spip@ is free software distributed @lien_gpl@.',
'info_copyright_doc' => 'For further information, see <a href=\'http://www.spip.net/en\'>http://www.spip.net/en</a>.',
'info_copyright_gpl' => 'under the GPL license',
'info_cours_edition' => 'Your articles in progress',
'info_creer_repertoire' => 'Please create a file or a directory called:',
'info_creer_repertoire_2' => 'inside the sub-directory <b>ecrire/data/</b>, then',
'info_creer_vignette' => 'automated creation of the thumbnail',
'info_deplier' => 'Unfold',
'info_descriptif_nombre' => 'description(s):',
'info_description' => 'Description:',
'info_description_2' => 'Description:',
'info_dimension' => 'Size:',
'info_document' => 'Document',
'info_documents' => 'Documents',
'info_echange_message' => 'SPIP allows the exchange of messages and the creation of private
discussion forums between participants to the site. You can enable or
disable this feature.',
'info_ecire_message_prive' => 'Write a private message',
'info_email_invalide' => 'Invalid e-mail address.',
'info_en_cours_validation' => 'Your articles in progress',
'info_en_ligne' => 'Online now:',
'info_envoyer_message_prive' => 'Send a private message to this author',
'info_erreur_requete' => 'Error in query:',
'info_erreur_squelette2' => 'No available template <b>@fichier@</b>...',
'info_erreur_systeme' => 'System error (errno @errsys@)',
'info_erreur_systeme2' => '<b>The hard disk might be full or the database damaged. <br>
<font color=\'red\'>try <a href=\'ecrire/admin_repair.php3\'>repairing the database</a>,
or contact your host.</font><br></b>',
'info_fini' => 'Done!',
'info_format_image' => 'Image format to be used for the creation of vignettes: @gd_formats@.',
'info_format_non_defini' => 'undefined format',
'info_grand_ecran' => 'Large display',
'info_image_aide' => 'HELP',
'info_image_process_titre' => 'How to create thumbnails',
'info_impossible_lire_page' => '<B>Error!</b> The page could not be read <tt><html>@test_proxy@</html></tt> through the proxy <tt>',
'info_inclusion_directe' => 'Direct inclusion:',
'info_inclusion_vignette' => 'Include vignette:',
'info_installation_systeme_publication' => 'Publication system installation ...',
'info_installer_documents' => 'You can automatically install all the documents which are in the folder <i>upload</i>.',
'info_installer_ftp' => 'As an administrator, you can install (by FTP) files in the folder ecrire/upload in order to select them later directly from here.',
'info_installer_images' => 'You can install images of formats JPEG, GIF et PNG.',
'info_installer_images_dossier' => 'Install images in folder /ecrire/upload to be able to select them here.',
'info_installer_tous_documents' => 'Install all the documents',
'info_interface_complete' => 'complete interface',
'info_interface_simple' => 'Simplified interface',
'info_joindre_document_article' => 'You can attach to your article documents of types',
'info_joindre_document_rubrique' => 'You can add to this section documents of types',
'info_joindre_documents_article' => 'You can attach to your article documents of types:',
'info_l_article' => 'the article',
'info_la_breve' => 'the news item',
'info_la_rubrique' => 'the section',
'info_langue_principale' => 'Main site language',
'info_largeur_vignette' => '@largeur_vignette@ &times; @hauteur_vignette@ pixels',
'info_les_auteurs_1' => 'by @les_auteurs@',
'info_logo_format_interdit' => 'Only logos in the formats @formats@ are allowed.',
'info_logo_max_poids' => 'Logos must be less than @maxi@ (this file is @actuel@).',
'info_logo_max_taille' => 'Logos must be less than @maxi@ (this file is @actuel@).',
'info_mail_fournisseur' => 'you@isp.com',
'info_message_2' => 'MESSAGE',
'info_message_supprime' => 'MESSAGE DELETED',
'info_mise_en_ligne' => 'Date of online publication:',
'info_modification_parametres_securite' => 'modifying security parameters',
'info_mois_courant' => 'During the month:',
'info_mot_cle_ajoute' => 'The following keyword was added to',
'info_multi_herit' => 'Default language',
'info_multi_langues_soulignees' => 'The <u>underlined languages</u> provide a translation of all the texts of the interface. If you select these languages, many elements of the public site (dates, forms) will be automatically translated. As for the non-underlined languages, those elements will appear in the main language of the site.',
'info_multilinguisme' => 'Multilingual',
'info_nom_non_utilisateurs_connectes' => 'Your name does not appear in the list of connected users.',
'info_nom_utilisateurs_connectes' => 'Your name appears in the list of connected users.',
'info_nombre_en_ligne' => 'Online now:',
'info_non_resultat' => 'No results for "@cherche_mot@"',
'info_non_utilisation_messagerie' => 'You are not using the internal messaging of this site.',
'info_nouveau_message' => 'YOU HAVE A NEW MESSAGE',
'info_nouveaux_messages' => 'YOU HAVE @total_messages@ NEW MESSAGES',
'info_numero_abbreviation' => 'No',
'info_panne_site_syndique' => 'Syndicated site out of order',
'info_pense_bete' => 'MEMO',
'info_petit_ecran' => 'Small display',
'info_pixels' => 'pixels',
'info_plusieurs_mots_trouves' => 'Several keywords were found for "@cherche_mot@":',
'info_popularite_5' => 'popularity:',
'info_portfolio' => 'Portfolio',
'info_portfolio_automatique' => 'Automated portfolio:',
'info_premier_resultat' => '[@debut_limit@ first results out of @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ first results out of @total@]',
'info_probleme_grave' => 'error of',
'info_propose_1' => '[@nom_site_spip@] Submitted: @titre@',
'info_propose_2' => 'Article submitted
-----------------',
'info_propose_3' => 'The article "@titre@" is submitted for publication.',
'info_propose_4' => 'You are invited to review it and to give your opinion',
'info_propose_5' => 'in the forum linked to it. It is available at the address:',
'info_publie_01' => 'The article "@titre@" was validated by @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] PUBLISHED: @titre@',
'info_publie_2' => 'Article published
-----------------',
'info_rechercher' => 'Search',
'info_rechercher_02' => 'Search:',
'info_remplacer_vignette' => 'Replace the default vignette by a customised logo:',
'info_retablir_lien' => 'restore this link',
'info_retirer_mot' => 'Remove this keyword',
'info_retirer_mots' => 'Remove all keywords',
'info_sans_titre_2' => 'untitled',
'info_selectionner_fichier' => 'You can select a file from the folder <i>upload</i>',
'info_selectionner_fichier_2' => 'Select a file:',
'info_site_attente' => 'Web site pending validation',
'info_site_reference' => 'Referenced sites online',
'info_site_refuse' => 'Web site rejected',
'info_sites_referencer' => 'Referencing a site',
'info_supprimer_vignette' => 'delete the vignette',
'info_symbole_bleu' => 'The symbol <B>blue</B> indicates a <B>memo</B>: i.e. a message for your personal use.',
'info_symbole_jaune' => 'The symbol <B>yellow</B> indicates an <B>announcement to all editors</B>: it can be edited by all administrators, and is visible to all editors.',
'info_symbole_vert' => 'The symbol <B>green</B> indicates the <B>messages exchanged with other users</B> of the site.',
'info_syndication' => 'syndication:',
'info_syndication_articles' => 'article(s)',
'info_telecharger' => 'Upload from your computer:',
'info_telecharger_nouveau_logo' => 'Upload a new logo:',
'info_telecharger_ordinateur' => 'Upload from your computer:',
'info_tous_resultats_enregistres' => '[all the results are recorded]',
'info_tout_afficher' => 'Show all',
'info_travaux_texte' => 'This site is not yet set up. Please come back later...',
'info_travaux_titre' => 'Site under construction',
'info_trop_resultat' => 'Too many results for "@cherche_mot@"; please refine the search.',
'info_utilisation_messagerie_interne' => 'You are using the internal messaging of this site.',
'info_valider_lien' => 'validate this link',
'info_verifier_image' => ', please make sure your images have been transferred correctly.',
'info_vignette_defaut' => 'Default vignette',
'info_vignette_personnalisee' => 'Customised vignette',
'info_visite' => 'visit:',
'info_visites' => 'visits:',
'info_vos_rendez_vous' => 'Your future appointments',
'info_zoom' => 'zoom',
'infos_vos_pense_bete' => 'Your memos',
'item_breve_proposee' => 'News item submitted',
 
 
// L
'lien_afficher_icones_seuls' => 'Show icons only',
'lien_afficher_texte_icones' => 'Show icons and text',
'lien_afficher_texte_seul' => 'Show text only',
'lien_icones_interface' => 'The interface icons are from <a href=\'http://jimmac.musichall.cz/\'>Jakub \'Jimmac\' Steiner</a>.',
'lien_liberer' => 'release',
'lien_liberer_tous' => 'free these articles',
'lien_nouvea_pense_bete' => 'NEW MEMO',
'lien_nouveau_message' => 'NEW MESSAGE',
'lien_nouvelle_annonce' => 'NEW ANNOUNCEMENT',
'lien_petitions' => 'PETITION',
'lien_popularite' => 'popularity: @popularite@%',
'lien_racine_site' => 'SITE ROOT',
'lien_reessayer' => 'try again',
'lien_repondre_message' => 'Reply to this message',
'lien_supprimer' => 'delete',
'lien_tout_afficher' => 'Show all',
'lien_visite_site' => 'visit this site',
'lien_visites' => '@visites@ visits',
'lien_voir_auteur' => 'Check this author',
'login_acces_prive' => 'access to the private area',
'login_autre_identifiant' => 'use a different ID',
'login_connexion_refusee' => 'Connection rejected.',
'login_cookie_accepte' => 'Please set your browser to accept them (at least for this site).',
'login_cookie_oblige' => 'To identify yourself securely, you must accept cookies.',
'login_deconnexion_ok' => 'Logged out.',
'login_erreur_pass' => 'Password error.',
'login_espace_prive' => 'private area',
'login_identifiant_inconnu' => 'The identifier "@login@" is unknown.',
'login_login' => 'Login:',
'login_login2' => 'Login (identifier for connection to the site):',
'login_login_pass_incorrect' => '(Wrong login or password).',
'login_motpasseoublie' => 'password forgotten?',
'login_non_securise' => 'Caution, this form is not secure.
If you do not want your password to be open to
interception on the network, please activate Javascript
in your browser and',
'login_nouvelle_tentative' => 'New attempt',
'login_par_ici' => 'You are registered... this way...',
'login_pass2' => 'Password:',
'login_preferez_refuser' => '<b>If you prefer to refuse the cookies</b>, there is another connection method (less secure) at your disposal:',
'login_recharger' => 'reload this page',
'login_rester_identifie' => 'Remember my ID for a few days',
'login_retour_public' => 'Back to the public site',
'login_retour_site' => 'Back to the public site',
'login_retoursitepublic' => 'back to the public site',
'login_sans_cookiie' => 'Identification without cookie',
'login_sinscrire' => 'register',
'login_test_navigateur' => 'testing browser/reconnection',
'login_verifiez_navigateur' => '(However, verify that your browser did not memorize your password...)',
 
 
// M
'module_fichiers_langues' => 'Language files',
 
 
// N
'navigateur_pas_redirige' => 'If your browser is not redirected, click here to continue.',
 
 
// O
'onglet_affacer_base' => 'Delete the database',
'onglet_auteur' => 'The author',
'onglet_contenu_site' => 'The site\'s content',
'onglet_evolution_visite_mod' => 'Visits level',
'onglet_fonctions_avances' => 'Advanced functions',
'onglet_informations_personnelles' => 'Personal Information',
'onglet_interactivite' => 'Interactivity',
'onglet_messagerie' => 'Messaging',
'onglet_messages_internes' => 'Internal messages',
'onglet_messages_publics' => 'Public messages',
'onglet_messages_vide' => 'Messages without text',
'onglet_origine_visites' => 'Visits Origin',
'onglet_repartition_debut' => 'from the start',
'onglet_repartition_lang' => 'Distribution by languages',
'onglet_repartition_rubrique' => 'Distribution by section',
'onglet_save_restaur_base' => 'Backup/restore the database',
'onglet_vider_cache' => 'Empty the cache',
'ortho_trop_de_fautes2' => 'Start by correcting the most obvious mistakes, then try again.',
 
 
// P
'pass_choix_pass' => 'Please choose your new password:',
'pass_erreur' => 'Error',
'pass_erreur_acces_refuse' => '<b>Error:</b> you do not have access to this site anymore.',
'pass_erreur_code_inconnu' => '<b>Error:</b> this code does not match any visitor with access permission to this site.',
'pass_erreur_non_enregistre' => '<b>Error :</b> the address <tt>@email_oubli@</tt> is not registered in this site.',
'pass_erreur_non_valide' => '<b>Error :</b> the e-mail <tt>@email_oubli@</tt> is not valid!',
'pass_erreur_probleme_technique' => '<b>Error :</b> this e-mail could not be sent due to a technical problem.',
'pass_espace_prive_bla' => 'The private area of this site is opened to
visitors after registration. Once you have registered,
you can review the articles in progress,
submit articles and participate in all the forums.',
'pass_forum_bla' => 'You have requested to take part in a forum
reserved for registered visitors.',
'pass_indiquez_cidessous' => 'Enter below the e-mail address with which you
registered previously. You
will receive an e-mail explaining how you
can retreive your access.',
'pass_mail_passcookie' => '(this is an automated message)
 
To retrieve your access to the site
@nom_site_spip@ (@adresse_site@)
 
Please go to the following address:
@adresse_site@/spip_pass.php3?p=@cookie@
 
You can then enter a new password
and connect again to the site.
',
'pass_mot_oublie' => 'Password forgotten',
'pass_nouveau_enregistre' => 'Your new password has been recorded.',
'pass_nouveau_pass' => 'New password',
'pass_ok' => 'OK',
'pass_oubli_mot' => 'Forgetting password',
'pass_quitter_fenetre' => 'Quit this window',
'pass_rappel_login' => 'Reminder: your identifier (login) is "@login@".',
'pass_recevoir_mail' => 'You will receive an e-mail explaining how you can retrieve your access to the site.',
'pass_retour_public' => 'Back to the public site',
'pass_rien_a_faire_ici' => 'Nothing to do here.',
'pass_vousinscrire' => 'Registering with the site',
'precedent' => 'previous',
'previsualisation' => 'Preview',
'previsualiser' => 'Show preview',
 
 
// S
'stats_visites_et_popularite' => '@visites@ visits; popularity: @popularite@',
'suivant' => 'next',
 
 
// T
'taille_ko' => '@taille@&nbsp;kb',
'taille_mo' => '@taille@&nbsp;Mb',
'taille_octets' => '@taille@&nbsp;bytes',
'texte_actualite_site_1' => 'When you become familiar with the interface, click on the &laquo;',
'texte_actualite_site_2' => 'complete interface',
'texte_actualite_site_3' => '&raquo; to make more features available.',
'texte_creation_automatique_vignette' => 'Automated creation of preview vignettes is enabled in this site. if you install, through this form, images in the format(s) @gd_formats@, they will be coupled with a vignette which maximum size is @taille_preview@ pixels.',
'texte_documents_associes' => 'The following documents are associated with the article,,
but they were not directly
inserted. Based on the public site\'s layout,
they could appear as attached documents.',
'texte_erreur_mise_niveau_base' => 'Database error during upgrade.
The image <B>@fichier@</B> could not be passed (article @id_article@).<p>
Note carefully this reference, retry the upgrade procedure,
and finally make sure that the images still appear
in the articles.',
'texte_inc_auth_1' => 'You identified yourself with the login
<B>@auth_login@</B>, but it does not exist in the database (anymore).
Try to',
'texte_inc_auth_2' => 'reconnect',
'texte_inc_auth_3' => 'having quit then
restarted your browser if necessary.',
'texte_inc_config' => 'The modifications entered below influence notably
the functioning of the site. You are advised not to deal with them unless you are
familiar with the functioning of the SPIP system. <P align="justify"><B>More
generally, you are strongly advised
to let the main webmaster of your site deal with this page.</b>',
'texte_inc_meta_1' => 'The system encountered an error when trying to write the file <code>ecrire/data/meta_cache.php3</code>. As a site administrator, please',
'texte_inc_meta_2' => 'verify write permissions',
'texte_inc_meta_3' => 'of the directory <code>ecrire/data/</code>.',
'texte_statut_en_cours_redaction' => 'editing in progress',
'texte_statut_poubelle' => 'in the dustbin',
'texte_statut_propose_evaluation' => 'submitted for evaluation',
'texte_statut_publie' => 'published online',
'texte_statut_refuse' => 'rejected',
'titre_ajouter_mot_cle' => 'ADD A KEYWORD:',
'titre_breve_proposee' => 'Submitted news item',
'titre_breve_publiee' => 'News item published',
'titre_breve_refusee' => 'News item rejected',
'titre_cadre_raccourcis' => 'SHORTCUTS:',
'titre_changer_couleur_interface' => 'Changing interface colour',
'titre_forum' => 'Forum',
'titre_image_admin_article' => 'You can administer this article',
'titre_image_administrateur' => 'Administrator',
'titre_image_aide' => 'Help on this item',
'titre_image_auteur_supprime' => 'Author deleted',
'titre_image_redacteur' => 'Editor without access',
'titre_image_redacteur_02' => 'Editor',
'titre_image_visiteur' => 'Visitor',
'titre_joindre_document' => 'ATTACH A DOCUMENT',
'titre_liens_entrants' => 'Incoming links',
'titre_mots_cles' => 'KEYWORDS',
'titre_probleme_technique' => 'Warning: a technical problem (MySQL server) prevents access to this part of the site.<p>Thank you for your understanding.',
'titre_publier_document' => 'PUBLISH A DOCUMENT IN THIS SECTION',
'titre_statistiques' => 'Site statistics',
'titre_titre_document' => 'Document title:',
'trad_reference' => '(reference article)',
 
 
// U
'upload_fichier_zip' => 'ZIP file',
'upload_fichier_zip_texte' => 'The file you are intending to install is a ZIP file.',
'upload_fichier_zip_texte2' => 'This file can be:',
'upload_limit' => 'This file is too big for the server; the maximum size allowed for <i>upload</i> is @max@.',
'upload_zip_decompacter' => 'decompressed and each file it contains will be installed on the site. The files which will be installed are:',
'upload_zip_telquel' => 'installed as is, as a ZIP file;',
 
 
// Z
'zbug_balise_b_aval' => ': B tag too late in loop',
'zbug_boucle' => 'loop',
'zbug_boucle_recursive_undef' => 'undefined recursive loop',
'zbug_champ_hors_boucle' => 'Field @champ@ outside loop',
'zbug_champ_hors_motif' => 'Field @champ@ outside loop tagged @motif@',
'zbug_code' => 'code',
'zbug_critere_inconnu' => 'unknown criterion @critere@',
'zbug_distant_interdit' => 'external data forbidden',
'zbug_erreur_boucle_double' => 'BOUCLE@id@: double definition',
'zbug_erreur_boucle_fermant' => 'BOUCLE@id@: missing closing tag',
'zbug_erreur_boucle_syntaxe' => 'Incorrect loop (BOUCLE) syntax ',
'zbug_erreur_execution_page' => 'error in page calculation',
'zbug_erreur_filtre' => 'Error - undefined filter: <b>"@filtre@"</b>',
'zbug_erreur_meme_parent' => '{meme_parent} only applies to loops (FORUMS) and (RUBRIQUES)',
'zbug_erreur_squelette' => 'Error(s) in template',
'zbug_info_erreur_squelette' => '&#1615;Error in the site',
'zbug_inversion_ordre_inexistant' => 'reversal of nonexistent order',
'zbug_parametres_inclus_incorrects' => 'Wrong inclusion parameters',
'zbug_resultat' => 'result',
'zbug_serveur_indefini' => 'undefined SQL server',
'zbug_table_inconnue' => 'Unknown SQL table "@table@"'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_oc_auv.php3
New file
0,0 → 1,127
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'Acu&egrave;lh dau sit',
'articles' => 'Articles',
'articles_auteur' => 'Articles d\'aquel autor',
'articles_populaires' => 'Los articles mai populars',
'articles_recents' => 'Los articles mai recents',
'articles_rubrique' => 'Articles d\'aquela rubrica',
'aucun_article' => 'I a ges d\'article a aquela adre&ccedil;a ',
'aucun_auteur' => 'I a ges d\'autor a aquela adre&ccedil;a ',
'aucun_site' => 'I a ges de sit a aquela adre&ccedil;a ',
'aucune_breve' => 'I a ges de br&egrave;va a aquela adre&ccedil;a ',
'aucune_rubrique' => 'I a ges de rubrica a aquela adre&ccedil;a ',
'autres_breves' => 'Autras br&egrave;vas',
'autres_groupes_mots_clefs' => 'Autres grops de mots claus',
'autres_sites' => 'Autres sits',
 
 
// B
'bonjour' => 'Bonjorn',
'breves' => 'Br&egrave;vas',
 
 
// C
'commenter_site' => 'Comentar aquel sit',
 
 
// D
'date' => 'Data',
'dernier_ajout' => 'Darr&egrave;ir apondon',
'dernieres_breves' => 'Darr&egrave;iras br&egrave;vas',
'derniers_articles' => 'Darr&egrave;irs articles',
'derniers_commentaires' => 'Darr&egrave;irs comentaris',
'derniers_messages_forum' => 'Darr&egrave;irs messatges publicats dins los forums',
 
 
// E
'edition_mode_texte' => 'Edicion en m&ograve;de t&egrave;xt de',
'en_reponse' => 'En responsa a:',
'en_resume' => 'En resumit',
'envoyer_message' => 'Mandar un messatge',
'espace_prive' => 'Espaci privat',
 
 
// F
'forum' => 'Forum',
 
 
// H
'hierarchie_site' => 'Ierarquia dau sit',
 
 
// J
'jours' => 'jorns',
 
 
// M
'meme_auteur' => 'Dau mesme autor',
'meme_rubrique' => 'Dins la mesma rubrica',
'memes_auteurs' => 'Daus mesmes autors',
'message' => 'Messatge',
'messages_forum' => 'Messatges de forum',
'messages_recents' => 'Los messatges de forums mai recents',
'mots_clefs' => 'Mots claus',
'mots_clefs_meme_groupe' => 'Mots claus dins lo mesme grop',
 
 
// N
'navigation' => 'Navigacion',
'nom' => 'Nom',
'nouveautes' => 'Las novetats',
'nouveautes_web' => 'Novetats sobre lo web',
'nouveaux_articles' => 'Articles nu&ograve;us',
'nouvelles_breves' => 'Br&egrave;vas nu&ograve;vas',
 
 
// P
'page_precedente' => 'pagina precedenta',
'page_suivante' => 'pagina seguenta',
'par_auteur' => 'per&nbsp;',
'participer_site' => 'Pod&egrave;tz participar a la vida d\'aquel sit e prepausar los articles v&ograve;stres en vos inscriure &ccedil;ai sos. Recebretz tot sit&ograve;st un e-mail que vos indicar&aacute; v&ograve;stres c&ograve;des per accedir a l\'espaci privat dau sit.',
'plan_site' => 'Plan dau sit',
'popularite' => 'Popularitat',
'poster_message' => 'Postar un messatge',
'proposer_site' => 'Pod&egrave;tz prepausar un sit d\'apondre a aquesta rubrica:',
 
 
// R
'repondre_article' => 'Respondre a aquel article',
'repondre_breve' => 'Respondre a aquela br&egrave;va',
'repondre_message' => 'Respondre a aquel messatge',
'resultats_recherche' => 'Resultats de la c&egrave;rcha',
'retour_debut_forums' => 'Retorn au comen&ccedil;ament daus forums',
'rubrique' => 'Rubrica',
'rubriques' => 'Rubricas',
 
 
// S
'signatures_petition' => 'Signaturas',
'site_realise_avec_spip' => 'Sit realizat amb SPIP',
'sites_web' => 'Sits web',
'sous_rubriques' => 'Sosrubricas',
'suite' => 'seguda',
'sur_web' => 'Sobre lo web',
'syndiquer_rubrique' => 'Sindicar aquela rubrica',
'syndiquer_site' => 'Sindicar tot lo sit',
 
 
// T
'texte_lettre_information' => 'Vaic&iacute; la letra d\'informacion dau sit',
'texte_lettre_information_2' => 'Aquela letra recensa los articles e br&egrave;vas publicats dempu&egrave;i',
 
 
// V
'ver_imprimer' => 'Version d\'estampar',
'voir_en_ligne' => 'Vejatz en linha'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_hu.php3
New file
0,0 → 1,127
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'F&#337;oldal',
'articles' => 'Cikkek',
'articles_auteur' => 'E szerz&#337; cikkei',
'articles_populaires' => 'Legn&eacute;pszer&#369;bb cikkek',
'articles_recents' => 'Leg&uacute;jabb cikkek',
'articles_rubrique' => 'A rovat cikkei',
'aucun_article' => '<NENincs cikke ezen a c&iacute;men',
'aucun_auteur' => 'Nincs szerz&#337; ezen a c&iacute;men',
'aucun_site' => 'Nincs honlap ezen a c&iacute;men',
'aucune_breve' => 'Nincs h&iacute;r ezen a c&iacute;men',
'aucune_rubrique' => 'Nincs rovat ezen a c&iacute;men',
'autres_breves' => 'Egy&eacute;b h&iacute;rek',
'autres_groupes_mots_clefs' => 'Egy&eacute;b kulcssz&oacute; csoportok',
'autres_sites' => 'Egy&eacute;b honlapok',
 
 
// B
'bonjour' => 'J&oacute; napot',
'breves' => 'H&iacute;rek',
 
 
// C
'commenter_site' => 'Hozz&aacute;sz&oacute;l&aacute;s a honlapr&oacute;l',
 
 
// D
'date' => 'D&aacute;tum',
'dernier_ajout' => 'Utols&oacute; besz&uacute;r&aacute;s',
'dernieres_breves' => 'Utols&oacute; h&iacute;rek',
'derniers_articles' => 'Utols&oacute; cikkek',
'derniers_commentaires' => 'Utols&oacute; hozz&aacute;sz&oacute;l&aacute;sok',
'derniers_messages_forum' => 'A f&oacute;rumokba k&uuml;ld&ouml;tt legutols&oacute; &uuml;zenetek',
 
 
// E
'edition_mode_texte' => 'Sz&ouml;veges m&oacute;dban szerkeszt&eacute;s',
'en_reponse' => 'Erre v&aacute;laszolva&nbsp;:',
'en_resume' => '&Ouml;sszefoglalva',
'envoyer_message' => '&Uuml;zenet k&uuml;ld&eacute;s',
'espace_prive' => 'Priv&aacute;t r&eacute;sz',
 
 
// F
'forum' => 'F&oacute;rum',
 
 
// H
'hierarchie_site' => 'A honlap fel&eacute;p&iacute;t&eacute;se',
 
 
// J
'jours' => 'napok',
 
 
// M
'meme_auteur' => 'Ugyanett&#337;l a szerz&#337;t&#337;l',
'meme_rubrique' => 'Ugyanabban a rovatban',
'memes_auteurs' => 'Ugyanett&#337;l a szerz&#337;kt&#337;l',
'message' => '&Uuml;zenet',
'messages_forum' => 'F&oacute;rum &uuml;zenetei',
'messages_recents' => 'A f&oacute;rumok legfr&iacute;ssebb &uuml;zenetei',
'mots_clefs' => 'Kulcsszavak',
'mots_clefs_meme_groupe' => 'Kulcsszavak ugyanabban a csoportban',
 
 
// N
'navigation' => 'B&ouml;ng&eacute;sz&eacute;s',
'nom' => 'N&eacute;v',
'nouveautes' => '&Uacute;jdons&aacute;gok',
'nouveautes_web' => '&Uacute;jdons&aacute;gok a Weben',
'nouveaux_articles' => '&Uacute;j cikkek',
'nouvelles_breves' => '&Uacute;j h&iacute;rek',
 
 
// P
'page_precedente' => 'El&ouml;z&#337; oldal',
'page_suivante' => 'k&ouml;vetkez&#337; oldal',
'par_auteur' => '&iacute;rta',
'participer_site' => 'R&eacute;szt vehet a honlap &eacute;let&eacute;ben, &eacute;s saj&aacute;t cikkeket k&uuml;ldhet. Az&eacute;rt egy beiratkoz&aacute;s sz&uuml;ks&eacute;ges (l&aacute;sd lejjebb). Azonnal fog kapni egy emailt, melyben szerepelnek a hozz&aacute;f&eacute;r&eacute;si param&eacute;terek a honlap priv&aacute;t r&eacute;sz&eacute;re.',
'plan_site' => 'Honlap t&eacute;rk&eacute;pe',
'popularite' => 'N&eacute;pszer&#369;s&eacute;g',
'poster_message' => '&Uuml;zenet k&uuml;ld&eacute;s',
'proposer_site' => 'Honlapot aj&aacute;nlhat abban a rovatban&nbsp;:',
 
 
// R
'repondre_article' => 'Hozz&aacute;sz&oacute;l&aacute;s a cikkhez',
'repondre_breve' => 'V&aacute;laszolni erre a h&iacute;rre',
'repondre_message' => 'V&aacute;laszolni erre az &uuml;zenetre',
'resultats_recherche' => 'Keres&eacute;s eredm&eacute;nyei',
'retour_debut_forums' => 'Vissza a f&oacute;rumok kezdet&eacute;re',
'rubrique' => 'Rovat',
'rubriques' => 'Rovatok',
 
 
// S
'signatures_petition' => 'Al&aacute;&iacute;r&aacute;sok',
'site_realise_avec_spip' => 'A honlap SPIP seg&iacute;ts&eacute;g&eacute;vel k&eacute;sz&uuml;lt',
'sites_web' => 'Honlapok',
'sous_rubriques' => 'Als&oacute;bb rovatok',
'suite' => 'folytat&aacute;s',
'sur_web' => 'Valahol a Weben',
'syndiquer_rubrique' => 'A rovat szindik&aacute;l&aacute;sa',
'syndiquer_site' => 'Az eg&eacute;sz honlap szindik&aacute;l&aacute;sa',
 
 
// T
'texte_lettre_information' => '&Iacute;me a honlap h&iacute;rlevele',
'texte_lettre_information_2' => 'Ez a h&iacute;rlev&eacute;l a cikkeket, ill. h&iacute;reket &ouml;sszefoglalja az&oacute;ta',
 
 
// V
'ver_imprimer' => 'Nyomtathat&oacute; v&aacute;ltozat',
'voir_en_ligne' => 'L&aacute;tni &eacute;l&#337;ben'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_pt.php3
New file
0,0 → 1,736
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
'0_langue' => 'portugu&ecirc;s [pt]',
'0_liste' => 'spip-dev@rezo.net',
'0_mainteneur' => 'spip-dev@rezo.net',
 
 
// A
'access_interface_graphique' => 'Voltar &agrave; interface gr&aacute;fica completa',
'access_mode_texte' => 'Exibir a interface textual simplificada',
'admin_debug' => 'debug',
'admin_modifier_article' => 'Modificar este artigo',
'admin_modifier_auteur' => 'Modificar este autor',
'admin_modifier_breve' => 'Modificar esta not&iacute;cia',
'admin_modifier_mot' => 'Modificar esta palavra-chave',
'admin_modifier_rubrique' => 'Modificar esta rubrica',
'admin_recalculer' => 'Recompor esta p&aacute;gina',
'alerte_maj_impossible' => '<b>Alerta&nbsp;!</b> A actualiza&ccedil;&atilde;o da base MySQL para a vers&atilde;o @version@ &eacute; imposs&iacute;vel, talvez por causa de um problema de direito de modifica&ccedil;&atilde;o na base de dados. Contactar com o seu servi&ccedil;o de hospedagem.',
'analyse_xml' => 'An&aacute;lise XML',
'avis_archive_incorrect' => 'o ficheiro arquivo n&atilde;o &eacute; um ficheiro SPIP',
'avis_archive_invalide' => 'o ficheiro arquivo n&atilde;o &eacute; v&aacute;lido ',
'avis_attention' => ' ATEN&Ccedil;&Acirc;O!',
'avis_champ_incorrect_type_objet' => 'Nome de campo incorrecto @name@ para objecto de tipo @type@',
'avis_colonne_inexistante' => 'A coluna @col@ n&atilde;o existe',
'avis_echec_syndication_01' => 'A liga&ccedil;&atilde;o falhou: o backend indicado &eacute; indecifr&aacute;vel ou n&atilde;o prop&otilde;e nenhum artigo. ',
'avis_echec_syndication_02' => 'A liga&ccedil;&atilde;o falhou:imposs&iacute;vel aceder ao backend deste s&iacute;tio.',
'avis_erreur' => 'Erro: ver mais acima ',
'avis_erreur_connexion' => 'Erro de liga&ccedil;&atilde;o ',
'avis_erreur_cookie' => 'problema de cookie',
'avis_erreur_fonction_contexte' => 'Erro de programa&ccedil;&atilde;o. N&atilde;o se deve chamar esta fun&ccedil;&atilde;o neste contexto.',
'avis_erreur_mysql' => 'Erro MySQL',
'avis_erreur_sauvegarde' => 'Erro na salvaguarda (@type@ @id_objet@) !',
 
 
// B
'barre_a_accent_grave' => 'Inserir um A mai&uacute;sculo com acento grave',
'barre_aide' => 'Utilize as abreviaturas tipogr&aacute;ficas para enriquecer a sua pagina&ccedil;&atilde;o.',
'barre_e_accent_aigu' => 'Inserir um E mai&uacute;sculo com acento agudo ',
'barre_eo' => 'Inserir um E no O',
'barre_eo_maj' => 'Inserir um E no O mai&uacute;sculo',
'barre_euro' => 'Inserir o s&iacute;mbolo &euro;',
'barre_gras' => ' Escrever em {{negro}}',
'barre_guillemets' => 'Cercar por "aspas" ',
'barre_guillemets_simples' => 'Cercar por "aspas de segundo n&iacute;vel" ',
'barre_intertitre' => 'Transfomar em {{{intert&iacute;tulo}}} ',
'barre_italic' => 'P&ocirc;r em it&aacute;lico ',
'barre_lien' => 'Transformar em [liga&ccedil;&atilde;o hipertexto->http://...]',
'barre_lien_input' => 'Favor indicar o endere&ccedil;o da sua liga&ccedil;&atilde;o (pode indicar um endere&ccedil;o Web sob a forma http://www.monsite/com ou simplesmente indicar o n&uacute;mero de um artigo deste s&iacute;tio.) ',
'barre_note' => 'Transformar em [[Nota de rodap&eacute; ]]',
'barre_quote' => '<quote>Citar uma mensagem</quote>',
'bouton_ajouter_document' => 'ACRESCENTAR UM DOCUMENTO',
'bouton_ajouter_image' => 'ACRESCENTAR UMA IMAGEM',
'bouton_changer' => 'Mudar',
'bouton_chercher' => 'Procurar',
'bouton_choisir' => 'Escolher',
'bouton_enregistrer' => 'Gravar',
'bouton_radio_desactiver_messagerie_interne' => 'Desactivar a caixa de correio interno',
'bouton_radio_envoi_annonces' => 'Enviar os an&uacute;ncios editoriais',
'bouton_radio_non_envoi_annonces' => 'N&atilde;o enviar an&uacute;ncios',
'bouton_radio_non_envoi_liste_nouveautes' => 'N&atilde;o enviar a lista das novidades',
'bouton_recharger_page' => 'recarregar esta p&aacute;gina',
'bouton_telecharger' => 'Telecarregar',
'bouton_valider' => 'Validar',
 
 
// C
'cal_apresmidi' => 'tarde',
'cal_jour_entier' => 'dia todo',
'cal_matin' => 'manh&atilde;',
'cal_par_jour' => 'calend&aacute;rio por dia',
'cal_par_mois' => 'calend&aacute;rio por m&ecirc;s',
'cal_par_semaine' => 'calend&aacute;rio por semana',
'confirm_changer_statut' => 'Aten&ccedil;&atilde;o, solicitou a altera&ccedil;&atilde;o do estatutos deste elemento. Deseja continuar?',
 
 
// D
'date_aujourdhui' => 'hoje',
'date_avant_jc' => 'a. J.C.',
'date_dans' => 'entre @delai@',
'date_de_mois_1' => '@j@ de @nommois@',
'date_de_mois_10' => '@j@ de @nommois@',
'date_de_mois_11' => '@j@ de @nommois@',
'date_de_mois_12' => '@j@ de @nommois@',
'date_de_mois_2' => '@j@ de @nommois@',
'date_de_mois_3' => '@j@ de @nommois@',
'date_de_mois_4' => '@j@ de @nommois@',
'date_de_mois_5' => '@j@ de @nommois@',
'date_de_mois_6' => '@j@ de @nommois@',
'date_de_mois_7' => '@j@ de @nommois@',
'date_de_mois_8' => '@j@ de @nommois@',
'date_de_mois_9' => '@j@ de @nommois@',
'date_demain' => 'amanh&atilde;',
'date_fmt_heures_minutes' => '@h@h@m@min',
'date_fmt_jour_heure' => '@jour@ a @heure@',
'date_fmt_jour_mois' => '@jour@ de @nommois@',
'date_fmt_jour_mois_annee' => '@jour@ de @nommois@ de @annee@',
'date_fmt_mois_annee' => '@nommois@ de @annee@',
'date_fmt_nomjour_date' => ' @nomjour@ @date@',
'date_heures' => 'horas',
'date_hier' => 'ontem',
'date_il_y_a' => 'h&aacute; @delai@',
'date_jnum1' => '1',
'date_jnum10' => '10',
'date_jnum11' => '11',
'date_jnum12' => '12',
'date_jnum13' => '13',
'date_jnum14' => '14',
'date_jnum15' => '15',
'date_jnum16' => '16',
'date_jnum17' => '17',
'date_jnum18' => '18',
'date_jnum19' => '19',
'date_jnum2' => '2',
'date_jnum20' => '20',
'date_jnum21' => '21',
'date_jnum22' => '22',
'date_jnum23' => '23',
'date_jnum24' => '24',
'date_jnum25' => '25',
'date_jnum26' => '26',
'date_jnum27' => '27',
'date_jnum28' => '28',
'date_jnum29' => '29',
'date_jnum3' => '3',
'date_jnum30' => '30',
'date_jnum31' => '31',
'date_jnum4' => '4',
'date_jnum5' => '5',
'date_jnum6' => '6',
'date_jnum7' => '7',
'date_jnum8' => '8',
'date_jnum9' => '9',
'date_jour_1' => 'domingo',
'date_jour_2' => 'segunda-feira',
'date_jour_3' => 'ter&ccedil;a-feira',
'date_jour_4' => 'quarta-feira',
'date_jour_5' => 'quinta-feira',
'date_jour_6' => 'sexta-feira',
'date_jour_7' => 's&aacute;bado',
'date_jours' => 'dias',
'date_minutes' => 'minutos',
'date_mois' => 'meses',
'date_mois_1' => 'Janeiro',
'date_mois_10' => 'Outubro',
'date_mois_11' => 'Novembro',
'date_mois_12' => 'Dezembro',
'date_mois_2' => 'Fevereiro',
'date_mois_3' => 'Mar&ccedil;o',
'date_mois_4' => 'Abril',
'date_mois_5' => 'Maio',
'date_mois_6' => 'Junho',
'date_mois_7' => 'Julho',
'date_mois_8' => 'Agosto',
'date_mois_9' => 'Setembro',
'date_saison_1' => 'inverno',
'date_saison_2' => 'primavera',
'date_saison_3' => 'ver&atilde;o',
'date_saison_4' => 'outono',
'date_semaines' => 'semanas',
'dirs_commencer' => 'a fim de come&ccedil;ar realmente a instala&ccedil;&atilde;o',
'dirs_preliminaire' => 'Preliminar : <B>Configurar os direitos de acesso</B>',
'dirs_probleme_droits' => '<b>Problema de direitos de acesso</b>',
'dirs_repertoires_absents' => '<b>Os seguintes direct&oacute;rios n&atilde;o foram encontrados&nbsp;: <ul>@bad_dirs@.</ul> </b>
<p>&Eacute; prov&aacute;vel que resulte de um problema de m&aacute; coloca&ccedil;&atilde;o de mai&uacute;sculas ou min&uacute;sculas.
Verifique que as min&uacute;sculas e mai&uacute;sculas destes repert&oacute;rios concordam com o que est&aacute; exibido
acima; se n&atilde;o for o caso, renomeie os repert&oacute;rios com o seu software FTP de modo a corrigir o erro.
<p/>Terminada esta opera&ccedil;&atilde;o, poder&aacute;',
'dirs_repertoires_suivants' => '<B>Os seguintes direct&oacute;rios n&atilde;o est&atilde;o acess&iacute;veis para escrita: <ul>@bad_dirs@.</ul> </B>
<P>Para corrigir, utilize o seu programa de FTP para configurar os direitos de acesso de cada um
destes direct&oacute;rios. O procedimento est&aacute; explicado em detalhe no manual de instala&ccedil;&atilde;o.
<P>Uma vez efectuada esta altera&ccedil;&atilde;o, poder&aacute;',
 
 
// E
'entree_dimensions' => 'Dimens&otilde;es&nbsp;:',
'entree_titre_document' => 'T&iacute;tulo do documento&nbsp;:',
'entree_titre_image' => 'T&iacute;tulo da imagem&nbsp;:',
'envoi_via_le_site' => 'Envio pelo site',
 
 
// F
'fichier_introuvable' => 'Ficheiro @fichier@ n&atilde;o localizado',
'form_deja_inscrit' => 'J&aacute; est&aacute; inscrito',
'form_email_non_valide' => 'O seu endere&ccedil;o email n&atilde;o &eacute; v&aacute;lido',
'form_forum_access_refuse' => 'Voc&ecirc; j&aacute; n&atilde;o tem acesso a este s&iacute;tio',
'form_forum_bonjour' => 'Bom dia @nom@,',
'form_forum_email_deja_enregistre' => 'Este endere&ccedil;o e-mail j&aacute; est&aacute; registado,pode portanto utilizar a sua palavra-passe habitual',
'form_forum_identifiant_mail' => 'O seu novo identificador acabou de lhe ser enviado por email',
'form_forum_identifiants' => 'Identificadores pessoais',
'form_forum_indiquer_nom_email' => 'Indicar aqui o seu nome e o seu endere&ccedil;o email. O seu identificador pessoal ser-lhe-&aacute; enviado rapidamente por correio electr&oacute;nico.',
'form_forum_login' => 'login:',
'form_forum_message_auto' => '(isto &eacute; uma mensagem autom&aacute;tica)',
'form_forum_pass' => 'palavra-passe',
'form_forum_probleme_mail' => 'Problema de mail&nbsp;:o identificador n&atilde;o pode ser mandado ',
'form_forum_voici1' => 'Estes s&atilde;o os seus dados para poder participar nos f&oacute;runs
do s&iacute;tio "@nom_site_spip@" (@adresse_site@/) :',
'form_forum_voici2' => 'Eis os seus identificadores para propor artigos no
s&iacute;tio "@nom_site_spip@" (@adresse_site@/ecrire/) :',
'form_indiquer_email' => 'Favor indicar o seu endere&ccedil;o email',
'form_indiquer_nom' => 'Favor indicar o seu nome',
'form_indiquer_nom_site' => 'Favor indicar o nome do seu s&iacute;tio',
'form_pet_adresse_site' => 'Endere&ccedil;o do seu s&iacute;tio',
'form_pet_aucune_signature' => 'Nenhuma assinatura corresponde a este c&oacute;digo',
'form_pet_confirmation' => 'Favor confirmar a sua assinatura',
'form_pet_deja_enregistre' => 'Este s&iacute;tio j&aacute; est&aacute; registado',
'form_pet_deja_signe' => 'J&aacute; assinou este texto',
'form_pet_envoi_mail_confirmation' => 'Um correio electr&oacute;nico acabou de lhe ser enviado. Dever&aacute; visitar o endere&ccedil;o do s&iacute;tio Web mencionado neste correio para validar a sua assinatura',
'form_pet_mail_confirmation' => 'Bom dia,
 
Pediu para assinar o abaixo assinado :
@titre@.
 
Forneceu as seguintes informa&ccedil;&otilde;es :
Nome: @nom_email@
S&iacute;tio: @nom_site@ - @url_site@
 
 
IMPORTANTE...
Para validar a sua assinatura, basta ligar-se ao
endere&ccedil;o abaixo indicado (caso contr&aacute;rio, o seu pedido ser&aacute; rejeitado) :
 
@url@
 
 
Obrigado pela sua participa&ccedil;&atilde;o
',
'form_pet_message_commentaire' => 'Uma mensagem, um coment&aacute;rio&nbsp;?',
'form_pet_nom_site2' => 'Nome do seu s&iacute;tio Web',
'form_pet_probleme_technique' => 'Problema t&eacute;cnico, as assinaturas est&atilde;o temporariamente suspensas.',
'form_pet_signature_pasprise' => 'A sua assinatura n&atilde;o est&aacute; tomada em conta.',
'form_pet_signature_validee' => 'A sua assinatura foi validada. Obrigado!',
'form_pet_site_deja_enregistre' => 'Este s&iacute;tio j&aacute; est&aacute; registado',
'form_pet_url_invalide' => 'O URL que indicou n&atilde;o &eacute; v&aacute;lido',
'form_pet_votre_email' => 'O seu endere&ccedil;o email',
'form_pet_votre_nom' => 'O seu nome ou pseud&oacute;nimo',
'form_pet_votre_site' => 'Se tem um s&iacute;tio Web, pode indic&aacute;-lo a seguir',
'form_prop_confirmer_envoi' => 'Confirmar o envio',
'form_prop_description' => 'Descri&ccedil;&atilde;o/coment&aacute;rio',
'form_prop_enregistre' => 'A sua proposta foi registada, aparecer&aacute; em linha depois da valida&ccedil;&atilde;o pelos respons&aacute;veis deste s&iacute;tio',
'form_prop_envoyer' => 'Mandar uma mensagem',
'form_prop_indiquer_email' => 'Favor indicar um endere&ccedil;o email v&aacute;lido',
'form_prop_indiquer_nom_site' => 'Favor indicar o nome do s&iacute;tio',
'form_prop_indiquer_sujet' => 'Favor indicar um assunto',
'form_prop_message_envoye' => 'Mensagem mandada',
'form_prop_nom_site' => 'Nome do s&iacute;tio',
'form_prop_non_enregistre' => 'A sua proposta n&atilde;o foi registada',
'form_prop_sujet' => 'Assunto',
'form_prop_url_site' => 'Endere&ccedil;o (URL) do s&iacute;tio',
'forum_acces_refuse' => 'J&aacute; n&atilde;o tem acesso a esses f&oacute;runs',
'forum_attention_dix_caracteres' => '<MODIF><b>Aten&ccedil;&atilde;o&nbsp;!</b> a sua mensagem cont&eacute;m menos de dez car&aacute;cteres.',
'forum_attention_trois_caracteres' => '<MODIF><b>Aten&ccedil;&atilde;o&nbsp;!</b> o seu t&iacute;tulo cont&eacute;m menos de tr&ecirc;s car&aacute;cteres.',
'forum_avez_selectionne' => 'Seleccionou&nbsp;:',
'forum_cliquer_retour' => 'Clicar <a href=\'@retour_forum@\'>ici</a> para continuar',
'forum_forum' => 'f&oacute;rum',
'forum_info_modere' => 'Este f&oacute;rum est&aacute; moderado a priori&nbsp;: a sua contribui&ccedil;&atilde;o s&oacute; aparecer&aacute; depois de ser validada por um administrador do s&iacute;tio.',
'forum_lien_hyper' => '<B>Link hipertexto</B> (opcional)',
'forum_message_definitif' => 'Mensagem definitiva: mandar para o s&iacute;tio',
'forum_message_trop_long' => 'A sua mensagem &eacute; demasiado comprida. O tamanho m&aacute;ximo &eacute; 20000 car&aacute;cteres.',
'forum_ne_repondez_pas' => 'N&atilde;o responder para este mail mas no f&oacute;rum, para o endere&ccedil;o seguinte:',
'forum_non_inscrit' => 'N&atilde;o est&aacute; inscrito, ou o endere&ccedil;o ou a palavra-passe est&atilde;o errados.',
'forum_page_url' => '(Se a sua mensagem se refere a um artigo publicado na Web, ou a uma p&aacute;gina que fornece mais informa&ccedil;&otilde;es, por favor indique a seguir o t&iacute;tulo da p&aacute;gina e o seu endere&ccedil;o URL.)',
'forum_par_auteur' => 'por @auteur@',
'forum_poste_par' => 'Mensagem posta@parauteur@ depois do seu artigo',
'forum_probleme_database' => 'Problema de base de dados, a sua mensagem n&atilde;o foi registada.',
'forum_qui_etes_vous' => '<B>Quem &eacute; voc&ecirc;?</B> (opcional)',
'forum_texte' => 'Texto da sua mensagem',
'forum_titre' => 'T&iacute;tulo',
'forum_titre_erreur' => 'Erro...',
'forum_url' => 'URL:',
'forum_valider' => 'Validar a sua escolha',
'forum_voir_avant' => 'Ver esta mensagem antes de mandar',
'forum_votre_email' => 'O seu endere&ccedil;o email:',
'forum_votre_nom' => 'O seu nome (pseud&oacute;nimo)',
'forum_vous_enregistrer' => 'Para participar
nesse f&oacute;rum, deve estar previamente registado. &Eacute; favor
indicar a seguir o identificador pessoal que lhe foi
fornecido.Se n&atilde;o est&aacute; registado, deve ',
'forum_vous_inscrire' => 'inscrever-se.',
 
 
// I
'ical_texte_rss_articles' => 'O ficheiro &laquo;backend&raquo; dos artigos deste s&iacute;tio encontra-se neste endere&ccedil;o:',
'ical_texte_rss_articles2' => 'Pode igualmente obter os ficheiros &laquo;backend&raquo; para os artigos de cada rubrica do s&iacute;tio:',
'ical_texte_rss_breves' => 'Existe tamb&eacute;m um ficheiro contendo not&iacute;cias do s&iacute;tio. Especificando um n&uacute;mero de rubrica, obter&aacute; unicamente as not&iacute;cias dessa rubrica.',
'icone_a_suivre' => 'Continua',
'icone_admin_site' => 'Administra&ccedil;&atilde;o do s&iacute;tio',
'icone_agenda' => 'Agenda e correio',
'icone_aide_ligne' => 'Ajuda',
'icone_articles' => 'Artigos',
'icone_auteurs' => 'Autores',
'icone_breves' => 'Not&iacute;cias',
'icone_brouteur' => 'Navega&ccedil;&atilde;o r&aacute;pida',
'icone_configuration_site' => 'Configura&ccedil;&atilde;o',
'icone_configurer_site' => 'Configurar o seu s&iacute;tio',
'icone_creer_mot_cle' => 'Criar uma nova palavra-chave e vincul&aacute;-la a este artigo',
'icone_creer_nouvel_auteur' => 'Criar um novo autor',
'icone_creer_rubrique' => 'Criar uma rubrica',
'icone_creer_sous_rubrique' => 'Criar uma sub-rubrica',
'icone_deconnecter' => 'Desligar-se',
'icone_discussions' => 'Discuss&otilde;es',
'icone_doc_rubrique' => 'Documentos das rubricas',
'icone_ecrire_article' => 'Escrever um novo artigo',
'icone_edition_site' => 'Edi&ccedil;&atilde;o',
'icone_forum_administrateur' => 'F&oacute;rum dos administradores',
'icone_forum_suivi' => 'Seguimento dos f&oacute;runs',
'icone_gestion_langues' => 'Gest&atilde;o das l&iacute;nguas',
'icone_informations_personnelles' => 'Informa&ccedil;&otilde;es pessoais',
'icone_interface_complet' => 'interface completa',
'icone_interface_simple' => 'Interface simplificada',
'icone_maintenance_site' => 'Manuten&ccedil;&atilde;o do s&iacute;tio',
'icone_messagerie_personnelle' => 'Correio pessoal',
'icone_mots_cles' => 'Palavras-chave',
'icone_nouvelle_breve' => 'Escrever uma not&iacute;cia curta',
'icone_repartition_actuelle' => 'Exibir a distribui&ccedil;&atilde;o actual',
'icone_repartition_debut' => 'Exibir a distribui&ccedil;&atilde;o desde o in&iacute;cio',
'icone_repartition_visites' => 'Distribui&ccedil;&atilde;o das visitas',
'icone_rubriques' => 'Rubricas',
'icone_sauver_site' => 'Salvaguarda do s&iacute;tio',
'icone_site_entier' => 'Todo o s&iacute;tio',
'icone_sites_references' => 'S&iacute;tios referenciados',
'icone_statistiques' => 'Estat&iacute;sticas do s&iacute;tio',
'icone_statistiques_visites' => 'Estat&iacute;sticas de visitas',
'icone_suivi_activite' => 'Acompanhar a vida do s&iacute;tio',
'icone_suivi_actualite' => 'Evolu&ccedil;&atilde;o do&nbsp;s&iacute;tio',
'icone_suivi_forums' => 'Seguir/gerir os f&oacute;runs',
'icone_suivi_pettions' => 'Seguir/gerir os abaixo-assinados',
'icone_suivi_revisions' => 'Modifica&ccedil;&otilde;es dos artigos',
'icone_supprimer_document' => 'Suprimir este documento',
'icone_supprimer_image' => 'Suprimir esta imagem',
'icone_supprimer_message' => 'Suprimir esta mensagem',
'icone_tous_articles' => 'Todos os seus artigos',
'icone_tous_auteur' => 'Todos os autores',
'icone_valider_message' => 'Validar esta mensagem',
'icone_visiter_site' => 'Visitar',
'icone_voir_en_ligne' => 'Ver em linha',
'image_tourner_180' => 'Rodar 180&deg;',
'image_tourner_droite' => 'Rodar 90&deg; &agrave; direita',
'image_tourner_gauche' => 'Rodar 90&deg; &agrave; esquerda',
'img_indisponible' => 'imagem indispon&iacute;vel',
'info_a_suivre' => 'A SEGUIR&nbsp;&raquo;',
'info_a_valider' => '[a validar]',
'info_acces_interdit' => 'Acesso proibido',
'info_acces_refuse' => 'Acesso recusado',
'info_action' => 'Ac&ccedil;&atilde;o : @action@',
'info_administrer_rubriques' => 'Pode administrar esta rubrica e as suas sub-rubricas',
'info_adresse_non_indiquee' => 'N&atilde;o indicou endere&ccedil;o a testar&nbsp;!',
'info_aide' => 'AJUDA',
'info_ajouter_mot' => 'Acrescentar esta palavra',
'info_annonce' => 'AN&Uacute;NCIO',
'info_annonces_generales' => 'An&uacute;ncios gerais&nbsp;:',
'info_article_propose' => 'Artigo proposto',
'info_article_publie' => 'Artigo publicado',
'info_article_redaction' => 'Artigo em curso de redac&ccedil;&atilde;o',
'info_article_refuse' => 'Artigo recusado',
'info_article_supprime' => 'Artigo suprimido',
'info_articles' => 'Artigos',
'info_articles_a_valider' => 'Os artigos a validar',
'info_articles_proposes' => 'Artigos propostos',
'info_auteurs_nombre' => 'autor(es)&nbsp;:',
'info_authentification_ftp' => 'Autentica&ccedil;&atilde;o (por FTP)',
'info_bloquer_lien' => 'bloquear este v&iacute;nculo',
'info_breves_02' => 'Not&iacute;cias',
'info_breves_2' => 'not&iacute;cias',
'info_breves_valider' => 'Not&iacute;cias a validar',
'info_connexion_refusee' => 'Liga&ccedil;&atilde;o recusada',
'info_contact_developpeur' => 'Favor contactar com um programador',
'info_contenance' => 'Este s&iacute;tio contem&nbsp;:',
'info_contribution' => 'contribui&ccedil;&otilde;es de f&oacute;rum',
'info_copyright' => '@spip@ &eacute; um software livre distribu&iacute;do @lien_gpl@.',
'info_copyright_doc' => 'Para mais informa&ccedil;&otilde;es, ver o s&iacute;tio <a href=\'http://www.spip.net/pt\'>http://www.spip.net/pt</a>.',
'info_copyright_gpl' => 'sob licen&ccedil;a GPL',
'info_cours_edition' => 'Os seus artigos em curso de redac&ccedil;&atilde;o',
'info_creer_repertoire' => 'Favor criar um ficheiro ou um repert&oacute;rio chamado&nbsp;:',
'info_creer_repertoire_2' => 'dentro do sub-repert&oacute;rio <b>ecrire/data/</b>, depois&nbsp;:',
'info_creer_vignette' => 'cria&ccedil;&atilde;o autom&aacute;tica do &iacute;cone',
'info_deplier' => 'Desenvolver',
'info_descriptif_nombre' => 'descritivo(s)&nbsp;:',
'info_description' => 'Descri&ccedil;&atilde;o&nbsp;:',
'info_description_2' => 'Descri&ccedil;&atilde;o&nbsp;:',
'info_dimension' => 'Dimens&otilde;es&nbsp;:',
'info_document' => 'Documento',
'info_documents' => 'Documentos',
'info_echange_message' => 'SPIP permite a troca de mensagens e a constitui&ccedil;&atilde;o de f&oacute;runs privados de discuss&atilde;o
entre os participantes do s&iacute;tio. Pode activar ou
desactivar esta funcionalidade.',
'info_ecire_message_prive' => 'Escrever uma mensagem privada',
'info_email_invalide' => 'Endere&ccedil;o email inv&aacute;lido.',
'info_en_cours_validation' => 'Os seus artigos em curso de reda&ccedil;&atilde;o',
'info_en_ligne' => 'Actualmente em linha&nbsp;:',
'info_envoyer_message_prive' => 'Enviar uma mensagem privada a este autor',
'info_erreur_requete' => 'Erro no pedido :',
'info_erreur_squelette2' => 'Template <b>@fichier@</b> n&atilde;o dispon&iacute;vel...',
'info_erreur_systeme' => 'Erro de Sistema (errno @errsys@)',
'info_erreur_systeme2' => '<b>O disco r&iacute;gido poder&aacute; estar cheio, ou a base de dados danificada. <br>
<font color=\'red\'>Tente <a href=\'ecrire/admin_repair.php3\'>reparar a base</a>,
ou contacte o seu fornecedor de internet.</font><br></b>',
'info_fini' => 'Acabou !',
'info_format_image' => 'Formatos de imagens que podem ser utilizadas para criar vinhetas&nbsp;: @gd_formats@.',
'info_format_non_defini' => 'formato n&atilde;o definido',
'info_grand_ecran' => 'Ecr&atilde; total',
'info_image_aide' => 'AJUDA',
'info_image_process_titre' => 'M&eacute;todo de fabrica&ccedil;ao das vinhetas',
'info_impossible_lire_page' => '<B>Erro !</B> Imposs&iacute;vel ler a p&aacute;gina<tt><html>@test_proxy@</html></tt> atrav&eacute;s do proxy <tt>',
'info_inclusion_directe' => 'Inclus&atilde;o directa&nbsp;:',
'info_inclusion_vignette' => 'Inclus&atilde;o da vinheta&nbsp;:',
'info_installation_systeme_publication' => 'Instala&ccedil;&atilde;o do sistema de publica&ccedil;&atilde;o',
'info_installer_documents' => 'Pode instalar automaticamente todos os documentos contidos no dossier <i>upload</i>.',
'info_installer_ftp' => 'Como administrador, pode instalar (por FTP) ficheiros no dossier ecrire/upload para depois seleccion&aacute;-los directamente aqui.',
'info_installer_images' => 'Pode instalar imagens nos formatos JPEG, GIF e PNG.',
'info_installer_images_dossier' => 'Instalar imagens no dossier /ecrire/upload para poder seleccion&aacute;-los aqui.',
'info_installer_tous_documents' => 'Instalar todos os documentos',
'info_interface_complete' => 'Interface completa',
'info_interface_simple' => 'Interface simplificada',
'info_joindre_document_article' => 'Pode juntar a este artigo documentos de tipo',
'info_joindre_document_rubrique' => 'Pode acrescentar a esta rubrica documentos de tipo',
'info_joindre_documents_article' => 'Pode juntar ao seu artigo documentos de tipo&nbsp;:',
'info_l_article' => 'o artigo',
'info_la_breve' => 'a not&iacute;cia',
'info_la_rubrique' => 'a rubrica',
'info_langue_principale' => 'L&iacute;ngua principal do s&iacute;tio',
'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixels',
'info_les_auteurs_1' => 'por @les_auteurs@',
'info_logo_format_interdit' => 'Apenas os &iacute;cones nos formatos @formats@ est&atilde;o autorizados.',
'info_logo_max_poids' => 'Os &iacute;cones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
'info_logo_max_taille' => 'Os &iacute;cones devem obrigatoriamente ter menos de @maxi@ (este arquivo tem @actuel@).',
'info_mail_fournisseur' => 'voc&ecirc;@seucorreio.com',
'info_message_2' => 'MENSAGEM',
'info_message_supprime' => 'MENSAGEM SUPRIMIDA',
'info_mise_en_ligne' => 'Data de coloca&ccedil;&atilde;o em linha&nbsp;:',
'info_modification_parametres_securite' => 'modifica&ccedil;&atilde;o dos par&acirc;metros de seguran&ccedil;a',
'info_mois_courant' => 'Durante o m&ecirc;s :',
'info_mot_cle_ajoute' => 'A seguinte palavra-chave foi acrescentada a',
'info_multi_herit' => 'L&iacute;ngua por defeito',
'info_multi_langues_soulignees' => 'As <u>l&iacute;nguas sublinhadas</u> beneficiam de uma tradu&ccedil;&atilde;o de todos os textos da interface. Se seleccionar essas l&iacute;nguas, muitos elementos do s&iacute;tio p&uacute;blico (datas, formul&aacute;rios) ser&atilde;o automaticamente traduzidos. Para as l&iacute;nguas n&atilde;o sublinhadas, esses elementos aparecer&atilde;o na l&iacute;ngua principal do s&iacute;tio.',
'info_multilinguisme' => 'Multilinguismo',
'info_nom_non_utilisateurs_connectes' => 'O seu nome n&atilde;o aparece na lista dos utilizadores ligados.',
'info_nom_utilisateurs_connectes' => 'O seu nome aparece na lista dos utilizadores ligados.',
'info_nombre_en_ligne' => 'Actualmente em linha&nbsp;:',
'info_non_resultat' => 'Nenhum resultado para "@cherche_mot@"',
'info_non_utilisation_messagerie' => 'N&atilde;o utiliza o correio interno deste s&iacute;tio.',
'info_nouveau_message' => 'TEM UMA NOVA MENSAGEM',
'info_nouveaux_messages' => 'TEM @total_messages@ NOVAS MENSAGENS',
'info_numero_abbreviation' => '<N&deg;&nbsp;>',
'info_panne_site_syndique' => 'S&iacute;tio vinculado avariado',
'info_pense_bete' => 'MEMORANDO',
'info_petit_ecran' => 'Ecr&atilde; Pequeno',
'info_pixels' => 'pixels',
'info_plusieurs_mots_trouves' => 'Muitas palavras-chave encontradas para "@cherche_mot@":',
'info_popularite_5' => 'popularidade&nbsp;:',
'info_portfolio' => 'Portf&oacute;lio',
'info_portfolio_automatique' => 'Portfolio autom&aacute;tico&nbsp;:',
'info_premier_resultat' => '[@debut_limit@ primeiros resultados em @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ primeiros resultados em @total@]',
'info_probleme_grave' => 'problema de',
'info_propose_1' => '[@nom_site_spip@] Prop&otilde;e : @titre@',
'info_propose_2' => 'Artigos propostos
----------------',
'info_propose_3' => 'O artigo "@titre@" &eacute; proposto para publica&ccedil;&atilde;o.',
'info_propose_4' => 'Est&aacute; convidado a vir consult&aacute;-lo e a dar a sua opini&atilde;o',
'info_propose_5' => 'no f&oacute;rum que lhe est&aacute; ligado. Est&aacute; dispon&iacute;vel no endere&ccedil;o:',
'info_publie_01' => 'O artigo "@titre@" foi validado por @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] PUBLICA : @titre@',
'info_publie_2' => 'Artigo publicado
--------------',
'info_rechercher' => 'Procurar',
'info_rechercher_02' => 'Procurar&nbsp;:',
'info_remplacer_vignette' => 'Substituir a vinheta por defeito por um logotipo personalizado&nbsp;:',
'info_retablir_lien' => 'restabelecer este v&iacute;nculo',
'info_retirer_mot' => 'Retirar esta palavra',
'info_retirer_mots' => 'Retirar todas as palavras',
'info_sans_titre_2' => 'sem t&iacute;tulo',
'info_selectionner_fichier' => 'Pode seleccionar um ficheiro do dossier <i>upload</i>',
'info_selectionner_fichier_2' => 'Seleccionar um ficheiro&nbsp;:',
'info_site_attente' => 'S&iacute;tio Web &agrave; espera de valida&ccedil;&atilde;o',
'info_site_reference' => 'S&iacute;tio referenciado em linha',
'info_site_refuse' => 'S&iacute;tio Web recusado',
'info_sites_referencer' => 'Referenciar este s&iacute;tio',
'info_supprimer_vignette' => 'suprimir a vinheta',
'info_symbole_bleu' => 'O s&iacute;mbolo <B>azul</B> indica um<B>memorando </B>: isto &eacute; uma mensagem para o seu uso pessoal.',
'info_symbole_jaune' => 'O s&iacute;mbolo<B>amarelo</B> indica um <B>an&uacute;ncio a todos os redactores</B>&nbsp;: modific&aacute;vel por todos os administradores, e vis&iacute;vel por todos os redactores.',
'info_symbole_vert' => 'O s&iacute;mbolo<B>verde</B> indica as <B>mensagens trocadas com outros utilizadores</B> do s&iacute;tio.',
'info_syndication' => 'vincula&ccedil;&atilde;o:',
'info_syndication_articles' => 'artigo(s)',
'info_telecharger' => 'Telecarregar do seu computador&nbsp;:',
'info_telecharger_nouveau_logo' => 'Telecarregar um novo logotipo&nbsp;:',
'info_telecharger_ordinateur' => 'Telecarregar do seu computador&nbsp;:',
'info_tous_resultats_enregistres' => '[todos os resultados est&atilde;o registados]',
'info_tout_afficher' => 'Exibir tudo',
'info_travaux_texte' => 'Este s&iacute;tio n&atilde;o est&aacute; configurado. Volte mais tarde...',
'info_travaux_titre' => 'S&iacute;tio em obras',
'info_trop_resultat' => 'Demasiado resultados para "@cherche_mot@" ; favor afinar a pesquisa.',
'info_utilisation_messagerie_interne' => 'Voc&ecirc; utiliza o correio interno deste s&iacute;tio.',
'info_valider_lien' => 'validar este la&ccedil;o',
'info_verifier_image' => ', favor verificar que as suas imagens foram transferidas correctamente.',
'info_vignette_defaut' => 'Vinheta por defeito',
'info_vignette_personnalisee' => 'Vinheta personalizada',
'info_visite' => 'visita :',
'info_visites' => 'visitas :',
'info_vos_rendez_vous' => 'Os seus futuros encontros',
'info_zoom' => 'zoom',
'infos_vos_pense_bete' => 'Os seus memorandos',
'item_breve_proposee' => 'Not&iacute;cia proposta',
 
 
// L
'lien_afficher_icones_seuls' => 'Exibir apenas os &iacute;cones',
'lien_afficher_texte_icones' => 'Exibir &iacute;cones e o texto',
'lien_afficher_texte_seul' => 'Exibir apenas o texto',
'lien_icones_interface' => 'Os &iacute;cones da interface s&atilde;o de <a href=\'http://jimmac.musichall.cz/\'>Jakub \'Jimmac\' Steiner</a>.',
'lien_liberer' => 'desbloquear',
'lien_liberer_tous' => 'desbloquear estes artigos',
'lien_nouvea_pense_bete' => 'NOVO MEMORANDO',
'lien_nouveau_message' => 'NOVA MENSAGEM',
'lien_nouvelle_annonce' => 'NOVO AN&Uacute;NCIO',
'lien_petitions' => 'ABAIXO-ASSINADO',
'lien_popularite' => 'popularidade&nbsp;: @popularite@%',
'lien_racine_site' => 'RAIZ DO S&Iacute;TIO',
'lien_reessayer' => 'tentar de novo',
'lien_repondre_message' => 'Responder a esta mensagem',
'lien_supprimer' => 'suprimir',
'lien_tout_afficher' => 'Exibir tudo',
'lien_visite_site' => 'visitar este s&iacute;tio',
'lien_visites' => '@visites@&nbsp;visitas',
'lien_voir_auteur' => 'Ver este autor',
'login_acces_prive' => 'acesso ao espa&ccedil;o privado',
'login_autre_identifiant' => 'ligar-se sob um outro identificador',
'login_connexion_refusee' => 'Liga&ccedil;&atilde;o recusada',
'login_cookie_accepte' => 'Favor configurar o seu navegador para que os aceite ( pelo menos para este s&iacute;tio).',
'login_cookie_oblige' => 'Para se identificar de maneira segura neste s&iacute;tio, deve aceitar os cookies.',
'login_deconnexion_ok' => 'Liga&ccedil;&atilde;o terminada.',
'login_erreur_pass' => 'Erro de palavra-passe',
'login_espace_prive' => 'espa&ccedil;o privado',
'login_identifiant_inconnu' => 'O identificador &laquo; @login@ &raquo; &eacute; desconhecido.',
'login_login' => 'Login :',
'login_login2' => 'Login (identificador de conex&atilde;o ao s&iacute;tio)&nbsp;:',
'login_login_pass_incorrect' => '(Login ou palavra-passe incorrecta.)',
'login_motpasseoublie' => 'palavra&nbsp;-&nbsp;passe&nbsp;esquecida&nbsp;?',
'login_non_securise' => 'Aten&ccedil;&atilde;o, este formul&aacute;rio n&atilde;o &eacute; seguro.
Se n&atilde;o quiser que a sua palavra-passe seja
interceptada na rede, favor active Javascript
no seu navegador e',
'login_nouvelle_tentative' => 'Nova tentativa',
'login_par_ici' => 'Voc&ecirc; est&aacute; registado... por aqui....',
'login_pass2' => 'Palavra-passe&nbsp;:',
'login_preferez_refuser' => '<b>Se prefere recusar os cookies</b>, um outro m&eacute;todo de liga&ccedil;&atilde;o (menos seguro) est&aacute; &agrave; sua disposi&ccedil;&atilde;o',
'login_recharger' => 'carregar de novo esta p&aacute;gina ',
'login_rester_identifie' => 'Permanecer identificado durante alguns dias ',
'login_retour_public' => 'Regresso ao s&iacute;tio p&uacute;blico',
'login_retour_site' => 'Regresso ao s&iacute;tio p&uacute;blico',
'login_retoursitepublic' => 'Regresso&nbsp;ao&nbsp;s&iacute;tio&nbsp;p&uacute;blico',
'login_sans_cookiie' => 'identifica&ccedil;&atilde;o sem cookie',
'login_sinscrire' => 'inscrever-se',
'login_test_navigateur' => 'teste navega&ccedil;&atilde;o/nova liga&ccedil;&atilde;o',
'login_verifiez_navigateur' => '(Verifique, por&eacute;m, que o seu navegador n&atilde;o memorizou a sua palavra-passe...)',
 
 
// M
'module_fichiers_langues' => 'Ficheiros de l&iacute;ngua',
 
 
// N
'navigateur_pas_redirige' => 'Se o seu browser n&atilde;o est&aacute; redireccionado, clique aqui para continuar.',
 
 
// O
'onglet_affacer_base' => 'Apagar a base',
'onglet_auteur' => 'O autor',
'onglet_contenu_site' => 'Conte&uacute;do do s&iacute;tio',
'onglet_evolution_visite_mod' => 'Evolu&ccedil;&atilde;o',
'onglet_fonctions_avances' => 'Fun&ccedil;&otilde;es avan&ccedil;adas',
'onglet_informations_personnelles' => 'Informa&ccedil;&otilde;es pessoais',
'onglet_interactivite' => 'Interactividade',
'onglet_messagerie' => 'Correio',
'onglet_messages_internes' => 'Mensagens internas',
'onglet_messages_publics' => 'Mensagens p&uacute;blicas',
'onglet_messages_vide' => 'Mensagens sem texto',
'onglet_origine_visites' => 'Origem das visitas',
'onglet_repartition_debut' => 'desde o in&iacute;cio',
'onglet_repartition_lang' => 'Distribui&ccedil;&atilde;o por l&iacute;nguas',
'onglet_repartition_rubrique' => 'Distribui&ccedil;&atilde;o das rubricas',
'onglet_save_restaur_base' => 'Salvaguardar/restaurar a base',
'onglet_vider_cache' => 'Esvaziar a cache',
'ortho_trop_de_fautes2' => 'Comece por corrigir os erros mais &oacute;bvios e tente novamente.',
 
 
// P
'pass_choix_pass' => 'Favor escolher a sua nova palavra-passe',
'pass_erreur' => 'Erro',
'pass_erreur_acces_refuse' => '<b>Erro :</b> j&aacute; n&atilde;o tem acesso a este s&iacute;tio.',
'pass_erreur_code_inconnu' => '<b>Erro :</b> este c&oacute;digo n&atilde;o corresponde a nenhum dos visitantes com acesso a este s&iacute;tio.',
'pass_erreur_non_enregistre' => '<b>Erro :</b> o endere&ccedil;o <tt>@email_oubli@</tt> n&atilde;o est&aacute; registado neste s&iacute;tio. ',
'pass_erreur_non_valide' => '<b>Erro :</b> este email <tt>@email_oubli@</tt> n&atilde;o &eacute; v&aacute;lido ! ',
'pass_erreur_probleme_technique' => '<b>Erro :</b> por causa de um problema t&eacute;cnico, o email n&atilde;o pode ser enviado.',
'pass_espace_prive_bla' => 'O espa&ccedil;o privado deste s&iacute;tio est&aacute; aberto aos
visitantes, ap&oacute;s inscri&ccedil;&atilde;o. Uma vez registado poder&aacute; consultar os artigos em curso de redac&ccedil;&atilde;o,
propor artigos e participar em todos os f&oacute;runs.',
'pass_forum_bla' => 'Pediu para intervir num f&oacute;rum
reservado aos visitadores registados.',
'pass_indiquez_cidessous' => 'Indique abaixo o endere&ccedil;o email sob o qual se registou. Receber&aacute;
um mail que indicar&aacute; o procedimento a seguir para
recuperar o seu acesso.',
'pass_mail_passcookie' => '(esta &eacute; uma mensagem autom&aacute;tica)
Para reencontrar o seu acesso ao s&iacute;tio
@nom_site_spip@ (@adresse_site@)
 
Favor ir ao seguinte endere&ccedil;o :
 
@adresse_site@/spip_pass.php3?p=@cookie@
 
Poder&aacute; ent&atilde;o introduzir uma nova palavra-passe
e reconectar-se ao s&iacute;tio.
 
',
'pass_mot_oublie' => 'Palavra-passe esquecida',
'pass_nouveau_enregistre' => 'A sua nova palavra-passe foi registada',
'pass_nouveau_pass' => 'Nova palavra-passe',
'pass_ok' => 'OK',
'pass_oubli_mot' => 'Esquecida a palavra-passe',
'pass_quitter_fenetre' => 'Deixar esta janela',
'pass_rappel_login' => 'Recorde : o seu identificador (login) &eacute; &laquo; @login@ &raquo;.',
'pass_recevoir_mail' => 'Vai receber um email que indica como recuperar o seu acesso ao s&iacute;tio.',
'pass_retour_public' => 'Regresso ao s&iacute;tio p&uacute;blico',
'pass_rien_a_faire_ici' => 'Nada a fazer aqui.',
'pass_vousinscrire' => 'Inscrever-se neste s&iacute;tio',
'precedent' => 'precedente',
'previsualisation' => 'Visualiza&ccedil;&atilde;o',
'previsualiser' => 'Visualizar',
 
 
// S
'stats_visites_et_popularite' => '@visites@ visitas&nbsp;; popularidade&nbsp;: @popularite@',
'suivant' => 'seguinte',
 
 
// T
'taille_ko' => '@taille@&nbsp;kb',
'taille_mo' => '@taille@&nbsp;Mb',
'taille_octets' => ' @taille@&nbsp;bytes',
'texte_actualite_site_1' => 'Quando estiver familiarizado(a) com a interface, poder&aacute; clicar sobre &laquo;',
'texte_actualite_site_2' => 'interface completa',
'texte_actualite_site_3' => '&raquo; para abrir mais possibilidades.',
'texte_creation_automatique_vignette' => 'A cria&ccedil;&atilde;o autom&aacute;tica de vinhetas de previsualiza&ccedil;&atilde;o est&aacute; activada neste s&iacute;tio. Se instalar a partir deste formul&aacute;rio imagens de formato(s) @gd_formats@, ser&atilde;o acompanhadas de uma vinheta de um tamanho m&aacute;ximo de @taille_preview@&nbsp;pixels.',
'texte_documents_associes' => 'Os documentos seguintes est&atilde;o associados ao artigo,
mas n&atilde;o foram directamente
inseridos nele. Conforme a pagina&ccedil;&atilde;o do s&iacute;tio p&uacute;blico,
poder&atilde;o aparecer sob forma de documentos anexados.',
'texte_erreur_mise_niveau_base' => 'Erro de base de dados por ocasi&atilde;o do nivelamento.
A imagem <B>@fichier@</B> n&atilde;o passou (artigo @id_article@).
Notar bem esta refer&ecirc;ncia, voltar a tentar o nivelamento
, e enfim verificar que as imagens aparecem
sempre nos artigos.',
'texte_inc_auth_1' => 'Voc&ecirc; est&aacute; identificado sob o
login <B>@auth_login@</B>, mas este j&aacute;/ n&atilde;o existe na base.
Tente',
'texte_inc_auth_2' => 'refazer a liga&ccedil;&atilde;o',
'texte_inc_auth_3' => ', depois de eventualmente ter fechado e
voltado a abrir o seu navegador.',
'texte_inc_config' => 'As modifica&ccedil;&otilde;es efectuadas nestas p&aacute;ginas influenciam muito o
funcionamento do seu s&iacute;tio. Recomendamos que n&atilde;o intervenha enquanto n&atilde;o estiver familiarizado com o funcionamento do sistema SPIP. <P align="justify"><B>Em
geral, &eacute; fortemente recomendado
deixar a responsabilidade dessas p&aacute;ginas ao webmestre principal do seu s&iacute;tio. <B>',
'texte_inc_meta_1' => 'O sistema encontrou um erro durante a escrita do arquivo <code>ecrire/data/meta_cache.php3</code>. Como administrador do site, queira por favor,',
'texte_inc_meta_2' => 'verificar os direitos de escrita',
'texte_inc_meta_3' => 'no direct&oacute;rio <code>ecrire/data/</code>.',
'texte_statut_en_cours_redaction' => 'em curso de reda&ccedil;&atilde;o',
'texte_statut_poubelle' => 'no caixote de lixo',
'texte_statut_propose_evaluation' => 'proposto para avalia&ccedil;&atilde;o',
'texte_statut_publie' => 'publicado em linha',
'texte_statut_refuse' => 'recusado',
'titre_ajouter_mot_cle' => 'ACRESCENTAR UMA PALAVRA-CHAVE',
'titre_breve_proposee' => 'Not&iacute;cia proposta',
'titre_breve_publiee' => 'Not&iacute;cia publicada',
'titre_breve_refusee' => 'Not&iacute;cia recusada',
'titre_cadre_raccourcis' => 'ATALHOS :',
'titre_changer_couleur_interface' => 'Mudar a cor da interface',
'titre_forum' => 'F&oacute;rum',
'titre_image_admin_article' => 'Pode administrar este artigo',
'titre_image_administrateur' => 'Administrador',
'titre_image_aide' => 'Ajuda sobre este elemento',
'titre_image_auteur_supprime' => 'Autor suprimido',
'titre_image_redacteur' => 'Redactor sem acesso',
'titre_image_redacteur_02' => 'Redactor',
'titre_image_visiteur' => 'Visitante',
'titre_joindre_document' => 'ANEXAR UM DOCUMENTO',
'titre_liens_entrants' => 'Links de entrada',
'titre_mots_cles' => 'PALAVRAS-CHAVE',
'titre_probleme_technique' => 'Aten&ccedil;&atilde;o&nbsp;: um problema t&eacute;cnico (servidor MySQL) impede o acesso a esta parte do s&iacute;tio. Obrigado pela sua compreens&atilde;o.',
'titre_publier_document' => 'PUBLICAR UM DOCUMENTO NESTA RUBRICA',
'titre_statistiques' => 'Estat&iacute;sticas do s&iacute;tio',
'titre_titre_document' => 'T&iacute;tulo do documento&nbsp;:',
'trad_reference' => '(artigo de refer&ecirc;ncia)',
 
 
// U
'upload_fichier_zip' => 'Ficheiro ZIP',
'upload_fichier_zip_texte' => 'O ficheiro que prop&ocirc;s instalar &eacute; um ficheiro Zip.',
'upload_fichier_zip_texte2' => 'Este ficheiro pode ser:',
'upload_limit' => 'Este ficheiro &eacute; grande demais para o servidor; o tamanho m&aacute;ximo autorizado para <i>upload</i> &eacute; de @max@.',
'upload_zip_decompacter' => 'expandido e cada elemento que ele cont&eacute;m gravados no site. Os ficheiros que ser&atilde;o ent&atilde;o gravados s&atilde;o:',
'upload_zip_telquel' => 'instalado; como ficheiro compactado Zip;',
 
 
// Z
'zbug_balise_b_aval' => ': tag B colocada ap&oacute;s BOUCLE',
'zbug_boucle' => 'la&ccedil;o',
'zbug_boucle_recursive_undef' => 'la&ccedil;o recursivo n&atilde;o definido',
'zbug_champ_hors_boucle' => 'Campo @champ@ fora do la&ccedil;o',
'zbug_champ_hors_motif' => 'Campo @champ@ fora de um la&ccedil;o de motivo @motif@',
'zbug_code' => 'c&oacute;digo',
'zbug_critere_inconnu' => 'crit&eacute;rio @critere@ desconhecido',
'zbug_distant_interdit' => 'externa interdita',
'zbug_erreur_boucle_double' => 'BOUCLE@id@: Dupla Defini&ccedil;&atilde;o ',
'zbug_erreur_boucle_fermant' => 'BOUCLE@id@: tag final em falta ',
'zbug_erreur_boucle_syntaxe' => 'Loop com sintaxe incorrecta',
'zbug_erreur_execution_page' => 'erro de execu&ccedil;&atilde;o da p&aacute;gina',
'zbug_erreur_filtre' => 'Erro : filtro <b>&laquo; @filtre@ &raquo;</b> indefinido',
'zbug_erreur_meme_parent' => '{meme_parent} aplica-se exclusivamente aos links (FORUMS) ou (RUBRIQUES)',
'zbug_erreur_squelette' => 'Erro(s) no gabarito',
'zbug_info_erreur_squelette' => 'Erro no s&iacute;tio',
'zbug_inversion_ordre_inexistant' => 'invers&atilde;o de uma ordem inexistente',
'zbug_parametres_inclus_incorrects' => 'Par&acirc;metros de inclus&atilde;o incorrectos',
'zbug_resultat' => 'resultado',
'zbug_serveur_indefini' => 'sevidor SQL n&atilde;o definido',
'zbug_table_inconnue' => 'Tabela SQL &laquo;@table@&raquo; desconhecida'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_fon.php3
New file
0,0 → 1,127
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'H&#596;ntogbo',
'articles' => 'Wekpa l&#603;&#770;',
'articles_auteur' => 'Ny&#596;wlant&#596; &eacute; l&#596; sin wekpa l&#603;&#770;',
'articles_populaires' => 'wekpa l&#603;&#770; &ecirc; to bi t&ugrave;n y&eacute;',
'articles_recents' => 'wekpa g&ugrave;dog&ugrave;dot&#596;n l&#603;&#770; ',
'articles_rubrique' => 'wekpa &#598;i&#598;&#603; &eacute; l&#596; t&#596;n',
'aucun_article' => 'wekpa &#598;e&#772;&#772; do gesi &eacute; l&#596; ji a ',
'aucun_auteur' => 'Ny&#596;wlant&#596; &#598;e&#772;&#772; do gesi &eacute; l&#596; ji a ',
'aucun_site' => 'Gblogbloji &#598;e&#772;&#772; do gesi &eacute; l&#596; ji a',
'aucune_breve' => 'Xogb&egrave; kl&eacute;wun &#598;e&#772;&#772; do gesi &eacute; l&#596; ji a',
'aucune_rubrique' => '&#598;i&#598;&#603; &#598;e&#772;&#772; do gesi &eacute; l&#596; ji a ',
'autres_breves' => 'Xogb&egrave; kl&eacute;wun de vo',
'autres_groupes_mots_clefs' => 'Xota b&#603; dokp&#596; l&#603;&#770; ',
'autres_sites' => 'Gblogbloji &#598;e&#772;&#772; vo l&#603;&#770;',
 
 
// B
'bonjour' => 'kwab&#596; ',
'breves' => 'Xogb&egrave; kl&eacute;wun',
 
 
// C
'commenter_site' => 'wl&#596;k&agrave;nn&uacute; xo l&#603;&#770;',
 
 
// D
'date' => 'Azan',
'dernier_ajout' => 'G&#596;na g&ugrave;dog&ugrave;dot&#596;n',
'dernieres_breves' => 'Xogb&egrave; kl&eacute;wun g&ugrave;dog&ugrave;dot&#596;n',
'derniers_articles' => 'Wekpa g&ugrave;dog&ugrave;dot&#596;n',
'derniers_commentaires' => '&#598;&#603;tit&#603; g&ugrave;dog&ugrave;dot&#596;n',
'derniers_messages_forum' => 'wh&#603;n g&ugrave;dog&ugrave;dot&#596;n ye&#772; &#598;&#596;dotoji',
 
 
// E
'edition_mode_texte' => 'winwlanm&#603;',
'en_reponse' => '&#598;ogb&egrave;yiyi m&#603; nu &nbsp;:',
'en_resume' => '&#598;o xo kl&eacute;wun m&#603; &#596;',
'envoyer_message' => 'S&#603; w&#603;n do ',
'espace_prive' => 't&#603;nkandovo',
 
 
// F
'forum' => 'Kpl&eacute;kpl&eacute; ',
 
 
// H
'hierarchie_site' => 'Tito gblogbloji &#596; t&#596;n',
 
 
// J
'jours' => 'Azan l&#603;&#770;',
 
 
// M
'meme_auteur' => 'Ny&#596;wlant&#596; &#598;okpo &#596;',
'meme_rubrique' => '&#598;o akpaxw&eacute; &#598;okpo &#596; m&#603;',
'memes_auteurs' => 'Ny&#596;wlant&#596; &#598;okpo l&#603;&#770;',
'message' => 'W&#603;n',
'messages_forum' => 'w&#603;n pk&eacute;kpl&eacute; &#596; t&#596;n l&ecirc;',
'messages_recents' => 'w&#603;n g&ugrave;do&#769;g&ugrave;dot&#596;n pk&eacute;kpl&eacute; &#596; t&#596;n l&ecirc;',
'mots_clefs' => 'xo&#769;ta&#769; l&#603;&#770;',
'mots_clefs_meme_groupe' => 'xo&#769;ta&#769; akpa &#598;okpo&#769; &#596; l&#603;&#770; t&#596;n',
 
 
// N
'navigation' => 'nuk&eacute;j&eacute;k&eacute;j&eacute;',
'nom' => 'nyi&#769;k&#596;',
'nouveautes' => 'Nu y&#596;y&#596; l&#603;&#770;',
'nouveautes_web' => 'Nu y&#596;y&#596; l&#603;&#770; e &#598;o at&#603; &#596; ji&#769; &#596;',
'nouveaux_articles' => 'W&eacute;kpa y&#596;y&#596; l&#603;&#770;',
'nouvelles_breves' => 'w&#603;n kl&eacute;wun l&#603;&#770;',
 
 
// P
'page_precedente' => 'W&eacute;kpa e wai',
'page_suivante' => 'W&eacute;kpa e b&#596;&#598;&eacute;u',
'par_auteur' => 'Gb&#596;n',
'participer_site' => 'Mi&#768; &#598;&egrave; mi&#768; &#598;&eacute; xl&#603; bo&#769; na&#769; siwu k&#603; nu&#768; do&#769; wal&#596; gblogbloji&#769; &#596; t&#596;n en&#603; gu&#769;do &#596; mi&#768; singan s&#596; w&eacute;kpa mi t&#596;n l&#603;&#770; s&#603; do&#769;. &#598;o m&#596; &#596;, mi&#768; n&agrave; s&#603; gb&egrave;t&agrave;kwin na&#769; na&#769; gb&egrave; b&#596; mi&#768; &#598;o t&agrave;f&#596; at&#603; &#596; ji&#769; z&#596;n&#598;okpo e.',
'plan_site' => 'titom&#603; gblogbloji &#596; t&#596;n ',
'popularite' => 'Nuku&#769;n &#598;&eacute;ji&#769;',
'poster_message' => 's&#603; w&#603;n do',
'proposer_site' => 'Nu mi do gblogbloji&#769; &#598;&eacute; &#596; Mi&#768; siwu z&eacute; g&#596; na&#769; akpa &eacute; l&#596; ',
 
 
// R
'repondre_article' => '&#598;o&#768; sin nu w&eacute;kpa e l&#596;',
'repondre_breve' => '&#598;o&#768; sin nu xo&#769; klewun &eacute; l&#596;',
'repondre_message' => '&#598;o&#768; sin nu w&#603;n &eacute; l&#596;',
'resultats_recherche' => 'Gb&egrave;tak&#603;n nu do biba t&#596;n l&#603;&#770;',
'retour_debut_forums' => 'k&#596;l&#603; s&#596; yi&#768; kpl&eacute;kpl&eacute; sin bib&#603;',
'rubrique' => 'Akpa ',
'rubriques' => 'Akpa l&#603;',
 
 
// S
'signatures_petition' => 'al&#596;dowemam&#603; l&#603;',
'site_realise_avec_spip' => 'Kpo al&#596;g&#596; Supipu t&#596;n kpo&#769; w&#603; gblogbloji&#769; &#596; nyi&#769; wiwa',
'sites_web' => 'At&#603; l&#603;&#770;',
'sous_rubriques' => 'Akpa xw&eacute;',
'suite' => 'B&#596; &#598;&eacute; wu t&#596;n',
'sur_web' => '&#598;o&#768; at&#603; &#596; ji&#768;',
'syndiquer_rubrique' => 'Ze&#770; aceji do akpa &eacute; l&#596; ji&#769;',
'syndiquer_site' => 'ac&eacute;ji&#769;ni&#769;n&#596;',
 
 
// T
'texte_lettre_information' => 'Xojlawema&#769; gblogbloji &#596; t&#596;n &#598;i&egrave;',
'texte_lettre_information_2' => 'Xojlawema&#769; &eacute; l&#596;&#596; n&#596; cian w&eacute;kpa kpodo&#769; xo&#769; klewun &#598;&#596;&#768;dotoji&#769; xoxo l&#603;&#770;',
 
 
// V
'ver_imprimer' => 'Zin wema',
'voir_en_ligne' => 'kp&#596;n Gblogbloji'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_oc_ni.php3
New file
0,0 → 1,127
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'Acu&egrave;lh dau sit',
'articles' => 'Articles',
'articles_auteur' => 'Articles d\'aquel autor',
'articles_populaires' => 'Lu articles mai populars',
'articles_recents' => 'Lu articles mai recents',
'articles_rubrique' => 'Articles d\'aquela rubrica',
'aucun_article' => 'L\'i a minga d\'article a aquela adre&ccedil;a ',
'aucun_auteur' => 'L\'i a minga d\'autor a aquela adre&ccedil;a ',
'aucun_site' => 'L\'i a minga de sit a aquela adre&ccedil;a ',
'aucune_breve' => 'L\'i a minga de br&egrave;va a aquela adre&ccedil;a ',
'aucune_rubrique' => 'L\'i a minga de rubrica a aquela adre&ccedil;a ',
'autres_breves' => 'Autri br&egrave;vas',
'autres_groupes_mots_clefs' => 'Autres grops de m&ograve;ts claus',
'autres_sites' => 'Autres sits',
 
 
// B
'bonjour' => 'B&ograve;njorn',
'breves' => 'Br&egrave;vas',
 
 
// C
'commenter_site' => 'Comentar aqueu sit',
 
 
// D
'date' => 'Data',
'dernier_ajout' => 'Darri&egrave;r ajust',
'dernieres_breves' => 'Darri&egrave;ras br&egrave;vas',
'derniers_articles' => 'Darri&egrave;rs articles',
'derniers_commentaires' => 'Darri&egrave;rs comentaris',
'derniers_messages_forum' => 'Darri&egrave;rs messatges publicats dins lu forums',
 
 
// E
'edition_mode_texte' => 'Edicion en m&ograve;de t&egrave;xt de',
'en_reponse' => 'En responsa a:',
'en_resume' => 'En resumit',
'envoyer_message' => 'Mandar un messatge',
'espace_prive' => 'Espaci privat',
 
 
// F
'forum' => 'Forum',
 
 
// H
'hierarchie_site' => 'Ierarquia dau sit',
 
 
// J
'jours' => 'jorns',
 
 
// M
'meme_auteur' => 'Dau meme autor',
'meme_rubrique' => 'Dins la mema rubrica',
'memes_auteurs' => 'Dei memes autors',
'message' => 'Messatge',
'messages_forum' => 'Messatges de forum',
'messages_recents' => 'Lu messatges de forums mai recents',
'mots_clefs' => 'M&ograve;ts claus',
'mots_clefs_meme_groupe' => 'M&ograve;ts claus dins lo meme grop',
 
 
// N
'navigation' => 'Navigacion',
'nom' => 'Nom',
'nouveautes' => 'Li nov&egrave;utats',
'nouveautes_web' => 'Nov&egrave;utats sobre lo web',
'nouveaux_articles' => 'Articles n&ograve;us',
'nouvelles_breves' => 'Br&egrave;vas nov&egrave;las',
 
 
// P
'page_precedente' => 'p&agrave;gina anteriora',
'page_suivante' => 'p&agrave;gina seguenta',
'par_auteur' => 'per',
'participer_site' => 'Pod&egrave;tz participar a la vida d\'aqueu sit e prepauar lu voastres articles en vos inscriure &ccedil;ai sota. Receberetz un e-mail que vos indicar&agrave; lu voastres c&ograve;des per accedir a l\'espaci privat dau sit.',
'plan_site' => 'Plan dau sit',
'popularite' => 'Popularitat',
'poster_message' => 'Postar un messatge',
'proposer_site' => 'Pod&egrave;tz prepauar un site a ajustar dins aquela rubrica&nbsp;:',
 
 
// R
'repondre_article' => 'Respondre a aquel article',
'repondre_breve' => 'Respondre a aquela br&egrave;va',
'repondre_message' => 'Respondre a aqueu messatge',
'resultats_recherche' => 'Resultats de la rec&egrave;rca',
'retour_debut_forums' => 'Retorn au comen&ccedil;ament dei forums',
'rubrique' => 'Rubrica',
'rubriques' => 'Rubricas',
 
 
// S
'signatures_petition' => 'Signaturas',
'site_realise_avec_spip' => 'Sit realisat emb SPIP',
'sites_web' => 'Sits web',
'sous_rubriques' => 'Sosrubricas',
'suite' => 'seguida',
'sur_web' => 'Sobre lo web',
'syndiquer_rubrique' => 'Sindicar aquela rubrica',
'syndiquer_site' => 'Sindicar tot lo sit',
 
 
// T
'texte_lettre_information' => 'Vequ&iacute; la letra d\'informacion dau sit',
'texte_lettre_information_2' => 'Aquela letra recensa lu articles e br&egrave;vas publicats desp&iacute;',
 
 
// V
'ver_imprimer' => 'Version d\'estampar',
'voir_en_ligne' => 'Vejatz en linha'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_cpf_hat.php3
New file
0,0 → 1,732
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-cpf',
'0_langue' => 'Kr&egrave;y&ograve;l ayisyen [hat]',
'0_liste' => 'spip-cpf@rezo.net',
'0_mainteneur' => 'pascale@rezo.net',
 
 
// A
'access_interface_graphique' => 'Tounen d&egrave;y&eacute; si lent&egrave;fas gwafik konple',
'access_mode_texte' => 'Afiche lent&egrave;fas t&egrave;ks senp',
'admin_debug' => 'debug',
'admin_modifier_article' => 'Chanje atik-la',
'admin_modifier_auteur' => 'Chanje bagay pou lot&egrave;-a',
'admin_modifier_breve' => 'Chanje ti-nouv&egrave;l la',
'admin_modifier_mot' => 'Chanje mokle-a',
'admin_modifier_rubrique' => 'Chanje ribwik-la (pati-a nan sit sa-a)',
'admin_recalculer' => 'Kalkil ank&ograve; paj-la',
'alerte_maj_impossible' => '<<b>Atansyon&nbsp;!</b> Larnouv&egrave;lman pou baz MySQL sou @version@ se pa posib, pet&egrave;t ka gen yon pwobl&egrave;m ek drwa pou chanje bazdone-a. Tanpri souple kontak l&eacute;b&egrave;j&egrave; ou.',
'analyse_xml' => 'Analiz XML',
'avis_archive_incorrect' => 'fichye achiv-a se pa fichye SPIP',
'avis_archive_invalide' => 'fichye achiv-a se pa kor&egrave;k',
'avis_attention' => 'ATANSYON&nbsp;!',
'avis_champ_incorrect_type_objet' => 'Kouman chan-a li ap rele, pou bagay-la, se pa korek @name@ pou loj&egrave; tip @type@',
'avis_colonne_inexistante' => 'Kol&ograve;n nan @col@ pa egziste kounye-a',
'avis_echec_syndication_01' => 'Sendikasyon te pa mache : "backend" te rele konsa se pa posib f&eacute; lekti osnon se li pa pwopoze okenn atik kounye-a.',
'avis_echec_syndication_02' => 'Sendikasyon te pa mache : gen enposib aksede "backend" sit-la.',
'avis_erreur' => 'Er&egrave; : tanpri gad isit anba',
'avis_erreur_connexion' => 'Er&egrave; ak koneksyon',
'avis_erreur_cookie' => 'pwobl&egrave;m &egrave;k gatomakro (kouki)',
'avis_erreur_fonction_contexte' => 'Er&egrave; ak pwogwmasyon. Fok w pa rele fonksyon-nan andan kont&egrave;ks-la.',
'avis_erreur_mysql' => 'Er&egrave; MySQL',
'avis_erreur_sauvegarde' => 'Er&egrave; nan sovgad (@type@ @id_objet@) !',
 
 
// B
'barre_a_accent_grave' => 'M&egrave;t yon A aksan gwav majiskil',
'barre_aide' => 'Tichemen tipogwafik yo y f&eacute; yon paj pli b&egrave;l',
'barre_e_accent_aigu' => 'M&egrave;t yon E aksan &egrave;gi majiskil',
'barre_eo' => 'M&egrave;t yon E nan O',
'barre_eo_maj' => 'M&egrave;t yon E nan l&egrave;t O majiskil',
'barre_euro' => 'M&egrave;t senbol &euro;',
'barre_gras' => 'F&eacute; par&egrave;t &eacute;kri{{gra}}',
'barre_guillemets' => 'Pou m&egrave;t &laquo; giym&eacute; frans&eacute; yo &raquo;',
'barre_guillemets_simples' => 'Pou m&egrave;t &#132;giym&eacute;&#147; yo',
'barre_intertitre' => 'M&egrave;t bagay kon yon {{{lent&egrave;tit}}}',
'barre_italic' => 'F&eacute; par&egrave;t &eacute;kri {italik}',
'barre_lien' => 'Chanje pou yon [lyen ipet&egrave;ks->http://...]',
'barre_lien_input' => 'Tanpri souple enskri ladr&egrave;s lyen ou (posib enskri yon ladr&egrave;s w&egrave;b nan f&ograve;ma http://www.monsite/com osnon senpman enskri nimewo atik-la nan sit sa-a.',
'barre_note' => 'Chanje pou m&egrave;t yon [[Not enba la paj]]',
'barre_quote' => '<quote>Rap&ograve;t yon mesaj</quote>',
'bouton_ajouter_document' => 'AJOUTE YON DOKIMAN',
'bouton_ajouter_image' => 'AJOUTE YON IMAJ',
'bouton_changer' => 'Chanje',
'bouton_chercher' => 'Ch&egrave;che',
'bouton_choisir' => 'Chwazi',
'bouton_enregistrer' => 'Enskri',
'bouton_radio_desactiver_messagerie_interne' => 'Rete kazmodekri',
'bouton_radio_envoi_annonces' => 'Voye anons leditoyal ',
'bouton_radio_non_envoi_annonces' => 'Rete voye anons yo',
'bouton_radio_non_envoi_liste_nouveautes' => 'Rete voye yon lis nouv&egrave;lte yo',
'bouton_recharger_page' => 'Chaje ank&ograve; paj-la',
'bouton_telecharger' => 'Telechaje',
'bouton_valider' => 'Konfime',
 
 
// C
'cal_apresmidi' => 'apr&eacute;midi',
'cal_jour_entier' => 'jou konpl&eacute;',
'cal_matin' => 'maten',
'cal_par_jour' => 'kalandrye pa jou',
'cal_par_mois' => 'kalandrye pa mwa',
'cal_par_semaine' => 'kalandrye pa sem&egrave;n',
'confirm_changer_statut' => 'Atansyon. W te domann chanje lestati eleman nan. Eske w gen kontinye ?',
 
 
// D
'date_aujourdhui' => 'jodiya',
'date_avant_jc' => 'avan J.C.',
'date_dans' => 'nan @delai@',
'date_de_mois_1' => '@j@ @nommois@',
'date_de_mois_10' => '@j@ @nommois@',
'date_de_mois_11' => '@j@ @nommois@',
'date_de_mois_12' => '@j@ @nommois@',
'date_de_mois_2' => '@j@ @nommois@',
'date_de_mois_3' => '@j@ @nommois@',
'date_de_mois_4' => '@j@ @nommois@',
'date_de_mois_5' => '@j@ @nommois@',
'date_de_mois_6' => '@j@ @nommois@',
'date_de_mois_7' => '@j@ @nommois@',
'date_de_mois_8' => '@j@ @nommois@',
'date_de_mois_9' => '@j@ @nommois@',
'date_demain' => 'demen',
'date_fmt_heures_minutes' => '@h@h@m@min',
'date_fmt_jour_heure' => '@jour@ a @heure@',
'date_fmt_jour_mois' => '@jour@ @nommois@',
'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
'date_fmt_mois_annee' => '@nommois@ @annee@',
'date_fmt_nomjour_date' => 'nan jou ki te @nomjour@ @date@ -a',
'date_heures' => '&egrave;r (yo)',
'date_hier' => 'y&egrave;',
'date_il_y_a' => ' genyen @delai@',
'date_jnum1' => '1e',
'date_jnum10' => '10',
'date_jnum11' => '11',
'date_jnum12' => '12',
'date_jnum13' => '13',
'date_jnum14' => '14',
'date_jnum15' => '15',
'date_jnum16' => '16',
'date_jnum17' => '17',
'date_jnum18' => '18',
'date_jnum19' => '19',
'date_jnum2' => '2',
'date_jnum20' => '20',
'date_jnum21' => '21',
'date_jnum22' => '22',
'date_jnum23' => '23',
'date_jnum24' => '24',
'date_jnum25' => '25',
'date_jnum26' => '26',
'date_jnum27' => '27',
'date_jnum28' => '28',
'date_jnum29' => '29',
'date_jnum3' => '3',
'date_jnum30' => '30',
'date_jnum31' => '31',
'date_jnum4' => '4',
'date_jnum5' => '5',
'date_jnum6' => '6',
'date_jnum7' => '7',
'date_jnum8' => '8',
'date_jnum9' => '9',
'date_jour_1' => 'dimanch',
'date_jour_2' => 'lendi',
'date_jour_3' => 'madi',
'date_jour_4' => 'm&egrave;kredi',
'date_jour_5' => 'jedi',
'date_jour_6' => 'vandredi',
'date_jour_7' => 'sanmdi',
'date_jours' => 'jou yo',
'date_minutes' => 'minit yo',
'date_mois' => 'mwa ',
'date_mois_1' => 'janvye',
'date_mois_10' => 'okt&ograve;b ',
'date_mois_11' => 'novanm',
'date_mois_12' => 'Desanm ',
'date_mois_2' => 'fevriye',
'date_mois_3' => 'mas',
'date_mois_4' => 'avril',
'date_mois_5' => 'me',
'date_mois_6' => 'jen',
'date_mois_7' => 'jiy&egrave; ',
'date_mois_8' => 'out',
'date_mois_9' => 'septanm',
'date_saison_1' => 'iv&egrave;',
'date_saison_2' => ' prentan',
'date_saison_3' => 'l&eacute;t&eacute;',
'date_saison_4' => 'lot&ograve;n',
'date_semaines' => 'sem&egrave;n yo',
'dirs_commencer' => 'pou koumanse vreman lenstalasyon',
'dirs_preliminaire' => 'Dab&ograve; : <b> ann swen drwa aks&egrave;</b>',
'dirs_probleme_droits' => '<b>Pwobl&egrave;m ak drwa laks&egrave;</b>',
'dirs_repertoires_absents' => '<b>Oken r&eacute;pertwa sa-yo te fin rannkont&nbsp;: <ul>@bad_dirs@.</ul> </b>
<p />Pet&egrave;t yon pwobl&egrave;m ek majiskil ousinon miniskil ki pa bon.
Gad yo ap mache kom kisa ap par&egrave;t isit anl&egrave;
; sinon, f&ograve;k w rele yon l&ograve;t fwa tout repertwar sa-yo nan ou logisy&egrave;l FTP pou korij er&egrave;-a.
<p />Kan laf&egrave; ke fini, w ke kapab',
'dirs_repertoires_suivants' => '<b>Pa posib ekri sou rep&egrave;twa sa-yo&nbsp;: <ul>@bad_dirs@.</ul> </b>
<p />Pou swen bagay-la, ann itilize logisy&egrave;l FTP ou pou don drwa laks&eacute; chak
rep&egrave;twa. Guid lenstalasyon ap di kouman w ke kapab f&egrave; bagay-la.
<p />Kan w ke fini w ke kapab',
 
 
// E
'entree_dimensions' => 'Tay&nbsp;:',
'entree_titre_document' => 'Kouman dokiman i rele&nbsp;:',
'entree_titre_image' => 'Kouman imaj i rele&nbsp;:',
'envoi_via_le_site' => 'Voye ek sit-la',
 
 
// F
'fichier_introuvable' => 'Oken fisy&eacute; @fichier@ konsa',
'form_deja_inscrit' => 'W se deja enskri.',
'form_email_non_valide' => 'Ladr&egrave;s lim&egrave;l ou se pa bon.',
'form_forum_access_refuse' => 'W pli ap gen lakse sou sit-la.',
'form_forum_bonjour' => 'Bonjou @nom@,,',
'form_forum_email_deja_enregistre' => 'Adr&egrave;s lim&egrave;l-a deja enskri, w p&eacute; itiliz modpas &ograve;din&egrave; ou.',
'form_forum_identifiant_mail' => 'Nouvo lidantifyan ou s&eacute; voye andan bwatlim&egrave;l ou. ',
'form_forum_identifiants' => 'Idantifyan p&egrave;son&egrave;l yo',
'form_forum_indiquer_nom_email' => 'Enskri kouman w rele ak ladr&egrave;s lim&egrave;l ou Lidantifyan p&egrave;son&egrave;l ou ke vini apr&egrave; vitman andan bwatlim&egrave;l ou.',
'form_forum_login' => 'nonkod :',
'form_forum_message_auto' => '(mesaj-la se yon mesaj otomatik)',
'form_forum_pass' => 'modpas :',
'form_forum_probleme_mail' => 'Pwobl&egrave;m pou lim&egrave;l&nbsp;: lidantifyan pa posib anvway w.',
'form_forum_voici1' => 'Lidantifyan y perm&eacute; w soutni lavi
sit-la "@nom_site_spip@" (@adresse_site@/) :',
'form_forum_voici2' => 'Lidantifyan ou pou pwopoze atik yo sou
sit "@nom_site_spip@" (@adresse_site@/ecrire/) :',
'form_indiquer_email' => 'M&egrave;si enskri ladr&egrave;s lim&egrave;l ou.',
'form_indiquer_nom' => 'M&egrave;si enskri kouman w rele',
'form_indiquer_nom_site' => 'M&egrave;si enskri kouman sit ou-a li rele',
'form_pet_adresse_site' => 'Ladr&egrave;s sit ou',
'form_pet_aucune_signature' => 'Okenn siyati ka koresponn kod-la...',
'form_pet_confirmation' => 'M&egrave;si konfime siyati ou :',
'form_pet_deja_enregistre' => 'Sit-la se deja enskri',
'form_pet_deja_signe' => 'W te deja sinye t&egrave;ks-la.',
'form_pet_envoi_mail_confirmation' => 'Yon lim&egrave;l pou konfine te fin voye a w. F&ograve;k w vizite ladr&egrave;s w&egrave;b te done nan lim&egrave;l pou w konfime siyati ou.',
'form_pet_mail_confirmation' => 'Bonjou,
 
W la domman m&egrave;t siyati nan petisyon-nan :
@titre@.
 
W te done tout rans&eacute;ynman swivan :
Kouman rele: @nom_email@
sit ou: @nom_site@ - @url_site@
 
...
 
Pou konfime siyati-a, f&ograve;k s&egrave;lman w ab&ograve;d ladr&egrave;s anba (sinon, sitw&egrave;b-la ke pa enskri siyati ou) :
@url@
 
M&egrave;si w soutni petisyon-nan
',
'form_pet_message_commentaire' => 'Gen yon mesaj, yon komant&eacute; pou di&nbsp;?',
'form_pet_nom_site2' => 'Kouman sitw&egrave;b ou rele',
'form_pet_probleme_technique' => 'Pwobl&egrave;m teknik, siyati se pa posib kounye-a. Tann pwobl&egrave;m-la ke aranje pou rete sispann a yo.',
'form_pet_signature_pasprise' => 'Siyati ou se pa aksepte.',
'form_pet_signature_validee' => 'Siyati ou se konfime. M&egrave;si&nbsp;!',
'form_pet_site_deja_enregistre' => 'Sit-la se deja enskri',
'form_pet_url_invalide' => 'URL w te done se pa bon.',
'form_pet_votre_email' => 'Ladr&egrave;s lim&egrave;l ou',
'form_pet_votre_nom' => 'Kouman w rele',
'form_pet_votre_site' => 'Si w ap gen sitw&egrave;b, se posib enskri ali isit-enba-m&egrave;m',
'form_prop_confirmer_envoi' => 'Konfime w vle voye i',
'form_prop_description' => 'Dekrisyon/komant&egrave;',
'form_prop_enregistre' => 'Pwopozisyon ou se kounye-a ap enskri, li ke par&egrave;t apre yon komand&egrave; te konfime ali. ',
'form_prop_envoyer' => 'Voye yon mesaj',
'form_prop_indiquer_email' => 'M&eacute;si enskri yon ladr&egrave;s lim&egrave;l ka mache',
'form_prop_indiquer_nom_site' => 'M&egrave;si enskri kouman sit ou rele',
'form_prop_indiquer_sujet' => 'M&egrave;si &eacute;kri yon sij&eacute;',
'form_prop_message_envoye' => 'Mesaj te fin voye',
'form_prop_nom_site' => 'Kouman sit la i rele',
'form_prop_non_enregistre' => 'Pwopozisyon ou te pa rojistr&eacute;',
'form_prop_sujet' => 'Sije',
'form_prop_url_site' => 'Ladr&egrave;s (URL) sitw&egrave;b',
'forum_acces_refuse' => 'W ap pli laks&eacute; pou fowom-nan.',
'forum_attention_dix_caracteres' => '<b>Atansyon&nbsp;!</b> mesaj ou li se mwen di l&egrave;t.',
'forum_attention_trois_caracteres' => '<b>Atansyon&nbsp;!</b> Kouman i rele sit-la se mwen trwa l&egrave;t. F&ocirc;k w m&egrave;t trwa l&egrave;t omwen',
'forum_avez_selectionne' => 'W te chwazi&nbsp;:',
'forum_cliquer_retour' => 'Klik <a href=\'@retour_forum@\'>isit</a> pou kontinye.',
'forum_forum' => 'fowom',
'forum_info_modere' => 'Fowom la se mod&eacute;w&eacute;-avann&nbsp;: patisipasyon demoun ke apar&egrave;t s&egrave;lman apr&eacute; yon komand&egrave;r sit te valide ali.',
'forum_lien_hyper' => '<b>Lyen ip&egrave;rt&egrave;ks</b> (w pa oblij&eacute;)',
'forum_message_definitif' => 'Mesaj fin fini : anvway anndan sit la',
'forum_message_trop_long' => 'Mesaj ou se tro lon. Pli gran tay se 20000 kawakt&egrave;.',
'forum_ne_repondez_pas' => 'Reponn pa lim&egrave;l la. Reponn anndan fowom-an sou ladr&egrave;s la :',
'forum_non_inscrit' => 'W ap pa enskri ank&ograve;, oubyen ladr&egrave;s osinon modpas ou se pa kor&egrave;k.',
'forum_page_url' => '(Si mesaj ou ka voye sou yon tik sou W&egrave;b d&eacute;&ograve; ou yon l&ograve;t paj pli konpl&eacute;, m&egrave;si m&egrave;t anba kouman paj la ka rele &egrave;k ladr&egrave;s URL.)',
'forum_par_auteur' => 'se @auteur@ te ekri',
'forum_poste_par' => 'Mesaj te poste @parauteur@ anba atik ou-a.',
'forum_probleme_database' => 'Pwobl&egrave;m ak bazdone, mesaj ou te pa enskri.',
'forum_qui_etes_vous' => '<b>Kouman w rele ?</b> (pa oblij&eacute;)',
'forum_texte' => 'Teks mesaj ou :',
'forum_titre' => 'Kouman i rele mesaj ou :',
'forum_titre_erreur' => 'Er&egrave; ...',
'forum_url' => 'URL :',
'forum_valider' => 'Apiy&eacute; chwa-a',
'forum_voir_avant' => 'Gad mesaj la avan post ali',
'forum_votre_email' => 'Ladr&egrave;s lim&egrave;l ou :',
'forum_votre_nom' => 'Kouman w rele (ousinon kouman w vl&eacute; rele isit) :',
'forum_vous_enregistrer' => 'Pou soutni andan
fowom-nan, f&ograve;k w enskri avan. M&eacute;si
m&egrave;t enba lidantifyan p&egrave;son&egrave;l ou-a
kis nou t&eacute; don a w. Si w ap pa enskri ank&ograve;, f&ograve;k w',
'forum_vous_inscrire' => 'enskri w.',
 
 
// I
'ical_texte_rss_articles' => 'Fichy&eacute; &laquo;backend&raquo; pou tout atik yo, w ke rannkont sou ladr&egrave;s la :',
'ical_texte_rss_articles2' => 'W kap gen ositou fichye yo &laquo;backend&raquo; la pou tout atik yo nan chak ribrik sit la:',
'ical_texte_rss_breves' => 'Plis gen yon fichye ka kontni tout tinouv&egrave;l yo pou sit la. W kap gen s&egrave;lman tinouv&egrave;l yo yon ribrik pr&eacute;si si w domann yon nim&eacute;wo ribrik la s&egrave;lman. ',
'icone_a_suivre' => 'Ak&egrave;y',
'icone_admin_site' => 'Kolonaj sit la',
'icone_agenda' => 'Ajenda',
'icone_aide_ligne' => 'Bourad',
'icone_articles' => 'Atik yo',
'icone_auteurs' => 'Lot&egrave; yo',
'icone_breves' => 'Tinouv&egrave;l yo',
'icone_brouteur' => 'Gad tout sit vitman',
'icone_configuration_site' => 'Konfigire sit',
'icone_configurer_site' => 'Konfigir sit ou',
'icone_creer_mot_cle' => 'Kreye yon nouvo mokle ek gen yon lyen ak atik la',
'icone_creer_nouvel_auteur' => 'Kreye yon nouvo lot&egrave;',
'icone_creer_rubrique' => 'Kreye yon ribrik',
'icone_creer_sous_rubrique' => 'Kreye yon sou-ribrik',
'icone_deconnecter' => 'Rete koneksyon',
'icone_discussions' => 'Kozman yo',
'icone_doc_rubrique' => 'Dokiman yo nan ribrik yo',
'icone_ecrire_article' => 'Ekri yon nouvo atik',
'icone_edition_site' => 'Ledisyon',
'icone_forum_administrateur' => 'Fowom pou komand&egrave; yo',
'icone_forum_suivi' => 'Swiv tout fowom yo',
'icone_gestion_langues' => 'Okipe plizy&egrave; lang',
'icone_informations_personnelles' => 'Rans&egrave;yman p&egrave;son&egrave;l',
'icone_interface_complet' => 'Ent&egrave;fas konpl&eacute;',
'icone_interface_simple' => 'Ent&egrave;fas senp',
'icone_maintenance_site' => 'Swen pou sit la',
'icone_messagerie_personnelle' => 'Kazmod&eacute;kri',
'icone_mots_cles' => 'Mokle yo',
'icone_nouvelle_breve' => 'Ekri yon nouvo tinouv&egrave;l',
'icone_repartition_actuelle' => 'Afiche repatisyon kounye-a',
'icone_repartition_debut' => 'Afiche repatisyon depi koumansman',
'icone_repartition_visites' => 'Repatisyon vizit yo',
'icone_rubriques' => 'Ribrik yo',
'icone_sauver_site' => 'Sov sit la',
'icone_site_entier' => 'Tout sit sa m&egrave;m',
'icone_sites_references' => 'Sit referans&eacute; yo',
'icone_statistiques' => 'Rezilta estatistik sit la',
'icone_statistiques_visites' => 'Estatistik',
'icone_suivi_activite' => 'Gad lavi sit la',
'icone_suivi_actualite' => 'Evolisyon &nbsp;sit la',
'icone_suivi_forums' => 'Swiv/okipe tout fowom ',
'icone_suivi_pettions' => 'Swiv/ okipe tout petisyon ',
'icone_suivi_revisions' => 'Chanjman nan atik yo',
'icone_supprimer_document' => 'Kraze dokiman nan',
'icone_supprimer_image' => 'Kraze imaj la',
'icone_supprimer_message' => 'Kraze mesaj la',
'icone_tous_articles' => 'Tout atik ou',
'icone_tous_auteur' => 'Tout lot&egrave; yo',
'icone_valider_message' => 'Konfime mesaj la',
'icone_visiter_site' => 'F&egrave; yon vire',
'icone_voir_en_ligne' => 'Gad an liy',
'image_tourner_180' => 'Toun&eacute; 180&deg;',
'image_tourner_droite' => 'Toun&eacute; 90&deg; drwat ',
'image_tourner_gauche' => 'Toun&eacute; 90&deg; g&ograve;ch',
'img_indisponible' => 'imaj-la se pa disponib',
'info_a_suivre' => 'AKEY&nbsp;&raquo;',
'info_a_valider' => '[pou konfime]',
'info_acces_interdit' => 'Aks&egrave; ent&egrave;di',
'info_acces_refuse' => 'Aks&egrave; refize',
'info_action' => 'Aksyon: @action@',
'info_administrer_rubriques' => 'W kapab j&egrave;re ribrik-la ek souribrik yo',
'info_adresse_non_indiquee' => 'W te pa done oken ladr&egrave;s pou eseye&nbsp;!',
'info_aide' => 'ED :',
'info_ajouter_mot' => 'Ajoute mokle-a',
'info_annonce' => 'ANNONS',
'info_annonces_generales' => 'Annons pou toutmoun&nbsp;:',
'info_article_propose' => 'Atik ki pwopoze ',
'info_article_publie' => 'Atik ki pibliy&eacute;',
'info_article_redaction' => 'Atik ki ap ekri ank&ograve;',
'info_article_refuse' => 'Atik ki refize',
'info_article_supprime' => 'Atik ki kraze',
'info_articles' => 'Atik yo',
'info_articles_a_valider' => 'Atik yo ki pou konfime',
'info_articles_proposes' => 'Atik sa-yo se atik yo moun ki pwopoz&eacute;',
'info_auteurs_nombre' => 'lot&egrave; (yo)&nbsp;:',
'info_authentification_ftp' => 'Lotantifikasyon (pa FTP).',
'info_bloquer_lien' => 'blok lyen nan',
'info_breves_02' => 'Tinouv&egrave;l yo',
'info_breves_2' => 'tinouv&egrave;l yo',
'info_breves_valider' => 'Tinouv&egrave;l yo ki tann yon komand&egrave; konfime',
'info_connexion_refusee' => 'Koneksyon te fin refize',
'info_contact_developpeur' => 'M&egrave;si kotenouye yon devlop&egrave;r.',
'info_contenance' => 'Kisa ap kontni nan sit-la&nbsp;:',
'info_contribution' => 'mesaj andan fowom',
'info_copyright' => '@spip@ se yon logisy&egrave;l lib ki done @lien_gpl@.',
'info_copyright_doc' => 'Si w vle plis enf&ograve;masyon, ann gad sit sa-a <a href=\'http://www.spip.net/cpf\'>http://www.spip.net/cpf</a>.',
'info_copyright_gpl' => 'nan lisans GPL',
'info_cours_edition' => 'Tout atik yo w ka ekri ank&ograve;',
'info_creer_repertoire' => 'Kreye yon fichye ousinon yon r&eacute;p&egrave;twa sak i rele&nbsp;:',
'info_creer_repertoire_2' => 'nan sou-rep&egrave;twa <b>ecrire/data/</b>, epi&nbsp;:',
'info_creer_vignette' => 'kreyasyon viy&egrave;t otomatik ',
'info_deplier' => 'Etann',
'info_descriptif_nombre' => 'dekrisyon(yo)&nbsp;:',
'info_description' => 'Dekrisyon&nbsp;:',
'info_description_2' => 'Dekrisyon&nbsp;:',
'info_dimension' => 'Tay&nbsp;:',
'info_document' => 'Dokiman',
'info_documents' => 'Dokiman yo',
'info_echange_message' => 'SPIP ka p&eacute;m&egrave; lechanj mesaj ek kreyasyon fowom kozman priv&eacute;
ant tout moun ka soutni sit la. W kap m&egrave;t oubyen kraze fonksyonalite a.',
'info_ecire_message_prive' => 'Ekri yon mesaj prive',
'info_email_invalide' => 'Adr&egrave;s lim&egrave;l se pa bon.',
'info_en_cours_validation' => 'Atik sa-yo se tout atik w yo ki ap ekri ank&ograve;',
'info_en_ligne' => 'Moun ki ap an liy&nbsp;:',
'info_envoyer_message_prive' => 'Voye yon mesaj prive pou lot&egrave;-a',
'info_erreur_requete' => 'Er&egrave; nan rek&egrave;t :',
'info_erreur_squelette2' => 'Oken leskel&egrave;t <b>@fichier@</b> se pa disponib...',
'info_erreur_systeme' => 'Er&egrave; sist&egrave;m (errno @errsys@)',
'info_erreur_systeme2' => '<b>Disk&eacute;dir se pet&egrave;t plen osnon bazdon&eacute; gen domaj <br>
<font color=\'red\'>Esey w<a href=\'ecrire/admin_repair.php3\'>aranje baz-la</a>,
osnon kontak l&eacute;b&egrave;j&egrave; ou.</font><br></b>',
'info_fini' => 'W gen fin fini !',
'info_format_image' => 'K&egrave;k s&ograve;t imaj SPIP kapab itilize pou kreye viny&egrave;t&nbsp;: @gd_formats@.',
'info_format_non_defini' => 'f&ograve;ma ki pa defini',
'info_grand_ecran' => 'Gran l&eacute;kran',
'info_image_aide' => 'ED',
'info_image_process_titre' => 'Kouman f&egrave; pou kreye k&egrave;k viny&egrave;t',
'info_impossible_lire_page' => '<B>Er&egrave; !</B> F&egrave; lekti paj <tt><html>@test_proxy@</html></tt> pa proksi ou-a se pa posib <tt>',
'info_inclusion_directe' => 'Enklizyon dir&egrave;k&nbsp;:',
'info_inclusion_vignette' => 'Enklizyon viy&egrave;t sa-a&nbsp;:',
'info_installation_systeme_publication' => 'Enstalasyon sist&egrave;m de piblikasyon...',
'info_installer_documents' => 'W kap enstal&eacute; otomatikman tout dokiman yo ki kontni nan dosy&eacute;-a <i>upload</i>.',
'info_installer_ftp' => 'Tankou komand&egrave;, w kap enstal&eacute;(pa FTP)k&egrave;k fichy&eacute; nn dosy&eacute;-a ecrire/upload pou apr&egrave; w kap chwazi yo isit-la direkman.',
'info_installer_images' => 'W kapab enstale k&egrave;k imaj nan f&ograve;ma sa-yo JPEG, GIF ak PNG.',
'info_installer_images_dossier' => 'Enstal imaj nan dosye /ecrire/upload pou w ke kapab swazi yo isit apr&egrave;.',
'info_installer_tous_documents' => 'Enstal tout dokiman',
'info_interface_complete' => 'ent&egrave;fas konpl&eacute;',
'info_interface_simple' => 'Ent&egrave;fas senp',
'info_joindre_document_article' => 'W kap jwenn sou atik-la tout dokiman nan tip',
'info_joindre_document_rubrique' => 'Nan ribrik-la, w kap ajoute tout dokiman nan tip',
'info_joindre_documents_article' => 'W kap jwenn nan atik ou-a, tout dokiman nan tip&nbsp;:',
'info_l_article' => 'atik sa-a',
'info_la_breve' => 'tinouv&egrave;l-la',
'info_la_rubrique' => 'ribrik la',
'info_langue_principale' => 'Lalang prensipal nan sit-la',
'info_largeur_vignette' => '@largeur_vignette@ &times; @hauteur_vignette@ piksel yo',
'info_les_auteurs_1' => 'pa @les_auteurs@',
'info_logo_format_interdit' => 'W selman kapab itilize yon logo nan f&ograve;ma @formats@.',
'info_logo_max_poids' => 'Fok logo yo se mwen @maxi@ (fichye sa-a se @actuel@).',
'info_logo_max_taille' => 'Fok logo yo se mwen @maxi@ (fichye sa-a se @actuel@).',
'info_mail_fournisseur' => 'w@fournisseur.com',
'info_message_2' => 'MESAJ',
'info_message_supprime' => 'MESAJ KRAZE',
'info_mise_en_ligne' => 'Ladat piblikasyon&nbsp;:',
'info_modification_parametres_securite' => 'chanjman sou param&egrave;t pou sekirite',
'info_mois_courant' => 'Nan tan mwa-a :',
'info_mot_cle_ajoute' => 'Mokle-a te fin ajoute sou',
'info_multi_herit' => 'Lalang ka par&egrave;t otomatikman',
'info_multi_langues_soulignees' => 'Tout <u>lang souliy&eacute; sa-yo</u> ap gen yon tradiksyon tout t&egrave;ks sa-yo nan lent&egrave;fas. Si w chwazi lang sa-yo, genyen plen &eacute;l&eacute;man sou sit piblik (dat, f&ograve;mul&egrave;)ki tradwi otomatikman. Pou tout lang ki pa souliy&eacute; an, tout &eacute;l&eacute;man sa-yo ke par&egrave;t nan lang prensipal sit ou.',
'info_multilinguisme' => 'Miltilengwism',
'info_nom_non_utilisateurs_connectes' => 'Kouman ou rele pap par&egrave;t nan lis zitilizat&egrave; an liy.',
'info_nom_utilisateurs_connectes' => 'Kouman w rele ap par&egrave;t nan lis zitilizat&egrave; an liy.',
'info_nombre_en_ligne' => 'Moun se an liy &nbsp;:',
'info_non_resultat' => 'gen pa oken r&eacute;zilta pou "@cherche_mot@"',
'info_non_utilisation_messagerie' => 'W p\'ap itilize lakazmod&eacute;kri andan sit-la.',
'info_nouveau_message' => 'W GEN YON NOUVO MESAJ',
'info_nouveaux_messages' => 'W GEN @total_messages@ NOUVO MESAJ YO',
'info_numero_abbreviation' => 'N&deg;&nbsp;',
'info_panne_site_syndique' => 'Sit sendike a se pa mache',
'info_pense_bete' => 'RAPLE-W',
'info_petit_ecran' => 'Piti l&eacute;kran',
'info_pixels' => 'piks&egrave;l yo',
'info_plusieurs_mots_trouves' => 'K&egrave;k mokle te fin s&ograve;ti pou "@cherche_mot@":',
'info_popularite_5' => 'Kouman se popil&egrave;&nbsp;:',
'info_portfolio' => 'P&ograve;tfolio',
'info_portfolio_automatique' => 'Livlimaj otomatik&nbsp;:',
'info_premier_resultat' => '[@debut_limit@ premye rezilta sa-yo si @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ premye rezilta sa-yo si @total@]',
'info_probleme_grave' => 'pwobl&egrave;m ek',
'info_propose_1' => '[@nom_site_spip@] ka pwopoze : @titre@',
'info_propose_2' => 'Atik pwopoze pou par&egrave;t
---------------',
'info_propose_3' => 'Atik "@titre@" pwopoze pou par&egrave;t.',
'info_propose_4' => 'W se invite pou vini gad ali ek donn anou komant&egrave; ou',
'info_propose_5' => 'nan fowom anba. W trouv ali sou ladr&egrave;s:',
'info_publie_01' => 'Atik la i rele "@titre@" te konfime pa @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] KA PIBLIYE : @titre@',
'info_publie_2' => 'Atik se pibliye
--------------',
'info_rechercher' => 'Ch&egrave;che',
'info_rechercher_02' => 'Ch&egrave;che&nbsp;:',
'info_remplacer_vignette' => 'Chanje viny&egrave;t otomatik ek yon logo p&egrave;son&egrave;l&nbsp;:',
'info_retablir_lien' => 'Rom&egrave;t lyen-nan',
'info_retirer_mot' => 'Kraze mokle-a',
'info_retirer_mots' => 'Kraze tout mokle yo',
'info_sans_titre_2' => 'ki pa rele',
'info_selectionner_fichier' => 'W kapab chwazi yon fichye nan dosy&eacute; <i>upload</i>',
'info_selectionner_fichier_2' => 'Chwazi yon fichye&nbsp;:',
'info_site_attente' => 'Sit web ki tann yon komand&egrave; konfime ali',
'info_site_reference' => 'Sit referanse an liy',
'info_site_refuse' => 'Sit we ki te fin refize',
'info_sites_referencer' => 'Referanse yon sit',
'info_supprimer_vignette' => 'kraze viy&egrave;t-la',
'info_symbole_bleu' => 'Senbol <B>ble</B> ki endik <B>yon pansb&egrave;t</B>: yon mesaj ou pou izaj p&egrave;son&egrave;l ou.',
'info_symbole_jaune' => 'Senbol <B>jon</B> ki endik <B>yon anons pou tout redakt&egrave;</B>&nbsp;: ki visib pout tout redakt&egrave; nan espas prive, ak ki komand&egrave; kapab chanje selman.',
'info_symbole_vert' => 'Senbol <B>v&egrave;r</B> ki endik <B> yon mesaj voye ant zot zitilizat&egrave;</B> sit la.',
'info_syndication' => 'sendikasyon&nbsp;:',
'info_syndication_articles' => 'atik (yo)',
'info_telecharger' => 'Telechaj sou l&ograve;dinat&egrave; ou&nbsp;:',
'info_telecharger_nouveau_logo' => 'T&eacute;l&eacute;chaj yon nouvo logo&nbsp;:',
'info_telecharger_ordinateur' => 'Telechaj sou l&ograve;dinat&egrave; ou&nbsp;:',
'info_tous_resultats_enregistres' => '[tout r&eacute;zilta yo ki enskri nan memwar ]',
'info_tout_afficher' => 'F&egrave; par&egrave;t tout',
'info_travaux_texte' => 'Sit-la p&ograve;k&ograve; konfigir&eacute;...Tounyen isit pli tar.',
'info_travaux_titre' => 'Sit ki se ank&ograve; yon chantye',
'info_trop_resultat' => 'Tro r&eacute;zilta pou "@cherche_mot@" ; M&egrave;si pr&eacute;siz ch&egrave;che ou.',
'info_utilisation_messagerie_interne' => 'W kapab itilize lakazmodekri andodan sit sa-a.',
'info_valider_lien' => 'konfime lyen sa-a',
'info_verifier_image' => ', m&egrave;si gad imaj sa-yo ki chaje kor&egrave;kman.',
'info_vignette_defaut' => 'Viy&egrave;t otomatik',
'info_vignette_personnalisee' => 'Viy&egrave;t p&egrave;son&egrave;l',
'info_visite' => 'vizit :',
'info_visites' => 'vizit yo :',
'info_vos_rendez_vous' => 'W ke rannkont',
'info_zoom' => 'gwoplan',
'infos_vos_pense_bete' => 'Mesaj yo pou w raple-w',
'item_breve_proposee' => 'Tinouv&egrave;l pwopoze pou par&egrave;t ',
 
 
// L
'lien_afficher_icones_seuls' => 'Afiche ik&ograve;n yo s&egrave;lman',
'lien_afficher_texte_icones' => 'Afiche ik&ograve;n ak t&egrave;ks',
'lien_afficher_texte_seul' => 'F&egrave; par&egrave;t kisa se t&egrave;ks s&egrave;lman',
'lien_icones_interface' => 'Tout ikon lent&egrave;fas se <a href=\'http://jimmac.musichall.cz/\'>Jakub \'Jimmac\' Steiner ki gen y</a>.',
'lien_liberer' => 'mawonn',
'lien_liberer_tous' => 'Mawonn tout atik sa-yo',
'lien_nouvea_pense_bete' => 'NOUVO RAPLE-W',
'lien_nouveau_message' => 'NOUVO MESAJ',
'lien_nouvelle_annonce' => 'YON NOUVEL ANNONS',
'lien_petitions' => 'PETISYON',
'lien_popularite' => 'popil&egrave;rit&eacute;&nbsp;: @popularite@%',
'lien_racine_site' => 'RASIN SIT-LA',
'lien_reessayer' => 'eseye ank&ograve; yon l&ograve;t fwa',
'lien_repondre_message' => 'Reponn sou sij&egrave; sa',
'lien_supprimer' => 'kraze',
'lien_tout_afficher' => 'F&egrave; par&egrave;t tout',
'lien_visite_site' => 'vizite sit sa-a',
'lien_visites' => '@visites@&nbsp;vizite yo',
'lien_voir_auteur' => 'Gad lot&egrave;-a',
'login_acces_prive' => 'akse nan espas prive',
'login_autre_identifiant' => 'kon&egrave;k w sou sit-la ek yon l&ograve;t idantifyan',
'login_connexion_refusee' => 'koneksyon refize',
'login_cookie_accepte' => 'M&egrave;si r&egrave;g navigat&egrave; ou po li as&egrave;pt (pou sit la omwen)',
'login_cookie_oblige' => 'Pou w genyen idantify&eacute; nan manyen sir sou sit-la, f&ograve;k w as&egrave;pte gatomakro.',
'login_deconnexion_ok' => 'Koneksyon se fini.',
'login_erreur_pass' => 'Er&egrave; ak modpas-la.',
'login_espace_prive' => 'espas priv&eacute;',
'login_identifiant_inconnu' => 'Lidantifyan-nan &laquo; @login@ &raquo; li se pa rokoni.',
'login_login' => 'Nonnkod :',
'login_login2' => 'Nonnkod (idantifyan pou koneksyon sou sit-la)&nbsp;:',
'login_login_pass_incorrect' => '(Kouman w rele osnon modpas ou se pa kor&egrave;k.)',
'login_motpasseoublie' => 'modpas&nbsp;ki&nbsp;oubliy&eacute;&nbsp;?',
'login_non_securise' => 'Tansyon; F&ograve;mil&egrave; sa-a se pa sekirize. Si w vle pa
modpas ou ke vole sou rezo, m&egrave;si aktive Javascript
nan navigat&egrave; ek',
'login_nouvelle_tentative' => 'Ank&ograve; yon l&ograve;t esey',
'login_par_ici' => 'W se enskri... pa isit la...',
'login_pass2' => 'Modpas&nbsp;:',
'login_preferez_refuser' => '<b>Si w vl&eacute; refize tout gatomakro </b>, gen yon l&ograve;t m&eacute;t&ograve;d pou kon&egrave;kt a w (yon ki gen pa pli gran s&eacute;kirit&eacute;)&nbsp;:',
'login_recharger' => 'Chaj ank&ograve; paj-la',
'login_rester_identifie' => 'Gad lidantifikasyon pou plizy&egrave; jou',
'login_retour_public' => 'Tounyen sou sit piblik',
'login_retour_site' => 'Tounyen sou sit piblik',
'login_retoursitepublic' => 'tounyen&nbsp;d&egrave;y&egrave;&nbsp;sou&nbsp;sit&nbsp;piblik',
'login_sans_cookiie' => 'Idantifikasyon ki gen pa pa oken gatomakro',
'login_sinscrire' => 'enskri w',
'login_test_navigateur' => 'test navigat&egrave;/rekoneksyon',
'login_verifiez_navigateur' => '(Gad pou si navigat&egrave; ou li te pa raple modpas ou...)',
 
 
// M
'module_fichiers_langues' => 'Fichye-lang yo',
 
 
// N
'navigateur_pas_redirige' => 'Si navigat&egrave; ou se pa tounyen taptap sou yon l&ograve;t ladr&egrave;s web, m&egrave;si klik isit pou kontinye.',
 
 
// O
'onglet_affacer_base' => 'Kraze labaz',
'onglet_auteur' => 'Lot&egrave;',
'onglet_contenu_site' => 'Kisa sit-la ka kontni',
'onglet_evolution_visite_mod' => '&Eacute;volisyon',
'onglet_fonctions_avances' => 'Tout fonksyon pw&eacute;si ',
'onglet_informations_personnelles' => 'Enf&ograve;masyon p&egrave;son&egrave;l',
'onglet_interactivite' => 'Ent&egrave;waktivite',
'onglet_messagerie' => 'Kazmod&eacute;kri',
'onglet_messages_internes' => 'Mesaj yo ki andan sit-la',
'onglet_messages_publics' => 'Mesaj piblik yo',
'onglet_messages_vide' => 'Mesaj yo ki gen pa oken t&egrave;ks',
'onglet_origine_visites' => 'Lorijin vizit yo',
'onglet_repartition_debut' => 'depi koumansman',
'onglet_repartition_lang' => 'Repatisyon ant lang',
'onglet_repartition_rubrique' => 'Repatisyon ant ribrik',
'onglet_save_restaur_base' => 'S&ograve;vgad/aranje labaz',
'onglet_vider_cache' => 'Vide kach-la',
'ortho_trop_de_fautes2' => 'Komans korije pli gwo f&ograve;t lotogwaf ek es&egrave;y apr&egrave; yon lot fwa.',
 
 
// P
'pass_choix_pass' => 'M&egrave;si chwazi nouvo modpas ou :',
'pass_erreur' => 'Er&egrave;',
'pass_erreur_acces_refuse' => '<b>Er&egrave; :</b> w gen pa pli oken aks&eacute; sou sit-la.',
'pass_erreur_code_inconnu' => '<b>Er&egrave; :</b> kod-la ap\'pa koresponn oken vizit&egrave; ki genyen aks&eacute; sou sit-la.',
'pass_erreur_non_enregistre' => '<b>Er&egrave; :</b> ladr&egrave;s <tt>@email_oubli@</tt> ap pa enskri sou sit-la.',
'pass_erreur_non_valide' => '<b>Er&egrave; :</b> lim&egrave;l sa-a <tt>@email_oubli@</tt> ki pa mache !',
'pass_erreur_probleme_technique' => '<b>Er&egrave; :</b> akoz yon pwobl&egrave;m teknik, se pa posib voye lim&egrave;l sa-a.',
'pass_espace_prive_bla' => 'Espas prive sit-la se ouv&egrave; pou tout vizit&egrave;
ki enskri dab&ograve;. Kan w ap enskri w, w ke kapab,
f&egrave; lekti tout atik ki ank&ograve; pou ekri ek pwopoze atik ou mem,
osnon mem soutni nan tout fowom sit sa-a .',
'pass_forum_bla' => 'W ap domann soutni nan yon fowom ki r&eacute;z&egrave;ve
pou vizit&egrave; ki deja enskri.',
'pass_indiquez_cidessous' => 'Endik isit anba ladr&egrave;s lim&egrave;l w ap enskri w dab&ograve;.
W
ke genyen yon limel ki di w kouman w ke kapab rekip&egrave; laks&eacute; ou.
',
'pass_mail_passcookie' => '(Tala se mesaj otomatik)
Pou w genyen ank&ograve; lakse ou sou sit-la
@nom_site_spip@ (@adresse_site@)
 
M&egrave;si f&egrave; yon vir&eacute; sou ladr&egrave;s la :
 
@adresse_site@/spip_pass.php3?p=@cookie@
 
W ke kapab al&ograve; enskri yon nouvo modpas
ak tounyen d&eacute;y&eacute; konekte sou sit-la.
 
',
'pass_mot_oublie' => 'Modpas ki oubliye',
'pass_nouveau_enregistre' => 'Nouvo modpas ou-a se enskri nan m&eacute;mwar.',
'pass_nouveau_pass' => 'Nouvo modpas',
'pass_ok' => 'OK',
'pass_oubli_mot' => 'Modpas ki oublye ',
'pass_quitter_fenetre' => 'Lage fin&egrave;t-la',
'pass_rappel_login' => 'Raple : lidantifyan ou-a (nondkod) se &laquo; @login@ &raquo;.',
'pass_recevoir_mail' => 'W ke genyen yon lim&egrave;l ki di w kouman w kapab rekip&egrave; laks&eacute; ou sou sit sa-a.',
'pass_retour_public' => 'Tounyen d&eacute;y&egrave; sou sit piblik',
'pass_rien_a_faire_ici' => 'Genyen pa ryen pou f&egrave; isit.',
'pass_vousinscrire' => 'Enskri w sou sit sa-a',
'precedent' => 'd&eacute;y&egrave;',
'previsualisation' => 'Pou gade avan pibliye',
'previsualiser' => 'Gade avan pibliy&eacute;',
 
 
// S
'stats_visites_et_popularite' => '@visites@ vizit yo&nbsp;; kouman se popil&egrave;&nbsp;: @popularite@',
'suivant' => 'swivan',
 
 
// T
'taille_ko' => '@taille@&nbsp;ko',
'taille_mo' => '@taille@&nbsp;Mo',
'taille_octets' => '@taille@&nbsp;okt&egrave;',
'texte_actualite_site_1' => 'Kan w genyen abitid ek lent&egrave;fas, w ke kapab piy&eacute; sou &laquo;',
'texte_actualite_site_2' => 'ent&egrave;fas konpl&eacute;',
'texte_actualite_site_3' => '&raquo; pou genyen plis posibilite.',
'texte_creation_automatique_vignette' => 'Kreyasyon otomatik tout viy&egrave;t pou gade avan pibliy&eacute; ap mache jodiya sou sit-la. Si w enstal ek f&ograve;mil&egrave; sa-a imaj yo nan f&ograve;ma (sa-yo) @gd_formats@, yo ke vini ak yon viy&egrave;t ki tay pli gran se @taille_preview@&nbsp;piksel.',
'texte_documents_associes' => 'Dokiman swivan sa-yo se asosye ek atik-la,
poutan yo genyen pa dir&egrave;kman par&egrave;t nan atik-la. Kiswa kouman paj ou rosanm sou sit piblik,
yo ki par&egrave;t nan f&ograve;m dokiman jwen.',
'texte_erreur_mise_niveau_base' => 'Ere ek bazdone pou m&egrave;t nan nivo.
imaj <B>@fichier@</B> sa-a ki pa rive (article @id_article@).
Ekri r&eacute;f&eacute;rans-la, ek esey yon lot fwa
aranje nivo, epi gade si imaj yo ki kapab par&egrave;t
byen toujou nan atik yo.',
'texte_inc_auth_1' => 'Kouman w rele pou genyen idantifye w
<B>@auth_login@</B>, soman li pli/pa egsite nan bazdone.
Esey',
'texte_inc_auth_2' => 'kon&egrave;k w ank&ograve; yon lot fwa',
'texte_inc_auth_3' => ', apr&egrave; w p&egrave;t&egrave;t lage &eacute;pi
r&egrave;t ek d&eacute;mar yon lot fwa navigat&egrave; ou.',
'texte_inc_config' => 'Tout chanjman nan paj sa-yo genyen gran enflians si manyen sit-la ka mache.
L&egrave;s azot bagay-la sou kote kounyen-a, si w genyen p&ograve;k&ograve; gran abitid ak manyen kouman SPIP mache.
<P align="justify"><B> Ann
l&egrave;s plit&ograve; jestyon paj sa-yo pou w&egrave;bm&egrave;t prensipal sou sit-la.</B>',
'texte_inc_meta_1' => 'Sist&egrave;m la ki genyen yon er&egrave; ak l&eacute;kriti fichye <code>ecrire/data/meta_cache.php3</code>. M&egrave;si, w ki komand&egrave; sit-la,',
'texte_inc_meta_2' => 'gade tout drwa l&eacute;kriti se korek',
'texte_inc_meta_3' => 'nan r&eacute;p&egrave;twa <code>ecrire/data/</code>.',
'texte_statut_en_cours_redaction' => 'ank&ograve; pou ekri',
'texte_statut_poubelle' => 'nan bwat poub&egrave;l',
'texte_statut_propose_evaluation' => 'pwopoze pou jijman',
'texte_statut_publie' => 'pibliye an ly',
'texte_statut_refuse' => 'refize',
'titre_ajouter_mot_cle' => 'AJOUTE YON MOKLE :',
'titre_breve_proposee' => 'Tinouv&egrave;l pwopoze pou par&egrave;t',
'titre_breve_publiee' => 'Tinouv&egrave;l ki pibliye an liy',
'titre_breve_refusee' => 'Tinouv&egrave;l ki refize',
'titre_cadre_raccourcis' => 'TICHEMEN YO :',
'titre_changer_couleur_interface' => 'Chanje koul&egrave; lent&egrave;fas',
'titre_forum' => 'Fowom',
'titre_image_admin_article' => 'W kapab j&egrave;re atik-la',
'titre_image_administrateur' => 'Komand&egrave;',
'titre_image_aide' => 'Ann genyen &egrave;d sou eleman nan',
'titre_image_auteur_supprime' => 'Lot&egrave; te kraze',
'titre_image_redacteur' => 'Redakt&egrave; ap gen pa aks&egrave;',
'titre_image_redacteur_02' => 'Redakt&egrave;',
'titre_image_visiteur' => 'Vizit&egrave;',
'titre_joindre_document' => 'JWENN YON DOKIMAN',
'titre_liens_entrants' => 'Lyen sa-yo ka rive',
'titre_mots_cles' => 'MOKLE YO',
'titre_probleme_technique' => 'Atansyon&nbsp;: yon pxobl&egrave;m teknik (s&egrave;rv&egrave;r MySQL) fe entediksyon antre nan pati a nan sit sa a. M&eacute;si konprann.',
'titre_publier_document' => 'PIBLIYE YON DOKIMAN NAN PATI A NAN SIT SA A',
'titre_statistiques' => 'Estatistik sit la',
'titre_titre_document' => 'Kouman rele dokiman a&nbsp;:',
'trad_reference' => '(atik pou referans)',
 
 
// U
'upload_fichier_zip' => 'Fichye ZIP',
'upload_fichier_zip_texte' => 'Fichye sak w ap pwopoze instale se yon fichye Zip.',
'upload_fichier_zip_texte2' => 'Fichye se pet&egrave;t&nbsp;:',
'upload_limit' => 'Fichye a se two gwo pou serv&egrave;r la &nbsp;; pli gran tay posib pou <i>upload</i>se @max@.',
'upload_zip_decompacter' => 'dekonprese ek chak eleman li ka kontni se instale sou sit-la. Fichye yo ke instale sou sit-la se &nbsp;:',
'upload_zip_telquel' => 'te enstale komsa kom achiv koprese Zip&nbsp;;',
 
 
// Z
'zbug_balise_b_aval' => '&nbsp;: baliz B anba',
'zbug_boucle' => 'boukle',
'zbug_boucle_recursive_undef' => 'boukle rekisiv ki pa d&eacute;fini',
'zbug_champ_hors_boucle' => 'Chan @champ@ ki pa nan boukle',
'zbug_champ_hors_motif' => 'Chan @champ@ ki pa nan boukle-motif @motif@',
'zbug_code' => 'kod',
'zbug_critere_inconnu' => 'krit&egrave; sa-a se pa koni @critere@',
'zbug_distant_interdit' => 'd&eacute;&ograve; ent&egrave;di',
'zbug_erreur_boucle_double' => 'BOUCLE@id@: d&eacute;finisyon doub',
'zbug_erreur_boucle_fermant' => 'BOUCLE@id@: tag pou f&egrave;me ap pa egsiste ',
'zbug_erreur_boucle_syntaxe' => 'Sintaks boukl pa kor&egrave;k',
'zbug_erreur_execution_page' => 'er&egrave; nan leks&eacute;kisyon paj la',
'zbug_erreur_filtre' => 'Er&egrave;: fil <b>&laquo; @filtre@ &raquo;</b> se pa defini ',
'zbug_erreur_meme_parent' => '{meme_parent} ki pa mache ak (FORUMS) oubyen (RUBRIQUES)',
'zbug_erreur_squelette' => 'Er&egrave; nan l&egrave;skel&egrave;t',
'zbug_info_erreur_squelette' => 'Er&egrave; sou sit-la',
'zbug_inversion_ordre_inexistant' => 'yon ord ki pa egziste genyen lanv&egrave;',
'zbug_parametres_inclus_incorrects' => 'Param&egrave;t pou enklizyon se pa korek',
'zbug_resultat' => 'r&eacute;zilta',
'zbug_serveur_indefini' => 's&egrave;v&egrave; SQL ki pa defini',
'zbug_table_inconnue' => 'Tab SQL &laquo; @table@ &raquo; se pa koni'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_it.php3
New file
0,0 → 1,726
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-it',
'0_langue' => 'Italiano [it]',
'0_liste' => 'spip-it@rezo.net',
'0_mainteneur' => 'ebottaro@hce.it',
 
 
// A
'access_interface_graphique' => 'Ritorna all\'interfaccia grafica completa',
'access_mode_texte' => 'Visualizza l\'interfaccia testuale semplificata',
'admin_debug' => 'debug',
'admin_modifier_article' => 'Modifica l\'articolo',
'admin_modifier_auteur' => 'Modifica l\'autore',
'admin_modifier_breve' => 'Modifica la breve',
'admin_modifier_mot' => 'Modifica la parola chiave',
'admin_modifier_rubrique' => 'Modifica la rubrica',
'admin_recalculer' => 'Rigenera la pagina',
'alerte_maj_impossible' => '<b>Attenzione!</b> L\'aggiornamento del database MySQL alla versione @version@ &egrave; impossibile, forse non si possiedono i diritti di modifica nel database. Contattare il proprio fornitore di hosting.',
'analyse_xml' => 'Analisi XML',
'avis_archive_incorrect' => 'il file archivio non &egrave; un file SPIP',
'avis_archive_invalide' => 'il file archivio non &egrave; valido',
'avis_attention' => 'ATTENZIONE!',
'avis_champ_incorrect_type_objet' => 'Nome di campo errato @name@ per oggetto di tipo ',
'avis_colonne_inexistante' => 'La colonna @col@ non esiste',
'avis_echec_syndication_01' => 'La syndication &egrave; fallita: il backend indicato &egrave; indecifrabile o non propone alcun articolo.',
'avis_echec_syndication_02' => 'La syndication &egrave; fallita: impossibile accedere al backend di questo sito.',
'avis_erreur' => 'Errore: vedi sopra',
'avis_erreur_connexion' => 'Errore di connessione',
'avis_erreur_cookie' => 'problema di cookie',
'avis_erreur_fonction_contexte' => 'Errore di programmazione. Questa funzione non avrebbe dovuto essere chiamata in questo contesto.',
'avis_erreur_mysql' => 'Errore MySQL ',
'avis_erreur_sauvegarde' => 'Errore nel salvataggio (@type@ @id_objet@)! ',
 
 
// B
'barre_a_accent_grave' => 'Inserire una A maiscola con accento grave',
'barre_aide' => 'Utilizzare le scorciatoie tipografiche di SPIP per migliorare l\'impaginazione del testo',
'barre_e_accent_aigu' => 'Inserire una E maiscola con accento acuto',
'barre_eo' => 'Inserire una E nell\'O',
'barre_eo_maj' => 'Inserire una E nell\'O maiuscola',
'barre_euro' => 'Inserire il simbolo &euro;',
'barre_gras' => 'Formattare in {{grassetto}}',
'barre_guillemets' => 'Porre il testo fra &laquo; virgolette basse francesi &raquo;',
'barre_guillemets_simples' => 'Porre il testo fra „virgolette“',
'barre_intertitre' => 'Trasformare in {{{titolo di paragrafo}}}',
'barre_italic' => 'Formattare in {corsivo}',
'barre_lien' => 'Trasformare in un [link ipertestuale->http://...]',
'barre_lien_input' => 'Indicare l\'indirizzo del link (&egrave; possibile indicare l\'indirizzo Web come http://www.ilmiosito.com o semplicemente indicare il numero di un singolo articolo).',
'barre_note' => 'Trasformare in [[Nota a fondo pagina]]',
'barre_quote' => '<quote>Citare un messaggio</quote>',
'bouton_ajouter_document' => 'AGGIUNGI UN DOCUMENTO',
'bouton_ajouter_image' => 'AGGIUNGI UN\'IMMAGINE',
'bouton_changer' => 'Cambia',
'bouton_chercher' => 'Cerca',
'bouton_choisir' => 'Scegli',
'bouton_enregistrer' => 'Salva',
'bouton_radio_desactiver_messagerie_interne' => 'Disattiva la messaggistica interna',
'bouton_radio_envoi_annonces' => 'Invia gli annunci editoriali',
'bouton_radio_non_envoi_annonces' => 'Non inviare annunci',
'bouton_radio_non_envoi_liste_nouveautes' => 'Non inviare l\'elenco delle novit&agrave;',
'bouton_recharger_page' => 'ricaricare questa pagina',
'bouton_telecharger' => 'Upload',
'bouton_valider' => 'Invia',
 
 
// C
'cal_apresmidi' => 'pomeriggio',
'cal_jour_entier' => 'giorno intero',
'cal_matin' => 'mattina',
'cal_par_jour' => 'calendario giornaliero',
'cal_par_mois' => 'calendario mensile',
'cal_par_semaine' => 'calendario settimanale',
'confirm_changer_statut' => 'Attenzione, &egrave; stato chiesto di modificare lo status di questo elemento. Continuare?',
 
 
// D
'date_aujourdhui' => 'oggi',
'date_avant_jc' => 'a.C.',
'date_dans' => 'tra @delai@',
'date_de_mois_1' => '@j@ gennaio',
'date_de_mois_10' => '@j@ ottobre',
'date_de_mois_11' => '@j@ novembre',
'date_de_mois_12' => '@j@ dicembre',
'date_de_mois_2' => '@j@ febbraio',
'date_de_mois_3' => '@j@ marzo',
'date_de_mois_4' => '@j@ aprile',
'date_de_mois_5' => '@j@ maggio',
'date_de_mois_6' => '@j@ giugno',
'date_de_mois_7' => '@j@ luglio',
'date_de_mois_8' => '@j@ agosto',
'date_de_mois_9' => '@j@ settembre',
'date_demain' => 'domani',
'date_fmt_heures_minutes' => '@h@:@m@',
'date_fmt_jour_heure' => '@jour@ ore @heure@',
'date_fmt_jour_mois' => '@jourmois@',
'date_fmt_jour_mois_annee' => '@jourmois@ @annee@',
'date_fmt_mois_annee' => '@nommois@ @annee@',
'date_fmt_nomjour_date' => 'il @nomjour@ @date@',
'date_heures' => 'ore',
'date_hier' => 'ieri',
'date_il_y_a' => '@delai@ fa',
'date_jnum1' => '1',
'date_jnum10' => '10',
'date_jnum11' => '11',
'date_jnum12' => '12',
'date_jnum13' => '13',
'date_jnum14' => '14',
'date_jnum15' => '15',
'date_jnum16' => '16',
'date_jnum17' => '17',
'date_jnum18' => '18',
'date_jnum19' => '19',
'date_jnum2' => '2',
'date_jnum20' => '20',
'date_jnum21' => '21',
'date_jnum22' => '22',
'date_jnum23' => '23',
'date_jnum24' => '24',
'date_jnum25' => '25',
'date_jnum26' => '26',
'date_jnum27' => '27',
'date_jnum28' => '28',
'date_jnum29' => '29',
'date_jnum3' => '3',
'date_jnum30' => '30',
'date_jnum31' => '31',
'date_jnum4' => '4',
'date_jnum5' => '5',
'date_jnum6' => '6',
'date_jnum7' => '7',
'date_jnum8' => '8',
'date_jnum9' => '9',
'date_jour_1' => 'domenica',
'date_jour_2' => 'luned&igrave;',
'date_jour_3' => 'marted&igrave;',
'date_jour_4' => 'mercoled&igrave;',
'date_jour_5' => 'gioved&igrave;',
'date_jour_6' => 'venerd&igrave;',
'date_jour_7' => 'sabato',
'date_jours' => 'giorni',
'date_minutes' => 'minuti',
'date_mois' => 'mesi',
'date_mois_1' => 'Gennaio',
'date_mois_10' => 'Ottobre',
'date_mois_11' => 'Novembre',
'date_mois_12' => 'Dicembre',
'date_mois_2' => 'Febbraio',
'date_mois_3' => 'Marzo',
'date_mois_4' => 'Aprile',
'date_mois_5' => 'Maggio',
'date_mois_6' => 'Giugno',
'date_mois_7' => 'Luglio',
'date_mois_8' => 'Agosto',
'date_mois_9' => 'Settembre',
'date_saison_1' => 'inverno',
'date_saison_2' => 'primavera',
'date_saison_3' => 'estate',
'date_saison_4' => 'autunno',
'date_semaines' => 'settimane',
'dirs_commencer' => ' per iniziare realmente l\'installazione',
'dirs_preliminaire' => 'Prima di iniziare: <B>impostare i diritti di accesso</b>',
'dirs_probleme_droits' => '<b>Problema nei diritti di accesso</b>',
'dirs_repertoires_absents' => '<B>Le seguenti cartelle non sono state trovate: <ul>@bad_dirs@.</ul> </B>
<p />Probabilmente ci&ograve; &egrave; dovuto a un\'errata formattazione delle lettere maiuscole o minuscole.
Verificare che le maiuscole e le minuscole delle cartelle coincidano con quelle visualizzate
qui sopra; se non &egrave; cos&igrave;, rinomina le cartelle utilizzando il tuo software FTP.
<p />Una volta effettuata questa correzione, si potr&agrave;',
'dirs_repertoires_suivants' => '<B>Le seguenti cartelle non sono accessibili in scrittura: <ul>@bad_dirs@.</ul></b>
<p />Utilizzare un client FTP o un comando di shell [chmod] per impostare i diritti di accesso
di ciascuna di queste cartelle. La procedura &egrave; spiegata in dettaglio nella guida d\'installazione.
<p />Una volta attribuiti i permessi, si potr&agrave; ',
 
 
// E
'entree_dimensions' => 'Dimensioni:',
'entree_titre_document' => 'Titolo del documento:',
'entree_titre_image' => 'Titolo dell\'immagine:',
'envoi_via_le_site' => 'Invio tramite il sito',
 
 
// F
'fichier_introuvable' => 'File @fichier@ non trovato',
'form_deja_inscrit' => 'Sei gi&agrave; iscritto.',
'form_email_non_valide' => 'L\'indirizzo email non &egrave; valido.',
'form_forum_access_refuse' => 'Non hai pi&ugrave; accesso a questo sito.',
'form_forum_bonjour' => 'Buongiorno @nom@,',
'form_forum_email_deja_enregistre' => 'Questo indirizzo email &egrave; gi&agrave; registrato, puoi dunque utilizzare la tua password abituale.',
'form_forum_identifiant_mail' => 'Il nuovo codice identificativo (ID) ti &egrave; stato appena inviato tramite email.',
'form_forum_identifiants' => 'Dati personali',
'form_forum_indiquer_nom_email' => 'Indica qui nome e indirizzo email. L\'ID personale ti verr&agrave; recapitato tramite email a breve.',
'form_forum_login' => 'login:',
'form_forum_message_auto' => '(questo &egrave; un messaggio generato automaticamente)',
'form_forum_pass' => 'password:',
'form_forum_probleme_mail' => 'Problema di posta: l\'ID non pu&ograve; essere inviato.',
'form_forum_voici1' => 'Ecco i dati per poter partecipare ai forum
del sito"@nom_site_spip@" (@adresse_site@/):',
'form_forum_voici2' => 'Ecco i dati per poter proporre degli articoli sul sito
"@nom_site_spip@" (@adresse_site@/ecrire/):',
'form_indiquer_email' => 'Indica il tuo indirizzo email.',
'form_indiquer_nom' => 'Indica il tuo nome.',
'form_indiquer_nom_site' => 'Indica il nome del tuo sito.',
'form_pet_adresse_site' => 'Indirizzo del sito',
'form_pet_aucune_signature' => 'Nessuna adesione corrisponde a questo codice...',
'form_pet_confirmation' => 'Conferma l\'adesione:',
'form_pet_deja_enregistre' => 'Questo sito &egrave; gi&agrave; registrato',
'form_pet_deja_signe' => 'Hai gi&agrave; firmato questo testo.',
'form_pet_envoi_mail_confirmation' => 'Ti stato appena inviato un messaggio di posta elettronica. Dovrai visitare l\'indirizzo web che appare nel messaggio per confermare la tua adesione.',
'form_pet_mail_confirmation' => 'Salve,
 
Hai richiesto di firmare la petizione:
@titre@.
 
Hai fornito le seguenti informazioni:
Nome: @nom_email@
Sito: @nom_site@ - @url_site@
 
IMPORTANTE...
 
Per confermare la tua adesione &egrave; sufficiente visitare l\'indirizzo web qui sotto (se non lo fai, la tua domanda sar&agrave; respinta):
@url@
 
Grazie per la partecipazione',
'form_pet_message_commentaire' => 'Un messaggio, un commento?',
'form_pet_nom_site2' => 'Nome del tuo sito Web',
'form_pet_probleme_technique' => 'Le adesioni sono temporaneamente sospese per il verificarsi di problemi tecnici.',
'form_pet_signature_pasprise' => 'La tua adesione non &egrave; stata presa in considerazione.',
'form_pet_signature_validee' => 'La tua adesione &egrave; stata confermata. Grazie!',
'form_pet_site_deja_enregistre' => 'Questo sito &egrave; gi&agrave; registrato',
'form_pet_url_invalide' => 'L\'URL indicato non risulta valido.',
'form_pet_votre_email' => 'Indirizzo email',
'form_pet_votre_nom' => 'Nome o pseudonimo',
'form_pet_votre_site' => 'Se hai un sito Web, puoi segnalarlo qui sotto',
'form_prop_confirmer_envoi' => 'Conferma l\'invio',
'form_prop_description' => 'Descrizione/commento',
'form_prop_enregistre' => 'La tua proposta &egrave; stata registrata ed apparir&agrave; on line dopo l\'approvazione del responsabile del sito.',
'form_prop_envoyer' => 'Invia un messaggio',
'form_prop_indiquer_email' => 'Indica un indirizzo email valido',
'form_prop_indiquer_nom_site' => 'Indica il nome del sito.',
'form_prop_indiquer_sujet' => 'Indica un argomento',
'form_prop_message_envoye' => 'Messaggio inviato',
'form_prop_nom_site' => 'Nome del sito',
'form_prop_non_enregistre' => 'La tua proposta non &egrave; stata registrata.',
'form_prop_sujet' => 'Argomento',
'form_prop_url_site' => 'Indirizzo (URL) del sito',
'forum_acces_refuse' => 'Non hai accesso a questi forum.',
'forum_attention_dix_caracteres' => '<b>Attenzione!</b> il messaggio deve contenere almeno dieci caratteri.',
'forum_attention_trois_caracteres' => '<b>Attenzione!</b> il titolo deve contenere almeno tre caratteri.',
'forum_avez_selectionne' => 'Hai selezionato:',
'forum_cliquer_retour' => 'Clicca <a href=\'@retour_forum@\'>qui</a> per continuare.',
'forum_forum' => 'forum',
'forum_info_modere' => 'Questo forum &egrave; moderato a priori: il tuo contributo apparir&agrave; solo dopo essere stato approvato da un amministratore del sito.',
'forum_lien_hyper' => '<B>Link ipertestuale</B> (opzionale)',
'forum_message_definitif' => 'Messaggio definitivo: invialo al sito',
'forum_message_trop_long' => 'Il tuo messaggio &egrave; troppo lungo. La dimensione massima &egrave; di 20000 caratteri.',
'forum_ne_repondez_pas' => 'Non rispondere a questo email ma intervieni sul forum all\'indirizzo seguente:',
'forum_non_inscrit' => 'Non sei iscritto, oppure l\'indirizzo o la password inseriti non sono corretti.',
'forum_page_url' => '(Se il tuo messaggio si riferisce ad un articolo pubblicato sul Web o ad una pagina contenente maggiori informazioni, &egrave; possibile indicare di seguito il titolo della pagina ed il suo indirizzo URL.)',
'forum_par_auteur' => 'di @auteur@',
'forum_poste_par' => 'Messaggio inviato da @auteur@ in calce al tuo articolo.',
'forum_probleme_database' => 'Problema nel database. Il tuo messaggio non &egrave; stato registrato.',
'forum_qui_etes_vous' => '<B>Chi sei?</B> (opzionale)',
'forum_texte' => 'Testo del messaggio:',
'forum_titre' => 'Titolo:',
'forum_titre_erreur' => 'Errore...',
'forum_url' => 'URL:',
'forum_valider' => 'Conferma la scelta',
'forum_voir_avant' => 'Vedi il messaggio prima di inviarlo',
'forum_votre_email' => 'Indirizzo email:',
'forum_votre_nom' => 'Nome (o pseudonimo):',
'forum_vous_enregistrer' => '&Egrave; necessario iscriversi
per partecipare a questo forum. Indica qui sotto l\'ID personale
che ti &egrave; stato fornito. Se non sei registrato, devi',
'forum_vous_inscrire' => 'prima iscriverti.',
 
 
// I
'ical_texte_rss_articles' => 'Il file di "backend" degli articoli di questo sito si trova al seguente indirizzo:',
'ical_texte_rss_articles2' => '&Egrave; anche possibile ottenere un file di "backend" per gli articoli di una singola rubrica:',
'ical_texte_rss_breves' => 'Inoltre esiste un file per l\'insieme delle brevi del sito. Precisando un numero di rubrica ci si pu&ograve; limitare alle brevi in essa contenute.',
'icone_a_suivre' => 'Pannello di controllo',
'icone_admin_site' => 'Amministrazione del sito',
'icone_agenda' => 'Agenda',
'icone_aide_ligne' => 'Guida in linea',
'icone_articles' => 'Articoli',
'icone_auteurs' => 'Autori',
'icone_breves' => 'Brevi',
'icone_brouteur' => 'Navigazione rapida',
'icone_configuration_site' => 'Configurazione del sito',
'icone_configurer_site' => 'Configura il sito',
'icone_creer_mot_cle' => 'Crea una nuova parola chiave e collegala a questo articolo',
'icone_creer_nouvel_auteur' => 'Crea un nuovo autore',
'icone_creer_rubrique' => 'Crea una rubrica',
'icone_creer_sous_rubrique' => 'Crea una sottorubrica',
'icone_deconnecter' => 'Esci',
'icone_discussions' => 'Discussioni',
'icone_doc_rubrique' => 'Documenti delle rubriche',
'icone_ecrire_article' => 'Scrivi un articolo',
'icone_edition_site' => 'Redazione del sito',
'icone_forum_administrateur' => 'Forum degli amministratori',
'icone_forum_suivi' => 'Monitoraggio dei forum',
'icone_gestion_langues' => 'Gestione delle lingue',
'icone_informations_personnelles' => 'Dati personali',
'icone_interface_complet' => 'Interfaccia completa',
'icone_interface_simple' => 'Interfaccia semplificata',
'icone_maintenance_site' => 'Manutenzione tecnica',
'icone_messagerie_personnelle' => 'Messaggi personali',
'icone_mots_cles' => 'Parole chiave',
'icone_nouvelle_breve' => 'Scrivi una breve',
'icone_repartition_actuelle' => 'Mostra la ripartizione attuale',
'icone_repartition_debut' => 'Mostra la ripartizione dall\'inizio',
'icone_repartition_visites' => 'Distribuzione delle visite',
'icone_rubriques' => 'Rubriche',
'icone_sauver_site' => 'Backup del sito',
'icone_site_entier' => 'Tutto il sito',
'icone_sites_references' => 'Siti repertoriati',
'icone_statistiques' => 'Statistiche del sito',
'icone_statistiques_visites' => 'Statistiche delle visite',
'icone_suivi_activite' => 'Monitorare l\'attivit&agrave; del sito',
'icone_suivi_actualite' => 'Evoluzione del&nbsp;sito',
'icone_suivi_forums' => 'Gestione dei forum',
'icone_suivi_pettions' => 'Gestione delle petizioni',
'icone_suivi_revisions' => 'Modifiche agli articoli',
'icone_supprimer_document' => 'Elimina il documento',
'icone_supprimer_image' => 'Elimina l\'immagine',
'icone_supprimer_message' => 'Elimina il messaggio',
'icone_tous_articles' => 'Tutti i tuoi articoli',
'icone_tous_auteur' => 'Tutti gli autori',
'icone_valider_message' => 'Convalida il messaggio',
'icone_visiter_site' => 'Visita il sito',
'icone_voir_en_ligne' => 'Vedi on line',
'image_tourner_180' => 'Ruota 180&deg;',
'image_tourner_droite' => 'Ruota 90&deg; a destra',
'image_tourner_gauche' => 'Ruota 90&deg; a sinistra',
'img_indisponible' => 'immagine non disponibile',
'info_a_suivre' => 'PANNELLO DI CONTROLLO&nbsp;&raquo;',
'info_a_valider' => '[da convalidare]',
'info_acces_interdit' => 'Accesso vietato',
'info_acces_refuse' => 'Accesso rifiutato',
'info_action' => 'Azione: @action@',
'info_administrer_rubriques' => 'Puoi amministrare questa rubrica e le relative sottorubriche',
'info_adresse_non_indiquee' => 'Non hai indicato l\'indirizzo da testare!',
'info_aide' => 'AIUTO:',
'info_ajouter_mot' => 'Aggiungi questa parola',
'info_annonce' => 'ANNUNCIO',
'info_annonces_generales' => 'Annunci generali:',
'info_article_propose' => 'Articolo proposto',
'info_article_publie' => 'Articolo pubblicato',
'info_article_redaction' => 'Articolo in corso di redazione',
'info_article_refuse' => 'Articolo rifiutato',
'info_article_supprime' => 'Articolo eliminato',
'info_articles' => 'Articoli',
'info_articles_a_valider' => 'Articoli da convalidare',
'info_articles_proposes' => 'Articoli proposti',
'info_auteurs_nombre' => 'autore(i):',
'info_authentification_ftp' => 'Autenticazione (via FTP).',
'info_bloquer_lien' => 'bloccare questo link',
'info_breves_02' => 'Brevi',
'info_breves_2' => 'brevi',
'info_breves_valider' => 'Brevi da convalidare',
'info_connexion_refusee' => 'Connessione rifiutata',
'info_contact_developpeur' => 'Contatta un programmatore.',
'info_contenance' => 'Questo sito contiene:',
'info_contribution' => 'contributi dei forum',
'info_copyright' => '@spip@ &egrave; un software libero distribuito @lien_gpl@.',
'info_copyright_doc' => 'Per maggiori informazioni, vedi il sito di <a href=\'http://www.spip.net/\'>SPIP</a>.',
'info_copyright_gpl' => 'sotto licenza GPL',
'info_cours_edition' => 'Articoli in fase di redazione',
'info_creer_repertoire' => 'Creare un file o una cartella chiamata:',
'info_creer_repertoire_2' => 'all\'interno della sottocartella <b>ecrire/data/</b>, poi:',
'info_creer_vignette' => 'creazione automatica dell\'anteprima',
'info_deplier' => 'Espandi',
'info_descriptif_nombre' => 'descrizione(i):',
'info_description' => 'Descrizione:',
'info_description_2' => 'Descrizione:',
'info_dimension' => 'Dimensioni:',
'info_document' => 'Documento',
'info_documents' => 'Documenti',
'info_echange_message' => 'SPIP permette lo scambio di messaggi e la costituzione di forum di discussione
privati tra i membri del sito. Puoi attivare o disattivare questa funzionalit&agrave;.',
'info_ecire_message_prive' => 'Scrivi un messaggio privato',
'info_email_invalide' => 'Indirizzo email non valido.',
'info_en_cours_validation' => 'I tuoi articoli in corso di redazione',
'info_en_ligne' => 'Attualmente on line:',
'info_envoyer_message_prive' => 'Invia un messaggio privato a questo autore',
'info_erreur_requete' => 'Errore nella richiesta: ',
'info_erreur_squelette2' => 'Nessun modello di layout <b>@fichier@</b> trovato...',
'info_erreur_systeme' => 'Errore di sistema (errno @errsys@)',
'info_erreur_systeme2' => '<b>Il disco rigido potrebbe essere pieno o la base dati danneggiata. <br>
<font color=\'red\'>Tenta di <a href=\'ecrire/admin_repair.php3\'>ripristinare la base dati</a>,
o contatta il tuo hoster.</font><br></b>',
'info_fini' => 'Finito!',
'info_format_image' => 'Formati di file immagine utilizzabili per la creazione delle etichette: @gd_formats@.',
'info_format_non_defini' => 'formato non definito',
'info_grand_ecran' => 'Layout per monitor grandi',
'info_image_aide' => 'AIUTO',
'info_image_process_titre' => 'Metodo per generare thumbnail',
'info_impossible_lire_page' => '<B>Errore!</B> Impossibile leggere la pagina <tt><html>@test_proxy@</html></tt> attraverso il proxy <tt>',
'info_inclusion_directe' => 'Inclusione diretta:',
'info_inclusion_vignette' => 'Inclusione dell\'immagine:',
'info_installation_systeme_publication' => 'Installazione del sistema di pubblicazione...',
'info_installer_documents' => '&Egrave; possibile installare automaticamente tutti i documenti contenuti nella cartella <i>upload</i>.',
'info_installer_ftp' => 'In qualit&agrave; di amministratore, puoi installare file (via FTP) nella cartella ecrire/upload per poi selezionarli direttamente.',
'info_installer_images' => '&Egrave; possibile installare delle immagini in formato JPEG, GIF e PNG.',
'info_installer_images_dossier' => 'Installare delle immagini nella cartella /ecrire/upload per poterle selezionare direttamente.',
'info_installer_tous_documents' => 'Installare tutti i documenti',
'info_interface_complete' => 'Interfaccia completa',
'info_interface_simple' => 'Interfaccia semplificata',
'info_joindre_document_article' => 'Puoi allegare a questo articolo dei documenti del tipo',
'info_joindre_document_rubrique' => 'Puoi aggiungere a questa rubrica documenti del tipo',
'info_joindre_documents_article' => 'Puoi allegare all\'articolo documenti del tipo: ',
'info_l_article' => 'l\'articolo',
'info_la_breve' => 'la breve',
'info_la_rubrique' => 'la sezione',
'info_langue_principale' => 'Lingua predefinita del sito',
'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixel',
'info_les_auteurs_1' => 'di @les_auteurs@ ',
'info_logo_format_interdit' => 'Solo i logo in formato @formats@ sono permessi.',
'info_logo_max_poids' => 'I logo devono obbligatoriamente avere una dimensione inferiore a @maxi@ (questo file &egrave; di @actuel@).',
'info_logo_max_taille' => 'I logo devono obbligatoriamente avere una dimensione inferiore a @maxi@ (questo file &egrave; di @actuel@).',
'info_mail_fournisseur' => 'tuo@provider.com',
'info_message_2' => 'MESSAGGIO',
'info_message_supprime' => 'MESSAGGIO ELIMINATO',
'info_mise_en_ligne' => 'Data di pubblicazione on line:',
'info_modification_parametres_securite' => 'modifiche dei parametri di sicurezza',
'info_mois_courant' => 'Durante il mese:',
'info_mot_cle_ajoute' => 'La seguente parola chiave &egrave; stata aggiunta a',
'info_multi_herit' => 'Lingua predefinita',
'info_multi_langues_soulignees' => 'Le <u>lingue sottolineate</u> hanno la traduzione di tutti i testi dell\'interfaccia. Se si seleziona una di queste lingue, molti elementi del sito pubblico (date, form) verranno tradotti automaticamente. Per le lingue che non sono sottolineate, invece, tali elementi rimarranno nella lingua principale del sito.',
'info_multilinguisme' => 'Multilinguismo',
'info_nom_non_utilisateurs_connectes' => 'Il tuo nome non appare nella lista degli utenti collegati.',
'info_nom_utilisateurs_connectes' => 'Il tuo nome &egrave; visibile nella lista degli utenti collegati.',
'info_nombre_en_ligne' => 'Attualmente on line:',
'info_non_resultat' => 'Nessun risultato per "@cherche_mot@"',
'info_non_utilisation_messagerie' => 'Il sistema di messaggistica interna di questo sito non viene utilizzato.',
'info_nouveau_message' => 'HAI UN NUOVO MESSAGGIO',
'info_nouveaux_messages' => 'HAI @total_messages@ NUOVI MESSAGGI',
'info_numero_abbreviation' => 'N.&nbsp;',
'info_panne_site_syndique' => 'Il sito in syndication non funziona',
'info_pense_bete' => 'MEMO',
'info_petit_ecran' => 'Layout per monitor piccoli',
'info_pixels' => 'pixels',
'info_plusieurs_mots_trouves' => 'Numerose parole chiave trovate per "@cherche_mot@":',
'info_popularite_5' => 'popolarit&agrave;:',
'info_portfolio' => 'Portfolio',
'info_portfolio_automatique' => 'Portfolio automatico:',
'info_premier_resultat' => '[@debut_limit@ primi risultati su @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ primi risultati su @total@]',
'info_probleme_grave' => 'problema di',
'info_propose_1' => '[@nom_site_spip@] Propone: @titre@',
'info_propose_2' => 'Articolo proposto
---------------',
'info_propose_3' => 'L\'articolo "@titre@" &egrave; proposto per la pubblicazione',
'info_propose_4' => 'Sei invitato a consultare e a dare la tua opinione ',
'info_propose_5' => 'nel forum annesso.
 
&Egrave; disponibile all\'indirizzo:',
'info_publie_01' => 'L\'articolo "@titre@" &egrave; stato convalidato da @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] PUBBLICA: @titre@',
'info_publie_2' => 'Articolo pubblicato
--------------',
'info_rechercher' => 'Ricerca',
'info_rechercher_02' => 'Cerca:',
'info_remplacer_vignette' => 'Sostituire l\'icona predefinita con una personalizzata:',
'info_retablir_lien' => 'ripristinare questo link',
'info_retirer_mot' => 'Rimuovere questa parola',
'info_retirer_mots' => 'Rimuovere tutte le parole',
'info_sans_titre_2' => 'senza titolo',
'info_selectionner_fichier' => 'Puoi selezionare un file della cartella <i>upload</i>',
'info_selectionner_fichier_2' => 'Seleziona un file:',
'info_site_attente' => 'Sito Web in attesa di convalida',
'info_site_reference' => 'Sito repertoriato in linea',
'info_site_refuse' => 'Sito Web rifiutato',
'info_sites_referencer' => 'Inserisci un sito in repertorio',
'info_supprimer_vignette' => 'Cancella l\'immagine',
'info_symbole_bleu' => 'Il simbolo <B>blu</b> indica un <B>memo</b>: cio&egrave; un messaggio ad uso personale.',
'info_symbole_jaune' => 'Il simbolo <B>giallo</b> indica un <B>annuncio a tutti i redattori </b>: modificabile da tutti gli amministratori e visibile da tutti i redattori.',
'info_symbole_vert' => 'Il simbolo <B>verde</B> indica i <B>messaggi scambiati con altri utenti </B> del sito.',
'info_syndication' => 'syndication:',
'info_syndication_articles' => 'articolo/i',
'info_telecharger' => 'Upload dal tuo computer:',
'info_telecharger_nouveau_logo' => 'Upload di un nuovo logo:',
'info_telecharger_ordinateur' => 'Upload dal tuo computer:',
'info_tous_resultats_enregistres' => '[tutti i risultati sono salvati]',
'info_tout_afficher' => 'Visualizza tutto',
'info_travaux_texte' => 'Questo sito non &egrave; stato ancora configurato. Torna pi&ugrave; tardi...',
'info_travaux_titre' => 'Lavori in corso',
'info_trop_resultat' => 'Troppi risultati per "@cherche_mot@" ; restringi la ricerca.',
'info_utilisation_messagerie_interne' => 'Stai utilizzando il sistema di messaggistica interna al sito.',
'info_valider_lien' => 'convalidare questo link',
'info_verifier_image' => ', verifica che le immagini siano state trasferite correttamente.',
'info_vignette_defaut' => 'Loghi predefiniti',
'info_vignette_personnalisee' => 'Loghi personalizzati',
'info_visite' => 'visita:',
'info_visites' => 'visite:',
'info_vos_rendez_vous' => 'I tuoi prossimi appuntamenti',
'info_zoom' => 'zoom',
'infos_vos_pense_bete' => 'I tuoi memo',
'item_breve_proposee' => 'Breve proposta',
 
 
// L
'lien_afficher_icones_seuls' => 'Mostra solo le icone',
'lien_afficher_texte_icones' => 'Mostra le icone e il testo',
'lien_afficher_texte_seul' => 'Mostra solo il testo',
'lien_icones_interface' => 'Le icone dell\'interfaccia sono di <a href=\'http://jimmac.musichall.cz/\'>Jakub \'Jimmac\' Steiner</a>.',
'lien_liberer' => 'libera',
'lien_liberer_tous' => 'liberare questi articoli',
'lien_nouvea_pense_bete' => 'NUOVO MEMO',
'lien_nouveau_message' => 'NUOVO MESSAGGIO',
'lien_nouvelle_annonce' => 'NUOVO ANNUNCIO',
'lien_petitions' => 'PETIZIONE',
'lien_popularite' => 'popolarit&agrave;: @popularite@%',
'lien_racine_site' => 'ROOT DEL SITO',
'lien_reessayer' => 'Prova di nuovo',
'lien_repondre_message' => 'Rispondi',
'lien_supprimer' => 'cancella',
'lien_tout_afficher' => 'Visualizza tutto ',
'lien_visite_site' => 'visita il sito',
'lien_visites' => '@visites@&nbsp;visite',
'lien_voir_auteur' => 'Vedi questo autore',
'login_acces_prive' => 'accesso all\'area riservata',
'login_autre_identifiant' => 'connettiti con un altro ID',
'login_connexion_refusee' => 'Connessione rifiutata.',
'login_cookie_accepte' => 'Imposta il tuo browser affinch&eacute; li accetti (almeno per questo sito).',
'login_cookie_oblige' => 'Per identificarsi in modo sicuro su questo sito &egrave; necessario accettare i cookie.',
'login_deconnexion_ok' => 'Disconnessione effettuata.',
'login_erreur_pass' => 'Errore nella password.',
'login_espace_prive' => 'area riservata',
'login_identifiant_inconnu' => 'L\'ID &laquo; @login@ &raquo; risulta inesistente.',
'login_login' => 'Login:',
'login_login2' => 'Login (ID di connessione al sito):',
'login_login_pass_incorrect' => '(Login o password errati.)',
'login_motpasseoublie' => 'password&nbsp;dimenticata?',
'login_non_securise' => 'Attenzione, questo modulo non &egrave; sicuro.
Se non vuoi che la tua password possa essere intercettata sulla rete,
devi attivare Javascript nel tuo browser e',
'login_nouvelle_tentative' => 'Nuovo tentativo',
'login_par_ici' => 'Sei registrato... per di qua...',
'login_pass2' => 'Password:',
'login_preferez_refuser' => '<b>Se preferisci non accettare i cookie</b> c\'&egrave; un altro metodo (meno sicuro) per connettersi:',
'login_recharger' => 'aggiorna questa pagina',
'login_rester_identifie' => 'Conservare l\'identificazione per alcuni giorni',
'login_retour_public' => 'Ritorna al sito pubblico',
'login_retour_site' => 'Ritorna al sito pubblico',
'login_retoursitepublic' => 'ritorna&nbsp;al&nbsp;sito&nbsp;pubblico',
'login_sans_cookiie' => 'Identificazione senza cookie',
'login_sinscrire' => 'registrati',
'login_test_navigateur' => 'test browser/riconnessione',
'login_verifiez_navigateur' => '(Verifica comunque se il tuo browser ha memorizzato la password...)',
 
 
// M
'module_fichiers_langues' => 'File lingua',
 
 
// N
'navigateur_pas_redirige' => 'Se la pagina non cambia automaticamente, cliccare qui per continuare.',
 
 
// O
'onglet_affacer_base' => 'Svuota il database',
'onglet_auteur' => 'L\'autore',
'onglet_contenu_site' => 'Contenuto del sito',
'onglet_evolution_visite_mod' => 'Evoluzione',
'onglet_fonctions_avances' => 'Funzioni avanzate',
'onglet_informations_personnelles' => 'Dati personali',
'onglet_interactivite' => 'Interattivit&agrave;',
'onglet_messagerie' => 'Messaggi',
'onglet_messages_internes' => 'Messaggi interni',
'onglet_messages_publics' => 'Messaggi pubblici',
'onglet_messages_vide' => 'Messaggi senza testo',
'onglet_origine_visites' => 'Origine delle visite',
'onglet_repartition_debut' => 'dall\'inizio',
'onglet_repartition_lang' => 'Suddivisione per lingua',
'onglet_repartition_rubrique' => 'Ripartizione per rubriche',
'onglet_save_restaur_base' => 'Salva/ripristina il database',
'onglet_vider_cache' => 'Svuota la cache',
'ortho_trop_de_fautes2' => 'Correggere gli errori pi&ugrave; evidenti e ricontrollare il testo in un secondo tempo.',
 
 
// P
'pass_choix_pass' => 'Inserisci una nuova password:',
'pass_erreur' => 'Errore',
'pass_erreur_acces_refuse' => '<b>Errore:</b> non hai pi&ugrave; accesso a questo sito.',
'pass_erreur_code_inconnu' => '<b>Errore:</b> il codice inserito non corriponde a nessuno degli utenti che hanno accesso a questo sito.',
'pass_erreur_non_enregistre' => '<b>Errore:</b> l\'indirizzo <tt>@email_oubli@</tt> non &egrave; registrato su questo sito.',
'pass_erreur_non_valide' => '<b>Errore:</b> questo indirizzo <tt>@email_oubli@</tt> non &egrave; valido!',
'pass_erreur_probleme_technique' => '<b>Errore:</b> l\'email non pu&ograve; essere inviato a causa di un problema tecnico.',
'pass_espace_prive_bla' => 'L\'area riservata di questo sito &egrave; accessibile
unicamente agli utenti registrati.
Una volta iscritto, potrai consultare gli articoli in corso di redazione,
proporre nuovi articoli e partecipare a tutti i forum.',
'pass_forum_bla' => 'Hai chiesto di intervenire su un forum
riservato agli utenti registrati.',
'pass_indiquez_cidessous' => 'Indica qui sotto l\'indirizzo email con il quale ti sei registrato precedentemente.
Riceverai un email con le istruzioni per recuperare i dati di accesso al sito.',
'pass_mail_passcookie' => '(questo &egrave; un messaggio generato automaticamente)
 
Per recuperare i dati di accesso al sito
@nom_site_spip@ (@adresse_site@)
 
Clicca su questo link:
@adresse_site@/spip_pass.php3?p=@cookie@
 
Potrai quindi inserire una nuova password e riconnetterti all\'area riservata.',
'pass_mot_oublie' => 'Password dimenticata',
'pass_nouveau_enregistre' => 'La nuova password &egrave; stata salvata.',
'pass_nouveau_pass' => 'Nuova password',
'pass_ok' => 'OK',
'pass_oubli_mot' => 'Password dimenticata',
'pass_quitter_fenetre' => 'Chiudi la finestra',
'pass_rappel_login' => 'Ricorda: il tuo ID (login) &egrave; &laquo; @login@ &raquo;.',
'pass_recevoir_mail' => 'Riceverai un email contenente le istruzioni per recuperare i dati di accesso al sito.',
'pass_retour_public' => 'Torna al sito pubblico',
'pass_rien_a_faire_ici' => 'Vicolo cieco...',
'pass_vousinscrire' => 'Registrati al sito',
'precedent' => 'precedente',
'previsualisation' => 'Anteprima',
'previsualiser' => 'Visualizzare l\'anteprima',
 
 
// S
'stats_visites_et_popularite' => '@visites@ visite; popolarit&agrave;: @popularite@',
'suivant' => 'successivo',
 
 
// T
'taille_ko' => '@taille@&nbsp;Kb',
'taille_mo' => '@taille@&nbsp;Mb',
'taille_octets' => '@taille@&nbsp;byte',
'texte_actualite_site_1' => 'Quando avrai maggiore familiarit&agrave; con l\'interfaccia, clicca su &laquo;',
'texte_actualite_site_2' => 'interfaccia completa',
'texte_actualite_site_3' => '&raquo; per avere accesso a nuove opzioni.',
'texte_creation_automatique_vignette' => 'La creazione automatica di thumbnail di anteprima &egrave; attivata. Se inserisci in questo campo delle immagini in formato @gd_formats@, esse saranno accompagnate da thumbnail con una dimensione massima di @taille_preview@&nbsp;pixels. ',
'texte_documents_associes' => 'I seguenti documenti sono associati all\'articolo,
ma non vi sono stati inseriti direttamente.
A seconda delle impostazioni di pubblicazione del sito,
potranno essere disponibili sotto forma di documenti allegati.',
'texte_erreur_mise_niveau_base' => 'Errore nel database durante l\'aggiornamento.
L\'immagine <B>@fichier@</B> non &egrave; passata (articolo @id_article@).
Prendi nota di questo riferimento, ritenta l\'aggiornamento,
e verifica che le immagini si vedano ancora
negli articoli.',
'texte_inc_auth_1' => 'Sei identificato con il
login <B>@auth_login@</B>, ma non esiste pi&ugrave; nel database.
Prova a ',
'texte_inc_auth_2' => 'collegarti nuovamente',
'texte_inc_auth_3' => ', dopo aver eventualmente effettuato un logout e
riavviato il tuo browser.',
'texte_inc_config' => 'Le modifiche effettuate in queste pagine influenzano notevolmente il
funzionamento del sito. Non intervenire finch&eacute; non conosci bene i meccanismi del sistema SPIP. <P align="justify"><B>In generale, si consiglia di lasciare sempre al webmaster la configurazione delle opzioni qui presenti.</B>',
'texte_inc_meta_1' => 'La scrittura del file <code>ecrire/data/meta_cache.php3</code> ha causato un errore di sistema. L\'amministratore del sito, ',
'texte_inc_meta_2' => 'verifichi i diritti di scrittura',
'texte_inc_meta_3' => 'nella cartella <code>ecrire/data/</code>.',
'texte_statut_en_cours_redaction' => 'in corso di redazione',
'texte_statut_poubelle' => 'nel cestino',
'texte_statut_propose_evaluation' => 'proposto per una valutazione',
'texte_statut_publie' => 'pubblicato on line',
'texte_statut_refuse' => 'rifiutato',
'titre_ajouter_mot_cle' => 'AGGIUNGI UNA PAROLA CHIAVE:',
'titre_breve_proposee' => 'Breve proposta',
'titre_breve_publiee' => 'Breve pubblicata',
'titre_breve_refusee' => 'Breve rifiutata',
'titre_cadre_raccourcis' => 'SCELTA RAPIDA:',
'titre_changer_couleur_interface' => 'Cambia il colore dell\'interfaccia',
'titre_forum' => 'Forum',
'titre_image_admin_article' => 'Puoi amministrare questo articolo',
'titre_image_administrateur' => 'Amministratore',
'titre_image_aide' => 'Aiuto su questo elemento',
'titre_image_auteur_supprime' => 'Autore eliminato',
'titre_image_redacteur' => 'Redattore senza accesso',
'titre_image_redacteur_02' => 'Redattore',
'titre_image_visiteur' => 'Visitatore',
'titre_joindre_document' => 'ALLEGA UN DOCUMENTO',
'titre_liens_entrants' => 'I link odierni al tuo sito',
'titre_mots_cles' => 'PAROLE CHIAVE',
'titre_probleme_technique' => 'Attenzione: un problema tecnico (server MySQL) impedisce l\'accesso a questa parte del sito. Grazie per la comprensione.',
'titre_publier_document' => 'ALLEGA UN DOCUMENTO A QUESTA RUBRICA',
'titre_statistiques' => 'Statistiche del sito',
'titre_titre_document' => 'Titolo del documento:',
'trad_reference' => '(articolo di riferimento)',
 
 
// U
'upload_fichier_zip' => 'File ZIP',
'upload_fichier_zip_texte' => 'Il file proposto &egrave; un file ZIP.',
'upload_fichier_zip_texte2' => 'Questo file pu&ograve; essere:',
'upload_limit' => 'Questo file &egrave; troppo grande per il server; la dimensione massima consentita per gli <i>upload</i> &egrave; di @max@.',
'upload_zip_decompacter' => 'decompresso e ogni elemento installato nel sito. I file che saranno installati nel sito sono:',
'upload_zip_telquel' => 'installato cos&igrave; com\'&egrave; in quanto archivio compresso Zip;',
 
 
// Z
'zbug_balise_b_aval' => ': ciclo B deve precedere ciclo BOUCLE',
'zbug_boucle' => 'ciclo',
'zbug_boucle_recursive_undef' => 'ciclo ricorsivo non definito',
'zbug_champ_hors_boucle' => 'Campo @champ@ fuori dal ciclo',
'zbug_champ_hors_motif' => 'Campo @champ@ fuori da un ciclo di motivo @motif@',
'zbug_code' => 'codice',
'zbug_critere_inconnu' => 'criterio sconosciuto @critere@',
'zbug_distant_interdit' => 'esterno non accessibile',
'zbug_erreur_boucle_double' => 'BOUCLE@id@: doppia definizione',
'zbug_erreur_boucle_fermant' => 'BOUCLE@id@: chiusura tag mancante',
'zbug_erreur_boucle_syntaxe' => 'Sintassi del ciclo errata',
'zbug_erreur_execution_page' => 'errore di esecuzione della pagina',
'zbug_erreur_filtre' => 'Errore : filtro <b>&laquo; @filtre@ &raquo;</b> non esistente',
'zbug_erreur_meme_parent' => '{meme_parent} si applica unicamente ai cicli (FORUMS) o (RUBRIQUES)',
'zbug_erreur_squelette' => 'Errore/i nel modello di layout',
'zbug_info_erreur_squelette' => 'Errore sul sito',
'zbug_inversion_ordre_inexistant' => 'inversione di un ordine non esistente',
'zbug_parametres_inclus_incorrects' => 'Parametri di inclusione non corretti',
'zbug_resultat' => 'risultato',
'zbug_serveur_indefini' => 'server SQL non definito',
'zbug_table_inconnue' => 'Tabella SQL &laquo; @table@ &raquo; sconosciuta'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_fon.php3
New file
0,0 → 1,680
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'H&#596;n&ugrave;w&aacute;',
'0_langue' => 'Fongbe [fon]',
'0_liste' => 'spip-dev@rezo.net',
'0_mainteneur' => 'spip-dev@rezo.net',
 
 
// A
'access_interface_graphique' => 'L&#603;k&#596; yi&#768; at&#603; bi ji&#769;',
'access_mode_texte' => '&#598;&egrave; t&#603;m&#603; nu wiwlant&#596;n xl&#603; do at&#603; &#596; ji ',
'admin_debug' => 'Mi bl&oacute; &#598;&oacute;',
'admin_modifier_article' => 'H&#596;ntogbo&#769;',
'admin_modifier_auteur' => '&#598;i&#596; ny&#596;wlant&#596; &eacute; l&#596;',
'admin_modifier_breve' => '&#598;i&#596; xogb&egrave; kl&eacute;wun &eacute; l&#596;',
'admin_modifier_mot' => '&#598;i&#596; gb&egrave;ta &eacute; l&#596;',
'admin_modifier_rubrique' => '&#598;i&#596; akpa &eacute; l&#596;',
'admin_recalculer' => 'mi l&#603; v&#596; ak&#596;nta wekpa t&#596;n blo',
'alerte_maj_impossible' => 'Jijlado&#769; MySQL t&#596;n soyi&#769; &#598;i&#768;d&egrave; &#598;&eacute;vom&#603; glo&#769;, e siwu nyi&#769; &#598;&#596; ac&#603; e na yi&#769; do &#598;i&#596; titom&#603; &#596; w&#603; z&#596;n. Mi t&#603;nkp&#596; bo&#769; so al&#596; xw&eacute;t&#596;&#769; mi t&#596;n',
'avis_archive_incorrect' => 'gb&egrave;takin xo&#769;xo&#769; &eacute; l&#596; &eacute; nyi gb&egrave;takin supipu t&#596;n a',
'avis_archive_invalide' => 'gb&egrave;tak&#603;n xoxo &#596; f&#603;wu a',
'avis_attention' => 'Mi c&#596; mi &#598;&eacute;',
'avis_champ_incorrect_type_objet' => 'nyik&#596;mas&#596;gbe@name@ nu kwin al&#596;kpa@type@',
'avis_colonne_inexistante' => 'Akpa a tin a ',
'avis_echec_syndication_01' => 'Mimam&#603; &#596; gbl&eacute; : y&egrave; m&#596; nu j&#603; backend wu a kabi m&agrave; s&#603; wekpa &#598;ebu doo',
'avis_echec_syndication_02' => 'Mimam&#603; &#596; gbl&eacute; : m&#603; d&eacute; siwu yi backend gblogbloji &eacute; l&#596; t&#596;n a ',
'avis_erreur' => 'af&#596;kikl&#603;n : mi kp&#596;n do',
'avis_erreur_connexion' => 'af&#596;kikl&#603;n do cacadom&#603;',
'avis_erreur_cookie' => '',
'avis_erreur_fonction_contexte' => 'af&#596;kikl&#603;n do titom&#603;. &#598;id&egrave; &eacute; l&#596; do na t&#596;n do akpa &eacute; l&#596; m&#603; a',
'avis_erreur_mysql' => 'af&#596;kikl&#603;n MySQL t&#596;n',
'avis_erreur_sauvegarde' => 'af&#596;kikl&#603;n do wiwlih&#603;n &#596; m&#603;(@type@ @id_objet@) !',
 
 
// B
'barre_a_accent_grave' => 'Mi z&eacute; w&egrave;kwin A bo xw&egrave; gbakun yi do na',
'barre_aide' => 'Mi zan w&eacute;kwin l&#603;&#770; bo n&aacute; &#598;o blo titom&#603; mit&#596;n &#598;o',
'barre_aide_rac' => '<NEW>Obter ajuda sobre as abrevia&ccedil;&otilde;es tipogr&aacute;ficas ',
'barre_e_accent_aigu' => 'mi ze w&eacute;kwin asi E d&eacute;m&#603;',
'barre_eo' => 'mi ze w&eacute;kwin asi E &#598;o l\'o',
'barre_eo_maj' => 'mi ze w&eacute;kwin asi E &#598;o lÂ’o daxo &#596; m&#603;',
'barre_euro' => 'mi ze w&eacute;kwin &eacute; l&#596; &euro; &#598;&eacute;m&#603; ',
'barre_gras' => 'mi ze &#598;o kpinkp&#603;nm&#603;',
'barre_guillemets' => 'mi ze &laquo; &#598;i&#598;&#596;t&#596; &raquo; s&#596; lil&#603; &#598;o',
'barre_guillemets_simples' => 'mi ze &laquo; &#598;i&#598;&#596;t&#596; &raquo; s&#596; lil&#603; &#598;o akpa w&egrave;g&#596;&#770; ji',
'barre_intertitre' => 'mi lil&#603; &#598;o {{{gb&egrave;ta t&#603;ntin}}}',
'barre_italic' => 'mi gban wiwlan kp&#603;&#598;&eacute;',
'barre_lien' => 'mi lil&#603; &#598;o [lien hypertexte->http://...]',
'barre_lien_input' => 'Mi &#598;o gesi nu gblogbloji mi t&#596;n ( mi siwu doxl&#603; at&#603; &#598;o http://www.gblogblojice/com alo mi na xl&#603; w&eacute;kpa &#598;okpo.',
'barre_note' => 'mi lil&#603; &#598;o[[Note de bas de page]]',
'barre_quote' => 'Mi xl&#603; w&#603;n &#598;okpo',
'bouton_ajouter_document' => 'Mi z&eacute; w&eacute;m&agrave; dokpo g&#596;na',
'bouton_ajouter_image' => 'Mi z&eacute; y&#603;wli &#598;o w&eacute;maji g&#596;na',
'bouton_changer' => '&#598;y&#596;&#770;',
'bouton_chercher' => 'B&agrave;',
'bouton_choisir' => 'Cy&aacute;n',
'bouton_enregistrer' => '<NEW>Enregistrer',
'bouton_radio_desactiver_messagerie_interne' => 'Mi jo wiwlanm&#603; &#598;o ',
'bouton_radio_envoi_annonces' => 'mi s&#603; gb&egrave;t&agrave;xojla do',
'bouton_radio_non_envoi_annonces' => 'mi s&#603; xojla do wo ',
'bouton_radio_non_envoi_liste_nouveautes' => 'mi ma pkl&eacute; xogb&egrave; y&#596;y&#596; l&#603;&#770; do ',
'bouton_recharger_page' => 'mi l&#603; v&#596; w&eacute;kpa e l&#596; ze',
'bouton_telecharger' => '&#598;&#596;n',
'bouton_valider' => 's&#596; k&#603;n na',
 
 
// C
'cal_apresmidi' => 'Hw&egrave;l&#603;k&#596;',
'cal_jour_entier' => 'Ak&aacute;n &#596; b&iacute;',
'cal_matin' => 'z&acirc;nzan',
'cal_par_jour' => 'T&igrave;t&oacute;m&#603; gb&egrave;&#598;&oacute;kp&oacute; &#598;&oacute;kp&oacute; t&#596;n',
'cal_par_mois' => 'T&igrave;t&oacute;m&#603; s&ugrave;n&#598;&oacute;kp&oacute; &#598;&oacute;kp&oacute; t&#596;n',
'cal_par_semaine' => 'T&igrave;t&oacute;m&#603; v&ograve;d&uacute;ngbl&aacute;m&#603;&#598;&oacute;kp&oacute; &#598;&oacute;kp&oacute; t&#596;n',
'confirm_changer_statut' => 'vl&#603; mi&#772; by&#596; &#598;&#596; &eacute; m&iacute; j&aacute;n &#598;y&#596; nu&#780; &eacute; l&#596;. M&igrave; &#598;&ograve; bib&agrave; &#598;&#596; az&#596; n&aacute; l&#603; v&#596; y&igrave; n&ugrave; k&#596;n a ',
 
 
// D
'date_aujourdhui' => '&eacute; gb&eacute;',
'date_avant_jc' => 'c&oacute; hw&#603; kp&oacute; J.C n&aacute; w&aacute;',
'date_dans' => 'do&#768;@gb&egrave; sis&#596;m&#603;@',
'date_de_mois_1' => '@j@ @nommois@',
'date_de_mois_10' => '@az&aacute;n@ @ s&ugrave;n ny&iacute;k&#596;',
'date_de_mois_11' => '@j@ @nommois@',
'date_de_mois_12' => '@az&aacute;n@ @ s&ugrave;n ny&iacute;k&#596;',
'date_de_mois_2' => '@j@ @nommois@',
'date_de_mois_3' => '@j@ @nommois@',
'date_de_mois_4' => '@j@ @nommois@',
'date_de_mois_5' => '@j@ @nommois@',
'date_de_mois_6' => '@j@ @nommois@',
'date_de_mois_7' => '@j@ @nommois@',
'date_de_mois_8' => '@j@ @nommois@',
'date_de_mois_9' => '@j@ @nommois@',
'date_demain' => 's&#596;&#772;',
'date_fmt_heures_minutes' => '@h@h@m@min',
'date_fmt_jour_heure' => '@jour@ &agrave; @heure@',
'date_fmt_jour_mois' => '@jour@ @nommois@',
'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@',
'date_fmt_mois_annee' => '@ s&ugrave;n ny&iacute;k&#596;@xw&egrave;@',
'date_fmt_nomjour_date' => 'le @nomjour@ @date@',
'date_heures' => 'G&agrave;n l&#603; m&#603;',
'date_hier' => 'S&#596;&#772; &egrave; w&aacute; y&iacute; &#596; ',
'date_il_y_a' => 'il y a @delai@',
'date_jnum1' => 'N&ugrave;k&#596;n n&ugrave;k&#596;n t&#596;n &#596; ',
'date_jnum10' => 'Wo&#780;',
'date_jnum11' => 'wo&#770; &#598;&ograve;kp&oacute;',
'date_jnum12' => 'we&#780;w&eacute;',
'date_jnum13' => 'wa&#780;t&#596;n ',
'date_jnum14' => 'w&#603;n&#603;',
'date_jnum15' => 'af&#596;t&#596;n ',
'date_jnum16' => 'af&#596;t&#596;n n&ugrave;k&uacute;n &#598;&oacute;kp&oacute;',
'date_jnum17' => 'af&#596;t&#596;n n&ugrave;k&uacute;n w&egrave;',
'date_jnum18' => 'af&#596;t&#596;n n&ugrave;k&uacute;n at&#596;n',
'date_jnum19' => 'af&#596;t&#596;n n&ugrave;k&uacute;n &#603;n&#603;',
'date_jnum2' => 'w&egrave;',
'date_jnum20' => 'k&ograve;',
'date_jnum21' => 'ko n&ugrave;k&uacute;n &#598;&oacute;kp&oacute;',
'date_jnum22' => 'ko n&ugrave;k&uacute;n w&egrave;',
'date_jnum23' => 'ko n&ugrave;k&uacute;n at&#596;n',
'date_jnum24' => 'ko n&ugrave;k&uacute;n n&#603;',
'date_jnum25' => 'ko n&ugrave;k&uacute;n &agrave;t&#596;&#770;n',
'date_jnum26' => 'ko n&ugrave;k&uacute;n &agrave;yz&#603;n ',
'date_jnum27' => 'ko n&ugrave;k&uacute;n t&#603;nw&egrave;',
'date_jnum28' => 'ko n&ugrave;k&uacute;n t&aacute;nt&#596;n',
'date_jnum29' => 'ko n&ugrave;k&uacute;n t&#603;nn&#603;',
'date_jnum3' => 'At&#596;n',
'date_jnum30' => 'gb&agrave;n',
'date_jnum31' => 'gb&agrave;n n&ugrave;k&uacute;n &#598;&oacute;kp&oacute;',
'date_jnum4' => '&#603;&#772;n&#603;',
'date_jnum5' => '&agrave;t&#596;&#770;n',
'date_jnum6' => '&agrave;y&iacute;z&#603;n ',
'date_jnum7' => 't&#603;nw&egrave;',
'date_jnum8' => 't&aacute;nt&#596;n',
'date_jnum9' => 't&#603;nn&#603;',
'date_jour_1' => 'vodunzangb&egrave;',
'date_jour_2' => 't&#603;nigb&egrave;',
'date_jour_3' => 't&acirc;t&agrave;gb&egrave;',
'date_jour_4' => 'azangagb&egrave;',
'date_jour_5' => 'ny&#596;n&uacute;z&aacute;ngb&egrave;',
'date_jour_6' => 'axo&#769;zangb&egrave;',
'date_jour_7' => 's&iacute;&#598;&iacute;gb&egrave;',
'date_jours' => 'azan l&#603;&#770;',
'date_minutes' => 'c&#603;j&uacute;m&#603; ',
'date_mois' => 's&ugrave;n',
'date_mois_1' => 'Alu&#780;unsun',
'date_mois_10' => 'K&#596;nyasun',
'date_mois_11' => 'Ab&#596;xw&iacute;sun',
'date_mois_12' => 'Wo&#780;osun',
'date_mois_2' => 'Zof&iacute;nkpl&#596;sun',
'date_mois_3' => 'xw&egrave;j&iacute;sun ',
'date_mois_4' => 'Lid&oacute;sun',
'date_mois_5' => 'Nu&#780;xwasun',
'date_mois_6' => 'Ayid&oacute;sun',
'date_mois_7' => 'Liyasun',
'date_mois_8' => 'Avuv&#596;sun',
'date_mois_9' => 'Zo&#780;sun',
'date_saison_1' => 'av&igrave;v&#596; hw&egrave;n&uacute;',
'date_saison_2' => 'pl&#603;nt&acirc;n',
'date_saison_3' => 'hw&egrave;s&iacute;v&#596; hw&egrave;n&uacute;',
'date_saison_4' => 'ot&#596;m&ugrave;',
'date_semaines' => 'Vod&uacute;ngbl&aacute;&#598;&ograve;kp&oacute;m&#603; ',
'dirs_commencer' => 'b&oacute; n&uacute; mi&#772; n&aacute; &#598;&oacute; b&#603; af&#596; &#598;&oacute; t&egrave; ji &#596; ',
'dirs_preliminaire' => 'bib&#603;m&#603; &#596; : mi&#772; by&#596; gb&egrave; hw&#603;',
'dirs_probleme_droits' => 'X&oacute; &#598;&ograve; ac&#603; y&iacute;y&iacute; w&uacute;',
'dirs_repertoires_absents' => 'Mi&#772; m&#596; &#598;i&#768;&#598;&egrave;m&#603; &eacute; l&#603; &aacute;E siw&uacute; ny&iacute; &#598;&#596; w&egrave;kw&iacute;n &#598;&aacute;x&oacute; kp&oacute;do kp&#603;vi y&eacute; m&agrave; wlan ganji &agrave; w&#603; z&#596;nmi&#772; kp&#596;n &#598;&#596; w&egrave;kw&iacute;n &#598;&aacute;x&oacute; kp&oacute;do kp&#603;vi &eacute; lo &#598;i&#768;&#598;&egrave;m&#603; &#596; &eacute; s&#596;gb&egrave; kp&oacute; &eacute; xl&#603; &agrave;n&uacute; &eacute; m&aacute; ny&iacute; m&#596; a mi&#772; l&#603; n&aacute; nyik&#596; FTP &#596; b&oacute; g&#596;n af&#596; kl&#603;nmi&#772; k&ograve; bl&oacute; &eacute; n&#603; fo &#596;',
'dirs_repertoires_suivants' => 'y&eacute; siw&uacute; wl&aacute;n n&uacute; &#598;&oacute; &#598;i&#768;&#598;&egrave;m&#603; &eacute; l&#596; l&#603; &aacute;n&uacute; &eacute; n&aacute; &#598;&oacute; kp&#596;n t&eacute; &#596;, mi&#772; z&eacute; FTP b&ograve; n&aacute; X&oacute; &#598;&ograve; ac&#603; m&#603;&#598;&oacute;kp&oacute; &#598;&oacute;kp&oacute; t&#596;n &#598;&oacute; &#598;i&#768;&#598;&egrave;m&#603;mi&#772; tim&#603; af&#596; &#598;i&#768;&#598;&egrave; &#596; &#598;&oacute; ',
 
 
// E
'entree_dimensions' => 'jl&#603;jl&#603;',
'entree_titre_document' => 'we&#780;m&aacute; x&oacute;t&aacute; ',
'entree_titre_image' => 'tit&aacute; x&oacute;t&aacute;',
'envoi_via_le_site' => 'mi&#772; s&#603; gb&#596;n gbl&ograve;gbl&oacute;j&iacute; &#596; j&igrave;',
 
 
// F
'fichier_introuvable' => '<NEW>Fichier @fichier@ introuvable',
'form_deja_inscrit' => 'mi&#772; k&ograve; n&aacute; ny&igrave;k&#596; ',
'form_email_non_valide' => 'e-mail&ugrave; mi&#772; t&#596;n &#596; s&#596; gb&egrave; &aacute;',
'form_forum_access_refuse' => 'mi&#772; s&#596; si&#780;wu y&igrave; gblogblo &eacute; l&#596; j&iacute; &aacute;',
'form_forum_bonjour' => 'mi&#772; f&#596;n &aacute;n @nom@,',
'form_forum_email_deja_enregistre' => 'ges&iacute; &eacute; l&#596; k&oacute; s&#596; gb&egrave;, mi&#772; si&#780;wu z&aacute;n c&aacute;v&igrave; mi&#772; t&#596;n ',
'form_forum_identifiant_mail' => 'e-mail&ugrave; &#598;&ograve;kp&oacute; k&oacute; s&#603; &#598;&eacute;xl&#603; mi&#768; t&#596;n &#598;&oacute;',
'form_forum_identifiants' => '&#598;&eacute;xl&#603; mi&#768; t&#596;n ',
'form_forum_indiquer_nom_email' => 'mi&#772; s&#603; ny&igrave;k&#596; m&igrave; t&#596;n kp&ograve;&#598;&oacute; e-mail&ugrave; s&#603; &#598;&oacute;. mi&#772; n&aacute; s&#603; &#598;&eacute;xl&#603; mi&#768; t&#596;n s&#603; &#598;&oacute; az&#596;n &#598;&ograve;kp&oacute; gb&#596;n e-mail&ugrave; j&iacute;',
'form_forum_login' => 'ny&igrave;k&#596;',
'form_forum_message_auto' => '&eacute; l&#596; &#596; w&#603;n c&agrave;c&agrave; w&#603;',
'form_forum_pass' => 'c&aacute;v&igrave; :',
'form_forum_probleme_mail' => 'X&oacute; &#598;&ograve; e-mail&ugrave; &#596; w&uacute; : vl&agrave;v&ograve; &#596; &#598;&eacute;xl&#603; y&igrave; &aacute;',
'form_forum_voici1' => '&#598;&eacute;xl&#603; mi&#768; t&#596;n l&#603; m&igrave; by&#596; gblogbloj&iacute; @ny&igrave;k&#596;_gblogbloj&iacute;_supipu@ ‘’ges&iacute;_gblogbloj&iacute;@',
'form_forum_voici2' => '&#598;&eacute;xl&#603; mi&#768; t&#596;n l&#603; m&igrave; n&aacute; &#598;&oacute; wl w&egrave;kp&aacute; &#598;&oacute; gblogbloj&iacute; @ny&igrave;k&#596;_gblogbloj&iacute;_supipu@ ‘’ges&iacute;_gblogbloj&iacute;@',
'form_indiquer_email' => 'mi&#772; k&#603;nkl&#603;n b&oacute; n&aacute; g&egrave;s&iacute; kp&oacute; e-mail&ugrave; kp&oacute;',
'form_indiquer_nom' => 'mi&#772; n&aacute; ny&igrave;k&#596; m&iacute; t&#596;n ',
'form_indiquer_nom_site' => 'mi&#772; n&aacute; gblogbloj&iacute; m&iacute; t&#596;n s&iacute;n ny&igrave;k&#596; ',
'form_pet_adresse_site' => 'g&egrave;s&iacute; gblogbloj&iacute; m&iacute; t&#596;n t&#596;n',
'form_pet_aucune_signature' => '&agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; &#598;&eacute; j&#603; h&aacute; gb&egrave;t&#603;n &eacute; l&#596; &aacute;',
'form_pet_confirmation' => 'mi&#772; t&#603; &#598;&#603; &agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; mi&#772; t&#596;n j&iacute; :',
'form_pet_deja_enregistre' => 'mi&#772; k&oacute; wl&iacute; gblogbloj&iacute; &eacute; l&#596; h&#603;n ',
'form_pet_deja_signe' => 'mi&#772; k&oacute; &#598;&aacute;l&#596; we&#780;m&aacute; &eacute; l&#596; m&#603;',
'form_pet_envoi_mail_confirmation' => 'mi&#772; k&oacute; s&#603; e-mail&ugrave; &#598;&oacute; m&iacute;. mi&#772; kp&#596;n g&egrave;s&iacute; w&#603;b&ugrave; &#596; t&#596;n &eacute; l&ograve; e-mail&ugrave; &#596; m&#603; &#596; b&oacute; s&#596; h&#603;n n&uacute; &agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; mi&#772; t&#596;n',
'form_pet_mail_confirmation' => 'mi&#772; f&#596;n &aacute;',
'form_pet_message_commentaire' => 'w&#603;n, t&#603; x&oacute;j&iacute;?',
'form_pet_nom_site2' => 'ny&igrave;k&#596; gblogbloj&iacute; &#596; t&#596;n ',
'form_pet_probleme_technique' => 'mi&#772; &#598;&oacute; &agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; t&egrave; hw&#603;',
'form_pet_signature_pasprise' => 'mi&#772; k&oacute; y&iacute;gb&egrave; n&uacute; &agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; mi&#772; t&#596;n &aacute;',
'form_pet_signature_validee' => 'mi&#772; s&#596; k&#603;n n&uacute; &agrave;l&#596;&#598;&oacute;we&#780;m&aacute;m&#603; mi&#772; t&#596;n, mi&#772; k&uacute; &#598;&eacute; wu ',
'form_pet_site_deja_enregistre' => 'mi&#772; k&oacute; wl&iacute; gblogbloj&iacute; &eacute; l&#596; h&#603;n ',
'form_pet_url_invalide' => 'mi&#772; si&#780;wu s&#596; k&#603;n n&uacute; &agrave;l&igrave; mi&#772; t&#596;n &aacute;',
'form_pet_votre_email' => 'e-mail&ugrave; mi&#772; t&#596;n ',
'form_pet_votre_nom' => 's&ugrave;s&ugrave;ny&igrave;k&#596; mi&#772; t&#596;n ',
'form_pet_votre_site' => 'N&uacute; mi&#772; &#598;&oacute; gblogbloj&iacute; &#598;&eacute; &#596;, mi&#772; s&#596; xl&#603; &#598;&ograve; f&iacute;',
'form_prop_confirmer_envoi' => 'mi&#772; k&ograve; s&#603; &#598;&oacute; h&uacute;n, mi&#772; l&#603; v&#596; &#598;&#596; n&uacute; m&iacute;',
'form_prop_description' => '&#598;&igrave;&#598;&egrave;xl&#603;/ x&oacute;v&aacute;nk&aacute;n',
'form_prop_enregistre' => 'X&oacute;gb&egrave; mi&#772; t&#596;n k&oacute; ny&iacute; wiwl&iacute;h&#603;nt&#596;, n&uacute; gblogblo &#596; j&iacute; s&iacute;n g&aacute;n l&#603; s&#596; k&#603;n n&iacute; &#596;, &eacute; n&aacute; t&#596;n t&agrave; ',
'form_prop_envoyer' => 's&#603; w&#603;n &#598;&ograve;kp&oacute; &#598;&oacute;',
'form_prop_indiquer_email' => 'b&oacute; na e-mail&ugrave; &#598;&aacute;gb&eacute;',
'form_prop_indiquer_nom_site' => 'M&igrave; gblogblo &#596; j&iacute; s&iacute;n ny&iacute;k&#596;.',
'form_prop_indiquer_sujet' => 'm&igrave; xl&#603; x&oacute;gb&egrave; &#596; ',
'form_prop_message_envoye' => 'w&#603;n &#596; y&iacute;',
'form_prop_nom_site' => 'gblogbloj&iacute; ny&iacute;k&#596;',
'form_prop_non_enregistre' => 'E siw&uacute; wl&iacute; X&oacute;gb&egrave; m&igrave; t&#596;n h&#603;n &aacute;',
'form_prop_sujet' => 'X&oacute;gb&egrave;',
'form_prop_url_site' => 'n&#596;t&#603;n (URLU) gblogbloj&iacute; &#596; t&#596;n',
'forum_acces_refuse' => 'M&igrave; s&#596; s&iacute;w&uacute; by&#596; Kp&eacute;kp&eacute; &#596; m&#603; &aacute;.',
'forum_attention_dix_caracteres' => '<MODIF>vl&#603; ! w&eacute;kw&iacute;n &eacute; wl&aacute;n w&#603;n m&iacute; t&#596;n &eacute; s&ugrave; w&oacute; &aacute;.',
'forum_attention_trois_caracteres' => '<MODIF>vl&#603; ! w&eacute;kw&iacute;n &eacute; wl&aacute;n x&oacute;ta m&iacute; t&#596;n &eacute; kp&eacute; &agrave;t&#596;n &aacute;.',
'forum_avez_selectionne' => 'm&igrave; c&iacute;an:',
'forum_cliquer_retour' => 'M&igrave; z&iacute;n @l&#603;k&#596;kpl&eacute;kpl&eacute;@ m&igrave; y&igrave;',
'forum_forum' => 'kpl&eacute;klp&eacute;',
'forum_info_modere' => 'Kpl&eacute;klp&eacute; &eacute; l&#596; &#598;&oacute; jl&#603;&#598;&#596;t&#596;, n&uacute; y&eacute; s&#596; k&#603;n n&uacute; x&ograve;gb&egrave; m&igrave; t&#596;n f&oacute; &#596;, &eacute; n&aacute; t&#596;n t&agrave; .',
'forum_lien_hyper' => 'c&aacute;c&aacute;d&oacute;',
'forum_message_definitif' => 'w&#603;n g&ugrave;&#598;&oacute;g&ugrave;&#598;&oacute; t&#596;n, s&#603;&#598;&oacute; gblogblo &#596; j&iacute;',
'forum_message_trop_long' => 'w&#603;n m&igrave; t&#596;n &#598;&igrave;ga &#598;&iacute;n. kp&igrave;nkp&#603;n t&#596;n &#598;&oacute; n&aacute; z&#603; we&#780;kwin c&agrave;k&igrave;k&ograve; w&uacute; &aacute; ',
'forum_ne_repondez_pas' => 'm&igrave; m&agrave; y&iacute;gb&egrave; n&uacute; e-mail&ugrave; &eacute; l&#596; &oacute;, &agrave;m&#596; &#598;&ograve; kpl&eacute;kpl&eacute; &#596; m&#603; &#596; m&igrave; kp&#596;n n&#596;t&#603;n &eacute; l&#596; ',
'forum_non_inscrit' => 'm&igrave; n&aacute; ny&iacute;k&#596; , k&agrave;b&iacute; n&#596;t&#603;n, c&aacute;v&igrave; l&#603; ny&#596; &aacute;.',
'forum_page_url' => '(n&uacute; &eacute; ny&iacute; &#598;&#596; w&#603;n m&igrave; t&#596;n t&#603;&#598;&oacute; w&eacute;kp&aacute; &eacute; xl&#603; &#598;&ograve; &agrave;t&#603; &#596; j&iacute; &#596;, k&agrave;b&iacute; we&#780;m&aacute; &eacute; n&#596; xl&#603; x&oacute; gege &#596;, m&igrave; s&igrave;w&uacute; &#598;&egrave; x&oacute;t&aacute; &agrave;l&oacute; n&#596;t&#603;n we&#780;kp&aacute; t&#596;n &#598;&ograve; f&iacute;.)',
'forum_par_auteur' => '@ny&#596;wl&aacute;nt&#596; &#598;&oacute;kp&oacute;&#598;&oacute;kp&oacute;@',
'forum_poste_par' => '@ny&#596;wl&aacute;nt&#596; &#598;&oacute;kp&oacute;&#598;&oacute;kp&oacute; s&#603; w&#603;n &#598;&oacute;@gb&egrave;t&aacute;k&#603;nx&ograve;kpl&eacute; &#596; gb&agrave;f&#596;, y&egrave; s&igrave;w&uacute; wl&iacute; w&#603;n m&igrave; t&#596;n h&#603;n &aacute;',
'forum_probleme_database' => 'gb&egrave;t&aacute;k&#603;nx&ograve;kpl&eacute; &#596; gb&agrave;f&#596;, y&egrave; s&igrave;w&uacute; wl&iacute; w&#603;n m&igrave; t&#596;n h&#603;n &aacute;',
'forum_qui_etes_vous' => 'm&#603;c&eacute; k&aacute; &#598;y&egrave;',
'forum_texte' => 'x&oacute; &eacute; &#598;&ograve; w&#603;n &#596; m&#603; &#596; :',
'forum_titre' => 'x&oacute;t&aacute; :',
'forum_titre_erreur' => 'm&igrave; kl&#603;n &agrave;f&#596;',
'forum_url' => 'URLU:',
'forum_valider' => 's&#596; k&#603;&#331; n&aacute; n&ugrave; &egrave; m&igrave; cy&aacute;n &eacute;',
'forum_voir_avant' => 'mi&#769; kp&#596;n w&#603;n &eacute; l&#596; c&oacute; b&oacute; s&#603;&#598;&oacute;',
'forum_votre_email' => 'e-mail&ugrave; mi t&#596;n :',
'forum_votre_nom' => 'ny&igrave;k&#596; mi t&#596;n :',
'forum_vous_enregistrer' => 'n&uacute; mi n&aacute; &#598;&oacute; by&#596; kpl&eacute;kpl&eacute; &eacute; l&#596; m&#603; &#596;, mi &#598;&oacute; n&aacute; n&aacute; ny&igrave;k&#596; t&#596;n hw&#603;. Mi z&eacute; s&ugrave;ny&iacute;k&#596; mi t&#596;n z&eacute; xl&#603;. N&uacute; mi m&agrave; k&ograve; ny&igrave;k&#596; &aacute;, mi &#598;&oacute; n&aacute;',
'forum_vous_inscrire' => 'mi &#598;&oacute; n&aacute; n&aacute; ny&igrave;k&#596; .',
 
 
// I
'ical_texte_rss_articles' => 'X&oacute;t&aacute; &laquo; backend &raquo; we&#780;kpblogbloj&iacute; &eacute; l&#596; t&#596;n &#598;&#596; n&#596;t&#603;n :',
'ical_texte_rss_articles2' => 'Mi h&#603;n &#596; mi s&iacute;w&uacute; y&iacute; X&oacute;t&aacute; &laquo; backend &raquo; n&uacute; we&#780;m&agrave; &aacute;kp&aacute;xw&eacute; gblogbloj&iacute; &#596; t&#596;n:',
'ical_texte_rss_breves' => 'X&oacute;t&aacute; &#598;&eacute; &#598;&egrave; b&oacute; h&#603;n x&oacute; kl&eacute;w&uacute;n &#598;&eacute; l&#603;. N&uacute; mi &#598;&#596; num&#603;l&oacute; &aacute;kp&aacute;xw&eacute; &#596; t&#596;n, mi n&aacute; m&#596; x&ograve;gb&egrave; kl&eacute;w&uacute;n &aacute;kp&aacute;xw&eacute; &eacute;n&#603; &#596; t&#596;n.',
'icone_a_suivre' => 'B&#596;&#598;&eacute;w&uacute;',
'icone_admin_site' => 'Gblogboj&iacute; s&iacute;n t&igrave;t&ograve;',
'icone_agenda' => 'W&egrave;gb&oacute;',
'icone_aide_ligne' => '&agrave;l&#596;d&oacute;',
'icone_articles' => 'we&#780;kp&aacute;',
'icone_auteurs' => 'ny&#596;wl&aacute;nt&#596;',
'icone_breves' => 'x&oacute; kl&eacute;w&uacute;n ',
'icone_brouteur' => 'num&#603;k&eacute;j&eacute; c&agrave;c&agrave;',
'icone_calendrier_messagerie' => '<NEW>Agenda e correio',
'icone_configuration_site' => 'T&igrave;t&ograve;m&#603;',
'icone_configurer_site' => 'Mi t&ograve; gblogbloj&iacute; &#596;',
'icone_creer_mot_cle' => 'Mi z&eacute; ny&#596;wl&aacute;nt&#596; y&#596;y&#596; d&eacute;v&oacute; t&#596;n b&oacute; c&aacute;&#598;&oacute; we&#780;kp&aacute;',
'icone_creer_nouvel_auteur' => 'Mi &#598;&egrave; ny&#596;wl&aacute;nt&#596; d&eacute;v&oacute; t&#596;n',
'icone_creer_rubrique' => 'Mi &#598;&egrave; &agrave;kp&aacute;xw&eacute; d&eacute;v&oacute; t&#596;n',
'icone_creer_sous_rubrique' => 'Mi &#598;&egrave; &agrave;kp&aacute;xw&eacute; d&eacute;v&oacute; t&#596;n',
'icone_deconnecter' => 'E G&oacute;s&iacute;n k&agrave;nn&uacute;',
'icone_discussions' => 'X&oacute;k&iacute;j&aacute;k&igrave;j&agrave;',
'icone_doc_rubrique' => 'We&#780;m&agrave; &agrave;kp&aacute;xw&eacute;',
'icone_ecrire_article' => 'Wl&aacute;n w&eacute;kp&aacute; d&eacute;v&oacute;',
'icone_edition_site' => 'W&egrave;gb&oacute;',
'icone_forum_administrateur' => 'kp&eacute;kp&eacute; g&aacute;n l&#603; t&#596;n',
'icone_forum_suivi' => '&agrave;gun c&iacute;c&#596;',
'icone_forums_petitions' => '<NEW>F&oacute;runs e peti&ccedil;&otilde;es',
'icone_gestion_langues' => 't&igrave;t&ograve;m&#603; gb&egrave; l&#603; t&#596;n ',
'icone_informations_personnelles' => 'x&oacute;gb&egrave; mi t&#596;n',
'icone_interface_complet' => '&agrave;t&#603; &#596; b&iacute;',
'icone_interface_simple' => 'y&egrave; &#598;&egrave; x&oacute;gb&egrave; kp&ograve; &#598;&ograve; &agrave;t&#603; &#596; j&iacute;',
'icone_maintenance_site' => 'T&igrave;t&ograve;m&#603; gblogbloj&iacute; &#596; t&#596;n ',
'icone_messagerie_personnelle' => 'w&#603;ngb&aacute;v&iacute; mi t&#596;n',
'icone_mots_cles' => 'gb&egrave;t&aacute;k&#603;n',
'icone_nouvelle_breve' => 'mi v&#596; x&oacute; kl&eacute;w&uacute;n &#598;e&#770;v&oacute; wl&aacute;n',
'icone_repartition_actuelle' => 'mi s&#596; &#598;&igrave;&#598;&egrave;m&#603; l&#603; xl&#603;',
'icone_repartition_debut' => 'mi s&#596; &#598;&igrave;&#598;&egrave;m&#603; l&#603; xl&#603; s&iacute;n b&igrave;b&#603;m&#603;',
'icone_repartition_visites' => 't&igrave;t&ograve;m&#603; j&oacute;n&#596; b&igrave;b&agrave; t&#596;n l&#603;',
'icone_rubriques' => '&agrave;kp&aacute;xw&eacute;',
'icone_sauver_site' => 'wl&iacute; gblogbloj&iacute; &#596; h&#603;n',
'icone_site_entier' => 'gblogbloj&iacute; &#596; b&iacute;',
'icone_sites_references' => 'gblogbloj&iacute; y&egrave; t&ograve;',
'icone_statistiques' => '&agrave;k&#596;&#331;t&aacute; gblogbloj&iacute; &#596; t&#596;n ',
'icone_statistiques_visites' => '&agrave;k&#596;&#331;t&aacute; ',
'icone_suivi_activite' => 'mi n&#596; n&ugrave;k&#596;n y&igrave;y&igrave; gblogbloj&iacute; &#596; t&#596;n',
'icone_suivi_actualite' => ' n&ugrave;k&#596;n y&igrave;y&igrave; gblogbloj&iacute; &#596; t&#596;n',
'icone_suivi_forums' => 'c&#596;/t&igrave;t&ograve; klp&eacute;kpl&eacute; &#596; t&#596;n ',
'icone_suivi_pettions' => 'c&#596;/t&ograve; x&oacute;j&iacute;jl&aacute; l&#603;',
'icone_suivi_revisions' => ' &#598;&igrave;&#598;y&#596; w&eacute;kp&aacute; l&#603; t&#596;n',
'icone_supprimer_document' => 'gb&igrave;&#598;&iacute; we&#780;m&agrave; &#596; ',
'icone_supprimer_image' => ' gb&igrave;&#598;&iacute; n&uacute; t&iacute;t&#603; &eacute; l&#596;',
'icone_supprimer_message' => 'gb&igrave;&#598;&iacute; w&#603;n &eacute; l&#596;',
'icone_tous_articles' => 'we&#780;kp&aacute; l&#603; b&iacute;',
'icone_tous_auteur' => 'ny&#596;wl&aacute;nt&#596; l&#603; b&iacute;',
'icone_valider_message' => 's&#596; k&#603;n n&uacute; w&#603;n &eacute; l&#596;',
'icone_visiter_site' => 'J&oacute;n&#596;',
'icone_voir_en_ligne' => 'Mi kp&#596;n &#598;&ograve; &agrave;t&#603; &#596; j&iacute; ',
'image_tourner_180' => 'l&igrave;l&#603;l&iacute;l&#603; 180&deg;',
'image_tourner_droite' => 'l&igrave;l&#603;l&iacute;l&#603; 90&deg; y&igrave; &agrave;&#598;&ugrave;s&iacute;m&#603; ',
'image_tourner_gauche' => 'l&igrave;l&#603;l&iacute;l&#603; 90&deg; y&igrave; &agrave;my&#596;m&#603;',
'img_indisponible' => 'Y&#603; &#598;&eacute;b&uacute; &#598;&ograve; &agrave;t&#603; &#596; j&iacute; a',
'info_a_suivre' => 'mi n&aacute; kp&#596;n',
'info_a_valider' => '[s&#596; k&#603;n n&aacute;]',
'info_acces_interdit' => 'y&eacute; n&aacute; gb&egrave; &aacute;',
'info_acces_refuse' => 'y&eacute; n&aacute; gb&egrave; &aacute;',
'info_action' => '&agrave;z&#596;',
'info_administrer_rubriques' => 't&igrave;t&ograve;t&#596; &eacute; l&#596; n&#596; bl&oacute; &agrave;kp&aacute;xw&eacute; &eacute; l&#596; l&#603; &#598;&oacute;',
'info_adresse_non_indiquee' => 'mi d&oacute; ges&iacute; &aacute;!',
'info_aide' => '&agrave;l&#596;d&oacute; :',
'info_ajouter_mot' => 'mi g&#596; x&oacute;kw&iacute;n d&oacute;kp&oacute; n&aacute;',
'info_annonce' => 'x&oacute;j&iacute;jl&aacute;',
'info_annonces_generales' => 'x&oacute;j&iacute;jl&aacute; kpa:',
'info_article_propose' => 'we&#780;kp&aacute; s&#596; &#598;&aacute;y&igrave;',
'info_article_publie' => 's&#596; we&#780;kp&aacute; &#596; xl&#603;',
'info_article_redaction' => 'y&egrave; kp&ograve; &#598;&ograve; we&#780;m&agrave; &#596; wl&aacute;n w&#603;',
'info_article_refuse' => 'y&egrave; s&#596; k&#603;n n&uacute; we&#780;ma&#770;',
'info_article_supprime' => 'gb&igrave;&#598;&iacute; we&#780;ma&#770;',
'info_articles' => 'we&#780;ma&#770;',
'info_articles_a_valider' => ' s&#596; k&#603;n n&uacute; we&#780;m&agrave;',
'info_articles_proposes' => 'we&#780;kp&aacute; s&#596; &#598;&aacute;y&igrave;',
'info_auteurs_nombre' => 'Ny&#596;wl&aacute;nt&#596; (l&#603;&#770;):',
'info_authentification_ftp' => 'Ac&#603; y&iacute;y&iacute; (FTP).',
'info_bloquer_lien' => 'mi j&aacute;n c&aacute;c&aacute;d&oacute; &eacute; l&#596;',
'info_breves_02' => 'x&oacute; kl&eacute;w&uacute;n l&#603;',
'info_breves_2' => 'x&oacute; kl&eacute;w&uacute;n l&#603;',
'info_breves_valider' => 'x&oacute; kl&eacute;w&uacute;n e&#770; n&agrave; s&#596;k&#603;n&aacute;',
'info_connexion_refusee' => 'c&aacute;c&aacute;&#598;&oacute; &#596; s&#596;gb&egrave; &aacute;',
'info_contact_developpeur' => 'mi s&#596; &agrave;l&#596; t&igrave;t&ograve;t&#596; &#596;.',
'info_contenance' => 'gblogbloj&iacute; &eacute;l&#596; &#598;&oacute;:',
'info_contribution' => '&agrave;l&#596;&#598;&oacute; kpl&eacute;kpl&eacute; &#596; t&#596;n ',
'info_copyright' => '@spip@ Az&#596;w&agrave;n&uacute;m&#603;&#598;&eacute;m&aacute;kp&agrave;c&#603;n&aacute; @lien_gpl@',
'info_copyright_doc' => 'n&uacute; mi n&aacute; l&#603; &#598;&oacute; m&#596; x&oacute; d&eacute;v&oacute; l&#603; &#596; mi y&igrave; gblogblo &eacute; l&#596; j&iacute;',
'info_copyright_gpl' => '&#393;&ograve; Gb&egrave;n&iacute;n&aacute; GPL t&#596;n m&#603;',
'info_cours_edition' => 'mi kp&oacute; &#598;&ograve; w&eacute;kp&aacute; l&#603; wl&aacute;n w&#603; ',
'info_creer_repertoire' => 'mi k&#603;nkl&#603;n b&oacute; gb&egrave;t&agrave;x&oacute;kpl&eacute; b&oacute; n&aacute; ny&iacute;k&#596; &#603;:',
'info_creer_repertoire_2' => '&agrave;kp&aacute;xw&eacute;',
'info_creer_vignette' => 'Kun&#598;&eacute;w&eacute;m&aacute; c&agrave;ca',
'info_deplier' => 'mi vl&#596;n',
'info_descriptif_nombre' => '&#598;&igrave;&#598;&egrave;m&#603;:',
'info_description' => '&#598;&igrave;&#598;&egrave;m&#603;:',
'info_description_2' => '&#598;&igrave;&#598;&egrave;m&#603;:',
'info_dimension' => '&#598;&igrave;&#598;&egrave;m&#603;:',
'info_document' => 'w&eacute;m&agrave;',
'info_documents' => 'W&ecirc;m&agrave; l&#603;',
'info_echange_message' => 'x&oacute; kp&oacute; &#598;&ograve; y&igrave;y&igrave; w&#603;',
'info_ecire_message_prive' => 'wl&aacute;n w&#603;n n&uacute; m&#603; &#598;e&#770;',
'info_email_invalide' => 'y&eacute; s&#596; k&#603;n n&aacute; e-mail&ugrave; &eacute; l&#596; &aacute;.',
'info_en_cours_validation' => 'mi kp&oacute; &#598;&ograve; w&eacute;kp&aacute; l&#603; wl&aacute;n w&#603; tion',
'info_en_ligne' => '&eacute; l&ograve; k&agrave;nj&iacute; &#598;&igrave;n :',
'info_envoyer_message_prive' => 'mi s&#603; w&#603;n &#598;&oacute; m&#603; &#596; &#598;&eacute; s&uacute;',
'info_erreur_requete' => 'mi kl&#603;n &agrave;f&#596; &#598;&ograve; by&#596;n&aacute; &#596; m&#603; :',
'info_erreur_squelette2' => 'T&igrave;t&ograve;m&#603; &#598;&eacute;b&uacute; &#598;&egrave; &aacute;',
'info_erreur_systeme' => 'w&agrave;l&#596;&#770; j&agrave;y&iacute;)',
'info_erreur_systeme2' => 'm&#596;&#770; k&uacute;',
'info_fini' => 'E v&#596;!',
'info_format_image' => 'N&uacute; t&iacute;t&#603; l&#603; &#598;e&#770; ye&#772; z&eacute; bl&oacute; gb&egrave;t&aacute;k&#603;n n&aacute;@.',
'info_format_non_defini' => '&#598;&egrave;xl&#603; &#596; s&#596; gb&egrave; &aacute;',
'info_grand_ecran' => 'At&#603; &#598;&agrave;x&oacute;',
'info_image_aide' => 'Al&#596;d&oacute;',
'info_image_process_titre' => 'Mi cy&aacute;n w&agrave;l&#596; &#598;&agrave;gb&egrave; l&#603;',
'info_impossible_lire_page' => 'W&eacute;m&agrave; &#596; gbl&eacute;',
'info_inclusion_directe' => 'W&eacute;m&agrave; &#596; gbl&eacute;:',
'info_inclusion_vignette' => 'W&eacute;m&agrave; &#596; gbl&eacute;:',
'info_installation_systeme_publication' => 'ny&iacute;k&#596;n&iacute;n&aacute; ny&#596;wl&aacute;nt&#596; l&#603; t&#596;n...',
'info_installer_documents' => 'mi s&#596; w&eacute;m&agrave; l&#603; s&#603;&#598;&oacute; c&agrave;c&agrave;.',
'info_installer_ftp' => 'mi s&#596; w&eacute;m&agrave; l&#603; s&#603;&#598;&oacute; c&agrave;c&agrave;',
'info_installer_images' => 'mi s&iacute;w&uacute; s&#596; &#598;&igrave;d&egrave; l&#603; d&oacute; JPEG, GIF et PNG.',
'info_installer_images_dossier' => 'mi s&iacute;w&uacute; s&#596; &#598;&igrave;d&egrave; l&#603; d&oacute;.',
'info_installer_tous_documents' => 'mi s&#596; w&eacute;m&agrave; l&#603; b&iacute;',
'info_interface_complete' => 'At&#603; &#596; b&iacute;',
'info_interface_simple' => 'At&#603; &#596; b&iacute;',
'info_joindre_document_article' => 'Mi s&#596; w&eacute;m&agrave; c&agrave;d&oacute;',
'info_joindre_document_rubrique' => 'Mi s&#596; w&eacute;m&agrave; c&agrave;d&oacute;',
'info_joindre_documents_article' => 'Mi s&#596; w&eacute;m&agrave; c&agrave;d&oacute;:',
'info_l_article' => 'w&eacute;kp&aacute;',
'info_la_breve' => 'x&oacute; kl&eacute;wu&#770;n ',
'info_la_rubrique' => '&agrave;kp&aacute;xw&eacute;',
'info_langue_principale' => 'Gb&egrave;t&aacute; gblogbloj&iacute; &#596; t&#596;n',
'info_largeur_vignette' => 'j&iacute;jl&#603;m&#603;',
'info_les_auteurs_1' => 'gb&#596;n@',
'info_logo_format_interdit' => 'Nt&ugrave;n &eacute; d&ograve; &#598;&eacute;xl&#603; l&#603; k&#603;&#598;&#603;@formats@ w&#603; y&egrave; &#598;&egrave;gb&egrave; n&aacute; .',
'info_logo_max_poids' => 'Nt&ugrave;n l&#603; d&oacute; n&aacute; gbl&oacute; g&egrave;g&eacute; &agrave; @maxi@ (x&oacute;t&ograve;&#598;&aacute;y&iacute; &eacute; l&#596;@actuel@).',
'info_logo_max_taille' => 'Nt&ugrave;n l&#603; d&oacute; n&aacute; gbl&oacute; g&egrave;g&eacute; &agrave; @maxi@ (x&oacute;t&ograve;&#598;&aacute;y&iacute; &eacute; l&#596; blo @actuel@).',
'info_mail_fournisseur' => 'mi&#598;e&#770; @n&aacute;t&#596;.com',
'info_message_2' => 'w&#603;n',
'info_message_supprime' => 'y&egrave; s&uacute;s&uacute; w&#603;n',
'info_mise_en_ligne' => 'Az&aacute;n b&iacute;bl&oacute; t&#596;n:',
'info_modification_parametres_securite' => '&#598;&igrave;&#598;y&#596;',
'info_mois_courant' => 's&uacute;n &#598;&ograve;kp&oacute; &#596; m&#603;:',
'info_mot_cle_ajoute' => 'z&eacute; gb&egrave;tak&#603;n g&#596;n&aacute;',
'info_multi_herit' => 'Gb&egrave; &#598;&eacute;b&uacute;',
'info_multi_langues_soulignees' => 'N&uacute; mi s&#596; gb&egrave; &#598;&eacute; &#596; &eacute; j&#603; &#598;&#596; y&egrave; n&aacute; t&iacute;nm&#603;.',
'info_multilinguisme' => 'Gb&egrave;gu&egrave;gu&egrave;',
'info_nom_non_utilisateurs_connectes' => 'ny&iacute;k&#596; t&#596;n &#598;&ograve; m&#603; &#598;&ograve; k&aacute;nn&uacute; l&#603; j&iacute; &aacute;.',
'info_nom_utilisateurs_connectes' => 'ny&iacute;k&#596; mi t&#596;n n&#596; t&#596;n &#598;&ograve; m&#603; &#598;&ograve; k&aacute;nn&uacute; l&#603; j&iacute; .',
'info_nombre_en_ligne' => '&eacute; l&oacute; ka&#770;n&uacute; d&igrave;n:',
'info_non_resultat' => 'X&oacute;gb&egrave; &#598;&eacute;b&uacute; &#598;&egrave; &aacute;"@cherche_mot@"',
'info_non_utilisation_messagerie' => 'mi &#598;&ograve; Winwl&aacute;nt&#603;nm&#603; gblogbloj&iacute; &#596; t&#596;n b&agrave; w&#603;.',
'info_nouveau_message' => 'mi &#598;&ograve; w&#603;n y&#596;y&#596; &#598;&eacute;v&oacute;',
'info_nouveaux_messages' => '@total_messages@ w&#603;n y&#596;y&#596;',
'info_numero_abbreviation' => 'N&deg;&nbsp;',
'info_panne_site_syndique' => 'mim&aacute;m&#603; gblogbloj&iacute; &#596; t&#596;n k&uacute; &agrave;f&#596;',
'info_pense_bete' => 'L&igrave;nt&aacute;m&#603;-Ag&uacute;&#598;&agrave;g&#596;',
'info_petit_ecran' => 'At&#603; kp&#603;v&iacute;',
'info_pixels' => 'c&iacute;k&iacute;c&iacute;k&iacute;',
'info_plusieurs_mots_trouves' => 'Y&eacute; m&#596; gb&egrave;t&aacute;k&#603;n g&eacute;g&eacute;"@cherche_mot@":',
'info_popularite_5' => 'T&ograve;b&iacute;t&ugrave;n&nbsp;:',
'info_portfolio' => 'Portfolio',
'info_portfolio_automatique' => 'Portfolio c&agrave;c&agrave;&nbsp;:',
'info_premier_resultat' => '[@debut_limit@ premiers r&eacute;sultats sur @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ premiers r&eacute;sultats sur @total@]',
'info_probleme_grave' => 'x&oacute;t&#603;',
'info_propose_1' => '[@nom_site_spip@] Propose : @titre@',
'info_propose_2' => 'W&eacute;kp&aacute;
---------------',
'info_propose_3' => 'W&eacute;kp&aacute; "@titre@" Y&eacute; n&aacute; &#598;&#596; &#598;&oacute; t&ograve; j&iacute;',
'info_propose_4' => 'Y&egrave; &#598;&#596; mi n&iacute; w&aacute; kp&#596;n n&uacute; &#598;e&#770; mi &#598;&#596;&#770;',
'info_propose_5' => '&#598;&ograve; kpl&eacute;kpl&eacute; c&aacute; &#598;&eacute; w&uacute; &#596;, &eacute; &#598;&ograve; n&#596;t&#603;n :',
'info_publie_01' => 'W&eacute;kp&aacute;"@titre@" y&egrave; s&#596; k&#603;n n&aacute; @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] PUBLIE : @titre@',
'info_publie_2' => 'W&eacute;kp&aacute; y&egrave; s&#596; k&#603;n n&aacute;
--------------',
'info_rechercher' => 'B&igrave;b&agrave;',
'info_rechercher_02' => 'B&igrave;b&agrave;&nbsp;:',
'info_remplacer_vignette' => 'mi &#598;yo sy&#596;&nbsp;:',
'info_retablir_lien' => 'Mi l&#603; v&#596; bl&oacute; c&agrave;c&agrave;d&oacute; &#596;',
'info_retirer_mot' => '&#598;&egrave; w&eacute;kw&iacute; &eacute; l&#596; s&iacute;n ',
'info_retirer_mots' => 'Mi &#598;&egrave; w&eacute;kw&iacute; b&iacute; s&iacute;n ',
'info_sans_titre_2' => 'X&oacute;t&aacute; &#598;&egrave; &aacute;',
'info_selectionner_fichier' => 'Mi s&iacute;w&uacute; cy&aacute;n gb&egrave;t&aacute;k&#603;n <i>cy&aacute;n</i>',
'info_selectionner_fichier_2' => 'Mi cy&aacute;n gb&egrave;t&aacute;k&#603;n&nbsp;:',
'info_site_attente' => 'E kp&ograve; mi n&aacute; s&#596; k&#603;n n&uacute; gblogbloj&iacute; &#596;',
'info_site_reference' => ' Gblogbloj&iacute; y&eacute; &#598;&egrave;k&uacute;n&uacute; &#598;&ograve; k&aacute;n&uacute;',
'info_site_refuse' => 'Y&egrave; gb&#603; gblogbloj&iacute; &#596; ',
'info_sites_referencer' => '&#598;&egrave;k&uacute;n&uacute; n&uacute; gblogbloj&iacute; &#596;',
'info_supprimer_vignette' => 'gb&igrave;d&iacute; &#598;&igrave;&#598;&egrave; &#596; ',
'info_symbole_bleu' => 'kw&iacute;nn&#596; xl&#603; g&#596;g&uacute;n&#596;: &eacute; ny&iacute; w&#603;n mi &#598;&#603; &#598;&eacute;s&uacute; t&#596;n',
'info_symbole_jaune' => 'kw&iacute;n j&uacute;n&#596; n&#596; xl&#603; t&igrave;t&ograve;t&#596; kp&oacute; ny&#596;wl&aacute;nt&#596;n h&#603;n n&aacute; &#598;y&#596; ',
'info_symbole_vert' => 'kw&iacute;n &agrave;m&agrave;m&uacute; n&#596; xl&#603; w&#603;n y&eacute; m&aacute; x&aacute; m&#603; &#598;&eacute;v&oacute;',
'info_syndication' => 'm&igrave;m&aacute;m&#603;&nbsp;:',
'info_syndication_articles' => 'we&#780;m&agrave; l&#603;',
'info_telecharger' => '&#598;&#596;n s&iacute;n m&#596;xw&iacute;t&iacute;xw&iacute;t&iacute; &#596; m&#603;&nbsp;:',
'info_telecharger_nouveau_logo' => '&#598;&#596;n s&iacute;n m&#596;xw&iacute;t&iacute;xw&iacute;t&iacute; &#596; m&#603;&nbsp;:',
'info_telecharger_ordinateur' => '&#598;&#596;n s&iacute;n m&#596;xw&iacute;t&iacute;xw&iacute;t&iacute; &#596; m&#603;&nbsp;:',
'info_tous_resultats_enregistres' => '[y&eacute; wl&iacute; x&oacute;gb&egrave; l&#603; b&iacute; h&#603;n]',
'info_tout_afficher' => 'Xl&#603; b&iacute;',
'info_travaux_texte' => 'mi l&#603;k&#596; w&aacute; Gbl&ograve;gbl&ograve;j&iacute; &eacute; l&#596; k&ograve; s&#596;gb&egrave; &aacute;...',
'info_travaux_titre' => 'y&eacute; kp&ograve; &#598;&ograve; &agrave;z&#596; w&aacute; w&#603; &#598;&ograve; Gbl&ograve;gbl&ograve;j&iacute; &#596; w&uacute;',
'info_trop_resultat' => 'x&oacute;gb&egrave; g&eacute;g&eacute;"@cherche_mot@" ; mi l&#603; v&#596; b&agrave; n&uacute;gb&oacute; t&#596;n',
'info_utilisation_messagerie_interne' => 'mi l&ograve; w&#603;ngb&aacute;v&iacute; &#596; Gbl&ograve;gbl&ograve;j&iacute; &#596; t&#596;n z&aacute;n w&#603;.',
'info_valider_lien' => 's&#596; k&#603;n n&uacute; &agrave;l&#596;wl&iacute; &#596;',
'info_verifier_image' => 'mi v&#596; kp&#596;n &#598;&#596; &#598;&eacute;xl&#603; mi t&#596;n l&#603; y&igrave; g&agrave;nj&iacute;.',
'info_vignette_defaut' => 'v&igrave;ny&#603;t&ugrave;',
'info_vignette_personnalisee' => 'v&igrave;ny&#603;t&ugrave;',
'info_visite' => 'j&oacute;n&#596; b&igrave;b&aacute; :',
'info_visites' => 'j&oacute;n&#596; b&igrave;b&aacute;:',
'info_vos_rendez_vous' => 'mi n&aacute; kp&eacute; m&igrave; &#598;e&#770;',
'info_zoom' => 'vl&#596;nvl&#596;n',
'infos_vos_pense_bete' => 't&agrave;m&#603; l&igrave;n &agrave;g&uacute;&#598;&aacute;g&#596;',
'item_breve_proposee' => '&#598;&#596; x&oacute; kl&eacute;w&uacute;n',
 
 
// L
'lien_afficher_icones_seuls' => 'j&ograve;n&#596;',
'lien_afficher_texte_icones' => 'xl&#603; w&eacute;m&agrave; l&#603;',
'lien_afficher_texte_seul' => 'xl&#603; w&eacute;m&agrave; l&#603;',
'lien_icones_interface' => 'mi t&ograve; m&#603; &#598;&ograve; kpl&eacute;kpl&eacute; m&#603; &#596; l&#603;.',
'lien_liberer' => 'mi s&#596; j&oacute;',
'lien_liberer_tous' => 'mi s&#596; w&eacute;kp&aacute; l&#603; j&oacute;',
'lien_nouvea_pense_bete' => 'l&igrave;n t&agrave;m&#603; &agrave;g&uacute;&#598;&agrave;g&#596;',
'lien_nouveau_message' => 'w&#603;n y&#596;y&#596;',
'lien_nouvelle_annonce' => 'w&#603;n y&#596;y&#596;',
'lien_petitions' => 'x&oacute; j&iacute;jl&aacute;',
'lien_popularite' => 'T&ograve;b&iacute;t&ugrave;n&nbsp;: @popularite@%',
'lien_racine_site' => 'Gblogbloj&iacute; O s&iacute;n &#598;&ograve;k&#596;',
'lien_reessayer' => 'mi l&#603;v&#596; bl&oacute;',
'lien_repondre_message' => 'y&iacute;gbj&egrave; n&uacute; w&#603;n &eacute; l&#596;',
'lien_supprimer' => 'S&ugrave;ns&ugrave;n',
'lien_tout_afficher' => 'xl&#603; b&iacute;',
'lien_visite_site' => 'mi b&agrave; j&#596; gblogbloj&iacute; &#596; &eacute; l&#596;',
'lien_visites' => '@visites@&nbsp;j&ograve;n&#596; b&igrave;b&agrave; l&#603;',
'lien_voir_auteur' => 'mi kp&#596; ny&#596;wl&aacute;nt&#596; &eacute; l&#596;',
'login_acces_prive' => '&agrave;c&#603; s&#596; by&#596; t&#603;nk&aacute;n&#598;&oacute;v&ograve;',
'login_autre_identifiant' => 'wl&igrave;al&#596; s&#596; gb&#596;n ny&iacute;k&#596; &#598;&eacute;v&ograve; m&#603;',
'login_connexion_refusee' => 'y&eacute; gb&#603; &agrave;l&#596;wl&iacute; &#596; .',
'login_cookie_accepte' => 'mi t&#603;nkp&#596;n n&uacute; s&agrave;&#598;&igrave;d&igrave;t&#596; m&iacute; l&#603; n&iacute; xl&#603; x&oacute;gb&egrave; &eacute; l&#596; l&#603; .',
'login_cookie_oblige' => 'N&uacute; mi n&aacute; &#598;&eacute; mi xl&#603; &#596; mi &#598;&oacute; y&iacute; koki l&#603;.',
'login_deconnexion_ok' => '&#598;&egrave; &#598;&ograve; k&aacute;nn&uacute;.',
'login_erreur_pass' => 'kl&#603;n &agrave;f&#596; &#598;&ograve; &agrave;c&#603;m&#603; .',
'login_espace_prive' => 't&#603;nk&aacute;n&#598;&ograve;f&iacute;',
'login_identifiant_inconnu' => 'Y&egrave; t&ugrave;n &laquo; @login@ &raquo; Ny&iacute;k&#596;&#770; &aacute; .',
'login_login' => 'Ny&iacute;k&#596;&#770; :',
'login_login2' => 'Ny&iacute;k&#596;&#770; (identifiant de connexion au site)&nbsp;:',
'login_login_pass_incorrect' => '(Ny&iacute;k&#596; k&agrave;b&iacute; c&agrave;v&igrave; &#596; gbo v&ograve;.)',
'login_motpasseoublie' => 'Y&eacute; ny&#596;&nbsp;gb&egrave;t&aacute;k&#603;n&nbsp;&#596;&nbsp;?',
'login_non_securise' => ' Ny&iacute;k&#596; k&agrave;b&iacute; c&agrave;v&igrave; &#596; gbo v&ograve; Y&eacute; ny&#596; gb&egrave;t&aacute;k&#603;n &#596;',
'login_nouvelle_tentative' => 'Mi l&#603; v&#596; bl&oacute; &#598;&eacute;v&oacute;',
'login_par_ici' => 'Y&eacute; k&ograve; y&iacute; ny&iacute;k&#596; mi t&#596;n ... gb&#596;n f&iacute;...',
'login_pass2' => 'gb&egrave;t&aacute;k&#603;n&nbsp;:',
'login_preferez_refuser' => 'N&uacute; mi jl&ograve; n&aacute; gb&#603; koli l&#603; &#596; , w&agrave;l&#596; &#598;&eacute;v&oacute; l&#603; &#598;&egrave;&nbsp;:',
'login_recharger' => 'Mi l&#603; v&#596; &#598;&#596;n w&eacute;m&agrave; &eacute; l&#596; ',
'login_rester_identifie' => 'Mi j&oacute; mi &#598;&eacute; &#598;&oacute; n&uacute; y&egrave; n&iacute; m&#596; mi n&uacute; &agrave;z&aacute;n yw&#603;yw&#603; &#598;&eacute; l&#603;',
'login_retour_public' => 'Mi l&#603;k&#596; y&igrave; gblogbloj&iacute; &#596; ',
'login_retour_site' => 'Mi l&#603;k&#596; y&igrave; gblogbloj&iacute; &#596; ',
'login_retoursitepublic' => 'Mi l&#603;k&#596; y&igrave; gblogbloj&iacute; &#596; ',
'login_sans_cookiie' => 'Mi s&#596; xl&#603; b&oacute; j&ograve; koki l&#603; &#598;&oacute;',
'login_sinscrire' => 'N&aacute; ny&iacute;k&#596; ',
'login_test_navigateur' => '&#598;&egrave;xl&#603;t&#596;/&agrave;l&#596;wl&iacute; &#598;&eacute;v&oacute;',
'login_verifiez_navigateur' => '(mi kp&#596;n &#598;&#596; &#598;&egrave;xl&#603;t&#596; y&iacute; gb&egrave;t&aacute;k&#603;n &agrave; j&iacute; ...)',
 
 
// M
'module_fichiers_langues' => 'gb&egrave; l&#603; s&iacute;n we&#780;m&agrave; ',
 
 
// N
'navigateur_pas_redirige' => 'n&uacute; &#598;&eacute;xl&#603; mi t&#596;n m&aacute; t&#596;n &aacute;, mi z&iacute;n f&iacute; b&oacute; l&#603; v&#596; y&igrave;.',
 
 
// O
'onglet_affacer_base' => 'mi s&ugrave;ns&ugrave;n x&oacute;x&ograve;kpl&eacute; l&#603; ',
'onglet_auteur' => 'ny&#596;wl&aacute;nt&#596; &#596; ',
'onglet_contenu_site' => 'gbl&ograve;gbl&ograve;j&iacute; s&iacute;n &agrave;&#598;&#596;m&#603; ',
'onglet_evolution_visite_mod' => 'n&uacute;k&#596;n y&iacute;y&iacute; ',
'onglet_fonctions_avances' => 'w&agrave;l&#596; xw&iacute;t&iacute;xw&iacute;t&iacute;',
'onglet_informations_personnelles' => 'x&oacute; m&#603; &#598;&eacute; s&uacute; t&#596;n l&#603;',
'onglet_interactivite' => 'w&agrave;z&#596; &#598;&oacute;kp&#596; ',
'onglet_messagerie' => 'w&#603;ngb&aacute;v&iacute;',
'onglet_messages_internes' => 'w&#603;n d&oacute;d&oacute;',
'onglet_messages_publics' => 'w&#603;n t&ograve; b&iacute; t&ugrave;n ',
'onglet_messages_vide' => 'w&#603;n m&agrave; &#598;&ograve; we&#780;',
'onglet_origine_visites' => 'B&igrave;b&#603; w&#603;n l&#603; t&#596;n ',
'onglet_repartition_debut' => 'S&iacute;n b&igrave;b&#603;m&#603;',
'onglet_repartition_lang' => 'Mi t&ograve; gb&egrave; l&#603;',
'onglet_repartition_rubrique' => 'Mi t&ograve; &agrave;kp&aacute;xw&eacute; l&#603;',
'onglet_save_restaur_base' => 'wl&iacute;h&#603;n/ l&#603;v&#596; x&oacute;x&ograve;kpl&eacute; bl&oacute;&#598;&oacute;',
'onglet_vider_cache' => 'B&#603;&#770; e&#770; &eacute; &#598;&ograve; gb&agrave;v&iacute; &#596; m&#603; b&iacute; s&iacute;n',
'ortho_trop_de_fautes2' => 'Mi j&#603; we&#780;m&agrave; l&#603; bl&oacute;&#598;&oacute; j&iacute; n&uacute; mi m&aacute; w&aacute; w&agrave;z&#596; g&#596;n&aacute; &oacute;.',
 
 
// P
'pass_choix_pass' => 'Mi s&#596; c&agrave;v&igrave; &#598;&eacute;v&oacute; :',
'pass_erreur' => 'kl&#603;n &agrave;f&#596; ',
'pass_erreur_acces_refuse' => 'kl&#603;n &agrave;f&#596; mi s&#596; y&iacute; gblogblo&eacute; l&#596; j&iacute; &aacute;',
'pass_erreur_code_inconnu' => 'mi s&#596; y&iacute; gblogblo&eacute; l&#596; j&iacute; &aacute;',
'pass_erreur_non_enregistre' => 'kl&#603;n &agrave;f&#596; l\'adresse <tt>@email_oubli@</tt> &#598;&ograve; f&iacute; &aacute;.',
'pass_erreur_non_valide' => 'kl&#603;n &agrave;f&#596; <tt>@email_oubli@</tt> &#598;&ograve; f&iacute; &aacute; !',
'pass_erreur_probleme_technique' => 'kl&#603;n &agrave;f&#596; &#598;&ograve; f&iacute; &aacute;',
'pass_espace_prive_bla' => 'y&eacute; h&ugrave;n f&iacute; n&uacute; m&#603; b&iacute; &aacute;
',
'pass_forum_bla' => 'mi by&#596; &#598;&#596; &eacute; mi n&aacute; &#598;&#596; x&oacute; &#598;&ograve; kpl&eacute;kpl&eacute; &#596; m&#603;.',
'pass_indiquez_cidessous' => 'mi s&#596; e-mail&uacute; mi t&#596;n xl&#603;
.',
'pass_mail_passcookie' => 'W&#603;n &eacute; l&#596; w&#603;n c&agrave;c&agrave; w&#603;
@nom_site_spip@ (@adresse_site@)
 
N&uacute; mi n&aacute; &#598;&oacute; m&#596; n&#596;t&#603;n gblogbloj&iacute; &eacute; l&#596; t&#596;n mi y&igrave;
@adresse_site@/spip_pass.php3?p=@cookie@
 
',
'pass_mot_oublie' => 'mi y&#596;n c&agrave;v&igrave; &#596;',
'pass_nouveau_enregistre' => 'Mi s&#596; c&agrave;v&igrave; &#598;&eacute;v&oacute;.',
'pass_nouveau_pass' => 'Mi s&#596; c&agrave;v&igrave; &#598;&eacute;v&oacute;',
'pass_ok' => 'b&agrave; y&iacute;',
'pass_oubli_mot' => 'mi y&#596;n c&agrave;v&igrave; &#596;',
'pass_quitter_fenetre' => 'j&oacute; fl&egrave;c&egrave; &eacute; l&#596; &#598;&oacute;',
'pass_rappel_login' => 'ny&iacute;k&#596; mi t&#596;n &laquo; @login@ &raquo;.',
'pass_recevoir_mail' => 'mi n&aacute; s&#603; w&#603;n &#598;e&#770; n&aacute; &#598;&#596; &#598;&eacute; mi n&aacute; by&#596; gblogbloj&iacute; gb&#596;n &eacute; .',
'pass_retour_public' => 'gblogbloj&iacute;',
'pass_rien_a_faire_ici' => '&#331; &#598;&eacute; &#598;&ograve; f&iacute; &aacute;.',
'pass_vousinscrire' => 'ny&iacute;k&#596; mi t&#596;n',
'precedent' => 'E w&agrave; y&igrave; &eacute;',
'previsualisation' => 'kp&#596;n',
'previsualiser' => 'kp&#596;n',
 
 
// S
'stats_visites_et_popularite' => '@visites@ j&oacute;n&#596; &nbsp;; t&ograve;b&iacute;t&ugrave;n&nbsp;: @popularite@',
'suivant' => 'E j&agrave; w&egrave;',
 
 
// T
'taille_ko' => '@taille@&nbsp;ko',
'taille_mo' => '@taille@&nbsp;Mo',
'taille_octets' => '@taille@&nbsp;octets',
'texte_actualite_site_1' => 'n&uacute; &agrave;t&#603; wo&#770; m&aacute; m&igrave; &#596; mi z&igrave;n f&iacute; ',
'texte_actualite_site_2' => '&agrave;t&#603;',
'texte_actualite_site_3' => 'mi n&aacute; s&#596; m&#596; &agrave;l&igrave; g&eacute;g&eacute;.',
'texte_creation_automatique_vignette' => 'wl&iacute;h&#603;n/ l&#603;v&#596; x&oacute;x&ograve;kpl&eacute; bl&oacute;&#598;&oacute;B&#603;&#770; e&#770; &eacute; &#598;&ograve; gb&agrave;v&iacute; &#596; m&#603; b&iacute; s&iacute;nZ&eacute; g&#596; n&aacute; we&#780;m&aacute;m&#603;Y&eacute; m&#596; &agrave;y&igrave; &#598;&eacute; &#598;&oacute; w&eacute;kw&iacute;n &eacute; l&#596; w&uacute; &aacute;Y&eacute; s&#596; m&#596; &#598;e&#770; n&aacute; n&#596; kp&#596;n w&eacute;kw&iacute;n s&iacute;n winwl&aacute;n g&agrave;nj&iacute; &#596; &#598;&oacute; s&ugrave;p&iacute;p&ugrave;m&#603;.Am&#596; c&oacute; n&uacute; mi n&aacute; s&#596; we&#780;m&agrave; mi t&#596;n &#598;&eacute; xl&#603; h&uacute;n mi v&aacute;n n&uacute;k&uacute;n &#598;&eacute;m&#603; &#598;&eacute;s&uacute; hw&#603; @gd_formats@, w&eacute;kw&iacute;n &#598;e&#770; y&eacute; m&agrave; t&ugrave;n &agrave; l&#603; &#596; &#598;&ograve; v&#596;v&#596;m&#603;. Z&igrave;n y&eacute; b&oacute; kp&#596;n &agrave;y&igrave; &eacute; y&egrave; b &#598;&oacute; y&egrave;w&uacute; &#596;@taille_preview@&nbsp;',
'texte_documents_associes' => 'mi s&#596; y&iacute; gblogblo &eacute; l&#596; j&iacute; &aacute;y&eacute; h&ugrave;n f&iacute; n&uacute; m&#603; b&iacute; &aacute;mi by&#596; &#598;&#596; &eacute; mi n&aacute; &#598;&#596; x&oacute; &#598;&ograve; kpl&eacute;kpl&eacute; &#596; m&#603;mi s&#596; e-mail&uacute; mi t&#596;n xl&#603; W&#603;n &eacute; l&#596; w&#603;n c&agrave;c&agrave; w&#603; .',
'texte_erreur_mise_niveau_base' => 'x&oacute; kl&eacute;wun l&#603; we&#780;m&agrave; kl&eacute;w&uacute;n &#598;&eacute; l&#603; w&#603;b&#596; y&eacute; n&#596; z&#596;n b&#596; x&oacute; l&#603; n&#596; y&iacute; &agrave;t&#603;j&iacute; g&agrave;nm&#603;g&agrave;nm&#603;mi s&#596; x&oacute;x&ograve;kpl&eacute;gb&agrave;v&iacute; mi t&#596;n m&#596;n&#596; h&#603;nmi cy&iacute;an &#598;e&#770; j&#603; &#598;&eacute;w&uacute; &#596;',
'texte_inc_auth_1' => 'mi k&oacute; m&#596; mi @auth_login@&agrave;m&#596; mi s&#596; &#598;&ograve; x&oacute;x&ograve;kpl&eacute;gb&agrave;v&iacute; &#596; m&#603; &aacute;',
'texte_inc_auth_2' => 'mi l&#603; v&#596; y&iacute; k&agrave;nj&iacute;',
'texte_inc_auth_3' => ', vl&agrave;v&ograve; n&uacute; mi g&ograve;s&iacute;nb&ograve; d&oacute;z&ograve; n&uacute; &#598;&eacute;xl&#603;t&#596; mi t&#596;n ',
'texte_inc_config' => 'kp&#596;nj&oacute;n&#596; t&ograve;b&iacute;t&ugrave;nt&igrave;to kl&eacute;w&uacute;ngb&agrave;v&iacute; &#596; j&#603; v&#596;w&#603;n &eacute; l&#596; y&eacute; s&#603; &#598;&oacute; &#596; mi k&#603;nkl&#603;&#770;n b&oacute; n&aacute; l&igrave;nl&igrave;n mi t&#596;n &#598;&eacute; w&uacute;&#598;&ograve; kpl&eacute;kpl&eacute; y&eacute; s&#596; &#598;&oacute; d&ograve; w&#596; m&#603;n&uacute; &agrave;t&#603; wo&#770; m&aacute; m&igrave; &#596; mi z&igrave;n f&iacute;mi n&aacute; s&#596; m&#596; &agrave;l&igrave; g&eacute;g&eacute;w&eacute;kp&aacute; &eacute; l&#596;x&oacute;gb&egrave; l&#603; ny&#596;wl&aacute;nt&#596; l&#603; gblogbloj&iacute; &eacute; l&#596; n&#596; z&#596;n b&#596; mi n&#596; s&#603; w&#603;n &#598;&oacute; b&oacute; n&#596; l&#603; y&iacute; w&#603;nx&oacute; kl&eacute;wun l&#603; we&#780;m&agrave; kl&eacute;w&uacute;n &#598;&eacute; l&#603; w&#603;b&#596; y&eacute; n&#596; z&#596;n b&#596; x&oacute; l&#603; n&#596; y&iacute; &agrave;t&#603;j&iacute; g&agrave;nm&#603;g&agrave;nm&#603;mi s&#596; x&oacute;x&ograve;kpl&eacute;gb&agrave;v&iacute; mi t&#596;n ',
'texte_inc_meta_1' => 'mi z&igrave;n f&iacute;mi n&aacute; s&#596; m&#596; &agrave;l&igrave; g&eacute;g&eacute;w&eacute;kp&aacute; &eacute; l&#596;x&oacute;gb&egrave; l&#603; ny&#596;wl&aacute;nt&#596; l&#603; gblogbloj&iacute; &eacute; l&#596; n&#596; z&#596;n b&#596; mi n&#596; s&#603; w&#603;n &#598;&oacute; b&oacute; n&#596; l&#603; y&iacute; w&#603;nx&oacute; kl&eacute;wun l&#603; we&#780;m&agrave; kl&eacute;w&uacute;n &#598;&eacute; l&#603; w&#603;b&#596; y&eacute; n&#596; z&#596;n b&#596; x&oacute; l&#603; n&#596; y&iacute; &agrave;t&#603;j&iacute; g&agrave;nm&#603;g&agrave;nm&#603;',
'texte_inc_meta_2' => 'mi k&nbsp;p&#596;n &agrave;c&#603; winwl t&#596;n ',
'texte_inc_meta_3' => 'E &#598;&ograve; &agrave;kp&aacute;xw&eacute; &#596; m&#603; <code>ecrire/data/</code>.',
'texte_statut_en_cours_redaction' => 'E kp&oacute; &#598;&ograve; w&iacute;wl&aacute;nw&#603;',
'texte_statut_poubelle' => 's&#596; ny&iacute;gb&egrave;',
'texte_statut_propose_evaluation' => 'Mi kp&#596;n&#598;&#596; y&eacute; n&aacute; s&#596; k&#603;n n&aacute;',
'texte_statut_publie' => 's&#596;&#598;&ograve; &agrave;t&#603;j&iacute;',
'texte_statut_refuse' => 'y&eacute; gb&#603;',
'titre_ajouter_mot_cle' => 'z&eacute; gb&egrave;t&aacute;k&#603;n g&#596;n&aacute; :',
'titre_breve_proposee' => 'x&oacute; kl&eacute;w&uacute;n y&eacute; s&#596; j&oacute;',
'titre_breve_publiee' => 'x&oacute; kl&eacute;w&uacute;n y&eacute; s&#596; xl&#603;',
'titre_breve_refusee' => 'x&oacute; kl&eacute;w&uacute;n ye&#770; gb&#603; &#596; ',
'titre_cadre_raccourcis' => 'x&agrave;s&aacute;d&oacute;:',
'titre_changer_couleur_interface' => '&#598;y&#596; &#331;t&ugrave;n n&uacute; &agrave;t&#603; &#596;',
'titre_forum' => 'kpl&eacute;kpl&eacute;',
'titre_image_admin_article' => 'Mi h&#603;n &#596; mi n&aacute; t&ograve; w&eacute;kp&aacute; &eacute; l&#596; ',
'titre_image_administrateur' => 'T&igrave;t&ograve;t&#596;',
'titre_image_aide' => 'Mi y&iacute; &agrave;l&#596;d&oacute; &#598;&ograve; f&iacute;',
'titre_image_auteur_supprime' => 'ny&#596;wl&aacute;nt&#596;n &#598;e&#770; y&eacute; s&ugrave;ns&ugrave;n',
'titre_image_redacteur' => 'ny&#596;wl&aacute;nt&#596;n m&agrave; &#598;&ograve; &agrave;c&#603;',
'titre_image_redacteur_02' => 'ny&#596;wl&aacute;nt&#596;n ',
'titre_image_visiteur' => 'J&oacute;n&#596;',
'titre_joindre_document' => 'Z&eacute; we&#780;m&agrave; g&#596;n&aacute; ',
'titre_liens_entrants' => 'c&agrave;c&agrave;d&oacute; n&aacute; by&#596;m&#603;',
'titre_mots_cles' => 'gb&egrave;t&aacute;k&#603;n',
'titre_probleme_technique' => 'm&#603;&#598;&eacute; s&#596; s&iacute; by&#596; f&iacute;n&#603; &aacute;.',
'titre_publier_document' => 'mi s&#596; we&#780;m&agrave; xl&#603; &#598;&ograve; &agrave;kp&aacute;xw&eacute; l&#596; j&iacute;',
'titre_statistiques' => 'ak&#596;&#331;t&aacute; gblogbloj&iacute; &#596; t&#596;n ',
'titre_titre_document' => 'x&oacute;t&aacute; we&#780;m&agrave; t&#596;n &nbsp;:',
'trad_reference' => '(w&eacute;kp&aacute; j&#596; w&eacute;kp&aacute;)',
 
 
// U
'upload_fichier_zip' => 'Fichier ZIP&ugrave;',
'upload_fichier_zip_texte' => 'x&oacute;t&aacute; mi j&oacute; n&aacute; z&eacute; x&oacute;t&aacute; zip&ugrave; w&#603;.',
'upload_fichier_zip_texte2' => 'x&oacute;t&aacute; &eacute; l&#596; s&iacute;w&uacute;&nbsp;:',
'upload_limit' => 'gb&egrave;t&aacute; &#596; kl&oacute; &#598;&iacute;n @max@.',
'upload_zip_decompacter' => 's&#596; &#598;&eacute;m&#603; &#598;e&#770; &#598;&eacute; gb&#596;n &#596; :',
'upload_zip_telquel' => 's&#596; &#598;&eacute;m&#603; &#598;e&#770; &#598;&eacute; gb&#596;n &#596; Zip&nbsp;;',
 
 
// Z
'zbug_balise_b_aval' => '&nbsp;:D&ograve;gb&oacute; B &#598;&ograve; f&igrave;f&oacute;m&#603;',
'zbug_boucle' => 'F&iacute;f&oacute;m&#603; b&igrave;b&#603;m&#603;',
'zbug_boucle_recursive_undef' => 'Af&#596; F&iacute;f&oacute;m&#603; b&igrave;b&#603;m&#603; n&#596; w&agrave; hw&#603;hw&#603; y&egrave; m&agrave; s&#596; &#598;&aacute;y&igrave; &eacute;',
'zbug_champ_hors_boucle' => 'T&#603;nm&#603; @champ@ &eacute; &#598;&ograve; v&ograve; n&uacute; F&iacute;f&oacute;m&#603; b&igrave;b&#603;m&#603;',
'zbug_champ_hors_motif' => 'T&#603;nm&#603; @champ@ &eacute; &#598;&ograve; v&ograve; n&uacute; F&iacute;f&oacute;m&#603; b&igrave;b&#603;m&#603; @motif@',
'zbug_code' => 'Aw&ograve;k&#603;n',
'zbug_critere_inconnu' => 'S&#603;nxw&igrave; y&egrave; m&agrave; t&ugrave;n@critere@',
'zbug_distant_interdit' => 'Y&egrave; gb&#603; &ecirc; m&aacute; &#598;&ograve; n&ugrave; &#598;&eacute; m&#603; a',
'zbug_erreur_boucle_double' => 't&ograve;b&ograve;t&ograve;b&ograve;@id@:t&iacute;m&#603; &agrave;z&#596;n w&egrave;',
'zbug_erreur_boucle_fermant' => 't&ograve;b&ograve;t&ograve;b&ograve;@:c&aacute;v&igrave; &eacute; n&uacute; &#596; &#598;&egrave; &aacute;',
'zbug_erreur_boucle_syntaxe' => 't&ograve;b&ograve;t&ograve;b&ograve; &#596; s&#596; gb&egrave; &aacute;',
'zbug_erreur_execution_page' => 'Af&#596;k&iacute;l&#603;n &#598;&ograve; &agrave;z&#596; w&igrave;w&agrave;m&#603;',
'zbug_erreur_filtre' => 'kl&#603;n &agrave;f&#596; ',
'zbug_erreur_meme_parent' => '{N&ucirc;_&#598;&ograve;kp&oacute; &#596;} F&iacute;f&oacute;m&#603; b&igrave;b&#603;m&#603; k&#603;&#598;&#603; w&#603; y&egrave; n&#596; bl&oacute; n&aacute;(Kpl&eacute;kpl&eacute; l&#603;) kabi (Akp&aacute;xw&eacute; l&#603;)',
'zbug_erreur_squelette' => 'Af&#596;k&iacute;l&#603;n (l&#603;) &#598;&ograve; t&igrave;t&ograve;m&#603; &ograve; m&#603; ',
'zbug_info_erreur_squelette' => '&agrave;f&#596;kikl&#603;n &#598;&ograve; gblogbloj&iacute;',
'zbug_inversion_ordre_inexistant' => 'Ad&agrave; l&iacute;l&#603; n&uacute; w&agrave;l&#596; &eacute; k&oacute; t&iacute;&igrave;n &eacute;',
'zbug_parametres_inclus_incorrects' => ' w&agrave;l&#596; y&iacute;y&igrave;&#598;&eacute;m&#603; &#596; t&#596;n l&#603; jl&#596; &agrave; ',
'zbug_resultat' => 'Gb&egrave;t&agrave;',
'zbug_serveur_indefini' => 'M&#596;xw&igrave;t&iacute;xw&igrave;t&iacute;t&agrave;t&#596; SQL t&#596;n &ecirc; m&agrave; t&#603;&#598;&#603; &eacute; j&igrave; a ',
'zbug_table_inconnue' => 'T&igrave;t&ograve;m&#603; SQL &laquo; @table@ &raquo;y&egrave; m&agrave; t&ugrave;n'
 
);
 
 
?>
/trunk/actu/ecrire/lang/ecrire_oc_ni.php3
New file
0,0 → 1,1021
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'aide_non_disponible' => 'Aquela part de l\'ajuda en linha es pas encara disponibla per aquesta lenga.',
'avis_acces_interdit' => 'Acc&egrave;s pro&iuml;bit.',
'avis_article_modifie' => 'Atencion, @nom_auteur_modif@ a travalhat sus aquel article fa @date_diff@ minutas',
'avis_aucun_resultat' => 'Minga de resultat.',
'avis_chemin_invalide_1' => 'Lo camin qu\'av&egrave;tz chausit',
'avis_chemin_invalide_2' => 'sembla pas valid. Vorgatz tornar a la p&agrave;gina anteriora e verificar li informacions fornidi.',
'avis_connexion_echec_1' => 'La connexion au servidor MySQL a so&iuml;t.',
'avis_connexion_echec_2' => 'Tornatz a la p&agrave;gina anteriora, e verificatz li informacions qu\'av&egrave;tz fornidi.',
'avis_connexion_echec_3' => '<b>N.B.</b> Sus totplen de servidors, dev&egrave;tz <b>demandar</b> l\'activacion dau voastre acc&egrave;s a la basa MySQL denant de la poder utilisar. Se vos pod&egrave;tz pas connectar, verificatz qu\'av&egrave;tz ben realisat aqueu procediment.',
'avis_connexion_ldap_echec_1' => 'La connexion au servidor LDAP a so&iuml;t.',
'avis_connexion_ldap_echec_2' => 'Tornatz a la p&agrave;gina anteriora, e verificatz li informacions que nos av&egrave;tz fornidi. ',
'avis_connexion_ldap_echec_3' => 'D\'un biais alternatiu, utilisetz pas lo supoart LDAP per importar d\'utilisaires.',
'avis_conseil_selection_mot_cle' => '<b>Grop important:</b> es foart aconselhat de seleccionar un m&ograve;t clau dins aqueu grop.',
'avis_deplacement_rubrique' => 'D&agrave;ida&nbsp;! Aquela rubrica conten @contient_breves@ br&egrave;va@scb@&nbsp;: se la despla&ccedil;atz, vorgatz ben faire una taca dins aquela casa de confirmacion.',
'avis_destinataire_obligatoire' => 'Dev&egrave;tz indicar un destinatari denant de mandar aqueu messatge.',
'avis_erreur_connexion_mysql' => 'Error de connexion MySQL',
'avis_erreur_version_archive' => '<b>D&agrave;ida&nbsp;! Lo fichier @archive@ corresp&ograve;nde a una autra version de SPIP qu\'aquela qu\'av&egrave;tz installada.</b> Anatz v&egrave;rs de dificultats grandassi&nbsp;: risca de destruccion de la voastra basa de donadas, disfoncionaments div&egrave;rs dau sit etc. Non validetz aquela demanda d\'importacion.<p /> Per mai d\'informacions, vegu&egrave;tz
<a HREF=\'http://www.spip.net/fr_article1489.html\'>
la documentacion de SPIP</a>.',
'avis_espace_interdit' => '<b>Espaci pro&iuml;bit</b><p />SPIP es ja installat.',
'avis_lecture_noms_bases_1' => 'Lo programa d\'installacion a pas poscut li&egrave;ger lu noms dei basas de donadas installadi.',
'avis_lecture_noms_bases_2' => 'Sia minga de basa es pas disponibla, sia la foncion que permete d\'entierar li basas es estada desactivada per de rasons de seguretat (cen qu\'es lo cas de plusors aubergadors).',
'avis_lecture_noms_bases_3' => 'Dins la segonda alternativa, es probable qu\'una basa que poarta lo voastre nom de connexion sigue utilisabla&nbsp;:',
'avis_non_acces_message' => 'Av&egrave;tz pas acc&egrave;s a aqueu messatge.',
'avis_non_acces_page' => 'Av&egrave;tz pas acc&egrave;s a aquela p&agrave;gina.',
'avis_operation_echec' => 'L\'operacion a so&iuml;t.',
'avis_probleme_archive' => 'Probl&egrave;ma de lectura dau fichier @archive@',
'avis_site_introuvable' => 'Sit introbable',
'avis_site_syndique_probleme' => 'Atencion : la sindicacion d\'aqueu sit a encontrat un problema&nbsp;; lo sistema es doncas temporarament interromput per a&uuml;ra. Verificatz l\'adre&ccedil;a dau fichier de sindicacion d\'aqueu sit (<b>@url_syndic@</b>), e provatz mai una recuperacion dei informacions.',
'avis_sites_probleme_syndication' => 'Aquelu sits an encontrat un problema de sindicacion',
'avis_sites_syndiques_probleme' => 'Aquelu sits sindicats an pauat un problema',
'avis_suppression_base' => 'M&Egrave;FI, la supression dei donadas es irreversibla',
'avis_version_mysql' => 'La voastra version de MySQL (@version_mysql@) permete pas l\'autoreparacion dei taulas de la basa.',
 
 
// B
'bouton_acces_ldap' => 'Ajustar l\'acc&egrave;s a LDAP >>',
'bouton_ajouter' => 'Ajustar',
'bouton_ajouter_participant' => 'AJUSTAR UN PARTICIPANT&nbsp;:',
'bouton_annonce' => 'ANON&Ccedil;A',
'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
'bouton_checkbox_indiquer_site' => 'indicar obligat&ograve;riament un sit web',
'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'Lu administrators dau sit',
'bouton_checkbox_qui_attribue_mot_cle_redacteurs' => 'lu redactors',
'bouton_checkbox_qui_attribue_mot_cle_visiteurs' => 'lu visitaires dau sit public quora p&ograve;ston un messatge dins un forum.',
'bouton_checkbox_signature_unique_email' => 'una soleta signatura per adre&ccedil;a e-mail',
'bouton_checkbox_signature_unique_site' => 'una soleta signatura per sit web',
'bouton_demande_publication' => 'Demandar la publicacion d\'aquest article',
'bouton_effacer_index' => 'Esca&ccedil;ar lu ind&egrave;x',
'bouton_effacer_tout' => 'Esca&ccedil;ar TOT',
'bouton_envoi_message_02' => 'MANDAR UN MESSATGE',
'bouton_envoyer_message' => 'Messatge definitiu: mandar',
'bouton_forum_petition' => 'FORUM E PETICION',
'bouton_modifier' => 'Modificar',
'bouton_pense_bete' => 'N&Ograve;TA DE RENEMBRAN&Ccedil;A (D\'USATGE PERSONAU)',
'bouton_radio_activer_messagerie' => 'Activar la messatgeria interna',
'bouton_radio_activer_messagerie_interne' => 'Activar la messatgeria interna',
'bouton_radio_activer_petition' => 'Activar la peticion',
'bouton_radio_afficher' => 'Afichar',
'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Afichar dins la tiera dei redactors connectats',
'bouton_radio_articles_futurs' => 'ai articles futurs unicament (minga d\'accion sus la basa de donadas).',
'bouton_radio_articles_tous' => 'a toi lu articles sensa excepcion',
'bouton_radio_articles_tous_sauf_forum_desactive' => 'a toi lu articles, levats aqulu que lo forum es desactivat.',
'bouton_radio_desactiver_messagerie' => 'Desactivar la messatgeria',
'bouton_radio_enregistrement_obligatoire' => 'Registrament obligat&ograve;ri (lu utilisaires si devon abonar en donant li sieui adre&ccedil;as e-mail denant de poder postar li contribucions).',
'bouton_radio_envoi_annonces_adresse' => 'Mandar li anon&ccedil;as a l\'adre&ccedil;a&nbsp;:',
'bouton_radio_envoi_liste_nouveautes' => 'Mandar la tiera dei noveutats',
'bouton_radio_moderation_priori' => 'Moderacion <I>a pri&ograve;ri</I> (li contribucions apareisson pas publicament apr&egrave;s validacion dei administrators).',
'bouton_radio_modere_abonnement' => 'sus abonament',
'bouton_radio_modere_posteriori' => 'moderacion a posteri&ograve;ri',
'bouton_radio_modere_priori' => 'moderacion a pri&ograve;ri',
'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Apar&eacute;isser pas dins la tiera dei redactors',
'bouton_radio_non_envoi_annonces_editoriales' => 'Mandar pas d\'anon&ccedil;as editoriali',
'bouton_radio_non_syndication' => 'Minga de sindicacion',
'bouton_radio_occidental' => 'Alfabet occidentau&nbsp;(<tt>iso-8859-1</tt>)&nbsp;:
toi lu navigadors lo supoartan, mas permete pas
d\'afichar li lengas o&egrave;st-europ&egrave;&iuml; (occitan, catalan, ingl&eacute;s, alemand...).',
'bouton_radio_pas_petition' => 'Minga de peticion',
'bouton_radio_personnalise' => 'Juec de caract&egrave;rs pr&ograve;pi: chausiss&egrave;tz aquela opcion se vol&egrave;tz utilisar un juec especific de carat&egrave;rs',
'bouton_radio_petition_activee' => 'Peticion activada',
'bouton_radio_publication_immediate' => 'Publicacion immediata dei messatges (li contribucions apareisson d&egrave;s que son mandadi, lu administrators li p&ograve;don suprimir pi).',
'bouton_radio_sauvegarde_compressee' => 'Sauvagarda comprimida sota <b>ecrire/data/dump.xml.gz</b>',
'bouton_radio_sauvegarde_non_compressee' => 'Sauvagarda non comprimida sota <b>ecrire/data/dump.xml</b>',
'bouton_radio_supprimer_petition' => 'Suprimir la peticion',
'bouton_radio_syndication' => 'Sindicacion:',
'bouton_radio_universel' => 'Alfabet universau (<tt>utf-8</tt>): permete d\'afichar toti li lengas, ma es pas encara reconoissut per toi lu navigadors.',
'bouton_redirection' => 'TORNAR DIRIGIR',
'bouton_relancer_installation' => 'Tornar lan&ccedil;ar l\'installacion',
'bouton_restaurer_base' => 'Restaurar la basa',
'bouton_suivant' => 'Seguent',
'bouton_tenter_recuperation' => 'Provar d\'adobar',
'bouton_test_proxy' => 'Provar lo proxy',
'bouton_vider_cache' => 'Vuar l\'amagador',
'bouton_voir_message' => 'Veire aqueu messatge denant de lo validar',
 
 
// C
'cache_mode_compresse' => 'Lu fichi&egrave;rs de l\'amagador son registrats en m&ograve;de comprimit.',
'cache_mode_non_compresse' => 'Lu fichi&egrave;rs de l\'amagador son registrats en m&ograve;de non comprimit.',
'cache_modifiable_webmestre' => 'Lo webm&egrave;stre dau sit p&ograve;ut modificar aqu&egrave;u param&egrave;tre.',
'calendrier_synchro' => 'S\'utilisatz un logiciau d\'agenda compatible <b>iCal</b>, lo pod&egrave;tz sincronisar emb li informacions d\'aqueu sit.',
 
 
// D
'date_mot_heures' => 'oras',
'diff_para_ajoute' => 'Paragraf ajustat',
'diff_para_deplace' => 'Paragraf despla&ccedil;at',
'diff_para_supprime' => 'Paragraf suprimit',
'diff_texte_ajoute' => 'T&egrave;xt ajustat',
'diff_texte_deplace' => 'T&egrave;xt despla&ccedil;at',
'diff_texte_supprime' => 'T&egrave;xt suprimit',
'double_clic_inserer_doc' => 'Besclicatz per inserir aquela escorcha dins lo t&egrave;xt.',
 
 
// E
'email' => 'e-mail',
'email_2' => 'e-mail:',
'entree_adresse_annuaire' => 'Adre&ccedil;a de l\'annuari',
'entree_adresse_email' => 'La voastra adre&ccedil;a e-mail',
'entree_adresse_fichier_syndication' => 'Adre&ccedil;a dau fichier &quot;backend&quot; per la sindicacion:',
'entree_adresse_site' => '<b>Adre&ccedil;a dau sit</b> [Obligat&ograve;ri]',
'entree_base_donnee_1' => 'Adre&ccedil;a de la basa de donadas',
'entree_base_donnee_2' => '(Sovent, aquela adre&ccedil;a corresp&ograve;nde a la dau voastre sit, de c&ograve;ups, corresp&ograve;nde a la mencion "localhost", de c&ograve;ups, es laissada vueia completament.)',
'entree_biographie' => 'Biografia br&egrave;va, en quauqui paraulas.',
'entree_breve_publiee' => 'Aquela br&egrave;va deu &egrave;stre publicada&nbsp;?',
'entree_chemin_acces' => '<B>Ficar</b> lo camin d\'acc&egrave;s:',
'entree_cle_pgp' => 'La voastra clau PGP',
'entree_contenu_rubrique' => '(Contengut de la rubrica en quauqui paraulas.)',
'entree_description_site' => 'Descripcion dau sit',
'entree_identifiants_connexion' => 'Voastri identificants de connexion...',
'entree_informations_connexion_ldap' => 'Vorgatz intrar dins aqueu formulari li informacions de connexion au voastre annuari LDAD.
Aqueli informacions vos devon poder &egrave;stre provesidi per l\'administrator dau sistema, &ograve; de la ret.',
'entree_infos_perso' => 'Cu si&egrave;tz?',
'entree_interieur_rubrique' => 'Dintre la rubrica:',
'entree_liens_sites' => '<b>Ligam ipert&egrave;xt</b> (referen&ccedil;a, sit da visitar...)',
'entree_login' => 'Lo voastre login',
'entree_login_connexion_1' => 'Lo login de connexion',
'entree_login_connexion_2' => '(Corresp&ograve;nde de c&ograve;ups au voastre login d\'acc&egrave;s au FTP; de c&ograve;ups laissat vuei)',
'entree_login_ldap' => 'Login LDAP inicial',
'entree_mot_passe' => 'Lo voastre m&ograve;t de santa Clara',
'entree_mot_passe_1' => 'Lo m&ograve;t de santa Clara de connexion',
'entree_mot_passe_2' => '(Corresp&ograve;nde de c&ograve;ups au voastre m&ograve;t de santa Clara per lo FTP; de c&ograve;ups es laissat vuei)',
'entree_nom_fichier' => 'Vorgatz intrar lo nom dau fichier @texte_compresse@:',
'entree_nom_pseudo' => 'Lo voastre nom &ograve; lo voastre pseudonim',
'entree_nom_pseudo_1' => '(Lo voastre nom &ograve; lo voastre pseudonim)',
'entree_nom_site' => 'Lo nom dau voastre sit',
'entree_nouveau_passe' => 'Nov&egrave;u m&ograve;t de santa Clara',
'entree_passe_ldap' => 'M&ograve;t de santa Clara',
'entree_port_annuaire' => 'Lo n&uacute;mero de poart de l\'annuari',
'entree_signature' => 'Signatura',
'entree_texte_breve' => 'T&egrave;xt de la br&egrave;va',
'entree_titre_obligatoire' => '<B>Titre</B> [Obligat&ograve;ri]<BR>',
'entree_url' => 'L\'adre&ccedil;a (URL) dau voastre sit',
 
 
// I
'ical_info1' => 'Aquela p&agrave;gina m&ograve;stra de met&ograve;des diferents per restar en contacte emb la vida d\'aqueu sit.',
'ical_info2' => 'Per aver mai d\'informacions sobre aquelas tecnicas, esitetz pas da consultar <a href="http://www.spip.net/fr_suivi">la documentacion de SPIP</a>.',
'ical_info_calendrier' => 'I a doi calendiers a la voastra disposicion. Lo promier es un plan dau sit qu\'anon&ccedil;a toi lu articles publicats. Lo segond conten lu anoncis editoriaus en mai dei voastres darri&egrave;rs messatges privats: vos es reservat gra&ccedil;as a una clau personala, que la pod&egrave;tz modificar en tot moment en renovant lo voastre m&ograve;t de santa Clara.',
'ical_methode_http' => 'Telecargament',
'ical_methode_webcal' => 'Sincronisacion (webcal://)',
'ical_texte_js' => 'Lu articles publicats en aqueu sit se p&ograve;don afichar aisit, dins toi lu sits voastres, en far servir una linha javascript. ',
'ical_texte_prive' => 'Aqueu calendier, d\'usatge estrictament personau, vos informa de l\'activitat editoriala privada d\'aqueu sit (&ograve;bras e rend&egrave;tz-vos personaus, articles e br&egrave;vas prepauats...).',
'ical_texte_public' => 'Aqueu calendier vos permete de s&egrave;gre l\'activitat publica d\'aqueu sit (articles e br&egrave;vas publicats).',
'ical_texte_rss' => 'Pod&egrave;tz sindicar li noveutats d\'aqueu sit dins tot legidor de fichiers en format XML/RSS (Rich Site Summary). Es tanben lo format que permete a SPIP de legir li noveutats publicadi dins d\'autres sits en utilisar un format d\'escambi compatible (sits sindicats). ',
'ical_titre_js' => 'Javascript',
'ical_titre_mailing' => 'Mailing_list',
'ical_titre_rss' => 'Fichier &laquo;backend&raquo;',
'icone_activer_cookie' => 'Activar lo cookie de corresponden&ccedil;a',
'icone_afficher_auteurs' => 'Faire apar&egrave;isser lu autors',
'icone_afficher_visiteurs' => 'Faire apar&egrave;isser lu visitaires',
'icone_arret_discussion' => 'Participar plus a aquela discussion',
'icone_calendrier' => 'Calendier',
'icone_creation_groupe_mots' => 'Crear un nov&egrave;u grop de m&ograve;ts',
'icone_creation_mots_cles' => 'Crear un nov&egrave;u m&ograve;t clau ',
'icone_creer_auteur' => 'Crear un nov&egrave;l autor e l\'associar a aquel article',
'icone_creer_rubrique_2' => 'Crear una nov&egrave;la rubrica',
'icone_ecrire_nouvel_article' => 'Li br&egrave;vas contengudi dins aquela rubrica',
'icone_envoyer_message' => 'Mandar aqueu messatge',
'icone_evolution_visites' => 'Evolucion dei visitas<br>@visites@ visitas',
'icone_modif_groupe_mots' => 'Modificar aqueu grop de m&ograve;ts',
'icone_modifier_article' => 'Modificar aquel article',
'icone_modifier_breve' => 'Modificar aquela br&egrave;va',
'icone_modifier_message' => 'Modificar aqueu messatge',
'icone_modifier_rubrique' => 'Modificar aquela rubrica',
'icone_modifier_site' => 'Modificar aqueu sit',
'icone_poster_message' => 'Postar un messatge',
'icone_publier_breve' => 'Publicar aquela br&egrave;va',
'icone_referencer_nouveau_site' => 'Referen&ccedil;ar un nov&egrave;u sit',
'icone_refuser_breve' => 'Refudar aquela br&egrave;va',
'icone_retour' => 'Tornar',
'icone_retour_article' => 'Tornar a l\'article',
'icone_suivi_forum' => 'Seguit dau forum public: @nb_forums@&nbsp;contribucion(s)',
'icone_supprimer_cookie' => 'Suprimir lo cookie de corresponden&ccedil;a',
'icone_supprimer_groupe_mots' => 'Suprimir aqueu document',
'icone_supprimer_rubrique' => 'Suprimir aquela rubrica',
'icone_supprimer_signature' => 'Suprimir aquela signatura',
'icone_valider_signature' => 'Validar aquela signatura',
'icone_voir_sites_references' => 'Veire lu sits referen&ccedil;ats',
'icone_voir_tous_mots_cles' => 'Veire toi lu m&ograve;ts claus',
'image_administrer_rubrique' => 'Pod&egrave;tz administrar aquela rubrica',
'info_1_article' => '1 article',
'info_1_breve' => '1 br&egrave;va',
'info_1_site' => '1 sit',
'info_activer_cookie' => 'Pod&egrave;tz activar un <b>cookie de corresponden&ccedil;a</b>; aqu&ograve; vos permetr&agrave; de passar facilament dau sit public au sit privat.',
'info_activer_forum_public' => '<i>Per activar lu forums publics, vorgatz chausir lu sieus m&ograve;des de moderacion predefinits:</i>',
'info_admin_gere_rubriques' => 'Aquel administrator gerisse li rubricas seguentas:',
'info_admin_gere_toutes_rubriques' => 'Aquel administrador gerisse <b>toti li rubricas</b>.',
'info_administrateur' => 'Administrator',
'info_administrateur_1' => 'Administrator',
'info_administrateur_2' => 'dau sit (<i>d\'utilisar emb precaucion</i>)',
'info_administrateur_site_01' => 'Se si&egrave;tz administrator dau sit, vorgatz',
'info_administrateur_site_02' => 'clicar sus aquel estac',
'info_administrateurs' => 'Administrators',
'info_administrer_rubrique' => 'Pod&egrave;tz administrar aquela rubrica',
'info_adresse' => 'a l\'adre&ccedil;a:',
'info_adresse_email' => 'ADRE&Ccedil;A E-MAIL:',
'info_adresse_url' => 'Adre&ccedil;a (URL) dau sit public',
'info_afficher_visites' => 'Afichar li visitas per&nbsp;:',
'info_affichier_visites_articles_plus_visites' => 'Afichar li visitas per lu <b>articles mai visitats desp&iacute; lo principi&nbsp;:</b>',
'info_aide_en_ligne' => 'Ajuda en linha SPIP',
'info_ajout_image' => 'Quora ajustatz d\'imatges coma estacaments jonchs a un article, SPIP p&ograve;ut crear automaticament per vautres de vinhetas (miniaturas) deis images inserits. Aqu&ograve; permete per exemple de crear automaticament una galaria &ograve; un poartf&ograve;lio.',
'info_ajout_participant' => 'Lo participant seguent es ajustat:',
'info_ajouter_rubrique' => 'Ajustar una autra rubrica d\'administrar:',
'info_annonce_nouveautes' => 'Anon&ccedil;a dei noveutats',
'info_anterieur' => 'anteriora',
'info_appliquer_choix_moderation' => 'Aplicar aquela chausida de moderacion&nbsp;:',
'info_article' => 'article',
'info_article_2' => 'articles',
'info_article_a_paraitre' => 'Lu articles p&ograve;stdatats per par&eacute;isser',
'info_articles_02' => 'articles',
'info_articles_2' => 'Articles',
'info_articles_auteur' => 'Lu articles d\'aquel autor',
'info_articles_lies_mot' => 'Lu articles ligats a aqueu m&ograve;t clau',
'info_articles_trouves' => 'Articles trobats',
'info_articles_trouves_dans_texte' => 'Articles trobats (dins lo t&egrave;xt)',
'info_attente_validation' => 'Lu voastres articles en asp&egrave;ra de validacion',
'info_aujourdhui' => 'ancuei:',
'info_auteur_message' => 'AUTOR DAU MESSATGE:',
'info_auteurs' => 'Lu autors',
'info_auteurs_par_tri' => 'autors@partri@',
'info_auteurs_trouves' => 'Autors trobats',
'info_authentification_externe' => 'Autentificacion externa',
'info_avertissement' => 'Avertiment',
'info_base_installee' => 'L\'estructura de la voastra basa de donadas es installada.',
'info_base_restauration' => 'La basa es en cors de restauracion.',
'info_bloquer' => 'blocar',
'info_breves' => 'Lo voastre sit utilisa lo sistema de br&egrave;vas&nbsp;?',
'info_breves_03' => 'br&egrave;vas',
'info_breves_liees_mot' => 'Li br&egrave;vas ligadi a aqueu m&ograve;t clau',
'info_breves_touvees' => 'Br&egrave;vas trobadi',
'info_breves_touvees_dans_texte' => 'Br&egrave;vas trobadi (dins lo t&egrave;xt)',
'info_changer_nom_groupe' => 'Cambiar lo nom d\'aqueu grop:',
'info_chapeau' => 'Cap&egrave;u',
'info_chapeau_2' => 'Cap&egrave;u&nbsp;:',
'info_chemin_acces_1' => 'Opcions: <B>camin d\'acc&egrave;s dins l\'annuari</B>',
'info_chemin_acces_2' => 'Dev&egrave;tz a&uuml;ra configurar lo camin d\'acc&egrave;s ai informacions dins l\'annuari.',
'info_chemin_acces_annuaire' => 'Opcions:<B>camin d\'acc&egrave;s dins l\'annuari',
'info_choix_base' => 'Tresena estapa:',
'info_classement_1' => '<sup>er</sup> sus @liste@',
'info_classement_2' => '<sup>nd</sup> sus @liste@',
'info_code_acces' => 'Oblidetz pas lu voastres c&ograve;des d\'acc&egrave;s personalisats!',
'info_comment_lire_tableau' => 'Coma li&egrave;ger aqueu tabl&egrave;u',
'info_config_suivi' => 'S\'aquela adre&ccedil;a corresponde a una mailing-list, pod&egrave;tz indicar &ccedil;ai sota l\'adre&ccedil;a dont lu participants au sit si p&ograve;don inscriure. Aquela adre&ccedil;a p&ograve;ut &egrave;stre una URL (per exemple la p&agrave;gina d\'inscripcion a la lista per lo web), &ograve; una adre&ccedil;a e-mail tenent un subjecte especific (per exemple&nbsp;: <tt>@adresse_suivi@?subject=subscribe</tt>):',
'info_config_suivi_explication' => 'Vos pod&egrave;tz abonar a la mailing-list d\'aqueu sit. Receber&egrave;tz per corri&egrave;r electonic li anon&ccedil;as dei articles e br&egrave;vas prepauats a la publication.',
'info_confirmer_passe' => 'Confirmar aqueu nov&egrave;u m&ograve;t de santa Clara:',
'info_connexion_base' => 'Segonda estapa&nbsp;: <B>Pr&ograve;va de connexion a la basa</B>',
'info_connexion_ldap_ok' => 'La connexion LDAP a capitat.</b><p> Pod&egrave;tz passar a l\'estapa seguenta.',
'info_connexion_mysql' => 'Promi&egrave;ra estapa:<B>la voastra connexion MySQL</B>',
'info_connexion_ok' => 'La connexion a capitat.',
'info_contact' => 'Contact',
'info_contenu_articles' => 'Contengut dei articles',
'info_creation_mots_cles' => 'Creatz e configuratz aqu&iacute; lu m&ograve;ts claus dau sit',
'info_creation_paragraphe' => '(Per crear de paragrafs, laissatz de linhas vueii, tot simplament)',
'info_creation_rubrique' => 'Denant de poder escriure d\'articles,<br /> dev&egrave;tz crear aumens una rubrica.<br />',
'info_creation_tables' => 'Quatren estapa&nbsp;: <b>Creacion dei taulas de la basa</b>',
'info_creer_base' => '<B>Crear</B> una basa n&ograve;va de donadas:',
'info_dans_groupe' => 'Dins lo grop:',
'info_dans_rubrique' => 'Dins la rubrica:',
'info_date_publication_anterieure' => 'Data anteriora de redaccion:',
'info_date_referencement' => 'DATA DE REFEREN&Ccedil;AMENT D\'AQUEU SIT&nbsp;:',
'info_delet_mots_cles' => 'Av&egrave;tz demandat de suprimir lo m&ograve;t clau
<B>@titre_mot@</B> (@type_mot@). Aqueu m&ograve;t clau es ligat a <b>@texte_lie@</b>. Dev&egrave;tz confirmar aquela decision&nbsp;:',
'info_derniere_etape' => 'Darriera estapa: <B>Es acabat!',
'info_derniere_syndication' => 'La darriera sindicacion d\'aqueu sit si fagu&egrave;t lo',
'info_derniers_articles_publies' => 'Lu voastres darriers articles publicats en linha',
'info_desactiver_forum_public' => 'Desactivar l\'utilisacion dei forums publics. Lu forums publics podr&agrave;n &egrave;stre autorisats au cas per cas sus lu articles; ser&agrave;n pro&iuml;bits sus li rubricas, br&egrave;vas, etc.',
'info_desactiver_messagerie_personnelle' => 'Pod&egrave;tz activar &ograve; desactivar la voastra messatgeria personala sus aqueu sit.',
'info_descriptif' => 'Descriptiu:',
'info_discussion_cours' => 'Discussions en cors',
'info_ecrire_article' => 'Denant de poder escriure d\'articles, dev&egrave;tz aumanco crear una rubrica.',
'info_email_envoi' => 'Adre&ccedil;a e-mail de mandad&iacute;s (opcionau)',
'info_email_envoi_txt' => 'Indicatz aqu&iacute; l\'adre&ccedil;a d\'utilisar per mandar lu e-mails (a fauta d\'aqu&ograve;, s\'utilisar&agrave; l\'adre&ccedil;a destinat&agrave;ria coma adre&ccedil;a de mandad&iacute;s):',
'info_email_webmestre' => 'Adre&ccedil;a e-mail dau responsable dau sit (opcional)',
'info_entrer_code_alphabet' => 'Ficatz lo c&ograve;de de l\'alfabet d\'utilisar&nbsp;:',
'info_envoi_email_automatique' => 'Mandad&iacute;s d\'e-mails automatics',
'info_envoi_forum' => 'Mandad&iacute;s dei forums ai autors dei articles',
'info_envoyer_maintenant' => 'Mandar a&uuml;ra',
'info_erreur_restauration' => 'Error de restauracion: fichier inexistent.',
'info_etape_suivante' => 'Passar a l\'estapa seguenta',
'info_etape_suivante_1' => 'Pod&egrave;tz passar a l\'estapa seguenta.',
'info_etape_suivante_2' => 'Pod&egrave;tz passar a l\'estapa seguenta.',
'info_exportation_base' => 'exportacion de la basa vers @archive@',
'info_facilite_suivi_activite' => 'Per facilitar lo seguit de l\'activitat editoriala dau sit, SPIP vos p&ograve;ut fornir per e-mail, per exemple a una mailing-list dei redactors, l\'anon&ccedil;a de li demandas de publicacion e de validacion d\'articles.',
'info_fichiers_authent' => 'Fichiers d\'autentificacion &laquo;&nbsp;.htpasswd&nbsp;&raquo;',
'info_fonctionnement_forum' => 'Foncionament dau forum&nbsp;:',
'info_forum_administrateur' => 'forum dei administrators',
'info_forum_interne' => 'forum interne',
'info_forum_ouvert' => 'Dins l\'espaci privat dau sit, un forum es dub&egrave;rt a toi lu redactors registrats. Pod&egrave;tz, &ccedil;ai sota, activar un forum suplementari, reservat ai solets administrators.',
'info_forum_statistiques' => 'Estadisticas de li visitas',
'info_forums_abo_invites' => 'Lo voastre sit web porg&iacute;s de forums per lu abonats; dins lo sit public lu vesitaires son convidats a se registrar.',
'info_gauche_admin_effacer' => '<b>A aquela p&agrave;gina, son que lu responsables dau sit que p&ograve;don accedir.</b><p /> Dona acc&egrave;s ai diferenti foncions de mantenen&ccedil;a tecnica. D\'unas d\'entre eli implican un proc&egrave;ssus d\'autentificacion especific, que necessita d\'aver un acc&egrave;s FTP au sit web.',
'info_gauche_admin_tech' => '<b>A aquela p&agrave;gina, son que lu responsables dau sit que i p&ograve;don accedir.</b><p /> Dona acc&egrave;s ai diferenti foncions de mantenen&ccedil;a tecnica. D\'unas d\'entre eli implican un proc&egrave;ssus d\'autentificacion especific, que
necessita d\'aver un acc&egrave;s FTP au sit web.',
'info_gauche_admin_vider' => '<b>A aquela p&agrave;gina, son que lu responsables dau sit que i p&ograve;don accedir.</b><p /> Dona acc&egrave;s ai diferenti foncions de mantenen&ccedil;a tecnica. D\'unas d\'entre eli implican un proc&egrave;ssus d\'autentificacion especific, que necessita d\'aver un acc&egrave;s FTP au sit web.',
'info_gauche_auteurs' => 'Trobaretz aqu&iacute; toi lu autors dau sit.
Lo sieu estatut es indicat per la color dei ic&ograve;nas sieui (administrator&nbsp;: verd; redactor&nbsp;: jaune).',
'info_gauche_auteurs_exterieurs' => 'Lu autors exteriors, sensa acc&egrave;s au sit, son indicats per una ic&ograve;na blu; lu autors escafats per una bordilhier.',
'info_gauche_messagerie' => 'La messatgeria vos permete d\'escambiar de messatges entre redactors, de conservar de n&ograve;tas de renembran&ccedil;a (per lo voastre usatge personau) &ograve; d\'afichar d\'anoncis sus la p&agrave;gina d\'acu&egrave;lh de l\'espaci privat (se si&egrave;tz administrator).',
'info_gauche_numero_auteur' => 'AUTOR N&Uacute;MERO',
'info_gauche_numero_breve' => 'BR&Egrave;VA N&Uacute;MERO',
'info_gauche_statistiques_referers' => 'Aquela p&agrave;gina presenta la tiera dei <i>referits</i>, es a dire dei sits que contenon d\'estacs que menan drech au voastre sit, ma unicament per i&egrave;r e ancuei&nbsp;: de fach aquela tiera es actualisada cada 24 oras.',
'info_gauche_suivi_forum' => 'La p&agrave;gina de <i>seguit dei forums</i> es una aisina de gestion dau voastre sit (ma es pas un espaci de discussion &ograve; de redaccion). Fa par&eacute;isser toti li contribucions dau forum public d\'aquel article e vos permete de gerar aqueli contribucions.',
'info_gauche_suivi_forum_2' => 'La p&agrave;gina de <i>seguit dei forums</i> es una aisina de gestion dau voastre sit (ma es pas un espaci de discussion &ograve; de redaccion). Fa par&eacute;isser toti li contribucions dei forums dau sit, autanben aqueli dau sit public coma de l\'espaci privat e vos permete de gerar aqueli contribucions.',
'info_gauche_visiteurs_enregistres' => 'Trobaretz aqu&iacute; lu visitaires registrats dins l\'espaci public dau sit (forums sus abonament).',
'info_generation_miniatures_images' => 'Generacion de miniaturas dei imatges',
'info_gerer_trad' => 'Gerar lu estacs de revirada?',
'info_groupe_important' => 'Grop important',
'info_hebergeur_desactiver_envoi_email' => 'I son d\'aubergadors que desactivan lo mandad&iacute;s automatic d\'e-mails despi lu sieus servidors. En aqueu cas, li foncionalitats seguenti de SPIP foncionar&agrave;n pas.',
'info_hier' => 'i&egrave;r&nbsp;:',
'info_historique' => 'Revisions:',
'info_historique_activer' => 'Activar lo seguiment dei revisions',
'info_historique_affiche' => 'Afichar aquela version',
'info_historique_comparaison' => 'comparason',
'info_historique_desactiver' => 'Desactivar lo seguiment dei revisions',
'info_historique_lien' => 'Afichar l\'istoric',
'info_historique_texte' => 'Lo seguiment dei revisions permet de conservar un istoric de toti li modificacions que s\'es portat au contengut d\'un article, e d\'afichar li diferen&ccedil;as entre li versions successivas.',
'info_historique_titre' => 'Seguiment dei revisions',
'info_identification_publique' => 'La voastra identitat publica...',
'info_image_process' => 'Vorgatz seleccionar lo melhor met&ograve;de de fabricacion dei vinhetas en clicar sus l\'imatge correspondent.',
'info_image_process2' => '<b>N.B.</b> <i>Se minga d\'imatge apareisse, alora lo servidor qu\'auberga lo voastre site es pas estat configurat per utilisar de tau autis. Se desiratz utilisar aqueli foncions, contactatz lo responsable tecnic e demandatz li extensions &laquo;GD&raquo; o &laquo;Imagick&raquo;.</i>',
'info_images_auto' => 'Imagtes calculats automaticament',
'info_informations_personnelles' => 'Cinquena estapa: <b>Informacions personali</b>',
'info_inscription_automatique' => 'Inscripcion automatica de redactors nov&egrave;us',
'info_jeu_caractere' => 'Ju&egrave;c de caract&egrave;rs dau sit',
'info_jours' => 'jorns',
'info_laisser_champs_vides' => 'laissar lu camps vueis)',
'info_langues' => 'Lengas dau sit',
'info_ldap_ok' => 'L\'autentificacion LDAP es installada.',
'info_lien_hypertexte' => 'Ligam ipert&egrave;xt:',
'info_liens_syndiques_1' => 'estacs sindicats',
'info_liens_syndiques_2' => 'son en asp&egrave;ra de validacion.',
'info_liens_syndiques_3' => 'forums',
'info_liens_syndiques_4' => 'son',
'info_liens_syndiques_5' => 'forum',
'info_liens_syndiques_6' => 'es',
'info_liens_syndiques_7' => 'en asp&egrave;ra de validacion',
'info_liste_redacteurs_connectes' => 'Tiera dei redactors connectats',
'info_login_existant' => 'Aqueu login ja existisse.',
'info_login_trop_court' => 'Login tr&ograve;up cort.',
'info_maximum' => 'maximum&nbsp;:',
'info_meme_rubrique' => 'Dins la mema rubrica',
'info_message' => 'Messatge dau',
'info_message_efface' => 'MESSATGE ESFA&Ccedil;AT',
'info_message_en_redaction' => 'Lu voastres messatges en cors de redaccion',
'info_message_technique' => 'Messatge tecnic:',
'info_messagerie_interne' => 'Messatgeria interna',
'info_mise_a_niveau_base' => 'Mesa a niv&egrave;u de la voastra basa MySQL',
'info_mise_a_niveau_base_2' => '{{M&egrave;fi!}} Av&egrave;tz installat una version
de fichiers SPIP {anteriora} a aquela que si trobava
avans sus aqueu sit: la voastra basa de donadas risca d\'&egrave;stre
perduda e lo voastre sit foncionar&agrave; plus.<br />{{Tornatz installar lu
fichiers de SPIP.}}',
'info_mode_fonctionnement_defaut_forum_public' => 'M&ograve;de de foncionament predefinit dei forums publics',
'info_modifier_breve' => 'Modificar la br&egrave;va:',
'info_modifier_rubrique' => 'Modificar la rubrica:',
'info_modifier_titre' => 'Modificar: @titre@',
'info_mon_site_spip' => 'Lo mieu sit SPIP',
'info_mot_sans_groupe' => '(M&ograve;ts sensa grop...)',
'info_moteur_recherche' => 'Motor de recerca integrat',
'info_mots_cles' => 'Lu m&ograve;ts claus',
'info_mots_cles_association' => 'Lu m&ograve;ts claus d\'aqueu grop p&ograve;don &egrave;stre associats:',
'info_moyenne' => 'mejana&nbsp;:',
'info_multi_articles' => 'Activar lo menut de lenga per lu articles ?',
'info_multi_cet_article' => 'Lenga d\'aquest article:',
'info_multi_langues_choisies' => 'Vorgatz seleccionar &ccedil;ai sota li lengas que son a posita dei redactors dau voastre sit.
Li lengas ja emplegadi dins lo voastre sit (afichadas en promier) non si p&ograve;don desactivar.',
'info_multi_rubriques' => 'Activar lo menut de lenga per li rubricas?',
'info_multi_secteurs' => '... solament per li rubricas a la rai&ccedil; dau sit?',
'info_nom' => 'Nom',
'info_nom_destinataire' => 'Nom dau destinatari',
'info_nom_site' => 'Nom dau voastre site',
'info_nom_site_2' => '<b>Nom dau sit</b> [Obligat&ograve;ri]',
'info_nombre_articles' => '@nb_articles@ articles,',
'info_nombre_breves' => '@nb_breves@ br&egrave;vas, ',
'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION&nbsp;:',
'info_nombre_rubriques' => '@nb_rubriques@ rubricas,',
'info_nombre_sites' => '@nb_sites@ sits,',
'info_non_deplacer' => 'De pas despla&ccedil;ar...',
'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP p&ograve;ut mandar regularament, l\'anon&ccedil;a dei darrieri noveutats dau sit (articles e br&egrave;vas publicats recentament).',
'info_non_envoi_liste_nouveautes' => 'Non mandar la tiera dei noveutats',
'info_non_modifiable' => 'p&ograve;u pas &egrave;stre modificat',
'info_non_suppression_mot_cle' => 'v&ograve;li pas suprimir aqueu m&ograve;t clau.',
'info_notes' => 'N&ograve;tas',
'info_nouveaux_message' => 'Messatges nov&egrave;us',
'info_nouvel_article' => 'Article n&ograve;u',
'info_nouvelle_traduction' => 'Nov&egrave;la revirada&nbsp;:',
'info_numero_article' => 'ARTICLE N&Uacute;MERO',
'info_obligatoire_02' => '[Obligat&ograve;ri]',
'info_option_accepter_visiteurs' => 'Acceptar l\'inscripcion dei visitaires dau sit public',
'info_option_email' => 'Quora un visitaire dau sit p&ograve;sta un messatge nov&egrave;u dins lo forum, associat a un article, lu autors de l\'article p&ograve;don &egrave;stre avertits d\'aqueu messatge per corrier electronic. Desiratz d\'utilisar aquela opcion&nbsp;?',
'info_option_faire_suivre' => 'Faire s&egrave;gre lu messatges dei forums ai autors dei articles',
'info_option_ne_pas_accepter_visiteurs' => 'Refusar l\'inscripcion de visitaires',
'info_option_ne_pas_faire_suivre' => 'Non faire s&egrave;gre lu messatges dei forums',
'info_options_avancees' => 'OPCIONS AVAN&Ccedil;ADAS',
'info_ortho_activer' => 'Activar lo verificador d\'ortografia',
'info_ortho_desactiver' => 'Desactivar lo verificador d\'ortografia',
'info_ou' => '&ograve;... ',
'info_oui_suppression_mot_cle' => 'V&ograve;li suprimir aqueu m&ograve;t clau definitivament.',
'info_page_interdite' => 'P&agrave;gina pro&iuml;bida',
'info_par_nombre_article' => '(per nombre d\'articles)',
'info_par_tri' => '(per @tri@)',
'info_pas_de_forum' => 'Minga de forum',
'info_passe_trop_court' => 'M&ograve;t de santa Clara tr&ograve;up cort.',
'info_passes_identiques' => 'Li doi m&ograve;ts de santa Clara son pas identics.',
'info_pense_bete_ancien' => 'Li voastri anciani n&ograve;tas de renembran&ccedil;a',
'info_plus_cinq_car' => 'mai de 5 caract&egrave;rs',
'info_plus_cinq_car_2' => '(mai de 5 caract&egrave;rs)',
'info_plus_trois_car' => '(mai de 3 caract&egrave;rs)',
'info_popularite' => 'popularitat:&nbsp;@popularite@; visitas: @visites@',
'info_popularite_2' => 'popularitat dau sit:',
'info_popularite_3' => 'popularitat: @popularite@; visitas: @visites@',
'info_popularite_4' => 'popularitat: @popularite@; visitas: @visites@',
'info_post_scriptum' => 'Post-Scriptum',
'info_post_scriptum_2' => 'Post-Scriptum&nbsp;:',
'info_pour' => 'per',
'info_preview_admin' => 'Solament lu administrators p&ograve;don previsualisar lo sit',
'info_preview_comite' => 'Toi lu redactors p&ograve;don previsualisar lo sit',
'info_preview_desactive' => '>La previsualisacion es totalament desactivada',
'info_preview_texte' => 'Es possible de previsualisar lo site coma se toi lu articles e br&egrave;vas (que tenon au m&agrave;nco l\'estatut &laquo;&nbsp;prepauat&nbsp;&raquo;) &egrave;ron publicats. Aquela possibilitat deu &egrave;stre duberta ai administrators solament, a toi lu redactors, o a degun&nbsp;?',
'info_principaux_correspondants' => 'Lu voastres correspondents principaus',
'info_procedez_par_etape' => 'proced&egrave;tz estapa per estapa',
'info_procedure_maj_version' => 'la procedura de mesa a jorn deu &egrave;stre lan&ccedil;ada per adaptar la basa de donadas a la nov&egrave;la version de SPIP.',
'info_ps' => 'P.-S.',
'info_publier' => 'publicar',
'info_publies' => 'Lu voastres articles publicats en linha',
'info_question_accepter_visiteurs' => 'Se lu esquelets dau voastre site prevehon lo registrament de visitors sensa acc&egrave;s a l\'espaci privat, vorgatz activar l\'opcion seguenta&nbsp;:',
'info_question_gerer_statistiques' => 'Lo voastre site deu gerar li estadisticas dei visitas&nbsp;?',
'info_question_inscription_nouveaux_redacteurs' => 'Acceptatz li inscripcions de nov&egrave;us redactors a partir dau sit public&nbsp;? Se l\'acceptatz, lu visitaires si podr&agrave;n inscriure desp&iacute; un formulari automatisat e accedir&agrave;n alora a l\'espaci privat per prepauar lu sieus articles pr&ograve;pis.<blockquote><i>Durant la fasa d\'inscripcion, lu utilisaires recebon un corrier electronic automatic que li fornisse lu sieus c&ograve;des d\'acc&egrave;s au sit privat.
I son d\'aubergadors que desactivan lo mandad&iacute;s d\'e-mails desp&iacute; lu sieus servidors: en aqueu cas, l\'inscripcion automatica es impossibla.',
'info_question_mots_cles' => 'Desiratz d\'utilisar lu m&ograve;ts claus sus lo voastre sit?',
'info_question_proposer_site' => 'Cu p&ograve;ut prepauar de sits referen&ccedil;ats?',
'info_question_utilisation_moteur_recherche' => 'Desiratz d\'utilisar lo motor de recerca integrat a SPIP? (s\'es desactivat, accel&egrave;ra lo foncionament dau sistema.)',
'info_qui_attribue_mot_cle' => 'Lu m&ograve;ts d\'aqueu grop p&ograve;don &egrave;stre atribuits per:',
'info_racine_site' => 'Rai&ccedil; dau sit',
'info_recharger_page' => 'Vorgatz tornar cargar aquela p&agrave;gina dins un momenton.',
'info_recherche_auteur_a_affiner' => 'Tr&ograve;up de resultats per "@cherche_auteur@"; vorgatz afinar la recerca.',
'info_recherche_auteur_ok' => 'Mantun redactors trobats per "@cherche_auteur@":',
'info_recherche_auteur_zero' => 'Minga de resultat trobat per "@cherche_auteur@".',
'info_recommencer' => 'Vorgatz tornar comen&ccedil;ar.',
'info_redacteur_1' => 'Redactor',
'info_redacteur_2' => 'qu\'a acc&egrave;s a l\'espaci privat(<i>recomandat</i>)',
'info_redacteurs' => 'Redactors',
'info_redaction_en_cours' => 'EN CORS DE REDACCION',
'info_redirection' => 'Redireccion',
'info_referencer_doc_distant' => 'Referen&ccedil;ar un document sus l\'internet&nbsp;:',
'info_refuses' => 'Lu voastres articles refudats',
'info_reglage_ldap' => 'Opcions: <B>Reglatge de l\'importacion LDAP</B>',
'info_renvoi_article' => '<B>Redireccion.</B> Aquel article torna mandar a la p&agrave;gina:',
'info_reserve_admin' => 'Solets lu administrators p&ograve;don modificar aquela adre&ccedil;a.',
'info_restauration_sauvegarde' => 'restauracion de la sauvagarda @archive@',
'info_restreindre_rubrique' => 'Restr&eacute;nher la gestion a la rubrica:',
'info_resultat_recherche' => 'Resultats de la recerca&nbsp;:',
'info_rubriques' => 'Rubricas',
'info_rubriques_02' => ' rubricas',
'info_rubriques_liees_mot' => 'Li rubricas ligadi a aqueu m&ograve;t clau',
'info_rubriques_trouvees' => 'Rubricas trobadi',
'info_rubriques_trouvees_dans_texte' => 'Rubricas trobadi (dins lo t&egrave;xt)',
'info_sans_titre' => 'Sensa titre',
'info_sauvegarde' => 'Sauvagarda',
'info_sauvegarde_articles' => 'Sauvagardar lu articles',
'info_sauvegarde_articles_sites_ref' => 'Sauvagardar lu articles dei sits referen&ccedil;ats',
'info_sauvegarde_auteurs' => 'Sauvagardar lu autors',
'info_sauvegarde_breves' => 'Sauvagardar li br&egrave;vas',
'info_sauvegarde_documents' => 'Sauvagardar lu documents',
'info_sauvegarde_echouee' => 'Se la sauvagarda a so&iuml;t (&laquo;Maximum execution time exceeded&raquo;),',
'info_sauvegarde_forums' => 'Sauvagardar lu forums',
'info_sauvegarde_groupe_mots' => 'Sauvagardar lu grops de m&ograve;ts',
'info_sauvegarde_messages' => 'Sauvagardar lu messatges',
'info_sauvegarde_mots_cles' => 'Sauvagardar lu m&ograve;ts clau',
'info_sauvegarde_petitions' => 'Sauvagardar li peticions',
'info_sauvegarde_refers' => 'Sauvagardar lu referits',
'info_sauvegarde_reussi_01' => 'Sauvagarda capitada.',
'info_sauvegarde_reussi_02' => 'La basa es estada sauvagardada dins <b>ecrire/data/@archive@</b>. Pod&egrave;tz',
'info_sauvegarde_reussi_03' => 'tornar a la gestion',
'info_sauvegarde_reussi_04' => 'dau voastre sit.',
'info_sauvegarde_rubriques' => 'Sauvagardar li rubricas',
'info_sauvegarde_signatures' => 'Sauvagardar li signaturas de peticions',
'info_sauvegarde_sites_references' => 'Sauvagardar lu sits referen&ccedil;ats',
'info_sauvegarde_type_documents' => 'Sauvagardar lu tipes de documents',
'info_sauvegarde_visites' => 'Sauvagardar li visitas',
'info_selection_chemin_acces' => '<b>Seleccionatz</b> &ccedil;ai sota lo camin d\'acc&egrave;s dins l\'annuari:',
'info_selection_un_seul_mot_cle' => 'Si p&ograve;ut seleccionar qu\'<b>un m&ograve;t clau</b> a l\'enc&ograve;up dins aqueu grop.',
'info_signatures' => 'signaturas',
'info_site' => 'Sit',
'info_site_2' => 'sit&nbsp;: ',
'info_site_min' => 'sit',
'info_site_propose' => 'Sit prepauat lo&nbsp;:',
'info_site_reference_2' => 'Sit referen&ccedil;at',
'info_site_syndique' => 'Aqueu sit es sindicat...',
'info_site_valider' => 'Sits de validar',
'info_site_web' => 'SIT WEB&nbsp;:',
'info_sites' => ' sits',
'info_sites_lies_mot' => 'Lu sits referen&ccedil;ats ligats a aqueu m&ograve;t clau',
'info_sites_proxy' => 'Utilisar un proxy',
'info_sites_refuses' => 'Lu sits refudats',
'info_sites_trouves' => 'Sits trobats',
'info_sites_trouves_dans_texte' => 'Sits trobats (dins lo t&egrave;xt)',
'info_sous_titre' => 'Jostitre:',
'info_statut_administrateur' => 'Administrator',
'info_statut_auteur' => 'Estatut d\'aquel autor:',
'info_statut_efface' => 'Esca&ccedil;at',
'info_statut_redacteur' => 'Redactor',
'info_statut_site_1' => 'Aqueu sit es&nbsp;:',
'info_statut_site_2' => 'Publicat',
'info_statut_site_3' => 'Prepauat',
'info_statut_site_4' => 'Au bordilhier',
'info_statut_utilisateurs_1' => 'Estatut predefinit dei utilisaires importats',
'info_statut_utilisateurs_2' => 'Chausiss&egrave;tz l\'estatut qu\'es atribuit ai personas presenti dins l\'annuari LDAP quora si connecton lo premier c&ograve;up. Pi podr&egrave;tz modificar aquela valor per cada autor au cas per cas.',
'info_suivi_activite' => 'Seguit de l\'activitat editoriala',
'info_supprimer_mot' => 'suprimir&nbsp;aqueu&nbsp;m&ograve;t',
'info_surtitre' => 'Sobretitre:',
'info_taille_maximale_vignette' => 'Talha maximala dei vinhetas generadi per lo sistema:',
'info_terminer_installation' => 'A&uuml;ra pod&egrave;tz acabar la procedura d\'installacion estandard.',
'info_texte' => 'T&egrave;xt',
'info_texte_explicatif' => 'T&egrave;xt explicatiu',
'info_texte_long' => '(lo t&egrave;xt es l&ograve;ng: apareisse doncas en tr&ograve;&ccedil; distints que si tornar&agrave;n empegar un c&ograve;up validats.)',
'info_texte_message' => 'T&egrave;xt dau voastre messatge:',
'info_texte_message_02' => 'T&egrave;xt dau messatge',
'info_titre' => 'Titre:',
'info_titre_mot_cle' => 'Nom &ograve; titre dau m&ograve;t clau',
'info_total' => 'totau&nbsp;: ',
'info_tous_articles_en_redaction' => 'Toi lu articles en cors de redaccion',
'info_tous_articles_presents' => 'Toi lu articles publicats dins aquela rubrica',
'info_tous_les' => 'toi lu:',
'info_tous_redacteurs' => 'Anon&ccedil;as a toi lu redactors',
'info_tout_site' => 'Tot lo sit',
'info_tout_site2' => 'An pas revirat l\'article dins aquela lenga.',
'info_tout_site3' => 'An revirat l\'article dins aquela lenga, mas an portat pu&egrave;i de modificacions a l\'article de referen&ccedil;a. Cau actualisar la revirada.',
'info_tout_site4' => 'An revirat l\'article dins aquela lenga, e la revirada es actualisada.',
'info_tout_site5' => 'Article originau.',
'info_tout_site6' => '<b>Atencion:</b> solament lu articles originaus s\'afichan.
Li reviradas s\'ass&ograve;cian a l\'originau,
una color indica lo sieu estat:',
'info_travail_colaboratif' => 'Travalh collaboratiu sus lu articles',
'info_un_article' => 'un article, ',
'info_un_mot' => 'Un sol m&ograve;t a l\'enc&ograve;p',
'info_un_site' => 'un sit, ',
'info_une_breve' => 'una br&egrave;va, ',
'info_une_rubrique' => 'una rubrica, ',
'info_une_rubrique_02' => '1 rubrica',
'info_url' => 'URL&nbsp;:',
'info_url_site' => 'URL DAU SIT:',
'info_urlref' => 'Ligam ipert&egrave;xt&nbsp;:',
'info_utilisation_spip' => 'A&uuml;ra pod&egrave;tz comen&ccedil;ar a utilisar lo sistema de publicacion assistat...',
'info_visites_par_mois' => 'Afichatge per mes:',
'info_visites_plus_populaires' => 'Far par&eacute;isser li visitas <b>per articles mai populars</b> e <b>per darriers articles publicats:</b>',
'info_visiteur_1' => 'Visitaire',
'info_visiteur_2' => 'dau sit public',
'info_visiteurs' => 'Visitaires',
'info_visiteurs_02' => 'Visitaires dau sit public',
'install_echec_annonce' => 'L\'installacion capitar&agrave; mau, &ograve; abotir&agrave; a un sit non foncionau...',
'install_extension_mbstring' => 'SPIP fonciona pas emb:',
'install_extension_php_obligatoire' => 'SPIP esige l\'estension PHP:',
'install_select_langue' => 'Seleccionatz una lenga pi clicatz sus lo boton &laquo;&nbsp;seguent&nbsp;&raquo; per amodar la procedura d\'installacion.',
'intem_redacteur' => 'redactor',
'item_accepter_inscriptions' => 'Acceptar li inscripcions',
'item_activer_forum_administrateur' => 'Activar lo forum dei administrators',
'item_activer_messages_avertissement' => 'Activar lu messatges d\'avertiment',
'item_administrateur_2' => 'administrator',
'item_afficher_calendrier' => 'Far par&eacute;isser dins lo calendier',
'item_ajout_mots_cles' => 'Autorisar l\'ajust de m&ograve;ts claus ai forum',
'item_autoriser_documents_joints' => 'Autorisar lu documents jonchs ai articles',
'item_autoriser_documents_joints_rubriques' => 'Autorisar lu documents dins li rubricas',
'item_bloquer_liens_syndiques' => 'Blocar lu estacs sindicats per validacion',
'item_breve_refusee' => 'NON - Br&egrave;va refusada',
'item_breve_validee' => 'A&Iuml;- Br&egrave;va validada',
'item_choix_administrateurs' => 'lu administrators',
'item_choix_generation_miniature' => 'Generar automaticament li miniaturas dei imatges.',
'item_choix_non_generation_miniature' => 'Pas generar de miniaturas dei imatges.',
'item_choix_redacteurs' => 'lu redactors',
'item_choix_visiteurs' => 'lu visitaires dau sit public',
'item_creer_fichiers_authent' => 'Crear de fichiers .htpasswd',
'item_desactiver_forum_administrateur' => 'Desactivar lo forum dei administrators',
'item_gerer_annuaire_site_web' => 'Gerar un annuari de sits web',
'item_gerer_statistiques' => 'Pas gerar li estadisticas',
'item_limiter_recherche' => 'Limitar la recerca ai informacions contengudi dins lo voastre sit',
'item_login' => 'Login',
'item_mots_cles_association_articles' => 'ai articles',
'item_mots_cles_association_breves' => 'ai br&egrave;vas',
'item_mots_cles_association_rubriques' => 'ai rubricas',
'item_mots_cles_association_sites' => 'ai sits referen&ccedil;ats &ograve; sindicats',
'item_non' => 'Non',
'item_non_accepter_inscriptions' => 'Acceptar pas li inscripcions',
'item_non_activer_messages_avertissement' => 'Minga de messatge d\'avertiment',
'item_non_afficher_calendrier' => 'Pas far par&eacute;isser dins lo calendier',
'item_non_ajout_mots_cles' => 'Pro&iuml;bir l\'utilisacion dei m&ograve;ts claus dins lu forums',
'item_non_autoriser_documents_joints' => 'Autorisar pas lu documents dins lu articles',
'item_non_autoriser_documents_joints_rubriques' => 'Autorisar pas lu documents dins li rubricas',
'item_non_bloquer_liens_syndiques' => 'Blocar pas lu ligams eissuts de la sindicacion',
'item_non_creer_fichiers_authent' => 'Crear pas aquelu fichiers',
'item_non_gerer_annuaire_site_web' => 'Desactivar l\'annuari de sits web',
'item_non_gerer_statistiques' => 'Pas gerar li estadisticas',
'item_non_limiter_recherche' => 'Alargar la recerca au contengut dei sits referen&ccedil;ats',
'item_non_publier_articles' => 'Publicar pas lus articles avans la data de publicacion prevista.',
'item_non_utiliser_breves' => 'Utilisar pas li br&egrave;vas',
'item_non_utiliser_config_groupe_mots_cles' => 'Utilisar pas la configuracion avan&ccedil;ada dei grops de m&ograve;ts claus',
'item_non_utiliser_moteur_recherche' => 'Utilisar pas lo motor',
'item_non_utiliser_mots_cles' => 'Utilisar pas lu m&ograve;ts claus',
'item_non_utiliser_syndication' => 'Utilisar pas la sindicacion automatica',
'item_nouvel_auteur' => 'Nov&egrave;l autor',
'item_nouvelle_breve' => 'Nov&egrave;la br&egrave;va',
'item_nouvelle_rubrique' => 'Nov&egrave;la rubrica',
'item_oui' => 'A&iuml;',
'item_publier_articles' => 'Publicar lu articles, quauque sigue la data de publicacion',
'item_reponse_article' => 'Resp&ograve;sta a l\'article',
'item_utiliser_breves' => 'Utilisar li br&egrave;vas',
'item_utiliser_config_groupe_mots_cles' => 'Utilisar la configuracion avan&ccedil;ada dei grops de m&ograve;ts claus',
'item_utiliser_moteur_recherche' => 'Utilisar lo motor de recerca',
'item_utiliser_mots_cles' => 'Utilisar lu m&ograve;ts claus',
'item_utiliser_syndication' => 'Utilisar la sindicacion automatica',
'item_visiteur' => 'visitaire',
 
 
// J
'jour_non_connu_nc' => 'n.c.',
 
 
// L
'lien_ajout_destinataire' => 'Ajustar aqueu destinatari',
'lien_ajouter_auteur' => 'Ajustar aquel autor',
'lien_ajouter_participant' => 'Ajustar un participant',
'lien_email' => 'e-mail',
'lien_forum_public' => 'Gerar lo forum public d\'aquel article',
'lien_mise_a_jour_syndication' => 'Actualisar a&uuml;ra',
'lien_nom_site' => 'NOM DAU SIT:',
'lien_nouvelle_recuperation' => 'Temptar una nov&egrave;la recuperacion de li donadas',
'lien_reponse_article' => 'Resp&ograve;sta a l\'article',
'lien_reponse_breve' => 'Resp&ograve;sta a la br&egrave;va',
'lien_reponse_breve_2' => 'Resp&ograve;sta a la br&egrave;va',
'lien_reponse_rubrique' => 'Resp&ograve;sta a la rubrica',
'lien_reponse_site_reference' => 'Resp&ograve;sta au sit referen&ccedil;at:',
'lien_retirer_auteur' => 'Retirar l\'autor',
'lien_retrait_particpant' => 'retirar aqueu participant',
'lien_site' => 'sit',
'lien_supprimer_rubrique' => 'suprimir aquela rubrica',
'lien_tout_deplier' => 'Desplegar tot',
'lien_tout_replier' => 'Repeglar',
'lien_trier_nom' => 'Triar per nom',
'lien_trier_nombre_articles' => 'Triar per nombre d\'articles',
'lien_trier_statut' => 'Triar per estatut',
'lien_voir_en_ligne' => 'VEIRE EN LINHA:',
'logo_article' => 'L&Ograve;GO DE L\'ARTICLE',
'logo_auteur' => 'L&Ograve;GO DE L\'AUTOR',
'logo_breve' => 'L&Ograve;GO DE LA BR&Egrave;VA',
'logo_mot_cle' => 'L&Ograve;GO DAU M&Ograve;T CLAU',
'logo_rubrique' => 'L&Ograve;GO DE LA RUBRICA',
'logo_site' => 'L&Ograve;GO D\'AQUEU SIT',
'logo_standard_rubrique' => 'L&Ograve;GO ESTANDARD DEI RUBRICAS',
'logo_survol' => 'L&Ograve;GO PER LO SUBREV&Ograve;L',
 
 
// M
'menu_aide_installation_choix_base' => 'Chausida de la voastra basa',
'module_fichier_langue' => 'Fichier de lenga',
'module_raccourci' => 'Escorcha',
'module_texte_affiche' => 'T&egrave;xt afichat',
'module_texte_explicatif' => 'Pod&egrave;tz inserir li escorchas seguenti dins li esqueletas dau voastre sit public. Se revirar&agrave;n automaticament dins li diferenti lengas per las qualas exist&iacute;s un fichier de lenga.',
'module_texte_traduction' => 'Aquest fichier de lenga &laquo;&nbsp;@module@&nbsp;&raquo; es disponible en&nbsp;:',
'mois_non_connu' => 'non conoissut',
 
 
// O
'onglet_repartition_actuelle' => 'actualament',
'ortho_ajouter_ce_mot' => 'Ajustar aqueste m&ograve;t au diccionari',
'ortho_aucune_suggestion' => 'S\'es trobat minga de suggestion per aqu&egrave;u mot.',
'ortho_avis_privacy' => 'Un verificador d\'ortografia es integrat a SPIP. Pr\'aqu&ograve;, avant d\'activar aquela foncionalitat, vorgatz legir emb atencion lo paragraf seguent:',
'ortho_avis_privacy2' => 'Per verificar l\'ortografia d\'un t&egrave;xte, lo site mandar&agrave; la ti&egrave;ra dei m&ograve;ts da controlar dev&egrave;rs un dei &laquo;&nbsp;servidors d\'orthografia&nbsp;&raquo; ext&egrave;rnes que lu diferents s&ograve;cis de la comunitat SPIP an mes a voastra disposicion. Se manda lu m&ograve;ts dins lo des&ograve;rdre per fin d\'assegurar un m&igrave;nimo de confidencialitat. S\'avetz paur per li voastre donadas, activetz pas aquela opcion (e levatz sus lo c&ograve;up li voastre informacions dau web).',
'ortho_ce_mot_connu' => 'Aqu&egrave;u mot fa partida dau diccionari dau sit.',
'ortho_dico_absent' => 'Minga dicionari es estat trobat per aquela lenga',
'ortho_mode_demploi' => 'Lu m&ograve;ts non reconoissuts son subrelinhats de roge. Pod&egrave;tz clicar sus cada m&ograve;t per afichar de suggestions de correccion.',
'ortho_mots_a_corriger' => 'm&ograve;ts da corregir',
'ortho_orthographe' => 'Ortografia',
'ortho_supprimer_ce_mot' => 'Levar aqu&egrave;u m&ograve;t dau diccionari',
'ortho_trop_de_fautes' => 'Atencion&nbsp;: lo voastre t&egrave;xte ten tr&ograve;p d\'errors, e se suger&iacute;s ges de correccion per fin de pas subrecargar lo sist&egrave;ma.',
'ortho_verif_impossible' => 'Lo sist&egrave;ma p&ograve;ut pas verificar l\'ortografia d\'aqu&egrave;u t&egrave;xte.',
'ortho_verifier' => 'Verificar l\'ortografia',
 
 
// S
'statut_admin_restreint' => '(admin limitat)',
'syndic_choix_moderation' => 'Que faire dei estacs venentsen provenen&ccedil;a d\'aqu&egrave;u sit&nbsp;?',
'syndic_choix_oublier' => 'Que faire dei estacs que figuran pas plus dins lo fichi&egrave;r de syndicacion&nbsp;?',
'syndic_lien_obsolete' => 'Estac vielh',
'syndic_option_miroir' => 'li blocar automaticament',
'syndic_option_oubli' => 'li efa&ccedil;ar (apr&egrave;s @mois@&nbsp;mes)',
'syndic_options' => 'Opcions de syndicacion&nbsp;:',
 
 
// T
'taille_cache_image' => 'Lu imatges que SPIP a calculat automaticament (vinhetas dei documents, t&iacute;tols presentats en forma gr&agrave;fica, foncions matematiqui en format TeX...) ocupan dins lo repert&ograve;ri @dir@ un totau de @taille@.',
'taille_cache_infinie' => 'Aqu&egrave;u sit prevei pas de limitacion de talha dau repert&ograve;ri <code>CACHE/</code>.',
'taille_cache_maxi' => 'SPIP prova de limitar la talha dau repert&ograve;ri <code>CACHE/</code> d\'aqueu site a circa <b>@octets@</b> de donadas.',
'taille_cache_octets' => 'A&uuml;ra la talha de l\'amagador despassa @octets@.',
'taille_cache_vide' => 'L\'amagador es vu&egrave;i.',
'taille_repertoire_cache' => 'Talha dau repert&ograve;ri amagador',
'text_article_propose_publication' => 'Article prepauat per la publicacion. Esitetz pas de donar lo voastre vejaire gra&ccedil;a au forum estacat a aquel article (en bas de p&agrave;gina).',
'texte_acces_ldap_anonyme_1' => 'Certans servidors LDAP acc&egrave;ptan minga d\'acc&egrave;s anonim. En aqueu cas, cau especificar un identificant d\'acc&egrave;s iniciau per poder pi recercar d\'informacions dins l\'annuari. Lu camps seguents si podr&agrave;n qualora laissar vueis dins la m&agrave;ger part dei cas.',
'texte_admin_effacer_01' => 'Aquela comanda esca&ccedil;a <i>tot</i> lo contengut de la basa de donadas,
incl&uacute;s <i>toi</i> lu acc&egrave;ss redactors e administrators. Un c&ograve;up que l\'auretz executada, auretz a tornar lan&ccedil;ar l\'installacion de SPIP per tornar crear una basa nov&egrave;la coma pura un promi&egrave;r acc&egrave;s administrator.',
'texte_admin_tech_01' => 'Aquela opcion vos permete de sauvagardar lo contengut de la basa dins un fichier que ser&agrave; conservat dins lo repert&ograve;ri <i>ecrire/data/</i>.
Oblidetz pas manco de recuperar l\'integralitat dau repert&ograve;ri <i>IMG/</i>, que conten lu imatges e lu documents utilisats dins lu articles e rubricas.',
'texte_admin_tech_02' => 'M&egrave;fi: aquela sauvagarda se podr&agrave; restaurar SOLAMENT dins un sit installat emb la mema version de SPIP. Cau sobretot pas &laquo;&nbsp;vuar la basa&nbsp;&raquo; en esperar tornar installar la sauvagarda apr&egrave;s una mesa a jorn... Consultatz la <a href="http://www.spip.net/fr_article1489.html">la documentacion de SPIP</a>.',
'texte_admin_tech_03' => 'Pod&egrave;tz chausir de sauvagardar lo fichier sota forma comprimida, per fin
d\'abrivar lo sieu transferiment dau voastre &ograve; sus un servidor de sauvagardas, e per fin d\'esparnhar d\'espaci disc.',
'texte_adresse_annuaire_1' => '(Se lo voastre annuari es installat sus la mema maquina qu\'aqueu site web, s\'agisse probablament de "localhost".)',
'texte_ajout_auteur' => 'L\'autor seguent es estat apondut a l\'article:',
'texte_annuaire_ldap_1' => 'S\'av&egrave;tz acc&egrave;s a un annuari (LDAP), lo pod&egrave;tz utilisar per ',
'texte_article_statut' => 'Aquel article:',
'texte_article_virtuel' => 'Article virtuau',
'texte_article_virtuel_reference' => '<b>Article virtuau:</b> article referen&ccedil;at dins lo voastre site SPIP, ma redirigit v&egrave;rs una autra URL. Per suprimir la redireccion, escafatz l\'URL &ccedil;ai sobre.',
'texte_aucun_resultat_auteur' => 'Minga de resultat per \\\\\\"@cherche_auteur@\\\\\\"',
'texte_auteur_messagerie' => 'Aqueu sit vos p&ograve;ut indicar de contunha la tiera dei redactors connectats, cen que vos permete d\'escambiar de messatges en dir&egrave;cte. Pod&egrave;tz decidir de pas apar&eacute;isser dins aquela tiera (si&egrave;tz &laquo;&nbsp;invisible/a&nbsp;&raquo; per lu autres utilisaires).',
'texte_auteur_messagerie_1' => 'Aqueu sit permete d\'escambiar de messatges e de constituir de forums de discussion privats entre lu participants dau sit. Pod&egrave;tz decidir de pas participar a aquelu escambis.',
'texte_auteurs' => 'LU AUTORS',
'texte_breves' => 'Li br&egrave;vas son de t&egrave;xtes corts e simples que permeton de metre en linha l&egrave;u d\'informacions concisi, de gerar
una revista de premsa, un calendier d\'aveniments...',
'texte_choix_base_1' => 'Chausiss&egrave;tz la voastra basa:',
'texte_choix_base_2' => 'Lo servidor MySQL conten mai d\'una basa de donadas.',
'texte_choix_base_3' => '<B>Chausiss&egrave;tz</b> &ccedil;ai sota la que lo voastre aubergador vos a atribuida:',
'texte_commande_vider_tables_indexation' => 'Utilisatz aquela comanda per vuar li taulas d\'indexacion utilisadi per lo motor de recerca integrat a SPIP. Aqu&ograve; permetr&agrave; de ganhar d\'espaci disc.',
'texte_comment_lire_tableau' => 'Lo reng de l\'article,
dins lo classament per popularitat, es indicat dins lo marge; la popularitat de l\'article
(una estimacion dau nombre de visitas quotidiani que recebr&agrave; se lo ritme actuau de consultacion si manten) e lo nombre de visitas recebudi
desp&iacute; lo comen&ccedil;ament s\'afichan dins la bofa
qu\'apareisse quora la rateta passa sus lo titre.',
'texte_compresse_ou_non' => '(Aquesto p&ograve;ut &egrave;stre comprimit &ograve; non)',
'texte_compte_element' => '@count@ element',
'texte_compte_elements' => '@count@ elements',
'texte_config_groupe_mots_cles' => 'Desiratz d\'activar la configuracion avan&ccedil;ada dei m&ograve;ts claus, en indicant per exemple que si p&ograve;ut seleccionar un m&ograve;t unic per grop, qu\'un grop es important... ?',
'texte_connexion_mysql' => 'Consultatz li informacions que lo voastre aubergador fornisse: i dev&egrave;tz trobar, se lo voastre aubergador supoarta MySQL, lu c&ograve;des de connexion au servidor MySQL.',
'texte_contenu_article' => '(Contengut de l\'article en quaucu mots.)',
'texte_contenu_articles' => 'Segon la maqueta que lo voastre site a adoptada, pod&egrave;tz decidir
que d\'unu elements dei articles s\'utilisan pas.
Utilisatz la tiera &ccedil;ai sota per indicar que elements son disponibles.',
'texte_crash_base' => 'Se la voastra basa de donadas s\'es
encalada, pod&egrave;tz assajar una reparacion
automatica.',
'texte_creer_rubrique' => 'Denant de poder escriure d\'articles,<BR> dev&egrave;tz crear una rubrica.',
'texte_date_creation_article' => 'DATA DE CREACION DE L\'ARTICLE:',
'texte_date_publication_anterieure' => 'Data de redaccion anteriora&nbsp;:',
'texte_date_publication_anterieure_nonaffichee' => 'Faire pas apar&eacute;isser de data de redaccion anteriora.',
'texte_date_publication_article' => 'DATA DE PUBLICACION EN LINHA:',
'texte_descriptif_petition' => 'Descriptiu de la peticion',
'texte_descriptif_rapide' => 'Descriptiu rapid',
'texte_documents_joints' => 'Pod&egrave;tz autorisar l\'ajust de documents (fichiers burotics, imatges,
multim&egrave;dia, etc.) ai articles e/&ograve; ai rubricas. Aquelu fichiers
p&ograve;don pi &egrave;stre referen&ccedil;ats dins l\'article, &ograve; apar&eacute;isser a despart.<p />',
'texte_documents_joints_2' => 'Aqueu reglatge empedisse pas l\'insercion d\'imatges directament dins lu articles.',
'texte_effacer_base' => 'Esca&ccedil;ar la basa de donadas SPIP',
'texte_effacer_donnees_indexation' => 'Esca&ccedil;ar li donadas d\'indexacion',
'texte_en_cours_validation' => 'Si prepaua de publicar lu articles e br&egrave;vas &ccedil;ai sota. Esitetz pas de donar lo voastre vejaire gra&ccedil;a ai forums que i son estacats.',
'texte_enrichir_mise_a_jour' => 'Pod&egrave;tz enriquir la compaginacion dau voastre t&egrave;xt en utilisant d\'"escorchas tipografiqui"',
'texte_fichier_authent' => '<b>Deu crear, SPIP, de fichiers especiaus <tt>.htpasswd</tt>
e <tt>.htpasswd-admin</tt> dins lo repert&ograve;ri <tt>ecrire/data/</tt>&nbsp;?</b><p />
Aquelu fichiers vos p&ograve;don servir per restr&eacute;nher l\'acc&egrave;s ai autors
e administrators en d\'autres lu&egrave;cs dau voastre sit
(programa ext&egrave;rne d\'estadisticas, per exemple).<p />
Se vos s&egrave;rve pas, pod&egrave;tz laissar aquesta opcion
a sa valor predefinida (minga de creacion
dei fichiers).',
'texte_informations_personnelles_1' => 'A&uuml;ra lo sistema vos va crear un acc&egrave;s personalisat au sit.',
'texte_informations_personnelles_2' => '(N&ograve;ta: se s\'agisse d\'una re&iuml;nstalacion, e se lo voastre acc&egrave;s fonciona encara, pod&egrave;tz',
'texte_introductif_article' => '(T&egrave;xt introductiu de l\'article.)',
'texte_jeu_caractere' => 'Aquesta opcion es utila se lo voastre site deu afichar d\'alfabets
diferents de l\'alfabet latin (&ograve; "occidentau") e lu sieus derivats.
Dins aqueu cas, cau cambiar lo reglatge predefinit per utilisar
un juec de caract&egrave;rs apropriat. Oblidetz pas tanpauc d\'adaptar
lo sit public en consequen&ccedil;a (balisa <tt>#CHARSET</tt>).',
'texte_jeu_caractere_2' => 'Aquest reglatge a pas d\'efect retroactiu. Donca
lu t&egrave;xtes ja sasits se p&ograve;don afichar
d\'una maniera incorrecta apr&egrave;s que s\'aga modificat lo reglatge. De tota fa&ccedil;on
podretz tornar sensa damatge au reglatge precedent.',
'texte_lien_hypertexte' => '(Se lo voastre messatge se referisse a un article publicat sus lo web, &ograve; a una p&agrave;gina fornissent mai d\'informacions, vorgatz indicar &ccedil;ai sota lo titre de la p&agrave;gina e la sieua adre&ccedil;a URL.)',
'texte_liens_sites_syndiques' => 'Lu ligams eissits dei sits sindicats se p&ograve;don
blocar a pri&ograve;ri; lo reglatge
&ccedil;ai sota indica lo reglatge predefinit dei
sits sindicats apr&egrave;s la sieua creacion. De tota maniera,
es possible pi de
desblocar cada ligam individualament, &ograve; de
chausir, sit per sit, de blocar lu ligams avenidors.',
'texte_login_ldap_1' => '(Laissar vuei per un acc&egrave;s anonim, &ograve; picar lo camin complet, per exemple &laquo;<tt>uid=fabre, ou=usanciers, dc=mon-domeni, dc=com</tt>&raquo;.)',
'texte_login_precaution' => 'Atencion! Aqu&ograve;\'s lo login emb lo quau si&egrave;tz a&uuml;ra connectat/ada.
Utilisatz aquest formulari emb precaucion...',
'texte_message_edit' => 'Atencion: aquest messatge, cada redactor lo p&ograve;ut veire, e cada administrator dau sit lo p&ograve;ut modificar. Utilisatz li an&oacute;n&ccedil;as solamente per expauar d\'aveniments importants de la vida dau sit.',
'texte_messages_publics' => 'Messatges publics de l\'article:',
'texte_mise_a_niveau_base_1' => 'Ven&egrave;tz de metre a jorn lu fichiers SPIP.
A&uuml;ra cau metre a niv&egrave;u la basa de donadas
dau sit.',
'texte_modifier_article' => 'Modificar l\'article :',
'texte_moteur_recherche_active' => '<b>Lo motor de recerca es activat.</b> Utilisatz aquesta comanda
se vol&egrave;tz tornar indexar la basa rapidament (apr&egrave;s restauracion
d\'una sauvagarda per exemple). Notatz que lu documents modificats d\'una
maniera normala (a partir de l\'interfa&ccedil;a SPIP) se tornan indexar
automaticament: donc aquesta comanda es utila solament d\'un biais excepcionau.',
'texte_moteur_recherche_non_active' => 'Lo motor de recerca es pas activat.',
'texte_mots_cles' => 'Lu m&ograve;ts claus permeton crear de ligams tematics entre lu voastres articles
quauque que sigue la sieua pla&ccedil;a dins li rubricas. Aqu&ograve; vos permete
d\'enriquir la navigacion dau voastre site, e mai d\'utilisar aqueli proprietats
per personalisar la presentacion dei articles dins li esqueletas. ',
'texte_mots_cles_dans_forum' => 'Desiratz, vos, de permetre l\'utilisacion dei m&ograve;ts claus, seleccionables per lu visitaires, dins lu forums dau sit public? (Atencion: es pron compl&egrave;xe d\'utilisar aquela opcion correctament.)',
'texte_multilinguisme' => 'Se desiratz gerar d\'articles en mai d\'una lenga, emb una navigacion compl&egrave;xa, pod&egrave;tz apondre un menut per chausir la lenga dei articles e/&ograve; dei rubricas, en foncion de l\'organisacion dau voastre sit.',
'texte_multilinguisme_trad' => 'Pod&egrave;tz tanben activar un sistema de gestion dei ligams entre li diferentes reviradas d\'un article.',
'texte_non_compresse' => '<i>non comprimit</i> (lo voastre servidor supoarta pas aquela foncionalitat)',
'texte_non_fonction_referencement' => 'Pod&egrave;tz chausir d\'utilisar pas aquela foncion automatica, e indicar de vos meme lu elements que t&ograve;can aqueu sit...',
'texte_nouveau_message' => 'Messatge nov&egrave;u',
'texte_nouveau_mot' => 'Nov&egrave;u m&ograve;t',
'texte_nouvelle_version_spip_1' => 'Av&egrave;tz installat una nov&egrave;la version de SPIP.',
'texte_nouvelle_version_spip_2' => 'Aquesta version nov&egrave;la demanda una actualisacion mai completa que de costuma. Se si&egrave;tz webm&egrave;stre/webm&egrave;stressa dau sit, vorgatz esca&ccedil;ar lo fichier <tt>inc_connect.php3</tt> dau repert&ograve;ri <tt>ecrire</tt> e tornar prendre l\'installacion per fin d\'actualisar lu voastres param&egrave;tres de connexion a la basa de donadas.<p /> (NB: s\'av&egrave;tz denembrat lu voastres param&egrave;tres de connexion, regarjatz lo fichier <tt>inc_connect.php3</tt> denant de lo suprimir...)',
'texte_operation_echec' => 'Tornatz a la p&agrave;gina precedenta, chausiss&egrave;tz una autra basa &ograve; creatz-ne una nov&egrave;la. Verificatz li informacions que lo voastre aubergador a fornidi.',
'texte_plus_trois_car' => 'mai de 3 caract&egrave;rs',
'texte_plusieurs_articles' => 'Mantun autor trobat per "@cherche_auteur@":',
'texte_port_annuaire' => '(La valor predefinida conven generalament.)',
'texte_proposer_publication' => 'Quora auretz acabat lo voastre article,<br> podretz prepauar que sigue publicat.',
'texte_proxy' => 'Dins certans cas (intranet, rets protegidi...),
si p&ograve;ut que cauga utilisar un <I>proxy HTTP</i> per at&eacute;nher lu sits sindicats.
En aqueu cas, marcatz &ccedil;ai sota la sieua adre&ccedil;a, sota la forma
<tt><html>http://proxy:8080</html></tt>. En generau,
laissaretz vueia aquela casa.',
'texte_publication_articles_post_dates' => 'Coma SPIP si deu comportar f&agrave;cia ai articles que la sieua
data de publicacion es fixada a una
escasen&ccedil;a futura?',
'texte_rappel_selection_champs' => '[Oblidetz pas de seleccionar correctament aqueu camp.]',
'texte_recalcul_page' => 'Se vol&egrave;tz
tornar calcular solament una p&agrave;gina, passatz pusl&egrave;u per l\'espaci public et utilisatz lo boton &laquo; tornar&nbsp;calcular &raquo;.',
'texte_recapitiule_liste_documents' => 'Aquesta p&agrave;gina recapitula la tiera dei documents qu\'av&egrave;tz pla&ccedil;ats dins li rubricas. Per modificar li informacions de cada document, seguiss&egrave;tz lo ligam vers la p&agrave;gina de la sieua rubrica.',
'texte_recuperer_base' => 'Reparar la basa de donadas',
'texte_reference_mais_redirige' => 'article referen&ccedil;at dins lo voastre sit SPIP, ma redirigit vers una autra URL.',
'texte_referencement_automatique' => '<b>Referen&ccedil;ament automatisat d\'un sit</b><br> Pod&egrave;tz referen&ccedil;ar l&egrave;u-l&egrave;u un sit web en indicant &ccedil;ai sota l\'adre&ccedil;a URL desirada, &ograve; l\'adre&ccedil;a dau sieu fichier backend. SPIP agantar&agrave; automaticament li informacions que concernisson aqueu sit (titre, descripcion...).',
'texte_requetes_echouent' => '<b>Quora certani requistas MySQL s\'encalan
sistematicament e sensa rason aparenta, si p&ograve;u
qu\'aqu&ograve; venga de la basa de donadas. </b><p />
MySQL ten la facultat de reparar li sieui
taulas quora un accident li
a esquintadas. Aqu&iacute; pod&egrave;tz ensajar aquela reparacion; se
capita pas, servatz una c&ograve;pia de l\'afichatge, que magara conten
d\'indicis de cen que va pas...<p />
Se lo problema persistisse, contactatz lo voastre
aubergador.<p />',
'texte_restaurer_base' => 'Restaurar lo contengut d\'una sauvagarda de la basa',
'texte_restaurer_sauvegarde' => 'Aquela opcion vos permete de restaurar una sauvagarda
de la basa qu\'aviatz facha avans. Per aqu&ograve; faire, cau aver pla&ccedil;at lo fichier que conten la sauvagarda
dins lo repert&ograve;ri <i>ecrire/data/</i>.
Sigu&egrave;tz prudent(a) emb aquela foncionalitat: <b>li modificacions e p&egrave;rdas eventuali son
irreversibli.</b>',
'texte_sauvegarde' => 'Sauvagardar lo contengut de la basa',
'texte_sauvegarde_base' => 'Sauvagardar la basa',
'texte_sauvegarde_compressee' => 'La sauvagarda ser&agrave; facha dins lo fichier non comprimit <b>ecrire/data/dump.xml</b>.',
'texte_selection_langue_principale' => 'Pod&egrave;tz seleccionar &ccedil;ai sota la "lenga principala" dau sit. Aquela chausida vos obliga pas - gauch pron que non - d\'escriure lu voastres articles dins la lenga seleccionada, ma permete de determinar:
<ul><li> lo format predefinit dei datas sus lo sit public;</li>
<li> la natura dau motor tipografic que SPIP deu utilisar per lo rendut dei t&egrave;xtes;</li>
<li> la lenga utilisada dins lu formularis dau sit public;</li>
<li> la lenga presentada coma predefinida dins l\'espaci privat.</li></ul>',
'texte_signification' => 'Li barras rogi representan li intradas cumuladi (totau dei sosrubricas), li barras verdi lo nombre de visitas per cada rubrica.',
'texte_sous_titre' => 'Sostitre',
'texte_statistiques_visites' => '(barras escuri&nbsp;: dim&eacute;negue / corba escura: evolucion de la mejana)',
'texte_statut_attente_validation' => 'en esp&egrave;ra de validacion',
'texte_statut_publies' => 'publicats en linha',
'texte_statut_refuses' => 'refudats',
'texte_suppression_fichiers' => 'Utilisatz aquela comanda per suprimir toi lu fichiers que si tr&ograve;ban
dins l\'amagador SPIP. Aqu&ograve; permete per exemple de for&ccedil;ar un nov&egrave;u calcul de toti li p&agrave;ginas
s\'av&egrave;tz bravament modificat lo grafisme &ograve; l\'estructura dau sit.',
'texte_sur_titre' => 'Sobretitre',
'texte_syndication' => 'Si p&ograve;u recuperar automaticament, quora un sit web lo permet,
la tiera dei sieus noveutats. Per far aqu&ograve;, vos cau activar la sindicacion.
<blockquote><i>Certans aubergadors activan pas aquela foncionalitat;
dins aqueu cas, podretz pas utilisar la sindicacion de contengut
desp&iacute; lo voastre sit.</i></blockquote>',
'texte_table_ok' => ': aquesta taula es condrecha.',
'texte_tables_indexation_vides' => 'Li taulas d\'indexacion dau motor son vueii.',
'texte_tentative_recuperation' => 'Temptativa de reparacion',
'texte_tenter_reparation' => 'Provar de reparar la basa de donadas',
'texte_test_proxy' => 'Per provar aqueu proxy, indicatz aqu&iacute; l\'adre&ccedil;a d\'un sit web
que lo vorriatz testar.',
'texte_titre_02' => 'Titre:',
'texte_titre_obligatoire' => '<b>Titre</b> [Obligat&ograve;ri]',
'texte_travail_article' => '@nom_auteur_modif@ a travalhat sus aquel article fa @date_diff@ minutas',
'texte_travail_collaboratif' => 'Quora es frequent que mai d\'un redactor
travalhe sus lo meme article, lo sistema
p&ograve;ut afichar lu articles recentament "dub&egrave;rts"
per evitar li modificacions simultan&egrave;&iuml;.
Aquela opcion es desactivada de mani&egrave;ra predefinida
per evitar d\'afichar de messatges d\'avertiment
intempestius.',
'texte_trop_resultats_auteurs' => 'Tr&ograve;up de resultats per &quot;@cherche_auteur@&quot; ; vorgatz afinar la recerca.',
'texte_unpack' => 'Descargament de la darriera version',
'texte_utilisation_moteur_syndiques' => 'Quora utilisatz lo motor de recerca integrat
a SPIP, pod&egrave;tz far li recercas sus lu sits e
articles sindicats de doi manieras
diferenti. <br><img src=\'puce.gif\'> Lo mai
simple consiste da recercar ren que dins lu
titres e descriptius dei articles. <br><img src=\'puce.gif\'>
La segonda maniera, ben mai potent, permete
a SPIP de recercar tanben dins lo t&egrave;xt dei
sits referen&ccedil;ats.
Se referen&ccedil;atz un sit, alora SPIP far&agrave; la
recerca dins lo t&egrave;xt dau sit.',
'texte_utilisation_moteur_syndiques_2' => 'Aquela met&ograve;de obliga SPIP de visitar
regularament lu sits referen&ccedil;ats,
aqu&ograve; p&ograve;u relentir un pauc lo voastre
sit.',
'texte_vide' => 'vuei',
'texte_vider_cache' => 'Vuar l\'amagador',
'titre_admin_effacer' => 'Mantenen&ccedil;a tecnica',
'titre_admin_tech' => 'Mantenen&ccedil;a tecnica',
'titre_admin_vider' => 'Mantenen&ccedil;a tecnica',
'titre_articles_syndiques' => 'Articles sindicats tirats d\'aqueu sit',
'titre_breves' => 'Li br&egrave;vas',
'titre_cadre_afficher_article' => 'Afichar lu articles',
'titre_cadre_afficher_traductions' => 'Afichar l\'estat dei reviradas per li lengas segenti&nbsp;:',
'titre_cadre_ajouter_auteur' => 'AJUSTAR UN AUTOR :',
'titre_cadre_forum_administrateur' => 'Forum privat dei administrators',
'titre_cadre_forum_interne' => 'Forum interne',
'titre_cadre_interieur_rubrique' => 'Dintre de la rubrica',
'titre_cadre_numero_auteur' => 'AUTOR N&Uacute;MERO',
'titre_cadre_signature_obligatoire' => '<B>Signatura</B> [Obligada]<BR>',
'titre_config_fonctions' => 'Configuracion dau sit',
'titre_config_groupe_mots_cles' => 'Configuracion dei grops de m&ograve;ts claus',
'titre_configuration' => 'Configuracion dau sit',
'titre_connexion_ldap' => 'Opcions : <B>La voastra connexion LDAP</B>',
'titre_dernier_article_syndique' => 'Darriers articles sindicats',
'titre_documents_joints' => 'Documents jonchs',
'titre_evolution_visite' => 'Evolucion dei visitas',
'titre_forum_suivi' => 'Seguit dei forums',
'titre_gauche_mots_edit' => 'M&Ograve;T N&Uacute;MERO :',
'titre_groupe_mots' => 'GROP DE M&Ograve;TS :',
'titre_langue_article' => 'LENGA DE L\'ARTICLE',
'titre_langue_breve' => 'LENGA DE LA BR&Egrave;VA',
'titre_langue_rubrique' => 'LENGA DE LA RUBRICA',
'titre_langue_trad_article' => 'LENGA E REVIRADAS DE L\'ARTICLE',
'titre_les_articles' => 'LU ARTICLES',
'titre_mots_cles_dans_forum' => 'M&ograve;ts claus dins lu forums dau sit public',
'titre_mots_tous' => 'Lu m&ograve;ts claus',
'titre_naviguer_dans_le_site' => 'Navigar dins lo sit...',
'titre_nouveau_groupe' => 'Nov&egrave;u grop',
'titre_nouvelle_breve' => 'Nov&egrave;la br&egrave;va',
'titre_nouvelle_rubrique' => 'Nov&egrave;la rubrica',
'titre_numero_rubrique' => 'RUBRICA N&Uacute;MERO&nbsp;:',
'titre_page_admin_effacer' => 'Mantenan&ccedil;a tecnica : esca&ccedil;ar la basa',
'titre_page_articles_edit' => 'Modificar : @titre@',
'titre_page_articles_page' => 'Lu articles',
'titre_page_articles_tous' => 'Tot lo sit',
'titre_page_auteurs' => 'Visitaires',
'titre_page_breves' => 'Br&egrave;vas',
'titre_page_breves_edit' => 'Modificar la br&egrave;va: &laquo; @titre@ &raquo;',
'titre_page_calendrier' => 'Calendier @nom_mois@ @annee@',
'titre_page_config_contenu' => 'Configuracion dau sit',
'titre_page_config_fonctions' => 'Configuracion dau sit',
'titre_page_configuration' => 'Configuracion dau sit',
'titre_page_controle_petition' => 'Seguit dei peticions',
'titre_page_delete_all' => 'supression totala e irreversibla',
'titre_page_documents_liste' => 'Lu documents dei rubricas',
'titre_page_forum' => 'Forum per lu administrators',
'titre_page_forum_envoi' => 'Mandar un messatge',
'titre_page_forum_suivi' => 'Seguit dei forums',
'titre_page_index' => 'Lo voastre espaci privat',
'titre_page_message_edit' => 'Escriure un messatge',
'titre_page_messagerie' => 'La voastra messatgeria',
'titre_page_mots_tous' => 'M&ograve;ts claus',
'titre_page_recherche' => 'Resultats de la recerca @recherche@',
'titre_page_sites_tous' => 'Lu sits referen&ccedil;ats',
'titre_page_statistiques' => 'Estatisticas per rubricas',
'titre_page_statistiques_referers' => 'Estatisticas (estacs intrants)',
'titre_page_statistiques_visites' => 'Estatisticas dei visitas',
'titre_page_upgrade' => 'Mesa a niv&egrave;u de SPIP',
'titre_publication_articles_post_dates' => 'Publicacion dei articles p&ograve;stdatats',
'titre_referencement_sites' => 'Referen&ccedil;ament de sits e sindicacion',
'titre_referencer_site' => 'Referen&ccedil;ar lo sit:',
'titre_rendez_vous' => 'REND&Egrave;TZ-VOS:',
'titre_reparation' => 'Reparacion',
'titre_site_numero' => 'SIT N&Uacute;MERO&nbsp;:',
'titre_sites_proposes' => 'Lu sits prepauats',
'titre_sites_references_rubrique' => 'Lu sits referen&ccedil;ats dins aquela rubrica',
'titre_sites_syndiques' => 'Lu sits sindicats',
'titre_sites_tous' => 'Lu sits referen&ccedil;ats',
'titre_suivi_petition' => 'Seguit dei peticions',
'titre_syndication' => 'Sindicacion dei sits',
'tout_dossier_upload' => 'Tot lo dorsier @upload@',
'trad_article_inexistant' => 'I a minga d\'article que poartan aqueu n&uacute;mero.',
'trad_article_traduction' => 'Toti li versions d\'aquel article&nbsp;:',
'trad_deja_traduit' => 'Aquel article es ja una revirada dau present article.',
'trad_delier' => 'Ligar plus aquest article ai reviradas sieui',
'trad_lier' => 'Aquel article es una revirada de l\'article n&uacute;mero&nbsp;:',
'trad_new' => 'Escriure una nov&egrave;la revirada d\'aquel article',
 
 
// V
'version_initiale' => 'Version iniciala'
 
);
 
 
?>
/trunk/actu/ecrire/lang/public_oc_gsc.php3
New file
0,0 → 1,138
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'accueil_site' => 'Arcuelh deu sit',
'articles' => 'Articles',
'articles_auteur' => 'Articles d\'aqueth autor',
'articles_populaires' => 'Los articles mei populars',
'articles_recents' => 'Los articles mei recents',
'articles_rubrique' => 'Articles d\'aquera rubrica',
'aucun_article' => 'N\'i a pas nat d\'article a aquera adre&ccedil;a ',
'aucun_auteur' => 'N\'i a pas nat autor a aquera adre&ccedil;a ',
'aucun_site' => 'N\'i a pas nat sit a aquera adre&ccedil;a ',
'aucune_breve' => 'N\'i a pas nada br&egrave;va a aquera adre&ccedil;a ',
'aucune_rubrique' => 'N\'i a pas nada rubrica a aquera adre&ccedil;a ',
'autres_breves' => 'Autas br&egrave;vas',
'autres_groupes_de_mots_clefs' => '<NEW>-vide-',
'autres_groupes_mots_clefs' => 'Autes grops de mots clau',
'autres_sites' => 'Autes sits',
 
 
// B
'bonjour' => 'Adishatz',
'breves' => 'Br&egrave;vas',
 
 
// C
'commenter_site' => 'Comentar aqueth sit',
 
 
// D
'dans_meme_rubrique' => 'Dens la medisha rubrica',
'date' => 'Data',
'dernier_ajout' => 'Darr&egrave;r horniment',
'dernieres_breves' => 'Darr&egrave;ras br&egrave;vas',
'derniers_articles' => 'Darr&egrave;rs articles',
'derniers_commentaires' => 'Darr&egrave;rs comentaris',
'derniers_messages_des_forums' => 'Darr&egrave;rs messatges publicats dens los forums',
'derniers_messages_forum' => 'Darr&egrave;rs messatges publicats dens los forums',
 
 
// E
'edition_mode_texte' => 'Edicion en m&ograve;de t&egrave;xt de',
'en_reponse' => 'En arresponsa a:',
'en_resume' => 'En resumit',
'envoyer_message' => 'Mandar un messatge',
'envoyer_un_message' => 'Mandar un messatge',
'espace_prive' => 'Espaci privat',
 
 
// F
'forum' => 'Forum',
 
 
// H
'hierarchie_site' => 'Ierarquia deu sit',
 
 
// J
'jours' => 'dias',
 
 
// M
'meme_auteur' => 'Deu medish autor',
'meme_rubrique' => 'Dens la medisha rubrica',
'memes_auteurs' => 'Deus medishs autors',
'message' => 'Messatge',
'messages_forum' => 'Messatges de forum',
'messages_recents' => 'Los messatges de forums mei recents',
'mots_clefs' => 'Mots clau',
'mots_clefs_meme_groupe' => 'Mots clau dens lo medish grop',
 
 
// N
'navigation' => 'Navigacion',
'nom' => 'Nom',
'nouveautes' => 'Las nautats',
'nouveautes_web' => 'Nautats suber lo web',
'nouveaux_articles' => 'Articles naus',
'nouvelles_breves' => 'Br&egrave;vas navas',
 
 
// P
'page_precedente' => 'pagina precedenta',
'page_suivante' => 'pagina seguenta',
'par_auteur' => 'per&nbsp;',
'participer_site' => 'Que podetz participar a la vita d\'aqueth sit e perpausar los articles v&ograve;stes en inscrive\'vs &ccedil;a devath. Qu\'arreceberatz suu c&ograve;p un e-mail qui vs\'indicar&agrave; los v&ograve;stes c&ograve;des t&agrave; accedir a l\'espaci privat deu sit.',
'pas_d_article' => 'N\'i a pas nat article a aquera adre&ccedil;a',
'pas_d_auteur' => 'N\'i a pas nat autor a aquera adre&ccedil;a',
'pas_de_breve' => 'N\'i a pas nada br&egrave;va a aquera adre&ccedil;a',
'pas_de_rubrique' => 'N\'i a pas nada rubrica a aquera adre&ccedil;a',
'pas_de_site' => 'N\'i a pas nat sit a aquera adre&ccedil;a',
'plan_du_site' => 'Plan deu sit',
'plan_site' => 'Plan deu sit',
'popularite' => 'Popularitat',
'poster_message' => 'Postar un messatge',
'poster_un_message' => 'Postar un messatge',
'proposer_site' => 'Que podetz prepausar un sit de hornir a aquesta rubrica:',
 
 
// R
'repondre_article' => 'Arresp&oacute;ner a aqueth article',
'repondre_breve' => 'Arresp&oacute;ner a aquera br&egrave;va',
'repondre_message' => 'Arresp&oacute;ner a aqueth messatge',
'resultats_recherche' => 'Resultats de la c&egrave;rca',
'retour_debut_forums' => 'Retorn au comen&ccedil;ament deus forums',
'rubrique' => 'Rubrica',
'rubriques' => 'Rubricas',
 
 
// S
'signatures_petition' => 'Signaturas',
'site_realise_avec_spip' => 'Sit realizat dab SPIP',
'sites_web' => 'Sits web',
'sous_rubriques' => 'Sosrubricas',
'suite' => 'seguida',
'sur_web' => 'Suber lo web',
'syndiquer_rubrique' => 'Sindicar aquera rubrica',
'syndiquer_site' => 'Sindicar tot lo sit',
 
 
// T
'texte_lettre_information' => 'Ac&iacute; la letra d\'informacion deu sit',
'texte_lettre_information_2' => 'Aquera letra que recensa los articles e br&egrave;vas publicats dempuish',
 
 
// V
'ver_imprimer' => 'Version d\'estampar',
'voir_en_ligne' => 'Vedetz en linha'
 
);
 
 
?>
/trunk/actu/ecrire/lang/ecrire_cpf_hat.php3
New file
0,0 → 1,1055
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// A
'aide_non_disponible' => 'Pati-a bourad la se pa disponib ank&ograve; andan lanng la.',
'avis_acces_interdit' => 'Ent&egrave;diksyon riv isit .',
'avis_article_modifie' => 'Atansyon, @nom_auteur_modif@ te travaye sou atik-la @date_diff@ minit pase',
'avis_aucun_resultat' => 'Okenn rezilta.',
'avis_chemin_invalide_1' => 'Chemen w te chwazi prann',
'avis_chemin_invalide_2' => 'li samn pa bon. M&egrave;si tounyen paj d&egrave;y&egrave; pou verifye tout enfomasyon ki w te done.',
'avis_connexion_echec_1' => 'Koneksyon sou s&eacute;v&egrave; MySQL te pa mache.',
'avis_connexion_echec_2' => 'Tounyen d&egrave;y&egrave; sou paj avan, e gad byen tout enf&ograve;masyon w te bay isit-la m&egrave;m.',
'avis_connexion_echec_3' => '<b>Atansyon</b> Ak enp&egrave; s&eacute;v&egrave; sa-yo f&ograve;k w <b>domann</b> ou l&eacute;b&egrave;rg&egrave; te aktive laks&eacute; labaz MySQL, avan w kap itilize ali. Si w vwa se pa posib m&egrave;m konek a w, ann gad byen si w te domann ali avan.',
'avis_connexion_ldap_echec_1' => 'Koneksyon sou serv&egrave; LDAP te pa mache.',
'avis_connexion_ldap_echec_2' => 'Tounyen d&egrave;y&egrave; paj avan pou ou byen gade ank&ograve; enf&ograve;masyon yo w te don&eacute;.',
'avis_connexion_ldap_echec_3' => 'Ann itilize pa sip&ograve; LDAP pou gen enp&ograve;t itilizat&egrave; yo.',
'avis_conseil_selection_mot_cle' => '<b>Gwoup-la se enp&ograve;tan&nbsp;:</b> nou kons&egrave;y w chwazi yon mokle andan gwoup-la.',
'avis_deplacement_rubrique' => 'Atansyon&nbsp;! Ribwik la @contient_breves@ br&egrave;ve@scb@&nbsp;: si w d&eacute;plas ali, m&eacute;si ekri yon krwa po konfirmasyon.',
'avis_destinataire_obligatoire' => 'F&ograve;k w enskri yon destinat&egrave; avan voye mesaj la.',
'avis_erreur_connexion_mysql' => 'Er&egrave; ak koneksyon MySQL',
'avis_erreur_version_archive' => '<b>Atansyon! Fichye @archive@ ka koresponn
l&ograve;t v&egrave;syon SPIP
.</b> W ke genyen gwo pwobl&egrave;m sa-yo m&egrave;m
: bazdone ke pet&egrave;t kraze, ouswa sit w ke pa mache. Ann
pa konfime domann lenp&ograve;tasyon-nan .<p />W ke trouve k&egrave;k enf&ograve;masyon sou paj
<a href=\'http://www.spip.net/fr_article1489.html\'>
dokimantasyon SPIP la</a>.',
'avis_espace_interdit' => '<b>Espas ent&egrave;di</b><p />SPIP se d&eacute;ja instal&eacute;.',
'avis_lecture_noms_bases_1' => 'Pwogwam pou enstalasyon, li te pa kap f&egrave; lekti kouman ki rele bazdone yo, yo ki deja enstale.',
'avis_lecture_noms_bases_2' => 'Ouswa okenn bazdone se disponib, oswa fonksyon-nan ki p&egrave;m&egrave; f&eacute; lan lis tout bazdone te kraze ak&ograve;z sekirite
(genyen anpil leberg&egrave; te chwazi ki se ka-a).',
'avis_lecture_noms_bases_3' => 'Nan dezy&egrave;m ka, gen pet&egrave;t posib itilize yon l&ograve;t baz ki rele deja nonkod w sa-a&nbsp;:',
'avis_non_acces_message' => 'Aks&eacute; ent&egrave;di sou mesaj la.',
'avis_non_acces_page' => 'Ou gen pa aks&eacute; sou paj la.',
'avis_operation_echec' => 'Operasyon la te pa mache.',
'avis_probleme_archive' => 'Pwobl&egrave;m pou f&egrave; lekti fichy&eacute; @archive@',
'avis_site_introuvable' => 'Sit la, gen pa rann kont ali',
'avis_site_syndique_probleme' => 'Atansyon : sendikasyon pou sit sa-a gen yon pwobl&egrave;m&nbsp;; sist&egrave;m pa mache kounyen-a. Gad si ladr&egrave;s fichye sendikasyon sit-la se kor&egrave;k (<b>@url_syndic@</b>), apr&egrave;sa ann esey yon l&ograve;t rekip&eacute;rasyon enf&ograve;masyon sa-yo. ',
'avis_sites_probleme_syndication' => 'Sit yo se sit sak gen yon pwobl&egrave;m sendikasyon',
'avis_sites_syndiques_probleme' => 'Sit yon se sit sak t&eacute; bay yon pwobl&egrave;m',
'avis_suppression_base' => 'ATANSYON, sipwesyon tout done-an se pa kav tounen dey&eacute;',
'avis_version_mysql' => 'Ou versyon MySQL (@version_mysql@) i gen pa p&eacute;mi ranje tous&egrave;l tab yo andan la bazdon&eacute;.',
 
 
// B
'bouton_acces_ldap' => 'Ajoute yon aks&eacute; LDAP >>',
'bouton_ajouter' => 'Ajoute',
'bouton_ajouter_participant' => 'AJOUTE YON PATISIPAN&nbsp;:',
'bouton_annonce' => 'ANONS',
'bouton_checkbox_envoi_message' => 'posibilite voye yon mesaj',
'bouton_checkbox_indiquer_site' => 'f&ograve;k enskri yon sitw&egrave;b',
'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'komand&egrave; yon sit la',
'bouton_checkbox_qui_attribue_mot_cle_redacteurs' => 'redakt&egrave; yo',
'bouton_checkbox_qui_attribue_mot_cle_visiteurs' => 'vizit&egrave; yo sou sit piblik kan jan y p m&egrave;t yon mesaj andan yon fowom.',
'bouton_checkbox_signature_unique_email' => 'yon s&egrave;l siyati pou yon ladr&egrave;s im&egrave;l ',
'bouton_checkbox_signature_unique_site' => 'yon s&egrave;l siyati pou yon sitw&egrave;b',
'bouton_demande_publication' => 'Mann atik la i par&egrave;t',
'bouton_effacer_index' => 'Kraze end&egrave;ks yo',
'bouton_effacer_tout' => 'Kraze TOUT',
'bouton_envoi_message_02' => 'VOYE YON MESAJ',
'bouton_envoyer_message' => 'Mesaj se bon : voye',
'bouton_forum_petition' => 'FOWOM &amp; PETISYON',
'bouton_modifier' => 'Chanje',
'bouton_pense_bete' => 'RAPLE-W POU W MEM',
'bouton_radio_activer_messagerie' => 'M&egrave;t kazmod&eacute;kri',
'bouton_radio_activer_messagerie_interne' => 'M&egrave;t kazmodekri',
'bouton_radio_activer_petition' => 'M&egrave;t yon p&eacute;tisyon',
'bouton_radio_afficher' => 'F&eacute; par&egrave;t',
'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Montre w nan lis redakt&egrave; yo ap an liy',
'bouton_radio_articles_futurs' => 'pou nouvo atik yo ke rive apr&eacute; s&eacute;lman (okenn aksyon sou bazdone).',
'bouton_radio_articles_tous' => 'pou tout atik yo m&egrave;m.',
'bouton_radio_articles_tous_sauf_forum_desactive' => 'pout tout atik yo, sof kank yon fowom a y pa mache.',
'bouton_radio_desactiver_messagerie' => 'Rete kazmodekri',
'bouton_radio_enregistrement_obligatoire' => 'Enskrisyon neses&egrave; (
f&ograve;k itilizat&egrave; yo abonn a w ek donn yon ladr&egrave;s lim&egrave;l avan poste yon patisipasyon)
.',
'bouton_radio_envoi_annonces_adresse' => 'Voye anons yo sou adr&egrave;s la :',
'bouton_radio_envoi_liste_nouveautes' => 'Voye yon lis nouv&egrave;lte yo',
'bouton_radio_moderation_priori' => 'Mod&egrave;wasyon avan (
patisipasyon yo zitilizat&egrave; tout ke pa afiche sou sitw&egrave;b piblik si yon komand&eacute; te pa konfime y
).',
'bouton_radio_modere_abonnement' => 'F&ograve;k yon ab&ograve;nman',
'bouton_radio_modere_posteriori' => 'Modewe d&egrave;y&egrave;',
'bouton_radio_modere_priori' => 'modewe avan',
'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Ann pa apar&egrave;t w nan lis redakt&eacute; yo ap an liy',
'bouton_radio_non_envoi_annonces_editoriales' => 'Rete voye anons editoyal ',
'bouton_radio_non_syndication' => 'Okenn sendikasyon',
'bouton_radio_occidental' => 'alfab&egrave; oksidantal(<tt>iso-8859-1</tt>)&nbsp;: ka p&egrave;m&egrave;
afiche tout laang L&eacute;w&egrave;p de lou&egrave;s (ang&eacute;, frans&eacute;, alman...)&nbsp;;
Nenp&ograve;t SPIP ka p&egrave;m&egrave; afiche byen &egrave;k debouye ak plisy&egrave; k&egrave;k l&ograve;t lanng.',
'bouton_radio_pas_petition' => 'Okenn petisyon',
'bouton_radio_personnalise' => 'Ansamn kawakt&egrave;-lenprimri p&egrave;sonalize&nbsp;: ann chwazi opsyon-nan si w vle itilize yon ansamn kawakt&egrave; espesyal',
'bouton_radio_petition_activee' => 'Petisyon ka mache',
'bouton_radio_publication_immediate' => 'Piblikasyon imedyat pout tout mesaj
(patisipasyon ke afiche dir&egrave;kman yo te voye, komand&egrave; r&egrave;s kapab kraze y apr&egrave;
).',
'bouton_radio_sauvegarde_compressee' => 'yon s&ograve;vgad konprese sou <b>ecrire/data/dump.xml.gz</b>',
'bouton_radio_sauvegarde_non_compressee' => 'yon s&ograve;vgad sak se pa konprese sou <b>ecrire/data/dump.xml</b>',
'bouton_radio_supprimer_petition' => 'Kraez petisyon nan',
'bouton_radio_syndication' => 'Sendikasyon :',
'bouton_radio_universel' => 'Lalfab&eacute; iniv&egrave;s&egrave;l&nbsp; (<tt>utf-8</tt>): kap f&egrave; par&egrave;t tout lang lat&egrave;, m&egrave; gen k&egrave;k logisy&egrave;l
se pa kav rokon&egrave;t ali (pou chanje lesk&eacute;l&egrave;t ou pou k&egrave;k lekt&egrave;-lim&egrave;l)',
'bouton_redirection' => 'TOUNYEN ADRES DEYO',
'bouton_relancer_installation' => 'Ann eseye ank&ograve; instalasyon nan',
'bouton_restaurer_base' => 'Aranje labaz',
'bouton_suivant' => 'Swivan',
'bouton_tenter_recuperation' => 'Es&egrave;y yon aranjman',
'bouton_test_proxy' => 'Es&egrave;y proksi',
'bouton_vider_cache' => 'Vid kach-la',
'bouton_voir_message' => 'Gad mesaj-la avan konfime',
 
 
// C
'cache_mode_compresse' => 'Fichye yo kach se konprese.',
'cache_mode_non_compresse' => 'Fichye yo kach se pa konprese.',
'cache_modifiable_webmestre' => 'Webm&egrave;t sit-la s&egrave;lman li kap chanje param&egrave;t sa-a.',
'calendrier_synchro' => 'Si w itilize yon logisy&egrave;l pou en lajenda ki mache ak <b>iCal</b> (Apple iCal, Mozilla Calendar, Ximian Evolution, KOrganizer...), w p&eacute; m&egrave;t ali swiv yon ritm laktyalit&eacute; sit-la kan li chanje.',
 
 
// D
'date_mot_heures' => '&egrave;r yo',
'diff_para_ajoute' => 'Pawagwaf ki ajoute',
'diff_para_deplace' => 'Pawagwaf ki deplase ',
'diff_para_supprime' => 'Pawagwaf ki kraze',
'diff_texte_ajoute' => 'T&egrave;ks se ajoute',
'diff_texte_deplace' => 'T&egrave;ks se deplase',
'diff_texte_supprime' => 'T&egrave;ks se kraze',
'double_clic_inserer_doc' => 'Apiy&eacute;-doub pou m&egrave;t tichemen-nan nan teks sa-a',
 
 
// E
'email' => 'lim&egrave;l',
'email_2' => 'lim&egrave;l :',
'entree_adresse_annuaire' => 'Adr&egrave;s nan aniy&egrave;',
'entree_adresse_email' => 'ou ladr&egrave;s lim&egrave;l',
'entree_adresse_fichier_syndication' => 'Ladr&egrave;s fichye &laquo;&nbsp;backend&nbsp;&raquo; pou la sendikasyon&nbsp;:',
'entree_adresse_site' => '<b>Ladr&egrave;s sit la</b> [N&eacute;ses&egrave;]',
'entree_base_donnee_1' => 'Ladr&egrave;s bazdone',
'entree_base_donnee_2' => '(Souvan ladr&egrave;s-la se par&eacute;y sak ladr&egrave;s sitw&egrave;b w-a, osnon l&egrave;s senpman &laquo;localhost&raquo;, oubyen l&egrave;s ali vid.)',
'entree_biographie' => 'Ki se w (k&egrave;k mo s&egrave;lman).',
'entree_breve_publiee' => 'Eske tinouv&egrave;l-la gen pibliye ?',
'entree_chemin_acces' => '<B>Rantre</B> chemen pou aks&egrave;&nbsp;:',
'entree_cle_pgp' => 'Ou kl&eacute; PGP',
'entree_contenu_rubrique' => '(Kisa ribrik-la gen kontni nan k&egrave;k mo.)',
'entree_description_site' => 'Dekrisyon sit-la',
'entree_identifiants_connexion' => 'Ou lidantifyan pou koneksyon...',
'entree_informations_connexion_ldap' => 'M&egrave;si m&egrave;t dann komisyon-la tout enf&ograve;masyon n&eacute;ses&egrave; pou ab&ograve;d laniy&egrave; LDAP.
 
 
Tout informasyon-nan, komand&egrave;r-sist&egrave;m ou komand&egrave;r-r&eacute;zo li dwa donn a w.',
'entree_infos_perso' => 'Kouman w rele ?',
'entree_interieur_rubrique' => 'Andan ribrik-la&nbsp;:',
'entree_liens_sites' => '<B>Liyen ip&egrave;t&egrave;ks</B> (referans, sit pou f&egrave; yon vire...)',
'entree_login' => 'Ou nonkod',
'entree_login_connexion_1' => 'Nonkod pou koneksyon',
'entree_login_connexion_2' => '(souvan se nondkod ou pou laks&eacute; FTP m&egrave;m ; men se posib l&egrave;s vid)',
'entree_login_ldap' => 'Premye nonkod LDAP ',
'entree_mot_passe' => 'Ou modpas',
'entree_mot_passe_1' => 'Modpas pou koneksyon',
'entree_mot_passe_2' => '(souvan se nondkod ou pou laks&eacute; FTP menm ; men se posib l&egrave;s vid)',
'entree_nom_fichier' => 'M&eacute;si enskri kouman fichye @texte_compresse@ i rele:',
'entree_nom_pseudo' => 'Kouman w rele',
'entree_nom_pseudo_1' => '(Kouman w rele)',
'entree_nom_site' => 'Kouman sit li rele',
'entree_nouveau_passe' => 'Nouvo modpas',
'entree_passe_ldap' => 'Modpas',
'entree_port_annuaire' => 'Nim&eacute;wo por lany&egrave;',
'entree_signature' => 'Siyati',
'entree_texte_breve' => 'T&egrave;ks pou tinouv&egrave;l-la',
'entree_titre_obligatoire' => '<B>Kouman i rele</B> [Neses&egrave;]<BR>',
'entree_url' => 'Ladr&egrave;s (URL) sit-w',
 
 
// I
'ical_info1' => 'Paj-la ka donn a w kouman w kap gen lyen ak lavi sit-la.',
'ical_info2' => 'Si w vle dot ranseyman sou tout teknik anl&egrave;r, ezit pa gad <a href="http://www.spip.net/fr_suivi">tout paj dokimantasyon pou SPIP</a>.',
'ical_info_calendrier' => 'W genyen d&eacute; kalandry&eacute;. Promy&egrave; s&eacute; kart sit-la ki anons&eacute; tout atik pibly&eacute;. L&ograve;t dezy&egrave;m se kalandry&eacute; ka kontni tout anons editoryal yo ak mesaj prive yo ki w te genyen&nbsp;: kalandry&eacute; a se r&eacute;s&egrave;v&egrave; pou w s&egrave;lman akoz w gen ositou yon kl&eacute; p&egrave;s&ograve;nel. Kl&eacute; ou-a kap chanje nep&ograve;t kan w vle pa chanje modpas w-a.',
'ical_methode_http' => 'Telechajman',
'ical_methode_webcal' => 'Sinkwonizasyon (webcal://)',
'ical_texte_js' => 'Yon liy javaskrip (javascript) ka p&eacute;m&egrave; w f&eacute; par&egrave;t senpman tout atik r&eacute;san nan ki te pibliy&eacute; nan sit la, sou nep&ograve;t sit ki w genyen a w.',
'ical_texte_prive' => 'Kalandriy&eacute; a, se s&egrave;lman p&egrave;s&ograve;nel, ki enf&ograve;m a w kisa se laktivit&eacute; editoryal pwiv&eacute; sou sit-la (kisa se ank&ograve; pou f&egrave;, rannkont l&ograve;t patisipan, kisa se atik yo ak tinouv&egrave;l ki pwopoz&eacute; pou piblikasyon...).',
'ical_texte_public' => 'Kalandriy&eacute; a ka p&eacute;m&egrave; w swiv laktivit&eacute; piblik sou sit la (atik yo ak tinouv&egrave;l ositou ki pibliy&eacute;).',
'ical_texte_rss' => 'Ou kap sendik&eacute; tout nouv&egrave;lt&egrave; sou sit la nan nep&ograve;t kisa l&egrave;kt&egrave; fichy&eacute; a ki mache sou f&ograve;ma XML/RSS (Rich Site Summary). F&ograve;ma se f&ograve;ma ka p&eacute;m&egrave; SPIP f&egrave; lekti tout nouv&egrave;lt&eacute; ki pibliy&eacute; sou l&ograve;t sit yo ka itilize yon f&ograve;ma echanj posib (konpatib konsa sit sendik&eacute; yo).',
'ical_titre_js' => 'Javascript',
'ical_titre_mailing' => 'Lis-lim&egrave;l',
'ical_titre_rss' => 'Fichye yo &laquo; backend &raquo;',
'icone_activer_cookie' => 'M&egrave;t yon gatomakro ',
'icone_afficher_auteurs' => 'Afiche lot&egrave; yo',
'icone_afficher_visiteurs' => 'Afiche vizit&egrave; yo',
'icone_arret_discussion' => 'Rete sotni kozman-nan',
'icone_calendrier' => 'Kalandrye',
'icone_creation_groupe_mots' => 'Kreye yon nouvo gwoup mo',
'icone_creation_mots_cles' => 'Kreye yon nouvo mokle',
'icone_creer_auteur' => 'Kreye yon nouvo lot&egrave; ek m&egrave;t ali ak atik la',
'icone_creer_rubrique_2' => 'Kreye yon nouvo ribrik',
'icone_ecrire_nouvel_article' => 'Tinouv&egrave;l yo andan ribrik la',
'icone_envoyer_message' => 'Voye mesaj la',
'icone_evolution_visites' => 'Evolisyon vizit yo<br>@visites@ vizit',
'icone_modif_groupe_mots' => 'Chanje gwoup mokle a',
'icone_modifier_article' => 'Chanje atik la',
'icone_modifier_breve' => 'Chanje tinouv&egrave;l',
'icone_modifier_message' => 'Chanje mesaj la',
'icone_modifier_rubrique' => 'Chanje ribrik la',
'icone_modifier_site' => 'Chanje sit la',
'icone_poster_message' => 'Poste yon mesaj',
'icone_publier_breve' => 'Pibliye tinouv&egrave;l',
'icone_referencer_nouveau_site' => 'Referans yon nouvo sit',
'icone_refuser_breve' => 'Refize tinouv&egrave;l',
'icone_retour' => 'Tounyen dey&eacute;',
'icone_retour_article' => 'Tounyen dey&eacute; sou atik a',
'icone_suivi_forum' => 'Swiv fowom piblik la&nbsp;: @nb_forums@&nbsp;mesaj',
'icone_supprimer_cookie' => 'Kraze gatomakro ',
'icone_supprimer_groupe_mots' => 'Kraze gwoup la',
'icone_supprimer_rubrique' => 'Kraze ribrik la',
'icone_supprimer_signature' => 'Kraze siyati a',
'icone_valider_signature' => 'Konfime siyati a',
'icone_voir_sites_references' => 'Gad sit referanse yo',
'icone_voir_tous_mots_cles' => 'Gad tout mokle yo',
'image_administrer_rubrique' => 'Ou kapab g&egrave;r ribrik la',
'info_1_article' => '1 atik',
'info_1_breve' => '1 tinouv&egrave;l',
'info_1_site' => '1 sitw&egrave;b',
'info_activer_cookie' => 'Ou kapab m&egrave;t <b> yon gatomakro ki rokon&egrave;t a w</b>, ki ke p&egrave;m&egrave;
f&egrave; yon vir&eacute; ant sit piblik ek sit priv&eacute;.',
'info_activer_forum_public' => '<I>Pou fowom piblik mache, m&eacute;si chwazi manyir mod&egrave;r a y otomatikman
:</I>',
'info_admin_gere_rubriques' => 'Komand&egrave;-a g&egrave; ribrik yo isit kote m&egrave;m :',
'info_admin_gere_toutes_rubriques' => 'Komand&egrave;-a kapab g&egrave;re <b>tout ribrik yo</b>.',
'info_administrateur' => 'Komand&egrave;',
'info_administrateur_1' => 'Komand&egrave;',
'info_administrateur_2' => 'sit (<i>atansyon kan w ke itilize ali</i>)',
'info_administrateur_site_01' => 'Si w se komand&egrave; sit-la, m&egrave;si',
'info_administrateur_site_02' => 'klik lyen nan',
'info_administrateurs' => 'Komand&egrave; yo',
'info_administrer_rubrique' => 'Ou kapab g&egrave;re ribrik-la',
'info_adresse' => 'sou ladr&egrave;s&nbsp;:',
'info_adresse_email' => 'LADRES LIMEL&nbsp;:',
'info_adresse_url' => 'Ladr&egrave;s(URL) sit piblik',
'info_afficher_visites' => 'F&egrave; par&egrave;t vizit yo pou&nbsp;:',
'info_affichier_visites_articles_plus_visites' => 'F&egrave; par&egrave; vizit yo <b>tout atik plis vizite depi koumansman &nbsp;:</b>',
'info_aide_en_ligne' => 'Bourad an liy SPIP',
'info_ajout_image' => 'Kan w vl&eacute; ajoute k&egrave;k imaj tankou k&egrave;k dokiman jwenn sou yon atik,
Spip kap kreye k&egrave;k viny&egrave;t ak imaj yo w te m&egrave;t sou sit la(k&egrave;k piti imaj)otomatikman.Konsa gen posib
kreye yon galri ou yon p&ograve;tfolyo otomatik.
.',
'info_ajout_participant' => 'Patisipan swivan te fin ajoute&nbsp;:',
'info_ajouter_rubrique' => 'Ajoute yon l&ograve;t ribrik pou g&eacute;re&nbsp;:',
'info_annonce_nouveautes' => 'Annons nouv&egrave;lt&eacute; yo',
'info_anterieur' => 'avan',
'info_appliquer_choix_moderation' => 'F&egrave; mache chwa nan pou mod&eacute;wasyon&nbsp;:',
'info_article' => 'atik',
'info_article_2' => 'atik yo',
'info_article_a_paraitre' => 'Atik posdat&eacute; yo ki pou par&egrave;t',
'info_articles_02' => 'atik yo',
'info_articles_2' => 'Atik yo',
'info_articles_auteur' => 'Tout atik lot&egrave;-a ',
'info_articles_lies_mot' => 'Atik yo ki te fin jwenn ak mokle-a ',
'info_articles_trouves' => 'Atik yo ki te rannkont',
'info_articles_trouves_dans_texte' => 'Atik yo ki te rannkont (nan t&egrave;ks)',
'info_attente_validation' => 'Atik w-a ki tann komand&egrave; konfime',
'info_aujourdhui' => 'jodiya,&nbsp;:',
'info_auteur_message' => 'LOTE MESAJ LA:',
'info_auteurs' => 'Lot&egrave; yo',
'info_auteurs_par_tri' => 'Lot&egrave; yo@partri@',
'info_auteurs_trouves' => 'Lot&egrave; yo ki te fin rannkont',
'info_authentification_externe' => 'Lotantifikasyon d&eacute;&ograve;',
'info_avertissement' => 'Mesaj pou atansyon',
'info_base_installee' => 'Strikti bazdone se enstale.',
'info_base_restauration' => 'Labaz ap restore',
'info_bloquer' => 'blok&eacute;',
'info_breves' => 'Eske w sit ap itlize sist&egrave;m tinouv&egrave;l yo?',
'info_breves_03' => 'tinouv&egrave;l yo',
'info_breves_liees_mot' => 'Tinouv&egrave;l yo ki jwenn ak mokle-a',
'info_breves_touvees' => 'Tinouv&egrave;l yo ki te fin rannkont',
'info_breves_touvees_dans_texte' => 'Tinouv&egrave;l yo ki te fin rannkont (nan t&egrave;ks)',
'info_changer_nom_groupe' => 'Chanje kouman gwoup la i rele :',
'info_chapeau' => 'Chapo',
'info_chapeau_2' => 'Chapo&nbsp;:',
'info_chemin_acces_1' => 'Opsyion sa-yo: <B>Chemen pou laks&egrave; nan laniy&egrave;</B>',
'info_chemin_acces_2' => 'Ou kapak konfigir chemen laks&eacute; sou enf&ograve;masyon sa-yo ki nan laniy&egrave;. enf&ograve;masyon-nan s&eacute; n&eacute;s&egrave;s&egrave; pou f&egrave; lekti pw&ograve;fil zitilizat&egrave; yo ki enskinan laniy&egrave; sa-a.',
'info_chemin_acces_annuaire' => 'Opsyon sa-yo : <B>Chemen pou laks&egrave; nn lany&egrave;',
'info_choix_base' => 'Trwazi&egrave;m etap&nbsp;:',
'info_classement_1' => '<sup>ye</sup> sou @liste@',
'info_classement_2' => '<sup>em</sup> sou @liste@',
'info_code_acces' => 'Oubliy pa kod laks&egrave; w-a, pou w m&egrave;m&nbsp;!',
'info_comment_lire_tableau' => 'Kouman f&egrave; lekti tablo-a',
'info_config_suivi' => 'Si ladr&egrave;s-la ap koresponn yon lis-lim&egrave;l, w kap enskri isit anba lad&egrave;s tout patisapan sou sit-la yon ke kap enskri a y. Ladr&egrave;s-la p&eacute;t&egrave;t se yon URL (pa egsanp lapaj lenskrisyon sou lalis-lim&egrave;l pa Web-la), osnon yon ladr&egrave;s lim&egrave;l ki gen yon sij&eacute; sp&eacute;cifik (pa egsanp: <tt>@adresse_suivi@?subject=subscribe</tt>):',
'info_config_suivi_explication' => 'W kap enskri w pou ou gen lalis-lim&egrave;l sit-la. Ou ke gen al&ograve; yon lim&egrave;l pou rankont tout anons pou atik-la ek tinouv&egrave;l nan sit-la ki pwopoz&eacute; pou piblikasyon.',
'info_confirmer_passe' => 'Konfime nouvo modpas-la :',
'info_connexion_base' => 'Dezyem etap : <B>Esey f&egrave; yon koneksyon sou labaz</B>',
'info_connexion_ldap_ok' => 'Koneksyon LDAP te mache.</b><p /> Ann gen w etap swivan.',
'info_connexion_mysql' => 'Premye etap : <B>Ou koneksyon MySQL</B>',
'info_connexion_ok' => 'Koneksyon nan te fin mache.',
'info_contact' => 'Kontak',
'info_contenu_articles' => 'Kisa ap kontni nan atik yo',
'info_creation_mots_cles' => 'Kreye ak konfigire mokle yo pou sit la isit m&egrave;m',
'info_creation_paragraphe' => '(Pou kreye k&egrave;k pawagwaf, ann l&egrave;s k&egrave;k liy vid senpman.)',
'info_creation_rubrique' => 'Avan kapab ekri k&egrave;k atik,<BR> f&ograve;k w te fin kreye yon ribrik omwen.<BR>',
'info_creation_tables' => 'Katry&egrave;m etap : <B>Kreye k&egrave;k tab nan bazdone</B>',
'info_creer_base' => '<B>Kreye</B> yon nouvo bazdone&nbsp;:',
'info_dans_groupe' => 'Andan gwoup :',
'info_dans_rubrique' => 'Andan ribrik :',
'info_date_publication_anterieure' => 'Dat li te fin pibliy&eacute; avan :',
'info_date_referencement' => 'DAT SIT-LA TE FIN REFERANSE&nbsp;:',
'info_delet_mots_cles' => 'W te domann kraze yon mokle
<B>@titre_mot@</B> (@type_mot@).Mokle-a se jwenn ek
<b>@texte_lie@</b> f&ograve;k w konfime chwa-a&nbsp;:',
'info_derniere_etape' => 'D&egrave;nye etap : <B> se fin fini !',
'info_derniere_syndication' => 'D&egrave;nye sendikasyon sit-la te fin f&egrave; an jou',
'info_derniers_articles_publies' => 'Denye atik w-a ki te fin pibliye an liy',
'info_desactiver_forum_public' => 'Pou f&eacute; fowom piblik pa mache. Fowom yo ke mache yon pa yon si w vl&eacute;
anba atik yo ; y ke ent&egrave;di pou tout ribrik yo, &eacute; tinouv&egrave;l yo...',
'info_desactiver_messagerie_personnelle' => 'W kapab m&egrave;t oubyen suspann lan kazmod&eacute;kri (mesajri) p&eacute;son&egrave;l sou sit-la.',
'info_descriptif' => 'Dekrisyon :',
'info_discussion_cours' => 'Kozman ki ap diskite',
'info_ecrire_article' => 'Ou dwa dab&ograve; kreye yon premy&eacute; ribrik avan ekri yon atik.',
'info_email_envoi' => 'Adr&egrave;s lim&egrave;l pour voye yon mesaj (pa oblij&eacute;)',
'info_email_envoi_txt' => 'Ann enskri isit ladr&egrave;s f&ograve;k lim&egrave;l yo ke rive sou (osnon ladr&egrave;s destinat&egrave; ke itilise konsa yon ladr&egrave;s pou lanvwa)&nbsp;:',
'info_email_webmestre' => 'Ladr&egrave;s lim&egrave;l w&egrave;bm&egrave;t(pa oblije)',
'info_entrer_code_alphabet' => 'Rantre k&ograve;d lalfabe w vle sit-la li itilize&nbsp;:',
'info_envoi_email_automatique' => 'Pou voye k&egrave;k lim&egrave;l otomatikman',
'info_envoi_forum' => 'Voye fowom yo pou tout lot&eacute; atik yo',
'info_envoyer_maintenant' => 'Voye kounye-a touswit',
'info_erreur_restauration' => 'Er&egrave; pou restorasyon : fichye-an ap pa egsiste.',
'info_etape_suivante' => 'Mach etap swivan',
'info_etape_suivante_1' => 'Ou kapab mach etap swivan.',
'info_etape_suivante_2' => 'Ou kapab mach etap swivan.',
'info_exportation_base' => 'esp&ograve;tasyon labaz sou @archive@',
'info_facilite_suivi_activite' => 'Pou yon swivi fasil lakivit&eacute; sit-la
, SPIP kapab
voye tout domann osnon konfimasyon pou f&egrave; par&egrave;t yon atik pa egsanp nan list-lim&egrave;l pou redakt&egrave;.',
'info_fichiers_authent' => 'Fichye yo pou lotantifikasyon &laquo;&nbsp;.htpasswd&nbsp;&raquo;',
'info_fonctionnement_forum' => 'Kouman fowom i mache&nbsp;:',
'info_forum_administrateur' => 'fowom pou komand&egrave; yo',
'info_forum_interne' => 'fowom andan sit la',
'info_forum_ouvert' => 'Nan lespas priv&eacute; sit-la, yon fowom gen ouv&egrave; pou tout moun
ki r&eacute;dakt&egrave; enskri. W kapab m&egrave;t, isit-anba, yon fowom
anplis, ki r&eacute;s&egrave;v&eacute; pou komand&eacute; yo s&egrave;lman.',
'info_forum_statistiques' => 'Estatistik tout vizit',
'info_forums_abo_invites' => 'Sit w genyen fowom sou abonman&nbsp;; vizit&egrave; se invite enskri ali sou sit piblik.',
'info_gauche_admin_effacer' => '<b>Responsab sit-la selman kapab f&egrave; lekti paj-la.</b><p /> Li p&egrave;rm&egrave; laks&eacute; pou dif&eacute;ran fonksyon teknik pou swen sit sa-a. Genyen fonksyon sa-yo ki doman yon otantifikasyon espesifik ki doman yon laks&eacute; FTP pou sitweb-la.',
'info_gauche_admin_tech' => '<b>Responsab sit-la selman kapab f&egrave; lekti paj-la.</b><p /> Li p&egrave;rm&egrave; laks&eacute; pou dif&eacute;ran fonksyon teknik pou swen sit sa-a. Genyen fonksyon sa-yo ki doman yon otantifikasyon espesifik ki doman yon laks&eacute; FTP pou sitweb-la.',
'info_gauche_admin_vider' => '<b>Responsab sit-la selman kapab f&egrave; lekti paj-la.</b><p /> Li p&egrave;rm&egrave; laks&eacute; pou dif&eacute;ran fonksyon teknik pou swen sit sa-a. Genyen fonksyon sa-yo ki doman yon otantifikasyon espesifik ki doman yon laks&eacute; FTP pou sitweb-la.',
'info_gauche_auteurs' => 'Isit, genyen tout zot&egrave; sit sa-a.
Koul&egrave; imaj rannkont stati yo (komand&egrave; = v&egrave;r; redakt&egrave; = jon).',
'info_gauche_auteurs_exterieurs' => 'Tout l&ograve;t&egrave; and&egrave;y&ograve;, ki genyen pa aks&egrave; sit-la, se afiche pa yon ik&ograve;n bl&egrave;&nbsp;;
l&ograve;t&egrave; yo ki te kraze se yon bwat poub&egrave;l.',
'info_gauche_messagerie' => 'Mesajri rann w kapab voye tout mesaj ant redakt&egrave;, gade pansb&egrave;t (p&egrave;sonel) osnon f&egrave; par&egrave;t annons sou paj akey nan espas prive (si w se komand&egrave;).',
'info_gauche_numero_auteur' => 'LOTE NIMEWO',
'info_gauche_numero_breve' => 'TINOUV&Egrave;L NIM&Egrave;WO',
'info_gauche_statistiques_referers' => 'Paj-la se paj ki done lis <i>referers</i>, se dir tout sit sa-yo ki genyen lyen ki rive sou sit w, yer ak jodila&nbsp;; li repar z&eacute;wo tout 24&egrave;r la.',
'info_gauche_suivi_forum' => 'Paj <I>swivi fowom yo</I> se outiy pou sit ou (kontr&egrave; yon espas pou soutni ek ekri ant zot itlizat&egrave;). Li afich tout patisipasyon nan fowom piblik yon atik ak rann w kapab okipe yo.',
'info_gauche_suivi_forum_2' => 'Paj <I>swivi fowom yo</I> se outiy pou sit w (kontr&egrave; yon espas pou soutni ek ekri ant zot itlizat&egrave;. Li afich tout patispasyon nan fowom sou sit piblik tankou espas priv&eacute; ak li ran aw kapab okipe yo.',
'info_gauche_visiteurs_enregistres' => 'Ou ka rannkont isit vizit&egrave; yo ki enskri
nan espas piblik sit sa-a (fowom sou labonman).',
'info_generation_miniatures_images' => 'Kreyasyon piti imaj la',
'info_gerer_trad' => 'Eske f&ograve;k sit-la kap okipe tout lyen-tradiksyon ?',
'info_groupe_important' => 'Gwoup enp&ograve;tan',
'info_hebergeur_desactiver_envoi_email' => 'K&egrave;k leb&egrave;g&egrave; ki sispann posibilit&egrave; voye k&egrave;k lim&egrave;l otomatikman
sou s&egrave;v&egrave; yo-a. Al&ograve;, tout fonksyonalit&eacute; swivan ke pa mache.
',
'info_hier' => 'y&egrave;r&nbsp;:',
'info_historique' => 'Kisa te chanje&nbsp;:',
'info_historique_activer' => 'F&egrave; mache posibilit&eacute; gad kisa te chanje',
'info_historique_affiche' => 'F&egrave; par&egrave;t v&egrave;syon la',
'info_historique_comparaison' => 'konparezon',
'info_historique_desactiver' => 'Kraze swivi kisa te chanje',
'info_historique_lien' => 'F&egrave; par&egrave;t lis listwa kisa te chanje',
'info_historique_texte' => 'Swivi tout chanjman ran w kapab sere yon istorik pou tout bagay ki ap chanje nan kontni yon atik. Li afich kisa ki chanje ant k&egrave;k v&egrave;syon sa-yo.',
'info_historique_titre' => 'Swivi kisa te chanje',
'info_identification_publique' => 'Ou lidantit&eacute; piblik...',
'info_image_process' => 'Tanpri chwazi m&egrave;y&egrave; m&eacute;tod pou lakreyasyon viy&egrave;t yo. Pou sa-a m&egrave;si klike sou imaj la ki koresponn.',
'info_image_process2' => '<b>N.B.</b> <i>Si oken imaj ki par&egrave;t, p&egrave;t&egrave;t se s&egrave;v&egrave; ki eb&egrave;j sit ou ki pa konfigire pou itilize outiy sa-yo. F&ograve;k w kontak responsab teknik s&egrave;v&egrave; an pou domann tout ektansyon &laquo;GD&raquo; ou &laquo;Imagick&raquo; sa-yo.</i>',
'info_images_auto' => 'Imaj kalkil&eacute; otomatikman',
'info_informations_personnelles' => 'Sinky&egrave;m etap : <B>Enf&ograve;masyon p&egrave;sonel</B>',
'info_inscription_automatique' => 'Enskrisyon otomatik pou nouvo redakt&egrave; yo',
'info_jeu_caractere' => 'Je kawakt&egrave;-liprimiri pou sit sa-a',
'info_jours' => 'jou yo',
'info_laisser_champs_vides' => 'l&egrave;s chan vid yo',
'info_langues' => 'Tout lanng sit la',
'info_ldap_ok' => 'Lotantifikasyon LDAP se enstale.',
'info_lien_hypertexte' => 'Lyen ip&egrave;t&egrave;ks :',
'info_liens_syndiques_1' => 'lyen sendike sa-yo',
'info_liens_syndiques_2' => 'ki tan pou yon komand&egrave; konfime yo.',
'info_liens_syndiques_3' => 'fowom yo',
'info_liens_syndiques_4' => 'se',
'info_liens_syndiques_5' => 'fowom',
'info_liens_syndiques_6' => 'se',
'info_liens_syndiques_7' => 'fowom ki tann konfime',
'info_liste_redacteurs_connectes' => 'Llis redakt&egrave; ki ap an liy kounye-a',
'info_login_existant' => 'Nonkod la ki egziste deja.',
'info_login_trop_court' => 'Nondkod ki tro piti.',
'info_maximum' => 'maksimom&nbsp;:',
'info_meme_rubrique' => 'L&ograve;t dokiman nan pati sa a nan sit la',
'info_message' => 'Mesaj nan',
'info_message_efface' => 'MESAJ KRAZE',
'info_message_en_redaction' => 'Mesaj w yo ki ap ekri ank&ograve;',
'info_message_technique' => 'Mesaj t&egrave;knik :',
'info_messagerie_interne' => 'Kazmod&eacute;kri andodan',
'info_mise_a_niveau_base' => 'M&egrave;t baz MySQL nan bon nivo',
'info_mise_a_niveau_base_2' => '{{Tansyon!}} W te instal&eacute; yon v&egrave;syon
fichye SPIP ki {pli vy&eacute;} v&egrave;syon sa-a ki sou sit avant
: genyen danje bazdone ou ke p&egrave;di osnon li ki pa mache ek sit-la
pa mache m&egrave;m.<br>{{F&ograve;k w instal ank&ograve;
yon lot fwa tout fichye spip pli fr&egrave;.}}',
'info_mode_fonctionnement_defaut_forum_public' => 'Kouman tout fowom piblik mache otomatikman',
'info_modifier_breve' => 'Chanje tinouv&egrave;l-la :',
'info_modifier_rubrique' => 'Chanje ribrik-la :',
'info_modifier_titre' => 'Chanje : @titre@',
'info_mon_site_spip' => 'Sit SPIP a mwen',
'info_mot_sans_groupe' => '(Mokle ki genyen pa oken gwoup...)',
'info_moteur_recherche' => 'Mot&egrave;-rech&egrave;che andodan',
'info_mots_cles' => 'Mokle yo',
'info_mots_cles_association' => 'Gen posib m&egrave;t ansanm mokle yo nan gwoup-la&nbsp;:',
'info_moyenne' => 'mway&egrave;n&nbsp;:',
'info_multi_articles' => 'Eske gen bezwen m&egrave;t meni lalanng sou atik yo&nbsp;?',
'info_multi_cet_article' => 'Lalanng atik la&nbsp;:',
'info_multi_langues_choisies' => 'M&egrave;si chwazi lang redakt&egrave; kapab itilize
genyen inposib kraze lang sa-yo ki deja itilize sou sit-la (yo afiche premy&eacute;).',
'info_multi_rubriques' => 'Eske gen bezwen m&egrave;t meni lalanng sou ribrik yo &nbsp;?',
'info_multi_secteurs' => '... s&egrave;lman sou ribrik andan rasin sit la&nbsp;?',
'info_nom' => 'Kouman i rele',
'info_nom_destinataire' => 'Kouman destinat&egrave; i rele',
'info_nom_site' => 'Kouman sit la li rele',
'info_nom_site_2' => '<b>Kouman sit la li rele</b> [Neses&eacute;]',
'info_nombre_articles' => '@nb_articles@ atik (yo),',
'info_nombre_breves' => '@nb_breves@ tinouv&egrave;l (yo),',
'info_nombre_partcipants' => 'PATISIPAN TO NAN KOZMAN :',
'info_nombre_rubriques' => '@nb_rubriques@ ribrik (yo),',
'info_nombre_sites' => '@nb_sites@ sit (yo),',
'info_non_deplacer' => 'M&egrave;si chanje pa laplas-la...',
'info_non_envoi_annonce_dernieres_nouveautes' => 'Spip kapab voye lis d&egrave;nry&egrave; nouvelt&eacute; sou sit-la
(tout nouvo atik ak tinouv&egrave;l ki pibliy&eacute;).',
'info_non_envoi_liste_nouveautes' => 'Voye pa lis nouvelt&eacute;.',
'info_non_modifiable' => 'ki pa posib chanje',
'info_non_suppression_mot_cle' => 'mwen vle pa kraze mokle-a.',
'info_notes' => 'Not yo',
'info_nouveaux_message' => 'Nouvo mesaj yo',
'info_nouvel_article' => 'Nouvo atik',
'info_nouvelle_traduction' => 'Nouvo tradiksyon&nbsp;:',
'info_numero_article' => 'ATIK NIMEWO&nbsp;:',
'info_obligatoire_02' => '[N&eacute;s&egrave;s&egrave;]',
'info_option_accepter_visiteurs' => 'Asepte vizit&egrave; yo enskri y sou sit piblik',
'info_option_email' => 'Kan yon vizit&egrave; ap voye yon nouvo mesaj nan fowom sou yon atik
se posib al&egrave;t tout lot&egrave; atik la
ak yon lim&egrave;l. W vle itilize opsyon nan&nbsp;?',
'info_option_faire_suivre' => 'Voye mesaj yo nan fowom yo pou lot&egrave; sa-yo tout atik ki komant&eacute;',
'info_option_ne_pas_accepter_visiteurs' => 'Refize lenskripsyon vizit&egrave; yo',
'info_option_ne_pas_faire_suivre' => 'Voye pa mesaj fowom yo ',
'info_options_avancees' => 'KEK OPSYON PWESI ',
'info_ortho_activer' => 'F&egrave; mache v&eacute;rifikat&egrave; lotograf',
'info_ortho_desactiver' => 'Suspann v&eacute;rifikat&egrave; lotograf',
'info_ou' => 'ou...',
'info_oui_suppression_mot_cle' => 'mwen vle kraze pou toujou mokle-a',
'info_page_interdite' => 'Paj-la se ent&egrave;di',
'info_par_nombre_article' => '(pa nonm artik yo)',
'info_par_tri' => '(pa @tri@)',
'info_pas_de_forum' => 'Okenn fowom',
'info_passe_trop_court' => 'Modpas se tro piti.',
'info_passes_identiques' => 'Ou d&egrave; modpas yo se pa parey sa-m&egrave;m.',
'info_pense_bete_ancien' => 'Ou vy&eacute; raple-w sa-yo ',
'info_plus_cinq_car' => 'plis de 5 kawakt&egrave;-leprimri',
'info_plus_cinq_car_2' => '(Plis de 5 kawakt&egrave;-lenprimri)',
'info_plus_trois_car' => '(Plis de 3 kawakt&egrave;-lenprimri)',
'info_popularite' => 'kouman se popil&egrave;&nbsp;:&nbsp;@popularite@&nbsp;; vizit yo&nbsp;:&nbsp;@visites@',
'info_popularite_2' => 'popilarite sit-la&nbsp;:',
'info_popularite_3' => 'kouman se popil&egrave;&nbsp;:&nbsp;@popularite@&nbsp;; vizit yo&nbsp;:&nbsp;@visites@',
'info_popularite_4' => 'kouman se popil&egrave;&nbsp;:&nbsp;@popularite@&nbsp;; vizit yo&nbsp;:&nbsp;@visites@',
'info_post_scriptum' => 'Gen di ank&ograve;',
'info_post_scriptum_2' => 'Gen di ank&ograve; :',
'info_pour' => 'pou',
'info_preview_admin' => 'Komnad&egrave; yo s&egrave;lman kapab gad avan sit sa- kom l te an liy',
'info_preview_comite' => 'Tout redakt&eacute; kapab gad avan sit-la kom li te an liy',
'info_preview_desactive' => 'Sist&egrave;m pou gad avan kom te an liy tout patisipasyon, l ap pa aktive ',
'info_preview_texte' => 'Posib gad avan sit-la kom si tout atik ek tinouv&egrave;l sa-yo (yon ki lestati &laquo;&nbsp;se pwopoz&eacute;&nbsp;&raquo; omwen) te pibliy&eacute; an liy. Eske w vle bay posibilite a ouv&egrave; pou tout komand&egrave; s&egrave;lman, oubyen tout r&eacute;dakt&egrave;, ousinon pa okenn moun sa-m&egrave;m&nbsp;?',
'info_principaux_correspondants' => 'Ou gwoup kowespondan pli enp&ograve;tan',
'info_procedez_par_etape' => 'avans etap pa etap',
'info_procedure_maj_version' => 'f&ograve;k w koumans larnouv&egrave;lman labaz pou adapte labazdone
ansamn nouvo v&egrave;syon SPIP.',
'info_ps' => 'Gen di ank&ograve;.',
'info_publier' => 'pibliye',
'info_publies' => 'Atik w-a ki ap pibliye an liy',
'info_question_accepter_visiteurs' => 'Si leskel&egrave;t sit w la, li ka pwopoze lenskripsyon vizit&egrave; ki pa laks&eacute; lespas priv&eacute;, m&egrave;si w aktive lopsyon issit anba&nbsp;:',
'info_question_gerer_statistiques' => 'Eske w vle sit w kapab okipe estatistik pou vizit yo&nbsp;?',
'info_question_inscription_nouveaux_redacteurs' => 'Aksepte ounon pa aksepte w tout enskripsyon nouvo redakt&egrave; sou lespas piblik sit-la&nbsp;?
Si wi ka aksepte, vizit&eacute; yo ke enskri azot depi
yon f&ograve;mil&egrave;, pou zot ke sere laks&eacute; nan espas priv&eacute; pou zot kapab pwopoze
zot pwop atik yo a y m&egrave;m. <blockquote><i>Kann moun-la zot ap enskri azot,
y reswa yon lim&egrave;l otomatik
ki bay azottout kod laks&eacute; sou sit priv&eacute;. K&egrave;k
l&eacute;b&egrave;j&egrave; ka enpeche lanvwa tout lim&egrave;l depi zot s&egrave;v&egrave;&nbsp;:
al&ograve;, lenskrisyon otomatik ke
inposib.',
'info_question_mots_cles' => 'Eske w vle itilize mokle yo nan sitw&egrave;b w&nbsp;?',
'info_question_proposer_site' => 'Kimoun kapab pwopoze k&egrave;k sit referans&eacute;&nbsp;?',
'info_question_utilisation_moteur_recherche' => 'Eske w vle itilize mot&egrave; pou ch&egrave;che de SPIP&nbsp;?
(enl&egrave;v ali ke rann sist&egrave;m pli rapid ek soup.)',
'info_qui_attribue_mot_cle' => 'Kimoun se kapab m&egrave;t tout mokle gwoup la sou atik yo&nbsp;:',
'info_racine_site' => 'Rasin sit-la',
'info_recharger_page' => 'Tapri rochaj paj la nan k&egrave;k minit.',
'info_recherche_auteur_a_affiner' => 'Genyen tr&ograve; rezilta pou "@cherche_auteur@" ; tanpri souple f&egrave; yon nouvo ch&egrave;che pli pr&eacute;si.',
'info_recherche_auteur_ok' => 'K&egrave;k redakt&egrave; te fin trouve pou "@cherche_auteur@":',
'info_recherche_auteur_zero' => 'Okenn rezilta pou &laquo;&nbsp;@cherche_auteur@&nbsp;&raquo;.',
'info_recommencer' => 'M&egrave;si eseye yon l&ograve;t fwa.',
'info_redacteur_1' => 'Redakt&egrave;',
'info_redacteur_2' => 'ki gen laks&egrave; nan espas priv&eacute; (<i>recommand&eacute;</i>)',
'info_redacteurs' => 'Redakt&egrave; yo',
'info_redaction_en_cours' => 'KI AP POU EKRI ANKO',
'info_redirection' => 'Tounyen d&eacute;y&egrave; sou yon l&ograve;t adr&egrave;s ',
'info_referencer_doc_distant' => 'R&eacute;f&eacute;wanse yon dokiman-d&eacute;o sou ent&egrave;n&egrave;t&nbsp;:',
'info_refuses' => 'Atik w-a ki te finn refize',
'info_reglage_ldap' => 'Opsyon : <B>Reglaj empotasyon LDAP</B>',
'info_renvoi_article' => '<B>Tounyen d&egrave;y&egrave; sou yon l&ograve;t adr&egrave;s.</B> Atik-la ap s&ograve;ti sou lapaj-la:',
'info_reserve_admin' => 'Komand&egrave; ys&egrave;lman yokapab chanje ladr&egrave;s-la',
'info_restauration_sauvegarde' => 'Rest&ograve;wasyon las&ograve;vgad @archive@',
'info_restreindre_rubrique' => 'Diminye drwa yo komand&eacute;-a pou li kapab debouye sou ribrik-la s&egrave;lman:',
'info_resultat_recherche' => 'Rezilta ch&egrave;che w-a :',
'info_rubriques' => 'Ribrik yo',
'info_rubriques_02' => 'ribrik yo',
'info_rubriques_liees_mot' => 'Ribrik yo ki jwenn an lyen ak mokle-a',
'info_rubriques_trouvees' => 'Ribrik yo ki te fin rannkont',
'info_rubriques_trouvees_dans_texte' => 'Ribrik yo ki te fin rannkont (nan t&egrave;ks)',
'info_sans_titre' => 'Bagay ki pa rele oken non',
'info_sauvegarde' => 'S&ograve;vgad',
'info_sauvegarde_articles' => 'S&ograve;vgade atik yo',
'info_sauvegarde_articles_sites_ref' => 'S&ograve;vgade atik yo ki nan sit referans&eacute; yo',
'info_sauvegarde_auteurs' => 'S&ograve;vgade lot&egrave; yo ',
'info_sauvegarde_breves' => 'S&ograve;vgade tinouv&egrave;l yo ',
'info_sauvegarde_documents' => 'S&ograve;vgade dokiman yo ',
'info_sauvegarde_echouee' => 'Si s&ograve;vgad-la te pa mache (&laquo;Maximum execution time exceeded&raquo;),',
'info_sauvegarde_forums' => 'Sove fowom yo',
'info_sauvegarde_groupe_mots' => 'S&ograve;vgade gwoup-mokle yo ',
'info_sauvegarde_messages' => 'S&ograve;vgade mesaj yo ',
'info_sauvegarde_mots_cles' => 'S&ograve;vgade mokle yo ',
'info_sauvegarde_petitions' => 'S&ograve;vgade petisyon yo ',
'info_sauvegarde_refers' => 'S&ograve;vgade r&egrave;f&egrave;r&egrave; yo ',
'info_sauvegarde_reussi_01' => 'S&ograve;vgad-la te mache',
'info_sauvegarde_reussi_02' => 'Baz-la te fin sovgad&eacute; nan <b>ecrire/data/@archive@</b>. W kapab',
'info_sauvegarde_reussi_03' => 'tounyen d&egrave;y&egrave; okipe',
'info_sauvegarde_reussi_04' => 'sit a w.',
'info_sauvegarde_rubriques' => 'S&ograve;vgade ribrik yo ',
'info_sauvegarde_signatures' => 'S&ograve;vgade tout siyati nan petisyon yo ',
'info_sauvegarde_sites_references' => 'S&ograve;vgade sit referans&eacute; yo',
'info_sauvegarde_type_documents' => 'S&ograve;vgade tip-dokiman yo ',
'info_sauvegarde_visites' => 'S&ograve;vgade vizit yo ',
'info_selection_chemin_acces' => '<b>Chwazi</b> chemen laks&eacute; nan laniy&egrave;&nbsp;:',
'info_selection_un_seul_mot_cle' => 'Se posib chwasi selman <b> yon s&egrave;l mokle</b> nan group la .',
'info_signatures' => 'siyati yo',
'info_site' => 'Sit',
'info_site_2' => 'sit :',
'info_site_min' => 'sit',
'info_site_propose' => 'Sit pwopoze an jou :',
'info_site_reference_2' => 'Sit referanse',
'info_site_syndique' => 'Sit-la se sendike...',
'info_site_valider' => 'Sit sa-yo se sit yo ki pou konfime',
'info_site_web' => 'SIT WEB :',
'info_sites' => 'sit yo',
'info_sites_lies_mot' => 'Sit referanse sa-yo ki jwenn nan lyen ak mokle-a',
'info_sites_proxy' => 'Itilize yon proksi (proxy)',
'info_sites_refuses' => 'Sit sa-yo ki te refize',
'info_sites_trouves' => 'Sit sa-yo ki te fin rannkont',
'info_sites_trouves_dans_texte' => 'Sit sa-yo ki te finn rannkont (nan t&egrave;ks)',
'info_sous_titre' => 'Soutit :',
'info_statut_administrateur' => 'Komand&egrave;',
'info_statut_auteur' => 'Lestati lot&egrave;-a :',
'info_statut_efface' => 'Ki te finn kraze',
'info_statut_redacteur' => 'Redakt&egrave;',
'info_statut_site_1' => 'Sit-la se&nbsp;:',
'info_statut_site_2' => 'Pibliye',
'info_statut_site_3' => 'Pwopoze pou par&egrave;t ',
'info_statut_site_4' => 'Nan bwat poub&egrave;l',
'info_statut_utilisateurs_1' => 'Lestati otomatik pou zitilizat&egrave; enp&ograve;te yo',
'info_statut_utilisateurs_2' => 'Chwazi stati ki bay smou pr&eacute;an nan laniy&eacute; LDAP, kank moun ka konek azot promy&eacute; fwa. Apr&eacute;sa w kapab chanje val&egrave; la pou chak lot&egrave;, chaken apr&eacute; l&ograve;t.',
'info_suivi_activite' => 'Swivi laktivit&eacute; l&eacute;ditoryal',
'info_supprimer_mot' => 'kraze&nbsp;mokle-a',
'info_surtitre' => 'Sitit :',
'info_taille_maximale_vignette' => 'Pli gran tay posib pou viy&egrave;t sistem sa-a li kreye&nbsp;:',
'info_terminer_installation' => 'Ou kapab kounyen-a fin fini pwos&eacute;di lenstalasyon estanda.',
'info_texte' => 'T&egrave;ks',
'info_texte_explicatif' => 'T&egrave;ks pou esplike',
'info_texte_long' => '(akoz t&egrave;ks-la se lon&nbsp;: li afiche nan k&egrave;k pat sa-yo, zot ke kenbe ansamn apr&egrave; konfimasyon.)',
'info_texte_message' => 'T&egrave;ks pou mesaj-w :',
'info_texte_message_02' => 'T&egrave;ks pou mesaj-la',
'info_titre' => 'Tit (Kouman i rele) :',
'info_titre_mot_cle' => 'Kouman mokle i rele',
'info_total' => 'kont konple :',
'info_tous_articles_en_redaction' => 'Tout atik sa-yo ki ap pou ekri ank&ograve;',
'info_tous_articles_presents' => 'Tout atik sa-yo ki pibliye nan ribrik-la',
'info_tous_les' => 'tout :',
'info_tous_redacteurs' => 'Annons sa-yo pou tout redakt&egrave; yo',
'info_tout_site' => 'Tout sit sa-m&egrave;m',
'info_tout_site2' => 'Atik-la se pa tradwui nan lalanng la.',
'info_tout_site3' => 'Atik-la li te tradwi nan lang-la, men k&egrave;k chanjman te rive sou latik-referans, apr&eacute; tradiksyon la. F&ograve;k li ke mont nan nivo.',
'info_tout_site4' => 'Atik la te tradwi nan lang la, ak tradiksyon se resan ek konple.',
'info_tout_site5' => 'Atik lorijin.',
'info_tout_site6' => '<b>Atansyon&nbsp;:</b> atik lorijin se afiche s&egrave;lman.
Tout twadiksyon se jwen ak latik lorijin,
nan yon koul&egrave; ki bay lestati ali&nbsp;:',
'info_travail_colaboratif' => 'Soutni ansamn pour atik yo',
'info_un_article' => 'yon atik,',
'info_un_mot' => 'Yon s&egrave;l mo nan m&egrave;m tan',
'info_un_site' => 'yon sit,',
'info_une_breve' => 'yon tinouv&egrave;l,',
'info_une_rubrique' => 'yon ribrik,',
'info_une_rubrique_02' => '1 ribrik',
'info_url' => 'URL :',
'info_url_site' => 'URL SIT SA-A :',
'info_urlref' => 'Lyen ip&egrave;t&egrave;ks&nbsp;:',
'info_utilisation_spip' => 'Kounyen-a,ou kapab koumanse itilize sist&egrave;m pou piblikasyon ki &eacute;d&eacute;...',
'info_visites_par_mois' => 'F&egrave; par&egrave;t pa mwa :',
'info_visites_plus_populaires' => 'Afiche tout visit pou <b> atik ki pli popil&egrave;</b> ak pou <b>deny&eacute; atik an liy&nbsp;:</b>',
'info_visiteur_1' => 'Vizit&egrave;',
'info_visiteur_2' => 'd sit piblik',
'info_visiteurs' => 'Vizit&egrave; yo',
'info_visiteurs_02' => 'Vizit&egrave; yo d sit piblik',
'install_echec_annonce' => 'Lenstalasyon-an ka p&eacute;t&egrave;t branlan, osnon p&eacute;t&egrave;t li don yon sit ki pa kav mache...',
'install_extension_mbstring' => 'SPIP ki pa mache ak&nbsp;:',
'install_extension_php_obligatoire' => 'Fok SPIP li genyen l&eacute;stansyon php&nbsp;:',
'install_select_langue' => 'Chwazi yon lang ak piye sou bouton &laquo;&nbsp;swivan&nbsp;&raquo; pou dmare pros&eacute;di-lenstalasyon.',
'intem_redacteur' => 'redakt&egrave;',
'item_accepter_inscriptions' => 'As&egrave;pt enskripsyon yo',
'item_activer_forum_administrateur' => 'F&eacute; mache fowom pou komand&eacute; yo ',
'item_activer_messages_avertissement' => 'Aktive mesaj-lavertisman ',
'item_administrateur_2' => 'komand&egrave;',
'item_afficher_calendrier' => 'F&egrave; par&egrave;t nan kalandrye',
'item_ajout_mots_cles' => 'Bay p&eacute;mision joute tout mokl&eacute; nan fowom yo',
'item_autoriser_documents_joints' => 'As&egrave;pte dokiman jwenn yo nan atik yo',
'item_autoriser_documents_joints_rubriques' => 'As&egrave;pte dokiman jwenn yo nan ribrik yo',
'item_bloquer_liens_syndiques' => 'Bloke lyen lasendikasyon sa-yo ki pou konfime',
'item_breve_refusee' => 'NON - tinouv&egrave;l ki refize',
'item_breve_validee' => 'WI - Tinouv&egrave;l ki konfime',
'item_choix_administrateurs' => 'komand&egrave; yo',
'item_choix_generation_miniature' => 'Kreye otomatikman v&egrave;syon miyati (viy&egrave;t) pou tout imaj.',
'item_choix_non_generation_miniature' => 'Pa kreye miyati pou limaj.',
'item_choix_redacteurs' => 'redakt&egrave; yo',
'item_choix_visiteurs' => 'vizit&egrave; yo d sit piblik',
'item_creer_fichiers_authent' => 'Kreye fichye yo .htpasswd',
'item_desactiver_forum_administrateur' => 'Rete fowom pou komand&eacute; yo',
'item_gerer_annuaire_site_web' => 'Okipe yon laniye sit web yo',
'item_gerer_statistiques' => 'Okipe lestatistik yo',
'item_limiter_recherche' => 'Sere lach&egrave;che nan limit lenfomasyon ki kontni sit a w. ',
'item_login' => 'Nonkod',
'item_mots_cles_association_articles' => 'nan atik yo',
'item_mots_cles_association_breves' => 'nan tinouv&egrave;l yo',
'item_mots_cles_association_rubriques' => 'nan ribrik yo',
'item_mots_cles_association_sites' => 'nan sit referanse ou sendik&eacute; yo.',
'item_non' => 'Non',
'item_non_accepter_inscriptions' => 'As&egrave;pt pa enskripsyon yo',
'item_non_activer_messages_avertissement' => 'Pa oken mesaj-lavertisman',
'item_non_afficher_calendrier' => 'Refize par&egrave;t nan kalandrye',
'item_non_ajout_mots_cles' => 'Ent&egrave;di moun yo m&egrave;t mokle nan fowom yo',
'item_non_autoriser_documents_joints' => 'As&egrave;pte pa dokiman jwenn nan atik yo',
'item_non_autoriser_documents_joints_rubriques' => 'As&egrave;pte pa dokiman jwenn nan ribrik yo',
'item_non_bloquer_liens_syndiques' => 'Blok pa lyen ki soti senkikasyon an',
'item_non_creer_fichiers_authent' => 'Kreye pa fichye sa yo',
'item_non_gerer_annuaire_site_web' => 'Rotir lanyie sit web',
'item_non_gerer_statistiques' => 'F&egrave; pa estatistik',
'item_non_limiter_recherche' => 'Tann ch&egrave;che nan kontni sit ki referans&eacute;',
'item_non_publier_articles' => 'Pa pibliy&eacute; atik sa-yo avan ladat ki pr&eacute;siz&eacute;.',
'item_non_utiliser_breves' => 'Itilize pa tinouv&egrave;l',
'item_non_utiliser_config_groupe_mots_cles' => 'Itilize pa kofigirasyon presi pou group mokle.',
'item_non_utiliser_moteur_recherche' => 'Itilize pa mot&egrave;-rech&egrave;che',
'item_non_utiliser_mots_cles' => 'Itilize pa mokle yo',
'item_non_utiliser_syndication' => 'Itilize pa sendikasyon otomatik',
'item_nouvel_auteur' => 'Nouvo lot&egrave;',
'item_nouvelle_breve' => 'Nouvo tinouv&egrave;l',
'item_nouvelle_rubrique' => 'Nouvo ribrik',
'item_oui' => 'Wi',
'item_publier_articles' => 'F&egrave; par&egrave;t tout atik kiswa dat piblikasyon ali.',
'item_reponse_article' => 'Repons sou atik sa-a',
'item_utiliser_breves' => 'Itilize tinouvel yo',
'item_utiliser_config_groupe_mots_cles' => 'Itilize konfigirasyon presi pou group mokle',
'item_utiliser_moteur_recherche' => 'Itilize mot&egrave;-rech&egrave;che',
'item_utiliser_mots_cles' => 'Itilize mokle yo',
'item_utiliser_syndication' => 'Itilize sendikasyon otomatik',
'item_visiteur' => 'vizit&egrave;',
 
 
// J
'jour_non_connu_nc' => 'ki pa koni',
 
 
// L
'lien_ajout_destinataire' => 'Ajoute destinat&egrave;-a',
'lien_ajouter_auteur' => 'Ajoute lot&egrave;-a',
'lien_ajouter_participant' => 'Ajoute yon patisipan',
'lien_email' => 'lim&egrave;l',
'lien_forum_public' => 'Z&egrave;r fowom piblik atik la',
'lien_mise_a_jour_syndication' => 'arnouv&egrave;l kounye-a',
'lien_nom_site' => 'KOUMAN SIT-LA RELE :',
'lien_nouvelle_recuperation' => 'esey yon l&ograve;t r&eacute;kip&eacute;rasyon tout done sa-yo',
'lien_reponse_article' => 'R&eacute;ponn atik-la',
'lien_reponse_breve' => 'R&eacute;ponn tinouv&egrave;l-la',
'lien_reponse_breve_2' => 'R&eacute;ponn tinouv&egrave;l-la',
'lien_reponse_rubrique' => 'R&eacute;ponn ribrik-la',
'lien_reponse_site_reference' => 'Reponn sit referanse-a :',
'lien_retirer_auteur' => 'Kraze lot&egrave;-a',
'lien_retrait_particpant' => 'kraze patisipan-nan',
'lien_site' => 'sit',
'lien_supprimer_rubrique' => 'kraze ribrik-la',
'lien_tout_deplier' => 'D&eacute;pliye tout',
'lien_tout_replier' => 'Repliye tout',
'lien_trier_nom' => 'F&eacute; par&egrave;t swivan kouman rele',
'lien_trier_nombre_articles' => 'F&eacute; par&egrave;t swivan nonm atik yo',
'lien_trier_statut' => 'ranje swivan lestati',
'lien_voir_en_ligne' => 'GAD AN LIY:',
'logo_article' => 'LOGO ATIK LA',
'logo_auteur' => 'LOGO LOT&Egrave;',
'logo_breve' => 'LOGO TINOUV&Egrave;L',
'logo_mot_cle' => 'LOGO MOKL&Eacute;',
'logo_rubrique' => 'LOGO RIBRIK',
'logo_site' => 'LOGO SIT LA',
'logo_standard_rubrique' => 'LOGO ODIN&Egrave; TOUT RIBRIK YO',
'logo_survol' => 'LOGO POU VOLE',
 
 
// M
'menu_aide_installation_choix_base' => 'Chwa labaz w-a',
'module_fichier_langue' => 'Fichye-lanng',
'module_raccourci' => 'Tichemen',
'module_texte_affiche' => 'T&egrave;ks ki afiche',
'module_texte_explicatif' => 'W kapab m&egrave;t tout tichemen yo ki isit apr&egrave;, nan lesk&egrave;l&egrave;t sa-yo ou sit piblik. Yo k&eacute; tradwi otomatikman nan dif&eacute;ran lanng, chak ki genyen yon fichye-lanng.',
'module_texte_traduction' => 'fichye-lanng la &laquo;&nbsp;@module@&nbsp;&raquo; se disponib nan&nbsp;:',
'mois_non_connu' => 'ki pa koni',
 
 
// O
'onglet_repartition_actuelle' => 'kounye-a',
'ortho_ajouter_ce_mot' => 'Ajoute mo-a nan diksyon&egrave;',
'ortho_aucune_suggestion' => 'Pa oken sij&eacute;syon te fin rannkont pou mo sa-a.',
'ortho_avis_privacy' => 'Nan SPIP gen yon v&eacute;rify&egrave; l&ograve;tograf. Avan m&egrave;t ali, m&egrave;si f&egrave; atansyon ek ann f&egrave; lekti ti t&egrave;ks isit anba&nbsp;:',
'ortho_avis_privacy2' => 'Pou gade l&ograve;tograf yo t&egrave;ks sit-la ke voye lalis mo pou kontrolen sou yon &laquo;&nbsp;s&egrave;ve l&ograve;tograf&nbsp;&raquo; d&eacute;&ograve; ki diferan mamn kominot&eacute; SPIP ka bay laks&eacute; pou tout moun. Tout mo a-yo ki voye nan d&eacute;s&ograve;d pou sere bagay sekr&eacute;. Si w efreye done aw se pa proteje, akti pa lopsyon an.',
'ortho_ce_mot_connu' => 'Mo an ki rankont nan diksyon&egrave; sit-la.',
'ortho_dico_absent' => 'Pa oken diksyon&egrave; ki pr&eacute;zan pou lalang-la',
'ortho_mode_demploi' => 'Tout mo ki pa rokoni, yo se afiche nan liy rouj. W kapab klike sou chak mo sa-yo pou afiche k&egrave;k sij&eacute;syon pou korije.',
'ortho_mots_a_corriger' => 'k&egrave;k mo f&ograve;k zot ki korije',
'ortho_orthographe' => 'L&ograve;tograf',
'ortho_supprimer_ce_mot' => 'Efase mo a nan diksyon&egrave;',
'ortho_trop_de_fautes' => 'Tansyon&nbsp;: t&egrave;ks la ki sere trod f&ograve;t. Akoz bagay-la pa oken koreksyon ki pwopoze. Se pou pa sichaje sit&egrave;m la. ',
'ortho_verif_impossible' => 'Sist&egrave;m-la se pa kapab gade l&ograve;tograf t&egrave;ks-la.',
'ortho_verifier' => 'Gade l&ograve;tograf',
 
 
// S
'statut_admin_restreint' => '(komand&egrave; ki limit&eacute;)',
'syndic_choix_moderation' => 'Kisa SPIP ka f&egrave; ak pwochen lyanaj ki soti sit-la&nbsp;?',
'syndic_choix_oublier' => 'Kisa SPIP ka f&egrave; ak lyanaj ki pa pw&eacute;zan nan fichy&eacute; sendikasyon la&nbsp;?',
'syndic_lien_obsolete' => 'lianaj se two vy&eacute;',
'syndic_option_miroir' => 'r&egrave;t sa-yo otomatikman',
'syndic_option_oubli' => 'efase yo (apw&egrave; @mois@&nbsp;mwa)',
'syndic_options' => 'Tout opsyon pou sendikasyon&nbsp;:',
 
 
// T
'taille_cache_image' => 'Tout imaj ki SPIP kav kalkile otomatikman (viy&egrave;t nan dokiman, kouman li rele ki pw&eacute;zant&eacute; nan foma gwafik, tout fonksyon matematik nan foma TeX...) yo ka okipe nan r&eacute;p&egrave;twar @dir@ lespas total ki @taille@.',
'taille_cache_infinie' => 'Genyen pa oken limit pou latay r&eacute;pertwar <code>CACHE/</code>.',
'taille_cache_maxi' => 'SPIP ka eseye limite latay r&eacute;pertwar <code>CACHE/</code> sit-la, alantou <b>@octets@</b> pou tout don&eacute; .',
'taille_cache_octets' => 'Tay pou kach se aster @octets@.',
'taille_cache_vide' => 'Kach-la se vid.',
'taille_repertoire_cache' => 'Latay r&eacute;pertwar kach',
'text_article_propose_publication' => 'Atik ki pwopoze pou f&eacute; par&egrave;t. Ezit pas bay lavi aou nan fowom ki jwen atik-la (anba lapaj).',
'texte_acces_ldap_anonyme_1' => 'K&egrave;k s&egrave;v&egrave; LDAP y ki pa aksepte laks&eacute; anonim.Al&ograve;, f&ograve;k pweziz&eacute;l yon lidentifian pou lo promye aks&eacute; akoz apr&egrave;sa posib cheche tout enf&ograve; masyon w ka vle nan laniy&eacute;. Men souvan, genyen posib w kenbe tout chan la vid.',
'texte_admin_effacer_01' => 'Komand la li efase <i>tout</i> kontni antye nan labazdone,
ak <i>tout</i> aks&eacute; r&eacute;dakt&egrave; ak koman&egrave; yo. Si w te f&eacute; mache ali, f&ograve;k w enstal&eacute; yon l&ograve;t fwa lapros&eacute;di
lenstalasyon SPIP pou w kreye yon l&ograve;t nouvo baz ak son promy&eacute; laks&eacute; komand&egrave;',
'texte_admin_tech_01' => 'Opsyon nan ka p&egrave;m&egrave; aw kembe kontni labazdone nan yon fichye ke sere nan repertwar <i>ecrire/data/</i>. Pa oublye genyen tout repetwar-la <i>IMG/</i>, pou sere byen tout limaj ak dokiman ki nan zot atik, zot ki repertwar-la ka kembe azot li m&egrave;m.',
'texte_admin_tech_02' => 'Atansyon: s&ograve;vgad-la ke kapab restore SELMAN sou yon sit ki enstal&eacute; sou yon m&egrave;m v&egrave;syon SPIP. F&ograve;k pa w &laquo;&nbsp;vid labaz&nbsp;&raquo; po enstal&eacute; s&ograve;vgad-la apr&eacute; met nan nivo... Gade <a href="http://www.spip.net/fr_article1489.html">dokimantasyon SPIP</a>.',
'texte_admin_tech_03' => 'Ou kapab chwazi s&ograve;vgad fichye-a nan f&ograve;m kopr&eacute;s&eacute;, pou rann transf&egrave; ali taptap
sou machin a w osnon yon s&egrave;v&egrave; pou las&ograve;vgad &egrave; pou gad swen pa depanse tro lespas diks l&ograve;dinat&egrave;.',
'texte_adresse_annuaire_1' => '(Si laniy&eacute; aw se enstal&eacute; sou m&egrave;m machin s&eacute;v&egrave; sit aw, se posib li rele senpman &laquo;localhost&raquo;.)',
'texte_ajout_auteur' => 'Lot&egrave;-a te fin ajoute pou atik-la :',
'texte_annuaire_ldap_1' => 'Si w gen laks&eacute; lanyi&egrave; (LDAP), w kapab itilize ali pou enp&ograve;te otomatikman itilizat&egrave; yo sou SPIP.',
'texte_article_statut' => 'Atik-la se :',
'texte_article_virtuel' => 'Atik virtyel',
'texte_article_virtuel_reference' => '<b>Atik virty&egrave;l&nbsp;:</b> se yon atik ki referanse nan sit SPIP aw, men ki toun&eacute; vir&eacute; sou yon l&ograve;t URL. Pou efase toun&eacute;-vir&eacute; an, ann efas w URL isit anl&egrave;r.',
'texte_aucun_resultat_auteur' => 'Pa oken r&eacute;zilta pou "@cherche_auteur@"',
'texte_auteur_messagerie' => 'Sit-la kapab bay w lalis redakt&egrave; an liy kounyen-a, bagay-la p&egrave;m&egrave; w voye mesaj direk ansamn moun. W pe chwazi pa par&egrave;t a liy nan lis-la (w kembe &laquo;&nbsp;envisib&nbsp;&raquo; pou tout zot itilizat&egrave;).',
'texte_auteur_messagerie_1' => 'Sit-la p&eacute;m&egrave; a w voye mesaj fowom pou pale nan kozman priv&eacute; ant tout patisipan ki soutni nan sit.W p&eacute; chwazi pa soutni pale nan kontak-la.',
'texte_auteurs' => 'LOT&Egrave; YO',
'texte_breves' => 'Ti-nouv&egrave;l yo se ti t&egrave;ks senp ki p&egrave;m&egrave; w f&egrave; par&egrave;t k&egrave;k ti enf&ograve;masyon taptap, osnon debouye w ek yon revi-lapr&egrave;s, ek m&egrave;m yon kalandrye pou anonse kisa moun kap soutni.',
'texte_choix_base_1' => 'Ann chwazi labaz ou :',
'texte_choix_base_2' => 'S&egrave;v&egrave; MySQL-la, li ka kembe k&egrave;k bazdon&eacute;.',
'texte_choix_base_3' => '<B>Chwazi</B> issit anba labaz ki l&eacute;b&eacute;rj&egrave; te bay aw:',
'texte_commande_vider_tables_indexation' => 'Itilize komand-la pou vide tout tabl endeksasyon ki itiliz&eacute;
nan mot&egrave;-lach&egrave;che ki pr&eacute;zan nan SPIP. Ke perm&egrave;t aw
kembe lespas diks.',
'texte_comment_lire_tableau' => 'Plas latik-la,
nan klasman popilawite, se enskri sou kote&nbsp;; populawite atik-la
(yon kont nonb
vizit pa jou atik-la ki rannkout si li kembe ritm-la kounyen-a)
ak nonb vizit ki vini
depi koumansman, zot ka afich
nan yon bil ki par&egrave;t kank w vole sou titr-la.',
'texte_compresse_ou_non' => '(li m&egrave;m se pet&egrave;t konprese, pet&egrave;t non)',
'texte_compte_element' => '@count@ eleman',
'texte_compte_elements' => '@count@ eleman (yo)',
'texte_config_groupe_mots_cles' => 'W vle aktive konfigirasyon pr&eacute;si pou tout mokle,
ek di w pa egsanp se posib chwazi yon mokle s&egrave;lman, osnon di yon gwoup-la se enp&ograve;tan... ? ',
'texte_connexion_mysql' => 'Gade tout lenf&ograve;masyon l&eacute;b&egrave;j&egrave; te bay aw&nbsp;: f&ograve;k w rankont tout kod pou koneksyon sou s&egrave;v&egrave; MySQL la, si l&eacute;b&eacute;j&egrave; kabab bay yon baz MySQL.',
'texte_contenu_article' => '(k&egrave;k mo pou di ki latik-la ka kembe.)',
'texte_contenu_articles' => 'Selon lasp&eacute; sit piblik aw, posib chwazi k&egrave;k z&eacute;l&eacute;man latik pa itil aw.
Lalis isit anba p&egrave;m&egrave; w chwazi &eacute;l&eacute;man sa-yo W ka kembe.
',
'texte_crash_base' => 'Si bazdon&eacute; aw ki kraze,
w kapab es&eacute;y yon aranjman
otomatik.',
'texte_creer_rubrique' => 'Avan w kapab &eacute;kri tout atik la,<BR> f&ograve;k w kreye yon ribrik dab&ograve;.',
'texte_date_creation_article' => 'LADAT KR&Eacute;ASYON LARTIK-LA&nbsp;:',
'texte_date_publication_anterieure' => 'Ladat redaksyon davan&nbsp;:',
'texte_date_publication_anterieure_nonaffichee' => 'Pa afiche yon dat redaksyon d&eacute;y&egrave;.',
'texte_date_publication_article' => 'LADAT PIBLIKASYON AN LIY&nbsp;:',
'texte_descriptif_petition' => 'D&eacute;krisyon p&eacute;tisyon nan',
'texte_descriptif_rapide' => 'Dekrisyon taptap',
'texte_documents_joints' => 'Ou kapab perm&egrave; ajoute tou dokiman (fichye birotik, limaj,
miltim&eacute;dia, etousa.) nan atik ak ribrik yo. Fichye sa-yo
se posib r&eacute;f&eacute;rans azot apr&egrave; nan latik
osnon afiche azot tou s&egrave;l.<p />',
'texte_documents_joints_2' => 'R&egrave;glaj-la ka pa enpeche bay zot limaj nan atik dir&eacute;kman.',
'texte_effacer_base' => 'Efase labazdon&eacute; SPIP',
'texte_effacer_donnees_indexation' => 'Efase tout don&eacute; pou lendeksasyon',
'texte_en_cours_validation' => 'Atik ak tinouv&egrave;l isit anba, zot se pwopoze pou f&egrave; par&egrave;t. Ezit pa bay lavi aw nan fowom jwen.',
'texte_enrichir_mise_a_jour' => 'W kapab rann lasp&eacute; lapaj pli rich ak &laquo;&nbsp;tichemen tipografik&nbsp;&raquo;.',
'texte_fichier_authent' => '<b>F&ograve;k SPIP kreye fichye yo espesyal <tt>.htpasswd</tt>
ak <tt>.htpasswd-admin</tt> nan rep&egrave;twar <tt>ecrire/data/</tt> ?</b><p />
Fichye sa-yo p&egrave;m&egrave; w limite laks&eacute; lot&egrave; ak komand&egrave; nan k&egrave;k l&ograve;t katye sit-la
(pwogwam lestatistik, pa egsanp).<p />
W kapab sere lopsyon an nan val&egrave; otomatik (pou pa kreye tou fichye la), si li pa itil aw. ',
'texte_informations_personnelles_1' => 'Sist&egrave;m ke jodiya kreye yon laks&eacute; p&egrave;sonaliz&eacute; pou w.',
'texte_informations_personnelles_2' => '(Gad : si genyen yon l&ograve;t enstalasyon ak laks&eacute; aw ka mache ank&ograve;, w kapab',
'texte_introductif_article' => '(T&egrave;ks lentwodiksyon latik.)',
'texte_jeu_caractere' => 'Lopsyon-an se itil si sitweb-la afiche k&egrave;k alfabe diferan lalfab&eacute;
romin (ou &laquo;&nbsp;oksidantal&nbsp;&raquo;) ek tout alfabe komsa.
Al&ograve;, f&ograve;k w chanje reglaj otomatik pou chwazi yon gwoup karakt&egrave; pwop&nbsp;;
Se mye f&egrave; yon esey avan pou rankout yon manyen adapt&eacute; pou afich lang-la
Si ou chanje lalfabe a
ann f&eacute; osi bo reglaj nan leskel&egrave;t sit w (baliz <tt>#CHARSET</tt>).',
'texte_jeu_caractere_2' => 'Reglaj-la li pa mache toune ay&egrave;. Akoz bagay-la
tout t&egrave;ks ki enskri avan, ot kap afich mal apr&egrave; chanjman-la.
Nep&ocirc;t bagay-la, se fasil toune dey&egrave; sou promye reglaj ou chanje ali ank&ograve;.',
'texte_lien_hypertexte' => '(Si mesaj aw se mesaj ki pale yon atik w rankout de&ograve; sou yo l&ograve;t sitweb, osnon yon paj ki sere plis enf&ograve;masyon, m&egrave;si bay isit anba kouman li rele ak kil&egrave;s URL.)',
'texte_liens_sites_syndiques' => 'Tout lyen ki s&ograve;ti tout sit sendike, genyen
posib blok azot dab&ograve;&nbsp;; r&eacute;glaj isit
anba se r&eacute;glaj otomatik pou tout sit apr&eacute; kreasyon sendikasyon azot
posib d&eacute;blok azot apr&egrave;, ou debloke selman lyen pa lyen, osnon chwazi bloke sit pa sit, tput lyen ki s&ograve;it laveni sou sit sa-yo. ',
'texte_login_ldap_1' => '(Kembe vid ali pou yo laks&eacute; anonim, osnon ekri w chemen konple pa egsanp &laquo;&nbsp;<tt>uid=mwen, ou=users, dc=sitamwen, dc=com</tt>&nbsp;&raquo;.)',
'texte_login_precaution' => 'Atansyon&nbsp;! bagay-la se nonkod koumon w rele kounyen-a.
Ann itilize f&ograve;mil&egrave;-a ek swen...',
'texte_message_edit' => 'Atansyon&nbsp;: tout komand&egrave; sit sa-a kapab chnaje mesaj-la ak tout redakt&egrave; kapab li ali. M&egrave;si itilize mesaj anons komsa s&eacute;lman pou soutni yon evenman enp&ograve;tan nan vi sit-la.',
'texte_messages_publics' => 'Mesaj piblik yo ki nan atik-la :',
'texte_mise_a_niveau_base_1' => 'W te fini renouv&egrave;le tout fichye SPIP.
F&ograve;k kembe nan nivo labazdon&eacute;
pou sit-la.',
'texte_modifier_article' => 'Chanje atik-la :',
'texte_moteur_recherche_active' => '<b>Mot&egrave;-lach&egrave;che ki aktive.</b> Itilize w komand-la pou f&egrave; ank&ograve; yon endeksayon
le (apr&egrave; w te fin restore
yon s&ograve;vgad pa egsanp). Tout dokiman ki te chanje
n&ograve;malman (depi lent&egrave;fas SPIP) se endeks&eacute;
otomatikman&nbsp;: komand-la selman itil nan tan &eacute;sepsyonel.',
'texte_moteur_recherche_non_active' => 'Mot&egrave;-lach&egrave;che ki pa aktive.',
'texte_mots_cles' => 'Mokl&eacute; se bagay ki p&egrave;m&egrave; w kreye lyen t&eacute;matik ansanm atik yo
kiswa zot plas nan ribrik. Bagay-la p&eacute;m&egrave; rann m&eacute;y&egrave; navigasyon sou sit aw
ak p&egrave;s&ograve;nalize prezantasyon atik yo nan leskel&egrave;t.',
'texte_mots_cles_dans_forum' => 'Aksepte w tout vizit&eacute; kapab itilize tout mokle nan fowom yo sou sit piblik&nbsp;? (Atansyon&nbsp;: lopsyon-an se konpl&egrave;ks pou itilize.)',
'texte_multilinguisme' => 'Si w vle itilize atik yo sous sit-la nan diferan lang, ak yon navigasyon konpl&egrave;ks, w kapab ajoute yon meni-dewoul&egrave; pou chwazi lalang tout atik ak ribrik yo, selon kouman w te &ograve;ganize sit aw.',
'texte_multilinguisme_trad' => 'Ou kap m&egrave;t yon sist&egrave;m pou okipe k&egrave;k lyen ant plizy&egrave; tradiksyon yon m&egrave;m atik.',
'texte_non_compresse' => '<i>ki pa konprese</i> (s&egrave;v&egrave; w ki pa soutni nan fonksyon la)',
'texte_non_fonction_referencement' => 'W ka vle pa itilize fonksyon otomatik la, men endike w m&egrave;m tout &eacute;l&eacute;man yo ki pale sit-la...',
'texte_nouveau_message' => 'Nouvo mesaj',
'texte_nouveau_mot' => 'Nouvo mo',
'texte_nouvelle_version_spip_1' => 'W te enstal&eacute; yon nouvo v&eacute;syon SPIP.',
'texte_nouvelle_version_spip_2' => 'F&ograve;k w f&egrave; yon arnouv&egrave;lman pli konple pou monte nivo nouvo v&egrave;syon an. Si w se webm&egrave;t sit-la, m&egrave;si efase fichye-a <tt>inc_connect.php3</tt> nan repetwar <tt>ecrire</tt> ak ropran lenstalasyon pou m&egrave;t param&egrave;t koneksyon sou bazdone nan nivo.<p /> (Gad.&nbsp;: si w te oubliye param&egrave;t koneksyon aw, gad fichye <tt>inc_connect.php3</tt> avan efase ali...)',
'texte_operation_echec' => 'M&egrave;si tounyen dey&egrave; sou paj davan, chwazi yon l&ograve;t baz osnon kreye w yon nouvo baz. Gad byin tout lenf&ograve;masyon l&eacute;bj&egrave;je w te bay aw.',
'texte_plus_trois_car' => 'plisk 3 karakt&egrave; limprimi',
'texte_plusieurs_articles' => 'Genyen k&egrave;k lot&egrave; pou "@cherche_auteur@":',
'texte_port_annuaire' => '(Laval&egrave; enskri otamatikman ka mache an j&eacute;n&eacute;ral.)',
'texte_proposer_publication' => 'Kan latik fini,<br> w kapab pwopoze ali pou yon piblikasyon.',
'texte_proxy' => 'Posib (intranet, r&eacute;zo pwoteje...),
se n&eacute;s&egrave;s&egrave; itilize yon pwoksi <I>proxy HTTP</I> pou konek tout sit sendike.
Al&ograve; f&ograve;k w enskri ladr&egrave;s URL, nan f&ograve;ma
<tt><html>http://proxy:8080</html></tt>. N&ograve;malman,
w ke sere chan-la vid. ',
'texte_publication_articles_post_dates' => 'Kil&egrave;s atitud SPIP ke chwazi pou pibliye tout latik ki dat piblikasyon
se pr&eacute;size nan dat lavenir&nbsp;?',
'texte_rappel_selection_champs' => '[Oubliy pa w chwazi chan la korekman.]',
'texte_recalcul_page' => 'Si w vle
kalkil ank&ograve; yon sel paj selman, itilize plito lespas piblik ak bouton &laquo; Kalkil ank&ograve; &raquo;.',
'texte_recapitiule_liste_documents' => 'Paj-la ka rankont tout dokiman w teplase nan ribrik yo. Si w vle chanje tout lenf&ograve;masyon chak dokiman, m&egrave;si swiv lyanaj sou paj ribrik azot.',
'texte_recuperer_base' => 'Aranje bazdon&eacute; la',
'texte_reference_mais_redirige' => 'atik ki referanse nan sit SPIP aou, men ki vir&eacute; direksyon sou yon lot URL.',
'texte_referencement_automatique' => '<b>R&eacute;f&eacute;ransman otomatik pou yon sitweb</b><br>W kapab referanse fasilman yon sitweb si w bay ladr&egrave;s URL osnon bay ladr&egrave;s fichye backend ali. SPIP ke pran otomatikman tout enf&ograve;masyon posib pou sit-la (kouman li rele, dekrisyon...).',
'texte_requetes_echouent' => '<b>kank k&egrave;k rek&egrave;t MySQL ki pa mache
sist&eacute;matikman ak ki pa r&eacute;zon vizib, se posib bagay la ki ako bazdon&eacute;-la li m&egrave;m
.</b><p />
Tounyen a kapasit&eacute; MySQL pou aranje tout tab ali kank zot se abime pa aksidan.
W kapab esey issit yon aranjman&nbsp;;
Si bagay-la ki pa mache, kenbe ou yon kopi lafichaj, ki sere p&egrave;t&egrave;t indis pou rannkont ki pa mache...<p />
Si pwobl&egrave;m la ki kenbe, m&egrave;si kontak l&eacute;b&eacute;rj&egrave;
.<p />',
'texte_restaurer_base' => 'Restore kontni yon sovgad baz-la',
'texte_restaurer_sauvegarde' => 'Opsyon-nan ki p&eacute;m&egrave; w restore yon sovgad ki w t&eacute; f&eacute; avan sou baz-la.
Akoz, fok w plas&eacute; fichye an ki kembe sovgad-la nan r&eacute;pertwar
<i>ecrire/data/</i>.
Tansyon kank w touche fonksyonalit&eacute; an &nbsp;: <b>tout chanjman, tout bagay ki perdi, se
d&eacute;finitif.</b>',
'texte_sauvegarde' => 'Sovgad kontni baz-la',
'texte_sauvegarde_base' => 'Sovgad baz-la',
'texte_sauvegarde_compressee' => 'Sovgad ke pou f&egrave; nan yon fichye pa kopr&eacute;s&eacute; sa-a, ki rele <b>ecrire/data/dump.xml</b>.',
'texte_selection_langue_principale' => 'W kapab chwazi &laquo;&nbsp;lang prensipal&nbsp;&raquo; sit-la. Chwa-an se pa obligasyon - bon di&eacute;&nbsp;! - w &eacute;kri artik-w nan lang-la, men bagay-la li p&eacute;m&egrave; d&eacute;fini&nbsp;:
<ul><li> f&ograve;ma otomatik tout dat sou sit piblik&nbsp;;</li>
<li> ki m&ograve;t&egrave; tipografik, f&ograve;k sist&egrave;m SPIP li itilize pou rann tout t&egrave;ks sou sit-la&nbsp;;</li>
<li> ki lang f&ograve;k sit itilize nan tout f&ograve;mil&egrave; sou sit piblik&nbsp;;</li>
<li> ki lang se pr&eacute;zant&eacute; otomatikman nan lespas priv&eacute;.</li></ul>',
'texte_signification' => 'Tou liy nwa se limaj tout rantr&eacute; kimil&eacute; (yon total pou tout souribrik), tout liy kl&egrave;r se nonb visit sa-yo pou chak ribrik.',
'texte_sous_titre' => 'Soutitr (Kouman i rel&eacute; osi)',
'texte_statistiques_visites' => '(tout liy nwa : dimanch / lakourb nwa : l&eacute;volisyon mwayenn sa)',
'texte_statut_attente_validation' => 'ki tann pou konfim&eacute;',
'texte_statut_publies' => 'pibliy&eacute; an liy',
'texte_statut_refuses' => 'refiz&eacute;',
'texte_suppression_fichiers' => 'Itilize komand-la pou efase tout fichy&eacute; pr&eacute;zan sa-yo nan kach-SPIP (cache).
Bagay-la p&eacute;m&egrave;, pa egsanp, f&ograve;se rekalkil tout paj sa-yo, apr&eacute; plizy&egrave; gro chanjman nan grafism osnon lastrikti sit aou.
',
'texte_sur_titre' => 'Sir-tit',
'texte_syndication' => 'Kank sitweb-la li p&egrave;m&egrave; bagay-sa-a, se posib pran otomatikman lis tout nouv&egrave;lt&eacute; ali.
F&ograve;k w aktive sendikasyon an.
<blockquote><i>Tansyon k&egrave;k z&eacute;b&egrave;rj&egrave;, zot ka d&eacute;zaktiv fonksyonalit&eacute;-a&nbsp;;
akoz bagay-la, inposib pran sendikasyon-an depi sit aou
.</i></blockquote>',
'texte_table_ok' => ': tab-la se bon.',
'texte_tables_indexation_vides' => 'Tab pou indeksayon mot&egrave; se vid.',
'texte_tentative_recuperation' => 'Esey aranj&eacute;',
'texte_tenter_reparation' => 'Es&egrave;y yon aranjman labazdon&eacute;',
'texte_test_proxy' => 'Pou eseye pwoksi-a (proxy), ann enskri isit ladr&egrave;s yon sit web
w vle test&eacute;.',
'texte_titre_02' => 'Tit (Kouman i rele) :',
'texte_titre_obligatoire' => '<B>Tit (Kouman i rele)</B> [N&egrave;s&egrave;s&egrave;]',
'texte_travail_article' => '@nom_auteur_modif@ t&eacute; travay&eacute; sou atik la @date_diff@ minit pase',
'texte_travail_collaboratif' => 'Si genyen souvan k&egrave;l redakt&egrave; ki soutni sou
yon m&egrave;m atik, sist&egrave;m-la kapab afiche atik yo
ki &laquo;&nbsp;ouv&egrave;&nbsp;&raquo;
nan tan r&eacute;san pou evite chanjman ki kraze l&ograve;t.
W kapab m&egrave;t opsyon-nan ki sispann otomatikman pou evite f&egrave; par&egrave;t toultan
mesaj yo pou atansyon.
',
'texte_trop_resultats_auteurs' => 'Genyen tro rezilta pou "@cherche_auteur@" ; m&egrave;si pr&eacute;siz ch&egrave;che w-a.',
'texte_unpack' => 't&eacute;l&eacute;chajman d&egrave;ny&egrave; v&egrave;syon',
'texte_utilisation_moteur_syndiques' => 'Kan w itilize mot&egrave;-rech&egrave;che andodan SPIP, w kapab ch&egrave;che
sou sit ak atik sendik&eacute; yo nan d&eacute; many&egrave; dif&eacute;ran.
<br><img src=\'puce.gif\'> Pli senp se ch&egrave;che s&egrave;lman kouman atik yo rele (tit yo)
ou nan d&eacute;kripsyon atik sa-yo
<br><img src=\'puce.gif\'>
D&egrave;zy&egrave;m m&eacute;tod, pli pwisan, se f&egrave;
SPIP ch&egrave;che ositou nan t&egrave;ks tout sit referans&eacute; yo.
Si w ka referanse yon sit
SPIP ka ch&egrave;che nan t&egrave;ks sit li m&egrave;me sa-a.
.',
'texte_utilisation_moteur_syndiques_2' => 'M&egrave;tod la li domann SPIP vizite
souvan tout sit referanse,
li kap diminye vit&egrave;s sit a w.
',
'texte_vide' => 'vid',
'texte_vider_cache' => 'Vide kach-la',
'titre_admin_effacer' => 'Swen teknik',
'titre_admin_tech' => 'Swen teknik',
'titre_admin_vider' => 'Swen teknik',
'titre_articles_syndiques' => 'Atik sendike ki rale yo sit la',
'titre_breves' => 'Tinouv&egrave;l yo',
'titre_cadre_afficher_article' => 'F&egrave; par&egrave;t atik yo',
'titre_cadre_afficher_traductions' => 'F&egrave; par&egrave;t kouman se tradiksyon yo pou tout lanng swivan&nbsp;:',
'titre_cadre_ajouter_auteur' => 'KREYE YON LOTE :',
'titre_cadre_forum_administrateur' => 'Fowom priv&eacute; pou komand&egrave; yo',
'titre_cadre_forum_interne' => 'Fowom andedan',
'titre_cadre_interieur_rubrique' => 'nan ribrik',
'titre_cadre_numero_auteur' => 'LOTE NIMEWO',
'titre_cadre_signature_obligatoire' => '<B>Siyati</B> [N&eacute;ses&egrave;]<BR>',
'titre_config_fonctions' => 'Konfigire sit-la',
'titre_config_groupe_mots_cles' => 'Konfigire gwoup mokle yo',
'titre_configuration' => 'Konfigire sit-la',
'titre_connexion_ldap' => 'Opsyon sa-yo : <b>ou kon&egrave;ksyon LDAP</b>',
'titre_dernier_article_syndique' => 'Tout denye atik sendike',
'titre_documents_joints' => 'Dokiman yo te jwenn nan atik',
'titre_evolution_visite' => 'Evolisyon vizit yo',
'titre_forum_suivi' => 'Swivi fowom yo',
'titre_gauche_mots_edit' => 'MOKLE NIMEWO :',
'titre_groupe_mots' => 'GWOUP MOKLE :',
'titre_langue_article' => 'LALANNG ATIK-LA',
'titre_langue_breve' => 'LALANNG TINOUV&Egrave;L-LA',
'titre_langue_rubrique' => 'LALANNG RIBRIK-LA',
'titre_langue_trad_article' => 'LALANNG AK TRADIKSYON YO ATIK-LA',
'titre_les_articles' => 'ATIK YO',
'titre_mots_cles_dans_forum' => 'Mokle yo nan fowom yo sit piblik',
'titre_mots_tous' => 'Mokle yo',
'titre_naviguer_dans_le_site' => 'F&egrave; yon vire sou sit-la...',
'titre_nouveau_groupe' => 'Nouvo gwoup',
'titre_nouvelle_breve' => 'Nouvo tinouv&egrave;l',
'titre_nouvelle_rubrique' => 'Nouvo ribrik',
'titre_numero_rubrique' => 'RIBRIK NIMEWO&nbsp;:',
'titre_page_admin_effacer' => 'Swen teknik : kraze labaz',
'titre_page_articles_edit' => 'Chanje: @titre@',
'titre_page_articles_page' => 'Atik yo',
'titre_page_articles_tous' => 'Tout sit sa-m&egrave;m',
'titre_page_auteurs' => 'Vizit&egrave; yo',
'titre_page_breves' => 'Tinouv&egrave;l yo',
'titre_page_breves_edit' => 'Chanje tinouv&egrave;l-la : &laquo; @titre@ &raquo;',
'titre_page_calendrier' => 'Kalandriye @nom_mois@ @annee@',
'titre_page_config_contenu' => 'Konfigire sit-la',
'titre_page_config_fonctions' => 'Konfigire sit-la',
'titre_page_configuration' => 'Konfigire sit-la',
'titre_page_controle_petition' => 'Swivi petisyon yo',
'titre_page_delete_all' => 'krazman konple ke pa posib pou anile',
'titre_page_documents_liste' => 'Dokiman yo nan ribrik ',
'titre_page_forum' => 'Fowom komand&egrave; yo',
'titre_page_forum_envoi' => 'Voye yon mesaj',
'titre_page_forum_suivi' => 'Pou swiv tout fowom yo',
'titre_page_index' => 'Espas prive a w',
'titre_page_message_edit' => 'Ekri yon mesaj',
'titre_page_messagerie' => 'Ou kazmodekri ',
'titre_page_mots_tous' => 'Tout mokl&eacute; yo',
'titre_page_recherche' => 'Rezilta ch&egrave;che @recherche@',
'titre_page_sites_tous' => 'Tout sit referanse yo',
'titre_page_statistiques' => 'Estatsitik pou tout pati yo nan sit sa a',
'titre_page_statistiques_referers' => 'R&eacute;zilta estatistik (lyen sa-yo ka rive)',
'titre_page_statistiques_visites' => 'Estatistik pou tout vizit yo',
'titre_page_upgrade' => 'M&egrave;t SPIP nan nivle',
'titre_publication_articles_post_dates' => 'Piblikasyon tout atik yo posdate',
'titre_referencement_sites' => 'Referansman pou tout sit yo ak sendikasyon ',
'titre_referencer_site' => 'Referanse sit la :',
'titre_rendez_vous' => 'PWOPOZE YON RANKONT :',
'titre_reparation' => 'Reparasyon',
'titre_site_numero' => 'SIT NIMEWO &nbsp;:',
'titre_sites_proposes' => 'Tout sit pwopoze ',
'titre_sites_references_rubrique' => 'Tout sit referanse nan pati sa a nan sit la',
'titre_sites_syndiques' => 'Tout sit sendike yo',
'titre_sites_tous' => 'Tout sit referanse andan sit la',
'titre_suivi_petition' => 'Swiv tout petisyon yo',
'titre_syndication' => 'Sendikasyon pou tout sit yo',
'tout_dossier_upload' => 'Dosy&eacute;-a tout anty&eacute; @upload@',
'trad_article_inexistant' => 'Okenn atik gen pa nimewo-a.',
'trad_article_traduction' => 'Tout versyon pou atik la&nbsp;:',
'trad_deja_traduit' => 'Atik sa a se deja tradiksyon pou prezan atik la.',
'trad_delier' => 'Retire lyen ansanm atik la ak tout tradidksyon',
'trad_lier' => 'Atik la se tradiksyon atik nimewo&nbsp;:',
'trad_new' => 'Ekri tradiksyon ank&ograve; pou atik la',
 
 
// V
'version_initiale' => 'Premye versyon'
 
);
 
 
?>
/trunk/actu/ecrire/lang/spip_oc_lms.php3
New file
0,0 → 1,742
<?php
 
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
 
$GLOBALS[$GLOBALS['idx_lang']] = array(
 
 
// 0
'0_URL' => 'http://www.spip.net/oc',
'0_langue' => 'occitan (lemosin) [oc_lms]',
'0_liste' => 'spip-oc@rezo.net',
'0_mainteneur' => 'Domergue Sumien: lenga.occitana@aprene.org ',
 
 
// A
'access_interface_graphique' => 'Tornar a l\'interf&agrave;cia grafica completa',
'access_mode_texte' => 'Afichar l\'interf&agrave;cia textuala simplificada',
'admin_debug' => 'desbugatge',
'admin_modifier_article' => 'Modificar quel article',
'admin_modifier_auteur' => 'Modificar quel autor',
'admin_modifier_breve' => 'Modificar quela breva',
'admin_modifier_mot' => 'Modificar queu mot clau',
'admin_modifier_rubrique' => 'Modificar quela rubrica',
'admin_recalculer' => 'Tornar calcular la pagina',
'alerte_maj_impossible' => '<b>Alerta!</b> Quo es impossible d\'actualizar la basa MySQL vers la version @version@; benleu i a un problema relatiu au drech de modificar la basa de donadas. Volhatz contactar v&ograve;stre auberjador.',
'avis_archive_incorrect' => 'lo fichier archiu es pas un fichier SPIP',
'avis_archive_invalide' => 'lo fichier archiu es pas valid',
'avis_attention' => 'ATENCION!',
'avis_champ_incorrect_type_objet' => 'Nom de champ incorrecte @name@ per objecte de tipe @type@',
'avis_colonne_inexistante' => 'La colomna @col@ exist&iacute;s pas',
'avis_echec_syndication_01' => 'La sindicacion a frolhat: lo backend indicat es indeschifrable o prepausa brisa d\'article.',
'avis_echec_syndication_02' => 'La sindicacion a frolhat: impossible d\'accedir au backend de queu sit.',
'avis_erreur' => 'Error: vesetz &ccedil;ai sos',
'avis_erreur_connexion' => 'Error de connexion',
'avis_erreur_cookie' => 'problema de cookie',
'avis_erreur_fonction_contexte' => 'Error de programacion. Chau pas cridar quela foncion dins queu context.',
'avis_erreur_mysql' => 'Error MySQL ',
'avis_erreur_sauvegarde' => 'Error dins la sauvagarda (@type@ @id_objet@)! ',
 
 
// B
'barre_a_accent_grave' => 'Inserir una A accent greu majuscula',
'barre_aide' => 'Utilizar las escorchieras tipograficas per enrichir v&ograve;stra compaginacion',
'barre_e_accent_aigu' => 'Inserir una E accent agut majuscula',
'barre_eo' => 'Inserir una E dins l\'O',
'barre_eo_maj' => 'Inserir una E dins l\'O majuscula',
'barre_euro' => 'Inserir lo simbeu de l\'euro: &#8364;',
'barre_gras' => 'Metre en {{gras}}',
'barre_guillemets' => 'Environar emb de las &laquo; vergetas &raquo;',
'barre_guillemets_simples' => 'Environar emb de las „vergetas“',
'barre_intertitre' => 'Transformar en {{{intert&iacute;tol}}}',
'barre_italic' => 'Metre en {italics}',
'barre_lien' => 'Transformar en [liam ipertext->http://...]',
'barre_lien_input' => 'Volhatz indicar l\'adrei&ccedil;a de v&ograve;stre liam (podetz indicar una adrei&ccedil;a web sos la forma http://www.lomeusit.com o simplament indicar lo numero d\'un article de queu sit).',
'barre_note' => 'Transformar en [[N&ograve;ta de pe]]',
'barre_quote' => '<quote>Citar un messatge</quote>',
'bouton_ajouter_document' => 'APONDRE UN DOCUMENT',
'bouton_ajouter_image' => 'APONDRE UN IMATGE',
'bouton_changer' => 'Chamjar',
'bouton_chercher' => 'Cerchar',
'bouton_choisir' => 'Chausir',
'bouton_enregistrer' => 'Registrar',
'bouton_radio_desactiver_messagerie_interne' => 'Desactivar la messatjari&aacute; interna',
'bouton_radio_envoi_annonces' => 'Mandar los anoncis editoriaus',
'bouton_radio_non_envoi_annonces' => 'Pas mandar d\'anoncis',
'bouton_radio_non_envoi_liste_nouveautes' => 'Pas mandar la tiera de las novetats',
'bouton_recharger_page' => 'tornar charjar quela pagina',
'bouton_telecharger' => 'Telecharjar',
'bouton_valider' => 'Validar',
 
 
// C
'cal_apresmidi' => 'tant&ograve;st',
'cal_jour_entier' => 'jorn entier',
'cal_matin' => 'matin',
'cal_par_jour' => 'chalendier per jorn',
'cal_par_mois' => 'chalendier per mes',
'cal_par_semaine' => 'chalendier per setmana',
'calendrier_synchro_lien' => '',
'calendrier_synchro_prive' => '',
'calendrier_synchro_public' => '',
'calendrier_synchro_sync' => '',
'confirm_changer_statut' => 'Atencion, avetz demandat de chamjar l\'estatut de quel element. Desiratz de contunhar? ',
 
 
// D
'date_aujourdhui' => 'uei',
'date_avant_jc' => 'avans lo Crist',
'date_dans' => 'd\'aqu&iacute; @delai@',
'date_de_mois_1' => '@j@ de genier',
'date_de_mois_10' => '@j@ d\'oct&ograve;bre',
'date_de_mois_11' => '@j@ de novembre',
'date_de_mois_12' => '@j@ de decembre',
'date_de_mois_2' => '@j@ de belier',
'date_de_mois_3' => '@j@ de mar&ccedil;',
'date_de_mois_4' => '@j@ d\'abriau',
'date_de_mois_5' => '@j@ de mai',
'date_de_mois_6' => '@j@ de junh',
'date_de_mois_7' => '@j@ de julh',
'date_de_mois_8' => '@j@ d\'aost',
'date_de_mois_9' => '@j@ de setembre',
'date_demain' => 'deman',
'date_fmt_heures_minutes' => '@h@h@m@min',
'date_fmt_jour_heure' => '@jour@ a @heure@',
'date_fmt_jour_mois' => '@jourmois@',
'date_fmt_jour_mois_annee' => '@jourmois@ de @annee@',
'date_fmt_mois_annee' => '@nommois@ de @annee@',
'date_fmt_nomjour_date' => 'lo @nomjour@ @date@',
'date_heures' => 'oras',
'date_hier' => 'ier',
'date_il_y_a' => 'fai @delai@',
'date_jnum1' => '1r',
'date_jnum10' => '10',
'date_jnum11' => '11',
'date_jnum12' => '12',
'date_jnum13' => '13',
'date_jnum14' => '14',
'date_jnum15' => '15',
'date_jnum16' => '16',
'date_jnum17' => '17',
'date_jnum18' => '18',
'date_jnum19' => '19',
'date_jnum2' => '2',
'date_jnum20' => '20',
'date_jnum21' => '21',
'date_jnum22' => '22',
'date_jnum23' => '23',
'date_jnum24' => '24',
'date_jnum25' => '25',
'date_jnum26' => '26',
'date_jnum27' => '27',
'date_jnum28' => '28',
'date_jnum29' => '29',
'date_jnum3' => '3',
'date_jnum30' => '30',
'date_jnum31' => '31',
'date_jnum4' => '4',
'date_jnum5' => '5',
'date_jnum6' => '6',
'date_jnum7' => '7',
'date_jnum8' => '8',
'date_jnum9' => '9',
'date_jour_1' => 'dimenge',
'date_jour_2' => 'diluns',
'date_jour_3' => 'dimars',
'date_jour_4' => 'dimecres',
'date_jour_5' => 'dij&ograve;us',
'date_jour_6' => 'divendres',
'date_jour_7' => 'dissabde',
'date_jours' => 'jorns',
'date_minutes' => 'minutas',
'date_mois' => 'mes',
'date_mois_1' => 'genier',
'date_mois_10' => 'oct&ograve;bre',
'date_mois_11' => 'novembre',
'date_mois_12' => 'decembre',
'date_mois_2' => 'belier',
'date_mois_3' => 'mar&ccedil;',
'date_mois_4' => 'abriau',
'date_mois_5' => 'mai',
'date_mois_6' => 'junh',
'date_mois_7' => 'julh',
'date_mois_8' => 'aost',
'date_mois_9' => 'setembre',
'date_saison_1' => 'ivern',
'date_saison_2' => 'prima',
'date_saison_3' => 'estiu',
'date_saison_4' => 'darriera',
'date_semaines' => 'setmana(s)',
'dirs_commencer' => 'per comen&ccedil;ar vertadierament l\'installacion',
'dirs_preliminaire' => 'Preliminar: <B>Reglar los drechs d\'acc&egrave;s</b>',
'dirs_probleme_droits' => '<b>Problema de drechs d\'acc&egrave;s</b>',
'dirs_repertoires_absents' => '<B>S\'es pas trobat los repert&ograve;ris seguents: <ul>@bad_dirs@.</ul> </b>
<P>Se p&ograve;t que venha d\'un problema de majusculas o minusculas mau mesas.
Verificatz que las minusculas e majusculas de quilhs repert&ograve;ris correspondan be emb qu&ograve; afichat
&ccedil;ai subre; s\'es pas lo cas, tornatz nommar los repert&ograve;ris emb v&ograve;stre logiciau FTP en corregir l\'error.
<P>Un c&ograve;p qu\'auretz fach qu&ograve; lai, poiretz ',
'dirs_repertoires_suivants' => '<B>Los repert&ograve;ris seguents son pas accessibles en escritura: <ul>@bad_dirs@.</ul> </b>
<P>Per adobar qu&ograve; lai, utilizatz v&ograve;stre client FTP per fin de reglar los drechs d\'acc&egrave;s de chascun
de quilhs repert&ograve;ris. La guida d\'installacion explica en detalh coma chau procedir.
<P>Tanleu qu\'auretz facha quela manipulacion, poiretz ',
 
 
// E
'entree_dimensions' => 'Dimensions:',
'entree_titre_document' => 'T&iacute;tol dau document:',
'entree_titre_image' => 'T&iacute;tol de l\'imatge:',
'envoi_via_le_site' => 'Mandad&iacute;s emb lo biais dau sit web',
 
 
// F
'fichier_introuvable' => 'S\'es pas pogut trobar lo fichier @fichier@.',
'form_deja_inscrit' => 'Setz ja inscrich(a).',
'form_email_non_valide' => 'V&ograve;stra adrei&ccedil;a e-mail es pas valida.',
'form_forum_access_refuse' => 'Podetz pas mai accedir a queu sit.',
'form_forum_bonjour' => 'Bonjorn,',
'form_forum_email_deja_enregistre' => 'Quela adrei&ccedil;a e-mail ja es registrada, adonc podetz utilizar v&ograve;stre mot de santa Clara costumier.',
'form_forum_identifiant_mail' => 'Vos avem mandat v&ograve;stre identificant noveu per e-mail.',
'form_forum_identifiants' => 'Identificants personaus',
'form_forum_indiquer_nom_email' => 'Indicatz qu&iacute; v&ograve;stre nom e v&ograve;stra adrei&ccedil;a e-mail. V&ograve;stre identificant personau \'ribar&aacute; regde, per e-mail.',
'form_forum_login' => 'login:',
'form_forum_message_auto' => '(quo es un messatge automatic)',
'form_forum_pass' => 'mot de santa Clara:',
'form_forum_probleme_mail' => 'Problema d\'e-mail: se p&ograve;t pas mandar l\'identificant.',
'form_forum_voici1' => 'Veiqu&iacute; v&ograve;stres identificants per poder participar a la vida
dau sit "@nom_site_spip@" (@adresse_site@/):',
'form_forum_voici2' => 'Veiqu&iacute; v&ograve;stres identificants per prepausar daus articles
subre lo sit "@nom_site_spip@" (@adresse_site@/ecrire/):',
'form_indiquer_email' => 'Volhatz indicar v&ograve;stra adrei&ccedil;a e-mail.',
'form_indiquer_nom' => 'Volhatz indicar v&ograve;stre nom.',
'form_indiquer_nom_site' => 'Volhatz indicar lo nom de v&ograve;stre sit.',
'form_pet_adresse_site' => 'Adrei&ccedil;a de v&ograve;stre sit',
'form_pet_aucune_signature' => 'Brisa de signatura correspond pas a queu c&ograve;de...',
'form_pet_confirmation' => 'Volhatz confirmar v&ograve;stra signatura:',
'form_pet_deja_enregistre' => 'Ja queu sit es registrat',
'form_pet_deja_signe' => 'Avetz ja signat queu text.',
'form_pet_envoi_mail_confirmation' => 'Aura recebretz un e-mail de confirmacion. Per validar v&ograve;stra signatura, chau vesitar l\'adrei&ccedil;a web men&ccedil;onada per queste corrier.',
'form_pet_mail_confirmation' => 'Bonjorn,
 
avetz demandat de signar la peticion:
@titre@.
 
Avetz fornidas las informacions seguentas:
Nom: @nom_email@
Sit: @nom_site@ - @url_site@
 
 
IMPORTANT...
Per validar v&ograve;stra signatura, suf&iacute;s de vos connectar a
l\'adrei&ccedil;a &ccedil;ai sos (senon se regetar&aacute;
v&ograve;stra demanda):
@url@
 
 
Merc&eacute;s per v&ograve;stra participacion
',
'form_pet_message_commentaire' => 'Un messatge, una remarca?',
'form_pet_nom_site2' => 'Nom de v&ograve;stre sit web',
'form_pet_probleme_technique' => 'Problema tecnic, las signaturas son tempor&agrave;riament \'restadas.',
'form_pet_signature_pasprise' => 'V&ograve;stra signatura es pas presa en compte.',
'form_pet_signature_validee' => 'V&ograve;stra signatura es validada. Apareisser&aacute; subre lo sit d&egrave;s l\'actualizacion que ven. Merc&eacute;s!',
'form_pet_site_deja_enregistre' => 'Ja queu sit es registrat',
'form_pet_url_invalide' => 'L\'URL qu\'avetz indicada es pas valida.',
'form_pet_votre_email' => 'V&ograve;stra adrei&ccedil;a e-mail',
'form_pet_votre_nom' => 'V&ograve;stre nom o pseudonim',
'form_pet_votre_site' => 'Se tenetz un sit, o podetz marcar &ccedil;ai sos',
'form_prop_confirmer_envoi' => 'Confirmar l\'enviament',
'form_prop_description' => 'Descripcion/comentari',
'form_prop_enregistre' => 'V&ograve;stra proposicion es plan registrada, apareisser&aacute; en linha tanleu que los responsables dau sit l\'aur&aacute;n validada .',
'form_prop_envoyer' => 'Mandar un messatge',
'form_prop_indiquer_email' => 'Volhatz indicar una adrei&ccedil;a e-mail valida',
'form_prop_indiquer_nom_site' => 'Volhatz indicar lo nom dau sit.',
'form_prop_indiquer_sujet' => 'Volhatz indicar un subjecte',
'form_prop_message_envoye' => 'Messatge mandat',
'form_prop_nom_site' => 'Nom dau sit',
'form_prop_non_enregistre' => 'V&ograve;stra proposicion es pas estada registrada.',
'form_prop_sujet' => 'Subjecte',
'form_prop_url_site' => 'Adrei&ccedil;a (URL) dau sit',
'forum_acces_refuse' => 'Podetz pas mai accedir a quilhs forums.',
'forum_attention_dix_caracteres' => '<b>Atencion!</b> v&ograve;stre messatge deu t&eacute;ner aumens detz caracters.',
'forum_attention_trois_caracteres' => '<b>Atencion!</b> v&ograve;stre t&iacute;tol deu t&eacute;ner aumens tres caracters.',
'forum_avez_selectionne' => 'Avetz seleccionat:',
'forum_cliquer_retour' => 'Clicatz <a href=\'@retour_forum@\'>aic&iacute;</a> per contunhar.',
'forum_forum' => 'forum',
'forum_info_modere' => 'Queste forum es moderat a pri&ograve;ri: v&ograve;stra contribucion pareisser&aacute; nonm&agrave;s apr&egrave;s qu\'un administrator dau sit l\'aja validada.',
'forum_lien_hyper' => '<B>Liam ipertext</b> (opcionau)',
'forum_message_definitif' => 'Messatge definitiu : mandar au sit',
'forum_message_trop_long' => 'V&ograve;stre messatge es tr&ograve;p long. La lonjor maximala es de 20&nbsp;000 caracters.',
'forum_ne_repondez_pas' => 'Respondatz pas a quel e-mail mas per lo forum a l\'adrei&ccedil;a seguenta: ',
'forum_non_inscrit' => 'Si&aacute; setz pas inscrich(a), si&aacute; avetz fach una error d\'adrei&ccedil;a o de mot de santa Clara. ',
'forum_page_url' => '(se v&ograve;stre messatge se refer&iacute;s a un article publicat per lo web, o a una pagina que baile mai d\'informacions, podetz marcar &ccedil;ai sos lo t&iacute;tol de la pagina e son adrei&ccedil;a URL.)',
'forum_par_auteur' => 'per @auteur@',
'forum_poste_par' => 'Messatge poste@parauteur@ que fai seguda a v&ograve;stre article.',
'forum_probleme_database' => 'Problema de basa de donadas, v&ograve;stre messatge s\'es pas registrat.',
'forum_qui_etes_vous' => '<B>Quau setz?</b> (opcionau)',
'forum_texte' => 'Text de v&ograve;stre messatge:',
'forum_titre' => 'T&iacute;tol:',
'forum_titre_erreur' => 'Error...',
'forum_url' => 'URL:',
'forum_valider' => 'Validar quela chausida',
'forum_voir_avant' => 'Veire lo messatge avans de lo mandar',
'forum_votre_email' => 'V&ograve;stra adrei&ccedil;a e-mail:',
'forum_votre_nom' => 'V&ograve;stre nom (o pseudonim):',
'forum_vous_enregistrer' => 'Per participar a
queu forum, d\'en primier vos chau registrar. Merc&eacute;s
de marcar &ccedil;ai sos l\'identificant personau qu\'avetz recebut.
Se setz pas registrat/ada, avetz de',
'forum_vous_inscrire' => 'vos inscriure',
 
 
// I
'ical_texte_rss_articles' => 'Lo fichier "backend" daus articles de queste sit se tr&ograve;ba a l\'adrei&ccedil;a:',
'ical_texte_rss_articles2' => 'Atanben podetz obt&eacute;ner daus fichiers "backend" per los articles de chasca rubrica dau sit:',
'ical_texte_rss_breves' => 'Existissen mai d\'un fichier contenent las brevas dau sit. En precisar un numero de rubrica, obtendretz nonm&agrave;s las brevas de la rubrica aquela.',
'icone_a_suivre' => 'De segre',
'icone_admin_site' => 'Administracion dau sit',
'icone_agenda' => 'Agenda e messatjari&aacute;',
'icone_aide_ligne' => 'Ajuda',
'icone_articles' => 'Articles',
'icone_auteurs' => 'Autors',
'icone_breves' => 'Brevas',
'icone_brouteur' => 'Navigacion rapida',
'icone_calendrier_messagerie' => '',
'icone_configuration_site' => 'Configuracion',
'icone_configurer_site' => 'Configurar v&ograve;stre sit',
'icone_creer_mot_cle' => 'Crear un mot clau nu&ograve;u e lo liar a quel article',
'icone_creer_nouvel_auteur' => 'Crear un autor nu&ograve;u',
'icone_creer_rubrique' => 'Crear una rubrica',
'icone_creer_sous_rubrique' => 'Crear una sosrubrica',
'icone_deconnecter' => 'Se desconnectar',
'icone_discussions' => 'Discussions',
'icone_doc_rubrique' => 'Documents de las rubricas',
'icone_ecrire_article' => 'Escriure un article nu&ograve;u',
'icone_edition_site' => 'Edicion',
'icone_forum_administrateur' => 'Forum daus administrators',
'icone_forum_suivi' => 'Segut daus forums',
'icone_gestion_langues' => 'Gestion de las lengas',
'icone_informations_personnelles' => 'Informacions personalas',
'icone_interface_complet' => 'Interf&agrave;cia completa',
'icone_interface_simple' => 'Interf&agrave;cia simplificada',
'icone_maintenance_site' => 'Mantenen&ccedil;a dau sit',
'icone_messagerie_personnelle' => 'Messatjari&aacute; personala',
'icone_mots_cles' => 'Mots clau',
'icone_nouvelle_breve' => 'Escriure una breva nu&ograve;va',
'icone_repartition_actuelle' => 'Afichar la reparticion actuala',
'icone_repartition_debut' => 'Afichar la reparticion dempuei lo comen&ccedil;ament',
'icone_repartition_visites' => 'Reparticion de las vesitas',
'icone_rubriques' => 'Rubricas',
'icone_sauver_site' => 'Sauvagarda dau sit',
'icone_site_entier' => 'Tot lo sit ',
'icone_sites_references' => 'Sits referenciats',
'icone_statistiques' => 'Estadisticas dau sit',
'icone_statistiques_visites' => 'Estadisticas',
'icone_suivi_activite' => 'Seguir l\'activitat editoriala',
'icone_suivi_actualite' => 'Evolucion dau&nbsp;sit',
'icone_suivi_forums' => 'Segre/gerir los forums',
'icone_suivi_pettions' => 'Segre/gerir las peticions',
'icone_suivi_revisions' => 'Modificacions daus articles',
'icone_supprimer_document' => 'Suprimir queu document',
'icone_supprimer_image' => 'Suprimir quel imatge',
'icone_supprimer_message' => 'Suprimir queu messatge',
'icone_tous_articles' => 'Tots v&ograve;stres articles ',
'icone_tous_auteur' => 'Tots los autors ',
'icone_valider_message' => 'Validar queu messatge',
'icone_visiter_site' => 'Vesitar',
'icone_voir_en_ligne' => 'Veire en linha',
'image_tourner_180' => 'Rotacion 180&deg;',
'image_tourner_droite' => 'Rotacion 90&deg; vers la drecha',
'image_tourner_gauche' => 'Rotacion 90&deg; vers la man&ccedil;a',
'img_indisponible' => 'imatge indisponible',
'info_a_suivre' => 'DE SEGRE>>',
'info_a_valider' => '[de validar]',
'info_acces_interdit' => 'Acc&egrave;s pro&iuml;bit',
'info_acces_refuse' => 'Acc&egrave;s refusat',
'info_action' => 'Accion: @action@',
'info_administrer_rubriques' => 'Podetz administrar quela rubrica e sas sosrubricas',
'info_adresse_non_indiquee' => 'Avetz pas indicat l\'adrei&ccedil;a de testar!',
'info_aide' => 'AJUDA:',
'info_ajouter_mot' => 'Apondre queu mot',
'info_annonce' => 'ANONCI',
'info_annonces_generales' => 'Anoncis generaus:',
'info_article_propose' => 'Article prepausat',
'info_article_publie' => 'Article publicat',
'info_article_redaction' => 'Article en cors de redaccion',
'info_article_refuse' => 'Article refusat',
'info_article_supprime' => 'Article suprimit',
'info_articles' => 'Articles',
'info_articles_a_valider' => 'Los articles de validar',
'info_articles_proposes' => 'Articles prepausats',
'info_auteurs_nombre' => 'autor(s)',
'info_authentification_ftp' => 'autentificacion (per FTP).',
'info_bloquer_lien' => 'Blocar queu liam',
'info_breves_02' => 'Brevas',
'info_breves_2' => 'brevas',
'info_breves_valider' => 'Brevas de validar',
'info_connexion_refusee' => 'Connexion refusada',
'info_contact_developpeur' => 'Volhatz contactar un desvolopaire.',
'info_contenance' => 'Queu sit conten:',
'info_contribution' => 'Contribucions de forum',
'info_copyright' => '@spip@ es un logiciau liure distribuit @lien_gpl@',
'info_copyright_doc' => 'Per mai d\'informacions, veire lo sit <a href=\'http://www.spip.net/oc\'>http://www.spip.net/oc</a>.',
'info_copyright_gpl' => 'sos lic&eacute;ncia GPL',
'info_cours_edition' => 'V&ograve;stres articles en cors de redaccion',
'info_creer_repertoire' => 'Volhatz crear un fichier o un repert&ograve;ri nommat',
'info_creer_repertoire_2' => 'dedins lo sosrepert&ograve;ri <b>ecrire/data/</b>, puei:',
'info_creer_vignette' => 'creacion automatica de la vinheta',
'info_deplier' => 'Desplejar',
'info_descriptif_nombre' => 'descriptiu(s):',
'info_description' => 'Descripcion:',
'info_description_2' => 'Descripcion:',
'info_dimension' => 'Dimensions:',
'info_document' => 'Document ',
'info_documents' => 'Documents',
'info_echange_message' => 'SPIP permet d\'eschamjar daus messatges e de constituir daus forums privats de discussion entre los participants dau sit. Podetz activar o desactivar quela foncionalitat.',
'info_ecire_message_prive' => 'Escriure un messatge privat',
'info_email_invalide' => 'Adrei&ccedil;a e-mail invalida',
'info_en_cours_validation' => 'V&ograve;stres articles en cors de redaccion',
'info_en_ligne' => 'Aura en linha:',
'info_envoyer_message_prive' => 'Mandar un messatge privat a quel autor',
'info_erreur_requete' => 'Error dins la requesta',
'info_erreur_squelette2' => 'Brisa d\'esqueleta <b>@fichier@</b> es disponibla...',
'info_erreur_systeme' => 'Error sistema (errno @errsys@)',
'info_erreur_systeme2' => '<b>Lo disc dur es benleu plen, o la basa de donadas degalhada. <br>
<font color=\'red\'>Assajatz de <a href=\'ecrire/admin_repair.php3\'>reparar la basa</a>,
o contactatz v&ograve;stre auberjador.</font><br></b>',
'info_fini' => 'Quo es \'chabat!',
'info_format_image' => 'Formats d\'imatges que se p&ograve;den utilizar per crear de las vinhetas: @gd_formats@.',
'info_format_non_defini' => 'format non definit',
'info_grand_ecran' => 'Ecran grand',
'info_image_aide' => 'AJUDA',
'info_image_process_titre' => 'Met&ograve;de de fabrication de las vinhetas',
'info_impossible_lire_page' => '<B>Error!</b> Impossible de legir la pagina <tt><html>@test_proxy@</html></tt> tras lo proxy <tt>',
'info_inclusion_directe' => 'Inclusion directa:',
'info_inclusion_vignette' => 'Inclusion de la vinheta:',
'info_installation_systeme_publication' => 'Installacion dau sistema de publicacion...',
'info_installer_documents' => 'Podetz installar automaticament tots los documents contenguts dins lo repert&ograve;ri <i>upload</i>.',
'info_installer_ftp' => 'Coma administrator, podetz installar (per FTP) daus fichiers dins lo dorsier ecrire/upload, puei los seleccionar directament aic&iacute;.',
'info_installer_images' => 'Podetz installar daus imatges aus formats JPEG, GIF e PNG.',
'info_installer_images_dossier' => 'Installar daus imatges dins lo dorsier /ecrire/upload per los poder seleccionar aic&iacute;.',
'info_installer_tous_documents' => 'Installar tots los documents ',
'info_interface_complete' => 'Interf&agrave;cia completa',
'info_interface_simple' => 'Interf&agrave;cia simplificada',
'info_joindre_document_article' => 'Podetz j&oacute;nher a quel article daus documents de la mena de',
'info_joindre_document_rubrique' => 'Podetz apondre a quela rubrica daus documents de la mena de',
'info_joindre_documents_article' => 'Podetz j&oacute;nher a quel article daus documents de la mena de:',
'info_l_article' => 'l\'article',
'info_la_breve' => 'la breva',
'info_la_rubrique' => 'la rubrica',
'info_langue_principale' => 'Lenga majorala dau sit',
'info_largeur_vignette' => '@largeur_vignette@ x @hauteur_vignette@ pixels',
'info_les_auteurs_1' => 'per @les_auteurs@ ',
'info_logo_format_interdit' => 'Los l&ograve;gos de formats @formats@ son sols autorizats.',
'info_logo_max_poids' => 'Los l&ograve;gos an de far mens de @maxi@ (queste fichier fai @actuel@).',
'info_logo_max_taille' => 'Los l&ograve;gos an de far mens de @maxi@ (queste fichier fai @actuel@).',
'info_mail_fournisseur' => 'vos@fornidor.com',
'info_message_2' => 'MESSATGE',
'info_message_supprime' => 'MESSATGE SUPRIMIT',
'info_mise_en_ligne' => 'Data de mesa en linha:',
'info_modification_parametres_securite' => 'modificacions daus parametres de seguretat',
'info_mois_courant' => 'Dins lo corrent dau mes:',
'info_mot_cle_ajoute' => 'S\'es apondut lo mot clau seguent a ',
'info_multi_herit' => 'Lenga predefinida',
'info_multi_langues_soulignees' => 'Las <u>lengas solinhadas</u> benef&iacute;cian d\'una revirada de tots los texts de l\'interf&agrave;cia. Se seleccionatz quelas lengas, f&ograve;r&ccedil;a elements dau sit public (datas, formularis) se revirar&aacute;n automaticament. Per las lengas non solinhadas, quilhs elements apareisser&aacute;n dins la lenga principala dau sit.',
'info_multilinguisme' => 'Multiling&uuml;isme',
'info_nom_non_utilisateurs_connectes' => 'V&ograve;stre nom apareis pas dins la tiera daus utilizaires connectats.',
'info_nom_utilisateurs_connectes' => 'V&ograve;stre nom apareis dins la tiera daus utilizaires connectats.',
'info_nombre_en_ligne' => 'Aura en linha:',
'info_non_resultat' => 'Brisa de resultat per "@cherche_mot@"',
'info_non_utilisation_messagerie' => 'Utilizatz pas la messatjari&aacute; interna de queu sit.',
'info_nouveau_message' => 'AVETZ UN MESSATGE NU&Ograve;U',
'info_nouveaux_messages' => 'AVETZ @total_messages@ MESSATGES NU&Ograve;US',
'info_numero_abbreviation' => 'N&deg;&nbsp;',
'info_panne_site_syndique' => 'Sit sindicat en pana',
'info_pense_bete' => 'MEMENTO',
'info_petit_ecran' => 'Ecran petit',
'info_pixels' => 'pixels',
'info_plusieurs_mots_trouves' => 'Mai d\'un mot clau trobat per "@cherche_mot@"&nbsp;:',
'info_popularite_5' => 'popularitat:',
'info_portfolio' => 'P&ograve;rtf&ograve;lio',
'info_portfolio_automatique' => 'P&ograve;rtf&ograve;lio automatic:',
'info_premier_resultat' => '[@debut_limit@ primiers resultats de @total@]',
'info_premier_resultat_sur' => '[@debut_limit@ primiers resultats de @total@]',
'info_probleme_grave' => 'problema de',
'info_propose_1' => '[@nom_site_spip@] Prepausa: @titre@',
'info_propose_2' => 'Article prepausat
---------------',
'info_propose_3' => 'L\'article "@titre@" es prepausat a la publicacion.',
'info_propose_4' => 'Vos convidam a lo venir consultar e a bailar v&ograve;stre av&iacute;s',
'info_propose_5' => 'dins lo forum que li es estachat. Es disponible a l\'adrei&ccedil;a:',
'info_publie_01' => 'L\'article "@titre@" es estat validat per @connect_nom@.',
'info_publie_1' => '[@nom_site_spip@] PUBLICA: @titre@',
'info_publie_2' => 'Article publicat
--------------',
'info_rechercher' => 'Cerchar',
'info_rechercher_02' => 'Cerchar:',
'info_remplacer_vignette' => 'Rempla&ccedil;ar la vinheta predefinida per un l&ograve;go personalizat:',
'info_retablir_lien' => 'Restablir queu liam',
'info_retirer_mot' => 'Tirar queu mot',
'info_retirer_mots' => 'Tirar tots los mots ',
'info_sans_titre_2' => 'sens t&iacute;tol',
'info_selectionner_fichier' => 'Podetz seleccionar un fichier dau dorsier <i>upload</i>',
'info_selectionner_fichier_2' => 'Seleccionar un fichier:',
'info_site_attente' => 'Sit web en espera de validacion',
'info_site_reference' => 'Sit referenciat en linha',
'info_site_refuse' => 'Sit web refusat',
'info_sites_referencer' => 'Referenciar un sit',
'info_supprimer_vignette' => 'suprimir la vinheta',
'info_symbole_bleu' => 'Lo simbeu <B>blau</b> marca un <B>memento</b>: qu&ograve; v&ograve;u dire un messatge per v&ograve;stre usatge personau.',
'info_symbole_jaune' => 'Lo simbeu <B>jaune</b> marca un <B>anonci per tots los redactors </b>: los administrators lo p&ograve;den modificar, chasque redactor lo p&ograve;t veire.',
'info_symbole_vert' => 'Lo simbeu <B>verd</b> marca los <B>messatges eschamjats emb d\'autres utilizaires</b> dau sit.',
'info_syndication' => 'sindicacion:',
'info_syndication_articles' => 'article(s)',
'info_telecharger' => 'Telecharjar a partir de v&ograve;stre ordenador:',
'info_telecharger_nouveau_logo' => 'Telecharjar un l&ograve;go nu&ograve;u:',
'info_telecharger_ordinateur' => 'Telecharjar a partir de v&ograve;stre ordenador:',
'info_tous_resultats_enregistres' => '[tots los resultats son registrats]',
'info_tout_afficher' => 'Afichar tot',
'info_travaux_texte' => 'Queu sit es pas enquera configurat. Tornatz mai tard...',
'info_travaux_titre' => 'Sit en &ograve;bras',
'info_trop_resultat' => 'Tr&ograve;p de resultats per "@cherche_mot@"; volhatz afinar la cercha.',
'info_utilisation_messagerie_interne' => 'Utilizatz la messatjari&aacute; interna de queu sit.',
'info_valider_lien' => 'validar queu liam',
'info_verifier_image' => ', volhatz verificar que los imatges se si&aacute;n be transferits.',
'info_vignette_defaut' => 'Vinheta predefinida',
'info_vignette_personnalisee' => 'Vinheta personalizada',
'info_visite' => 'vesita:',
'info_visites' => 'vesitas:',
'info_vos_rendez_vous' => 'V&ograve;stres rendetz-vos venents',
'info_zoom' => 'zoom',
'infos_vos_pense_bete' => 'V&ograve;stres mementos',
'item_breve_proposee' => 'Breva prepausada',
 
 
// L
'lien_afficher_icones_seuls' => 'Afichar nonm&agrave;s las ic&ograve;nas',
'lien_afficher_texte_icones' => 'Afichar las ic&ograve;nas e lo text',
'lien_afficher_texte_seul' => 'Afichar nonm&agrave;s lo text',
'lien_icones_interface' => 'Las ic&ograve;nas de l\'interf&agrave;cia son de <a href=\'http://jimmac.musichall.cz/\'>Jakub \'Jimmac\' Steiner</a>.',
'lien_liberer' => 'liberar',
'lien_liberer_tous' => 'liberar quilhs articles',
'lien_nouvea_pense_bete' => 'MEMENTO NU&Ograve;U ',
'lien_nouveau_message' => 'MESSATGE NU&Ograve;U',
'lien_nouvelle_annonce' => 'ANONCI NOVEU',
'lien_petitions' => 'PETICION',
'lien_popularite' => 'popularitat: @popularite@%',
'lien_racine_site' => 'RAI&Ccedil; DAU SIT',
'lien_reessayer' => 'tornar assajar',
'lien_repondre_message' => 'Respondre a queu messatge',
'lien_supprimer' => 'suprimir',
'lien_tout_afficher' => 'Afichar tot',
'lien_visite_site' => 'vesitar queu sit',
'lien_visites' => '@visites@&nbsp;vesitas',
'lien_voir_auteur' => 'Veire quel autor',
'login_acces_prive' => 'acc&egrave;s a l\'espaci privat',
'login_autre_identifiant' => 'se connectar emb un autre identificant',
'login_connexion_refusee' => 'Connexion refusada.',
'login_cookie_accepte' => 'Volhatz configurar v&ograve;stre navigador per que los accepte (aumens emb queu sit).',
'login_cookie_oblige' => 'Per vos identificar d\'una maniera segura sus queste sit, vos chau acceptar los cookies.',
'login_deconnexion_ok' => 'Setz desconnectat/ada.',
'login_erreur_pass' => 'Error de mot de santa Clara.',
'login_espace_prive' => 'espaci privat',
'login_identifiant_inconnu' => 'L\'identificant &laquo;@login@&raquo; es inconegut.',
'login_login' => 'Login:',
'login_login2' => 'Login (identificant de connexion au sit):',
'login_login_pass_incorrect' => '(Login o mot de santa Clara incorrecte.)',
'login_motpasseoublie' => 'mot&nbsp;de&nbsp;santa&nbsp;Clara&nbsp;oblidat?',
'login_non_securise' => 'Atencion, queu formulari es pas securizat.
Se voletz pas que v&ograve;stre mot de santa Clara si&aacute;
interceptat subre lo ret, volhatz activar Javascript
dins v&ograve;stre navigador e',
'login_nouvelle_tentative' => 'novel assai',
'login_par_ici' => 'Setz registrat/ada... per aqu&iacute;...',
'login_pass2' => 'Mot de santa Clara:',
'login_preferez_refuser' => '<b>Se vos agrada mai de refusar los cookies</b>, un autre met&ograve;de de connexion (mens securizat) es a v&ograve;stra disposicion:',
'login_recharger' => 'tornar charjar quela pagina',
'login_rester_identifie' => 'Demorar identificat quauques jorns',
'login_retour_public' => 'Tornar au sit public',
'login_retour_site' => 'Tornar au sit public',
'login_retoursitepublic' => 'tornar&nbsp;au&nbsp;sit&nbsp;public',
'login_sans_cookiie' => 'Identificacion sens cookie',
'login_sinscrire' => 's\'inscriure',
'login_test_navigateur' => 'Assai navigador/tornar&nbsp;connectar',
'login_verifiez_navigateur' => '(pasmens verificatz que v&ograve;stre navigador aja pas servat v&ograve;stre mot de santa Clara en mem&ograve;ria...)',
 
 
// M
'module_fichiers_langues' => 'Fichiers de lenga',
 
 
// N
'navigateur_pas_redirige' => 'Se v&ograve;stre navigador es pas redirigit, clicatz aic&iacute; per contunhar.',
 
 
// O
'onglet_affacer_base' => 'Esfa&ccedil;ar la basa',
'onglet_auteur' => 'L\'autor',
'onglet_calendrier' => '',
'onglet_contenu_site' => 'Contengut dau sit',
'onglet_evolution_visite_mod' => 'Evolucion',
'onglet_fonctions_avances' => 'Foncions avan&ccedil;adas',
'onglet_informations_personnelles' => 'Informacions personalas',
'onglet_interactivite' => 'Interactivitat',
'onglet_messagerie' => 'Messatjari&aacute;',
'onglet_messages_internes' => 'Messatges internes',
'onglet_messages_publics' => 'Messatges publics',
'onglet_messages_vide' => 'Messatges sens text',
'onglet_origine_visites' => 'Origina de las vesitas',
'onglet_repartition_debut' => 'dempuei lo comen&ccedil;ament',
'onglet_repartition_lang' => 'Reparticions per lengas',
'onglet_repartition_rubrique' => 'Reparticion per rubricas',
'onglet_save_restaur_base' => 'Sauvagardar/restaurar la basa',
'onglet_vider_cache' => 'Voidar l\'escondedor',
'ortho_trop_de_fautes2' => 'Comen&ccedil;atz per corregir las errors mai evidentas e tornatz assajar puei.',
 
 
// P
'pass_choix_pass' => 'Volhatz chausir v&ograve;stre mot de santa Clara noveu:',
'pass_erreur' => 'Error',
'pass_erreur_acces_refuse' => '<b>Error:</b> podetz pas mai accedir a queu sit.',
'pass_erreur_code_inconnu' => '<b>Error:</b> queu c&ograve;de correspond pas a brisa de vesitaire que puescha accedir a queu sit.',
'pass_erreur_non_enregistre' => '<b>Error:</b> l\'adrei&ccedil;a <tt>@email_oubli@</tt> es pas registrada sus queu sit.',
'pass_erreur_non_valide' => '<b>Error:</b> quel e-mail <tt>@email_oubli@</tt> es pas valid!',
'pass_erreur_probleme_technique' => '<b>Error:</b> per\'mor d\'un problema tecnic, l\'e-mail se p&ograve;t pas mandar. ',
'pass_espace_prive_bla' => 'L\'espaci privat de queste sit es dobert aus
vesitaires que se son inscrichs. Un c&ograve;p registrat/ada,
poiretz consultar los articles en cors de redaccion,
prepausar daus articles noveus e participar a tots los forums.',
'pass_forum_bla' => 'Avetz demandat d\'intervenir dins un forum
reservat aus vesitaires registrats.',
'pass_indiquez_cidessous' => 'Marcatz &ccedil;ai sos l\'adrei&ccedil;a e-mail ont
vos registr&egrave;retz lo c&ograve;p passat.
Recebretz un e-mail que vos bailar&aacute; la maniera de
tornar trobar v&ograve;stre acc&egrave;s.',
'pass_mail_passcookie' => '(quo es un messatge automatic)
Per tornar trobar v&ograve;stre acc&egrave;s au sit
@nom_site_spip@ (@adresse_site@)
 
Volhatz \'nar a l\'adrei&ccedil;a seguenta:
 
@adresse_site@/spip_pass.php3?p=@cookie@
 
Aladonc poiretz entrar un mot de santa Clara noveu
e vos tornar connectar au sit.
 
',
'pass_mot_oublie' => 'Mot de santa Clara oblidat',
'pass_nouveau_enregistre' => 'V&ograve;stre mot de santa Clara noveu es estat registrat.',
'pass_nouveau_pass' => 'Mot de santa Clara noveu',
'pass_ok' => 'Consent',
'pass_oubli_mot' => 'Mot de santa Clara oblidat',
'pass_quitter_fenetre' => 'Quitar questa fenestra ',
'pass_rappel_login' => 'Remembran&ccedil;a: v&ograve;stre identificant (login) es &laquo;@login@&raquo;.',
'pass_recevoir_mail' => 'Recebretz un e-mail que vos explicar&aacute; coma tornar trobar v&ograve;stre acc&egrave;s au sit.',
'pass_retour_public' => 'Tornar au sit public',
'pass_rien_a_faire_ici' => 'Pas ren a faire aic&iacute;.',
'pass_vousinscrire' => 'S\'inscriure sus queste sit',
'precedent' => 'precedent',
'previsualisation' => 'Previsualizacion',
'previsualiser' => 'Previsualizar',
 
 
// S
'stats_visites_et_popularite' => '@visites@ vesitas; popularitat: @popularite@',
'suivant' => 'seguent',
 
 
// T
'taille_ko' => '@taille@&nbsp;Ko',
'taille_mo' => '@taille@&nbsp;Mo',
'taille_octets' => '@taille@&nbsp;octets',
'texte_actualite_site_1' => 'Quand vos seretz familharizat/ada emb l\'interf&agrave;cia, poiretz clicar subre &laquo;',
'texte_actualite_site_2' => 'Interf&agrave;cia completa',
'texte_actualite_site_3' => '" per dobrir mai de possibilitats.',
'texte_creation_automatique_vignette' => 'La creacion automatica de vinhetas de previsualizacion es activada sus queu sit. S\'installatz a partir de queu formulari daus imatges au(s) format(s) @gd_formats@, s\'acompanhar&aacute;n d\'una vinheta d\'una talha maximala de @taille_preview@ pixels.',
'texte_documents_associes' => 'Los documents seguents s\'ass&ograve;cian a l\'article,
mas s\'inserissen pas
directament. Segon la compaginacion dau sit public,
poir&aacute;n apar&eacute;isser sos forma de documents jonchs.',
'texte_erreur_mise_niveau_base' => 'Error de basa de donadas pendent la mesa a niveu. L\'imatge <B>@fichier@</b> es pas passat (article @id_article@).
Notatz plan quela refer&eacute;ncia, tornatz assajar la mesa a
niveu, e verificatz puei que los imatges apareissan
enquera dins los articles.',
'texte_inc_auth_1' => 'Setz identificat/ada coma
<B>@auth_login@</b>, mas queu login exist&iacute;s pas o pas mai dins la basa.
Assajatz de vos',
'texte_inc_auth_2' => 'tornar connectar',
'texte_inc_auth_3' => ', apr&egrave;s qu\'auretz quitat eventualament, puei
tornat lan&ccedil;ar v&ograve;stre navigador.',
'texte_inc_config' => 'Las modificacions fachas dins questas paginas influ&eacute;ncian ferme lo
foncionament de v&ograve;stre sit. Vos aconselham de pas i intervenir tant que siatz pas
acostumat/ada au foncionament dau sistema SPIP. <P align="justify"><B>
En generau, se conselha f&ograve;rt
de laissar la charja de questas paginas au webmestre principau de v&ograve;stre sit.</b>',
'texte_inc_meta_1' => 'Lo sistema a rescontrat una error durant l\'escritura dau fichier <code>ecrire/data/meta_cache.php3</code>. Volhatz, coma administrator/tritz dau sit,',
'texte_inc_meta_2' => 'verificar los drechs d\'escritura',
'texte_inc_meta_3' => 'dins lo repert&ograve;ri <code>ecrire/data/</code>.',
'texte_plan_trad_note' => '',
'texte_statut_en_cours_redaction' => 'en cors de redaccion',
'texte_statut_poubelle' => 'au bordilhier',
'texte_statut_propose_evaluation' => 'prepausat per avaloracion',
'texte_statut_publie' => 'publicat en linha',
'texte_statut_refuse' => 'refusat',
'titre_ajouter_mot_cle' => 'APONDRE UN MOT CLAU:',
'titre_breve_proposee' => 'Breva prepausada',
'titre_breve_publiee' => 'Breva publicada',
'titre_breve_refusee' => 'Breva refusada',
'titre_cadre_raccourcis' => 'ESCORCHIERAS:',
'titre_changer_couleur_interface' => 'Chamjar la color de l\'interf&agrave;cia',
'titre_forum' => 'Forum',
'titre_image_admin_article' => 'Podetz administrar queste article',
'titre_image_administrateur' => 'Administrator',
'titre_image_aide' => 'De l\'ajuda subre quel element',
'titre_image_auteur_supprime' => 'Autor suprimit',
'titre_image_redacteur' => 'Redactor sens acc&egrave;s',
'titre_image_redacteur_02' => 'Redactor',
'titre_image_visiteur' => 'Vesitaire',
'titre_joindre_document' => 'J&Oacute;NHER UN DOCUMENT',
'titre_liens_entrants' => 'Liams entrants ',
'titre_mots_cles' => 'MOTS CLAU',
'titre_probleme_technique' => 'Atencion: un problema tecnic (servidor MySQL) empacha d\'accedir a quela part dau sit. Merc&eacute;s de v&ograve;stra indulg&eacute;ncia.',
'titre_publier_document' => 'PUBLICAR UN DOCUMENT DINS QUELA RUBRICA',
'titre_statistiques' => 'Estadisticas dau sit',
'titre_titre_document' => 'T&iacute;tol dau document:',
'trad_reference' => '(article de refer&eacute;ncia)',
 
 
// U
'upload_fichier_zip' => 'Fichier ZIP',
'upload_fichier_zip_texte' => 'Lo fichier que prepausatz d\'installar es un fichier Zip.',
'upload_fichier_zip_texte2' => 'Queu fichier p&ograve;t &egrave;sser:',
'upload_limit' => 'Queu fichier es tr&ograve;p gr&ograve;s per lo servidor; la talha maxima autorizada en <i>upload</i> es de @max@.',
'upload_zip_decompacter' => 'descomprimit e chasque element que conten installat sus lo sit. Laidonc los fichiers que ser&aacute;n installats sus lo sit son:',
'upload_zip_telquel' => 'installat tau coma es, coma archiu comprimit Zip;',
 
 
// Z
'zbug_balise_b_aval' => '&nbsp;: balisa B en avau',
'zbug_boucle' => 'bloca',
'zbug_boucle_recursive_undef' => 'bloca recursiva non definida',
'zbug_champ_hors_boucle' => 'Champ @champ@ f&ograve;ra bloca',
'zbug_champ_hors_motif' => 'Champ @champ@ en def&ograve;ra d\'una bloca de motiu @motif@',
'zbug_code' => 'c&ograve;de',
'zbug_critere_inconnu' => 'crit&egrave;ri inconegut @critere@',
'zbug_distant_interdit' => 'ext&egrave;rne enebit',
'zbug_erreur_boucle_double' => 'BLOCA@id@: definicion dobla',
'zbug_erreur_boucle_fermant' => 'BLOCA@id@: lo tag barrador manca',
'zbug_erreur_boucle_syntaxe' => 'Sintaxi bloca incorrecta',
'zbug_erreur_execution_page' => 'error d\'execucion de la pagina',
'zbug_erreur_filtre' => 'Error: filtre <b>&laquo; @filtre@ &raquo;</b> non definit',
'zbug_erreur_meme_parent' => '{meme_parent} s\'aplica nonm&agrave;s a las blocas (FORUMS) o (RUBRIQUES)',
'zbug_erreur_squelette' => 'Error(s) dins l\'esqueleta',
'zbug_info_erreur_squelette' => 'Error subre lo sit',
'zbug_inversion_ordre_inexistant' => 'inversion d\'un &ograve;rdre inexistent',
'zbug_parametres_inclus_incorrects' => 'Param&egrave;tres d\'inclusion incorr&egrave;ctes',
'zbug_resultat' => 'resultat',
'zbug_serveur_indefini' => 'servidor SQL indefinit',
'zbug_table_inconnue' => 'Taula SQL &laquo;@table@&raquo; inconeguda'
 
);
 
 
?>
/trunk/actu/ecrire/inc_logos.php3
New file
0,0 → 1,497
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_LOGOS")) return;
define("_ECRIRE_INC_LOGOS", "1");
 
 
function cherche_image_nommee($nom, $formats = array ('gif', 'jpg', 'png')) {
// _DIR_IMG contient deja le ../ dans ecrire (PREFIX1
// if (ereg("^../",$nom)) $nom = substr($nom,3);
if (ereg("^" . _DIR_IMG, $nom)) {
$nom = substr($nom,strlen(_DIR_IMG));
}
$pos = strrpos($nom, "/");
if ($pos > 0) {
$chemin = substr($nom, 0, $pos+1);
$nom = substr($nom, $pos+1);
} else {
$chemin = "";
}
 
reset($formats);
while (list(, $format) = each($formats)) {
$d = _DIR_IMG . "$chemin$nom.$format";
if (@file_exists($d)){
return array(_DIR_IMG."$chemin", $nom, $format);
}
}
}
 
 
 
function decrire_logo($racine) {
global $connect_id_auteur;
if ($img = cherche_image_nommee($racine)) {
list($dir, $racine, $fmt) = $img;
$fid = $dir . "$racine.".$fmt;
if ($taille = @getimagesize($fid))
$xy = _T('info_largeur_vignette', array('largeur_vignette' => $taille[0], 'hauteur_vignette' => $taille[1]));
 
return array("$racine.$fmt", $xy);
}
return '';
}
 
 
function afficher_boite_logo($type, $id_objet, $id, $texteon, $texteoff) {
global $options, $spip_display;
 
$logon = $type.'on'.$id;
$logoff = $type.'off'.$id;
 
if ($spip_display != 4) {
echo "<p>";
debut_cadre_relief("image-24.gif");
echo "<div class='verdana1' style='text-align: center;'>";
$desc = decrire_logo($logon);
afficher_logo($logon, $texteon, $desc, $id_objet, $id);
 
if ($desc AND $texteoff) {
echo "<br /><br />";
$desc = decrire_logo($logoff);
afficher_logo($logoff, $texteoff, $desc, $id_objet, $id);
}
echo "</div>";
fin_cadre_relief();
echo "</p>";
}
}
 
 
function afficher_logo($racine, $titre, $logo, $id_objet, $id) {
global $connect_id_auteur;
global $couleur_foncee, $couleur_claire;
global $clean_link;
 
include_ecrire('inc_admin.php3');
$redirect = $clean_link->getUrl();
 
echo "<b>";
echo bouton_block_invisible(md5($titre));
echo $titre;
echo "</b>";
echo "<font size=1>";
 
if ($logo) {
list ($fichier, $taille) = $logo;
$hash = calculer_action_auteur("supp_logo $fichier");
 
echo "<p><center><div><a href='"._DIR_IMG.$fichier."'>";
echo reduire_image_logo(_DIR_IMG.$fichier, 170);
echo "</a></div>";
echo debut_block_invisible(md5($titre));
echo $taille;
echo "\n<br />[<a href='../spip_image.php3?";
echo "$id_objet=$id&";
echo "image_supp=$fichier&hash_id_auteur=$connect_id_auteur&hash=$hash&redirect=".urlencode($redirect)."'>"._T('lien_supprimer')."</A>]";
echo fin_block();
echo "</center></p>";
}
else {
$hash = calculer_action_auteur("ajout_logo $racine");
echo debut_block_invisible(md5($titre));
 
echo "\n\n<FORM ACTION='../spip_image.php3' METHOD='POST'
ENCTYPE='multipart/form-data'>";
echo "\n<INPUT NAME='redirect' TYPE=Hidden VALUE='$redirect'>";
echo "\n<INPUT NAME='$id_objet' TYPE=Hidden VALUE='$id'>";
echo "\n<INPUT NAME='hash_id_auteur' TYPE=Hidden VALUE='$connect_id_auteur'>";
echo "\n<INPUT NAME='hash' TYPE=Hidden VALUE='$hash'>";
echo "\n<INPUT NAME='ajout_logo' TYPE=Hidden VALUE='oui'>";
echo "\n<INPUT NAME='logo' TYPE=Hidden VALUE='$racine'>";
if (tester_upload()){
echo "\n"._T('info_telecharger_nouveau_logo')."<BR>";
echo "\n<INPUT NAME='image' TYPE=File CLASS='forml' style='font-size:9px;' SIZE=15>";
echo "\n <div align='right'><INPUT NAME='ok' TYPE=Submit VALUE='"._T('bouton_telecharger')."' CLASS='fondo' style='font-size:9px;'></div>";
} else {
 
$myDir = opendir(_DIR_TRANSFERT);
while($entryName = readdir($myDir)){
if (!ereg("^\.",$entryName) AND eregi("(gif|jpg|png)$",$entryName)){
$entryName = addslashes($entryName);
$afficher .= "\n<OPTION VALUE='" .
_DIR_TRANSFERT .
"$entryName'>$entryName";
}
}
closedir($myDir);
 
if (strlen($afficher) > 10){
echo "\n"._T('info_selectionner_fichier_2');
echo "\n<SELECT NAME='image' CLASS='forml' SIZE=1>";
echo $afficher;
echo "\n</SELECT>";
echo "\n <INPUT NAME='ok' TYPE=Submit VALUE='"._T('bouton_choisir')."' CLASS='fondo'>";
} else {
echo _T('info_installer_images_dossier');
}
 
}
echo fin_block();
echo "</FORM>\n";
}
 
echo "</font>";
}
 
 
//
// Creation automatique d'une vignette
//
 
// Calculer le ratio
function image_ratio ($srcWidth, $srcHeight, $maxWidth, $maxHeight) {
$ratioWidth = $srcWidth/$maxWidth;
$ratioHeight = $srcHeight/$maxHeight;
 
if ($ratioWidth <=1 AND $ratioHeight <=1) {
$destWidth = $srcWidth;
$destHeight = $srcHeight;
} else if ($ratioWidth < $ratioHeight) {
$destWidth = $srcWidth/$ratioHeight;
$destHeight = $maxHeight;
}
else {
$destWidth = $maxWidth;
$destHeight = $srcHeight/$ratioWidth;
}
return array (ceil($destWidth), ceil($destHeight),
max($ratioWidth,$ratioHeight));
}
 
function creer_vignette($image, $maxWidth, $maxHeight, $format, $destdir, $destfile, $process='AUTO', $force=false, $test_cache_only = false) {
global $convert_command, $pnmscale_command;
// ordre de preference des formats graphiques pour creer les vignettes
// le premier format disponible, selon la methode demandee, est utilise
if ($format == 'png')
$formats_sortie = array('png','jpg','gif');
else
$formats_sortie = array('jpg','png','gif');
if ($process == 'AUTO')
$process = lire_meta('image_process');
 
// liste des formats qu'on sait lire
$formats_graphiques = lire_meta('formats_graphiques');
 
// si le doc n'est pas une image, refuser
if (!$force AND !eregi(",$format,", ",$formats_graphiques,"))
return;
// normalement il a ete cree
if ($destdir) {
$destdir = creer_repertoire(_DIR_IMG, $destdir);
}
$destination = _DIR_IMG . $destdir . $destfile;
# spip_log("$dir $destination");
// chercher un cache
foreach (array('gif','jpg','png') as $fmt)
if (@file_exists($destination.'.'.$fmt)) {
$vignette = $destination.'.'.$fmt;
if ($force) @unlink($vignette);
}
 
if ($test_cache_only AND !$vignette) return;
 
// utiliser le cache ?
if (!$test_cache_only)
if ($force OR !$vignette OR (@filemtime($vignette) < @filemtime($image))) {
 
$creation = true;
// calculer la taille
if ($srcsize = @getimagesize($image)) {
$srcWidth=$srcsize[0];
$srcHeight=$srcsize[1];
list ($destWidth,$destHeight) = image_ratio($srcWidth, $srcHeight, $maxWidth, $maxHeight);
} else if ($process == 'convert' OR $process == 'imagick') {
$destWidth = $maxWidth;
$destHeight = $maxHeight;
} else {
spip_log("echec $process sur $image");
return;
}
 
// Si l'image est de la taille demandee (ou plus petite), simplement
// la retourner
if ($srcWidth
AND $srcWidth <= $maxWidth AND $srcHeight <= $maxHeight) {
$vignette = $destination.'.'.preg_replace(',^.*\.,', '', $image);
@copy($image, $vignette);
}
 
// imagemagick en ligne de commande
else if ($process == 'convert') {
$format = $formats_sortie[0];
$vignette = $destination.".".$format;
$commande = "$convert_command -size ${destWidth}x${destHeight} ./$image -geometry ${destWidth}x${destHeight} +profile \"*\" ./".escapeshellcmd($vignette);
spip_log($commande);
exec($commande);
if (!@file_exists($vignette)) {
spip_log("echec convert sur $vignette");
return; // echec commande
}
}
else
// imagick (php4-imagemagick)
if ($process == 'imagick') {
$format = $formats_sortie[0];
$vignette = "$destination.".$format;
$handle = imagick_readimage($image);
imagick_resize($handle, $destWidth, $destHeight, IMAGICK_FILTER_LANCZOS, 0.75);
imagick_write($handle, $vignette);
if (!@file_exists($vignette)) {
spip_log("echec imagick sur $vignette");
return;
}
}
else if ($process == "netpbm") {
$format_sortie = "jpg";
$vignette = $destination.".".$format_sortie;
$pnmtojpeg_command = ereg_replace("pnmscale", "pnmtojpeg", $pnmscale_command);
if ($format == "jpg") {
$jpegtopnm_command = ereg_replace("pnmscale", "jpegtopnm", $pnmscale_command);
 
exec("$jpegtopnm_command $image | $pnmscale_command -width $destWidth | $pnmtojpeg_command > $vignette");
if (!@file_exists($vignette)) {
spip_log("echec netpbm-jpg sur $vignette");
return;
}
} else if ($format == "gif") {
$giftopnm_command = ereg_replace("pnmscale", "giftopnm", $pnmscale_command);
exec("$giftopnm_command $image | $pnmscale_command -width $destWidth | $pnmtojpeg_command > $vignette");
if (!@file_exists($vignette)) {
spip_log("echec netpbm-gif sur $vignette");
return;
}
} else if ($format == "png") {
$pngtopnm_command = ereg_replace("pnmscale", "pngtopnm", $pnmscale_command);
exec("$pngtopnm_command $image | $pnmscale_command -width $destWidth | $pnmtojpeg_command > $vignette");
if (!@file_exists($vignette)) {
spip_log("echec netpbm-png sur $vignette");
return;
}
}
}
// gd ou gd2
else if ($process == 'gd1' OR $process == 'gd2') {
 
// Recuperer l'image d'origine
if ($format == "jpg") {
$srcImage = @ImageCreateFromJPEG($image);
}
else if ($format == "gif"){
$srcImage = @ImageCreateFromGIF($image);
}
else if ($format == "png"){
$srcImage = @ImageCreateFromPNG($image);
}
if (!$srcImage) {
spip_log("echec gd1/gd2");
return;
}
// Choisir le format destination
// - on sauve de preference en JPEG (meilleure compression)
// - pour le GIF : les GD recentes peuvent le lire mais pas l'ecrire
# bug : gd_formats contient la liste des fichiers qu'on sait *lire*,
# pas *ecrire*
$gd_formats = lire_meta("gd_formats");
foreach ($formats_sortie as $fmt) {
if (ereg($fmt, $gd_formats)) {
if ($format <> "gif" OR $GLOBALS['flag_ImageGif'])
$destFormat = $fmt;
break;
}
}
 
if (!$destFormat) {
spip_log("pas de format pour $image");
return;
}
 
// Initialisation de l'image destination
if ($process == 'gd2' AND $destFormat != "gif")
$destImage = ImageCreateTrueColor($destWidth, $destHeight);
if (!$destImage)
$destImage = ImageCreate($destWidth, $destHeight);
 
// Recopie de l'image d'origine avec adaptation de la taille
$ok = false;
if (($process == 'gd2') AND function_exists('ImageCopyResampled'))
$ok = @ImageCopyResampled($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
if (!$ok)
$ok = ImageCopyResized($destImage, $srcImage, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
 
// Sauvegarde de l'image destination
$vignette = "$destination.$destFormat";
$format = $destFormat;
if ($destFormat == "jpg")
ImageJPEG($destImage, $vignette, 70);
else if ($destFormat == "gif")
ImageGIF($destImage, $vignette);
else if ($destFormat == "png")
ImagePNG($destImage, $vignette);
 
ImageDestroy($srcImage);
ImageDestroy($destImage);
}
}
 
$size = @getimagesize($vignette);
$retour['width'] = $largeur = $size[0];
$retour['height'] = $hauteur = $size[1];
$retour['fichier'] = $vignette;
$retour['format'] = $format;
$retour['date'] = @filemtime($vignette);
 
// renvoyer l'image
return $retour;
}
 
 
 
//
// Retourner taille d'une image
// pour les filtres |largeur et |hauteur
//
function taille_image($img) {
 
if (eregi("width *= *['\"]?( *[0-9]+ *)", $img, $regs))
$srcWidth = intval(trim($regs[1]));
if (eregi("height *= *['\"]?( *[0-9]+ *)", $img, $regs))
$srcHeight = intval(trim($regs[1]));
 
// recuperer le nom du fichier
if (eregi("src='([^']+)'", $img, $regs)) $logo = $regs[1];
if (!$logo) $logo = $img;
 
if (!$srcWidth
AND $srcsize = @getimagesize($logo))
$srcWidth = $srcsize[0];
 
if (!$srcHeight
AND $srcsize = @getimagesize($logo))
$srcHeight = $srcsize[1];
 
return array($srcHeight, $srcWidth);
}
 
 
 
 
//
// Reduire la taille d'un logo
// [(#LOGO_ARTICLE||reduire_image{100,60})]
//
 
// Cette fonction accepte en entree un nom de fichier ou un tag <img ...>
 
function reduire_image_logo($img, $taille = -1, $taille_y = -1) {
 
// Determiner la taille x,y maxi
if ($taille == -1) {
$taille = lire_meta('taille_preview');
if (!$taille)
$taille = 150;
}
if ($taille_y == -1)
$taille_y = $taille;
 
if ($taille == 0 AND $taille_y > 0)
$taille = 100000; # {0,300} -> c'est 300 qui compte
else
if ($taille > 0 AND $taille_y == 0)
$taille_y = 100000; # {300,0} -> c'est 300 qui compte
else if ($taille == 0 AND $taille_y == 0)
return '';
 
// recuperer le nom du fichier
if ($src = extraire_attribut($img, 'src'))
$logo = $src;
else
$logo = $img;
if (!$logo) return '';
 
// Si c'est une image distante, la recuperer (si possible)
if (!$local = copie_locale($logo)) {
spip_log("pas de version locale de $logo");
return $img;
}
$logo = $local;
 
 
$attributs = '';
 
// preserver le name='...' et le mettre en alt le cas echant
if ($name = extraire_attribut($img, 'name')) {
$attributs .= ' name="'.entites_html($name).'"';
$attributs_alt = ' alt="'.entites_html($name).'"';
}
if ($alt = extraire_attribut($img, 'alt'))
$attributs_alt = ' alt="'.entites_html($alt).'"';
 
$attributs .= $attributs_alt;
 
// attributs deprecies. Transformer en CSS
if ($espace = extraire_attribut($img, 'hspace'))
$attributs .= " style='margin: $espace" . "px; border-width: 0px;'";
else
$attributs .= " style='border-width: 0px;' class='spip_logos'";
// attribut deprecie mais equivalent CSS pas clair
if ($align = extraire_attribut($img, 'align'))
$attributs .= " align='$align'";
 
if (eregi("(.*)\.(jpg|gif|png)$", $logo, $regs)) {
if ($i = cherche_image_nommee($regs[1], array($regs[2]))) {
list(,$nom,$format) = $i;
if ($taille_origine = @getimagesize($logo)) {
list ($destWidth,$destHeight, $ratio) = image_ratio(
$taille_origine[0], $taille_origine[1], $taille, $taille_y);
 
// Creer effectivement la vignette reduite
$suffixe = '-'.$destWidth.'x'.$destHeight;
$preview = creer_vignette($logo, $taille, $taille_y,
$format, ('cache'.$suffixe), $nom.$suffixe);
if ($preview) {
$logo = $preview['fichier'];
$destWidth = $preview['width'];
$destHeight = $preview['height'];
}
 
if (!_DIR_RESTREINT)
$date = '?date='.filemtime($logo);
return "<img src='$logo$date' width='$destWidth' height='$destHeight'$attributs />";
}
}
}
}
 
?>
/trunk/actu/ecrire/accents.php3
New file
0,0 → 1,84
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include ("inc_version.php3");
include_ecrire ("inc_auth.php3");
include_ecrire ("inc_admin.php3");
 
 
debut_admin("accents");
 
function changer_accents($dir) {
 
$handle = opendir($dir);
while ($nomfich = readdir($handle)) {
if (ereg('\.', $nomfich) && !ereg('(\.php3|\.html)$', $nomfich)) continue;
if ($nomfich == 'accents.php3') continue;
if ($nomfich == 'inc_texte.php3') continue;
if ($nomfich == 'inc_filtres.php3') continue;
if ($nomfich == 'inc_index.php3') continue;
if ($nomfich == 'inc_mail.php3') continue;
$nomfich = "$dir/$nomfich";
$fichier = @file("$nomfich");
 
if ($fichier) {
echo "$nomfich<br>";
$fichier = join('', $fichier);
 
$fichier = ereg_replace(chr(233), '&eacute;', $fichier);
$fichier = ereg_replace(chr(201), '&Eacute;', $fichier);
 
$fichier = ereg_replace(chr(224), '&agrave;', $fichier);
$fichier = ereg_replace(chr(232), '&egrave;', $fichier);
$fichier = ereg_replace(chr(249), '&ugrave;', $fichier);
$fichier = ereg_replace(chr(192), '&Agrave;', $fichier);
$fichier = ereg_replace(chr(200), '&Egrave;', $fichier);
$fichier = ereg_replace(chr(217), '&Ugrave;', $fichier);
 
$fichier = ereg_replace(chr(226), '&acirc;', $fichier);
$fichier = ereg_replace(chr(234), '&ecirc;', $fichier);
$fichier = ereg_replace(chr(238), '&icirc;', $fichier);
$fichier = ereg_replace(chr(244), '&ocirc;', $fichier);
$fichier = ereg_replace(chr(251), '&ucirc;', $fichier);
$fichier = ereg_replace(chr(194), '&Acirc;', $fichier);
$fichier = ereg_replace(chr(202), '&Ecirc;', $fichier);
$fichier = ereg_replace(chr(206), '&Icirc;', $fichier);
$fichier = ereg_replace(chr(212), '&Ocirc;', $fichier);
$fichier = ereg_replace(chr(219), '&Ucirc;', $fichier);
 
$fichier = ereg_replace(chr(231), '&ccedil;', $fichier);
$fichier = ereg_replace(chr(199), '&Ccedil;', $fichier);
 
$fichier = ereg_replace(chr(171), '&laquo;', $fichier);
$fichier = ereg_replace(chr(187), '&raquo;', $fichier);
 
$fichier = eregi_replace("(face *= *['\"\\]+)[^'\"\\]*georgia[^'\"\\]*(['\"\\]+)", "\\1Georgia,Garamond,Times,serif\\2", $fichier);
$fichier = eregi_replace("(face *= *['\"\\]+)[^'\"\\]*verdana[^'\"\\]*(['\"\\]+)", "\\1Verdana,Arial,Helvetica,sans-serif\\2", $fichier);
 
$f = fopen($nomfich, 'wb');
fputs($f, $fichier);
fclose($f);
}
}
 
closedir($handle);
}
 
 
changer_accents(".");
changer_accents("AIDE");
 
 
fin_admin("accents");
 
?>
/trunk/actu/ecrire/AIDE/pt/ins_doc1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/pt/ins_doc1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/da/rubhier-1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/da/rubhier-1.gif
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/da/articlenumero.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/da/articlenumero.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/fa/logoart-2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/fa/logoart-2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/bg/logoart-2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/bg/logoart-2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/de/ins_img2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/de/ins_img2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/de/ins_doc1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/de/ins_doc1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/oc/logoart-2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/oc/logoart-2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/ar/logoart-2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/ar/logoart-2.gif
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/ar/logoart-3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/ar/logoart-3.gif
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/ar/articlenumero.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/ar/articlenumero.gif
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/en/install0.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/en/install0.gif
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/gl/articlenumero.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/gl/articlenumero.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/eo/ins_doc2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/eo/ins_doc2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/eo/rubrub.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/eo/rubrub.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/eo/ins_img1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/eo/ins_img1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/es/ins_img1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/es/ins_img1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/es/logoart-3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/es/logoart-3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/fr/ins_img1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/fr/ins_img1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/cpf/ins_doc1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/cpf/ins_doc1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/cpf/logoart-3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/cpf/logoart-3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/nl/ins_doc1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/AIDE/nl/ins_doc1.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/AIDE/it/aide
New file
0,0 → 1,1754
<erreur_mysql>
 
{{{Un problema nel modello di layout?}}}
 
Quando SPIP incontra un errore nella comunicazione con il database MySQL, visualizza un messaggio rosso indicante la richiesta che ha generato l'errore e la risposta data da MySQL.
 
Il problema pu&ograve; essere causato:
- da un errore nei modelli di layout delle pagine;
- o da un guasto al database.
 
Per esempio, un messaggio del tipo <font color='red'><b>
_ <code>> Unknown column 'articles.chapi' in 'where clause'</code>
</b></font> indica che il nodo (BOUCLE) utilizza un criterio di selezione (<code>chapi</code>) inesistente.
 
Mentre un messaggio del tipo <font color='red'><b>
_ <code>> Can't open file: 'spip_articles.MYD'</code></b></font>
indica un grave problema del database stesso. In questo caso il fornitore di hosting dovr&agrave; rivederne l'installazione o riparare il database. Se si dispone di una versione recente di MySQL (a partire dalla versione 3.23.14), si potr&agrave; anche tentare un <a href="admin_repair.php3" target="_blank">ripristino automatico</a>.
 
</erreur_mysql>
 
<ftp_auth>
 
 
{{{L'identificazione via FTP}}}
 
Alcune funzioni di SPIP influiscono direttamente sulla struttura e il contenuto stesso del database (in particolare: aggiornamento, salvataggio e ripristino del db...). Per queste funzioni particolarmente delicate, &egrave; stata aggiunta una procedura di identificazione via FTP, in modo da riservarle soltanto alle persone che hanno accesso al server del sito via FTP (in generale un sito pu&ograve; avere diversi amministratori per SPIP, ma l'accesso FTP &egrave; riservato soltanto al webmaster principale).
 
Per utilizzare queste funzioni occorre:
 
<UL><LI>connettersi al Web attraverso il browser abituale; quando inizia l'operazione, SPIP indica un nome del tipo "admin_xxxxx", che &egrave; necessario copiare;</LI>
 
<LI>connettersi al server del sito via FTP; all'interno della cartella <TT>/ecrire/data</TT>, creare un file (o una diectory vuota) con il nome "admin_xxxxx";</LI>
 
<LI>una volta creato il file o la directory, ritornare al browser Web e ricaricare la pagina. Da quel momento l'identificazione via FTP &egrave; realizzata e l'azione desiderata &egrave; attivata.</LI>
 
</UL>
 
</ftp_auth>
 
<artauteurs>
 
{{{Gli autori}}}
 
Quando un amministratore o un redattore crea un articolo, automaticamente viene considerato come l'autore dell'articolo stesso. In molti casi sar&agrave; necessario modificare il nome degli autori (quando si inserisce nel sito il testo di un'altra persona, quando un testo non deve essere firmato o anche quando viene modificato da pi&ugrave; di una persona...)
 
- {{Aggiungere un autore}}
 
Un menu a tendina presenta la lista di tutti i redattori del sito e permette di selezionare ed aggiungere un nuovo autore.
 
{Se vi sono pi&ugrave; di cinquanta redattori, &egrave; difficile presentarli sotto forma di menu a tendina (tempo di caricamento interminabile); in questo caso il menu a tendina viene sostituito da una casella di ricerca: &egrave; necessario indicare il nome dell'autore che si vuole aggiungere, e poi cliccare su "Cerca". Se pi&ugrave; di un redattore corrisponde al nome cercato, il sistema vi proporr&agrave; di scegliere quello che preferite. }
 
 
- {{Rimuovere un autore}}
 
Dopo ciascun autore di articolo, un link "Rimuovere l'autore" permette eventualmente di cancellarlo.
 
{Il redattore ovviamente viene eliminato solo in quanto autore di quel preciso articolo, egli continua ad essere presente nella lista dei redattori del sito.}
 
 
- {{Sostituire un autore con un altro}}
 
L'operazione si svolge in due fasi : occorre semplicemente aggiungere un autore e rimuovere il precedente (vedi sopra).
 
- Per finire, si noti che gli amministratori, rispetto ai redattori, hanno molte pi&ugrave; possibilit&agrave; di intervenire sulla lista degli autori. In particolare, i redattori non possono rimuovere se stessi da un articolo. Se un redattore vuole pubblicare un articolo anonimo (senza firma), deve chiedere a un amministratore di effettuare l'operazione.
 
</artauteurs>
 
<artchap>
 
{{{L'introduzione}}}
 
L'introduzione &egrave; un breve testo che "introduce" l'articolo. Il suo utilizzo &egrave; facoltativo.
 
{Gli amministratori del sito possono disabilitare completamente l'uso dell'introduzione all'interno della sezione "<A HREF="aide_index.php3?aide=confart" TARGET="_top">Configurazione del sito</A>"}
 
</artchap>
 
<artvirt>
 
{{{Il reindirizzamento di un articolo}}}
 
Questa funzionalit&agrave; permette di creare un "articolo virtuale": si tratta di un articolo il cui titolo, data e autori sono memorizzati sul sito all'interno di SPIP, ma che punta verso un indirizzo esterno al sito.
 
Questa opzione permette di far riferimenti all'interno di un sistema SPIP ad articoli che non sono stati realizzati con SPIP (per esempio si possono integrare le pagine realizzate precedentemente all'installazione di SPIP all'interno della navigazione del sito pubblico).
 
Per specificare che un articolo &egrave; un "articolo virtuale", &egrave; sufficiente indicare l'URL dell'articolo di destinazione nella casella corrispondente.
 
Per disattivare il reindirizzamento, &egrave; sufficiente "svuotare" la casella di reindirizzamento (cancellare l'indirizzo dell'articolo di destinazione).
 
</artvirt>
 
<artdate>
 
{{{La data di pubblicazione on line}}}
 
Generalmente la {data} di un articolo corrisponde alla data della sua apparizione on line (ovvero della sua pubblicazione sul sito Web).
 
Questa data &egrave; automaticamente impostata nel momento in cui l'articolo viene {approvato} da un amministratore (che potr&agrave; comunque modificarla anche in un secondo tempo).
 
</artdate>
 
<artdate_redac>
 
{{{La data di pubblicazione precedente}}}
 
Questa funzionalit&agrave; &egrave; stata aggiunta per casi molto particolari, in cui SPIP &egrave; usato per pubblicare degli archivi che devono contenere degli articoli con una data di pubblicazione differente dalla data della loro reale pubblicazione su SPIP.
 
Si suggerisce di specificare che il documento &egrave; stato gi&agrave; oggetto di una pubblicazione precedente: articolo di quotidiano, libro ecc.
 
- Generalmente questa data non &egrave; mostrata: l'opzione "Non visualizzare la data di pubblicazione anteriore" si pu&ograve; selezionare al momento della creazione dell'articolo.
 
- Se bisogna specificare tale data, si dovr&agrave; selezionare l'opzione "Visualizza" e usare i menu a tendina per impostarla.
 
Diversamente dalla "data di pubblicazione" dell'articolo, tale data non &egrave; automaticamente impostata alla data di approvazione dell'articolo. Questo &egrave; il motivo per cui pu&ograve; essere modificata in qualsiasi momento.
 
{Gli amministratori del sito possono disabilitare completamente l'uso della data di pubblicazione precedente all'interno della sezione "<A HREF="aide_index.php3?aide=confart" TARGET="_top">Configurazione del sito</A>"}
 
</artdate_redac>
 
<artdesc>
 
{{{La descrizione rapida}}}
 
La {descrizione rapida} &egrave; utilizzata per facilitare la navigazione nel sito: essa descrive brevemente l'argomento dell'articolo, per esempio all'interno di un sommario.
 
Questa descrizione &egrave; facoltativa. Inoltre pu&ograve; essere lunga quanto si vuole, anche se &egrave; stata pensata per testi brevi (una o due frasi), da presentare nella lista degli articoli (sommario, lista degli articoli di un autore, lista degli articoli associati a una parola chiave, risultati del motore di ricerca ecc.)
 
{Gli amministratori del sito possono disabilitare completamente l'uso della descrizione breve all'interno della sezione "<A HREF="aide_index.php3?aide=confart" TARGET="_top">Configurazione del sito</A>"}
 
</artdesc>
 
<ins_img>
 
 
{{{Inserire immagini nel testo}}}
 
 
SPIP offre la possibili&agrave; di illustrare gli articoli e le brevi con delle immagini. Ci&ograve; viene effettuato in pi&ugrave; fasi: si deve inviare il file dell'immagine sul sito e poi inserire l'immagine all'interno del testo.
 
------
 
Preparazione: {{formato delle immagini}}
 
Quando si creano le proprie immagini (con un programma di fotoritocco qualsiasi), esse dovranno essere in profilo RGB e salvate in uno dei seguenti formati:
 
- GIF (estensione {{.gif}}),
- JPEG (estensione {{.jpg}}),
- PNG (estensione {{.png}}).
 
Ci si dovr&agrave; assicurare in particolare che i nomi dei propri file finiscano con una {estensione} che indica il loro formato: {{.gif}}, {{.jpg}} o {{.png}}. Se si invier&agrave; sul sito un'immagine il cui nome non contiene una delle estensioni prima elencate, essa non potr&agrave; essere utilizzata.
 
------
 
I fase : {{Trasferimento delle immagini sul server}}
 
<img src="AIDE/ins_img1.gif" alt=" "
border="0" align="right">Prima di poter inserire le immagini all'interno del testo, &egrave; bene chiarire subito che esse dovranno essere installate sul server grazie all'interfaccia grafica di SPIP.
 
Quando si "modifica" un articolo o una breve, la colonna di sinistra propone una sezione intitolata "Aggiungi un'immagine". Essa consiste in una {casella di testo} seguita da un tasto con una scritta che, a seconda del browser, potr&agrave; essere "Sfoglia", "Browse" ecc.
 
Quando si clicca su questo tasto, si aprir&agrave; una finestra di dialogo che permette di sfogliare il disco rigido e selezionare il file grafico che si desidera utilizzare.
 
Fatto ci&ograve;, bisogna cliccare sul tasto "Upload".
 
Se l'operazione ha successo, l'immagine apparir&agrave; nella colonna di sinistra, accompagnata da varie informazioni.
 
-------
 
II fase : {{Le informazioni relative all'immagine}}
 
<img src="AIDE/ins_img2.gif" alt=" "
border="0" align="right">Una volta che l'immagine &egrave;
stata inviata al server, sulla colonna sinistra apparir&agrave; un riquadro in cui si troveranno tutte le informazioni riguardanti l'immagine. (Una parte di queste informazioni sar&agrave; nascosta. Cliccare
sul triangolo per "espandere" il riquadro con le informazioni nascoste).
 
- {Visualizzazione in forma di miniatura}. Verr&agrave; mostrata un'anteprima dell'immagine. Se l'immagine &egrave; molto grande (pi&ugrave; di 200 pixels di larghezza),
ne verr&agrave; mostrata una versione ridotta.
 
- {Scorciatoie di SPIP}. Vedi sotto: SPIP suggerir&agrave; le 3 "scorciatoie" che permetteranno di inserire l'immagine all'interno del testo. &Egrave; importante notare come ogni immagine sia "numerata" cos&igrave;: "IMG1", "IMG2"...
Queste "scorciatoie" sono utilizzate durante la terza fase.
 
- {Dimensione dell'immagine}. Appena sotto l'immagine, vengono mostrate la sua larghezza e altezza (in pixels - o "punti").
 
- {Titolo e descrizione dell'immagine}. Se necessario, &egrave; possibile indicare un nome e una descrizione per ogni immagine. Per esempio una spiegazione, o il copyright del
fotografo ecc.
 
- {Cancellare un'immagine}. Come dice il suo stesso nome, il tasto "Elimina l'immagine" permette di cancellare il file dell'immagine, se si &egrave; commesso un errore nella sua selezione, o se si &egrave; deciso infine di non utilizzare pi&ugrave; l'immagine all'interno del testo. Si consiglia di cancellare le immagini inutilizzate per evitare di intasare il sito con file inutili.
 
Si pu&ograve; ripetere l'operazione per tutte le immagini che si desidera inserire (un articolo o una breve possono contenere tutte le immagini necessarie).
 
-------
 
III fase : {{Inserire un'immagine all'interno del testo}}
 
In questa fase, i file grafici sono gi&agrave; presenti sul server, ma rimane da indicare dove devono essere inseriti nel testo. Non c'&egrave; bisogno di conoscere l'HTML per inserirli. SPIP offre delle "scorciatoie" che permettono di inserire le immagini facilmente.
 
- {Immagini senza commento}
 
Per ogni immagine, sono disponibili le 3 scorciatoie:
- &lt;img1|left&gt;
- &lt;img1|center&gt;
- &lt;img1|right&gt;
 
Bisogna copiare una di queste scorciatoie (il nome deve corrispondere al numero dell'immagine, che cambia per ognuna di esse) all'interno della sezione "Testo" nella posizione in cui si desidera che appaia l'immagine. La scorciatoia "left" allinea l'immagine a sinistra, "right" a destra e "center" posiziona l'immagine al centro del testo.
 
Quando la pagina verr&agrave; mostrata, SPIP sostituir&agrave; queste scorciatoie con il codice HTML corrispondente, calcolando automaticamente la dimensione delle immagini.
 
- {Immagini con titolo e descrizione}
 
Se &egrave; stato indicato un titolo e/o una descrizione, le scorciatoie &lt;img...&gt; sono rimpiazzate da:
- &lt;doc1|left&gt;
- &lt;doc1|center&gt;
- &lt;doc1|right&gt;
 
Queste ultime si utilizzano nello stesso modo delle prime; comunque, quando si inseriscono delle "scorciatoie" di questo tipo, SPIP inserisce all'interno del testo non solo l'immagine, ma anche il titolo e la descrizione che le sono state date. L'immagine cos&igrave; apparir&agrave;, eventualmente, con una spiegazione, il copyright, il nome dell'artista ecc.
 
</ins_img>
 
<ins_doc>
 
{{{Allegare documenti multimediali}}}
 
L'interfaccia di SPIP permette di proporre sul sito dei file multimediali (suoni, video, documenti ecc.).
 
I redattori possono aggiungere dei documenti agli articoli. Questi documenti possono essere presentati alla fine del testo (come "allegati"), oppure essere presenti nel testo dell'articolo con un'icona di anteprima.
 
Gli amministratori del sito possono, inoltre, installare dei documenti direttamente all'interno di una rubrica.
 
&Egrave; importante notare la differenza fondamentale tra i due modi di utilizzo dei documenti: uniti agli articoli, i documenti fanno "parte" di essi, e non hanno senso se non insieme all'articolo con cui sono stati associati (durante la navigazione nel sito si possono consultare solo a partire dagli articoli); quando invece sono installati direttamente nelle rubriche, i documenti diventano degli elementi del sito come degli articoli o delle brevi, e non semplicemente delle informazioni complementari.
 
--------
 
I fase: {{Installare i documenti sul server}}
 
<img src="AIDE/ins_doc1.gif" alt=" "
border="0" align="right">L'installazione dei file sul server si effettua grazie all'interfaccia "Aggiungi un documento" nel caso si vogliano allegare a un articolo, e "Allega un documento a questa rubrica" per inserirli direttamente in una rubrica.
 
Si noti che, per gli articoli, questa interfaccia appare in due posti diversi: alla fine della pagina di ogni articolo, e sulla colonna di sinistra (sotto le immagini) nella pagina di modifica dell'articolo. Queste interfacce hanno esattamente la stessa funzione. Per le rubriche, l'installazione dei documenti si effettua dalla pagina di ogni singola rubrica.
 
Nel creare i file sul proprio computer consultare l'interfaccia per l'invio dei documenti in cui viene suggerita la lista dei formati autorizzati dal sistema. {Si presti estrema attenzione nel nominare i file con l'estensione corretta (per esempio, }"xxxxxx.mp3"{ per un file in formato MP3.}
 
L'interfaccia &egrave; la stessa utilizzata per le immagini: il tasto "Sfoglia" o "Browse" (in base al browser) apre una finestra che permette di selezionare il file sul disco rigido. Dopo aver selezionato il file, cliccare su "Upload" per inviare il file.
 
{Attenzione: in base alle dimensioni del file, tale operazione pu&ograve; durare pi&ugrave; o meno a lungo. Si noti anche che, in base alle regole imposte dall'amministratore del server, i file troppo grandi potrebbero essere rifiutati;
in questi casi &egrave; possibile aggirare tale limitazione <A HREF="aide_index.php3?aide=ins_upload"
TARGET="_top">installando i file via FTP</A>.}
 
---------
 
II fase: {{Informazioni e icone di file type}}
 
<img src="AIDE/ins_doc2.gif" alt=" "
border="0" align="right">Dopo aver trasferito i files sul server, viene mostrata una sezione con le loro informazioni. A partire da essa &egrave; possibile svolgere una serie di operazioni.
 
- {Icona di file type}
 
Questo concetto &egrave; molto importante: contrariamente alle immagini, che vengono inserite nel corpo del testo,
i documenti non vengono mostrati direttamente. Al visitatore viene presentata un'icona di anteprima, sulla quale egli potr&agrave; cliccare per ottenere il documento corrispondente.
 
La parte superiore della sezione con le informazioni permette di scegliere l'icona di anteprima.
Si pu&ograve; scegliere un'{icona predefinita}, o installare un {logo personalizzato}.
 
L'icona predefinita &egrave; installata automaticamente dal sistema, in base al formato del documento. Il vantaggio di adottare tale icona &egrave; che la visualizzazione dei documenti dello stesso tipo sar&agrave; uniforme su tutto il sito.
 
Se si preferisce, &egrave; possibile installare un logo (preferibilmente di dimensioni ridotte e di formato GIF, JPG o PNG), che apparir&agrave; al posto dell'icona predefinita. Dopo aver installato il logo, il collegamento "Cancella l'immagine" permetter&agrave;, se necessario, di ritornare all'icona predefinita.
 
- Nella pagina di modifica degli articoli, le "scorciatoie" che permettono di inserire i documenti nel corpo del testo sono identiche a quelle per le immagini.
 
- La parte inferiore della sezione con le informazioni permette di indicare un titolo e di fornire una descrizione del documento. &Egrave; inutile indicare in questi campi il formato e le dimensioni del file multimediale poich&egrave; queste informazioni sono fornite automaticamente dal sistema di pubblicazione.
 
- Infine, il tasto "Elimina il documento" permette di cancellare i documenti inutili. {N.B. &Egrave; necessario rimuovere i documenti che non si desidera pi&ugrave; far comparire nel sito pubblico.}
 
- {{Nel caso in cui i documenti siano installati in una rubrica,}} &egrave; inoltre possibile modificare la data di pubblicazione del documento (secondo lo stesso principio con cui si modifica la data di pubblicazione di un articolo o di una breve). Una volta inseriti, i documenti delle rubriche sono immediatamente disponibili sul sito pubblico (non &egrave; necessario "approvarli" come per le brevi o gli articoli).
 
---------
 
III fase: {{Inserire i documenti nel testo degli articoli}}
 
Per i documenti associati agli articoli, baster&agrave; installare i file e inserire le loro informazioni (I e II fase). Quando l'articolo verr&agrave; pubblicato, questi documenti appariranno alla fine del testo sotto forma di {documenti allegati}.
 
Tuttavia &egrave; possibile anche decidere di inserire un'icona di anteprima all'interno del testo. Si otterranno cos&igrave; immagini cliccabili all'interno dell'articolo.
 
In questo caso, la procedura &egrave; esattamente la stessa che per le immagini, con la sola differenza che le icone saranno cliccabili. Inserire una scorciatoia del tipo &lt;imgxx|yy&gt; o &lt;docxx|yy&gt; a seconda che si desideri pubblicare solo l'icona, o anche il titolo e la descrizione.
 
{N.B.} i documenti che si installano all'interno del testo non appaiono pi&ugrave; {alla fine dell'articolo}.
 
----------
 
Un caso particolare: {{File video e file audio}}
 
Certi formati di file multimediali sono concepiti per essere pubblicati direttamente in una pagina Web (per esempio un video inserito direttamente in un articolo).
 
Per poter inserire tali documenti nel corpo dell'articolo, non pi&ugrave; in forma di icona cliccabile, ma come animazione multimediale, &egrave; necessario indicarne le dimensioni: larghezza e altezza, le quali devono assolutamente essere maggiori di zero (per i file audio, si sceglier&agrave; come larghezza la dimensione che si desidera dare alla barra di scorrimento e un'altezza ridotta, per esempio 25 pixels).
 
{N.B.} le sezioni che permettono di specificare le dimensioni appaiono solo per i documenti i cui file corrispondono a certi formati accettati da SPIP per l'integrazione all'intrno degli articoli (in particolare: avi, quicktime, real, flash).
 
Una volta stabilite queste dimensioni, sar&agrave; proposta una scorciatoia SPIP aggiuntiva, del tipo &lt;embxx|yy&gt; ("{{emb}}ed", ovvero "incorpora").
 
Gli utenti esperti potranno anche aggiungere altri parametri, per esempio:
 
<cadre>
<emb54|center|autostart=true|quality=high>
</cadre>
 
</ins_doc>
 
<ins_upload>
 
{{{Trasferire file via FTP}}}
 
A causa delle impostazioni di alcuni server, pu&ograve; risultare particolarmente scomodo (o addirittura impossibile)a volte inviare file ingombranti utilizzando il protocollo HTTP (normali pagine Web). Con SPIP per&ograve; si possono aggirare queste limitazioni appoggiando i file direttamente sul server utilizzando il protocollo FTP.
 
Questa operazione &egrave; quindi riservata agli utenti in possesso dei diritti di accesso al server via FTP.
 
- {{La cartella /ecrire/upload}}
 
&Egrave; sufficiente, usando un comune software FTP, installare i file (immagini, documenti multimediali ecc.)
nella cartella /ecrire/upload del sito SPIP.
 
- {{Il menu a tendina dei file depositati sul server}}
 
Fatto ci&ograve;, apparir&agrave; automaticamente nell'interfaccia per il caricamento remoto dei file un men&ugrave; a tendina con la lista dei file contenuti nella cartella /ecrire/upload. Basta quindi selezionare il file che interessa e confermare la selezione.
 
Se l'operazione va a buon fine, si potr&agrave; rimuovere dalla cartella /ecrire/upload il file installato (il sistema ne ha creato una copia), in modo da non allungare inutilmente la lista del men&ugrave; a tendina.
 
- {{Tutti i file contemporaneamente}}
 
Se sono presenti diversi file nella cartella /ecrire/upload, l'interfaccia del sito propone una funzionalit&agrave; ulteriore: si potranno installare tutti i file
in una sola volta. Ci&ograve; pu&ograve; essere utile per creare rapidamente delle raccolte di documenti, gallerie d'immagini ecc.
 
</ins_upload>
 
<artmodif>
 
{{{Articoli in corso di modifica}}}
 
Quando un redattore lavora su un articolo per modificarlo, gli altri redattori del sito che volessero
intervenire su di esso sarebbero avvisati e scoraggiati ad effettuare delle modifiche in quel momento.
 
Se due redattori lavorano contemporaneamente allo stesso articolo, infatti, le modifiche dell'uno rischiano di "cancellare" le modifiche dell'altro.
 
Se si riceve quindi l'avviso "Attenzione, un redattore ha lavorato su questo articolo",
&egrave; fortemente sconsigliato modificarlo in quel momento. Si ritorni invece su questo articolo in un secondo momento, per intervenire su di esso quando l'altro redattore avr&agrave; portato a termine e salvato le proprie modifiche.
 
Viceversa, quando si sta modificando un articolo, gli altri redattori del sito
che volessero modificarlo, sarebbero avvertiti che qualcuno ci sta gi&agrave; lavorando. Per circa {{un'ora}}, gli altri redattori saranno invitati a non
intervenire sul testo. Quando si riterr&agrave; di aver completato il proprio lavoro, si potr&agrave; "liberare" l'articolo, consentendo allora l'intervento altrui.
L'avviso agli altri redattori scomparir&agrave; ed essi saranno in grado di portare
a termine le proprie modifiche, se necessarie.
 
</artmodif>
 
<artmots>
 
{{{Le parole chiave}}}
 
Al fine di diversificare la navigazione nel sito, &egrave; possibile
associare delle <A HREF="aide_index.php3?aide=mots"
TARGET="_top">parole chiave</A> agli articoli, alle brevi e ai siti repertoriati. In tal modo
il visitatore del sito pu&ograve; navigare di rubrica in rubrica, ma anche
da un articolo su un argomento
(indicato da una parola chiave) a un altro articolo
associato alla medesima parola chiave.
 
Per ogni articolo, breve o sito &egrave; possibile indicare un numero illimitato di
parole chiave.
 
Un menu scorrevole elenca tutte le
parole chiave del sito; il suo utilizzo &egrave; molto semplice. {Attenzione: quando sono presenti pi&ugrave; di 50 parole chiave, il menu
scorrevole viene sostituito da un motore di ricerca:
indicare la parola desiderata e cliccare su
"Cerca".}
 
{{N.B.}} Solo gli amministratori possono creare
parole chiave, usando la pagina dedicata alla loro
gestione (pulsante "Parole chiave"
nell'interfaccia di navigazione completa).
 
{Gli amministratori possono disattivare l'uso delle
parole chiave per tutto il sito, attraverso l'interfaccia "<A
HREF="aide_index.php3?aide=confart" TARGET="_top">Pannello di
configurazione</A>".}
 
</artmots>
 
<artprop>
 
 
{{{Proporre un articolo}}}
 
 
Quando l'articolo &egrave; "in preparazione"
(vedere la rubrica "<A HREF="aide_index.php3?aide=artstatut"
target="_top">Lo status dell'articolo</A>"), &egrave; presente il
pulsante "Chiedi la pubblicazione di questo articolo".
 
{Solo l'autore dell'articolo pu&ograve; effettuare questa operazione.}
 
Ci&ograve; significa che l'articolo &egrave; "Proposto per
la pubblicazione", cio&egrave;
presentato a tutti gli altri redattori,
che sono invitati a commentarlo, in attesa dell'approvazione o del rifiuto da parte degli amministratori.
 
Attenzione: dopo che l'articolo &egrave; stato "proposto per
la pubblicazione", l'autore non pu&ograve; pi&ugrave; ripensarci
e riportarlo allo status di "in preparazione" (solo un amministratore pu&ograve; farlo). Quindi l'operazione
"Chiedi la pubblicazione di questo articolo" deve
essere effettuata dall'autore solo quando
considera definitivo il proprio testo.
 
</artprop>
 
<artrub>
 
{{{Scegliere la rubrica}}}
 
Il menu indica tutta la <A HREF="aide_index.php3?aide=rubhier"
target="_top">struttura gerarchica delle rubriche</A> (cos&igrave; come sono
state create dagli amministratori del
sito): selezionare quella in cui si vuole
inserire l'articolo.
 
Molti utenti alle prime armi spesso ignorano
completamente questa semplice funzione e lasciano il
proprio articolo "in un posto qualsiasi" all'interno del sito.
Pertanto, si consiglia agli amministratori di verificare sempre che
l'articolo si trovi nella rubrica giusta prima di confermarne la pubblicazione.
 
 
</artrub>
 
<artstatut>
 
 
{{{Lo status dell'articolo}}}
 
Lo {status} dell'articolo corrisponde alla condizione
editoriale sul sito. L'articolo pu&ograve; essere:
- in preparazione;
- proposto per la pubblicazione;
- pubblicato on line;
- nel cestino;
- rifiutato.
 
Queste fasi, che possono essere modificate unicamente dagli amministratori,
permettono la gestione del sito.
 
{{N.B.}} Lo status degli articoli &egrave; indicato da icone
colorate.
 
<IMG SRC="img_pack/puce-blanche.gif"> {{Articolo in preparazione}}
 
Non appena viene creato un articolo, esso &egrave; ovviamente
considerato come "in preparazione": gli autori lo stanno scrivendo o
modificando...
 
{L'articolo "in preparazione" &egrave; visible
solo da parte degli autori dell'articolo e dagli amministratori. Gli
altri redattori del sito non possono accedervi.}
 
 
 
<IMG SRC="img_pack/puce-orange.gif"> {{Articolo proposto per la pubblicazione}}
 
Quando l'autore pensa che l'articolo sia pronto, lo
"propone" agli altri partecipanti al sito, affinch&eacute;
possa essere eventualmente discusso da tutti, prima
di ricevere l'approvazione (pubblicazione on line) da parte degli amministratori.
 
{Quando l'articolo viene "proposto per
la pubblicazione", compare nella pagina
"Articoli proposti" di tutti gli utenti dell'area
riservata, che sono invitati a discuterne
utilizzando i forum di discussione interni
che seguono ogni articolo o breve.
 
Tale articolo diventa quindi visibile a tutti i redattori. Tuttavia,
pu&ograve; essere modificato esclusivamente dall'autore o
da un amministratore.}
 
 
<IMG SRC="img_pack/puce-verte.gif"> {{Articolo pubblicato on line}}
 
A seguito dell'eventuale dibattito tra redattori, l'articolo pu&ograve; ottenere l'approvazione da parte della redazione ed essere quindi pubblicato on
line da un amministratore. Da quel momento, tutti i visitatori
dell'area pubblica del sito possono accedervi.
 
{Se un articolo &egrave; pubblicato on line pu&ograve; essere modificato
unicamente dagli amministratori. L'autore dell'articolo, a meno che
non sia anche amministratore, non pu&ograve; pi&ugrave; apportare modifiche; pertanto,
se sono necessarie delle correzioni, deve rivolgersi a un amministratore.}
 
 
<IMG SRC="img_pack/puce-rouge.gif"> {{Articolo rifiutato}}
 
Un articolo "proposto" che non corrisponde
alla linea editoriale del sito pu&ograve; essere
"rifiutato" se gli amministratori rifiutano di
pubblicarlo on line.
 
{Un articolo "rifiutato" &egrave; visibile solo
dall'autore e dagli amministratori.}
 
{Un articolo "rifiutato" non pu&ograve; pi&ugrave; essere
modificato dall'autore, quindi non potr&agrave; essere riproposto
per la pubblicazione. Nel caso in cui un articolo abbia
bisogno di essere ritoccato, &egrave; preferibile metterlo nello status
di "in preparazione" e non in quello di
"rifiutato", in modo da permettere
all'autore di modificarlo e poterlo ripresentare per la pubblicazione.}
 
 
<IMG SRC="img_pack/puce-poubelle.gif"> {{Articolo nel cestino}}
 
Un articolo pu&ograve; essere eliminato solo e unicamente
da un amministratore.
 
{Un articolo "eliminato" non &egrave; pi&ugrave; visibile
nell'area riservata, nemmeno dagli amministratori.
Fare quindi attenzione perch&eacute; questa opzione &egrave; "irrevocabile": l'articolo
sparisce completamente.
 
In realt&agrave;, l'articolo rimane all'interno del
database, tuttavia &egrave; molto difficile
accedervi con gli strumenti di SPIP.}
 
Pertanto, questa opzione &egrave; riservata a quegli articoli
creati per errore, che si vuole distruggere
completamente. Nella maggior parte dei casi sar&agrave; dunque preferibile usare
l'opzione "Articolo rifiutato", che non &egrave;
altrettanto definitiva.
 
 
 
- Notare che gli amministratori possono modificare
lo {status} di un articolo in qualsiasi momento. Un articolo pubblicato
pu&ograve; essere rimesso "in preparazione".
Tuttavia, dopo che l'articolo &egrave; stato pubblicato on line non si deve
abusare del cambiamento di status: il sito risulterebbe instabile e poco affidabile, con pagine che appaiono e
scompaiono, indisponendo il visitatore e ingannando i motori di ricerca.
 
</artstatut>
 
 
<arttexte>
 
{{{Il testo dell'articolo}}}
 
 
Come indica il nome, questo campo contiene il testo vero e proprio dell'articolo.
 
 
- C'&egrave; un aspetto che potrebbe porre dei problemi: la lunghezza. In effetti, alcuni testi molto lunghi (per
nostra esperienza, dai 32~Kb in su), possono essere troncati
oppure rifiutati durante il trasferimento in SPIP. Questo problema non &egrave; dovuto a SPIP, ma al browser che si utilizza. Se il testo &egrave; "troppo lungo"
per il browser, provare a utilizzare un programma diverso.
 
- Il testo dell'articolo pu&ograve; essere arricchito
utilizzando le <A HREF="aide_index.php3?aide=raccourcis"
TARGET='_top'>scorciatoie tipografiche</A> di SPIP.
 
</arttexte>
 
<arttitre>
 
{{{Titolo, occhiello, sottotitolo}}}
 
 
- Il {titolo} &egrave; obbligatorio.
 
- L'{occhiello} e il {sottotitolo} sono invece opzionali. Se non se ne ha bisogno si possono lasciare vuoti e la presentazione del sito si adatter&agrave; automaticamente
alla loro presenza o assenza.
 
{Gli amministratori del sito possono, se lo desiderano,
disattivare completamente l'utilizzo dell'occhiello e/o del sottotitolo dalla pagina "<A HREF="aide_index.php3?aide=confart" TARGET="_top">Pannello di configurazione</A>".}
 
</arttitre>
 
 
<confart>
 
 
{{{Contenuto degli articoli}}}
 
Gli articoli sono costituiti da un certo numero di elementi: titolo, occhiello, sottotitolo, descrizione, introduzione, post scriptum... Alcuni siti, per&ograve;, non hanno bisogno di tutti questi elementi: i redattori non li utilizzano oppure l'interfaccia grafica del sito pubblico non li prevede.
 
Per alleggerire l'interfaccia di gestione del sito pubblico e/o impedire semplicemente ai redattori di utilizzare alcuni elementi che il webmaster non desidera integrare nel sito, la pagina della "Configurazione precisa" permette di disattivare completamente l'utilizzo di questi elementi.
 
{{N.B.}} &Egrave; importante capire che, a differenza della scelta <A
HREF="aide_index.php3?aide=intersimple" target="_top">{interfaccia semplificata / interfaccia completa}</A> che influisce soltanto sull'interfaccia del singolo utente, la scelta delle opzioni della "Configurazione precisa" influisce sull'insieme degli utenti. Cos&igrave;, per esempio, se si decide di disattivare l'utilizzo dell'occhiello, nessun redattore o amministratore potr&agrave; pi&ugrave; utilizzare occhielli nei suoi articoli.
 
L'interfaccia si adatta alla presenza o all'assenza di questi elementi. Se si disattiva l'utilizzo delle parole chiave, il pulsante corrispondente nella barra di navigazione superiore, ovviamente scompare.
 
 
</confart>
 
 
<confbreves>
 
{{{Attivare o disattivare il sistema di brevi}}}
 
Alcuni siti non utilizzano {le brevi} (articoli brevi e senza firma). Se non si desidera includerle nell'interfaccia di navigazione del sito pubblico, basta semplicemente decidere di disattivarle. I redattori non potranno pi&ugrave; crearle e l'interfaccia ne risulter&agrave; alleggerita.
 
</confbreves>
 
 
<confmails>
 
{{{Invio automatico di e-mail}}}
 
I redattori e gli amministratori non necessariamente trascorrono tutta la vita nello spazio di gestione del loro sito. Per facilitare il lavoro cooperativo e il monitoraggio della vita del sito, il sistema pu&ograve; avvertire via e-mail di alcuni avvenimenti che riguardano il sito...
 
<FONT COLOR="red">Attenzione: alcuni fornitori di hosting (spazio web) disattivano la funzione che consente l'invio automatico di e-mail. Se ci si trova in questa situazione le opzioni seguenti non potranno essere attivate. </FONT>
 
 
- {{Monitoraggio dei forum pubblici}}
 
Per permettere agli autori di seguire le discussioni provocate dai loro articoli, questa opzione permette di sottoporre automaticamente all'autore dell'articolo ciascun messaggio inviato in risposta al suo articolo.
 
Se questa opzione &egrave; attiva, quando un messaggio &egrave; inviato nel sito pubblico in risposta ad un articolo, l'autore (gli autori) ricever&agrave; via e-mail il testo del messaggio e il richiamo all'indirizzo (URL) di questo articolo; con un semplice clic pu&ograve; (possono) andare alla pagina dell'articolo ed eventualmente rispondere al commento.
 
- {{Monitoraggio dell'attivit&agrave; redazionale del sito}}
 
Quando un articolo viene proposto per la convalida o viene pubblicato, &egrave; possibile richiedere a SPIP di segnalarlo via e-mail. In questo modo i partecipanti alla vita del sito sono informati in tempo reale degli sviluppi pi&ugrave; importanti del sito.
 
Per un sito cooperativo (con diversi redattori) , &egrave; consigliabile creare una mailing list dei redattori (la funzione di mailing list non &egrave; fornita da SPIP) a cui inviare messaggi di questo tipo.
 
- {{Annunci delle novit&agrave;}}
 
Questa funzione di SPIP permette di creare e-mail del tipo "Cosa c'&egrave; di nuovo?": se viene attivata, dopo aver definito l'intervallo di tempo tra i diversi annunci, una mail viene inviata regolarmente all'indirizzo indicato, ricapitolando gli ultimi articoli e le ultime brevi pubblicate.
 
Il funzionamento &egrave; molto semplice: se si attiva questa opzione indicando un intervallo di sette giorni, SPIP invier&agrave; ogni sette giorni all'indirizzo desiderato la lista degli articoli e delle brevi pubblicati negli ultimi sette giorni.
 
Un pulsante "Invia adesso" consente l'invio immediato di queste e-mail di ricapitolazione (e fa scattare un altro intervallo di tempo prima dell'invio della prossima e-mail).
 
&Egrave; possibile inviare questa e-mail con gli annunci delle novit&agrave; all'indirizzo del webmaster principale (che inoltrer&agrave; il messaggio), o se si preferiscono i siti che si gestiscono in automatico, direttamente alla lista degli abbonati (la funzione di mailing list non &egrave; fornita da SPIP).
 
</confmails>
 
 
<confdates>
 
{{{Pubblicazione degli articoli postdatati}}}
 
Gli amministratori hanno la possibilit&agrave; di modificare la <A
HREF="aide_index.php3?aide=artdate" TARGET="_top">data di pubblicazione
on line</A> di un articolo (qualora esso sia dichiarato come
"pubblicato on line".
 
Nel caso in cui la data di pubblicazione on line venga fissata a una data futura,
come si deve comportare SPIP? Si pu&ograve; decidere se SPIP deve pubblicare
tutti gli articoli, indipendentemente dalla data di pubblicazione fissata
(con il rischio di far apparire un articolo con data "31 maggio
2004" quando invece la data attuale &egrave; il 21 maggio), oppure attendere la data fissata (nell'esempio precedente il 31 maggio) prima di far apparire l'articolo in questione sul sito pubblico.
 
- L'utilit&agrave; principale di questa funzione &egrave; la possibilit&agrave; di scaglionare la pubblicazione di una
serie di articoli. Per esempio: il webmaster si prende un
mese di ferie; se ha gi&agrave; scritto
diversi articoli li pu&ograve; passare, nell'area riservata del sito, come "pubblicati on line", pur fissando delle date di pubblicazione suddivise durante il mese in cui &egrave; assente. In tal modo, invece di mettere on line un intero {pacchetto} di articoli in un unico giorno, e poi pi&ugrave; niente per un mese, il sito pubblica regolarmente i "nuovi" articoli nonostante l'autore sia assente.
 
- Al contrario, un sito di fantascienza che pubblica delle
{cronache marziane} farebbe meglio a disattivare tale
funzione, a meno che non voglia attendere l'anno 2030
per vedere pubblicati gli articoli... ;) Lo stesso discorso vale per un mensile il cui numero di aprile viene pubblicato il 20 marzo.
 
 
</confdates>
 
 
<confmessagerie>
 
{{{Il sistema di messaggistica interna}}}
 
SPIP offre un sistema di messaggistica interna (una rubrica della presente documentazione &egrave; dedicata ai <a href="aide_index.php3?aide=messut" target="_top">messaggi fra gli utenti</a>, ai <a href="aide_index.php3?aide=messpense" target="_top">memo</a> e al <a href="aide_index.php3?aide=messcalen" target="_top">calendario</a>).
 
&Egrave; possibile decidere se utilizzare in tutto o in parte tale sistema.
 
- {{Attivare o disattivare il sistema di messaggistica interna al sito}}
 
Un motivo per non utilizzare la messaggistica interna potrebbe essere lo spazio occupato dai messaggi nel database: questi messaggi (come per esempio i messaggi dei forum collegati agli articoli) sono archiviati nel database, quindi occupano spazio su disco. Inoltre, le funzioni di messaggistica interna obbligano il server a un lavoro supplementare (richieste, o {query}, al database pi&ugrave; lunghe da eseguire): se il server &egrave; poco potente (e/o molto lento), potrebbe essere preferibile alleggerirne il lavoro disattivando il sistema di messaggistica.
 
- {{Attivare o disattivare l'elenco dei redattori collegati}}
 
Se questa funzionalit&agrave; &egrave; attiva viene sempre mostrato l'elenco degli utenti collegati nell'area riservata del sito. Ci&ograve; facilita lo scambio di messaggi in tempo reale fra gli utenti.
 
Anche questa funzionalit&agrave; provoca delle chiamate supplementari al database; se il server &egrave; poco potente potrebbe essere preferibile disattivarla.
 
{{N.B.}} Alcuni utenti considerano questi messaggi come un'intrusione. Perci&ograve;, anche se tali funzionalit&agrave; sono state attivate dagli amministratori del sito, ogni singolo utente ha comunque la possibilit&agrave; di <a href="aide_index.php3?aide=messconf" target="_top">disattivarle per s&eacute;</a>. Se un utente considera la messaggistica interna inutile o intrusiva, pu&ograve; quindi decidere di non farne uso.
 
</confmessagerie>
 
 
<confforums>
 
{{{Funzionamento dei forum pubblici}}}
 
I forum pubblici possono essere gestiti in modi molto diversi fra loro, solitamente in funzione dei bisogni reali del sito. Certi webmaster non vogliono alcun tipo di forum nei propri siti, altri consentono dei forum ad accesso libero, altri ancora preferiscono moderare i forum a priori, pubblicando i messaggi una volta approvati dall'amministratore.
 
SPIP permette di determinare il funzionamento dei forum pubblici (mentre i forum interni dedicati alla gestione del sito sono solitamente gestiti come dei forum aperti a tutti i redattori e moderati a posteriori).
 
- {{Disattivare i forum pubblici}}
 
Quando i forum vengono disattivati lo spazio dei contributi scompare e i vecchi messaggi non vengono pi&ugrave; pubblicati (non vengono cancellati dal database, ma viene solo interrotta la loro pubblicazione). Questa opzione sospende il funzionamento dei forum, anche se la loro pubblicazione &egrave; prevista dall'impaginazione del sito.
 
&Egrave; possibile disabilitare i forum stabilmente (facendo in modo che il sito non offra mai dei forum di discussione), o temporaneamente (sospendere l'attivit&agrave; dei forum per il tempo necessario a calmare uno spammer o per starsene tranquilli in vacanza a caccia di troll... o ancora nel caso di un eventuale trasferimento del sito su un nuovo server).
 
- {{Forum moderati a posteriori}}
 
Quando i forum vengono moderati a posteriori, i contributi vengono pubblicati cos&igrave; come sono postati dagli utenti. &Egrave; possibile utilizzare la pagina di gestione dei forum di SPIP per moderare pi&ugrave; o meno severamente i messaggi. La moderazione a posteriori &egrave; l'impostazione standard di SPIP.
 
- {{Forum moderati a priori}}
 
Nei forums moderati a priori, i contributi degli utenti vengono memorizzati ma non pubblicati. Gli amministratori dovranno utilizzare la pagina di gestione dei forum per convalidare o rifiutare ogni messaggio.
 
- {{Forum accessibili su abbonamento}}
 
Se i forum sono {accessibile su abbonamento}, gli utenti che desiderano partecipare dovranno iscriversi fornendo il loro indirizzo e-mail. Riceveranno allora un codice di identificazione per e-mail. Per i redattori che hanno gi&agrave; accesso al sito privato, questo codice di identificazione corrisponde al loro login abituale.
 
Questa impostazione &egrave; un compromesso tra la necessit&agrave; di responsabilizzazione (i partecipanti dovranno fornire un indirizzo e-mail valido) e l'assenza di moderazione a priori (una volta iscritti, i partecipanti potranno inviare direttamente i loro contributi).
 
Ci&ograve; permette anche di escludere i partecipanti che abusino dei forum (black-list). In effetti, quando viene eliminato (attraverso la pagina di gestione dei forum) un contributo postato nella modalit&agrave; "su abbonamento", l'amministratore ha accesso ad una "scheda" ridotta dell'autore di quel contributo.
L'utente potr&agrave; allora essere cestinato facendo in modo che il suo codice identificativo non funzioni pi&ugrave; impedendogli di ottenerne un altro con lo stesso indirizzo e-mail.
 
<FONT COLOR='red'>Attenzione: la modalit&agrave; su abbonamento presuppone che il server che ospita il sito supporti la funzione di invio automatico di e-mail. In caso ci&ograve; non sia consentito, contattare il responsabile del server o cambiare hosting ;)</FONT>
 
</confforums>
 
 
<confmoteur>
 
{{{Attivare o disattivare il motore di ricerca}}}
 
 
SPIP integra un motore di ricerca. Se esso &egrave; attivo,
il programma di indicizzazione degli articoli analizza
il contenuto di ogni articolo. Questa operazione, bench&eacute;
permetta di effettuare ricerche estremamente rapide, richiede
molto lavoro da parte del server che ospita il sito.
Se il proprio server &egrave; lento, possono verificarsi
dei problemi.
 
Per tale motivo, &egrave; possibile attivare o disattivare il
programma di indicizzazione.
 
I dati generati dal motore di
ricerca integrato in SPIP {{triplicano}} all'incirca
lo spazio occupato sul disco dal database. Inoltre,
su sistemi lenti o particolarmente carichi, l'indicizzazione
pu&ograve; causare una leggera diminuzione
della performance o anche, in casi estremi,
degli errori di esecuzione.
 
In generale, se il proprio sito occupa molto spazio
&egrave; consigliabile non utilizzare il motore di ricerca
integrato in SPIP, ma utilizzare prodotti
specializzati quali <HTML><A
HREF='http://www.htdig.org/' target="_blank">ht://Dig</A></HTML>.
 
Notare anche che il motore di ricerca non indicizza tutte le pagine in una volta sola. Se esso viene attivato quando il sito contiene
gi&agrave; un gran numero di articoli, affinch&eacute; il motore di ricerca sia aggiornato
sar&agrave; necessario attendere che il proprio sito registri un numero
di connessioni {pi&ugrave; o meno} uguale al numero di testi da indicizzare.
 
</confmoteur>
 
 
<confnom>
 
{{{Nome e indirizzo del sito}}}
 
Il nome e l'indirizzo (URL) del sito sono utili, in particolare, per la generazione del file "backend.php3" che permette la {syndication} del sito (vale a dire la segnalazione su un sito esterno degli ultimi articoli pubblicati).
 
L'indirizzo del sito dovr&agrave; puntare sulla {cartella} che ospita la pagina principale, e non su un singolo file HTML; deve quindi terminare con "/". Se l'indirizzo della {homepage} &egrave;:
 
<HTML><TT>http://www.miosito.net/index.html</TT></HTML>
 
l'URL del sito dovr&agrave; essere indicata cos&igrave;:
 
<HTML><TT>http://www.miosito.net/</TT></HTML>
 
</confnom>
 
 
<confstat>
 
{{{Le statistiche delle visite}}}
 
SPIP integra un semplice sistema che permette di calcolare e monitorare il numero delle visite per l'insieme del sito e per ciascun articolo. Permette anche di conoscere la provenienza dei visitatori.
 
- {{Il numero di visite}}
 
SPIP identifica ogni giorno i "visitatori singoli" in funzione del loro IP. Il sistema &egrave; veloce e {relativamente} affidabile (si tratta di una stima {relativamente} corretta del numero di visitatori, e non di semplici "contatti" o di "pagine visitate"; chi visita pi&ugrave; volte la stessa pagina viene cos&igrave; contato come "visitatore unico").
 
- {{I link entranti o referrer}}
 
Si dice "link entrante" ogni visita proveniente da un link ipertestuale esterno che punta a un sito, mentre il sito che ospita tale link viene definito "{referrer}".
 
SPIP pu&ograve; mostrare, per tutto il sito o per ogni singolo articolo, l'elenco dei principali {referrer} (le pagine di provenienza), accompagnato dal numero di "link entranti" (il numero di visitatori giunti al sito da tali pagine).
 
-----
 
- {{Un sistema "relativamente" affidabile}}
 
Un sistema completo di analisi del traffico di un sito &egrave; un software che richiede potenza e memoria; il sistema di SPIP &egrave; quindi molto semplificato, al fine di essere il pi&ugrave; rapido possibile e di occupare poco spazio sul server. Per esempio, il conteggio dei "visitatori singoli" avviene giorno per giorno sulla base del numero di IP dei visitatori, anche se questo non &egrave; certamente il metodo pi&ugrave; preciso in assoluto. Si pu&ograve; tuttavia considerare le informazioni fornite da SPIP {relativamente} affidabili.
 
Per un'informazione completa sul traffico del sito, si dovr&agrave; comunque far riferimento a un sistema di statistiche specializzato.
 
- {{Un calcolo quotidiano}}
 
Il sistema di controllo integrato a SPIP effettua un unico calcolo del numero di visitatori e di {referrer} quotidiano (e non in tempo reale). Alcune informazioni potranno quindi sembrare incoerenti, poich&eacute; non vengono considerate le visite del giorno corrente; in caso di dubbio, si faccia riferimento alla pagina specifica dedicata alle statistiche (fornisce informazioni pi&ugrave; affidabili e dettagliate di quelle, sempre relative alle statistiche, presenti in altre zone del sito). (Ovviamente la pagina delle statistiche di un articolo &egrave; disponibile solo dopo il primo giorno di pubblicazione dello stesso).
 
- {{Attivare o disattivare le statistiche e i referrer}}
 
Il conteggio del numero di visitatori singoli non occupa molto spazio n&eacute; molta memoria all'interno del server. Non c'&egrave; quindi motivo di disattivarlo se non su server molto lenti.
 
Il sistema di conteggio dei {referrer} e dei contatti diretti &egrave; invece pi&ugrave; avido di risorse. &Egrave; quindi disattivato di default. &Egrave; consigliabile attivarlo solo nei server con una buona potenza di calcolo (i server che gi&agrave; faticano a gestire gli articoli molto lunghi non possono di certo gestire i {referrer}...).
 
 
{{N.B.}} Lo spazio su disco e i tempi di calcolo per il controllo delle visite e dei {referrer} aumenta con il traffico del vostro sito. Pi&ugrave; un sito &egrave; visitato, pi&ugrave; aumentano le risorse necessarie per effettuare questi compiti.
 
</confstat>
 
 
<install0>
 
{{{Prerequisiti: impostare i diritti d'accesso}}}
 
All'atto dell'installazione dei file di SPIP sul proprio server tramite FTP, alcune {{cartelle}} non sono configurate correttamente: &egrave; necessario quindi modificare la configurazione di tali cartelle con il programma FTP usato abitualmente.
 
&Egrave; necessario "impostare i diritti d'accesso" delle seguenti cartelle:
- {{/CACHE}}
- {{/IMG}}
- {{/ecrire}}
- {{/ecrire/data}}
 
Ogni programma ("client") FTP ha una sua procedura, ma in generale le operazioni da svolgere sono le seguenti:
 
- selezionare la cartella per la quale impostare i "diritti d'accesso";
 
- nel programma FTP che si sta usando, trovare una funzione chiamata "cambiare (o {modificare}, o {impostare}) i diritti d'accesso";
 
- se tale funzione ha un'interfaccia grafica, &egrave; necessario cliccare sulla casella corrispondente a "Scrittura", per l'utente "Altri" (o
"Tutti gli utenti"):
 
<CENTER><img src="AIDE/install0.gif" alt=" "
border="0">
</CENTER>
 
- se tale modifica viene eseguita in modo "testo", la configurazione numerica &egrave; "777".
 
Dopo aver effettuato questa operazione per ogni cartella indicata dal sistema di installazione, aggiornare la pagina; la procedura continuer&agrave; automaticamente.
 
</install0>
 
 
<install1>
 
{{{La connessione MySQL}}}
 
In questa fase si devono indicare le informazioni necessarie affinch&eacute; SPIP possa connettersi al server MySQL.
 
- {Indirizzo del database:} a seconda della scelta del
proprio fornitore di hosting, questa informazione sar&agrave; "localhost", oppure l'indirizzo del proprio sito
("www.miosito.org").
 
- {Il login di connessione:} spesso &egrave; lo stesso login
usato per il download dei file tramite FTP.
 
- {Password di connessione:} spesso &egrave; la stessa
password usata per accedere al sito tramite FTP.
 
- Queste informazioni non si possono inventare: se non si conoscono &egrave; probabile che il fornitore di hosting non le abbia fornite e che pertanto non sia possibile continuare la procedura.
 
- Per tali informazioni fare quindi riferimento al proprio {{fornitore di hosting}} (non chiedetele al team di sviluppo di SPIP, non possiamo saperle!). Alcuni fornitori inseriscono queste informazioni sulle loro pagine on line.
 
- Notare anche che, molto spesso, &egrave; necessario {{richiedere}} l'attivazione dell'accesso MySQL,
oppure effettuare un procedura specifica. Molti fornitori che pubblicizzano un hosting comprensivo di database MySQL
non attivano automaticamente questa connessione all'atto della creazione del sito; spesso &egrave; necessaria un'indicazione da parte del cliente (dopo aver aperto il proprio account).
In tal caso, consultare la documentazione del proprio
fornitore per sapere in che modo {attivare} la connessione
MySQL. (Anche in questo caso il team di SPIP non pu&ograve; essere d'aiuto...)
 
</install1>
 
 
<install2>
 
{{{Scegliere il database}}}
 
 
- &Egrave; necessario indicare il {{nome}} del {database} attribuito da chi ospita il vostro sito. Se non si possiede quest'informazione richiederla al proprio {host} oppure consultarne la documentazione on line (&egrave; inutile chiederla al team di sviluppo di SPIP, noi non la conosciamo...).
 
- Molto spesso questa informazione corrisponde al {login} del
proprio {account} (quello utilizzato per connettersi al proprio
sito tramite FTP).
 
- Prima possibilit&agrave; (la pi&ugrave; frequente): viene mostrato
un elenco di account (talvolta un po' lunghetto, a seconda
della configurazione fissata dal proprio host). Tra gli
account indicati, solo uno corrisponde al proprio, selezionare
quindi tale account e confermare per passare
alla fase seguente.
 
- Seconda possibilit&agrave;: viene mostrato un solo nome,
che corrisponde al proprio account (il provider ha configurato
il sistema per mostrare automaticamente solo l'account che vi appartiene).
Facile: selezionarlo e confermare.
 
- Terza possibilit&agrave; (generalmente in caso di {hosting} professionale, in cui si ha a disposizione un {server} con privilegi elevati): si
deve {{creare}} il proprio database. In tal caso (dopo
aver verificato che non esiste un account
nell'elenco sopra indicato), &egrave; possibile scrivere il nome
da voi scelto con l'opzione "Creare un
nuovo database".
 
 
- Ultima possibilit&agrave; (nulla di quanto detto prima corrisponde al proprio caso):
l'account non appare nell'elenco proposto e non &egrave; possibile
crearne uno nuovo. &Egrave; un'eventualit&agrave; assai rara: molto probabilmente il {webmaster} ha creato un accesso
al {database server} ma ha dimenticato
di creare un account. In tal caso, contattare direttamente il proprio fornitore di hosting.
 
</install2>
 
 
<install5>
 
{{{Dati personali}}}
 
Questa procedura &egrave; molto semplice, per&ograve; deve essere eseguita con molta attenzione. Se si ha troppa fretta, si rischia di non poter pi&ugrave; accedere al sito...
 
- {Identit&agrave; pubblica:} &egrave; il nome che apparir&agrave; come firma negli articoli creati dall'utente.
 
- {ID personale:} si tratta dell'identificativo che {{ogni utente sceglie}} per connettersi a SPIP. Esso non deve assolutamente coincidere con quello dell'accesso FTP; al contrario, {&egrave; fondamentale che essi siano diversi per ragioni di privacy e sicurezza}.
 
N.B. Una volta installato il sito, questi dati potranno essere eventualmente modificati.
 
</install5>
 
 
<intersimple>
 
{{{Interfaccia semplificata / interfaccia completa}}}
 
Ciascun utente di SPIP pu&ograve; modificare la propria interfaccia (senza influire sull'interfaccia degli altri utenti, al contrario di ci&ograve; che accade con la pagina di "<A HREF="aide_index.php3?aide=confart" TARGET="_top">Configuratione precisa</A>").
 
Spesso i redattori utilizzano poco o per nulla molte funzioni di SPIP. Passare all'"interfaccia semplificata" permette quindi di alleggerire l'interfaccia e di facilitare la comprensione. In tal modo compaiono solo gli elementi veramente indispensabili alla gestione del sito. Per esempio, pochi utilizzano la "<A
HREF="aide_index.php3?aide=artdate_redac" TARGET="_top">data di pubblicazione precedente</A>", per cui essa sar&agrave; assente dall'"interfaccia semplificata".
 
{{N.B.}} Le differenze tra le due interfacce sono molto pi&ugrave; evidenti per gli amministratori del sito, poiche hanno a disposizione molte pi&ugrave; funzioni rispetto ai redattori del sito.
 
{Affinch&eacute; queste modifiche siano applicate &egrave; necessario abilitare l'utilizzo dei cookie.}
 
</intersimple>
 
 
<logoart>
 
{{{Il logo dell'articolo}}}
 
 
SPIP permette di inserire un logo per ogni articolo. In questo modo nell'interfaccia di navigazione del sito pubblico sar&agrave; possibile visualizzare un pulsante grafico che rimanda all'articolo.
 
Per ciascun articolo &egrave; possibile :
 
- non utilizzare un logo;
- inserire un logo grafico semplice;
- inserire un logo animato con "roll-over" (il logo &egrave; composto da "due immagini" che si alternano al passaggio del mouse).
 
- {{Formati dell'immagine}}
 
Quando si creano le immagini (con un semplice programma di fotoritocco), occorre salvarle in uno dei seguenti formati:
 
- GIF (anche animata);
- JPEG;
- PNG (per il momento sconsigliato, numerosi browser non sono in grado di visualizzarlo correttamente).
 
{Per evitare gravi problemi di gestione, SPIP rifiuta per i loghi file immagine superiori ai 256&nbsp;Kbyte.} Consiglio: dal momento che questi "pulsanti" sono degli elementi dell'interfaccia grafica, occorre fare attenzione che il loro {peso} (numero di Kbyte) non sia troppo grande (in generale, meno di 10&nbsp;Kbyte) se si desidera che la navigazione nel proprio sito rimanga fluida.
 
In particolare occorre far attenzione che il nome del file abbia un'{estensione} indicante il suo formato: {{.gif}}, {{.jpg}} o {{.png}}. Il nome del file non ha importanza, a patto di {non dimenticare l'estensione}.
 
{Se si crea un pulsante con l'effetto di "roll-over", occorre creare due file grafici differenti, (uno per il pulsante "normale" e un altro file che viene visualizzato quando il mouse passa sopra al pulsante): &egrave; consigliabile che i due file abbiano le stesse dimensioni (in pixel).}
 
- {{Logo semplice}} (senza roll-over)
 
<img src="AIDE/logoart-1.gif" alt=" " border="0" align="right">Per aggiungere un pulsante, &egrave; disponibile un'interfaccia nella colonna sinistra dell'articolo, sotto la scritta "LOGO DELL'ARTICOLO".
 
A seconda della versione del browser occorre cliccare sul pulsante "Browse", "Scegli", "File" ecc. Si apre allora un'interfaccia che permette di scegliere nell'hard disk il file grafico desiderato.
 
Una volta selezionato il file, occorre cliccare sul pulsante "Upload". Il logo viene quindi visualizzato. &Egrave; seguito da un pulsante "Elimina il logo", che consente semplicemente di eliminarlo.
 
Se non si desidera avere un logo con effetto di roll-over, non &egrave; necessario fare altro.
 
- {{Sostituire il logo}}
 
<img src="AIDE/logoart-2.gif" alt=" " border="0" align="left">Pu&ograve; succedere che si voglia sostituire il logo con un altro file. L'operazione si svolge in due fasi:
- si comincia da "Elimina il logo": compare di nuovo l'interfaccia precedente con il pulsante "Upload";
- si carica allora il nuovo file seguendo la procedura gi&agrave; descritta.
 
Per visualizzare la nuova immagine &egrave; necessario aggiornare la pagina o l'immagine. Cliccare sulla vecchia immagine con il pulsante destro del mouse (o premendo il tasto "ctrl" in Macintosh) per far comparire un menu locale a tendina. Selezionare l'opzione "Ricarica questa immagine" (o, in inglese "Reload image"). Allora dovrebbe comparire la nuova versione del logo.
 
 
- {{Logo per il roll-over}}
 
<img src="AIDE/logoart-3.gif" alt=" " border="0" align="right">Dopo l'inserimento del primo file (logo semplice), l'interfaccia non visualizza solo il logo che &egrave; stato installato sul server, ma aggiunge anche una seconda interfaccia con il titolo "LOGO PER IL ROLL-OVER". Attraverso questa interfaccia &egrave; possibile indicare il secondo file necessario alla gestione del roll-over.
 
{Se quando sono stati inseriti i due file, viene eliminato il primo, (il pulsante "semplice"), l'interfaccia del secondo logo non compare pi&ugrave;. In mancanza del primo logo, infatti, non c'&egrave; pi&ugrave; motivo di gestire un "roll-over"!}
 
{{N.B.}} Per la gestione del logo non &egrave; necessario intervenire sul "testo" dell'articolo. Al momento della pubblicazione sul sito pubblico, la gestione dei loghi &egrave; completamente automatica. Il codice HTML verr&agrave; generato in funzione delle dimensioni del logo. Anche la funzione di roll-over in JavaScript verr&agrave; creata automaticamente.
 
</logoart>
 
 
<raccourcis>
 
{{Per facilitare l'impaginazione dei documenti pubblicati con SPIP, il sistema propone un certo numero di "scorciatoie SPIP" finalizzate a:
- semplificare l'utilizzo per utenti che non conoscono l'HTML;
- facilitare la gestione automatica dell'impaginazione.
 
Naturalmente, &egrave; possibile utilizzare il codice HTML nei documenti SPIP, ma consigliamo di utilizzare di preferenza le scorciatoie SPIP, che sono pi&ugrave; facili da memorizzare e che soprattutto permettono la gestione automatica da parte del sistema.}}
 
 
~
 
{{{Le scorciatoie tipografiche di SPIP}}}
 
 
- {{Tipografia francese automatica}}
 
SPIP &egrave; in grado di rispettare automaticamente le principali regole di spaziatura della tipografia francese: degli spazi indivisibili vengono aggiunti davanti ai caratteri ":", ";", "!", "?" e in prossimit&agrave; delle virgolette &laquo;&nbsp;alla francese&nbsp;&raquo;.
 
Per esempio: &laquo;L'occasion a tous ses cheveux au front: quand elle est outre pass&eacute;e, vous ne la pouvez plus r&eacute;voquer; elle est chauve par le derri&egrave;re de la t&ecirc;te, et jamais plus ne retourne.&raquo; (Fran&ccedil;ois Rabelais) viene visualizzato in questo modo: &laquo;&nbsp;L'occasion a tous ses cheveux au front&nbsp;: quand elle est outre pass&eacute;e, vous ne la pouvez plus r&eacute;voquer&nbsp;; elle est chauve par le derri&egrave;re de la t&ecirc;te, et jamais plus ne retourne.&nbsp;&raquo; (Sono stati corretti i due punti e il punto e virgola.)
 
{{N.B.}} Ovviamente questa funzione viene attivata e ha senso solo nelle pagine che hanno il francese come lingua principale.
 
- {{Creare dei paragrafi}}
 
Per creare dei paragrafi basta lasciare una riga vuota, un po' come per separare i paragrafi in un e-mail (si "salta" una riga).
 
Andare semplicemente "a capo" (invio-enter) senza separare i due paragrafi con una riga vuota, non &egrave; sufficiente per produrre un cambio di paragrafo (e non produce nemmeno un ritorno a capo).
 
&Egrave; possibile lasciare pi&ugrave; righe vuote di seguito senza che questo modifichi l'impaginazione. Con SPIP, lasciare una o pi&ugrave; righe vuote produce sempre un cambiamento di paragrafo, senza influenzare la spaziatura tra i paragrafi.
 
 
- {{Creare elenchi puntati e numerati}}
 
Con SPIP si possono creare degli elenchi allo stesso modo che in un e-mail : basta andare a capo e cominciare la nuova riga con un trattino ("-").
 
{{N.B.}} In questo caso un semplice ritorno a capo &egrave; sufficiente (si possono creare elenchi nello stesso paragrafo); ma se si "salta" una riga prima della riga che comincia con un trattino, viene visualizzata una riga vuota prima dell'elenco [[
{{Varianti:}}
- Un semplice salto di riga senza elemento puntato (bullet) si ottiene premendo <tt>_</tt> (il trattino di sottolineatura o underscore) all'inizio della riga, seguito da uno spazio.
- Si possono creare degli elenchi annidati aggiungendo degli asterischi dopo il trattino dell'elenco.
_ {Si provi per esempio:}
_ <html><tt>-* Il tuo cavallo &egrave;<br>
-** fulvo;<br>
-** baio;<br>
-** nero;<br>
-* ma il mio coniglio &egrave;<br>
-** bianco:<br>
-*** angora o<br>
-*** a pelo raso.</tt></html>
- EInfine, si possono creare degli elenchi numerati utilizzando <code>#</code> al posto dell'asterisco:
<code>-# primo
-# secondo
-# terzo</code>
dar&agrave; come risultato:
-# primo
-# secondo
-# terzo
]].
 
Per esempio, <HTML><TT><BR>
- Che importa se lotto per la causa sbagliata se sono in buona fede?<BR>
- E che importa allora ch'io sia in mala fede se lo faccio per la giusta causa.</TT></HTML> (Jacques
Pr&eacute;vert)<BR> verr&agrave; visualizzato cos&igrave;:
- Che importa se lotto per la causa sbagliata se sono in buona fede?
- E che importa allora ch'io sia in mala fede se lo faccio per la giusta causa.
 
 
- {{Grassetto e corsivo}}
 
Si definisce semplicemente una parte di testo {in corsivo} collocandola tra parentesi graffe semplici: "<HTML><TT>...una parte di testo {in corsivo}...</TT></HTML>".
 
Si definisce una parte di testo {{in grassetto}} collocandola tra parentesi graffe doppie: "<HTML><TT>...una parte di testo {{in grassetto}}...</TT></HTML>".
 
- {{Titoli di paragrafo}}
 
I titoli di paragrafo sono titoli all'interno di un testo che permettono di definirne la struttura. In SPIP vengono semplicemente definiti collocandoli tra parentesi graffe triple: "<HTML><TT>{{{Un titolo di paragrafo}}}</TT></HTML>" dar&agrave;: {{{Un titolo di paragrafo}}}
 
 
- {{Linea di separazione orizzontale}}
 
&Egrave; molto semplice inserire una linea di separazione orizzontale per tutta la larghezza del testo, basta inserire una riga che contenga soltanto una successione di almeno quattro trattini, in questo modo:
 
<html>----</html>
 
----
 
- {{I link ipertestuali}}
 
Si costruisce facilmente un collegamento ipertestuale utilizzando questo codice:
"<HTML><TT>SPIP &egrave; un'iniziativa del
[minir&eacute;zo->http://www.minirezo.net/].</TT></HTML>"
diventer&agrave; "SPIP &egrave; un'iniziativa del
[minir&eacute;zo->http://www.minirezo.net/].".
 
L'indirizzo del link pu&ograve; essere un indirizzo assoluto (che comincia, come in questo caso, con <code>http://</code>), un indirizzo relativo (verso un'altra pagina dello stesso sito), un link verso un documento che utilizza uno dei protocolli di internet (<code>ftp://</code>...) , un indirizzo e-mail <code>[->minirezo@rezo.net]</code>)...
 
 
- {{Link interni al sito}}
 
Lo stesso sistema di collegamenti ipertestuali facilita anche la creazione di link all'interno di un sito SPIP. L'unica accortezza consiste nell'individuare il numero dell'articolo, della rubrica o della breve a cui rimanda il collegamento ipertestuale:
<img src="AIDE/articlenumero.gif" alt="NUMERO" border="0" align="right">
quando nello spazio privato si "visita", un articolo, una breve o una rubrica, la colonna di sinistra contiene un riquadro, che indica questo numero con caratteri di grande dimensione.
 
&Egrave; questo numero che bisogna indicare nel collegamento ipertestuale:
 
{Link all'articolo 342 (quattro possibilit&agrave;):}
<HTML><TT>
<BR>link all'[articolo->342]
<BR>link all'[articolo->art342]
<BR>link all'[articolo->article 342]
<BR></TT></HTML>{mentre, }<HTML><TT>[->art342]</TT></HTML> {visualizzer&agrave; il titolo dell'articolo 342 con un link ad esso.}
 
{Link alla rubrica 12:}
<HTML><TT>
<BR>link alla [rubrica->rub12]
<BR>link alla [rubrica->rubrique 12]
</TT></HTML>
 
 
{Link alla breve 65:}
<HTML><TT>
<BR>link alla [breve->br65]
<BR>link alla [breve->breve 65]
<BR>link alla [breve->br&egrave;ve 65]
</TT></HTML>
 
{Autori, parole chiave, siti, immagini, documenti:}
<HTML><TT>
<BR>[->aut13] o [->auteur13]
<BR>[->mot32]
<BR>[->site1]
<BR>[->doc17] o [->document17]
<BR>[->img13] o [->image13]
<BR>
</TT></HTML>
 
{{N.B.}} Per i siti la scorciatoia rimanda all'indirizzo URL del sito repertoriato. Per un documento o un'immagine, viene visualizzato il titolo, se esiste, altrimenti viene visualizzato il nome del file.
 
 
- {{Note a fondo pagina}}
 
Una nota a fondo pagina &egrave; solitamente segnalata da un numero collocato all'interno del testo, numero ripreso a fondo pagina che fornisce un supplemento d'informazione.
 
In SPIP questa funzionalit&agrave; (molto pesante da gestire manualmente in HTML) &egrave; automatizzata: le note sono numerate da SPIP, che gestisce anche i link ipertestuali all'interno del documento per passare direttamente dal richiamo della nota al testo della nota corrispondente e viceversa.
 
Una nota a fondo pagina &egrave; indicata in SPIP tra doppie parentesi quadre: "<HTML><TT>Una nota[[Un'informazione aggiuntiva.]] a fondo pagina.</TT></HTML>" sar&agrave; visualizzata in questa forma: "Una nota[[Un'informazione aggiuntiva.]] a fondo pagina."
 
 
 
{Note non automatiche}
 
Nella maggior parte dei casi, il sistema di note automatiche indicato sopra &egrave; ampiamente sufficiente. Tuttavia &egrave; possibile gestire le note in maniera non automatica.
 
Per esempio:
"<HTML><TT>&Egrave; possibile utilizzare le note numerate automaticamente[[Collocando il testo della nota tra parentesi quadre.]],<BR>
- ma anche forzare la numerazione della nota[[&lt;23&gt; Indicando il numero della nota tra i simboli
"&lt;" e "&gt;".]],<BR>
- utilizzare delle note sotto forma di asterisco[[&lt;*&gt; Collocando semplicemente un asterisco tra i simboli
"&lt;" e "&gt;".]],<BR>
- costruire delle note senza riferimento (non numerate) [[&lt;&gt; Non indicando nulla tra i simboli "&lt;" et "&gt;".]],<BR>
- dare un nome (in lettere) a una nota[[&lt;Rab&gt;
Fran&ccedil;ois Rabelais.]];<BR>
- richiamare una nota gi&agrave; esistente[[&lt;23&gt;]] indicando il numero di questa nota tra i simboli
"&lt;" e "&gt;", e lasciando vuoto il resto della nota.</TT></HTML>"
 
Cos&igrave; facendo si ottiene:
 
"&Egrave; possibile utilizzare le note numerate automaticamente[[Collocando il testo della nota tra parentesi quadre.]],
- ma anche forzare la numerazione della nota[[<23> Indicando il numero della nota tra i simboli
"<" e ">".]],
- utilizzare delle note sotto forma di asterisco[[<*> Collocando semplicemente un asterisco tra i simboli
"<" e ">".]],
- costruire delle note senza riferimento (non numerate) [[<> Non indicando nulla tra i simboli "&lt;" et "&gt;".]],<BR>
- dare un nome (in lettere) a una nota[[<Rab>
Fran&ccedil;ois Rabelais.]];
- richiamare una nota gi&agrave; esistente[[<23>]] indicando il numero di questa nota tra i simboli
"<" e ">", e lasciando vuoto il resto della nota."
 
 
- {{Tabelle}}
 
Per creare delle tabelle molto semplici con SPIP, basta creare delle righe in cui le "caselle" sono separate dal simbolo "<HTML>|</HTML>&raquo (pipe, un tratto verticale), le righe iniziano e finiscono con dei tratti verticali. È indispensabile lasciare delle righe vuote prima e dopo la tabella.
 
Per esempio, la tabella:
 
 
| {{Nome}} | {{Cognome}} | {{Et&agrave;}} |
| Pinco | Pallino | 23 anni |
| Mio Capitano | | imprecisata |
| Mario | Rossi | 46 anni |
 
 
si crea utilizzando questo codice:
 
<HTML><TT>
| {{Nome}} | {{Cognome}} | {{Et&agrave;}} |<BR>
| Pinco | Pallino | 23 anni |<BR>
| Mio Capitano | | imprecisata |<BR>
| Mario | Rossi | 46 anni |<BR>
</TT></HTML>
 
 
- {{Aggirare le scorciatoie SPIP}}
 
In alcuni casi, pu&ograve; essere utile indicare a SPIP che certe parti di un documento non devono essere "trattate" dal filtro delle scorciatoie tipografiche: non si vuole correggere la formattazione, si vuole visualizzare il codice sorgente (per esempio in PHP, JavaScript ecc.).
 
Il codice di questa scorciatoia &egrave;: "<HTML><TT>&lt;HTML&gt;Testo da non trasformare: attenzione!&lt;/HTML&gt;</TT></HTML>".
 
Per esempio, questo articolo &egrave; scritto con SPIP, e visualizza il codice sorgente delle scorciatoie SPIP; se non si fosse utilizzato questo codice le scorciatoie sarebbero state interpretate, e non sarebbe stato possibile leggere il loro codice sorgente!
 
- {{Visualizzare del codice}}
 
Alcuni utenti di SPIP vogliono a volte visualizzare del codice informatico nelle loro pagine. La scorciatoia <HTML><TT>&lt;code>...&lt;/code></TT></HTML> serve a questo.
 
Esempio: <html><tt>&lt;code>&lt;?php &nbsp; &nbsp; // questo &egrave; linguaggio php<br>
echo "buongiorno";<br>
?>&lt;/code></tt></html><br>
d&agrave; come risultato
<code><?php // questo &egrave; linguaggio php
echo "buongiorno";
?></code>
 
------
 
 
</raccourcis>
 
 
<rubhier>
 
 
{{{La struttura gerarchica delle rubriche}}}
 
La struttura delle rubriche costituisce l'ossatura del sito; essa
determina l'interfaccia grafica, il modo di navigazione,
le relazioni tra articoli e brevi...
 
Per quanto riguarda SPIP, questa struttura &egrave; di tipo {gerarchico}: una
rubrica pu&ograve; contenere sottorubriche che, a loro volta,
contengono sottorubriche ecc.
 
<CENTER><IMG SRC="AIDE/rubhier-1.gif" BORDER=0 ></CENTER>
 
Nell'esempio sopra indicato, si vede come la rubrica~222
dipenda dalla rubrica~22, che ha sua volta dipende dalla
rubrica~2, che non dipende da nessun'altra rubrica
(in questo caso, la rubrica~2 si considera essere
{alla radice del sito}).
 
{Con il termine di struttura gerarchica si intende che
una rubrica pu&ograve; dipendere da una sola rubrica (e non da
diverse rubriche), e che una rubrica non pu&ograve; dipendere da una
delle sue sottorubriche (cio&egrave;, SPIP non permette le
strutture circolari). Si &egrave; scelto questo tipo di struttura, molto classico,
per la sua semplicit&agrave;
d'uso.}
 
 
{{Solo gli amministratori possono creare, modificare o cancellare le rubriche.}}
 
 
</rubhier>
 
 
<rubsyn>
 
 
{{{Siti in <em>syndication</em>}}}
 
 
I siti costruiti con l'aiuto di un sistema di pubblicazione automatica (come SPIP o phpNuke) possono facilmente creare un file che indichi permanentemente la lista delle loro ultime pubblicazioni. Esiste un particolare formato standardizzato per questo file, denominato "backend".
 
Questo file pu&ograve; essere facilmente analizzato in maniera automatica, al fine di recuperare continuamente la lista delle novit&agrave; di un altro sito. In questo modo, SPIP pu&ograve; fornire una lista di articoli presenti su altri siti.
 
Per ogni sito <a
href="aide_index.php3?aide=reference" target="_top">referenziato</a> all'interno delle rubriche, esiste quindi la possibilit&agrave; di elencarne gli ultimi articoli pubblicati, ovviamente se il sito referenziato propone un file di {backend}.
 
- {{Come trovare i file "backend.php3"?}}
 
Per i siti gestiti sotto SPIP o phpNuke, i file {backend} sono facili da localizzare: si tratta semplicemente del file posizionato alla radice del sito chiamato "backend.php3" (o eventualmente "backend.php"). Per esempio, nel caso di uZine(<TT>http://www.minirezo.net/</TT>), l'indirizzo del file di backend &egrave;:
 
<LI> <TT>http://www.minirezo.net/backend.php3</TT>
 
Altri esempi di file di backend:
 
<LI> </HTML><TT>http://www.davduf.net/backend.php</TT></HTML></LI>
<LI> </HTML><TT>http://www.vacarme.eu.org/backend.php3</TT></HTML></LI>
<LI> </HTML><TT>http://www.vakooler.com/backend.php3</TT></HTML></LI>
 
Si noti infine che {<A HREF="http://rezo.net/backend"
TARGET="autre">L'autre portail</A>} fornisce questi file per i siti referenziati anche se questi non comprendono un proprio sistema di backend. Si troveranno in questa pagina una trentina di file backend per i siti referenziati da L'autre portail, nonch&eacute; alcune raccolte tematiche di articoli.
 
- {{Aggiungere un sito in <em>syndication</em>}}
 
Quando un sito viene repertoriato all'interno di una ribrica, oltre a indicarne il nome, l'URL della sua Home page e una descrizione, &egrave; dunque possibile metterlo in <em>syndication</em>, chiedendo a SPIP di recuperarne le novit&agrave;.
 
Per far ci&ograve;, selezionare l'opzione "Syndication" e indicare l'indirizzo del file di backend del sito desiderato. Un messaggio indicher&agrave; se la <em>syndication</em> funziona correttamente.
 
Se la <em>syndication</em> fallisce:
- verificare l'URL indicata per il sito;
- verificare che tale sito sia accessibile in linea.
 
- {{Inserimento rapido in repertorio}}
 
La funzione di inserimento rapido in repertorio (basta solo indicare l'URL del sito e SPIP si incarica di recuperare le informazioni necessarie) &egrave; particolarmente adatta ai siti in <em>syndication</em>. Utilizzare in questo caso l'URL completa del file di backend.
 
- {{Articoli in <em>syndication</em>}}
 
Quando la <em>syndication</em> funziona, SPIP pubblica la lista degli ultimi articoli pubblicati dal sito referenziato. Consultate la <a
href="aide_index.php3?aide=artsyn" target="_top">pagina di aiuto</a> consacrata alla gestione di questi collegamenti.
 
- {{Il file di backend}}
 
SPIP genera automaticamente il proprio file di backend. Non si dimentichi quindi di configurare il nome e l'indirizzo del sito SPIP nell'apposita <A HREF="aide_index.php3?aide=confnom" TARGET="_top">pagina di configurazione</A>.
 
 
</rubsyn>
 
 
<rublogo>
 
 
{{{Il logo della rubrica}}}
 
<A HREF="aide_index.php3?aide=logoart" TARGET="_top"><img
src="AIDE/logoart-2.gif" alt=" " border="0"
align="right"></A>
&Egrave; possibile avere sul proprio sito un logo per ogni rubrica. Esso
pu&ograve; essere semplice (immagine fissa) oppure cambiare con il passaggio del mouse (roll-over).
 
La procedura per l'inserimento del logo della rubrica
&egrave; identica a quella del <A HREF="aide_index.php3?aide=logoart" TARGET="_top">logo dell'articolo</A>.
 
{{N.B.}} I loghi delle rubriche sono
{ricorsivi}: se nelle pagine pubbliche del sito vengono richiesti i loghi di rubrica e una qualche rubrica ne &egrave; priva, SPIP cercher&agrave; di sostituire il logo mancante con quello di una
rubrica gerarchicamente superiore.
 
<CENTER><IMG SRC="AIDE/rubhier-1.gif" BORDER=0 ></CENTER>
 
Nel percorso gerarchico sopra indicato, se non vi &egrave; un logo per la
rubrica~221, SPIP lo sostituir&agrave; (unicamente per la parte pubblica del sito)
con il logo della rubrica~22 oppure, se anche questa &egrave; priva di logo,
con quello della rubrica~2. In ultimo, SPIP mostrer&agrave; il
logo presente alla radice del sito.
 
Si tenga presente che il webmaster pu&ograve; decidere di utilizzare
il logo della rubrica come logo di
sostituzione per gli articoli all'interno della rubrica stessa.
 
</rublogo>
 
 
<rubrub>
 
 
{{{Scegliere la rubrica}}}
 
 
Il funzionamento di questo menu scorrevole &egrave; molto semplice:
esso indica l'intero percorso gerarchico delle rubriche (cos&igrave;
come sono state create dagli amministratori del sito);
basta quindi selezionare quella in cui si vuole inserire
la sottorubrica.
 
 
- {{Spostare una rubrica}}
 
<CENTER><img src="AIDE/rubrub.gif"
border="0"></CENTER>
 
Attraverso il menu scorrevole &egrave; possibile
fare dipendere la rubrica attuale da un'altra
rubrica. In tal caso, si deve tenere presente che tutte
le sottorubriche contenute nella rubrica attuale vengono
"spostate" nella gerarchia del
sito. Ci&ograve; vale anche per gli articoli contenuti
nella rubrica o nelle sottorubriche.
 
</rubrub>
 
 
<breves>
 
{{{Le brevi}}}
 
Le brevi costituiscono un modo semplice e rapido per pubblicare su SPIP. Diversamente dagli articoli, le brevi sono formate da pochissime informazioni: titolo, testo e un link ipertestuale. Pertanto le brevi sono ideali per un aggiornamento sull'attualit&agrave;, una rassegna stampa in linea ecc.
 
</breves>
 
 
<brevesrub>
 
{{{Posizionare le brevi nella struttura del sito}}}
 
Per facilitare l'uso delle brevi (e per evitare che esse diventino dei doppioni degli articoli), il loro inserimento nella gerarchia delle rubriche &egrave; ridotto allo stretto indispensabile: le brevi dipendono unicamente dalle rubriche situate alla radice del sito.
 
<CENTER><img src="AIDE/rubhier-1.gif" alt="Rubriche" border="0"></CENTER>
 
Si potr&agrave; inserire le brevi nelle rubriche 1 e 2 del nostro esempio, ma non nelle loro sottorubriche (contrariamente agli articoli che si possono mettere ovunque). Di conseguenza, la pagina delle brevi &egrave; fatta in funzione delle rubriche principali, e il men&ugrave; a discesa che permette d'indicare la posizione delle brevi &egrave; molto corto.
 
 
 
</brevesrub>
 
 
<breveslien>
 
{{{Il link ipertestuale delle brevi}}}
 
Al fine di facilitare l'uso delle brevi all'interno di una rivista on line, ogni breve pu&ograve; avere un link ipertestuale. Basta indicare il titolo del sito o dell'articolo di riferimento, e il suo indirizzo (URL).
 
Naturalmente inserire un link &egrave; opzionale.
 
{{N.B.}} Questi link non impediscono la presenza di link ipertestuali all'interno del testo della breve, ma il link ipertestuale {separato} permette al webmaster del sito di applicare un trattamento grafico specifico.
 
</breveslien>
 
 
<brevesstatut>
 
{{{Lo status della breve}}}
 
Gestire una breve &egrave; pi&ugrave; semplice che gestire gli articoli.
Una breve non ha autore. Pu&ograve; essere "Proposta", "Convalidata" o "Rifiutata". Solo gli amministartori possono modificare il suo status.
 
- {{Breve proposta}}
 
Le brevi "proposte" sono indicate nel
"Pannello di controllo": tutti i redattori possono leggerle e modificarle. Gli amministratori hanno a disposizione due pulsanti che permettono loro di convalidare o rifiutare la singola breve.
 
- {{Breve convalidata}}
 
Le brevi "convalidate" sono quelle che compaiono sul sito pubblico: solo gli amministratori possono allora modificarle.
 
- {{Breve rifiutata}}
 
Una breve "rifiutata" non compare sul sito pubblico, e i soli amministratori possono accedervi nell'area riservata.
 
 
</brevesstatut>
 
 
<breveslogo>
 
 
{{{Il logo della breve}}}
 
<img src="AIDE/logoart-2.gif" alt="Modello di logo" border="0" align="right">
Si pu&ograve; installare sul sito un logo per ogni breve. Questo logo pu&ograve; essere statico (immagine unica) oppure cambiare al passaggio del mouse (rollover).
 
L'inserimento dell'immagine per il logo della breve avviene esattamente nello stesso modo che per il <A HREF="aide_index.php3?aide=logoart" TARGET="_top">logo di un articolo</A>.
 
</breveslogo>
 
 
<suiviforum>
 
{{{La gestione dei forum}}}
 
La sezione di gestione dei forum diventa fondamentale per il sito, nel momento in cui si decide di far uso dei forum pubblici (a tale proposito si veda <A
HREF="aide_index.php3?aide=confforums" TARGET="_top">la configurazione dei forum
pubblici</A>). Essa consente la moderazione di tutti forum.
 
- {{Presentazione dei messaggi}}
 
I messaggi non vengono presentati secondo la loro struttura gerarchica (per {thread}), bens&igrave; l'uno di seguito all'altro, in ordine cronologico inverso (il pi&ugrave; recente per primo). Ciascun messaggio ha per&ograve; il nome dell'articolo cui si riferisce.
 
- {{Eliminare un messaggio}}
 
&Egrave possibile {eliminare} i contributi a un forum. {{Attenzione:}} questa operazione &egrave; irreversibile: un messaggio eliminato non pu&ograve; pi&ugrave; essere recuperato. Nonostante questo il messaggio continua a comparire nella lista dei messaggi, ma incorniciato di rosso, con la data di invio e il numero di IP del mittente.
 
- Se il forum pubblico &egrave; stato configurato per essere moderato {a priori}, i contributi in attesa di conferma sono incorniciati di giallo, e vengono proposte due opzioni: {Elimina il messaggio} e {Accetta il messaggio}.
 
 
</suiviforum>
 
 
<cookie>
 
{{{Il cookie di amministrazione}}}
 
Gli amministratori possono attivare un cookie che consente la visualizzazione di informazioni supplementari al momento della visita del sito pubblico. Tali informazioni facilitano la gestione del sito.
 
- {{Rigenera la pagina}}
 
Su tutte le pagine del sito appare l'icona "Rigenera la pagina". SPIP possiede un sistema di {cache}. Alcune modifiche possono quindi non apparire immediatamente in linea. Le pagine che appaiono sul sito pubblico infatti non sono estratte direttamente dal database, bens&igrave; generate a intervalli regolari e riposte nella cache.
 
{Rigenerando} una pagina, l'amministratore forza la visualizzazione della pagina in funzione degli elementi contenuti nel database, senza attendere l'aggiornamento automatico della cache.
 
- {{Modifica...}}
 
Le pagine degli articoli, delle rubriche e delle brevi hanno l'icona "Modifica l'articolo" (o la "rubrica" ecc.). L'icona porta direttamente dal sito pubblico alla pagina dell'area riservata corrispondente all'articolo (o alla rubrica...). Questo permette la correzione degli errori eventualmente notati in linea o l'aggiornamento di tutte le parti del sito.
 
- {{Numero di visite}}
 
Se il sistema di statistiche integrato in SPIP &egrave; attivo, le pagine degli articoli contengono le seguenti informazioni: numero di visite (stima) e numero di {links} diversi alla pagina.
I links sono i collegamenti che puntano verso questo articolo dall'esterno del sito (quando in un altro sito &egrave; presente un collegamento diretto verso la pagina, o il suo indirizzo &egrave; stato spedito via e-mail).
 
- {{Identificativo di connessione}}
 
Il cookie di amministrazione permette inoltre a SPIP di riconoscere l'utente quando si ricollega dallo stesso computer e con lo stesso programma di navigazione: basta cos&igrave; inserire la password per accedere all'area riservata.
 
(N.B. Il cookie viene eventualmente generato al primo ingresso nell'area riservata.)
 
</cookie>
 
 
<mots>
 
 
{{{Le parole chiave}}}
 
Uno dei limiti importanti di SPIP &egrave; la sua struttura gerarchica: ogni articolo non pu&ograve; che trovarsi in una sola rubrica. Ci&ograve; comporta delle difficolt&agrave; di classificazione.
Le parole chiave offrono la possibilit&agrave; di navigare trasversalmente all'interno del sito. Associando una o pi&ugrave; parole chiave ad un articolo si ha la possibilit&agrave; di creare dei link con altri articoli di argomenti simili, ma posti in altre rubriche.
 
Le parole chiave non hanno una reale importanza se non in quanto associate a pi&ugrave; articoli, al fine di collegarli tra loro.
 
{Solo gli amministratori possono creare e modificare le parole chiave.}
 
{Spesso, la struttura delle rubriche, se &egrave; ben congegnata, permette di evitare le parole chiave: gli articoli di argomento simile si trovano semplicemente nelle stesse rubriche. Diventa cos&igrave; inutile aggiungere le parole chiave per indicare l'argomento di ciascun articolo.
Gli amministratori possono allora disattivare l'uso delle parole chiave nella pagina <A HREF="aide_index.php3?aide=confart" TARGET="_top">Configurazione precisa</A>.
 
 
</mots>
 
 
<motsgroupes>
 
{{{I gruppi di parole chiave}}}
 
Quando si usano molto le parole chiave, pu&ograve; diventare difficile gestirle con rapidit&agrave;. Si possono allora creare gruppi di parole chiave. L'interfaccia diventa cos&igrave; pi&ugrave; chiara (per esempio il gruppo "Stati" raggrupper&agrave; "la Namibia", "la Germania", "il Per&ugrave;", mentre il gruppo "Argomenti" riunir&agrave; "Disoccupazione", "Poesia", "Animali" ecc.).
 
</motsgroupes>
 
 
<messut>
 
{{{I messaggi fra gli utenti}}}
 
SPIP facilita l'invio di messaggi tra utenti, senza ricorrere alle e-mail.
 
Se un messaggio &egrave; "inviato" da un utente a uno o pi&ugrave; altri utenti inizia un forum di discussione riservato. Cos&igrave;, inviato il messaggio, una discussione pu&ograve; aver luogo sotto forma di un forum posizionato sotto il testo del messaggio. In Spip, possiamo quindi considerare che un messaggio sia anche un forum (&egrave; quindi inutile inviare una moltitudine di messaggi per discutere, basta "rimanere" nello stesso messaggio con il suo corrispondente per "discutere" grazie al forum riservato associato).
 
{{N.B.}} I messaggi tra utenti e i forum a loro associati sono riservati, Spip non consente agli amministratori del sito di vedere questi messaggi. Tuttavia, si faccia attenzione al carattere molto relativo di questa riservatezza: un amministratore del sito, che possiede l'accesso al database, potr&agrave; sempre consultare i messaggi direttamente nel database.
 
- {{Creare un messaggio o una discussione}}
 
Il modo pi&ugrave; semplice per inviare un messaggio &egrave; cliccare il simbolo verde (una piccola "M" con un triangolo) che compare a lato del vostro destinatario. Un nuovo messaggio si apre direttamente.
 
Un altro modo consiste nell'usare l'icona "Nuovo messaggio" presente su ogni pagina di SPIP. Ci&ograve; crea un nuovo messaggio senza destinatario. Prima di inviare il messaggio si deve naturalmente scrivere a chi &egrave; destinato.
 
L'interfaccia di redazione dei messaggi &egrave; molto semplice.
 
Il solo errore frequente &egrave; dimenticare di "inviare" il messaggio: fintantoch&eacute; il messaggio &egrave; indicato come "in redazione", solo il suo autore pu&ograve; accedervi. Perch&eacute; lo vedano i suoi destinatari deve essere inviato (attenzione: un messaggio inviato non pu&ograve; pi&ugrave; essere modificato).
 
- {{Aggiungere o cancellare un destinatario}}
 
&Egrave; sempre possibile aggiungere un destinatario: sia durante la scrittura del messaggio, sia quando &egrave; gi&agrave; inviato (per esempio per iscrivere un nuovo pertecipante a una discussione che gli interessa).
 
Allo stesso modo, un partecipante si pu&ograve; ritirare in ogni momento. L'icona "Non partecipare pi&ugrave; a questo forum" permette infatti a ciascuno dei partecipanti di togliersi da una discussione.
 
- {{Fissare un appuntamento}}
 
Un messaggio pu&ograve; diventare un appuntamento: basta associarlo a una data e visualizzarlo nel calendario di SPIP.
 
- {{Si pu&ograve; scrivere a qualsiasi utente del sito?}}
 
A certi redattori non si pu&ograve; scrivere (non compaiono nell'elenco "Aggiungi un partecipante", e il loro nome non presenta il simbolo dei messaggistica). Sono:
- i redattori che hanno deciso di non usare la messaggistica interna;
- i redattori che non si sono connessi all'area riservata del sito da pi&ugrave; di 15 giorni (per questi utenti che si connettono poco, &egrave; meglio usare un e-mail).
 
 
</messut>
 
 
<messpense>
 
{{{I promemoria}}}
 
Un promemoria (o {memo}) &egrave; simile a un messaggio, ma non ha un destinatario. Solo il suo autore pu&ograve; accedervi.
Come indica il suo nome, un memo serve ad annotare ci&ograve; che si desidera ricordare...
 
- {{Inserire un memo nel calendario}}
 
L'uso pi&ugrave; comune di un memo &egrave; quello di associare un messaggio a un data (per esempio per ricordare una scadenza o un appuntamento). In tal caso, il memo viene segnalato al suo autore fino a quella data (e nelle 24 ore successive), e apparir&agrave; sul calendario di SPIP.
 
{{N.B.}} Cos&igrave; come per i messaggi tra utenti, si tenga presente la relativa riservatezza di questi memo. SPIP non d&agrave; la possibilit&agrave; agli amministratori del sito di vedere i messaggi; tuttavia, accedendo direttamente al database &egrave; possibile farlo...
 
</messpense>
 
 
<messcalen>
 
{{{Il calendario}}}
 
 
Il calendario di SPIP fornisce due tipi di informazioni:
 
- {{informazioni comuni a tutto il sito}}: la segnalazione degli articoli e delle brevi pubblicate (in tal modo il calendario permette di ritrovare gli articoli in funzione della loro data di pubblicazione);
 
- {{informazioni private}}: i messaggi tra gli utenti, i loro appuntamenti, gli annunci redazionali e i promemoria individuali.
 
Si noti che ogni giorno sul calendario ha un piccolo simbolo blu: esso permette di creare un promemoria direttamente associato a quel giorno (si pu&ograve; anche regolare con esattezza l'ora a cui esso si riferisce).
 
 
</messcalen>
 
 
<messconf>
 
{{{Configurazione personalizzata del sistema di messaggistica interna}}}
 
Ciascun utente del sito pu&ograve; configurare in modo personale l'uso della messaggistica interna.
 
{{N.B.}} Gli amministratori del sito possono decidere di non utilizzare la messaggistica nel sito.
 
 
- {{Non utilizzare il sistema di messaggistica interna}}
 
Se la messaggistica interna &egrave; disponibile per l'intero sito (scelta riservata agli amministratori), ciascun utente pu&ograve; decidere di non usarla (se non desidera scambiare messaggi in questo modo con gli altri utenti).
 
- {{Non utilizzare l'elenco di redattori collegati}}
 
Se questa funzione &egrave disponibile (scelta degli amministratori), e se si utilizza la messaggistica interna, un redattore pu&ograve; decidere di non comparire nell'elenco dei "redattori collegati".
 
Questa funzione visualizza costantemente l'elenco dei redattori collegati in diretta, facilitando cos&igrave; veloci scambi di opinione tra utenti. Certi utenti trovano che la funzione sia intrusiva e/o non vogliono essere "disturbati" quando si connettono. &Egrave; sufficiente disattivare l'opzione: non compariranno pi&ugrave; nell'elenco dei redattori collegati, e questo elenco non sar&agrave; pi&ugrave; visualizzato sulle pagine che visitano.
 
{{N.B.}} Anche se un amministratore si esclude dall'elenco dei redattori collegati continua a visualizzare l'elenco degli utenti collegati: egli "vede" gli altri, ma gli altri non lo "vedono".
 
</messconf>
 
 
<reference>
 
{{{Siti repertoriati}}}
 
SPIP offre un sistema per gestire un elenco di link ad altri siti. Questo sistema &egrave; molto completo e permette di:
- raggruppare tali elenchi in rubriche (nelle stesse rubriche degli articoli, o in rubriche specifiche dedicate a questo scopo, similmente a una raccolta di link);
- attribuire un logo a ogni sito;
- attribuire parole chiave per ogni sito in repertorio;
- aggiungere una descrizione personalizzata per ogni sito.
 
Inoltre, se i siti lo autorizzano, &egrave; possibile recuperare automaticamente gli ultimi articoli pubblicati (vedere <a
href="aide_index.php3?aide=rubsyn" target="_top">Siti in syndication</a>).
 
 
{{Inserire un sito in repertorio}}
 
Un pulsante "inserire in repertorio un nuovo sito" presente nella pagina di ogni rubrica permette di aggiungere un nuovo indirizzo.
 
Il metodo "tradizionale" consiste nell'indicare il nome del sito, l'URL della pagina e inserire una descrizione. &Egrave; inoltre possibile scegliere la rubrica del proprio sito nel quale inserire tale riferimento.
 
Un frame nella parte inferiore della pagina permette di gestire l'eventuale syndication del contenuto. Per maggiori informazioni sull'argomento vedere la spiegazione su <a href="aide_index.php3?aide=rubsyn" target="_top">Siti in syndication</a>. Per un inserimento semplice &egrave; sufficiente lasciare l'opzione "Nessuna syndication".
 
 
{{Inserimento rapido in repertorio}}
 
All'atto della creazione di un nuovo repertorio del sito, nella parte superiore della pagina appare un riquadro che consente l'inserimento rapido di un indirizzo, senza bisogno di indicare il titolo e la descrizione del sito corrispondente. &Egrave; sufficiente indicare l'URL della pagina da inserire in repertorio e confermare. Per quanto possibile, SPIP recuperer&agrave; automaticamente il titolo e la descrizione dall'indirizzo. Queste informazioni potranno essere modificate in un secondo tempo.
 
{{Chi pu&ograve; proporre un nuovo sito da inserire in repertorio?}}
 
Nella "Pagina di configurazione del sito", gli amministratori possono stabilire che la proposta di siti da repertoriare sia limitata ai soli amministratori oppure estesa ai redattori o ai visitatori del sito (in tal caso un form nell'area pubblica del sito permetter&agrave; ai visitatori di proporre nuovi siti).
 
In ogni caso, solo gli amministratori possono confermare le proposte da inserire in repertorio. Quando si propone un sito, tutti i partecipanti all'area riservata possono discutere, in un forum collegato a ciascun sito, se il link proposto sia pertinente o meno.
 
</reference>
 
 
<artsyn>
 
{{{Gli articoli in <em>syndication</em>}}}
 
 
Quando viene richiesta la <A HREF="aide_index.php3?aide=rubsyn" TARGET="_top">syndication di un sito</a>, SPIP pubblica la lista degli ultimi articoli pubblicati su questo sito, sotto la dicitura "Articoli in syndication tratti da...".
Per ogni articolo SPIP indica:
- il titolo dell'articolo (basta ciccare sul titolo per accedere all'articolo direttamente sul sito di origine);
- eventualmente l'autore dell'articolo;
- eventualmente una descrizione dell'articolo.
 
Queste informazioni, prelevate direttamente dal sito di riferimento, non possono essere modificate. In pi&ugrave;, per ogni articolo, un bottone "blocca questo collegamento" permette di interromperne la pubblicazione sul sito (perch&eacute; un articolo non &egrave; convincente, perch&eacute; un errore rende il collegamento malfunzionante...). Si potr&agrave; in ogni momento ristabilire la pubblicazione dell'articolo sul sito.
È anche possibile chiedere che ogni collegamento futuro proveniente da un determinato sito sia bloccato a priori. Il singolo articolo da citare verr&agrave; cos&igrave; pubblicato solo quando sar&agrave; stato convalidato manualmente.
 
 
</artsyn>
 
 
<confhttpproxy>
 
{{{Utilizzare un proxy HTTP}}}
 
Se il proprio sito &egrave; protetto da un {{firewall}}, pu&ograve;
essere necessario configurare un proxy HTTP per andare a cercare
su Internet le novit&agrave; dei siti in syndication.
 
Il proxy deve autorizzare le connessioni verso l'esterno
senza richiedere un'autenticazione.
 
Nella configurazione del sito (sezione
"funzionalit&agrave; di SPIP"), &egrave; necessario indicare il proxy
in questo modo:
 
<code>http://nomeproxy:porta/</code>
 
dove {nomeproxy} &egrave; il nome del server che agisce da proxy, e
{porta} &egrave; il numero di porta TCP (spesso 3128, 8080 oppure 80)
sulla quale inviare la richiesta d'accesso.
 
Attenzione: tale configurazione agisce a livello globale: SPIP cercher&agrave; tutti i siti in
syndication attraverso questo proxy. Se si ha bisogno di configurazioni
pi&ugrave; sofisticate &egrave; necessario rivolgersi al proprio amministratore
di rete.
 
</confhttpproxy>
 
 
<deconnect>
 
{{{Disconnettersi}}}
 
L'icona "Esci" annulla la connessione all'area riservata del sito. Se si effettua questa operazione i dati per la connessione all'area riservata del sito vengono "dimenticati" dal sistema. SPIP propone o di inserire nuovamente i dati o di ritornare al sito pubblico.
 
{Lo scopo principale di questa funzione &eacute di impedire che una persona che utilizzi lo stesso computer di un'altra, possa accedere allo spazio riservato del sito usando il suo ID.}
 
- {{Se ci si connettete da casa e si &egrave; i soli a usare il computer}}
 
In tal caso, il fatto di disconnettersi in questo modo dall'area riservata del sito pu&ograve; sembrare superfluo. L'operazione di disconnettersi &egrave; evidentemente consigliata ma, se non lo si fa, non &egrave; cos&igrave; grave.
 
- {{Se ci si connettete all'area riservata del sito da un computer di uso comune}} (al lavoro, in un punto internet...)
 
In tal caso &egrave; vivamente consigliato di uscire, a lavoro terminato, utilizzando la procedura di disconnessione. Essa assicura che nessun possa accedere all'area riservata utilizzando l'ID di un'altro utente.
 
- {{Uso di pi&ugrave; identificativi sulla stesso sito}}
 
Pu&ograve; essere necessario connettersi all'area privata usando pi&ugrave; identit&agrave;. In tal caso, dopo essere usciti con questa funzione, si pu&ograve; subito accedere con un altro ID.
 
</deconnect>
 
 
<spip>
 
</spip>
/trunk/actu/ecrire/AIDE/vi/aide
New file
0,0 → 1,1416
<erreur_MySQL>
{{{V&#7845;n &#273;&#7873; v&#7899;i khu&#244;n m&#7851;u}}}
Khi SPIP g&#7863;p ph&#7843;i v&#7845;n &#273;&#7873; trong khi n&#243;i chuy&#7879;n v&#7899;i MySQL database, n&#243; s&#7869; hi&#7875;n th&#7883; tr&#234;n m&#224;n &#7843;nh c&#226;u h&#7887;i b&#7883; tr&#7903; ng&#7841;i c&#361;ng nh&#432; l&#7901;i nh&#7855;n l&#7895;i c&#7911;a database (m&#224;u &#273;&#7887;).
L&#7895;i c&#243; th&#7875; &#273;&#7871;n t&#7915;:
- ho&#7863;c l&#224; l&#7895;i trong b&#7843;n &#273;&#7883;nh ngh&#297;a c&#7911;a khu&#244;n m&#7851;u, n&#7871;u b&#7841;n &#273;ang trong quy tr&#236;nh s&#7917;a &#273;&#7893;i.
- ho&#7863;c l&#224; l&#7895;i c&#7911;a database.
L&#7845;y th&#237; d&#7909;, l&#7901;i nh&#7855;n trong d&#7841;ng <font color='red'><b>
_ <code>> Unknown column 'articles.chapi' in 'where clause'</code></b></font> indicates that the loop calls a selection criteria (<code>chapi</code>) which is not accounted for.
Trong khi &#273;&#243;, l&#7901;i nh&#7855;n trong d&#7841;ng <font color='red'><b>
_ <code>> Can't open file: 'spip_articles.MYD'</code></b></font> indicates a serious problem in the MySQL database itself : you should then, ask your host to verify his installation and/or repair your database. If you have a recent version of MySQL (3.23.14 at least), you can also try <a href="admin_repair.php3" target="_blank">an automatic repair of the database</a>.
</erreur_mysql>
<ftp_auth>
{{{X&#225;c nh&#7853;n d&#249;ng FTP}}}
M&#7897;t s&#7889; ch&#7913;c n&#259;ng c&#7911;a SPIP &#7843;nh h&#432;&#7903;ng tr&#7921;c ti&#7871;p l&#234;n c&#7845;u tr&#250;c v&#224; n&#7897;i dung c&#7911;a database (&#273;&#7863;c bi&#7879;t: c&#7853;p nh&#7853;t, d&#7921; tr&#7919;, ph&#7909;c h&#7891;i database...) Nh&#7919;ng &#273;&#7863;c &#273;i&#7875;m n&#224;y c&#7847;n m&#7897;t th&#7875; th&#7913;c x&#225;c nh&#7853;n d&#249;ng FTP &#273;&#7875; gi&#7899;i h&#7841;n vi&#7879;c s&#7917; d&#7909;ng ch&#250;ng &#273;&#7889;i v&#7899;i m&#7897;t s&#7889; ng&#432;&#7901;i d&#249;ng &#273;&#432;&#7907;c ph&#233;p v&#224;o website b&#7857;ng FTP (m&#7897;t c&#225;ch t&#7893;ng qu&#225;t h&#417;n, n&#7871;u website c&#243; nhi&#7873;u qu&#7843;n tr&#7883; vi&#234;n SPIP th&#236; quy&#7873;n ra/v&#224;o FTP gi&#7899;i h&#7841;n &#7903; ng&#432;&#7901;i webmaster).
&#272;&#7875; d&#249;ng nh&#7919;ng &#273;&#7863;c &#273;i&#7875;m n&#224;y, b&#7841;n ph&#7843;i c&#249;ng l&#250;c:
<UL>
<LI>n&#7889;i v&#224;o trang web v&#7899;i browser; khi b&#7855;t &#273;&#7847;u b&#432;&#7899;c n&#224;y, SPIP s&#7869; cho bi&#7871;t t&#234;n trong d&#7841;ng "admin_{xxxxx}, b&#7841;n c&#7847;n ghi xu&#7889;ng;</LI>
<LI>n&#7889;i v&#224;o server c&#7911;a website b&#7857;ng FTP; trong ng&#259;n <TT>/ecrire/data</TT>, l&#7853;p ra m&#7897;t h&#7891; s&#417; (hay m&#7897;t ng&#259;n tr&#7889;ng) v&#224; &#273;&#7863;t t&#234;n cho n&#243; l&#224; "admin_{xxxxx}:</LI>
<LI>Sau khi l&#7853;p ra h&#7891; s&#417; hay ng&#259;n &#273;&#243; r&#7891;i, tr&#7903; l&#7841;i browser v&#224; n&#7841;p l&#7841;i trang. B&#432;&#7899;c n&#224;y k&#7871;t th&#250;c th&#7875; th&#7913;c x&#225;c nh&#7853;n FTP v&#224; b&#7855;t &#273;&#7847;u c&#244;ng vi&#7879;c.</LI>
</UL>
</ftp_auth>
<artauteurs>
{{{T&#225;c gi&#7843;}}}
Khi m&#7897;t qu&#7843;n tr&#7883; vi&#234;n hay m&#7897;t ch&#7911; b&#250;t vi&#7871;t/so&#7841;n m&#7897;t b&#224;i, ng&#432;&#7901;i &#273;&#243; &#273;&#432;&#7907;c &#273;&#432;&#417;ng nhi&#234;n coi l&#224; t&#225;c gi&#7843; c&#7911;a b&#224;i vi&#7871;t &#273;&#243;. C&#243; nhi&#7873;u tr&#432;&#7901;ng h&#7907;p, t&#225;c gi&#7843; b&#224;i vi&#7871;t &#273;&#432;&#7907;c thay &#273;&#7893;i (khi c&#243; nhi&#7873;u ng&#432;&#7901;i s&#7917;a &#273;&#7893;i, v.v..)
- {{Th&#234;m m&#7897;t t&#225;c gi&#7843;}}
C&#243; m&#7897;t khung th&#242;ng li&#7879;t k&#234; t&#7845;t c&#7843; nh&#7919;ng ch&#7911; b&#250;t. Ch&#7885;n t&#234;n ng&#432;&#7901;i b&#7841;n mu&#7889;n &#273;&#7875; tr&#7903; th&#224;nh m&#7897;t t&#225;c gi&#7843; n&#7919;a c&#7911;a b&#224;i vi&#7871;t.
{N&#7871;u c&#243; h&#417;n 50 ch&#7911; b&#250;t, khung th&#242;ng r&#7845;t b&#7845;t ti&#7879;n &#273;&#7875; li&#7879;t k&#234; t&#7845;t c&#7843; (h&#7879; th&#7889;ng b&#7883; ch&#7853;m l&#7841;i); trong tr&#432;&#7901;ng h&#7907;p n&#224;y, thay v&#236; khung th&#242;ng s&#7869; c&#243; m&#7897;t khung t&#236;m ki&#7871;m: b&#7841;n &#273;&#225;nh t&#234;n c&#7911;a t&#225;c gi&#7843; mu&#7889;n th&#234;m v&#224; b&#7845;m n&#250;t "T&#236;m". N&#7871;u k&#7871;t qu&#7843; t&#236;m c&#243; hai ng&#432;&#7901;i tr&#7903; l&#234;n, h&#7879; th&#7889;ng s&#7869; &#273;&#7875; cho b&#7841;n ch&#7885;n.}
- {{Lo&#7841;i b&#7887; t&#225;c gi&#7843;}}
B&#234;n c&#7841;nh t&#234;n c&#7911;a t&#225;c gi&#7843; c&#243; m&#7879;nh l&#7879;nh "Lo&#7841;i b&#7887; t&#225;c gi&#7843;" &#273;&#7875; b&#7841;n d&#249;ng x&#243;a t&#234;n t&#225;c gi&#7843; &#273;&#243;.
{T&#234;n t&#225;c gi&#7843; b&#7883; x&#243;a ra kh&#7887;i b&#224;i vi&#7871;t &#273;&#243; m&#224; th&#244;i; ng&#432;&#7901;i t&#225;c gi&#7843; n&#224;y v&#7851;n c&#243; trong danh s&#225;ch c&#225;c ch&#7911; b&#250;t.}
- {{Thay th&#7871; t&#225;c gi&#7843;}}
Th&#7921;c hi&#7879;n vi&#7879;c n&#224;y b&#7857;ng 2 b&#432;&#7899;c: th&#234;m t&#234;n m&#7897;t t&#225;c gi&#7843; m&#7899;i, v&#224; lo&#7841;i b&#7887; t&#234;n ng&#432;&#7901;i kia (xem ch&#7881; d&#7851;n b&#234;n tr&#234;n).
- C&#7847;n nh&#7845;n m&#7841;nh l&#224; qu&#7843;n tr&#7883; vi&#234;n c&#243; nhi&#7873;u quy&#7873;n h&#7841;n h&#417;n ch&#7911; b&#250;t trong vi&#7879;c qu&#7843;n tr&#7883; danh s&#225;ch c&#225;c t&#225;c gi&#7843;. Ch&#7911; b&#250;t kh&#244;ng th&#7875; t&#7921; lo&#7841;i b&#7887; t&#234;n m&#236;nh ra kh&#7887;i m&#7897;t b&#224;i vi&#7871;t c&#7911;a ch&#237;nh m&#236;nh. N&#7871;u mu&#7889;n &#273;&#259;ng t&#7843;i m&#7897;t b&#224;i vi&#7871;t &#7849;n danh (kh&#244;ng c&#243; t&#225;c gi&#7843;), ph&#7843;i y&#234;u c&#7847;u qu&#7843;n tr&#7883; vi&#234;n &#273;&#7875; l&#224;m d&#249;m.
</artauteurs>
<artchap>
{{{D&#7851;n nh&#7853;p}}}
T&#243;m l&#432;&#7907;c l&#224; m&#7897;t &#273;o&#7841;n v&#259;n ng&#7855;n &#273;&#7875; d&#7851;n ng&#432;&#7901;i &#273;&#7885;c v&#224;o ph&#7847;n ch&#225;nh c&#7911;a b&#224;i vi&#7871;t. Ph&#7847;n n&#224;y kh&#244;ng b&#7855;t bu&#7897;c ph&#7843;i c&#243;.
Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; v&#224;o trong ph&#7847;n <A HREF="aide_index.php3?aide=confart" TARGET="_top">">C&#7845;u h&#236;nh website; &#272;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n </A>, t&#7855;t kh&#244;ng cho s&#7917; d&#7909;ng ph&#7847;n n&#224;y.
</artchap>
<artvirt>
{{{B&#224;i &#7842;o (B&#224;i n&#7889;i k&#7871;t)}}}
Ch&#7885;n l&#7921;a n&#224;y cho ph&#233;p b&#7841;n l&#7853;p ra m&#7897;t &laquo;B&#224;i &#7842;o&raquo;: &#273;&#226;y l&#224; b&#224;i c&#243; t&#7921;a &#273;&#7873;, ng&#224;y th&#225;ng, t&#225;c gi&#7843;, tuy nhi&#234;n l&#7841;i ch&#297;a sang m&#7897;t ch&#7895; kh&#225;c (URL).
&#272;&#7863;c &#273;i&#7875;m n&#224;y cho ph&#233;p b&#7841;n n&#7889;i k&#7871;t qua c&#225;c b&#224;i vi&#7871;t kh&#244;ng do SPIP l&#7853;p ra (l&#7845;y th&#237; d&#7909;, n&#7871;u b&#7841;n mu&#7889;n h&#7897;i nh&#7853;p v&#224;o c&#225;c b&#224;i l&#7853;p ra tr&#432;&#7899;c khi thi&#7871;t tr&#237; SPIP).
&#272;&#7875; cho bi&#7871;t b&#224;i n&#224;y l&#224; m&#7897;t &laquo;B&#224;i &#7842;o&raquo; b&#7841;n ch&#7881; c&#7847;n &#273;&#225;nh v&#224;o URL c&#7911;a b&#224;i th&#7853;t s&#7921; trong khung c&#243; s&#7861;n.
&#272;&#7875; x&#243;a b&#7887; &#273;i&#7875;m n&#7889;i n&#224;y, b&#7841;n ch&#7881; c&#7847;n &laquo;x&#243;a s&#7841;ch&raquo; khung chuy&#7875;n h&#432;&#7899;ng (x&#243;a URL c&#7911;a b&#224;i th&#7853;t s&#7921;).
</artvirt>
<artdate>
{{{Ng&#224;y &#273;&#259;ng t&#7843;i online}}}
M&#7897;t c&#225;ch t&#7893;ng qu&#225;t, {ng&#224;y} c&#7911;a b&#224;i vi&#7871;t t&#432;&#417;ng &#7913;ng v&#7899;i ng&#224;y b&#224;i n&#224;y &#273;&#432;&#7907;c &#273;&#259;ng t&#7843;i v&#224; xu&#7845;t hi&#7879;n online tr&#234;n website.
- Ng&#224;y n&#224;y &#273;&#432;&#7907;c t&#7921; &#273;&#7897;ng &#7845;n &#273;&#7883;nh v&#224;o th&#7901;i &#273;i&#7875;m khi qu&#7843;n tr&#7883; vi&#234;n {ch&#7845;p thu&#7853;n} cho &#273;&#259;ng b&#224;i.
- Tuy th&#7871;, sau khi ch&#7845;p thu&#7853;n cho &#273;&#259;ng r&#7891;i, qu&#7843;n tr&#7883; vi&#234;n v&#7851;n c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh ng&#224;y n&#224;y.
</artdate>
<artdate_redac>
{{{Ng&#224;y &#273;&#259;ng t&#7843;i tr&#432;&#7899;c &#273;&#243; }}}
&#272;&#7863;c &#273;i&#7875;m n&#224;y d&#249;ng trong m&#7897;t s&#7889; tr&#432;&#7901;ng h&#7907;p r&#7845;t &#273;&#7863;c th&#249;, l&#224; khi d&#249;ng SPIP &#273;&#7875; thi&#7871;t tr&#237; c&#225;c kho d&#7919; ki&#7879;n c&#361; v&#224; c&#225;c kho d&#7919; ki&#7879;n n&#224;y ph&#7843;i c&#243; ng&#224;y &#273;&#259;ng t&#7843;i kh&#225;c v&#7899;i ng&#224;y cho online.
&#272;&#226;y l&#224; tr&#432;&#7901;ng h&#7907;p d&#249;ng &#273;&#7875; cho bi&#7871;t l&#224; t&#224;i li&#7879;u &#273;&#227; t&#7915;ng &#273;&#432;&#7907;c xu&#7845;t b&#7843;n tr&#432;&#7899;c &#273;&#243;.
- theo quy &#273;&#7883;nh c&#243; s&#7861;n, ng&#224;y n&#224;y kh&#244;ng hi&#7879;n ra: h&#224;ng "D&#7845;u ng&#224;y &#273;&#259;ng t&#7843;i tr&#432;&#7899;c &#273;&#243;" &#273;&#432;&#7907;c ch&#7885;n khi so&#7841;n b&#224;i.
- N&#7871;u b&#7841;n mu&#7889;n cho bi&#7871;t ng&#224;y, ph&#7843;i ch&#7885;n "Cho xem ng&#224;y &#273;&#259;ng t&#7843;i tr&#432;&#7899;c &#273;&#243;", c&#361;ng nh&#432; d&#249;ng m&#7879;nh &#273;&#417;n r&#7911; xu&#7889;ng &#273;&#7875; l&#224;m.
Kh&#244;ng gi&#7889;ng nh&#432; "ng&#224;y &#273;&#259;ng t&#7843;i" c&#7911;a b&#224;i v&#7903;, ng&#224;y n&#224;y kh&#244;ng &#273;&#432;&#417;ng nhi&#234;n &#273;&#432;&#7907;c x&#225;c &#273;&#7883;nh v&#224;o l&#250;c b&#224;i &#273;&#432;&#7907;c ch&#7845;p thu&#7853;n. &#272;&#243; l&#224; t&#7841;i sao n&#243; c&#243; th&#7875; &#273;&#432;&#7907;c s&#7917;a &#273;&#7893;i b&#7845;t c&#7913; l&#250;c n&#224;o.
{Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; t&#7855;t, kh&#244;ng cho s&#7917; d&#7909;ng &#273;&#7863;c t&#237;nh "ng&#224;y &#273;&#259;ng t&#7843;i tr&#432;&#7899;c &#273;&#243;" trong &#273;&#7873; m&#7909;c"<A HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n</A>".}
</artdate_redac>
<artdesc>
{{{T&#243;m l&#432;&#7907;c}}}
{T&#243;m l&#432;&#7907;c} d&#249;ng v&#224;o m&#7909;c ti&#234;u di chuy&#7875;n trong website: n&#243; cho bi&#7871;t ng&#7855;n g&#7885;n n&#7897;i dung c&#7911;a b&#224;i v&#7903;.
Ph&#7847;n t&#243;m l&#432;&#7907;c n&#224;y kh&#244;ng b&#7855;t bu&#7897;c v&#224; &#273;&#7897; d&#224;i t&#249;y &#253;. Tuy nhi&#234;n, ph&#7847;n n&#224;y nguy&#234;n th&#7911;y l&#224; cho m&#7897;t &#273;o&#7841;n v&#259;n ng&#7855;n (m&#7897;t hay hai c&#226;u), v&#224; n&#243; s&#7869; hi&#7879;n ra trong danh s&#225;ch c&#7911;a b&#224;i v&#7903; (m&#7909;c l&#7909;c, danh s&#225;ch b&#224;i v&#7903; c&#7911;a m&#7897;t t&#225;c gi&#7843;, s&#7855;p x&#7871;p b&#224;i theo t&#7915; then ch&#7889;t, k&#7871;t qu&#7843; t&#236;m ki&#7871;m, v.v...)
{Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; kh&#243;a &#273;&#7863;c &#273;i&#7875;m n&#224;y trong &#273;&#7873; m&#7909;c "<A HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n </A>".}
</artdesc>
<ins_img>
{{{Nh&#233;t h&#236;nh v&#224;o trong th&#226;n b&#224;i}}}
SPIP cho ph&#233;p b&#7841;n minh h&#7885;a b&#224;i v&#7903; v&#224; tin t&#7913;c v&#7899;i h&#236;nh &#7843;nh. Vi&#7879;c n&#224;y &#273;&#432;&#7907;c th&#7921;c hi&#7879;n trong 2 b&#432;&#7899;c: chuy&#7875;n t&#7843;i h&#7891; s&#417; h&#236;nh l&#234;n website, r&#7891;i nh&#233;t h&#236;nh v&#224;o b&#234;n trong b&#224;i.
------
Chu&#7849;n b&#7883;: {{D&#7841;ng h&#236;nh}}
Khi b&#7841;n so&#7841;n/v&#7869; h&#236;nh, b&#7841;n ph&#7843;i l&#432;u tr&#7919; b&#7857;ng m&#7897;t trong nh&#7919;ng d&#7841;ng sau &#273;&#226;y:
- GIF; (&#273;u&#244;i t&#234;n {{.gif}})
- JPEG; (&#273;u&#244;i t&#234;n {{.jpg}})
- PNG (&#273;u&#244;i t&#234;n {{.png}}).
B&#7841;n n&#234;n &#273;&#7875; &#253; t&#234;n h&#7891; s&#417; ph&#7843;i c&#243; ph&#7847;n &#273;u&#244;i cho bi&#7871;t d&#7841;ng h&#236;nh: {{.gif}}, {{.jpg}} ho&#7863;c {{.png}}. N&#7871;u b&#7841;n d&#249;ng h&#236;nh m&#224; t&#234;n h&#7891; s&#417; kh&#244;ng c&#243; ph&#7847;n &#273;u&#244;i, h&#7879; th&#7889;ng s&#7869; kh&#244;ng s&#7917; d&#7909;ng &#273;&#432;&#7907;c.
------
B&#432;&#7899;c 1: {{&#272;em h&#236;nh l&#234;n server}}
<img src="AIDE/ins_img1.gif" alt=" "
border="0" align="right">Tr&#432;&#7899;c khi nh&#233;t h&#236;nh v&#224;o trong b&#224;i, b&#7841;n ph&#7843;i &#273;em h&#236;nh l&#234;n server. B&#7841;n l&#224;m vi&#7879;c nay qua giao di&#7879;n &#273;&#7891; h&#7885;a c&#7911;a SPIP.
Khi b&#7841;n "s&#7917;a &#273;&#7893;i" m&#7897;t b&#224;i vi&#7871;t hay m&#7897;t tin ng&#7855;n, c&#7897;t b&#234;n tr&#225;i c&#243; m&#7897;t m&#7851;u phi&#7871;u c&#243; t&#234;n: "Th&#234;m h&#236;nh". M&#7851;u phi&#7871;u n&#224;y c&#243; m&#7897;t {khung ch&#7919;} v&#224; k&#7871; ti&#7871;p l&#224; m&#7897;t n&#250;t nh&#7845;n c&#243; t&#7921;a (t&#249;y theo &#7845;n b&#7843;n browser b&#7841;n &#273;ang d&#249;ng) "Browse", "Select", "File", ....
Khi b&#7845;m v&#224;o n&#250;t n&#224;y, m&#7897;t khung &#273;&#7889;i tho&#7841;i m&#7903; ra cho ph&#233;p b&#7841;n t&#236;m trong d&#297;a c&#7913;ng h&#7891; s&#417; h&#236;nh b&#7841;n mu&#7889;n.
Sau khi t&#236;m ra &#273;&#432;&#7907;c h&#7891; s&#417; h&#236;nh r&#7891;i, b&#7845;m v&#224;o n&#250;t "Upload".
N&#7871;u b&#432;&#7899;c n&#224;y ho&#224;n t&#7845;t, h&#236;nh b&#7841;n mu&#7889;n s&#7869; hi&#7879;n ra &#7903; c&#7897;t b&#234;n tr&#225;i ...
-------
B&#432;&#7899;c 2: {{d&#7919; ki&#7879;n li&#234;n h&#7879; &#273;&#7871;n h&#236;nh &#7843;nh}}
<img src="AIDE/ins_img2.gif" alt=" "
border="0" align="right">Khi h&#236;nh &#273;&#227; &#273;&#432;&#7907;c chuy&#7875;n l&#234;n server, b&#234;n tr&#225;i c&#7911;a m&#224;n &#7843;nh s&#7869; c&#243; m&#7897;t khung d&#7919; ki&#7879;n ch&#7913;a &#273;&#7921;ng nh&#7919;ng chi ti&#7871;t li&#234;n h&#7879; &#273;&#7871;n h&#236;nh &#273;&#243; (m&#7897;t s&#7889; chi ti&#7871;t &#273;&#432;&#7907;c d&#7845;u &#273;i, b&#7845;m v&#224;o h&#236;nh tam gi&#225;c nh&#7887; &#273;&#7875; "m&#7903; r&#7897;ng" khung d&#7919; ki&#7879;n).
- {k&#237;ch th&#432;&#7899;c h&#236;nh.} K&#237;ch th&#432;&#7899;c ngang v&#224; d&#7885;c (s&#7889; ch&#7845;m) c&#7911;a h&#236;nh &#273;&#432;&#7907;c cho bi&#7871;t b&#234;n tr&#234;n c&#7911;a h&#236;nh.
- {h&#236;nh m&#7851;u nh&#7887;}. H&#236;nh m&#7851;u nh&#7887; &#273;&#7875; xem tr&#432;&#7899;c. N&#7871;u h&#236;nh qu&#225; l&#7899;n (b&#7873; ngang h&#417;n 200 ch&#7845;m), m&#7897;t h&#236;nh m&#7851;u nh&#7887; s&#7869; &#273;&#432;&#7907;c hi&#7875;n th&#7883; thay th&#7871;.
- {L&#7889;i t&#7855;t}. xem d&#432;&#7899;i &#273;&#226;y: SPIP s&#7869; nh&#7855;c b&#7841;n 3 "l&#7889;i vi&#7871;t t&#7855;t" &#273;&#7875; nh&#233;t h&#236;nh v&#224;o trong th&#226;n b&#224;i. C&#7847;n l&#432;u &#253; l&#224; m&#7895;i h&#236;nh &#273;&#7873;u c&#243; m&#227; s&#7889;: IMG1, IMG2, v.v... Nh&#7919;ng "l&#7889;i vi&#7871;t t&#7855;t" n&#224;y d&#249;ng trong b&#432;&#7899;c th&#7913; ba.
- {T&#7921;a h&#236;nh v&#224; ghi ch&#250;}. N&#7871;u mu&#7889;n, b&#7841;n c&#243; th&#7875; &#273;&#7863;t cho m&#7895;i h&#236;nh m&#7897;t t&#7921;a &#273;&#7873; v&#224; ghi ch&#250; nh&#432;: di&#7877;n gi&#7843;i, t&#234;n ng&#432;&#7901;i ch&#7909;p, b&#7843;n quy&#7873;n ...
- {X&#243;a h&#236;nh}. N&#250;t b&#7845;m "X&#243;a h&#236;nh n&#224;y" &#273;&#7875; x&#243;a h&#236;nh. N&#7871;u b&#7841;n chuy&#7875;n tr&#7853;t h&#236;nh l&#234;n web, hay b&#7841;n &#273;&#7893;i &#253; kh&#244;ng mu&#7889;n d&#249;ng h&#236;nh n&#224;o &#273;&#243; th&#236; x&#243;a n&#243; &#273;i. N&#7871;u c&#243; nh&#7919;ng t&#7845;m h&#236;nh kh&#244;ng d&#249;ng th&#236; n&#234;n x&#243;a &#273;i &#273;&#7875; tr&#225;nh l&#224;m ngh&#7865;t server.
B&#7841;n c&#243; th&#7875; th&#7921;c hi&#7879;n b&#432;&#7899;c th&#7913; 2 n&#224;y nhi&#7873;u l&#7847;n &#273;&#7875; chuy&#7875;n nhi&#7873;u h&#236;nh l&#234;n theo &#253; mu&#7889;n (m&#7897;t b&#224;i vi&#7871;t hay m&#7897;t tin ng&#7855;n c&#243; th&#7875; ch&#7913;a nhi&#7873;u h&#236;nh).
-------
B&#432;&#7899;c 3: {{Nh&#233;t h&#236;nh v&#224;o b&#234;n trong th&#226;n b&#224;i}}
T&#7899;i b&#432;&#7899;c n&#224;y h&#236;nh &#273;&#227; &#273;&#432;&#7907;c &#273;em l&#234;n v&#224; l&#432;u tr&#7919; tr&#234;n server r&#7891;i, b&#7841;n ch&#7881; c&#7847;n cho bi&#7871;t h&#236;nh n&#224;y n&#7857;m &#273;&#226;u trong th&#226;n b&#224;i. B&#7841;n kh&#244;ng c&#7847;n vi&#7871;t k&#253; hi&#7879;u HTML l&#224;m chi, SPIP cho ph&#233;p c&#225;ch "vi&#7871;t t&#7855;t" &#273;&#7875; &#273;&#7863;t h&#236;nh v&#224;o trong b&#224;i m&#7897;t c&#225;ch d&#7877; d&#224;ng.
- {H&#236;nh kh&#244;ng c&#243; ph&#7909; ch&#250;}
Cho m&#7895;i h&#236;nh, c&#243; 3 l&#7889;i vi&#7871;t t&#7855;t sau (v&#224; &#253; ngh&#297;a c&#7911;a ch&#250;ng):
- &lt;IMG1|left&gt; : h&#236;nh &#273;&#432;&#7907;c s&#7855;p s&#225;t b&#234;n tr&#225;i
- &lt;IMG1|center&gt; : h&#236;nh &#273;&#432;&#7907;c s&#7855;p ngay gi&#7919;a
- &lt;IMG1|right&gt; : h&#236;nh &#273;&#432;&#7907;c s&#7855;p s&#225;t b&#234;n ph&#7843;i
B&#7841;n ch&#7881; c&#7847;n &#273;&#225;nh m&#225;y (ho&#7863;c sao/d&#225;n) m&#7897;t trong c&#225;c ch&#7885;n l&#7921;a tr&#234;n v&#224;o trong th&#226;n b&#224;i, ngay ch&#7895; n&#224;o b&#7841;n mu&#7889;n h&#236;nh hi&#7879;n ra. H&#236;nh th&#7913; nh&#7845;t c&#243; k&#253; hi&#7879;u IMG1, h&#236;nh th&#7913; hai c&#243; k&#253; hi&#7879;u IMG2, v.v....
Khi trang &#273;&#432;&#7907;c hi&#7875;n th&#7883; th&#7853;t s&#7921;, SIP s&#7869; thay th&#7871; c&#225;c ch&#7895; "vi&#7871;t t&#7855;t" n&#224;y b&#7857;ng k&#253; hi&#7879;u HTML t&#432;&#417;ng &#7913;ng &#273;&#7875; h&#236;nh hi&#7879;n ra m&#7897;t c&#225;ch th&#237;ch h&#7907;p.
- {H&#236;nh c&#243; t&#7921;a &#273;&#7873; v&#224; ghi ch&#250;}
N&#7871;u b&#7841;n c&#243; ghi th&#234;m t&#7921;a &#273;&#7873; v&#224;/hay ghi ch&#250;, k&#253; hi&#7879;u &lt;img...&gt; &#273;&#432;&#7907;c thay b&#7857;ng:
- &lt;doc1|left&gt;
- &lt;doc1|center&gt;
- &lt;doc1|right&gt;
C&#225;c l&#7889;i vi&#7871;t t&#7855;t n&#224;y &#273;&#432;&#7907;c s&#7917; d&#7909;ng y h&#7879;t nh&#432; &#273;&#227; c&#7855;t ngh&#297;a b&#234;n tr&#234;n. &#272;i&#7875;m kh&#225;c bi&#7879;t l&#224; khi hi&#7879;n ra tr&#234;n trang web th&#7853;t s&#7921;, ngo&#224;i h&#236;nh ra c&#242;n c&#243; t&#7921;a &#273;&#7873; v&#224;/ho&#7863;c ghi ch&#250; m&#224; b&#7841;n &#273;&#227; cho v&#224;o.
</ins_img>
<ins_doc>
{{{&#272;&#237;nh k&#232;m c&#225;c t&#224;i li&#7879;u multimedia}}}
SPIP cho ph&#233;p b&#7841;n s&#7917; d&#7909;ng c&#225;c t&#224;i li&#7879;u multimedia (&#226;m thanh, phim &#7843;nh, v&#259;n b&#7843;n, ...) trong website.
Ch&#7911; b&#250;t c&#243; th&#7875; &#273;&#237;nh k&#232;m c&#225;c t&#224;i li&#7879;u n&#224;y trong b&#224;i vi&#7871;t. C&#225;c t&#224;i li&#7879;u n&#224;y c&#243; th&#7875; n&#7857;m ph&#237;a d&#432;&#7899;i th&#226;n b&#224;i (nh&#432; l&#224; &laquo;&#273;&#237;nh k&#232;m&raquo;) hay &#7903; b&#234;n trong th&#226;n b&#224;i trong d&#7841;ng h&#236;nh m&#7851;u xem tr&#432;&#7899;c.
Qu&#7843;n tr&#7883; vi&#234;n c&#361;ng c&#243; th&#7875; c&#224;i &#273;&#7863;t c&#225;c t&#224;i li&#7879;u n&#224;y tr&#7921;c ti&#7871;p v&#224;o trong c&#225;c &#273;&#7873; m&#7909;c.
B&#7841;n c&#7847;n l&#432;u &#253; s&#7921; kh&#225;c bi&#7879;t gi&#7919;a hai c&#225;ch s&#7917; d&#7909;ng b&#234;n tr&#234;n: n&#7871;u &#273;&#237;nh k&#232;m v&#7899;i m&#7897;t b&#224;i vi&#7871;t, th&#236; t&#224;i li&#7879;u &#273;&#237;nh k&#232;m ph&#7909; thu&#7897;c v&#224;o b&#224;i vi&#7871;t &#273;&#243;. Kh&#244;ng c&#243; b&#224;i vi&#7871;t &#273;&#243; l&#224; kh&#244;ng xem &#273;&#432;&#7907;c t&#224;i li&#7879;u &#273;&#237;nh k&#232;m. Trong khi &#273;&#243; n&#7871;u c&#224;i &#273;&#7863;t tr&#7921;c ti&#7871;p v&#224;o trong &#273;&#7873; m&#7909;c th&#236; c&#225;c t&#224;i li&#7879;u n&#224;y tr&#7903; th&#224;nh m&#7897;t ph&#7847;n t&#7917; c&#7911;a website c&#361;ng nh&#432; c&#225;c b&#224;i v&#7903;, tin ng&#7855;n.
--------
B&#432;&#7899;c 1: {{C&#224;i &#273;&#7863;t t&#224;i li&#7879;u v&#224;o server}}
<img src="AIDE/ins_doc1.gif" alt=" " border="0" align="right">
C&#224;i &#273;&#7863;t t&#224;i li&#7879;u v&#224;o server qua giao di&#7879;n &laquo;&#272;&#237;nh k&#232;m t&#224;i li&#7879;u&raquo; cho c&#225;c b&#224;i vi&#7871;t v&#224;
&laquo;&#272;&#259;ng t&#7843;i t&#224;i li&#7879;u trong &#273;&#7873; m&#7909;c n&#224;y&raquo; cho c&#225;c &#273;&#7873; m&#7909;c.
L&#432;u &#253; l&#224; cho c&#225;c b&#224;i v&#7903;, giao di&#7879;n n&#224;y xu&#7845;t hi&#7879;n &#7903; hai n&#417;i kh&#225;c nhau: &#7903; cu&#7889;i trang c&#7911;a b&#224;i v&#7903; v&#224; &#7887; c&#7897;t b&#234;n tr&#225;i (ph&#237;a d&#432;&#7899;i h&#236;nh &#7843;nh) khi b&#7841;n s&#7917;a &#273;&#7893;i b&#224;i vi&#7871;t. Hai c&#225;ch th&#7913;c n&#224;y y h&#7879;t nhau, b&#7841;n d&#249;ng c&#225;ch n&#224;o c&#361;ng &#273;&#432;&#7907;c. C&#242;n cho &#273;&#7873; m&#7909;c th&#236; ph&#7843;i v&#224;o trang &#273;&#7873; m&#7909;c &#273;&#243; &#273;&#7875; cho t&#224;i li&#7879;u v&#224;o.
Tr&#432;&#7899;c khi c&#224;i &#273;&#7863;t h&#7891; s&#417;, b&#7841;n ph&#7843;i so&#7841;n tr&#432;&#7899;c tr&#234;n m&#225;y b&#7841;n. Giao di&#7879;n &#273;&#7875; chuy&#7875;n t&#7843;i t&#224;i li&#7879;u l&#234;n s&#7869; cho bi&#7871;t c&#225;c d&#7841;ng h&#7891; s&#417; s&#7917; d&#7909;ng &#273;&#432;&#7907;c. {B&#7841;n n&#234;n xem l&#7841;i t&#234;n h&#7891; s&#417; coi c&#243; ph&#7847;n &#273;u&#244;i &#273;&#250;ng kh&#244;ng, l&#7845;y th&#237; d&#7909; &laquo;xxxxxx.mp3&raquo; cho h&#7891; s&#417; MP3}.
Giao di&#7879;n n&#224;y gi&#7889;ng nh&#432; giao di&#7879;n &#273;&#7875; c&#224;i &#273;&#7863;t h&#236;nh &#7843;nh: n&#250;t nh&#7845;n &laquo;File&raquo; ho&#7863;c
&laquo;Browse&raquo; (t&#249;y theo browser d&#249;ng) s&#7869; m&#7903; ra khung &#273;&#7875; ch&#7885;n h&#7891; s&#417; trong d&#297;a c&#7913;ng c&#7911;a m&#225;y b&#7841;n. Sau khi ch&#7885;n h&#7891; s&#417;, b&#7845;m n&#250;t &laquo;Upload&raquo; &#273;&#7875; chuy&#7875;n t&#7843;i l&#234;n server. {C&#7843;nh b&#225;o: thao t&#225;c n&#224;y c&#243; th&#7875; cho&#225;n th&#7901;i gian l&#226;u, t&#249;y thu&#7897;c v&#224;o kh&#7893; h&#7891; s&#417;. C&#361;ng c&#7847;n l&#432;u &#253; l&#224; t&#249;y theo c&#225;ch c&#7845;u h&#236;nh c&#7911;a m&#225;y ch&#7911;, c&#225;c h&#7891; s&#417; qu&#225; to s&#7869; b&#7883; t&#7915; ch&#7889;i; trong tr&#432;&#7901;ng h&#7907;p &#273;&#243;, b&#7841;n c&#243; th&#7875; l&#224;m c&#225;ch kh&#225;c qua vi&#7879;c <A HREF="aide_index.php3?aide=ins_upload"
TARGET="_top">C&#224;i &#273;&#7863;t h&#7891; s&#417; b&#7857;ng FTP</A>.}
---------
B&#432;&#7899;c 2: {{Chi ti&#7871;t v&#224; h&#236;nh m&#7851;u}}
<img src="AIDE/ins_doc2.gif" alt=" " border="0" align="right">
Khi t&#224;i li&#7879;u &#273;&#227; &#273;&#432;&#7907;c chuy&#7875;n l&#234;n server, m&#7897;t h&#7897;p th&#244;ng tin xu&#7845;t hi&#7879;n. B&#7841;n c&#243; th&#7875; l&#224;m m&#7897;t s&#7889; thao t&#225;c sau &#273;&#226;y:
- {Xem h&#236;nh m&#7851;u tr&#432;&#7899;c}
Kh&#225;i ni&#7879;m n&#224;y r&#7845;t quan tr&#7885;ng: kh&#244;ng nh&#432; h&#236;nh &#7843;nh c&#243; th&#7875; &#273;&#432;&#7907;c nh&#233;t v&#224;o trong th&#226;n b&#224;i, t&#224;i li&#7879;u kh&#244;ng hi&#7875;n th&#7883; li&#7873;n l&#7853;p t&#7913;c. M&#7897;t h&#236;nh m&#7851;u xem tr&#432;&#7899;c &#273;&#432;&#7907;c hi&#7875;n th&#7883; &#273;&#7875; ng&#432;&#7901;i xem b&#7845;m v&#224;o &#273;&#243; &#273;&#7875; xem t&#224;i li&#7879;u &#273;&#243;.
Ph&#7847;n tr&#234;n c&#7911;a h&#7897;p th&#244;ng tin cho ph&#233;p b&#7841;n ch&#7885;n h&#236;nh m&#7851;u. B&#7841;n c&#243; th&#7875; ch&#7885;n {h&#236;nh m&#7851;u &#273;&#7883;nh s&#7861;n} hay c&#224;i &#273;&#7863;t m&#7897;t {logo ri&#234;ng}.
H&#236;nh m&#7851;u &#273;&#7883;nh s&#7861;n do h&#7879; th&#7889;ng &#7845;n &#273;&#7883;nh, t&#249;y theo d&#7841;ng t&#224;i li&#7879;u. L&#7907;i &#273;i&#7875;m c&#7911;a vi&#7879;c d&#249;ng h&#236;nh &#273;&#7883;nh s&#7861;n l&#224; k&#253; hi&#7879;u cho c&#225;c t&#224;i li&#7879;u c&#243; c&#249;ng d&#7841;ng s&#7869; thu&#7847;n nh&#7845;t trong to&#224;n website.
N&#7871;u b&#7841;n mu&#7889;n, b&#7841;n c&#243; th&#7875; c&#224;i &#273;&#7863;t m&#7897;t logo (n&#234;n c&#243; kh&#7893; nh&#7887;, trong d&#7841;ng GIF, JPG hay PNG) &#273;&#7875; hi&#7875;n th&#7883; thay v&#236; h&#236;nh m&#7851;u &#273;&#7883;nh s&#7861;n. Khi logo &#273;&#227; &#273;&#432;&#7907;c c&#224;i &#273;&#7863;t, &#273;i&#7875;m n&#7889;i &laquo;X&#243;a logo ri&#234;ng&raquo; cho ph&#233;p b&#7841;n x&#243;a n&#243; v&#224; d&#249;ng tr&#7903; l&#7841;i h&#236;nh m&#7851;u &#273;&#7883;nh s&#7861;n.
- Trong trang s&#7917;a &#273;&#7893;i b&#224;i v&#7903;, &laquo;ng&#245; t&#7855;t&raquo; cho ph&#233;p b&#7841;n nh&#233;t m&#7897;t t&#224;i li&#7879;u v&#224;o trong th&#226;n b&#224;i gi&#7889;ng nh&#432; c&#225;ch l&#224;m cho h&#236;nh &#7843;nh.
- Ph&#7847;n d&#432;&#7899;i d&#249;ng &#273;&#7875; cho v&#224;o t&#7921;a &#273;&#7873; v&#224; ghi ch&#250; cho t&#224;i li&#7879;u. Kh&#244;ng c&#7847;n ph&#7843;i cho bi&#7871;t d&#7841;ng hay kh&#7893; c&#7911;a t&#224;i li&#7879;u multimedia, d&#7919; ki&#7879;n n&#224;y h&#7879; th&#7889;ng s&#7869; t&#7921; &#273;&#7897;ng d&#242; ra v&#224; cung c&#7845;p.
- Cu&#7889;i d&#249;ng, n&#250;t &laquo;X&#243;a t&#224;i li&#7879;u n&#224;y&raquo; d&#249;ng &#273;&#7875; x&#243;a nh&#7919;ng h&#7891; s&#417; kh&#244;ng c&#7847;n thi&#7871;t. {B&#7841;n c&#7847;n l&#432;u &#253; l&#224; ph&#7843;i x&#243;a nh&#7919;ng t&#224;i li&#7879;u kh&#244;ng c&#7847;n, kh&#244;ng th&#244;i ch&#250;ng s&#7869; xu&#7845;t hi&#7879;n tr&#234;n website.}
- {{Li&#234;n quan &#273;&#7871;n t&#224;i li&#7879;u c&#224;i &#273;&#7863;t trong c&#225;c &#273;&#7873; m&#7909;c,}} b&#7841;n c&#243; th&#7875; s&#7917;a &#273;&#7893;i ng&#224;y &#273;&#259;ng t&#7843;i c&#7911;a t&#224;i li&#7879;u (t&#432;&#417;ng t&#7921; nh&#432; cho b&#224;i v&#7903; v&#224; tin t&#7913;c). M&#7897;t khi &#273;&#227; cho v&#224;o &#273;&#7847;y &#273;&#7911; c&#225;c d&#7919; ki&#7879;n c&#7847;n thi&#7871;t, t&#224;i li&#7879;u trong &#273;&#7873; m&#7909;c s&#7869; xu&#7845;t hi&#7879;n tr&#234;n website (kh&#244;ng c&#7847;n ph&#7843;i ch&#7845;p thu&#7853;n, th&#244;ng qua nh&#432; b&#224;i v&#7903; v&#224; tin ng&#7855;n).
---------
B&#432;&#7899;c 3: {{Nh&#233;t t&#224;i li&#7879;u v&#224;o trong th&#226;n b&#224;i}}
Cho c&#225;c t&#224;i li&#7879;u n&#224;y, b&#7841;n ch&#7881; c&#7847;n chuy&#7875;n b&#224;i l&#234;n, cho v&#224;o c&#225;c d&#7919; ki&#7879;n (b&#432;&#7899;c 1 v&#224; 2 b&#234;n tr&#234;n). Khi &#273;&#259;ng t&#7843;i b&#224;i vi&#7871;t, c&#225;c t&#224;i li&#7879;u &#273;&#237;nh k&#232;m s&#7869; xu&#7845;t hi&#7879;n &#7903; cu&#7889;i b&#224;i d&#432;&#7899;i h&#236;nh th&#7913;c m&#7897;t danh s&#225;ch c&#7911;a {t&#224;i li&#7879;u &#273;&#237;nh k&#232;m}.
Tuy nhi&#234;n, b&#7841;n c&#361;ng c&#243; th&#7875; quy&#7871;t &#273;&#7883;nh nh&#233;t c&#225;c h&#236;nh m&#7851;u xem tr&#432;&#7899;c b&#234;n trong th&#226;n b&#224;i. B&#7845;m v&#224;o h&#236;nh m&#7851;u b&#234;n trong th&#226;n b&#224;i &#273;&#7875; xem t&#224;i li&#7879;u &#273;&#237;nh k&#232;m.
Th&#7875; th&#7913;c l&#224;m y h&#7879;t nh&#432; th&#7875; th&#7913;c cho h&#236;nh &#7843;nh, kh&#225;c bi&#7879;t duy nh&#7845;t l&#224; b&#7845;m v&#224;o h&#236;nh m&#7851;u xem tr&#432;&#7899;c &#273;&#432;&#7907;c. B&#7841;n cho v&#224;o k&#253; hi&#7879;u &lt;imgxx|yy&gt; hay &lt;docxx|yy&gt; t&#249;y theo b&#7841;n mu&#7889;n hi&#7875;n th&#7883; h&#236;nh m&#7851;u m&#224; th&#244;i hay v&#7899;i t&#7921;a &#273;&#7873; v&#224; ghi ch&#250; cho n&#243;.
{B&#7841;n c&#7847;n l&#432;u &#253; l&#224;} t&#224;i li&#7879;u c&#224;i &#273;&#7863;t b&#234;n trong th&#226;n b&#224;i s&#7869; kh&#244;ng xu&#7845;t hi&#7879;n {b&#234;n d&#432;&#7899;i b&#224;i} n&#7919;a. &#272;&#7889;i v&#7899;i b&#224;i v&#7903; ch&#7881; c&#243; hai ch&#7895; &#273;&#7875; cho t&#224;i li&#7879;u xu&#7845;t hi&#7879;n: b&#234;n trong th&#226;n b&#224;i (h&#236;nh m&#7851;u b&#7845;m v&#224;o &#273;&#432;&#7907;c), ho&#7863;c b&#234;n d&#432;&#7899;i th&#226;n b&#224;i trong h&#236;nh th&#7913;c &laquo;T&#224;i li&#7879;u &#273;&#237;nh k&#232;m&raquo;.
----------
Tr&#432;&#7901;ng h&#7907;p &#273;&#7863;c bi&#7879;t: {{t&#224;i li&#7879;u &#226;m thanh v&#224; phim &#7843;nh}}
M&#7897;t s&#7889; h&#7891; s&#417; multimedia ch&#7881; th&#237;ch h&#7907;p &#273;&#7875; hi&#7875;n th&#7883; tr&#7921;c ti&#7871;p tr&#234;n trang web (th&#237; d&#7909;, &#273;o&#7841;n phim &#7843;nh nh&#233;t v&#224;o b&#234;n trong th&#226;n b&#224;i).
&#272;&#7875; c&#243; th&#7875; nh&#233;t c&#225;c lo&#7841;i t&#224;i li&#7879;u nh&#432; th&#7871; v&#224;o b&#234;n trong th&#226;n b&#224;i d&#432;&#7899;i h&#236;nh th&#7913;c ho&#7841;t h&#7885;a multimedia ch&#7913; kh&#244;ng ph&#7843;i l&#224; h&#236;nh m&#7851;u xem tr&#432;&#7899;c, b&#7841;n ph&#7843;i cho v&#224;o k&#237;ch th&#432;&#7899;c: b&#7873; ngang v&#224; b&#7873; cao kh&#225;c v&#7899;i zero (cho &#226;m thanh, b&#7841;n ch&#7885;n b&#7873; ngang c&#7911;a cursor &#273;&#7875; ch&#7841;y v&#224; m&#7897;t b&#7873; cao th&#7845;p kho&#7843;ng 25 ch&#7845;m).
{B&#7841;n c&#7847;n l&#432;u &#253; l&#224;} khung &#273;&#7875; cho v&#224;o k&#237;ch th&#432;&#7899;c ch&#7881; xu&#7845;t hi&#7879;n cho c&#225;c t&#224;i li&#7879;u trong d&#7841;ng m&#224; SPIP hi&#7875;u &#273;&#432;&#7907;c (nh&#432; l&#224;: avi, quicktime, real, flash).
Once you have entered these dimensions, an additional SPIP shortcut will be provided, in the shape of &lt;embxx|yy&gt; (as a reminder &laquo;{{emb}}ed&raquo;).
Sau khi &#273;&#227; cho v&#224;o k&#237;ch th&#432;&#7899;c, SPIP s&#7869; cho ra l&#7889;i vi&#7871;t t&#7855;t trong d&#7841;ng &lt;embxx|yy&gt; (&#273;&#7875; ghi nh&#7899; &laquo;{{emb}}ed&raquo;).
N&#7871;u b&#7841;n quen thu&#7897;c v&#7899;i l&#7889;i h&#7897;i nh&#7853;p n&#224;y, b&#7841;n c&#243; th&#7875; d&#249;ng nh&#7919;ng th&#244;ng s&#7889; kh&#225;c nh&#432;:
<cadre>
<emb54|center|autostart=true|quality=hight>
</cadre>
</ins_doc>
<ins_upload>
{{{Chuy&#7875;n b&#224;i l&#234;n b&#7857;ng FTP}}}
M&#7897;t s&#7889; m&#225;y ch&#7911; kh&#244;ng cho ph&#233;p &#273;em b&#224;i l&#234;n qua giao di&#7879;n web. H&#417;n th&#7871; n&#7919;a, chuy&#7875;n b&#224;i kh&#7893; l&#7899;n b&#7857;ng ki&#7875;u &#273;&#243; c&#361;ng b&#7845;t ti&#7879;n. SPIP cho ph&#233;p b&#7841;n &#273;i v&#242;ng qua c&#225;c gi&#7899;i h&#7841;n n&#224;y &#273;&#7875; chuy&#7875;n b&#7857;ng FTP c&#225;c h&#7891; s&#417; d&#249;ng cho h&#236;nh &#7843;nh v&#224; t&#224;i li&#7879;u.
D&#297; nhi&#234;n, thao t&#225;c n&#224;y ch&#7881; gi&#7899;i h&#7841;n trong s&#7889; ng&#432;&#7901;i d&#249;ng &#273;&#432;&#7907;c ph&#233;p n&#7889;i v&#224;o FTP server.
- {{Ng&#259;n /ecrire/upload}}
V&#7899;i nhu li&#7879;u FTP b&#7841;n th&#432;&#7901;ng d&#249;ng, b&#7841;n ch&#7881; c&#7847;n chuy&#7875;n c&#225;c h&#7891; s&#417; (h&#236;nh &#7843;nh, t&#224;i li&#7879;u multimedia) v&#224;o trong ng&#259;n /ecrire/upload c&#7911;a website.
- {{M&#7879;nh &#273;&#417;n r&#7911;}}
Sau khi &#273;&#227; chuy&#7875;n b&#224;i l&#234;n, m&#7897;t m&#7879;nh &#273;&#417;n r&#7911; t&#7921; &#273;&#7897;ng xu&#7845;t hi&#7879;n tr&#234;n giao di&#7879;n web v&#224; li&#7879;t k&#234; t&#7845;t c&#7843; nh&#7919;ng h&#7891; s&#417; trong ng&#259;n upload. B&#7841;n ch&#7881; c&#7847;n ch&#7885;n h&#7891; s&#417; m&#236;nh mu&#7889;n v&#224; x&#225;c nh&#7853;n l&#7921;a ch&#7885;n n&#224;y.
N&#7871;u thao t&#225;c th&#224;nh c&#244;ng, nh&#7899; x&#243;a h&#7891; s&#417; n&#224;y ra kh&#7887;i ng&#259;n /ecrire/upload (h&#7879; th&#7889;ng &#273;&#227; l&#7853;p ra m&#7897;t b&#7843;n sao c&#7911;a h&#7891; s&#417; trong m&#7897;t ng&#259;n kh&#225;c, h&#7891; s&#417; nguy&#234;n th&#7911;y do &#273;&#243; kh&#244;ng c&#7847;n thi&#7871;t n&#7919;a), &#273;&#7875; tr&#225;nh l&#224;m ngh&#7865;t m&#7879;nh &#273;&#417;n r&#7911;.
- {{M&#7885;i h&#7891; s&#417; c&#249;ng l&#250;c}}
N&#7871;u b&#7841;n chuy&#7875;n t&#7843;i c&#249;ng l&#250;c nhi&#7873;u h&#7891; s&#417; v&#224;o ng&#259;n /ecrire/upload, m&#7897;t &#273;&#7863;c &#273;i&#7875;m ph&#7909; tr&#7897;i s&#7869; c&#243; cho b&#7841;n tr&#234;n giao di&#7879;n web: b&#7841;n c&#243; th&#7875; thi&#7871;t tr&#237; c&#225;c h&#7891; s&#417; n&#224;y c&#249;ng m&#7897;t &#273;&#7907;t. &#272;i&#7875;m n&#224;y r&#7845;t h&#7919;u d&#7909;ng khi thi&#7871;t l&#7853;p c&#225;c portfolios.
</ins_upload>
<artmodif>
{{{B&#224;i &#273;ang so&#7841;n}}}
Khi m&#7897;t ch&#7911; b&#250;t m&#7903; m&#7897;t b&#224;i ra &#273;&#7875; so&#7841;n, &#273;i&#7873;u ch&#7881;nh hay s&#7917;a &#273;&#7893;i, th&#236; nh&#7919;ng ng&#432;&#7901;i kh&#225;c gh&#233; ngang qua trang &#273;&#243; &#273;&#432;&#7907;c l&#432;u &#253; v&#224; khuy&#7871;n c&#225;o l&#224; &#273;&#7915;ng c&#243; s&#7917;a &#273;&#7893;i b&#224;i &#273;&#243;.
Th&#7853;t v&#7853;y, n&#7871;u hai ng&#432;&#7901;i l&#224;m vi&#7879;c c&#249;ng l&#250;c tr&#234;n m&#7897;t b&#224;i vi&#7871;t, nh&#7919;ng g&#236; ng&#432;&#7901;i n&#224;y s&#7917;a &#273;&#7893;i c&#243; th&#7875; x&#243;a ch&#7891;ng l&#234;n nh&#7919;ng s&#7917;a &#273;&#7893;i c&#7911;a ng&#432;&#7901;i kia.
N&#7871;u b&#7841;n th&#7845;y l&#7901;i ghi ch&#250; "C&#7843;nh b&#225;o, c&#243; ch&#7911; b&#250;t l&#224;m vi&#7879;c v&#7899;i b&#224;i n&#224;y" th&#236; b&#7841;n &#273;&#7915;ng &#273;&#7909;ng &#273;&#7871;n. Ch&#7881; n&#234;n quay tr&#7903; l&#7841;i sau &#273;&#243; khi ng&#432;&#7901;i kia &#273;&#227; s&#7917;a &#273;&#7893;i b&#224;i xong.
Ng&#432;&#7907;c l&#7841;i, n&#7871;u b&#7841;n &#273;ang l&#224;m vi&#7879;c v&#7899;i b&#224;i, nh&#7919;ng ng&#432;&#7901;i kh&#225;c s&#7869; &#273;&#432;&#7907;c l&#432;u &#253; v&#7873; vi&#7879;c n&#224;y. N&#7871;u b&#7841;n v&#7851;n c&#242;n &#273;ang l&#224;m vi&#7879;c th&#236; nh&#7919;ng ng&#432;&#7901;i kh&#225;c &#273;&#432;&#7907;c y&#234;u c&#7847;u &#273;&#7915;ng &#273;&#7909;ng v&#224;o. Khi b&#7841;n ngh&#297; l&#224; &#273;&#227; &#273;i&#7873;u ch&#7881;nh xong b&#224;i v&#7903; v&#224; ng&#432;&#7901;i kh&#225;c c&#243; th&#7875; l&#224;m vi&#7879;c ti&#7871;p th&#236; b&#7841;n c&#243; th&#7875; "Th&#7843; ra" b&#224;i n&#224;y. L&#7901;i c&#7843;nh b&#225;o cho nh&#7919;ng ng&#432;&#7901;i kia s&#7869; bi&#7871;n m&#7845;t &#273;&#7875; b&#225;o cho h&#7885; bi&#7871;t l&#224; h&#7885; c&#243; th&#7875; v&#224;o s&#7917;a &#273;&#7893;i b&#224;i &#273;&#243;.
</artmodif>
<artmots>
{{{T&#7915; then ch&#7889;t}}}
&#272;&#7875; vi&#7879;c di chuy&#7875;n trong website &#273;&#432;&#7907;c linh &#273;&#7897;ng v&#224; &#273;a d&#7841;ng, b&#7841;n c&#243; th&#7875; g&#7855;n c&#225;c <A HREF="aide_index.php3?aide=mots" TARGET="_top">T&#7915; then ch&#7889;t</A> v&#224;o b&#224;i v&#7903;, tin ng&#7855;n, v&#224; website n&#7889;i k&#7871;t. L&#224;m nh&#432; th&#7871;, kh&#244;ng nh&#7919;ng &#273;&#7897;c gi&#7843; c&#243; th&#7875; &#273;i xem t&#7915; &#273;&#7873; m&#7909;c n&#224;y qua &#273;&#7873; m&#7909;c kh&#225;c, m&#224; c&#242;n c&#243; th&#7875; &#273;i xem t&#7915; m&#7897;t b&#224;i v&#7903; li&#234;n h&#7879; &#273;&#7871;n m&#7897;t ch&#7911; &#273;&#7873; (&#273;&#432;&#7907;c &#273;&#7883;nh b&#7903;i t&#7915; then ch&#7889;t) qua &#273;&#7871;n m&#7897;t b&#224;i kh&#225;c c&#243; c&#249;ng t&#7915; then ch&#7889;t.
B&#224;i v&#7903;, tin ng&#7855;n, website c&#7847;n bao nhi&#234;u t&#7915; then ch&#7889;t, b&#7841;n c&#243; th&#7875; cho b&#7845;y nhi&#234;u.
M&#7897;t m&#7879;nh &#273;&#417;n r&#7911; li&#7879;t k&#234; t&#7845;t c&#7843; c&#225;c t&#7915; then ch&#7889;t c&#7911;a website. R&#7845;t d&#7877; s&#7917; d&#7909;ng. {L&#432;u &#253;: n&#7871;u s&#7889; l&#432;&#7907;ng t&#7915; h&#417;n 50, m&#7879;nh &#273;&#417;n r&#361; s&#7869; &#273;&#432;&#7907;c thay th&#7871; b&#7857;ng c&#417; ph&#7853;n t&#236;m ki&#7871;m: ch&#7881; c&#7847;n cho v&#224;o t&#7915; then ch&#7889;t mu&#7889;n t&#236;m v&#224; nh&#7845;t n&#250;t "T&#236;m"}
{{T.B.}} Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; l&#7853;p ra t&#7915; then ch&#7889;t t&#7915; trang qu&#7843;n tr&#7883; (N&#250;t "T&#7915; then ch&#7889;t" trong thanh di chuy&#7875;n b&#234;n tr&#234;n).
{Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; t&#7855;t kh&#244;ng cho d&#249;ng t&#7915; then ch&#7889;t trong ph&#7847;n "<A HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n</A>".}
</artmots>
<artprop>
{{{N&#7897;p b&#224;i v&#224;o}}}
Trong khi b&#224;i &#273;&#432;&#7907;c so&#7841;n (xem &#273;&#7873; m&#7909;c &laquo;<A HREF="aide_index.php3?aide=artstatut" target="_top">T&#236;nh tr&#7841;ng b&#224;i v&#7903;</A>&raquo;), s&#7869; c&#243; n&#250;t &laquo;mu&#7889;n &#273;&#259;ng t&#7843;i b&#224;i n&#224;y&raquo;.
{Ch&#7881; c&#243; t&#225;c gi&#7843; c&#7911;a b&#224;i &#273;&#432;&#7907;c ph&#233;p l&#224;m vi&#7879;c n&#224;y.}
C&#243; ngh&#297;a l&#224; b&#224;i &#273;&#432;&#7907;c &laquo;n&#7897;p v&#224;o &#273;&#7875; ch&#7901; th&#244;ng qua&raquo;, t&#7913;c l&#224;, n&#7897;p v&#224;o &#273;&#7875; c&#225;c ch&#7911; b&#250;t kh&#225;c c&#243; th&#7875; xem qua, g&#243;p &#253; trong khi ch&#7901; &#273;&#432;&#7907;c ch&#7845;p thu&#7853;n (&#273;&#259;ng t&#7843;i) ho&#7863;c b&#7883; t&#7915; ch&#7889;i b&#7903;i qu&#7843;n tr&#7883; vi&#234;n.
C&#7843;nh b&#225;o: m&#7897;t khi b&#224;i &#273;&#227; &#273;&#432;&#7907;c n&#7897;p v&#224;o &#273;&#7875; ch&#7901; ch&#7845;p thu&#7853;n, t&#225;c gi&#7843; kh&#244;ng th&#7875; &#273;&#7893;i &#253; &#273;&#7875; &#273;i&#7873;u ch&#7881;nh t&#236;nh tr&#7841;ng b&#224;i v&#7903; sang d&#7841;ng &laquo;&#273;ang so&#7841;n&raquo;. Do &#273;&#243;, thao t&#225;c &laquo;mu&#7889;n &#273;&#259;ng t&#7843;i b&#224;i n&#224;y&raquo; ch&#7881; n&#234;n d&#249;ng m&#7897;t khi t&#225;c gi&#7843; bi&#7871;t ch&#7855;c l&#224; b&#224;i &#273;&#227; ho&#224;n t&#7845;t xong. Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh t&#236;nh tr&#7841;ng b&#224;i v&#7903; sang d&#7841;ng &laquo;&#273;ang so&#7841;n&raquo;.
</artprop>
<artrub>
{{{Ch&#7885;n &#273;&#7873; m&#7909;c}}}
M&#7879;nh &#273;&#417;n cho th&#7845;y to&#224;n b&#7897; <A HREF="aide_index.php3?aide=rubhier" target="_top">c&#7845;u tr&#250;c &#273;&#7873; m&#7909;c</A> (theo th&#7913; t&#7921; &#273;&#432;&#7907;c th&#224;nh l&#7853;p b&#7903;i qu&#7843;n tr&#7883; vi&#234;n): ch&#7885;n &#273;&#7873; m&#7909;c m&#224; b&#7841;n mu&#7889;n cho b&#224;i v&#224;o trong &#273;&#243;.
C&#243; nhi&#7873;u ng&#432;&#7901;i m&#7899;i s&#7917; d&#7909;ng kh&#244;ng quen v&#7899;i &#273;&#7863;c &#273;i&#7875;m r&#7845;t &#273;&#417;n gi&#7843;n n&#224;y, v&#224; l&#7841;i cho b&#224;i v&#224;o
"b&#7845;t c&#7913; n&#417;i n&#224;o" trong c&#7845;u tr&#250;c c&#7911;a website. V&#236; th&#7871; qu&#7843;n tr&#7883; vi&#234;n &#273;&#432;&#7907;c l&#432;u &#253; l&#224; lu&#244;n lu&#244;n xem l&#7841;i coi b&#224;i c&#243; n&#7857;m &#273;&#250;ng ch&#7895; kh&#244;ng tr&#432;&#7899;c khi ch&#7845;p thu&#7853;n.
</artrub>
<artstatut>
{{{Quy ch&#7871; c&#7911;a b&#224;i}}}
{Quy ch&#7871;} c&#7911;a b&#224;i cho bi&#7871;t t&#236;nh tr&#7841;ng bi&#234;n so&#7841;n ra sao. B&#224;i v&#7903; c&#243; th&#7875; c&#243; c&#225;c tr&#7841;ng th&#225;i sau:
- &#273;ang so&#7841;n
- n&#7897;p v&#224;o
- &#273;&#259;ng t&#7843;i online
- v&#244; x&#7885;t r&#225;c
- t&#7915; ch&#7889;i
Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; thay &#273;&#7893;i c&#225;c tr&#7841;ng th&#225;i n&#224;y. C&#225;c tr&#7841;ng th&#225;i n&#224;y &#273;&#243;ng g&#243;p v&#224;o vi&#7879;c qu&#7843;n tr&#7883; website chung chung.
{{T.B.}} quy ch&#7871; c&#7911;a b&#224;i &#273;&#432;&#7907;c bi&#7875;u t&#432;&#7907;ng b&#7857;ng nh&#7919;ng &#244; m&#224;u.
<IMG SRC="img_pack/puce-blanche.gif"> {{&#272;ang so&#7841;n}}
Khi &#273;&#432;&#7907;c vi&#7871;t, m&#7897;t b&#224;i d&#297; nhi&#234;n &#273;&#432;&#7907;c coi nh&#432; l&#224; &#273;ang so&#7841;n: t&#225;c gi&#7843; b&#224;i &#273;ang trong qu&#225; tr&#236;nh so&#7841;n, vi&#7871;t, s&#7917;a &#273;&#7893;i n&#243; ...
{Khi &#273;ang so&#7841;n, b&#224;i ch&#7881; hi&#7879;n ra &#273;&#7889;i v&#7899;i t&#225;c gi&#7843; b&#224;i v&#224; qu&#7843;n tr&#7883; vi&#234;n. C&#225;c ch&#7911; b&#250;t kh&#225;c kh&#244;ng th&#7845;y v&#224; kh&#244;ng &#273;&#7909;ng v&#224;o &#273;&#432;&#7907;c}
<IMG SRC="img_pack/puce-orange.gif"> {{N&#7897;p v&#224;o}}
Khi t&#225;c gi&#7843; so&#7841;n xong b&#224;i, ng&#432;&#7901;i &#273;&#243; "&#273;&#7873; ngh&#7883;" v&#7899;i nh&#7919;ng ng&#432;&#7901;i kh&#225;c &#273;&#7875; b&#224;i &#273;&#432;&#7907;c th&#7843;o lu&#7853;n chung, tr&#432;&#7899;c khi &#273;&#432;&#7907;c ch&#7845;p thu&#7853;n (&#273;&#259;ng t&#7843;i online) hay b&#7883; t&#7915; ch&#7889;i.
{Khi b&#224;i &#273;&#432;&#7907;c "n&#7897;p v&#224;o", n&#243; s&#7869; hi&#7879;n ra trong ph&#7847;n "N&#417;i b&#7855;t &#273;&#7847;u", trang c&#7911;a ng&#432;&#7901;i s&#7917; d&#7909;ng trong v&#249;ng ri&#234;ng, nh&#7919;ng ng&#432;&#7901;i y&#234;u c&#7847;u tham gia v&#224;o cu&#7897;c th&#7843;o lu&#7853;n trong di&#7877;n &#273;&#224;n n&#7897;i b&#7897; b&#234;n d&#432;&#7899;i b&#224;i.
Nh&#7919;ng b&#224;i nh&#432; th&#7871; hi&#7879;n ra &#273;&#7889;i v&#7899;i t&#7845;t c&#7843; c&#225;c ch&#7911; b&#250;t. Trong khi &#273;&#243;, n&#243; ch&#7881; c&#243; th&#7875; &#273;&#432;&#7907;c s&#7917;a &#273;&#7893;i b&#7903;i t&#225;c gi&#7843; b&#224;i hay m&#7897;t qu&#7843;n tr&#7883; vi&#234;n m&#224; th&#244;i.}
<IMG SRC="img_pack/puce-verte.gif"> {{&#272;&#259;ng t&#7843;i online}}
Sau khi &#273;&#432;&#7907;c c&#225;c ch&#7911; b&#250;t th&#7843;o lu&#7853;n (trong th&#7901;i gian n&#7897;p v&#224;o), m&#7897;t b&#224;i vi&#7871;t c&#243; th&#7875; &#273;&#432;&#7907;c "ch&#7845;p thu&#7853;n", t&#7913;c &#273;&#432;&#7907;c &#273;&#259;ng t&#7843;i online. Sau &#273;&#243;, b&#224;i &#273;&#432;&#7907;c m&#7885;i &#273;&#7897;c gi&#7843; xem th&#7845;y.
{Khi b&#224;i &#273;&#227; &#273;&#432;&#7907;c &#273;&#259;ng t&#7843;i online, ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; s&#7917;a &#273;&#7893;i b&#224;i. T&#225;c gi&#7843; b&#224;i kh&#244;ng s&#7917;a &#273;&#432;&#7907;c n&#7919;a tr&#7915; khi ng&#432;&#7901;i &#273;&#243; c&#243; quy ch&#7871; ch&#7911; b&#250;t, v&#224; do &#273;&#243; khi c&#7847;n ph&#7843;i nh&#7901; &#273;&#7871;n qu&#7843;n tr&#7883; vi&#234;n s&#7917;a &#273;&#7893;i d&#249;m.|
<IMG SRC="img_pack/puce-rouge.gif"> {{T&#7915; ch&#7889;i}}
B&#224;i "n&#7897;p v&#224;o" kh&#244;ng &#273;&#7911; ti&#234;u chu&#7849;n c&#243; th&#7875; b&#7883; "t&#7915; ch&#7889;i" n&#7871;u qu&#7843;n tr&#7883; vi&#234;n kh&#244;ng cho ph&#233;p &#273;&#259;ng t&#7843;i online.
{M&#7897;t b&#224;i b&#7883; "t&#7915; ch&#7889;i" ch&#7881; hi&#7879;n ra &#273;&#7889;i v&#7899;i t&#225;c gi&#7843; b&#224;i v&#224; c&#225;c qu&#7843;n tr&#7883; vi&#234;n.}
{Tuy nhi&#234;n, m&#7897;t b&#224;i b&#7883; "t&#7915; ch&#7889;i" kh&#244;ng th&#7875; &#273;&#432;&#7907;c s&#7917;a &#273;&#7893;i b&#7903;i t&#225;c gi&#7843; n&#7919;a, &#273;&#7875; tr&#225;nh t&#236;nh tr&#7841;ng t&#225;c gi&#7843; &#273;em b&#224;i &#273;i n&#7897;p l&#7841;i. Trong tr&#432;&#7901;ng h&#7907;p b&#224;i c&#7847;n &#273;&#432;&#7907;c s&#7917;a &#273;&#7893;i, th&#236; b&#224;i &#273;&#243; n&#234;n &#273;&#432;&#7907;c s&#7855;p v&#224;o t&#236;nh tr&#7841;ng "&#273;ang so&#7841;n" &#273;&#7875; t&#225;c gi&#7843; c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh v&#224; n&#7897;p b&#224;i l&#7841;i sau &#273;&#243;.}
<IMG SRC="img_pack/puce-poubelle.gif"> {{V&#244; x&#7885;t r&#225;c}}
B&#224;i c&#243; th&#7875; b&#7883; cho "v&#244; x&#7885;t r&#225;c" b&#7903;i qu&#7843;n tr&#7883; vi&#234;n m&#224; th&#244;i.
{M&#7897;t b&#224;i vi&#7871;t b&#7883; cho "v&#244; x&#7885;t r&#225;c" s&#7869; kh&#244;ng hi&#7879;n ra trong v&#249;ng ri&#234;ng n&#7919;a, ngay c&#7843; &#273;&#7889;i v&#7899;i qu&#7843;n tr&#7883; vi&#234;n. Do &#273;&#243; d&#249;ng c&#7849;n th&#7853;n. Cho v&#244; x&#7885;t r&#225;c r&#7891;i l&#224; b&#224;i s&#7869; bi&#7871;n m&#7845;t ho&#224;n to&#224;n.
Th&#7853;t ra, b&#224;i v&#7851;n c&#242;n n&#7857;m &#273;&#226;u &#273;&#243; trong database, nh&#432;ng r&#7845;t l&#224; kh&#243; &#273;&#7875; v&#7899;i l&#7845;y qua nh&#7919;ng ph&#432;&#417;ng ti&#7879;n c&#243; s&#7861;n c&#7911;a SPIP.}
V&#236; th&#7871;, l&#7921;a ch&#7885;n n&#224;y ch&#7881; d&#249;ng &#273;&#7875; &#225;p d&#7909;ng cho c&#225;c b&#224;i vi&#7871;t tr&#7853;t v&#224; s&#7869; b&#7883; x&#243;a ho&#224;n to&#224;n. Th&#244;ng th&#432;&#7901;ng th&#236; n&#234;n ch&#7885;n tr&#7841;ng th&#225;i "t&#7915; ch&#7889;i" v&#236; b&#7899;t nhi&#234;u kh&#234; h&#417;n.
- Cu&#7889;i c&#249;ng, c&#7847;n ghi nh&#7853;n l&#224; qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875;, b&#7845;t c&#7913; l&#250;c n&#224;o, &#273;i&#7873;u ch&#7881;nh {quy ch&#7871;} c&#7911;a b&#224;i vi&#7871;t. Do &#273;&#243; m&#7897;t b&#224;i &#273;&#259;ng t&#7843;i r&#7891;i c&#361;ng c&#243; th&#7875; b&#7883; cho v&#224;o l&#7841;i tr&#7841;ng th&#225;i "&#273;ang so&#7841;n". Tuy nhi&#234;n, m&#7897;t khi b&#224;i &#273;&#227; &#273;&#432;&#7907;c &#273;&#259;ng t&#7843;i online r&#7891;i, &#273;&#7915;ng n&#234;n l&#7841;m d&#7909;ng thay &#273;&#7893;i quy ch&#7871; c&#7911;a b&#224;i vi&#7871;t v&#236; website s&#7869; &#273;&#7847;y nh&#7919;ng l&#7893; h&#7887;ng v&#7899;i c&#225;c b&#224;i vi&#7871;t xu&#7845;t hi&#7879;n r&#7891;i bi&#7871;n m&#7845;t b&#7845;t th&#432;&#7901;ng. &#272;i&#7873;u n&#224;y s&#7869; l&#224;m &#273;&#7897;c gi&#7843; r&#7845;t r&#7889;i.
</artstatut>
<arttexte>
{{{Th&#226;n B&#224;i}}}
Nh&#432; t&#234;n g&#7885;i, &#273;&#226;y l&#224; ph&#7847;n th&#226;n b&#224;i.
- Tuy nhi&#234;n c&#243; m&#7897;t v&#7845;n &#273;&#7873; c&#7847;n l&#432;u t&#226;m: &#273;&#7897; d&#224;i c&#7911;a th&#226;n b&#224;i. &#272;&#244;i l&#250;c n&#7871;u th&#226;n b&#224;i qu&#225; d&#224;i {(theo kinh nghi&#7879;m c&#7911;a ch&#250;ng t&#244;i l&#224; &#273;&#7897; d&#224;i l&#7899;n h&#417;n 32Kb)}, th&#236; n&#243; b&#7883; c&#7855;t &#273;&#7913;t n&#7917;a ch&#7915;ng ho&#7863;c b&#7883; t&#7915; ch&#7889;i kh&#244;ng nh&#7853;n trong l&#250;c chuy&#7875;n &#273;&#7871;n h&#7879; th&#7889;ng SPIP. V&#7845;n &#273;&#7873; n&#224;y kh&#244;ng ph&#7843;i do SPIP g&#226;y ra m&#224; l&#224; v&#236; browser b&#7841;n &#273;ang d&#249;ng. N&#7871;u g&#7863;p ph&#7843;i v&#7845;n &#273;&#7873; n&#224;y, b&#7841;n th&#7917; d&#249;ng browser kh&#225;c xem sao.
- B&#7841;n c&#243; th&#7875; d&#249;ng nh&#7919;ng <A HREF="aide_index.php3?aide=raccourcis"
TARGET='_top'>c&#225;ch v&#7855;n t&#7855;t &#273;&#7875; s&#7855;p x&#7871;p b&#224;i </A> c&#7911;a SPIP.
</arttexte>
<arttitre>
{{{T&#7921;a &#273;&#7873;, &#272;&#7847;u &#273;&#7873;, T&#7921;a &#273;&#7873; ph&#7909;}}}
- {{T&#7921;a &#273;&#7873;}} b&#7855;t bu&#7897;c ph&#7843;i c&#243;.
- {{&#272;&#7847;u &#273;&#7873;}} v&#224; {{T&#7921;a &#273;&#7873; ph&#7909;}} kh&#244;ng b&#7855;t bu&#7897;c. N&#7871;u b&#7841;n kh&#244;ng c&#7847;n d&#249;ng th&#236; h&#227;y &#273;&#7875; tr&#7889;ng. C&#417; ph&#7853;n s&#7855;p x&#7871;p s&#7869; t&#7921; &#273;&#7897;ng &#273;i&#7873;u ch&#7881;nh ph&#7847;n tr&#236;nh b&#224;y b&#224;i v&#7903; sao cho th&#237;ch nghi.
{N&#7871;u mu&#7889;n, qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; ch&#7885;n d&#249;ng hay kh&#244;ng d&#249;ng &#272;&#7847;u &#273;&#7873; v&#224; T&#7921;a &#273;&#7873; ph&#7909; trong ph&#7847;n &laquo;<A HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#272;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n </A>&raquo;}
</arttitre>
<confart>
{{{N&#7897;i dung c&#7911;a b&#224;i}}}
M&#7897;t b&#224;i g&#7891;m c&#243; nhi&#7873;u ph&#7847;n: t&#7921;a &#273;&#7873;, &#273;&#7847;u &#273;&#7873;, t&#7921;a &#273;&#7873; ph&#7909;, t&#243;m l&#432;&#7907;c, d&#7851;n nh&#7853;p, t&#225;i b&#250;t ... Tuy nhi&#234;n, t&#249;y theo c&#7845;u h&#236;nh c&#7911;a t&#7915;ng website c&#243; ch&#7885;n d&#249;ng nh&#7919;ng ph&#7847;n &#273;&#243; hay kh&#244;ng, ho&#7863;c t&#225;c gi&#7843; &#273;&#7875; tr&#7889;ng kh&#244;ng d&#249;ng.
&#272;&#7875; &#273;&#417;n gi&#7843;n h&#243;a giao di&#7879;n v&#224;/ho&#7863;c l&#224; kh&#244;ng cho ph&#233;p c&#225;c t&#225;c gi&#7843; s&#7917; d&#249;ng m&#7897;t s&#7889; ph&#7847;n n&#224;o &#273;&#243;, v&#224;o trong ph&#7847;n "C&#7845;u h&#236;nh website; &#272;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n" &#273;&#7875; t&#7855;t/m&#7903; vi&#7879;c s&#7917; d&#7909;ng nh&#7919;ng ph&#7847;n n&#224;y.
{{T.B.}} Ch&#7885;n l&#7921;a <A
HREF="aide_index.php3?aide=intersimple" target="_top">{Xem &#273;&#417;n gi&#7843;n/Xem t&#7845;t c&#7843;}</A>
ch&#7881; &#7843;nh h&#432;&#7903;ng t&#249;y theo t&#7915;ng ng&#432;&#7901;i s&#7917; d&#7909;ng, trong khi &#273;&#243; n&#7871;u b&#7841;n &#273;i&#7873;u ch&#7881;nh trong ph&#7847;n "C&#7845;u h&#236;nh website; &#272;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n" th&#236; s&#7869; &#7843;nh h&#432;&#7903;ng &#273;&#7871;n t&#7845;t c&#7843; m&#7885;i ng&#432;&#7901;i s&#7917; d&#7909;ng. Do &#273;&#243; n&#7871;u b&#7841;n kh&#243;a kh&#244;ng cho ph&#233;p d&#249;ng &#273;&#7847;u &#273;&#7873;, th&#236; kh&#244;ng t&#225;c gi&#7843;, ch&#7911; b&#250;t, qu&#7843;n tr&#7883; vi&#234;n n&#224;o c&#243; th&#7875; s&#7917; d&#7909;ng &#273;&#7847;u &#273;&#7873; trong b&#224;i vi&#7871;t.
Giao di&#7879;n s&#7869; t&#7921; &#273;&#7897;ng &#273;i&#7873;u ch&#7881;nh trong tr&#432;&#7901;ng h&#7907;p c&#243; hay kh&#244;ng c&#243; c&#225;c ph&#7847;n n&#224;y. Th&#237; d&#7909;: n&#7871;u b&#7841;n kh&#243;a kh&#244;ng cho s&#7917; d&#7909;ng "T&#7915; Then Ch&#7889;t" th&#236; n&#250;t t&#432;&#417;ng &#7913;ng &#7903; trong thanh di chuy&#7875;n s&#7869; bi&#7871;n m&#7845;t.
</confart>
<confbreves>
{{{T&#7855;/M&#7903; h&#7879; th&#7889;ng tin ng&#7855;n}}}
Tin ng&#7855;n l&#224; m&#7897;t b&#224;i ng&#7855;n kh&#244;ng c&#243; t&#225;c gi&#7843;. M&#7897;t s&#7889; website kh&#244;ng d&#249;ng &#273;&#7863;c &#273;i&#7875;m n&#224;y. C&#243; th&#7875; l&#224; v&#236; ng&#432;&#7901;i webmaster kh&#244;ng d&#249;ng &#273;&#7863;c &#273;i&#7875;m n&#224;y v&#224;o trong c&#7845;u h&#236;nh c&#7911;a website.
Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, b&#7841;n c&#243; th&#7875; t&#7855;t &#273;&#7863;c &#273;i&#7875;m tin ng&#7855;n. S&#7869; kh&#244;ng c&#243; ai vi&#7871;t tin ng&#7855;n &#273;&#432;&#7907;c Giao di&#7879;n c&#7911;a website s&#7869; nh&#7865; v&#224; b&#7899;t r&#7889;i r&#7855;m.
</confbreves>
<confmails>
{{{G&#7917;i email t&#7921; &#273;&#7897;ng}}}
C&#225;c ch&#7911; b&#250;t v&#224; qu&#7843;n tr&#7883; vi&#234;n kh&#244;ng ph&#7843;i l&#250;c n&#224;o c&#361;ng c&#243; m&#7863;t trong khu qu&#7843;n tr&#7883; c&#7911;a website. &#272;&#7875; t&#7841;o s&#7921; d&#7877; d&#224;ng l&#224;m vi&#7879;c v&#224; qu&#7843;n tr&#7883; website, h&#7879; th&#7889;ng c&#243; th&#7875; th&#244;ng b&#225;o b&#7857;ng email m&#7897;t s&#7889; s&#7921; ki&#7879;n x&#7843;y ra ....
<FONT COLOR="red">C&#7843;nh b&#225;o: m&#7897;t s&#7889; m&#225;y ch&#7911; t&#7855;t &#273;&#7863;c &#273;i&#7875;m g&#7917;i email t&#7921; &#273;&#7897;ng. N&#7871;u g&#7863;p tr&#432;&#7901;ng h&#7907;p n&#224;y c&#225;c &#273;&#7863;c &#273;i&#7875;m sau &#273;&#226;y kh&#244;ng d&#249;ng &#273;&#432;&#7907;c.</FONT>
- {{Qu&#7843;n tr&#7883; c&#225;c th&#432; t&#237;n di&#7877;n &#273;&#224;n c&#244;ng c&#7897;ng}}
&#272;&#7875; gi&#250;p c&#225;c t&#225;c gi&#7843; theo d&#245;i nh&#7919;ng trao &#273;&#7893;i xoanh quanh b&#224;i c&#7911;a h&#7885;, &#273;&#7863;c t&#237;nh n&#224;y cho ph&#233;p g&#7917;i c&#225;c th&#432; t&#237;n &#273;&#7871;n t&#225;c gi&#7843;.
N&#7871;u &#273;&#7863;c t&#237;nh n&#224;y &#273;&#432;&#7907;c m&#7903;, c&#225;c t&#225;c gi&#7843; c&#7911;a b&#224;i vi&#7871;t s&#7869; nh&#7853;n qua email c&#225;c th&#432; t&#237;n xoanh quanh b&#224;i vi&#7871;t c&#7911;a h&#7885;. V&#224; h&#7885; c&#243; th&#7875; b&#7845;m v&#224;o &#273;i&#7875;m n&#7889;i &#273;&#237;nh k&#232;m &#273;&#7875; v&#224;o th&#7859;ng trang c&#7911;a b&#224;i vi&#7871;t v&#224; tr&#7843; l&#7901;i c&#225;c th&#432; t&#237;n.
- {{Qu&#7843;n tr&#7883; c&#225;c b&#224;i v&#7903; &#273;&#227; n&#7897;p}}
Khi m&#7897;t b&#224;i vi&#7871;t &#273;&#432;&#7907;c n&#7897;p v&#224;o &#273;&#7875; ch&#7901; ch&#7845;p thu&#7853;n cho &#273;&#259;ng, SPIP c&#243; th&#7875; th&#244;ng b&#225;o b&#7857;ng email. V&#7899;i c&#225;ch n&#224;y, qu&#7843;n tr&#7883; vi&#234;n &#273;&#432;&#7907;c th&#244;ng b&#225;o k&#7883;p th&#7901;i t&#236;nh h&#236;nh &#273;&#259;ng t&#7843;i b&#224;i v&#7903; c&#7911;a website.
Cho m&#7897;t website t&#7853;p th&#7875; (c&#243; nhi&#7873;u ch&#7911; b&#250;t), ch&#250;ng t&#244;i khuy&#234;n b&#7841;n n&#234;n l&#7853;p ra m&#7897;t mailing list c&#7911;a c&#225;c ch&#7911; b&#250;t (SPIP kh&#244;ng c&#243; &#273;&#7863;c &#273;i&#7875;m mailing list), &#273;&#7875; trao &#273;&#7893;i c&#225;c th&#432; t&#237;n v&#7899;i nhau.
- {{Th&#244;ng b&#225;o tin t&#7913;c}}
&#272;&#7863;c &#273;i&#7875;m n&#224;y &#273;&#432;&#7907;c cung c&#7845;p &#273;&#7875; th&#244;ng b&#225;o &laquo; c&#225;c tin t&#7913;c m&#7899;i nh&#7845;t &raquo;: n&#7871;u b&#7841;n s&#7917; d&#7909;ng v&#224; &#273;i&#7873;u ch&#7881;nh kho&#7843;ng th&#7901;i gian c&#225;ch bi&#7879;t gi&#7919;a c&#225;c th&#244;ng b&#225;o, email s&#7869; &#273;&#432;&#7907;c g&#7917;i &#273;&#7873;u &#273;&#7863;n &#273;&#7871;n &#273;&#7883;a ch&#7881; &#273;&#227; &#273;&#7883;nh, cho bi&#7871;t t&#236;nh h&#236;nh &#273;&#259;ng t&#7843;i b&#224;i v&#7903; v&#224; tin ng&#7855;n.
&#272;&#7863;c t&#237;nh r&#7845;t d&#7877;: n&#7871;u b&#7841;n ch&#7885;n c&#225;ch kho&#7843;ng 7 ng&#224;y, th&#236; c&#7913; m&#7895;i 7 ng&#224;y, SPIP s&#7869; g&#7917;i danh s&#225;ch c&#225;c b&#224;i vi&#7871;t, tin ng&#7855;n &#273;&#227; &#273;&#259;ng t&#7843;i trong th&#7901;i gian 7 ng&#224;y v&#7915;a qua &#273;&#7871;n &#273;&#7883;a ch&#7881; email &#273;&#227; &#273;&#7883;nh s&#7861;n.
N&#250;t &laquo;G&#7917;i ngay&raquo; s&#7869; l&#7853;p t&#7913;c g&#7917;i th&#244;ng b&#225;o &#273;i ngay (v&#224; b&#7855;t &#273;&#7847;u m&#7897;t chu k&#7923; m&#7899;i tr&#432;&#7899;c khi g&#7917;i th&#244;ng b&#225;o k&#7871; ti&#7871;p).
B&#7841;n c&#243; th&#7875; g&#7917;i th&#244;ng b&#225;o tin t&#7913;c c&#7853;p nh&#7853;t cho ng&#432;&#7901;i webmaster (v&#224; ng&#432;&#7901;i &#273;&#243; s&#7869; chuy&#7875;n l&#7841;i), ho&#7863;c n&#7871;u mu&#7889;n, b&#7841;n c&#243; th&#7875; g&#7917;i &#273;&#7871;n danh s&#225;ch nh&#7919;ng ng&#432;&#7901;i ghi danh.
</confmails>
<confdates>
{{{&#272;&#259;ng t&#7843;i b&#224;i c&#243; ng&#224;y xxxx}}}
Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh <A
HREF="aide_index.php3?aide=artdate" TARGET="_top">ng&#224;y &#273;&#259;ng t&#7843;i online</A> c&#7911;a b&#224;i vi&#7871;t (khi b&#224;i vi&#7871;t &#273;&#227; &#7903; trong t&#236;nh tr&#7841;ng &laquo;&#273;&#259;ng t&#7843;i online&raquo;)
SPIP s&#7869; h&#224;nh x&#7917; nh&#432; th&#7871; n&#224;o khi ta ch&#7885;n ng&#224;y &#273;&#259;ng t&#7843;i online &#7903; v&#224;o m&#7897;t th&#7901;i &#273;i&#7875;m t&#432;&#417;ng lai? SPIP c&#243; n&#234;n &#273;&#259;ng t&#7843;i t&#7845;t c&#7843; b&#224;i v&#7903;, m&#7863;c k&#7879; ng&#224;y &#273;&#259;ng t&#7843;i online (s&#7869; &#273;&#432;a &#273;&#7871;n t&#236;nh tr&#7841;ng m&#7897;t b&#224;i vi&#7871;t c&#243; &#273;&#7873; ng&#224;y th&#225;ng t&#432;&#417;ng lai), hay SPIP s&#7869; ch&#7901; cho &#273;&#7871;n &#273;&#250;ng ng&#224;y &#273;&#243; &#273;&#7871;n m&#7899;i &#273;&#259;ng?
- L&#7907;i &#273;i&#7875;m c&#7911;a vi&#7879;c n&#224;y l&#224; c&#243; th&#7875; x&#7871;p &#273;&#7863;t tr&#432;&#7899;c ch&#432;&#417;ng tr&#236;nh &#273;&#259;ng t&#7843;i m&#7897;t lo&#7841;t b&#224;i. Ng&#432;&#7901;i webmaster c&#243; th&#7875; &#273;i ngh&#297; h&#232; trong m&#7897;t th&#225;ng tr&#7901;i. Tr&#432;&#7899;c khi &#273;i, ng&#432;&#7901;i &#273;&#243; c&#243; th&#7875; &#273;&#259;ng t&#7843;i s&#7861;n m&#7897;t lo&#7841;i b&#224;i tr&#432;&#7899;c. B&#224;i n&#224;o c&#361;ng &#273;&#432;&#7907;c &#273;&#7863;t v&#224;o t&#236;nh tr&#7841;ng "&#273;&#259;ng t&#7843;i online". Nh&#432; th&#7871;, trong khi &#273;i v&#7855;ng, t&#7915;ng b&#224;i m&#7897;t s&#7869; &#273;&#432;&#7907;c t&#7921; &#273;&#7897;ng &#273;&#259;ng t&#7843;i khi &#273;&#7871;n &#273;&#250;ng ng&#224;y.
- Cho nh&#7919;ng website kh&#225;c c&#243; nhu c&#7847;u &#273;&#259;ng t&#7843;i s&#7899;m (l&#7845;y th&#237; d&#7909; nh&#432; c&#225;c b&#225;o ch&#237; th&#432;&#7901;ng xu&#7845;t b&#7843;n &#273;&#7873; ng&#224;y s&#7899;m, t&#7913;c l&#224; m&#7899;i th&#225;ng ba &#273;&#227; ra b&#224;i cho th&#225;ng 4) th&#236; n&#234;n t&#7855;t &#273;&#7863;c &#273;i&#7875;m n&#224;y &#273;i.
</confdates>
<confmessagerie>
{{{Th&#432; t&#237;n n&#7897;i b&#7897;}}}
SPIP c&#243; m&#7897;t h&#7879; th&#7889;ng th&#244;ng tin n&#7897;i b&#7897; (t&#224;i li&#7879;u n&#224;y c&#243; ph&#7847;n &#273;&#7873; c&#7853;p &#273;&#7871;n
<a href="aide_index.php3?aide=messut" target="_top">th&#432; t&#237;n gi&#7919;a ng&#432;&#7901;i d&#249;ng</a>, cho &#273;&#7871;n <a href="aide_index.php3?aide=messpense" target="_top">ghi nh&#7899;</a> v&#224; <a href="aide_index.php3?aide=messcalen" target="_top">l&#7883;ch</a>).
B&#7841;n c&#243; th&#7875; ch&#7885;n d&#249;ng t&#7845;t c&#7843; hay m&#7897;t ph&#7847;n c&#7911;a h&#7879; th&#7889;ng n&#224;y.
- {{T&#7855;t/m&#7903; h&#7879; th&#7889;ng th&#432; t&#237;n n&#7897;i b&#7897;}}
M&#7897;t l&#253; do &#273;&#7875; kh&#244;ng d&#249;ng h&#7879; th&#7889;ng th&#432; t&#237;n n&#7897;i b&#7897; c&#243; th&#7875; l&#224; cho&#225;n ch&#7895; trong database: nh&#7919;ng th&#432; t&#237;n n&#224;y (c&#361;ng nh&#432; th&#432; t&#237;n trong di&#7877;n &#273;&#224;n li&#234;n h&#7879; &#273;&#7871;n b&#224;i vi&#7871;t) &#273;&#432;&#7907;c ch&#7913;a trong database v&#224; cho&#225;n ch&#7895; trong d&#297;a c&#7913;ng c&#7911;a m&#225;y ch&#7911;. H&#417;n n&#7919;a, &#273;&#7863;c &#273;i&#7875;m th&#432; t&#237;n n&#7897;i b&#7897; t&#7841;o th&#234;m vi&#7879;c cho m&#225;y ch&#7911; c&#7911;a website (c&#225;c v&#7845;n &#273;&#225;p database): trong tr&#432;&#7901;ng h&#7907;p c&#7911;a m&#7897;t m&#225;y ch&#7911; y&#7871;u, b&#7841;n n&#234;n t&#7855;t &#273;&#7863;c &#273;i&#7875;m n&#224;y &#273;&#7875; l&#224;m nh&#7865; g&#225;nh cho m&#225;y ch&#7911;.
- {{T&#7855;t/m&#7903; danh s&#225;ch c&#225;c ch&#7911; b&#250;t &#273;ang n&#7889;i v&#224;o}}
N&#7871;u b&#7841;n m&#7903; &#273;&#7863;c &#273;i&#7875;m n&#224;y l&#234;n, danh s&#225;ch c&#225;c ng&#432;&#7901;i d&#249;ng &#273;ang n&#7889;i v&#224;o v&#249;ng ri&#234;ng c&#7911;a website s&#7869; hi&#7879;n l&#234;n th&#432;&#7901;ng tr&#7921;c. &#272;i&#7875;m n&#224;y t&#7841;o s&#7921; d&#7877; d&#224;ng trong vi&#7879;c trao &#273;&#7893;i c&#225;c th&#432; t&#237;n l&#7853;p t&#7913;c gi&#7919;a nh&#7919;ng ng&#432;&#7901;i d&#249;ng.
&#272;&#7863;c &#273;i&#7875;m n&#224;y t&#7841;o ra th&#234;m m&#7897;t s&#7889; v&#7845;n &#273;&#225;p database; b&#7841;n n&#234;n t&#7855;t &#273;&#7863;c &#273;i&#7875;m n&#224;y tr&#234;n m&#7897;t m&#225;y y&#7871;u. C&#361;ng c&#7847;n ghi nh&#7853;n l&#224; m&#7897;t s&#7889; ng&#432;&#7901;i c&#7843;m th&#7845;y &#273;&#7863;c t&#237;nh n&#224;y c&#243; t&#237;nh xen l&#7845;n v&#224;o vi&#7879;c l&#224;m c&#7911;a h&#7885;.
{B&#7841;n c&#7847;n ghi nh&#7853;n l&#224;:} Khi b&#7841;n m&#7903; &#273;&#7863;c t&#237;nh n&#224;y cho to&#224;n b&#7897; website, ng&#432;&#7901;i d&#249;ng v&#7851;n c&#243; th&#7875;
<a href="aide_index.php3?aide=messconf" target="_top"> t&#7855;t n&#243; &#273;i ri&#234;ng cho h&#7885;</a>. V&#7899;i c&#225;ch &#273;&#243;, n&#7871;u ng&#432;&#7901;i d&#249;ng c&#7843;m th&#7845;y ch&#7913;c n&#259;ng th&#432; t&#237;n n&#7897;i b&#7897; kh&#244;ng c&#7847;n thi&#7871;t hay xen l&#7845;n, h&#7885; ch&#7881; c&#7847;n t&#7855;t ri&#234;ng &#273;i cho h&#7885;.
</confmessagerie>
<confforums>
{{{V&#7853;n h&#224;nh c&#7911;a di&#7877;n &#273;&#224;n c&#244;ng c&#7897;ng}}}
Vi&#7879;c qu&#7843;n tr&#7883; c&#225;c di&#7877;n &#273;&#224;n c&#244;ng c&#7897;ng t&#249;y thu&#7897;c m&#7895;i ng&#432;&#7901;i webmaster, t&#249;y theo nhu c&#7847;u c&#7911;a m&#7895;i website. C&#243; ng&#432;&#7901;i mu&#7889;n c&#243; di&#7877;n &#273;&#224;n, ng&#432;&#7901;i th&#236; mu&#7889;n di&#7877;n &#273;&#224;n m&#7903; r&#7897;ng cho b&#7845;t c&#7913; ai, ng&#432;&#7901;i kh&#225;c th&#236; mu&#7889;n &#273;i&#7873;u h&#7907;p (tr&#432;&#7899;c) di&#7877;n &#273;&#224;n, th&#432; t&#237;n ph&#7843;i &#273;&#432;&#7907;c ch&#7845;p thu&#7853;n tr&#432;&#7899;c khi &#273;&#259;ng l&#234;n.
SPIP cho ph&#233;p b&#7841;n l&#7921;a ch&#7885;n c&#225;ch v&#7853;n h&#224;nh c&#7911;a di&#7877;n &#273;&#224;n c&#244;ng c&#7897;ng (di&#7877;n &#273;&#224;n n&#7897;i b&#7897; d&#224;nh ri&#234;ng cho vi&#7879;c qu&#7843;n tr&#7883; &#273;&#432;&#7907;c xem nh&#432; l&#224; di&#7877;n &#273;&#224;n m&#7903; r&#7897;ng cho t&#7845;t c&#7843; c&#225;c ch&#7911; b&#250;t, v&#224; c&#243; &#273;i&#7873;u h&#7907;p {sau}).
- {{Kh&#243;a di&#7877;n &#273;&#224;n l&#7841;i}}
N&#7871;u &#273;&#7863;c &#273;i&#7875;m di&#7877;n &#273;&#224;n b&#7883; t&#7855;t/kh&#243;a l&#7841;i th&#236; giao di&#7879;n li&#234;n quan &#273;&#7871;n di&#7877;n &#273;&#224;n s&#7869; bi&#7871;n m&#7845;t v&#224; c&#225;c th&#432; t&#237;n &#273;&#259;ng trong di&#7877;n &#273;&#224;n s&#7869; kh&#244;ng hi&#7879;n ra (th&#432; t&#237;n kh&#244;ng b&#7883; x&#243;a kh&#7887;i database, ch&#7881; kh&#244;ng hi&#7879;n ra th&#244;i). Khi kh&#243;a l&#7841;i di&#7877;n &#273;&#224;n s&#7869; kh&#244;ng ch&#7841;y n&#7919;a, m&#7863;c d&#7847;u trong c&#7845;u h&#236;nh (khu&#244;n m&#7851;u) c&#7911;a website c&#243; ghi l&#224; d&#249;ng di&#7877;n &#273;&#224;n.
B&#7841;n c&#243; th&#7875; kh&#243;a lu&#244;n (website coi nh&#432; kh&#244;ng c&#243; di&#7877;n &#273;&#224;n) hay kh&#243;a t&#7841;m th&#7901;i (&#273;&#236;nh ch&#7881; di&#7877;n &#273;&#224;n &#273;&#7875; tr&#7845;n t&#297;nh t&#236;nh h&#236;nh, hay &#273;&#7875; b&#7841;n &#273;i ngh&#297; m&#225;t, hay &#273;&#7875; chuy&#7875;n website sang n&#417;i kh&#225;c).
- {{Di&#7877;n &#273;&#224;n c&#243; &#273;i&#7873;u h&#7907;p (sau)}}
Khi di&#7877;n &#273;&#224;n c&#243; &#273;i&#7873;u h&#7907;p {sau}, th&#432; t&#237;n g&#7917;i l&#234;n s&#7869; &#273;&#432;&#7907;c &#273;&#259;ng ngay. Sau &#273;&#243; b&#7841;n to&#224;n quy&#7873;n v&#224;o trang qu&#7843;n tr&#7883; di&#7877;n &#273;&#224;n &#273;&#7875; &#273;i&#7873;u h&#7907;p c&#225;c th&#432; t&#237;n trao &#273;&#7893;i t&#249;y &#253; theo ho&#224;n c&#7843;nh. {&#273;i&#7873;u h&#7907;p sau l&#224; ph&#432;&#417;ng th&#7913;c &#273;&#7883;nh s&#7861;n cho SPIP}
- {{Di&#7877;n &#273;&#224;n c&#243; &#273;i&#7873;u h&#7907;p (tr&#432;&#7899;c)}}
Trong m&#7897;t di&#7877;n &#273;&#224;n c&#243; &#273;i&#7873;u h&#7907;p {tr&#432;&#7899;c}, th&#432; t&#237;n g&#7917;i v&#224;o &#273;&#432;&#7907;c gi&#7919; &#273;&#243; nh&#432;ng ch&#432;a &#273;&#259;ng li&#7873;n. Qu&#7843;n tr&#7883; vi&#234;n ph&#7843;i v&#224;o trang qu&#7843;n tr&#7883; di&#7877;n &#273;&#224;n &#273;&#7875; ch&#7845;p thu&#7853;n (hay t&#7915; ch&#7889;i) t&#7915;ng th&#432; t&#237;n m&#7897;t.
- {{Di&#7877;n &#273;&#224;n c&#243; ghi danh}}
N&#7871;u &#273;i&#7877;n &#273;&#224;n thu&#7897;c lo&#7841;i ph&#7843;i c&#243; ghi danh th&#236; ai mu&#7889;n &#273;&#259;ng t&#7843;i tin t&#7913;c ph&#7843;i ghi danh b&#7857;ng c&#225;ch cung c&#7845;p &#273;&#7883;a ch&#7881; email. Sau &#273;&#243; h&#7885; s&#7869; nh&#7853;n &#273;&#432;&#7907;c t&#234;n g&#7885;i (ID) qua email. &#272;&#7889;i v&#7899;i ch&#7911; b&#250;t &#273;&#227; c&#243; ph&#233;p ra v&#224;o, th&#236; t&#234;n g&#7885;i n&#224;y ch&#237;nh l&#224; login c&#7911;a h&#7885;.
Ph&#432;&#417;ng th&#7913;c n&#224;y l&#224; m&#7897;t s&#7921; dung h&#242;a gi&#7919;a nhu c&#7847;u c&#243; tr&#225;ch nhi&#7879;m (tham d&#7921; vi&#234;n ph&#7843;i cung c&#7845;p &#273;&#7883;a ch&#7881; email c&#243; hi&#7879;u l&#7921;c) m&#224; kh&#244;ng c&#7847;n &#273;i&#7873;u h&#7907;p tr&#432;&#7899;c (sau khi ghi danh r&#7891;i, h&#7885; c&#243; th&#7875; &#273;&#259;ng tin tr&#7921;c ti&#7871;p).
H&#417;n th&#7871; n&#7919;a, ph&#432;&#417;ng th&#7913;c n&#224;y cho ph&#233;p v&#244; {s&#7893; &#273;en} nh&#7919;ng ng&#432;&#7901;i l&#7841;m d&#7909;ng di&#7877;n &#273;&#224;n. Khi b&#7841;n x&#243;a (trong trang qu&#7843;n tr&#7883; di&#7877;n &#273;&#224;n) m&#7897;t b&#7843;n tin &#273;&#259;ng theo ki&#7875;u "ghi danh", b&#7841;n c&#243; th&#7875; xem h&#7891; s&#417; c&#7911;a t&#225;c gi&#7843; c&#7911;a b&#7843;n tin &#273;&#243;. B&#7841;n ch&#7881; c&#7847;n cho t&#234;n t&#225;c gi&#7843; n&#224;y "v&#244; x&#7885;t r&#225;c": sau &#273;&#243; t&#234;n hi&#7879;u c&#7911;a ng&#432;&#7901;i &#273;&#243; s&#7869; kh&#244;ng s&#7917; d&#7909;ng &#273;&#432;&#7907;c n&#7919;a v&#224; ng&#432;&#7901;i &#273;&#243; c&#361;ng kh&#244;ng th&#7875; xin m&#7897;t t&#234;n hi&#7879;u kh&#225;c v&#7899;i c&#249;ng &#273;&#7883;a ch&#7881; email.
<FONT COLOR='red'>C&#7843;nh b&#225;o: d&#7841;ng "di&#7877;n &#273;&#224;n c&#243; ghi danh" bu&#7897;c m&#225;y ch&#7911; ph&#7843;i c&#243; kh&#7843; n&#259;ng g&#7917;i email t&#7921; &#273;&#7897;ng. N&#7871;u kh&#244;ng c&#243; t&#7889;t nh&#7845;t l&#224; &#273;&#7893;i m&#225;y ch&#7911;)</FONT>
</confforums>
<confmoteur>
{{{T&#7855;t/m&#7903; c&#417; ph&#7853;n t&#236;m ki&#7871;m }}}
SPIP c&#243; m&#7897;t c&#417; ph&#7853;n t&#236;m ki&#7871;m. Khi &#273;&#432;&#7907;c m&#7903; l&#234;n, m&#7897;t h&#7879; th&#7889;ng so&#7841;n m&#7909;c l&#7909;c b&#224;i v&#7903; s&#7869; ph&#226;n t&#225;ch n&#7897;i dung t&#7845;t c&#7843; b&#224;i vi&#7871;t. Ho&#7841;t &#273;&#7897;ng n&#224;y, tuy l&#224; cho ph&#233;p vi&#7879;c t&#236;m ki&#7871;m r&#7845;t l&#7865; l&#224;ng sau &#273;&#243;, nh&#432;ng t&#7889;n r&#7845;t nhi&#7873;u c&#244;ng s&#7913;c cho m&#225;y ch&#7911;. Trong tr&#432;&#7901;ng h&#7907;p m&#225;y y&#7871;u, n&#243; s&#7869; g&#226;y m&#7897;t s&#7889; tr&#7903; ng&#7841;i.
V&#236; l&#253; do tr&#234;n, b&#7841;n c&#243; th&#7875; t&#7855;t hay m&#7903; h&#7879; th&#7889;ng so&#7841;n m&#7909;c l&#7909;c.
D&#7919; ki&#7879;n ph&#7909; tr&#7897;i c&#7911;a c&#417; ph&#7853;n t&#236;m ki&#7871;m c&#7911;a SPIP g&#7847;n nh&#432; {{t&#259;ng g&#7845;p ba}} ch&#7895; ch&#7913;a tr&#234;n d&#297;a c&#7913;ng c&#7911;a database. M&#7863;t kh&#225;c, trong m&#7897;t m&#225;y y&#7871;u hay m&#225;y l&#224;m vi&#7879;c nhi&#7873;u, vi&#7879;c so&#7841;n m&#7909;c l&#7909;c c&#243; th&#7875; l&#224;m gi&#7843;m hi&#7879;u n&#259;ng, hay c&#243; khi g&#226;y ra l&#7895;i th&#7921;c hi&#7879;n (hi&#7871;m x&#7843;y ra).
N&#243;i chung, n&#7871;u website r&#7845;t l&#7899;n, ch&#250;ng t&#244;i khuy&#234;n kh&#244;ng n&#234;n d&#249;ng c&#417; ph&#7853;n t&#236;m ki&#7871;m, thay v&#224;o &#273;&#243; d&#249;ng nh&#7919;ng s&#7843;n ph&#7849;m &#273;&#7863;c bi&#7879;t nh&#432; <HTML><A
HREF='http://www.htdig.org/' target="_blank">ht://Dig</A></HTML>.
C&#361;ng c&#7847;n ghi nh&#7853;n l&#224; c&#417; ph&#7853;n t&#236;m ki&#7871;m kh&#244;ng so&#7841;n m&#7909;c l&#7909;c t&#7845;t c&#7843; c&#225;c trang c&#249;ng l&#250;c. N&#7871;u b&#7841;n m&#7903; c&#417; ph&#7853;n t&#236;m ki&#7871;m l&#234;n trong l&#250;c website ch&#7913;a m&#7897;t l&#432;&#7907;ng l&#7899;n b&#224;i v&#7903;, b&#7841;n ph&#7843;i ch&#7901; cho &#273;&#7871;n khi website c&#243; &#273;&#432;&#7907;c m&#7897;t s&#7889; l&#432;&#7907;ng l&#7847;n v&#224;o xem (&#432;&#7899;c l&#432;&#7907;ng) t&#432;&#417;ng &#273;&#432;&#417;ng v&#7899;i s&#7889; l&#432;&#7907;ng v&#259;n b&#7843;n &#273;&#7875; so&#7841;n m&#7909;c l&#7909;c th&#236; l&#250;c &#273;&#243; c&#417; ph&#7853;n t&#236;m ki&#7871;m m&#7899;i &#273;&#432;&#7907;c c&#7853;p nh&#7853;t.
</confmoteur>
<confnom>
{{{T&#234;n v&#224; URL c&#7911;a website}}}
T&#234;n v&#224; URL c&#7911;a website b&#7841;n d&#249;ng &#273;&#7875; l&#7853;p ra h&#7891; s&#417; &laquo;backend.php3&raquo;. H&#7891; s&#417; n&#224;y d&#249;ng v&#224;o vi&#7879;c syndication c&#7911;a website (t&#7913;c l&#224;, hi&#7875;n th&#7883; tr&#234;n m&#7897;t website kh&#225;c danh s&#225;ch 10 b&#224;i &#273;&#259;ng t&#7843;i m&#7899;i nh&#7845;t tr&#234;n website b&#7841;n).
URL c&#7911;a website b&#7841;n ph&#7843;i l&#224; &#273;&#7883;a ch&#7881; trang nh&#224; {ng&#259;n} ch&#7913; kh&#244;ng ph&#7843;i h&#7891; s&#417; HTML t&#432;&#417;ng &#7913;ng; do &#273;&#243; &#273;&#7883;a ch&#7881; n&#234;n t&#7853;n c&#249;ng b&#7857;ng k&#253; hi&#7879;u &laquo;/&raquo;. N&#7871;u &#273;&#7883;a ch&#7881; trang nh&#224; l&#224;:
<HTML><TT>http://www.mysite.net/index.html</TT></HTML>,
Th&#236; URL c&#7911;a website b&#7841;n s&#7869; l&#224;:
<HTML><TT>http://www.mysite.net/</TT></HTML>
</confnom>
<confstat>
{{{Th&#7889;ng k&#234; s&#7889; l&#7847;n xem}}}
SPIP c&#243; m&#7897;t h&#7879; th&#7889;ng &#273;&#417;n gi&#7843;n cho ph&#233;p b&#7841;n &#273;&#7871;m v&#224; theo d&#245;i s&#7889; l&#7847;n v&#224;o xem trang web v&#224; t&#7915;ng b&#224;i m&#7897;t. &#272;&#7891;ng th&#7901;i b&#7841;n c&#361;ng &#273;&#432;&#7907;c bi&#7871;t nh&#7919;ng website n&#224;o kh&#225;c chuy&#7875;n ng&#432;&#7901;i xem v&#224;o website b&#7841;n v&#224; t&#7915;ng b&#224;i m&#7897;t.
- {{S&#7889; l&#7847;n v&#224;o xem}}
M&#7895;i ng&#224;y, SPIP nh&#7853;n di&#7879;n &laquo;t&#7915;ng ng&#432;&#7901;i xem ri&#234;ng bi&#7879;t&raquo; v&#224;o xem website b&#7841;n d&#7921;a theo &#273;&#7883;a ch&#7881; IP. H&#7879; th&#7889;ng r&#7845;t l&#7865; v&#224; {t&#432;&#417;ng &#273;&#7889;i} x&#225;c th&#7921;c (&#273;&#226;y l&#224; m&#7897;t s&#7921; &#432;&#7899;c l&#432;&#7907;ng {t&#432;&#417;ng &#273;&#7889;i} ch&#237;nh x&#225;c v&#7873; s&#7889; ng&#432;&#7901;i v&#224;o xem trang web, ch&#7913; kh&#244;ng ph&#7843;i ch&#7881; l&#224; s&#7889; l&#7847;n &laquo;v&#224;o xem&raquo;
hay &laquo;s&#7889; trang v&#224;o &#273;&#7885;c&raquo;; m&#7897;t &#273;&#7897;c gi&#7843; v&#224;o ra m&#7897;t trang n&#224;o &#273;&#243; nhi&#7873;u l&#7847;n v&#7851;n &#273;&#432;&#7907;c xem nh&#432; l&#224; &laquo;m&#7897;t ng&#432;&#7901;i xem ri&#234;ng bi&#7879;t&raquo;).
- {{V&#224;o xem th&#7859;ng hay n&#417;i n&#7889;i k&#7871;t}}
&laquo;V&#224;o xem th&#7859;ng&raquo; l&#224; vi&#7879;c v&#224;o xem trang web hay m&#7897;t b&#224;i trong web t&#7915; m&#7897;t website kh&#225;c (website &#273;&#243; ch&#7913;a m&#7897;t &#273;i&#7875;m n&#7889;i k&#7871;t v&#224;o website c&#7911;a b&#7841;n).
Cho to&#224;n b&#7897; website v&#224; t&#7915;ng b&#224;i m&#7897;t, SPIP hi&#7875;n th&#7883; danh s&#225;ch c&#7911;a c&#225;c &laquo;n&#417;i n&#7889;i k&#7871;t&raquo; (nh&#7919;ng trang c&#243; &#273;i&#7875;m n&#7889;i &#273;&#7871;n website b&#7841;n), c&#249;ng v&#7899;i s&#7889; l&#7847;n &laquo;vi&#7871;ng tr&#7921;c ti&#7871;p&raquo; (s&#7889; &#273;&#7897;c gi&#7843; v&#224;o xem theo ng&#245; n&#7889;i k&#7871;t n&#224;y).
-----
- {{H&#7879; th&#7889;ng &laquo;t&#432;&#417;ng &#273;&#7889;i&raquo; x&#225;c th&#7921;c}}
M&#7897;t h&#7879; th&#7889;ng tr&#7885;n v&#7865;n &#273;&#7875; ph&#226;n t&#225;ch l&#432;u l&#432;&#7907;ng giao th&#244;ng &#273;&#242;i h&#7887;i r&#7845;t nhi&#7873;u c&#244;ng s&#7913;c (s&#7913;c CPU v&#224; b&#7897; nh&#7899;); do &#273;&#243;, h&#7879; th&#7889;ng SPIP d&#249;ng &#273;&#432;&#7907;c &#273;&#417;n gi&#7843;n h&#243;a &#273;&#7875; c&#243; th&#7875; th&#7853;t l&#7865; v&#224; chi&#7871;m ch&#7895; th&#7853;t &#237;t.
H&#417;n n&#7919;a, vi&#7879;c &#273;&#7871;m &laquo;s&#7889; ng&#432;&#7901;i xem ri&#234;ng bi&#7879;t&raquo;) d&#7921;a v&#224;o &#273;&#7883;a ch&#7881; IP h&#224;ng ng&#224;&#7925; &#272;&#226;y kh&#244;ng ph&#7843;i l&#224; ph&#432;&#417;ng th&#7913;c ch&#237;nh x&#225;c nh&#7845;t, tuy nhi&#234;n ch&#250;ng t&#244;i ngh&#297; n&#243; &#273;&#7911; x&#225;c th&#7921;c m&#7897;t c&#225;ch &laquo;t&#432;&#417;ng &#273;&#7889;i&raquo;.
N&#7871;u mu&#7889;n c&#243; ph&#226;n t&#225;ch chi ti&#7871;t l&#432;u l&#432;&#7907;ng giao th&#244;ng c&#7911;a website b&#7841;n, h&#227;y d&#249;ng m&#7897;t h&#7879; th&#7889;ng kh&#225;c chuy&#234;n m&#244;n h&#417;n v&#7873; vi&#7879;c ph&#226;n t&#225;ch th&#7889;ng k&#234;.
- {{T&#237;nh to&#225;n h&#224;ng ng&#224;y}}
H&#7879; th&#7889;ng ph&#226;n t&#237;ch l&#432;u l&#432;&#417;ng giao th&#244;ng c&#7911;a SPIP &#273;&#7871;m s&#7889; l&#432;&#7907;ng &#273;&#7897;c gi&#7843; v&#224; c&#225;c n&#417;i n&#7889;i k&#7871;t h&#224;ng ng&#224;y (kh&#244;ng ph&#7843;i li&#7873;n ngay l&#7853;p t&#7913;c). V&#236; th&#7871;, m&#7897;t s&#7889; d&#7919; ki&#7879;n &#273;&#244;i khi tr&#244;ng kh&#244;ng h&#7907;p l&#253; v&#236; ch&#432;a c&#243; to&#224;n b&#7897; d&#7919; ki&#7879;n trong ng&#224;y. N&#7871;u kh&#244;ng ch&#7855;c th&#236; xem trang &#273;ang hi&#7875;n th&#7883; th&#7889;ng k&#234; l&#224; trang x&#225;c th&#7921;c v&#224; chi ti&#7871;t nh&#7845;t. Do &#273;&#243;, trang th&#7889;ng k&#234; c&#7911;a m&#7897;t b&#224;i vi&#7871;t ch&#7881; c&#243; &#273;&#432;&#7907;c sau ng&#224;y &#273;&#259;ng t&#7843;i &#273;&#7847;u ti&#234;n (s&#7889; l&#432;&#7907;ng kh&#244;ng bi&#7871;t v&#236; SPIP ch&#432;a ph&#226;n t&#237;ch ch&#250;ng).
- {{T&#7855;t/m&#7903; th&#7889;ng k&#234; v&#224; n&#417;i k&#7871;t n&#7889;i}}
Vi&#7879;c &#273;&#7871;m s&#7889; l&#432;&#7907;ng &#273;&#7897;c gi&#7843; v&#224;o xem trang web kh&#244;ng t&#7889;n qu&#225; nhi&#7873;u c&#244;ng s&#7913;c hay cho&#225;n nhi&#7873;u ch&#7895; d&#297;a c&#7913;ng. V&#236; v&#7853;y kh&#244;ng l&#253; do g&#236; &#273;&#7875; t&#7855;t &#273;&#7863;c &#273;i&#7875;m n&#224;y tr&#7915; phi server qu&#225; ch&#7853;m.
M&#7863;t kh&#225;c, h&#7879; th&#7889;ng &#273;&#7871;m c&#225;c n&#417;i n&#7889;i k&#7871;t t&#7889;n nhi&#7873;u c&#244;ng s&#7913;c h&#417;n. V&#236; th&#7871; &#273;&#7863;c &#273;i&#7875;m n&#224;y b&#7883; kh&#243;a l&#7841;i. Ch&#7881; n&#234;n m&#7903; ch&#7913;c n&#259;ng n&#224;y l&#234;n n&#7871;u server b&#7841;n r&#7845;t m&#7841;nh (server &#273;&#227; t&#7889;n c&#244;ng s&#7913;c t&#237;nh to&#225;n s&#7889; l&#432;&#7907;ng b&#224;i d&#224;i th&#236; kh&#243; m&#224; c&#243; s&#7913;c &#273;&#7875; t&#237;nh to&#225;n th&#234;m c&#225;c n&#417;i k&#7871;t n&#7889;i).
- {{PS:}} Disk space and computing time necessary for the follow-up of visits and referrers increase with your site's traffic. The more a site is visited, the more the technical needs to perform these tasks increases.
- {{TB:}} Ch&#7895; d&#297;a c&#7913;ng v&#224; th&#7901;i gian t&#237;nh to&#225;n c&#7847;n thi&#7871;t cho s&#7889; l&#7847;n v&#224;o xem v&#224; c&#225;c n&#417;i k&#7871;t n&#7889;i gia t&#259;ng theo l&#432;u l&#432;&#7907;ng giao th&#244;ng c&#7911;a website. Website c&#224;ng c&#243; nhi&#7873;u ng&#432;&#7901;i v&#224;o xem, th&#236; c&#224;ng t&#7889;n c&#244;ng s&#7913;c v&#224; ch&#7895; &#273;&#7875; th&#7921;c hi&#7879;n th&#7889;ng k&#234;.
</confstat>
<install0>
{{{Ti&#234;n kh&#7903;i: Chu&#7849;n b&#7883; ph&#233;p t&#7855;c}}}
Khi b&#7841;n thi&#7871;t k&#7871;t h&#7891; s&#417; SPIP b&#7857;ng FTP, m&#7897;t s&#7889; {{ng&#259;n}} s&#7869; kh&#244;ng &#273;&#432;&#7907;c c&#7845;u h&#236;nh &#273;&#250;ng, do &#273;&#243;, b&#7841;n ph&#7843;i &#273;i&#7873;u ch&#7881;nh c&#7845;u h&#236;nh c&#7911;a ch&#250;ng b&#7857;ng FTP.
B&#7841;n c&#7847;n &#273;i&#7873;u ch&#7881;nh &laquo;ph&#233;p &#273;&#7885;c/vi&#7871;t&raquo; c&#7911;a c&#225;c ng&#259;n sau &#273;&#226;y:
- {{/CACHE}}
- {{/IMG}}
- {{/ecrire}}
- {{/ecrire/data}}
C&#225;c nhu li&#7879;u FTP c&#243; kh&#225;c nhau v&#7873; ch&#7913;c n&#259;ng, nh&#432;ng ph&#432;&#417;ng th&#7913;c &#273;i&#7873;u ch&#7881;nh c&#259;n b&#7843;n l&#224;:
- ch&#7885;n ng&#259;n b&#7841;n mu&#7889;n &#273;i&#7873;u ch&#7881;nh &laquo;ph&#233;p &#273;&#7885;c/vi&#7871;t&raquo;;
- t&#236;m trong nhu li&#7879;u FTP &#273;&#7863;c t&#237;nh &laquo;change (or {modify} or {set} permissions&raquo;;
- N&#7871;u &#273;&#7863;c t&#237;nh n&#224;y hi&#7879;n ra trong giao di&#7879;n &#273;&#7891; h&#7885;a, &#273;&#225;nh d&#7845;u trong c&#225;c &#244; &laquo;Write&raquo; for the &laquo;Others&raquo; (or &laquo;World&raquo; or &laquo;All users&raquo;):
<CENTER><img src="AIDE/install0.gif" alt=" " border="0"></CENTER>
- N&#7871;u &#273;&#7863;c t&#237;nh n&#224;y hi&#7879;n ra trong d&#7841;ng &laquo;ch&#7919;&raquo; c&#7845;u h&#236;nh b&#7857;ng s&#7889; l&#224; &laquo;777&raquo;.
Khi b&#7841;n &#273;i&#7873;u ch&#7881;nh nh&#432; th&#7871; cho c&#225;c ng&#259;n m&#224; ph&#7847;n thi&#7871;t k&#7875; b&#7843;o &#273;&#7893;i, b&#7841;n ph&#7843;i n&#7841;p l&#7841;i trang web v&#224; quy tr&#236;nh thi&#7871;t k&#7871; s&#7869; t&#7921; &#273;&#7897;ng ch&#7841;y ti&#7871;p.
</install0>
<install1>
{{{M&#243;c n&#7889;i v&#7899;i MySQL}}}
B&#432;&#7899;c n&#224;y cho v&#224;o c&#225;c d&#7919; ki&#7879;n c&#7847;n thi&#7871;t &#273;&#7875; SPIP giao ti&#7871;p &#273;&#432;&#7907;c v&#7899;i MySQL server.
- {&#272;&#7883;a ch&#7881; database:} t&#249;y theo ch&#7885;n l&#7921;a c&#7911;a m&#225;y ch&#7911;, d&#7919; ki&#7879;n n&#224;y s&#7869; ch&#7881; l&#224; &laquo;localhost&raquo;, ho&#7863;c l&#224; &#273;&#7883;a ch&#7881; website (&laquo;www.mysite.org&raquo;).
- {login v&#224;o/Connection login:} &#273;&#226;y th&#432;&#7901;ng l&#224; login m&#224; b&#7841;n d&#249;ng &#273;&#7875; chuy&#7875;n t&#7843;i h&#7891; s&#417; b&#7857;ng FTP.
- {m&#7853;t m&#227; v&#224;o/Connection password:} &#273;&#226;y c&#361;ng th&#432;&#7901;ng l&#224; m&#7853;t m&#227; m&#224; b&#7841;n d&#249;ng &#273;&#7875; v&#224;o website b&#7857;ng FTP.
- Nh&#7919;ng d&#7919; ki&#7879;n tr&#234;n kh&#244;ng &#273;&#432;&#7907;c ch&#7871; ra t&#7841;i ch&#7895;: n&#7871;u kh&#244;ng bi&#7871;t t&#7913;c l&#224; b&#7841;n &#273;&#227; kh&#244;ng &#273;&#432;&#7907;c cung c&#7845;p d&#7919; ki&#7879;n ra/v&#224;o. Do &#273;&#243;, n&#7871;u kh&#244;ng c&#243; d&#7919; ki&#7879;n n&#224;y, b&#7841;n kh&#244;ng ti&#7871;p t&#7909;c &#273;&#432;&#7907;c.
- Nh&#7919;ng d&#7919; ki&#7879;n tr&#234;n &#273;&#432;&#7907;c cung c&#7845;p {{b&#7903;i ch&#7911; nh&#226;n website}}: &#273;&#7875; c&#243; d&#7919; ki&#7879;n ra/v&#224;o, li&#234;n l&#7841;c v&#7899;i ng&#432;&#7901;i tr&#225;ch nhi&#7879;m (xin &#273;&#7915;ng h&#7887;i nh&#243;m l&#7853;p tr&#236;nh SPIP, ch&#250;ng t&#244;i kh&#244;ng c&#243; nh&#7919;ng d&#7919; ki&#7879;n n&#224;y!). M&#7897;t s&#7889; m&#225;y cung c&#7845;p c&#225;c d&#7919; ki&#7879;n tr&#234;n qua ph&#7847;n h&#432;&#7899;ng d&#7851;n online.
- Th&#432;&#7901;ng th&#236; b&#7841;n c&#7847;n ph&#7843;i {{h&#7887;i}} ch&#7911; nh&#226;n m&#225;y cho ph&#233;p v&#224;o MySQL ho&#7863;c ch&#237;nh b&#7841;n ph&#7843;i ho&#224;n t&#7845;t m&#7897;t th&#7911; t&#7909;c &#273;&#7863;c bi&#7879;t n&#224;o &#273;&#243; &#273;&#7875; l&#224;m chuy&#7879;n n&#224;y. Nhi&#7873;u m&#225;y ch&#7911; tuy c&#243; cho ph&#233;p d&#249;ng MySQL database nh&#432;ng kh&#244;ng c&#243; cho ph&#233;p m&#7897;t c&#225;ch t&#7921; &#273;&#7897;ng khi b&#7841;n mua/thi&#7871;t tr&#237; tr&#432;&#417;ng m&#7909;c. Sau khi m&#7903; tr&#432;&#417;ng m&#7909;c, b&#7841;n ph&#7843;i y&#234;u c&#7847;u &#273;&#432;&#7907;c ph&#233;p ra/v&#224;o s&#7917; d&#7909;ng MySQL. Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, xin &#273;&#7885;c t&#224;i li&#7879;u h&#432;&#7899;ng d&#7851;n c&#7911;a m&#225;y ch&#7911; &#273;&#7875; bi&#7871;t c&#225;ch xin ph&#233;p v&#224;o s&#7917; d&#7909;ng MySQL. (M&#7897;t l&#7847;n n&#7919;a, nh&#243;m SPIP kh&#244;ng c&#243; d&#7919; ki&#7879;n &#273;&#7875; gi&#250;p b&#7841;n &#7903; &#273;&#226;y).
</install1>
<install2>
{{{ch&#7885;n database cho b&#7841;n}}}
- B&#7841;n ph&#7843;i ch&#7885;n {t&#234;n} c&#7911;a database m&#224; m&#225;y ch&#7911; &#273;&#227; thi&#7871;t l&#7853;p. Ch&#7911; nh&#226;n server cung c&#7845;p d&#7919; ki&#7879;n n&#224;y cho b&#7841;n: n&#7871;u kh&#244;ng c&#243;, xin li&#234;n l&#7841;c v&#7899;i ch&#7911; nh&#226;n server. (&#273;&#7915;ng y&#234;u c&#7847;u nh&#243;m SPIP, ch&#250;ng t&#244;i kh&#244;ng c&#243; nh&#7919;ng d&#7919; ki&#7879;n n&#224;y).
- D&#7919; ki&#7879;n n&#224;y th&#432;&#7901;ng th&#236; gi&#7889;ng nh&#432; {login} c&#7911;a tr&#432;&#417;ng m&#7909;c b&#7841;n (d&#249;ng &#273;&#7875; ra/v&#224;o website b&#7857;ng FTP).
- Ch&#7885;n l&#7921;a th&#7913; nh&#7845;t (th&#244;ng th&#432;&#7901;ng nh&#7845;t): m&#7897;t danh s&#225;ch tr&#432;&#417;ng m&#7909;c &#273;&#432;&#7907;c hi&#7875;n th&#7883; (&#273;&#244;i khi kh&#225; d&#224;i, t&#249;y theo m&#225;y). Trong s&#7889; tr&#432;&#417;ng m&#7909;c n&#224;y, ch&#7881; c&#243; m&#7897;t c&#225;i l&#224; c&#7911;a b&#7841;n. B&#7841;n ch&#7881; ch&#7885;n &#273;&#250;ng tr&#432;&#417;ng m&#7909;c c&#7911;a b&#7841;n v&#224; ch&#7845;p nh&#7853;n &#273;&#7875; &#273;i qua b&#432;&#7899;c k&#7871;.
- Ch&#7885;n l&#7921;a th&#7913; hai: ch&#7881; hi&#7879;n ra m&#7897;t t&#234;n duy nh&#7845;t t&#432;&#417;ng &#7913;ng v&#7899;i tr&#432;&#417;ng m&#7909;c b&#7841;n (m&#225;y ch&#7911; &#273;&#432;&#7907;c thi&#7871;t tr&#237; &#273;&#7875; t&#7921; &#273;&#7897;ng hi&#7875;n th&#7883; duy nh&#7845;t tr&#432;&#417;ng m&#7909;c b&#7841;n). &#272;&#417;n gi&#7843;n: ch&#7885;n tr&#432;&#417;ng m&#7909;c n&#224;y v&#224; ch&#7845;p nh&#7853;n.
- Ch&#7885;n l&#7921;a th&#7913; ba (th&#432;&#7901;ng l&#224; cho m&#7897;t tr&#432;&#417;ng m&#7909;c c&#243; nhi&#7873;u quy&#7873;n h&#7841;n): b&#7841;n ph&#7843;i {thi&#7871;t l&#7853;p} database c&#7911;a m&#236;nh. Trong tr&#432;&#7901;ng h&#7907;p n&#224;y (sau khi ki&#7875;m tra l&#7841;i l&#224; trong danh s&#225;ch tr&#234;n kh&#244;ng c&#243; tr&#432;&#417;ng m&#7909;c c&#7911;a b&#7841;n), b&#7841;n c&#243; th&#7875; cho v&#224;o t&#234;n database trong khung k&#7871; b&#234;n ch&#7881; d&#7851;n &laquo;thi&#7871;t l&#7853;p m&#7897;t database m&#7899;i&raquo;.
- Ch&#7885;n l&#7921;a ch&#243;t (th&#7845;t b&#7841;i): tr&#432;&#417;ng m&#7909;c b&#7841;n kh&#244;ng c&#243; trong danh s&#225;ch, v&#224; b&#7841;n kh&#244;ng th&#7875; thi&#7871;t l&#7853;p database cho ch&#237;nh m&#236;nh. Chuy&#7879;n n&#224;y hi&#7871;m x&#7843;y ra: &#273;i&#7873;u n&#224;y c&#243; ngh&#297;a l&#224; m&#225;y ch&#7911; c&#243; cho ph&#233;p v&#224;o database server, nh&#432;ng l&#7841;i qu&#234;n thi&#7871;t l&#7853;p tr&#432;&#417;ng m&#7909;c cho b&#7841;n. Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, b&#7841;n n&#234;n li&#234;n l&#7841;c v&#7899;i ch&#7911; nh&#226;n host tr&#7921;c ti&#7871;p.
</install2>
<install5>
{{{D&#7919; ki&#7879;n c&#225; nh&#226;n}}}
B&#432;&#7899;c n&#224;y r&#7845;t &#273;&#417;n gi&#7843;n, nh&#432;ng b&#7841;n l&#7841;i ph&#7843;i c&#7849;n th&#7853;n. &#272;&#226;y l&#224; b&#432;&#7899;c &#273;&#7875; thi&#7871;t l&#7853;p danh t&#225;nh c&#7911;a b&#7841;n. N&#7871;u v&#7897;i v&#7843;, h&#7845;p t&#7845;p v&#224; v&#7845;p ph&#7843;i l&#7895;i, b&#7841;n s&#7869; kh&#244;ng n&#7889;i v&#224;o website &#273;&#432;&#7907;c...
L&#432;u &#253; l&#224; m&#7897;t khi website &#273;&#227; thi&#7871;t tr&#237; r&#7891;i, b&#7841;n c&#243; th&#7875; thay &#273;&#7893;i nh&#7919;ng d&#7919; ki&#7879;n n&#224;y.
- {Danh x&#432;ng c&#244;ng c&#7897;ng:} &#273;&#226;y s&#7869; l&#224; b&#250;t k&#253; b&#224;i v&#7903; c&#7911;a b&#7841;n.
- {ID ra/v&#244;:} &#273;&#226;y l&#224; ID do {{b&#7841;n t&#7921; ch&#7885;n}} &#273;&#7875; n&#7889;i v&#224;o h&#7879; th&#7889;ng SPIP. D&#7919; ki&#7879;n n&#224;y kh&#244;ng nh&#7845;t thi&#7871;t tr&#249;ng v&#7899;i d&#7919; ki&#7879;n m&#225;y ch&#7911; cho b&#7841;n &#273;&#7875; n&#7889;i v&#224;o tr&#432;&#417;ng m&#7909;c b&#7857;ng FTP. Ng&#432;&#7907;c l&#7841;i, {ch&#250;ng t&#244;i khuy&#7871;n kh&#237;ch b&#7841;n kh&#244;ng n&#234;n d&#249;ng c&#249;ng ID} &#273;&#7875; ra/v&#224;o SPIP (b&#7841;n t&#7921; do ch&#7885;n l&#7921;a} v&#224; &#273;&#7875; ra/v&#224;o FTP (do m&#225;y ch&#7911; &#273;&#7883;nh s&#7861;n).
</install5>
<intersimple>
{{{Xem &#273;&#417;n gi&#7843;n / xem t&#7845;t c&#7843;}}}
M&#7895;i ng&#432;&#7901;i s&#7917; d&#7909;ng h&#7879; th&#7889;ng SPIP c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh ph&#7847;n tr&#236;nh b&#224;y c&#7911;a giao di&#7879;n (m&#224; kh&#244;ng &#7843;nh h&#432;&#7903;ng &#273;&#7871;n ng&#432;&#7901;i kh&#225;c, kh&#225;c v&#7899;i &laquo; <A
HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n</A>&raquo;).
Trong SPIP c&#243; nhi&#7873;u &#273;&#7863;c &#273;i&#7875;m, ch&#7913;c n&#259;ng m&#224; c&#225;c ch&#7911; b&#250;t &#237;t khi (hay kh&#244;ng bao gi&#7901;) d&#249;ng. Do &#273;&#243;, ch&#7885;n ph&#7847;n &laquo;xem &#273;&#417;n gi&#7843;n&raquo; s&#7869; l&#224;m g&#7885;n g&#224;ng ph&#7847;n giao di&#7879;n v&#224; d&#7877; hi&#7875;u d&#7877; d&#249;ng. Trong d&#7841;ng n&#224;y, ch&#7881; hi&#7879;n ra nh&#7919;ng ph&#7847;n t&#7917; n&#224;o th&#7853;t l&#224; c&#7847;n thi&#7871;t cho vi&#7879;c qu&#7843;n tr&#7883; website. L&#7845;y th&#237; d&#7909;, r&#7845;t &#237;t ai c&#7847;n &laquo;<A
HREF="aide_index.php3?aide=artdate_redac" TARGET="_top">Ng&#224;y &#273;&#259;ng t&#7843;i tr&#432;&#7899;c &#273;&#243; </A>&raquo; do &#273;&#243; n&#243; s&#7869; kh&#244;ng xu&#7845;t hi&#7879;n trong d&#7841;ng &laquo;xem &#273;&#417;n gi&#7843;n&raquo;
{{T.B.}} nh&#7919;ng kh&#225;c bi&#7879;t gi&#7919;a hai d&#7841;ng xem &#273;&#417;n gi&#7843;n v&#224; xem t&#7845;t c&#7843; ch&#7881; hi&#7875;n nhi&#234;n h&#417;n &#273;&#7889;i v&#7899;i c&#225;c qu&#7843;n tr&#7883; vi&#234;n v&#236; h&#7885; c&#243; nhi&#7873;u ch&#7913;c n&#259;ng &#273;&#7875; d&#249;ng h&#417;n l&#224; c&#225;c ch&#7911; b&#250;t.
{&#272;&#7875; c&#225;c d&#7841;ng n&#224;y c&#243; hi&#7879;u l&#7921;c, b&#7841;n ph&#7843;i ch&#7845;p nh&#7853;n vi&#7879;c d&#249;ng cookies.}
</intersimple>
<logoart>
{{{Logo c&#7911;a b&#224;i}}}
V&#7899;i h&#7879; th&#7889;ng SPIP b&#7841;n c&#243; th&#7875; g&#224;i m&#7897;t logo t&#432;&#417;ng &#7913;ng v&#7899;i b&#224;i vi&#7871;t. L&#224;m v&#7853;y &#273;&#7875; tr&#234;n trang web hi&#7875;n th&#7883; m&#7897;t n&#250;t nh&#7845;n b&#7857;ng h&#236;nh n&#7889;i v&#7899;i b&#224;i vi&#7871;t.
Cho m&#7897;t b&#224;i vi&#7871;t, b&#7841;n c&#243; th&#7875;:
- kh&#244;ng d&#249;ng logo;
- d&#249;ng m&#7897;t logo &#273;&#7891; h&#7885;a &#273;&#417;n gi&#7843;n;
- d&#249;ng m&#7897;t logo ho&#7841;t h&#7885;a "l&#417; l&#7919;ng" &#273;&#432;&#7907;c (m&#7897;t logo v&#7899;i "2 v&#7883; tr&#237;": logo thay &#273;&#7893;i khi chu&#7897;t di chuy&#7875;n l&#234;n tr&#234;n n&#243;).
- {{C&#225;c d&#7841;ng h&#236;nh}}
Khi b&#7841;n t&#7841;o l&#7853;p c&#225;c h&#236;nh &#7843;nh (v&#7899;i nhu li&#7879;u x&#7917; l&#253; h&#236;nh), b&#7841;n ph&#7843;i l&#432;u gi&#7919; ch&#250;ng trong c&#225;c d&#7841;ng sau &#273;&#226;y:
- GIF (h&#7891; s&#417; GIF c&#243; th&#7875; c&#243; "ho&#7841;t h&#7885;a");
- JPEG;
- PNG (ch&#250;ng t&#244;i khuy&#7871;n c&#225;o kh&#244;ng n&#234;n d&#249;ng v&#236; c&#243; nhi&#7873;u browser kh&#244;ng hi&#7875;u d&#7841;ng n&#224;y).
{&#272;&#7875; tr&#225;nh c&#225;c v&#7845;n &#273;&#7873; k&#7929; thu&#7853;t v&#7853;n h&#224;nh, SPIP kh&#244;ng nh&#7853;n h&#7891; s&#417; h&#236;nh &#7843;nh l&#7899;n h&#417;n 256Kb.} Khuy&#7871;n c&#225;o: v&#236; nh&#7919;ng "n&#250;t nh&#7845;n" n&#224;y l&#224; m&#7897;t ph&#7847;n c&#7911;a giao di&#7879;n &#273;&#7891; h&#7885;a, b&#7841;n c&#7847;n l&#432;u t&#226;m &#273;&#7875; {k&#237;ch th&#432;&#7899;c h&#7891; s&#417;} (kilobytes) &#273;&#7915;ng c&#243; qu&#225; l&#7899;n (th&#432;&#7901;ng th&#236; n&#234;n d&#432;&#7899;i 10Kb) th&#236; vi&#7879;c di &#273;&#7897;ng trong website &#234;m &#7843; h&#417;n.
C&#7847;n ghi nh&#7899; l&#224; t&#234;n h&#7891; s&#417; n&#234;n c&#243; {&#273;u&#244;i} cho bi&#7871;t d&#7841;ng h&#236;nh: {{.gif}}, {{.jpg}} hay {{.png}}. T&#234;n h&#7891; s&#417; kh&#244;ng th&#224;nh v&#7845;n &#273;&#7873; mi&#7877;n l&#224; b&#7841;n &#273;&#7915;ng qu&#234;n {&#273;u&#244;i h&#7891; s&#417;}.
{N&#7871;u b&#7841;n l&#7853;p ra m&#7897;t n&#250;t nh&#7845;n c&#243; kh&#7843; n&#259;ng "l&#417; l&#7919;ng", th&#236; l&#7853;p ra hai h&#7891; s&#417; h&#236;nh kh&#225;c nhau (m&#7897;t c&#225;i cho tr&#7841;ng th&#225;i "th&#432;&#7901;ng" v&#224; c&#225;i kia &#273;&#7875; d&#249;ng khi chu&#7897;t di &#273;&#7897;ng l&#234;n tr&#234;n n&#250;t nh&#7845;n): b&#7855;t bu&#7897;c hai h&#7891; s&#417; n&#224;y ph&#7843;i c&#249;ng k&#237;ch th&#432;&#7899;c (s&#7889; ch&#7845;m).}
- {{Logo &#273;&#417;n gi&#7843;n}} (kh&#244;ng l&#417; l&#7919;ng)
<img src="AIDE/logoart-1.gif" alt=" "
border="0" align="right">&#272;&#7875; th&#234;m m&#7897;t n&#250;t nh&#7845;n, d&#249;ng khung b&#234;n tay tr&#225;i c&#7911;a b&#224;i vi&#7871;t, c&#243; t&#7921;a &#273;&#7873; l&#224; "LOGO B&#192;I VI&#7870;T".
T&#249;y theo &#7845;n b&#7843;n browser &#273;ang d&#249;ng, b&#7845;m v&#224;o n&#250;t "Browse", "Select", "File" &#273;&#7875; m&#7903; m&#7897;t khung &#273;&#7889;i tho&#7841;i cho ph&#233;p b&#7841;n ch&#7885;n h&#7891; s&#417; h&#236;nh &#273;&#7875; l&#224;m n&#250;t nh&#7845;n.
Khi ch&#7885;n h&#7891; s&#417; r&#7891;i, b&#7845;m n&#250;t "Upload". H&#236;nh s&#7869; hi&#7879;n l&#234;n. D&#432;&#7899;i h&#236;nh c&#243; n&#250;t "X&#243;a logo" n&#7871;u b&#7841;n mu&#7889;n b&#7887; n&#243; &#273;i.
N&#7871;u b&#7841;n kh&#244;ng d&#7921; t&#237;nh d&#249;ng logo l&#417; l&#7917;ng, kh&#244;ng c&#7847;n ph&#7843;i l&#224;m g&#236; th&#234;m.
- {{Thay th&#7871; logo}}
<img src="AIDE/logoart-2.gif" alt=" "
border="0" align="left">B&#7841;n c&#243; th&#7875; thay logo b&#7857;ng h&#236;nh kh&#225;c. Th&#7921;c hi&#7879;n &#273;i&#7873;u n&#224;y b&#7857;ng hai b&#432;&#7899;c:
- &#273;&#7847;u ti&#234;n x&#243;a logo hi&#7879;n th&#7901;i &#273;i
- sau &#273;&#243; chuy&#7875;n t&#7843;i l&#234;n m&#7897;t h&#7891; s&#417; h&#236;nh kh&#225;c &#273;&#7875; thay th&#7871;
B&#7903;i v&#236; c&#225;ch v&#7853;n h&#224;nh c&#7911;a browser, h&#236;nh m&#7899;i ch&#432;a hi&#7879;n l&#234;n li&#7873;n; b&#7841;n v&#7851;n th&#7845;y h&#236;nh c&#361; (c&#242;n trong cache c&#7911;a browser). B&#7845;m v&#224;o h&#236;nh n&#224;y b&#7857;ng n&#250;t ph&#7843;i c&#7911;a chu&#7897;t &#273;&#7875; hi&#7879;n ra m&#7897;t m&#7879;nh &#273;&#417;n r&#7911;: ch&#7885;n "Reload image". H&#236;nh m&#7899;i s&#7869; hi&#7879;n ra.
- {{Logo l&#417; l&#7917;ng}}
<img src="AIDE/logoart-3.gif" alt=" "
border="0" align="right">Sau khi c&#224;i h&#7891; s&#417; th&#7913; nh&#7845;t xong, ngo&#224;i h&#236;nh &#273;&#432;&#7907;c hi&#7875;n th&#7883; b&#7841;n c&#242;n th&#7845;y khung th&#7913; hai c&#243; ghi "LOGO L&#416; L&#7916;NG". B&#7841;n d&#249;ng khung th&#7913; nh&#236; n&#224;y &#273;&#7875; cho v&#224;o h&#7891; s&#417; th&#7913; hai trong b&#7897; h&#236;nh.
{N&#7871;u sau khi c&#224;i c&#7843; hai h&#7891; s&#417;, b&#7841;n x&#243;a h&#236;nh th&#7913; nh&#7845;t &#273;i (n&#250;t "&#273;&#417;n gi&#7843;n"), khung h&#236;nh th&#7913; nh&#236; s&#7869; bi&#7871;n m&#7845;t. Th&#7853;t v&#7853;y, n&#7871;u kh&#244;ng c&#243; logo th&#7913; nh&#7845;t th&#236; kh&#244;ng l&#253; g&#236; lo chuy&#7879;n logo l&#417; l&#7917;ng!}
B&#7841;n kh&#244;ng c&#7847;n ph&#7843;i &#273;&#7909;ng t&#7899;i ph&#7847;n n&#224;o c&#7911;a b&#224;i vi&#7871;t. &#272;&#7871;n l&#250;c hi&#7875;n th&#7883; b&#224;i tr&#234;n trang web, vi&#7879;c hi&#7875;n th&#7883; c&#225;c logo ho&#224;n to&#224;n t&#7921; &#273;&#7897;ng. K&#253; hi&#7879;u HTML s&#7869; &#273;&#432;&#7907;c t&#7841;o ra cho &#273;&#250;ng v&#7899;i k&#237;ch th&#432;&#7899;c logo, v&#224; c&#225;c m&#7879;nh l&#7879;nh l&#224;m l&#417; l&#7917;ng b&#7857;ng JavaScript c&#361;ng &#273;&#432;&#7907;c t&#7921; &#273;&#7897;ng so&#7841;n ra.
</logoart>
<raccourcis>
{{&#272;&#7875; vi&#7879;c tr&#236;nh b&#224;y t&#224;i li&#7879;u do SPIP &#273;&#259;ng t&#7843;i d&#7877; d&#224;ng h&#417;n, h&#7879; th&#7889;ng c&#243; m&#7897;t s&#7889; &laquo;l&#7889;i tr&#236;nh b&#224;y t&#7855;t&raquo; nh&#7857;m &#273;&#7875;:
- &#273;&#417;n gi&#7843;n h&#243;a vi&#7879;c s&#7917; d&#7909;ng cho nh&#7919;ng ng&#432;&#7901;i kh&#244;ng bi&#7871;t k&#253; hi&#7879;u HTML;
- &#273;&#417;n gi&#7843;n h&#243;a vi&#7879;c x&#7917; l&#253; t&#7921; &#273;&#7897;ng vi&#7879;c tr&#236;nh b&#224;y trang.
B&#7841;n v&#7851;n c&#243; th&#7875; d&#249;ng k&#253; hi&#7879;u HTML trong t&#224;i li&#7879;u SPIP, nh&#432;ng ch&#250;ng t&#244;i khuy&#7871;n kh&#237;ch b&#7841;n n&#234;n s&#7917; d&#7909;ng c&#225;c l&#7889;i tr&#236;nh b&#224;y t&#7855;t c&#7911;a SPIP v&#236; ch&#250;ng d&#7877; nh&#7899;, d&#7877; d&#249;ng, v&#224; t&#7853;n d&#7909;ng c&#225;c thao t&#225;c t&#7921; &#273;&#7897;ng c&#7911;a SPIP.}}
~
{{{C&#225;c l&#7889;i tr&#236;nh b&#224;y (layout) t&#7855;t c&#7911;a SPIP}}}
- {{So&#7841;n m&#7897;t &#273;o&#7841;n v&#259;n m&#7899;i}}
&#272;&#7875; so&#7841;n m&#7897;t &#273;o&#7841;n v&#259;n m&#7899;i, b&#7841;n ch&#7881; c&#7847;n ch&#7915;a m&#7897;t h&#224;ng tr&#7889;ng, t&#432;&#417;ng t&#7921; nh&#432; c&#225;ch bi&#7879;t c&#225;c &#273;o&#7841;n v&#259;n trong email (b&#7857;ng c&#225;ch &laquo;nh&#7843;y m&#7897;t h&#224;ng&raquo;)
N&#7871;u ch&#7881; &laquo;xu&#7889;ng h&#224;ng&raquo; (d&#249;ng n&#250;t Enter hay Return) m&#224; kh&#244;ng c&#225;ch bi&#7879;t hai &#273;o&#7841;n v&#259;n b&#7857;ng m&#7897;t h&#224;ng tr&#7889;ng s&#7869; kh&#244;ng t&#7841;o ra m&#7897;t &#273;o&#7841;n v&#259;n m&#7899;i (qu&#7843; th&#7853;t v&#7853;y, SPIP c&#361;ng s&#7869; kh&#244;ng c&#243; xu&#7889;ng h&#224;ng nh&#432; b&#7841;n ngh&#297;).
B&#7841;n c&#243; th&#7875; &#273;&#7875; nhi&#7873;u h&#224;ng tr&#7889;ng li&#234;n ti&#7871;p m&#224; kh&#244;ng &#7843;nh h&#432;&#7903;ng &#273;&#7871;n vi&#7879;c tr&#236;nh b&#224;y. &#272;&#7889;i v&#7899;i SPIP, m&#7897;t hay nhi&#7873;u h&#224;ng tr&#7889;ng c&#243; c&#249;ng &#253; ngh&#297;a nh&#432; nhau: m&#7897;t &#273;o&#7841;n v&#259;n m&#7899;i.
- {{Thi&#7871;t l&#7853;p danh s&#225;ch c&#243; ch&#7845;m &#273;&#7847;u c&#226;u, hay c&#243; &#273;&#225;nh s&#7889;}}
B&#7841;n thi&#7871;t l&#7853;p m&#7897;t danh s&#225;ch b&#7857;ng c&#225;ch xu&#7889;ng h&#224;ng (nh&#7845;n Enter hay Return) v&#224; &#7903; &#273;&#7847;u h&#224;ng m&#7899;i cho v&#224;o m&#7897;t d&#7845;u g&#7841;ch ngang (&laquo;-&raquo;).
L&#432;u &#253; l&#224; &#7903; &#273;&#226;y xu&#7889;ng h&#224;ng l&#224; &#273;&#7911;; n&#7871;u b&#7841;n l&#7841;i ch&#7915;a m&#7897;t h&#224;ng tr&#7889;ng tr&#432;&#7899;c h&#224;ng c&#243; d&#7845;u g&#7841;ch ngang, m&#7897;t h&#224;ng tr&#7889;ng s&#7869; xu&#7845;t hi&#7879;n tr&#432;&#7899;c danh s&#225;ch[[
{{Ph&#432;&#417;ng th&#7913;c kh&#225;c:}}
- B&#7887; m&#7897;t h&#224;ng tr&#7889;ng m&#224; kh&#244;ng c&#243; d&#7845;u &#273;&#7847;u c&#226;u c&#243; th&#7875; th&#7921;c hi&#7879;n b&#7857;ng c&#225;ch cho v&#224;o <tt>_</tt> (g&#7841;ch &#273;&#237;t) &#7903; &#273;&#7847;u h&#224;ng, k&#7871; ti&#7871;p theo sau b&#7857;ng m&#7897;t ch&#7895; tr&#7889;ng.
- B&#7841;n c&#243; th&#7875; l&#7853;p danh s&#225;ch b&#234;n trong danh s&#225;ch b&#7857;ng c&#225;ch th&#234;m d&#7845;u hoa th&#7883; (*) sau d&#7845;u g&#7841;ch ngang.
_{Th&#237; d&#7909;, th&#7917; nh&#432; v&#7847;y }:
_ <html><tt>-* Ng&#7921;a c&#7911;a t&#244;i<br>
-** b&#7921;;<br>
-** b&#7901;m d&#224;i;<br>
-** m&#224;u &#273;en;<br>
-* nh&#432;ng th&#7887; c&#7911;a t&#244;i<br>
-** m&#224;u tr&#7855;ng:<br>
-*** nh&#7887;<br>
-*** l&#244;ng ng&#7855;n.</tt></html>
- V&#224; cu&#7889;i c&#249;ng, b&#7841;n c&#243; th&#7875; thi&#7871;t l&#7853;p danh s&#225;ch c&#243; &#273;&#225;nh s&#7889; b&#7857;ng c&#225;ch d&#249;ng <code>#</code> thay v&#236; d&#249;ng d&#7845;u hoa th&#7883;:
<code>-# th&#7913; nh&#7845;t
-# th&#7913; hai
-# th&#7913; ba</code>
s&#7869; cho ra:
-# th&#7913; nh&#7845;t
-# th&#7913; hai
-# th&#7913; ba
]].
L&#7845;y th&#237; d&#7909;, <HTML><TT><br>
- I like work;<br>
- it fascinates me.<br>
- I can sit and look at it for hours.</TT></HTML> (Jerome K. Jerome) <br> s&#7869; &#273;&#432;&#7907;c hi&#7875;n th&#7883; nh&#432; sau:
- I like work;
- it fascinates me.
- I can sit and look at it for hours.
{{Ch&#7919; &#273;&#7853;m v&#224; ch&#7919; nghi&#234;ng}}
&#272;&#7875; l&#224;m {nghi&#234;ng} ch&#7919;, b&#7885;c hai &#273;&#7847;u ph&#7847;n ch&#7919; &#273;&#243; v&#7899;i d&#7845;u ngo&#7863;c &#244;m (&#273;&#243;ng v&#224; m&#7903;): &laquo;<HTML><TT>...some text {in italic} in...</TT></HTML>&raquo;.
&#272;&#7875; l&#224;m {{&#273;&#7853;m}} ch&#7919;, b&#7885;c hai &#273;&#7847;u ph&#7847;n ch&#7919; &#273;&#243; v&#7899;i hai d&#7845;u ngo&#7863;c &#244;m (&#273;&#243;ng v&#224; m&#7903;): &laquo;<HTML><TT>...some text {{in bold}} in...</TT></HTML>&raquo;.
- {{T&#7921;a &#273;&#7873; &#273;o&#7841;n v&#259;n}}
T&#7921;a &#273;&#7873; &#273;o&#7841;n v&#259;n l&#224; t&#7921;a &#273;&#7873; l&#7899;n b&#234;n trong v&#259;n b&#7843;n. D&#249;ng ba d&#7845;u ngo&#7863;c &#244;m (&#273;&#243;ng v&#224; m&#7903;) chung quanh t&#7921;a &#273;&#7873;: &laquo;<HTML><TT>{{{&#272;&#226;y l&#224; t&#7921;a &#273;&#7873; &#273;o&#7841;n v&#259;n n&#224;y}}}</TT></HTML>&raquo; gives: {{{ &#272;&#226;y l&#224; t&#7921;a &#273;&#7873; &#273;o&#7841;n v&#259;n n&#224;y }}}
- {{L&#7857;n g&#7841;ch ngang}}
&#272;&#7875; c&#243; m&#7897;t l&#7857;n g&#7841;ch ngang d&#224;i b&#7857;ng chi&#7873;u d&#224;i c&#7911;a th&#226;n b&#224;i: b&#7841;n &#273;&#225;nh v&#224;o m&#7897;t h&#224;ng c&#243; 4 d&#7845;u g&#7841;ch nang nh&#432; sau:
<HTML>---- </HTML>
----
- {{&#272;i&#7875;m n&#7889;i k&#7871;t hypertext}}
B&#7841;n c&#243; th&#7875; d&#7877; d&#224;ng l&#7853;p ra m&#7897;t &#273;i&#7875;m n&#7889;i k&#7871;t hypertext b&#7857;ng c&#225;ch d&#249;ng nh&#7919;ng k&#253; hi&#7879;u sau:
&laquo;<HTML><TT>SPIP is an initiative of [minirezo->http://www.minirezo.net/].</TT></HTML>&raquo; s&#7869; cho ra &laquo;SPIP is an initiative of [minirezo->http://www.minirezo.net/].&raquo;
&#272;&#7883;a ch&#7881; URL c&#243; th&#7875; l&#224; tuy&#7879;t &#273;&#7889;i (nh&#432; th&#237; d&#7909; n&#224;y, b&#7855;t &#273;&#7847;u b&#7857;ng <code>http://</code>), hay t&#432;&#417;ng &#273;&#7889;i (&#273;&#7889;i v&#7899;i trang hi&#7879;n t&#7841;i c&#7911;a m&#7897;t website), m&#7897;t &#273;i&#7875;m n&#7889;i v&#7899;i m&#7897;t t&#224;i li&#7879;u d&#249;ng nghi th&#250;c internet (<code>ftp://</code>...) hay m&#7897;t &#273;i&#7841; ch&#7881; email (&laquo;<code>[->mailto:minirezo@rezo.net]</code>&raquo;)...
- {{C&#225;c &#273;i&#7875;m n&#7889;i k&#7871;t hypertext b&#234;n trong website}}
H&#417;n n&#7919;a, h&#7879; th&#7889;ng n&#7889;i k&#7871;t hypertext n&#224;y t&#7841;o d&#7877; d&#224;ng &#273;&#7875; n&#7889;i k&#7871;t b&#234;n trong website. &#272;i&#7873;u c&#7847;n bi&#7871;t duy nh&#7845;t l&#224; t&#236;m {s&#7889; th&#7913; t&#7921;} c&#7911;a b&#224;i vi&#7871;t hay c&#7911;a &#273;&#7873; m&#7909;c, hay c&#7911;a tin ng&#7855;n m&#224; b&#7841;n mu&#7889;n n&#7889;i qua:
<img src="AIDE/articlenumero.gif" alt="NUMERO" border="0" align="right">
Khi b&#7841;n &laquo;xem&raquo; m&#7897;t b&#224;i vi&#7871;t, m&#7897;t tin ng&#7855;n, hay m&#7897;t &#273;&#7873; m&#7909;c trong v&#249;ng ri&#234;ng, c&#7897;t b&#234;n tr&#225;i c&#243; m&#7897;t khung cho th&#7845;y s&#7889; th&#7913; t&#7921; trong kh&#7893; l&#7899;n.
&#272;&#243; ch&#237;nh l&#224; con s&#7889; b&#7841;n d&#249;ng trong &#273;i&#7875;m n&#7889;i k&#7871;t hypertext:
{n&#7889;i qua b&#224;i vi&#7871;t 342 (4 c&#225;ch):}
<HTML><TT>
<br>n&#7889;i qua [b&#224;i->342]
<br>n&#7889;i qua [b&#224;i->art342]
<br>n&#7889;i qua [b&#224;i->article 342]
<br></TT></HTML>{c&#361;ng nh&#432; cho }<HTML><TT>[->art342]</TT></HTML>, {s&#7869; hi&#7875;n th&#7883; t&#7921;a &#273;&#7873; b&#224;i vi&#7871;t 342 v&#7899;i m&#7897;t &#273;i&#7875;m n&#7889;i qua b&#224;i n&#224;y.}
{n&#7889;i qua &#273;&#7873; m&#7909;c 12:}
<HTML><TT>
<br>n&#7889;i qua [&#273;&#7873; m&#7909;c->rub12]
<br>n&#7889;i qua [&#273;&#7873; m&#7909;c->rubrique 12]
</TT></HTML>
{n&#7889;i qua tin ng&#7855;n 65:}
<HTML><TT>
<br>n&#7889;i qua [tin ng&#7855;n->br65]
<br>n&#7889;i qua [tin ng&#7855;n->breve 65]
<br>n&#7889;i qua [tin ng&#7855;n->br&egrave;ve 65]
<br></TT></HTML>
{T&#225;c gi&#7843;, t&#7915; then ch&#7889;t, website:}
<HTML><TT>
<br>[->aut13] hay [->auteur13]
<br>[->mot32]
<br>[->site1]
<br>
</TT></HTML>
{Ghi nh&#7853;n l&#224; cho m&#7897;t website, c&#225;c l&#7889;i vi&#7871;t t&#7855;t ch&#297;a &#273;&#7871;n &#273;&#7883;a ch&#7881; URL c&#7911;a n&#243;.}
- {{Ghi ch&#250;}}
Ghi ch&#250; th&#432;&#7901;ng &#273;&#432;&#7907;c tr&#236;nh b&#224;y trong h&#236;nh th&#225;i c&#243; m&#7897;t con s&#7889; &#7903; trong th&#226;n b&#224;i, sau &#273;&#243; &#7903; cu&#7889;i trang c&#243; con s&#7889; &#273;&#243; v&#224; nh&#7919;ng d&#7919; ki&#7879;n ph&#7909; tr&#7897;i.
Trong SPIP, &#273;&#7863;c &#273;i&#7875;m ghi ch&#250; &#273;&#432;&#7907;c t&#7921; &#273;&#7897;ng h&#243;a (n&#7871;u d&#249;ng k&#253; hi&#7879;u HTML r&#7845;t ph&#7913;c t&#7841;p v&#224; phi&#7873;n to&#225;i): c&#225;c ghi ch&#250; &#273;&#432;&#7907;c &#273;&#225;nh s&#7889; b&#7903;i SPIP v&#224; c&#243; &#273;i&#7875;m n&#7889;i b&#234;n trong b&#224;i &#273;&#7875; nh&#7843;y tr&#7921;c ti&#7871;p t&#7915; m&#7897;t con s&#7889; ghi ch&#250; &#273;&#7871;n ph&#7847;n ghi ch&#250; t&#432;&#417;ng &#7913;ng &#7903; cu&#7889;i trang v&#224; ng&#432;&#7907;c l&#7841;i.
Trong SPIP, ghi ch&#250; &#273;&#432;&#7907;c &#273;&#7863;t gi&#7919;a hai ngo&#7863;c vu&#244;ng (&#273;&#243;ng v&#224; m&#7903;): &laquo;<HTML><TT> Ghi ch&#250;: [[&#272;&#226;y l&#224; m&#7897;t s&#7889; d&#7919; ki&#7879;n ph&#7909; tr&#7897;i.]] .</TT></HTML>&raquo; will be displayed as: Ghi ch&#250; &laquo;A[[&#272;&#226;y l&#224; m&#7897;t s&#7889; d&#7919; ki&#7879;n ph&#7909; tr&#7897;i.]] .&raquo;
{Ghi ch&#250; b&#7857;ng tay (kh&#244;ng t&#7921; &#273;&#7897;ng)}
Ph&#7847;n l&#7899;n, c&#225;ch t&#7921; &#273;&#7897;ng h&#243;a ghi ch&#250; b&#234;n tr&#234;n l&#224; &#273;&#7911; s&#7917; d&#7909;ng. Tuy nhi&#234;n, b&#7841;n c&#361;ng c&#243; th&#7875; ghi ch&#250; b&#7857;ng tay (kh&#244;ng t&#7921; &#273;&#7897;ng).
L&#7845;y th&#237; d&#7909;:
&laquo;<HTML><TT>B&#7841;n c&#243; th&#7875; c&#243; ghi ch&#250; c&#243; &#273;&#225;nh s&#7889; t&#7921; &#273;&#7897;ng [[b&#7857;ng c&#225;ch &#273;&#7875; ph&#7847;n ch&#7919; c&#7911;a c&#7911; ghi ch&#250; trong hai ngo&#7863;c vu&#244;ng &#273;&#243;ng/m&#7903;.]],<br>
- nh&#432;ng b&#7841;n c&#361;ng c&#243; th&#7875; bu&#7897;c &#273;&#225;nh s&#7889; ghi ch&#250; [[&lt;23&gt; b&#7857;ng c&#225;ch cho v&#224;o con s&#7889; gi&#7919;a hai k&#253; hi&#7879;u &laquo;&lt;&raquo; v&#224; &laquo;&gt;&raquo;.]],<br>
- d&#249;ng ghi ch&#250; trong d&#7841;ng hoa th&#7883; [[&lt;*&gt; b&#7857;ng c&#225;ch &#273;&#7863;t d&#7845;u hoa th&#7883; gi&#7919;a k&#253; hi&#7879;u &laquo;&lt;&raquo; v&#224; &laquo;&gt;&raquo;.]],<br>
- vi&#7871;t ghi ch&#250; m&#224; kh&#244;ng c&#243; tham kh&#7843;o (kh&#244;ng &#273;&#225;nh s&#7889;) [[&lt;&gt; b&#7857;ng c&#225;ch &#273;&#7875; tr&#7889;ng gi&#7919;a c&#225;c k&#253; hi&#7879;u &laquo;&lt;&raquo; v&#224; &laquo;&gt;&raquo;.]],<br>
- cho t&#234;n (tr&#7885;n v&#7865;n) v&#224;o ghi ch&#250; [[&lt;Sha&gt; William Shakespeare.]];<br>
- tham kh&#7843;o m&#7897;t ghi ch&#250; kh&#225;c c&#243; s&#7861;n [[&lt;23&gt;]] b&#7857;ng c&#225;ch cho s&#7889; c&#7911;a ghi ch&#250; &#273;&#243; v&#224;o gi&#7919;a k&#253; hi&#7879;u &laquo;&lt;&raquo; v&#224; &laquo;&gt;&raquo; v&#224; &#273;&#7875; tr&#7889;ng ph&#7847;n ghi ch&#250; c&#242;n l&#7841;i. </TT></HTML>&raquo;
T&#7845;t c&#7843; nh&#7919;ng th&#7913; n&#224;y s&#7869; cho ra:
&laquo; B&#7841;n c&#243; th&#7875; c&#243; ghi ch&#250; c&#243; &#273;&#225;nh s&#7889; t&#7921; &#273;&#7897;ng [[b&#7857;ng c&#225;ch &#273;&#7875; ph&#7847;n ch&#7919; c&#7911;a c&#7911; ghi ch&#250; trong hai ngo&#7863;c vu&#244;ng &#273;&#243;ng/m&#7903;.]],
- nh&#432;ng b&#7841;n c&#361;ng c&#243; th&#7875; bu&#7897;c &#273;&#225;nh s&#7889; ghi ch&#250; [[<23> ; b&#7857;ng c&#225;ch cho v&#224;o con s&#7889; gi&#7919;a hai k&#253; hi&#7879;u &laquo;<&raquo; v&#224; &laquo;>&raquo;.]],
- d&#249;ng ghi ch&#250; trong d&#7841;ng hoa th&#7883; [[<*>b&#7857;ng c&#225;ch &#273;&#7863;t d&#7845;u hoa th&#7883; gi&#7919;a k&#253; hi&#7879;u &laquo;<&raquo; v&#224; &laquo;>&raquo;.]],
- vi&#7871;t ghi ch&#250; m&#224; kh&#244;ng c&#243; tham kh&#7843;o (kh&#244;ng &#273;&#225;nh s&#7889;) [[<>b&#7857;ng c&#225;ch &#273;&#7875; tr&#7889;ng gi&#7919;a c&#225;c k&#253; hi&#7879;u &laquo;<&raquo; v&#224; &laquo;>&raquo;.]],
- cho t&#234;n (tr&#7885;n v&#7865;n) v&#224;o ghi ch&#250; [[<Sha> William Shakespeare.]];
- tham kh&#7843;o m&#7897;t ghi ch&#250; kh&#225;c c&#243; s&#7861;n [[<23>]] b&#7857;ng c&#225;ch cho s&#7889; c&#7911;a ghi ch&#250; &#273;&#243; v&#224;o gi&#7919;a k&#253; hi&#7879;u &laquo;<&raquo; v&#224; &laquo;>&raquo; v&#224; &#273;&#7875; tr&#7889;ng ph&#7847;n ghi ch&#250; c&#242;n l&#7841;i.&raquo;
- {{B&#7843;ng}}
&#272;&#7875; l&#7853;p ra c&#225;c b&#7843;ng &#273;&#417;n gi&#7843;n trong SPIP, b&#7841;n ch&#7881; c&#7847;n vi&#7871;t h&#224;ng ch&#7919; ch&#7913;a &laquo;c&#225;c &#244; trong b&#7843;ng&raquo; &#273;&#432;&#7907;c ph&#226;n ra b&#7903;i k&#253; hi&#7879;u &laquo;|&raquo; ({g&#7841;ch &#273;&#7913;ng}), nh&#7899; b&#7855;t &#273;&#7847;u &#7903; &#273;&#7847;u h&#224;ng v&#224; t&#7853;n c&#249;ng &#7903; cu&#7889;i h&#224;ng v&#7899;i g&#7841;ch &#273;&#7913;ng. B&#7855;t bu&#7897;c ph&#7843;i ch&#7915;a h&#224;ng tr&#7889;ng b&#234;n tr&#234;n v&#224; d&#432;&#7899;i b&#7843;ng.
L&#7845;y th&#237; d&#7909;, b&#7843;ng sau &#273;&#226;y:
| {{H&#7885;}} | {{T&#234;n}} | {{Tu&#7893;i}} |
| Nguy&#7877;n | T&#226;m | 23 tu&#7893;i |
| Tr&#7883;nh | | kh&#244;ng bi&#7871;t |
| Tr&#7847;n | D&#361;ng | 46 tu&#7893;i |
| L&#234; | B&#233; | 4 th&#225;ng |
&#273;&#432;&#7907;c tr&#236;nh b&#224;y v&#7899;i nh&#7919;ng k&#253; hi&#7879;u sau:
<HTML><TT>
| {{H&#7885;}} | {{T&#234;n}} | {{Tu&#7893;i}} | <br>
| Nguy&#7877;n | T&#226;m | 23 tu&#7893;i | <br>
| Tr&#7883;nh | | kh&#244;ng bi&#7871;t | <br>
| Tr&#7847;n | D&#361;ng | 46 tu&#7893;i | <br>
| L&#234; | B&#233; | 4 th&#225;ng | <br>
</TT></HTML>
- {{L&#7901; l&#7889;i vi&#7871;t t&#7855;t c&#7911;a SPIP}}
&#272;&#244;i khi ta c&#7847;n b&#225;o cho SPIP bi&#7871;t l&#224; m&#7897;t ph&#7847;n c&#7911;a t&#224;i li&#7879;u n&#234;n &#273;&#7875; nguy&#234;n &#273;&#243;, &#273;&#7915;ng c&#243;
&laquo;&#273;&#432;&#7907;c x&#7917; l&#253;&raquo; b&#7903;i b&#7897; ph&#7853;n l&#7885;c l&#7889;i vi&#7871;t v&#7855;t: b&#7841;n mu&#7889;n c&#243; sao &#273;&#7875; v&#7853;y hay b&#7841;n mu&#7889;n hi&#7875;n th&#7883; k&#253; hi&#7879;u l&#7853;p tr&#236;nh (nh&#432; PHP, JavaScript...)...
K&#253; hi&#7879;u d&#249;ng &#273;&#7875; l&#7901; l&#7889;i vi&#7871;t t&#7855;t &#273;i l&#224;: &laquo;<HTML><TT>&lt;HTML&gt;L&#432;u &#253;: v&#259;n t&#7921; c&#243; sao &#273;&#7875; nguy&#234;n v&#7853;y&lt;/HTML&gt;</TT></HTML>&raquo;, s&#7869; cho ra: &laquo;<HTML> L&#432;u &#253;: v&#259;n t&#7921; c&#243; sao &#273;&#7875; nguy&#234;n v&#7853;y </HTML>&raquo;.
L&#7845;y th&#237; d&#7909;, b&#224;i vi&#7871;t n&#224;y &#273;&#432;&#7907;c cho v&#224;o trong h&#7879; th&#7889;ng SPIP v&#224; n&#243; hi&#7875;n th&#7883; m&#7897;t s&#7889; k&#253; hi&#7879;u ngu&#7891;n (source code) c&#7911;a c&#225;c l&#7889;i vi&#7871;t t&#7855;t SPIP; n&#7871;u ch&#250;ng t&#244;i kh&#244;ng ra l&#7879;nh cho SPIP l&#7901; &#273;i th&#236; nh&#7919;ng l&#7889;i vi&#7871;t t&#7855;t n&#224;y s&#7869; &#273;&#432;&#7907;c di&#7877;n gi&#7843;i v&#224; b&#7841;n s&#7869; kh&#244;ng th&#7875; &#273;&#7885;c &#273;&#432;&#7907;c c&#225;c k&#253; hi&#7879;u ngu&#7891;n n&#417;i &#273;&#226;y!
- {{Hi&#7875;n th&#7883; k&#253; hi&#7879;u l&#7853;p tr&#236;nh}}
M&#7897;t s&#7889; ng&#432;&#7901;i mu&#7889;n &#273;&#244;i khi hi&#7875;n th&#7883; k&#253; hi&#7879;u l&#7853;p tr&#236;nh trong trang. L&#7889;i t&#7855;t <HTML><TT><code>...</code></TT></HTML> &#273;&#432;&#7907;c d&#249;ng v&#224;o vi&#7879;c n&#224;y.
Th&#237; d&#7909;: <HTML><TT><code><?php &nbsp; &nbsp; //this is some php code<br>
echo "hello";<br>
?></code></TT></HTML> gives <code><?php //this is some php code
echo "hello";
?></code>
----
</raccourcis>
<rubhier>
{{{C&#7845;u tr&#250;c c&#243; th&#7913; b&#7853;c c&#7911;a &#272;&#7873; m&#7909;c}}}
C&#7845;u tr&#250;c &#273;&#7873; m&#7909;c t&#7841;o n&#234;n khung s&#432;&#7901;ng c&#7911;a website; ch&#237;nh c&#7845;u tr&#250;c n&#224;y s&#7869; x&#225;c &#273;&#7883;nh giao di&#7879;n, c&#225;ch di chuy&#7875;n, n&#7889;i k&#7871;t, m&#7889;i t&#432;&#417;ng quan gi&#7919;a b&#224;i v&#224; tin ng&#7855;n ...
Trong SPIP, c&#7845;u tr&#250;c n&#224;y thu&#7897;c lo&#7841;i {c&#243; th&#7913; b&#7853;c}: t&#7913;c l&#224; m&#7897;t &#273;&#7873; m&#7909;c c&#243; th&#7875; ch&#7913;a c&#225;c &#273;&#7873; m&#7909;c ph&#7909; v&#224; c&#225;c &#273;&#7873; m&#7909;c ph&#7909; n&#224;y l&#7841;i c&#243; th&#7875; c&#243; &#273;&#7873; m&#7909;c ph&#7909; kh&#225;c (&#7903; t&#7915;ng d&#432;&#7899;i &#273;&#243; n&#7919;a), v&#224; c&#7913; th&#7871; ....
<CENTER><IMG SRC="AIDE/rubhier-1.gif" BORDER=0 ></CENTER>
Trong th&#237; d&#7909; tr&#234;n, ch&#250;ng ta th&#7845;y &#273;&#7873; m&#7909;c ~222 n&#7857;m d&#432;&#7899;i &#273;&#7873; m&#7909;c ~22 v&#224; &#273;&#7873; m&#7909;c ~22 n&#7857;m d&#432;&#7899;i &#273;&#7873; m&#7909;c ~2 v&#224; &#273;&#7873; m&#7909;c ~2 l&#224; &#7903; th&#432;&#7907;ng t&#7847;ng kh&#244;ng ph&#7909; thu&#7897;c &#273;&#7873; m&#7909;c n&#224;o n&#7919;a (trong tr&#432;&#7901;ng h&#7907;p n&#224;y, ch&#250;ng ta n&#243;i l&#224; &#273;&#7873; m&#7909;c ~2 n&#7857;m {&#7903; ng&#7885;n/g&#7889;c c&#7911;a website}.
{Khi n&#243;i &#273;&#7871;n c&#7845;u tr&#250;c c&#243; th&#7913; b&#7853;c, n&#243; c&#243; &#253; ngh&#297;a l&#224; m&#7897;t &#273;&#7873; m&#7909;c ch&#7881; l&#224; con c&#7911;a m&#7897;t &#273;&#7873; m&#7909;c kh&#225;c m&#224; th&#244;i (ch&#7913; kh&#244;ng ph&#7843;i con c&#7911;a nhi&#7873;u) v&#224; m&#7897;t &#273;&#7873; m&#7909;c kh&#244;ng th&#7875; l&#224; con c&#7911;a &#273;&#7873; m&#7909;c ph&#7909; c&#7911;a ch&#237;nh n&#243; (t&#7913;c SPIP kh&#244;ng cho ph&#233;p c&#7845;u tr&#250;c v&#242;ng tr&#242;n). C&#7845;u tr&#250;c r&#7845;t c&#7893; &#273;i&#7875;n n&#224;y &#273;&#432;&#7907;c d&#249;ng v&#236; n&#243; d&#7877; s&#7917; d&#7909;ng.
{{Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; l&#7853;p ra, s&#7917;a &#273;&#7893;i hay x&#243;a c&#225;c &#273;&#7873; m&#7909;c.}}
</rubhier>
<rubsyn>
{{{Website Syndicated}}}
Nh&#7919;ng website s&#7917; d&#7909;ng h&#7879; th&#7889;ng ph&#225;t h&#224;nh t&#7921; &#273;&#7897;ng (nh&#432; SPIP hay phpNuke) c&#243; th&#7875; d&#7877; d&#224;ng thi&#7871;t l&#7853;p m&#7897;t h&#7891; s&#417; cho bi&#7871;t danh s&#225;ch nh&#7919;ng b&#224;i v&#7903; &#273;&#259;ng t&#7843;i m&#7899;i nh&#7845;t. &#272;&#7863;c bi&#7879;t, c&#243; m&#7897;t d&#7841;ng chu&#7849;n cho lo&#7841;i h&#7891; s&#417; n&#224;y g&#7885;i l&#224; &laquo;h&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng (backend file)&raquo;
H&#7891; s&#417; n&#224;y c&#243; th&#7875; &#273;&#432;&#7907;c ph&#226;n t&#225;ch d&#7877; d&#224;ng v&#224; t&#7921; &#273;&#7897;ng &#273;&#7875; thu l&#7845;y danh s&#225;ch nh&#7919;ng b&#224;i v&#7903; m&#7899;i nh&#7845;t c&#7911;a website &#273;&#243;. Nh&#432; th&#7871;, SPIP cho ph&#233;p b&#7841;n hi&#7875;n th&#7883;, ngay tr&#234;n website b&#7841;n, danh s&#225;ch c&#225;c b&#224;i v&#7903; m&#7899;i nh&#7845;t &#273;&#259;ng t&#7843;i tr&#234;n c&#225;c website kh&#225;c.
Cho m&#7895;i <a href="aide_index.php3?aide=reference" target="_top">website n&#7889;i k&#7871;t</a> trong &#273;&#7873; m&#7909;c, b&#7841;n c&#243; th&#7875; l&#7845;y danh s&#225;ch c&#225;c b&#224;i v&#7903; m&#7899;i nh&#7845;t &#273;&#259;ng t&#7843;i tr&#234;n website &#273;&#243;. D&#297; nhi&#234;n n&#7871;u website &#273;&#243; c&#243; h&#7891; s&#417; {h&#7853;u tr&#432;&#7901;ng}.
- {{L&#224;m sao t&#236;m h&#7891; s&#417; &laquo;backend.php3&raquo;?}}
&#272;&#7889;i v&#7899;i nh&#7919;ng website d&#249;ng SPIP hay phpNuke, c&#225;c h&#7891; s&#417; {h&#7853;u tr&#432;&#7901;ng} r&#7845;t d&#7877; t&#236;m th&#7845;y: ch&#7881; c&#7847;n t&#236;m h&#7891; s&#417; trong ng&#259;n g&#7889;c c&#7911;a website c&#243; t&#234;n &laquo;bakend.php3&raquo; (hay &laquo;backend.php&raquo;). L&#7845;y th&#237; d&#7909; c&#7911;a trang web uZine (<TT>http://www.minirezo.net/</TT>), &#273;&#7883;a ch&#7881; h&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng l&#224;:
<LI><TT>http://www.minirezo.net/backend.php</TT></LI><BR><BR>
Nh&#7919;ng th&#237; d&#7909; kh&#225;c c&#7911;a h&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng:
<LI></HTML><TT>http://www.davduf.net/backend.php</TT></HTML></LI>
<LI></HTML><TT>http://www.vacarme.eu.org/backend.php</TT></HTML></LI>
<LI></HTML><TT>http://www.vakooler.com/backend.php</TT></HTML></LI>
B&#7841;n c&#7847;n l&#432;u &#253; l&#224; {<A HREF="http://rezo.net/backend" TARGET="autre">L'autre portail</A>} cung c&#226;p nh&#7919;ng h&#7891; s&#417; n&#224;y cho website &#273;&#432;&#7907;c n&#7889;i k&#7871;t, ngay c&#7843; n&#7871;u c&#225;c website &#273;&#243; kh&#244;ng c&#243; h&#7879; th&#7889;ng h&#7853;u tr&#432;&#7901;ng. B&#7841;n s&#7869; th&#7845;y trong trang &#273;&#243; kho&#7843;ng ba m&#432;&#417;i h&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng cho nh&#7919;ng website {L'autre portail} n&#7889;i k&#7871;t, c&#361;ng nh&#432; m&#7897;t s&#7889; h&#7891; s&#417; ch&#7911; &#273;&#7873;.
- {{Th&#234;m m&#7897;t website syndicated v&#224;o website b&#7841;n}}
Khi b&#7841;n n&#7889;i k&#7871;t m&#7897;t website kh&#225;c trong &#273;&#7873; m&#7909;c, b&#234;n c&#7841;nh vi&#7879;c cho bi&#7871;t t&#234;n, &#273;&#7883;a ch&#7881; URL, v&#224; ghi ch&#250; c&#7911;a trang &#273;&#243;, b&#7841;n c&#243; th&#7875; ch&#7885;n syndicate n&#243; (t&#7913;c l&#224;, m&#7897;t website syndicate l&#224; m&#7897;t website n&#7889;i k&#7871;t m&#224; t&#7915; &#273;&#243; SPIP c&#243; th&#7875; th&#226;u l&#7845;y danh s&#225;ch c&#225;c b&#224;i v&#7903; &#273;&#259;ng t&#7843;i m&#7899;i nh&#7845;t t&#7915; trang &#273;&#243;).
&#272;&#7875; l&#224;m vi&#7879;c n&#224;y, ch&#7885;n &laquo;syndication&raquo; v&#224; cho v&#224;o &#273;&#7883;a ch&#7881; URL c&#7911;a h&#7891; s&#417; {h&#7853;u tr&#432;&#7901;ng} c&#7911;a website &#273;&#243;. L&#7853;p t&#7913;c sau khi n&#7897;p v&#224;o, s&#7869; c&#243; l&#7901;i th&#244;ng b&#225;o cho bi&#7871;t vi&#7879;c syndication c&#243; th&#224;nh c&#244;ng kh&#244;ng.
N&#7871;u syndication th&#7845;t b&#7841;i:
- xem l&#7841;i coi &#273;&#7883;a ch&#7881; URL c&#243; &#273;&#250;ng kh&#244;ng;
- xem l&#7841;i coi website mu&#7889;n syndicate c&#243; th&#7853;t s&#7921; online kh&#244;ng.
- {{N&#7889;i k&#7871;t nhanh ch&#243;ng}}
Ch&#7913;c n&#259;ng n&#7889;i k&#7871;t nhanh ch&#243;ng (tr&#7921;c ti&#7871;p cho v&#224;o &#273;&#7883;a ch&#7881; URL c&#7911;a website v&#224; SPIP s&#7869; t&#7921; &#273;&#7897;ng lo l&#7845;y vi&#7879;c t&#236;m ki&#7871;m nh&#7919;ng d&#7919; ki&#7879;n li&#234;n h&#7879;) r&#7845;t th&#237;ch h&#7907;p v&#7899;i vi&#7879;c website syndication. Th&#7853;t v&#7853;y, thay v&#236; cho v&#224;o &#273;&#7883;a ch&#7881; URL, b&#7841;n n&#234;n cho v&#224;o &#273;&#7883;a ch&#7881; URL c&#7911;a h&#7891; s&#417; {h&#7853;u tr&#432;&#7901;ng}: SPIP s&#7869; t&#7921; &#273;&#7897;ng th&#226;u l&#7845;y c&#225;c d&#7919; ki&#7879;n li&#234;n h&#7879; v&#224; l&#224;m c&#244;ng vi&#7879;c syndication tr&#7921;c ti&#7871;p.
- {{B&#224;i v&#7903; syndicated}}
Khi vi&#7879;c syndication th&#224;nh c&#244;ng, SPIP s&#7869; hi&#7875;n th&#7883; danh s&#225;ch c&#225;c b&#224;i v&#7903; &#273;&#259;ng t&#7843;i m&#7899;i nh&#7845;t tr&#234;n website &#273;&#243;. Xin xem trang h&#432;&#7899;ng d&#7851;n d&#224;nh cho vi&#7879;c <a href="aide_index.php3?aide=artsyn" target="_top">qu&#7843;n tr&#7883; c&#225;c &#273;i&#7875;m n&#7889;i k&#7871;t</a>.
- {{H&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng c&#7911;a website b&#7841;n}}
SPIP t&#7921; &#273;&#7897;ng thi&#7871;t l&#7853;p h&#7891; s&#417; h&#7853;u tr&#432;&#7901;ng c&#7911;a website b&#7841;n. Tuy nhi&#234;n, &#273;&#7915;ng qu&#234;n cho bi&#7871;t t&#234;n v&#224; URL website b&#7841;n trong ph&#7847;n <A HREF="aide_index.php3?aide=confnom" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n</A> page.
</rubsyn>
<rublogo>
{{{Logo &#272;&#7873; m&#7909;c}}}
<A HREF="aide_index.php3?aide=logoart" TARGET="_top"><img src="AIDE/logoart-2.gif" alt=" " border="0" align="right"></A>
B&#7841;n c&#243; th&#7875; c&#224;i m&#7897;t logo cho m&#7895;i &#273;&#7873; m&#7909;c. Logo n&#224;y c&#243; th&#7875; l&#224; m&#7897;t h&#236;nh &#273;&#417;n gi&#7843;n hay m&#7897;t logo ho&#7841;t h&#7885;a c&#243; kh&#7843; n&#259;ng l&#417; l&#7917;ng.
C&#225;ch c&#224;i &#273;&#7863;t logo cho &#273;&#7873; m&#7909;c t&#432;&#417;ng t&#7921; nh&#432; c&#225;ch c&#224;i &#273;&#7863;t <A HREF="aide_index.php3?aide=logoart" TARGET="_top">Logo cho b&#224;i v&#7903;</A>.
{{T.B.}} Logo c&#7911;a &#273;&#7873; m&#7909;c c&#243; &#273;&#7863;c t&#237;nh di truy&#7873;n (th&#7915;a h&#432;&#7903;ng): trong tr&#432;&#7901;ng h&#7907;p m&#7897;t logo c&#7911;a m&#7897;t &#273;&#7873; m&#7909;c n&#224;o &#273;&#243; b&#7883; th&#7845;t l&#7841;c th&#236; SPIP s&#7869; l&#7845;y logo c&#7911;a &#273;&#7873; m&#7909;c cha/m&#7865; c&#7911;a &#273;&#7873; m&#7909;c &#273;&#243;:
<CENTER><IMG SRC="AIDE/rubhier-1.gif" BORDER=0 ></CENTER>
Trong th&#7913; b&#7853;c tr&#234;n, v&#224; v&#236; section ~221 thi&#7871;u logo, SPIP s&#7869; thay th&#7871; (khi xem tr&#234;n website) b&#7857;ng logo c&#7911;a &#273;&#7873; m&#7909;c ~22, v&#224; n&#7871;u &#273;&#7873; m&#7909;c ~22 c&#361;ng kh&#244;ng c&#243; logo th&#236; s&#7869; thay b&#7857;ng logo c&#7911;a &#273;&#7873; m&#7909;c ~2. B&#7857;ng kh&#244;ng, SPIP s&#7869; d&#249;ng logo c&#224;i &#273;&#7863;t trong g&#7889;c c&#7911;a website.
B&#7841;n c&#7847;n ghi nh&#7853;n l&#224;, n&#7871;u webmaster &#273;&#227; thi&#7871;t tr&#237; ki&#7875;u &#273;&#243;, logo c&#7911;a m&#7897;t &#273;&#7873; m&#7909;c c&#243; th&#7875; d&#249;ng l&#224;m logo thay th&#7871; cho c&#225;c b&#224;i vi&#7871;t trong &#273;&#7873; m&#7909;c &#273;&#243;.
</rublogo>
<rubrub>
{{{Ch&#7885;n &#272;&#7873; m&#7909;c}}}
Thao t&#225;c n&#224;y r&#7845;t &#273;&#417;n gi&#7843;n: m&#7879;nh &#273;&#417;n li&#7879;t k&#234; to&#224;n b&#7897; c&#7845;u tr&#250;c c&#7911;a &#273;&#7873; m&#7909;c theo th&#7913; b&#7853;c (v&#224; theo th&#7913; t&#7921; qu&#7843;n tr&#7883; vi&#234;n t&#7841;o l&#7853;p ra), b&#7841;n ch&#7881; ch&#7885;n ch&#7895; n&#224;o b&#7841;n mu&#7889;n cho &#273;&#7873; m&#7909;c ph&#7909; v&#224;o.
- {{d&#7901;i m&#7897;t &#273;&#7873; m&#7909;c}}
<CENTER><img src="AIDE/rubrub.gif"
border="0"></CENTER>
Qua m&#7879;nh &#273;&#417;n r&#7911; n&#224;y, b&#7841;n c&#243; th&#7875; d&#7901;i chuy&#7875;n &#273;&#7873; m&#7909;c n&#224;y qua d&#432;&#7899;i m&#7897;t &#273;&#7873; m&#7909;c kh&#225;c. Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, b&#7841;n ph&#7843;i hi&#7875;u l&#224; to&#224;n b&#7897; c&#7845;u tr&#250;c b&#234;n d&#432;&#7899;i c&#7911;a &#273;&#7873; m&#7909;c n&#224;y s&#7869; "di chuy&#7875;n" theo. V&#224; c&#361;ng v&#7853;y, c&#225;c b&#224;i v&#7903; trong &#273;&#7873; m&#7909;c n&#224;y v&#224; trong c&#225;c &#273;&#7873; m&#7909;c ph&#7909; b&#234;n d&#432;&#7899;i c&#361;ng di chuy&#7875;n theo.
</rubrub>
<breves>
{{{Tin ng&#7855;n}}}
Tin ng&#7855;n l&#224; c&#225;ch th&#7913;c li&#234;n l&#7841;c &#273;&#417;n gi&#7843;n v&#224; l&#7865; trong h&#7879; th&#7889;ng SPIP. Kh&#244;ng nh&#432; b&#224;i v&#7903;, tin ng&#7855;n ch&#7913;a r&#7845;t &#237;t d&#7919; ki&#7879;n: t&#7921;a &#273;&#7873;, th&#226;n b&#224;i, v&#224; &#273;i&#7875;m n&#7889;i hypertext. Do &#273;&#243;, h&#7879; th&#7889;ng tin ng&#7855;n th&#237;ch h&#7907;p &#273;&#7875; theo d&#245;i, qu&#7843;n tr&#7883; c&#225;c s&#7921; vi&#7879;c &#273;&#432;&#417;ng th&#7901;i, duy&#7879;t x&#233;t th&#244;ng tin, v.v...
</breves>
<brevesrub>
{{{V&#7883; tr&#237; c&#7911;a tin ng&#7855;n trong c&#7845;u tr&#250;c website}}}
&#272;&#7875; t&#7841;o s&#7921; d&#7877; d&#224;ng s&#7917; d&#7909;ng (v&#224; tr&#225;nh tr&#249;ng l&#7853;p gi&#7919;a tin ng&#7855;n v&#224; b&#224;i v&#7903;), vi&#7879;c h&#242;a nh&#7853;p tin ng&#7855;n trong c&#7845;u tr&#250;c th&#7913; b&#7853;c c&#7911;a &#273;&#7873; m&#7909;c &#273;&#432;&#7907;c gi&#7843;m thi&#7875;u t&#7889;i &#273;a: tin ng&#7855;n li&#234;n h&#7879; &#273;&#7871;n &#273;&#7873; m&#7909;c &#7903; g&#7889;c website m&#224; th&#244;i.
<CENTER><img src="AIDE/rubhier-1.gif" alt="Sections" border="0"></CENTER>
Trong th&#237; d&#7909; tr&#234;n, ta c&#243; th&#7875; &#273;&#7875; tin ng&#7855;n &#7903; &#273;&#7873; m&#7909;c 1 v&#224; 2 nh&#432;ng kh&#244;ng th&#7875; &#7903; &#273;&#7873; m&#7909;c ph&#7909; (kh&#244;ng nh&#432; b&#224;i v&#7903; c&#243; th&#7875; &#273;&#7875; b&#7845;t c&#7913; n&#417;i n&#224;o). Do &#273;&#243;, vi&#7879;c tr&#236;nh b&#224;y trang tin ng&#7855;n t&#432;&#417;ng &#7913;ng v&#7899;i &#273;&#7873; m&#7909;c &#7903; th&#432;&#7907;ng t&#7847;ng v&#224; m&#7879;nh &#273;&#417;n r&#7911; cho ph&#233;p s&#7855;p &#273;&#7863;t v&#7883; tr&#237; c&#7911;a tin ng&#7855;n c&#361;ng r&#7845;t ng&#7855;n.
</brevesrub>
<breveslien>
{{{&#272;i&#7875;m n&#7889;i k&#7871;t hypertext Tin ng&#7855;n }}}
&#272;&#7875; d&#7877; d&#224;ng s&#7917; d&#7909;ng tin ng&#7855;n nh&#432; l&#224; m&#7897;t ph&#7847;n c&#7911;a th&#244;ng tin b&#225;o ch&#237; online, m&#7895;i m&#7851;u tin ng&#7855;n c&#243; th&#7875; c&#243; m&#7897;t &#273;i&#7875;m n&#7889;i hypertext. B&#7841;n ch&#7881; c&#7847;n cho bi&#7871;t t&#234;n c&#7911;a website mu&#7889;n n&#7889;i &#273;&#7871;n hay b&#224;i vi&#7871;t v&#224; URL c&#7911;a n&#243;.
D&#297; nhi&#234;n, d&#7919; ki&#7879;n n&#224;y kh&#244;ng b&#7855;t bu&#7897;c.
{T.B.} H&#7879; th&#7889;ng n&#7889;i k&#7871;t n&#224;y kh&#244;ng ng&#259;n ng&#7915;a vi&#7879;c nh&#233;t m&#7897;t &#273;i&#7875;m n&#7889;i hypertext v&#224;o trong th&#226;n b&#224;i c&#7911;a tin ng&#7855;n, nh&#432;ng &#273;i&#7875;m n&#7889;i hypertext {ri&#234;ng bi&#7879;t} cho ph&#233;p ng&#432;&#7901;i webmaster &#273;&#7889;i x&#7917; &#273;&#7863;c bi&#7879;t (c&#243; t&#237;nh c&#225;ch &#273;&#7891; h&#7885;a) v&#7899;i lo&#7841;i &#273;i&#7875;m n&#7889;i n&#224;y.
</breveslien>
<brevesstatut>
{{{T&#236;nh tr&#7841;ng Tin Ng&#7855;n}}}
Vi&#7879;c qu&#7843;n tr&#7883; m&#7897;t tin ng&#7855;n &#273;&#417;n gi&#7843;n h&#417;n b&#224;i v&#7903;. M&#7897;t tin ng&#7855;n kh&#244;ng c&#243; t&#225;c gi&#7843;. T&#236;nh tr&#7841;ng c&#7911;a n&#243; ch&#7881; l&#224;: "&#272;&#227; n&#7897;p", "&#272;&#432;&#7907;c ch&#7845;p thu&#7853;n" hay "B&#7883; t&#7915; ch&#7889;i". Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh t&#236;nh tr&#7841;ng c&#7911;a tin ng&#7855;n.
- {{Tin ng&#7855;n &#273;&#227; n&#7897;p v&#224;o}}
Tin ng&#7855;n "&#273;&#227; n&#7897;p" &#273;&#432;&#7907;c cho th&#7845;y trong trang "N&#417;i b&#7855;t &#273;&#7847;u": m&#7885;i ch&#7911; b&#250;t c&#243; th&#7875; xem x&#233;t v&#224; s&#7917;a &#273;&#7893;i ch&#250;ng. Qu&#7843;n tr&#7883; vi&#234;n c&#243; hai n&#250;t nh&#7845;n &#273;&#7875; d&#249;ng: cho ph&#233;p ch&#7845;p thu&#7853;n hay t&#7915; ch&#7889;i.
- {{Tin ng&#7855;n &#273;&#432;&#7907;c ch&#7845;p thu&#7853;n}}
Tin ng&#7855;n "&#273;&#432;&#7907;c ch&#7845;p thu&#7853;n" l&#224; nh&#7919;ng tin xu&#7845;t hi&#7879;n tr&#234;n trang web. Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; s&#7917;a &#273;&#7893;i ch&#250;ng.
- {{Tin ng&#7855;n b&#7883; t&#7915; ch&#7889;i}}
Tin ng&#7855;n "b&#7883; t&#7915; ch&#7889;i" kh&#244;ng &#273;&#432;&#7907;c &#273;&#259;ng t&#7843;i tr&#234;n trang web v&#224; ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i xem &#273;&#432;&#7907;c ch&#250;ng trong v&#249;ng ri&#234;ng.
</brevesstatut>
<breveslogo>
{{{Logo c&#7911;a tin ng&#7855;n}}}
<A HREF="aide_index.php3?aide=logoart" TARGET="_top"><img src="AIDE/logoart-2.gif" alt=" " border="0" align="right"></A>
B&#7841;n c&#243; th&#7875; c&#224;i &#273;&#7863;t m&#7897;t logo cho m&#7895;i tin ng&#7855;n. Logo n&#224;y c&#243; th&#7875; &#273;&#417;n gi&#7843;n hay l&#224; h&#236;nh ho&#7841;t h&#7885;a c&#243; kh&#7843; n&#259;ng l&#417; l&#7917;ng.
C&#225;ch th&#7913;c c&#224;i &#273;&#7863;t logo cho tin ng&#7855;n t&#432;&#417;ng t&#7921; nh&#432; cho <A HREF="aide_index.php3?aide=logoart" TARGET="_top">logo c&#7911;a b&#224;i v&#7903;</A>.
</breveslogo>
<suiviforum>
{{{Forums follow-up}}}
The forums follow-up page is an important element of your site if you allow the use of public forums (on this matter, refer to the documentation about <A
HREF="aide_index.php3?aide=confforums" TARGET="_top">public forums configuration</A>). It is here, in fact, that the forums moderation takes place.
- {{Hi&#7875;n th&#7883; th&#432; t&#237;n}}
Th&#432; t&#237;n kh&#244;ng hi&#7875;n th&#7883; theo c&#7845;u tr&#250;c th&#7913; b&#7853;c (theo {lu&#7891;ng}), m&#224; hi&#7875;n th&#7883; theo th&#7913; t&#7921; th&#7901;i gian ng&#432;&#7907;c (th&#432; t&#237;n m&#7899;i nh&#7845;t hi&#7879;n l&#234;n tr&#432;&#7899;c). M&#7895;i th&#432; t&#237;n c&#243; k&#232;m theo t&#234;n b&#224;i vi&#7871;t t&#432;&#417;ng &#7913;ng.
- {{X&#243;a m&#7897;t th&#432; t&#237;n}}
&#272;&#7863;c t&#237;nh ch&#237;nh &#7903; &#273;&#226;y l&#224; kh&#7843; n&#259;ng {x&#243;a} th&#432; t&#237;n. {{C&#7843;nh b&#225;o:}} thao t&#225;c n&#224;y kh&#244;ng &#273;i ng&#432;&#7907;c l&#7841;i &#273;&#432;&#7907;c. Tuy th&#7871;, m&#7897;t th&#432; t&#237;n &#273;&#227; b&#7883; x&#243;a ch&#432;a &#273;&#432;&#7907;c l&#7845;y ra kh&#7887;i database ho&#224;n to&#224;n: n&#243; v&#7851;n xu&#7845;t hi&#7879;n trong trang n&#224;y v&#7899;i m&#7897;t khung &#273;&#7887; xung quanh, k&#232;m theo ng&#224;y nh&#7853;n v&#224; &#273;&#7883;a ch&#7881; IP c&#7911;a ng&#432;&#7901;i g&#7917;i.
- N&#7871;u b&#7841;n &#273;&#227; thi&#7871;t k&#7871; di&#7877;n &#273;&#224;n c&#244;ng c&#7897;ng v&#7899;i &#273;&#7863;c t&#237;nh &#273;i&#7873;u h&#7907;p {tr&#432;&#7899;c}, th&#432; t&#237;n &#273;ang ch&#7901; ch&#7845;p thu&#7853;n c&#243; m&#7897;t khung v&#224;ng xung quanh v&#224; c&#243; hai n&#250;t: {x&#243;a th&#432; t&#237;n n&#224;y} v&#224; {ch&#7845;p thu&#7853;n th&#432; t&#237;n n&#224;y}.
</suiviforum>
<cookie>
{{{Cookie qu&#7843;n tr&#7883;}}}
Qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; m&#7903; m&#7897;t cookie l&#234;n v&#224; sau &#273;&#243; m&#7897;t s&#7889; d&#7919; ki&#7879;n ph&#7909; tr&#7897;i s&#7869; xu&#7845;t hi&#7879;n m&#7895;i khi xem trang web.
- {{L&#224;m m&#7899;i trang (Refresh this page)}}
M&#7897;t n&#250;t nh&#7845;n ghi ch&#250; l&#224; &laquo;Refresh this page&raquo; s&#7869; xu&#7845;t hi&#7879;n tr&#234;n m&#7885;i trang c&#7911;a website. V&#236; l&#253; do SPIP d&#249;ng h&#7879; th&#7889;ng {cache}, &#273;&#244;i khi nh&#7919;ng g&#236; b&#7841;n v&#7915;a s&#7917;a &#273;&#7893;i ch&#432;a xu&#7845;t hi&#7879;n online ngay l&#7853;p t&#7913;c. (Trang hi&#7879;n ra trong website c&#244;ng c&#7897;ng kh&#244;ng &#273;&#432;&#7907;c l&#7845;y th&#7859;ng ra t&#7915; database: ch&#250;ng &#273;&#432;&#7907;c th&#432;&#7901;ng xuy&#234;n l&#224;m m&#7899;i l&#7841;i v&#224; gi&#7919; trong cache.).
Khi {l&#224;m m&#7899;i} trang, qu&#7843;n tr&#7883; vi&#234;n ra l&#7879;nh &#273;&#7875; hi&#7875;n th&#7883; l&#7841;i trang d&#7921;a theo d&#7919; ki&#7879;n c&#7853;p nh&#7845;t nh&#7845;t trong database, ch&#7913; kh&#244;ng c&#7847;n ch&#7901; chu k&#7923; c&#7853;p nh&#7845;t k&#7871; c&#7911;a cache.
- {{S&#7917;a &#273;&#7893;i ...}}
Trang c&#7911;a b&#224;i vi&#7871;t, &#273;&#7873; m&#7909;c v&#224; tin ng&#7855;n c&#243; m&#7897;t n&#250;t b&#234;n d&#432;&#7899;i trang c&#243; ghi ch&#250; &laquo;Modify this article&raquo; (or &laquo;section&raquo;...). N&#250;t n&#224;y &#273;&#432;a b&#7841;n &#273;i th&#7859;ng t&#7915; trang web c&#244;ng c&#7897;ng v&#224;o trang t&#432;&#417;ng &#7913;ng trong v&#249;ng ri&#234;ng. N&#250;t n&#224;y t&#7841;o s&#7921; d&#7877; d&#224;ng &#273;&#7875; &#273;i&#7873;u ch&#7881;nh, s&#7917;a &#273;&#7893;i hay c&#7853;p nh&#7853;t trang khi b&#7841;n xem online.
- {{S&#7889; l&#7847;n v&#224;o xem}}
N&#7871;u h&#7879; th&#7889;ng th&#7889;ng k&#234; c&#7911;a SPIP &#273;&#432;&#7907;c ho&#7841;t &#273;&#7897;ng, nh&#7919;ng chi ti&#7871;t ph&#7909; tr&#7897;i sau &#273;&#432;&#7907;c th&#234;m v&#224;o: s&#7889; l&#7847;n (&#432;&#7899;c l&#432;&#7907;ng) v&#224;o xem v&#224; s&#7889; l&#432;&#7885;ng {n&#417;i n&#7889;i k&#7871;t} kh&#225;c nhau.
N&#417;i n&#7889;i k&#7871;t l&#224; nh&#7919;ng &#273;i&#7875;m n&#7889;i v&#224;o trang n&#224;y t&#7915; c&#225;c website b&#234;n ngo&#224;i (t&#7913;c l&#224;, khi m&#7897;t website cho m&#7897;t &#273;i&#7875;m n&#7889;i th&#7859;ng v&#224;o b&#224;i vi&#7871;t n&#224;y, hay khi &#273;&#7883;a ch&#7881; c&#7911;a b&#224;i vi&#7871;t n&#224;y &#273;&#432;&#7907;c k&#232;m trong email).
- {{Danh hi&#7879;u ra v&#224;o (Connection identifier)}}
Cookie qu&#7843;n tr&#7883; &#273;&#7891;ng th&#7901;i cho ph&#233;p SPIP nh&#7853;n di&#7879;n browser c&#7911;a b&#7841;n khi b&#7841;n v&#224;o l&#7841;i trang web: login b&#7841;n &#273;&#227; &#273;&#432;&#7907;c nh&#7899;; b&#7841;n ch&#7881; c&#7847;n &#273;&#225;nh v&#224;o m&#7853;t m&#227; &#273;&#7875; v&#224;o v&#249;ng ri&#234;ng trong website.
(TB: n&#7871;u vi&#7879;c n&#7889;i v&#224;o t&#249;y thu&#7897;c v&#224;o cookie - tr&#432;&#7901;ng h&#7907;p ph&#7893; th&#244;ng nh&#7845;t -, cookie n&#224;y &#273;&#432;&#7907;c gi&#7919;a trong v&#249;ng ri&#234;ng khi b&#7841;n v&#224;o &#273;&#7871;n.).
</cookie>
<mots>
{{{T&#7915; then ch&#7889;t}}}
M&#7897;t trong nh&#7919;ng gi&#7899;i h&#7841;n c&#7911;a SPIP l&#224; c&#7845;u tr&#250;c th&#7913; b&#7853;c c&#7911;a n&#243;: m&#7895;i b&#224;i vi&#7871;t ch&#7881; thu&#7897;c v&#7873; m&#7897;t &#273;&#7873; m&#7909;c m&#7897;t m&#224; th&#244;i, &#273;i&#7873;u n&#224;y &#273;&#244;i khi g&#226;y ra tr&#7903; ng&#7841;i khi ph&#226;n lo&#7841;i.
T&#7915; then ch&#7889;t cho ph&#233;p m&#7897;t l&#7889;i du h&#224;nh kh&#225;c trong website. Khi &#7845;n &#273;&#7883;nh m&#7897;t hay nhi&#7873;u t&#7915; then ch&#7889;t cho m&#7897;t b&#224;i vi&#7871;t, ta c&#243; &#273;&#432;&#7907;c c&#225;ch &#273;&#7875; x&#7871;p lo&#7841;i m&#7897;t s&#7889; b&#224;i v&#7903; c&#243; c&#249;ng ch&#7911; &#273;&#7873; nh&#432;ng n&#7857;m r&#227;i r&#225;c &#7903; nhi&#7873;u &#273;&#7873; m&#7909;c kh&#225;c nhau.
T&#7915; then ch&#7889;t ch&#7881; c&#243; l&#7907;i &#237;ch nhi&#7873;u khi m&#7895;i t&#7915; then ch&#7889;t &#273;&#432;&#7907;c &#7845;n &#273;&#7883;nh cho nhi&#7873;u b&#224;i vi&#7871;t, &#273;&#7875; g&#7897;p c&#225;c b&#224;i n&#224;y l&#7841;i v&#7899;i nhau trong m&#7897;t ch&#7911; &#273;&#7873; n&#224;o &#273;&#243;.
{Ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; t&#7841;o l&#7853;p v&#224; &#273;i&#7873;u ch&#7881;nh t&#7915; then ch&#7889;t}
{N&#7871;u c&#7845;u tr&#250;c &#273;&#7873; m&#7909;c &#273;&#432;&#7907;c ho&#7841;ch &#273;&#7883;nh th&#7853;t kh&#233;o th&#236; ta c&#243; th&#7875; kh&#244;ng c&#7847;n t&#7915; then ch&#7889;t l&#224;m g&#236;: nh&#7919;ng b&#224;i c&#249;ng ch&#7911; &#273;&#7873; &#273;&#227; &#273;&#432;&#7907;c n&#7857;m c&#249;ng chung trong m&#7897;t &#273;&#7873; m&#7909;c. Trong tr&#432;&#7901;ng h&#7907;p &#273;&#243; kh&#244;ng c&#7847;n &#7845;n &#273;&#7883;nh t&#7915; then ch&#7889;t cho b&#224;i v&#7903;. L&#250;c &#273;&#243; qu&#7843;n tr&#7883; vi&#234;n v&#224;o trang <A
HREF="aide_index.php3?aide=confart" TARGET="_top">C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n</A>&#273;&#7875; kh&#243;a l&#7841;i, kh&#244;ng c&#7847;n d&#249;ng t&#7915; then ch&#7889;t n&#7919;a.}
</mots>
<motsgroupes>
{{{Nh&#243;m t&#7915; then ch&#7889;t}}}
N&#7871;u b&#7841;n d&#249;ng r&#7845;t nhi&#7873;u t&#7915; then ch&#7889;t th&#236; vi&#7879;c qu&#7843;n tr&#7883; ch&#250;ng r&#7845;t nhi&#234;u kh&#234; v&#224; kh&#244;ng h&#7919;u hi&#7879;u. &#272;&#243; l&#224; t&#7841;i sao ta c&#7847;n Nh&#243;m t&#7915; then ch&#7889;t. Giao di&#7879;n l&#250;c &#273;&#243; s&#7869; g&#7885;n g&#224;ng h&#417;n (l&#7845;y th&#237; d&#7909; nh&#243;m "Qu&#7889;c Gia" c&#243; c&#225;c t&#7915; then ch&#7889;t "Vi&#7879;t Nam", "Hoa K&#7923;", "Ph&#225;p", "&#218;c" trong khi &#273;&#243; nh&#243;m t&#7915; "Ch&#7911; &#273;&#7873;" c&#243; c&#225;c t&#7915; "X&#227; H&#7897;i", "Kinh T&#7871;", "Ch&#237;nh Tr&#7883;", v.v...)
</motsgroupes>
<messut>
{{{Th&#432; t&#237;n gi&#7919;a ng&#432;&#7901;i s&#7917; d&#7909;ng}}}
SPIP t&#7841;o s&#7921; d&#7877; d&#224;ng &#273;&#7875; trao &#273;&#7893;i th&#432; t&#237;n gi&#7919;a nh&#7919;ng ng&#432;&#7901;i d&#249;ng m&#224; kh&#244;ng c&#7847;n &#273;&#7871;n email.
Khi m&#7897;t th&#432; t&#237;n &#273;&#432;&#7907;c "g&#7917;i &#273;i" t&#7915; m&#7897;t ng&#432;&#7901;i &#273;&#7871;n m&#7897;t hay nhi&#7873;u ng&#432;&#7901;i kh&#225;c, n&#243; tr&#7903; th&#224;nh m&#7897;t di&#7877;n &#273;&#224;n trao &#273;&#7893;i ri&#234;ng. Nh&#432; th&#7871;, m&#7897;t khi th&#432; t&#237;n &#273;&#432;&#7907;c g&#7917;i &#273;i, cu&#7897;c trao &#273;&#7893;i c&#243; th&#7875; ti&#7871;p di&#7877;n d&#432;&#7899;i d&#7841;ng m&#7897;t di&#7877;n &#273;&#224;n trao &#273;&#7893;i ngay b&#234;n d&#432;&#7899;i c&#7911;a th&#432; t&#237;n &#273;&#243;. V&#7899;i SPIP, ta c&#243; th&#7875; coi m&#7897;t th&#432; t&#237;n nh&#432; l&#224; m&#7897;t di&#7877;n &#273;&#224;n ri&#234;ng t&#432; (t&#7913;c l&#224;, kh&#244;ng c&#7847;n trao &#273;&#7893;i m&#7897;t l&#432;&#7907;ng th&#244;ng tin l&#7899;n &#273;&#7875; c&#243; m&#7897;t cu&#7897;c th&#7843;o lu&#7853;n, b&#7841;n ch&#7881; &#273;&#417;n thu&#7847;n "&#7903;" trong c&#249;ng th&#432; t&#237;n &#273;&#243; &#273;&#7875; chuy&#7879;n tr&#242;).
{L&#432;u &#253;:} Th&#432; t&#237;n gi&#7919;a nh&#7919;ng ng&#432;&#7901;i d&#249;ng v&#224; c&#225;c di&#7877;n &#273;&#224;n li&#234;n h&#7879; &#273;&#7873;u c&#243; t&#237;nh c&#225;ch ri&#234;ng t&#432;, &#273;i&#7873;u n&#224;y c&#243; ngh&#297;a l&#224; SPIP kh&#244;ng c&#243; c&#225;ch g&#236; &#273;&#7875; cho ph&#233;p qu&#7843;n tr&#7883; vi&#234;n xem c&#225;c th&#432; t&#237;n &#273;&#243;. Tuy th&#7871;, nh&#7899; l&#224; s&#7921; k&#237;n &#273;&#225;o n&#224;y ch&#7881; &#7903; m&#7913;c &#273;&#7897; t&#432;&#417;ng &#273;&#7889;i: qu&#7843;n tr&#7883; vi&#234;n n&#224;o c&#243; quy&#7873;n v&#224;o tr&#7921;c ti&#7871;p database &#273;&#7873;u c&#243; th&#7875; xem c&#225;c th&#432; t&#237;n &#273;&#243;.
- {{Vi&#7871;t m&#7897;t th&#432; t&#237;n/trao &#273;&#7893;i}}
C&#225;ch &#273;&#417;n gi&#7843;n nh&#7845;t &#273;&#7875; g&#7917;i th&#432; t&#237;n &#273;i l&#224; b&#7845;m v&#224;o logo xanh l&#225; c&#226;y (ch&#7919; "M" nh&#7887; c&#243; h&#236;nh tam gi&#225;c &#273;i k&#232;m) b&#234;n c&#7841;nh t&#234;n c&#7911;a ng&#432;&#7901;i nh&#7853;n. N&#243; s&#7869; m&#7903; ra m&#7897;t th&#432; t&#237;n m&#7899;i.
C&#225;ch th&#7913; nh&#236; l&#224; d&#249;ng n&#250;t nh&#7845;n "Th&#432; T&#237;n m&#7899;i" hay "Vi&#7871;t th&#432; t&#237;n" hi&#7879;n ra trong m&#7885;i trang c&#7911;a SPIP. N&#243; s&#7869; m&#7903; ra m&#7897;t th&#432; t&#237;n m&#7899;i nh&#432;ng ch&#432;a &#273;&#7873; t&#234;n ng&#432;&#7901;i nh&#7853;n. Tr&#432;&#7899;c khi g&#7917;i &#273;i, b&#7841;n nh&#7899; cho t&#234;n ng&#432;&#7901;i nh&#7853;n v&#224;o.
Giao di&#7879;n so&#7841;n b&#224;i c&#7911;a c&#225;c th&#432; t&#237;n n&#224;y r&#7845;t &#273;&#417;n gi&#7843;n.
L&#7895;i th&#432;&#7901;ng v&#7845;p ph&#7843;i l&#224; qu&#234;n b&#7845;m n&#250;t "G&#7917;i" &#273;i. Khi n&#224;o m&#224; th&#432; t&#237;n v&#7851;n c&#242;n trong tr&#7841;ng th&#225;i "&#273;ang so&#7841;n" th&#236; ch&#7881; c&#243; t&#225;c gi&#7843; m&#7899;i xem v&#224; s&#7917;a &#273;&#7893;i &#273;&#432;&#7907;c. Ph&#7843;i b&#7845;m g&#7917;i &#273;i th&#236; th&#432; t&#237;n m&#7899;i &#273;&#7871;n tay ng&#432;&#7901;i nh&#7853;n. L&#432;u &#253; l&#224; khi th&#432; t&#237;n g&#7917;i &#273;i r&#7891;i, kh&#244;ng s&#7917;a &#273;&#7893;i &#273;&#432;&#7907;c n&#7919;a.
- {{Th&#234;m/b&#7899;t ng&#432;&#7901;i nh&#7853;n}}
B&#7845;t c&#7913; l&#250;c n&#224;o c&#361;ng c&#243; th&#7875; th&#234;m m&#7897;t ng&#432;&#7901;i nh&#7853;n: ho&#7863;c l&#224; trong l&#250;c so&#7841;n th&#432; hay sau khi g&#7917;i th&#432; &#273;i r&#7891;i (l&#7845;y th&#237; d&#7909;, sau khi g&#7917;i r&#7891;i, mu&#7889;n th&#234;m m&#7897;t ng&#432;&#7901;i kh&#225;c &#273;&#7875; c&#249;ng trao &#273;&#7893;i chung).
T&#432;&#417;ng t&#7921; v&#7853;y, b&#7841;n c&#243; th&#7875; x&#243;a b&#7899;t ng&#432;&#7901;i nh&#7853;n b&#7845;t c&#7913; l&#250;c n&#224;o. Ngo&#224;i ra, n&#7871;u m&#7897;t ng&#432;&#7901;i trong cu&#7897;c kh&#244;ng mu&#7889;n tham gia v&#224;o cu&#7897;c th&#7843;o lu&#7853;n n&#7919;a, h&#7885; c&#243; th&#7875; b&#7845;m v&#224;o n&#250;t "Ng&#7915;ng tham gia v&#224;o cu&#7897;c th&#7843;o lu&#7853;n".
- {{L&#224;m h&#7865;n}}
B&#7845;t c&#7913; th&#432; t&#237;n n&#224;o c&#361;ng c&#243; th&#7875; &#273;&#432;&#7907;c bi&#7871;n th&#224;nh m&#7897;t cu&#7897;c h&#7865;n: c&#243; ngh&#297;a l&#224; n&#243; &#273;&#432;&#7907;c n&#7889;i v&#7899;i m&#7897;t ng&#224;y th&#225;ng trong l&#7883;ch c&#7911;a SPIP.
- {{C&#243; th&#7875; n&#224;o g&#7917;i th&#432; t&#237;n cho b&#7845;t c&#7913; ai trong website?}}
C&#243; m&#7897;t s&#7889; ch&#7911; b&#250;t kh&#244;ng li&#234;n l&#7841;c &#273;&#432;&#7907;c (h&#7885; kh&#244;ng xu&#7845;t hi&#7879;n trong danh s&#225;ch "Th&#234;m m&#7897;t tham d&#7921; vi&#234;n" v&#224; t&#234;n h&#7885; kh&#244;ng &#273;i k&#232;m v&#7899;i logo th&#432; t&#237;n):
- ng&#432;&#7901;i ch&#7911; b&#250;t c&#243; th&#7875; quy&#7871;t &#273;&#7883;nh cho h&#7885; d&#249;ng hay kh&#244;ng d&#249;ng h&#7879; th&#7889;ng th&#432; t&#237;n n&#7897;i b&#7897;;
- ng&#432;&#7901;i ch&#7911; b&#250;t kh&#244;ng ra/v&#224;o v&#249;ng ri&#234;ng trong th&#7901;i gian h&#417;n 15 ng&#224;y c&#361;ng kh&#244;ng li&#234;n l&#7841;c &#273;&#432;&#7907;c (cho nh&#7919;ng ng&#432;&#7901;i &#237;t v&#224;o, t&#7889;t h&#417;n h&#7871;t l&#224; s&#7917; d&#7909;ng email b&#236;nh th&#432;&#7901;ng).
</messut>
<messpense>
{{{Ghi nh&#7899;}}}
M&#7897;t b&#7843;n ghi nh&#7899; (&laquo;memo&raquo; &laquo;memorandum&raquo; or &laquo;memory juggler&raquo;) c&#243; h&#236;nh th&#225;i nh&#432; m&#7897;t th&#432; t&#237;n: nh&#432;ng kh&#244;ng c&#243; ng&#432;&#7901;i nh&#7853;n. Ch&#7881; c&#243; t&#225;c gi&#7843; c&#7911;a b&#7843;n ghi nh&#7899; m&#7899;i c&#243; th&#7875; &#273;&#7885;c &#273;&#432;&#7907;c n&#243;.
Nh&#432; t&#234;n g&#7885;i, b&#7843;n ghi nh&#7899; d&#249;ng &#273;&#7875; ghi nh&#7853;n m&#7897;t s&#7889; &#273;i&#7873;u ta mu&#7889;n ghi nh&#7899;.
- {{Nh&#233;t m&#7897;t b&#7843;n ghi nh&#7899; v&#224;o trong l&#7883;ch}}
Vi&#7879;c s&#7917; d&#7909;ng thi&#7871;t th&#7921;c nh&#7845;t c&#7911;a b&#7843;n ghi nh&#7899; l&#224; cho n&#243; ng&#224;y th&#225;ng. Nh&#432; v&#7853;y, b&#7843;n ghi nh&#7899; h&#224;nh x&#7917; nh&#432; m&#7897;t nh&#7855;c nh&#7905; cho t&#225;c gi&#7843; cho &#273;&#7871;n ng&#224;y th&#225;ng &#273;&#243; (v&#224; trong v&#242;ng 24 ti&#7871;ng k&#7871; &#273;&#243;) v&#224; n&#243; hi&#7879;n ra trong l&#7883;ch c&#7911;a h&#7879; th&#7889;ng SPIP.
{L&#432;u &#253;:} c&#361;ng nh&#432; th&#432; t&#237;n gi&#7919;a c&#225;c ng&#432;&#7901;i d&#249;ng, ch&#250;ng t&#244;i l&#432;u &#253; b&#7841;n v&#7873; m&#7913;c &#273;&#7897; k&#237;n &#273;&#225;o t&#432;&#417;ng &#273;&#7889;i c&#7911;a nh&#7919;ng b&#7843;n ghi nh&#7899; n&#224;y. SPIP kh&#244;ng c&#243; giao di&#7879;n n&#224;o &#273;&#7875; qu&#7843;n tr&#7883; vi&#234;n xem &#273;&#432;&#7907;c th&#432; t&#237;n c&#7911;a b&#7841;n. Tuy nhi&#234;n, c&#243; nh&#7919;ng nhu li&#7879;u kh&#225;c &#273;&#7885;c th&#7859;ng database c&#243; kh&#7843; n&#259;ng xem &#273;&#432;&#7907;c.
</messpense>
<messcalen>
{{{L&#7883;ch}}}
L&#7883;ch c&#7911;a SPIP c&#243; hai lo&#7841;i d&#7919; ki&#7879;n:
- {{d&#7919; ki&#7879;n chung cho to&#224;n website;}} &#273;&#226;y l&#224; nh&#7919;ng b&#224;i vi&#7871;t v&#224; tin ng&#7855;n &#273;&#227; &#273;&#259;ng t&#7843;i - Nh&#432; th&#7871;, l&#7883;ch cho ph&#233;p t&#236;m c&#225;c b&#224;i vi&#7871;t theo ng&#224;y th&#225;ng &#273;&#259;ng t&#7843;i online;
- {{d&#7919; ki&#7879;n ri&#234;ng;} &#273;&#226;y l&#224; nh&#7919;ng th&#432; t&#237;n gi&#7919;a ng&#432;&#7901;i d&#249;ng v&#224; c&#225;c b&#7843;n ghi nh&#7899; c&#243; &#273;&#7873; ng&#224;y h&#7865;n. Nh&#432; th&#7871;, t&#7845;m l&#7883;ch n&#224;y h&#224;nh x&#7917; nh&#432; b&#7843;n nh&#7855;c nh&#7903; v&#224; nh&#7853;t k&#253;.
C&#7847;n ghi nh&#7853;n l&#224; m&#7895;i ng&#224;y l&#7883;ch c&#243; k&#232;m theo hai logo xanh d&#432;&#417;ng nh&#7887;: logo n&#224;y cho ph&#233;p thi&#7871;t l&#7853;p m&#7897;t b&#7843;n ghi nh&#7899; tr&#7921;c ti&#7871;p d&#237;nh &#273;&#7871;n ng&#224;y &#273;&#243; (gi&#7901; h&#7865;n c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh).
</messcalen>
<messconf>
{{{&#272;i&#7873;u ch&#7881;nh h&#7879; th&#432; t&#237;n}}}
M&#7895;i ng&#432;&#7901;i d&#249;ng c&#243; th&#7875; &#273;i&#7873;u ch&#7881;nh c&#7845;u h&#236;nh c&#7911;a h&#7879; th&#7889;ng th&#432; t&#237;n n&#7897;i b&#7897;.
{Ghi ch&#250;:} qu&#7843;n tr&#7883; vi&#234;n website c&#243; th&#7875; quy&#7871;t &#273;&#7883;nh kh&#244;ng d&#249;ng h&#7879; th&#7889;ng th&#432; t&#237;n ho&#7863;c danh s&#225;ch nh&#7919;ng ng&#432;&#7901;i d&#249;ng &#273;ang n&#7889;i v&#224;o. N&#7871;u nh&#7919;ng &#273;&#7863;c &#273;i&#7875;m n&#224;y b&#7883; kh&#243;a l&#7841;i cho to&#224;n b&#7897; website (b&#7903;i qu&#7843;n tr&#7883; vi&#234;n), ch&#7911; b&#250;t s&#7869; kh&#244;ng d&#249;ng &#273;&#432;&#7907;c.
- {{Kh&#244;ng d&#249;ng h&#7879; th&#432; t&#237;n n&#7897;i b&#7897;}}
N&#7871;u h&#7879; th&#432; t&#237;n n&#7897;i b&#7897; cho to&#224;n website &#273;&#432;&#7907;c ph&#233;p ch&#7841;y, m&#7895;i ng&#432;&#7901;i d&#249;ng c&#243; th&#7875; l&#7845;y quy&#7871;t &#273;&#7883;nh cho ri&#234;ng m&#236;nh d&#249;ng hay kh&#244;ng d&#249;ng (t&#7913;c l&#224;, h&#7885; s&#7869; kh&#244;ng mu&#7889;n trao &#273;&#7893;i th&#432; t&#237;n v&#7899;i nh&#7919;ng ng&#432;&#7901;i kh&#225;c trong h&#7879; th&#7889;ng).
- {{Kh&#244;ng d&#249;ng danh s&#225;ch nh&#7919;ng ng&#432;&#7901;i d&#249;ng &#273;ang n&#7889;i v&#224;o }}
Khi &#273;&#7863;c t&#237;nh n&#224;y &#273;&#432;&#7907;c m&#7903; l&#234;n (do ch&#7885;n l&#7921;a c&#7911;a qu&#7843;n tr&#7883; vi&#234;n), v&#224; trong l&#250;c ng&#432;&#7901;i ch&#7911; b&#250;t &#273;ang d&#249;ng h&#7879; th&#432; t&#237;n n&#7897;i b&#7897;, h&#7885; c&#243; th&#7875; l&#7845;y quy&#7871;t &#273;&#7883;nh ri&#234;ng cho h&#7885; kh&#244;ng tham gia v&#224;o danh s&#225;ch nh&#7919;ng ng&#432;&#7901;i d&#249;ng &#273;ang c&#243; m&#7863;t.
&#272;&#7863;c &#273;i&#7875;m n&#224;y hi&#7875;n th&#7883; li&#234;n t&#7909;c (real-time) danh s&#225;ch nh&#7919;ng ng&#432;&#7901;i &#273;ang c&#243; m&#7863;t, t&#7841;o s&#7921; d&#7877; d&#224;ng cho ng&#432;&#7901;i d&#249;ng c&#243; nh&#7919;ng trao &#273;&#7893;i nhanh. M&#7897;t s&#7889; ng&#432;&#7901;i th&#7845;y l&#224; &#273;&#7863;c &#273;i&#7875;m n&#224;y xen l&#7845;n v&#224;/ho&#7863;c kh&#244;ng mu&#7889;n b&#7883; &laquo;qu&#7845;y r&#7847;y&raquo;. H&#7885; ch&#7881; c&#7847;n kh&#243;a &#273;&#7863;c &#273;i&#7875;m n&#224;y l&#7841;i: t&#234;n h&#7885; s&#7869; kh&#244;ng hi&#7879;n l&#234;n trong danh s&#225;ch &#273;&#243; n&#7919;a, v&#224; danh s&#225;ch n&#224;y c&#361;ng kh&#244;ng hi&#7879;n l&#234;n tr&#234;n trang h&#7885; &#273;ang xem.
{Ghi ch&#250;:} Khi m&#7897;t qu&#7843;n tr&#7883; vi&#234;n kh&#244;ng mu&#7889;n xu&#7845;t hi&#7879;n trong danh s&#225;ch th&#236; nh&#7919;ng ng&#432;&#7901;i kh&#225;c s&#7869; kh&#244;ng th&#7845;y t&#234;n qu&#7843;n tr&#7883; vi&#234;n &#273;&#243;, nh&#432;ng ng&#432;&#7901;i qu&#7843;n tr&#7883; v&#7851;n th&#7845;y danh s&#225;ch nh&#7919;g ng&#432;&#7901;i kh&#225;c.
</messconf>
<reference>
{{{Website n&#7889;i k&#7871;t}}}
SPIP c&#243; m&#7897;t h&#7879; th&#7889;ng tr&#7885;n v&#7865;n &#273;&#7875; qu&#7843;n tr&#7883; danh s&#225;ch c&#225;c &#273;i&#7875;m n&#7889;i k&#7871;t qua website kh&#225;c. H&#7879; th&#7889;ng n&#224;y &#273;&#7847;y &#273;&#7911; v&#224; cho ph&#233;p:
- g&#7897;p c&#225;c danh s&#225;ch n&#224;y l&#7841;i trong &#273;&#7873; m&#7909;c (c&#249;ng &#273;&#7873; m&#7909;c ch&#7913;a c&#225;c b&#224;i vi&#7871;t hay &#273;&#7873; m&#7909;c &#273;&#7863;c bi&#7879;t d&#224;nh ri&#234;ng cho vi&#7879;c s&#7917; d&#7909;ng n&#224;y, t&#432;&#417;ng t&#7921; nh&#432; th&#432; m&#7909;c &#273;i&#7875;m n&#7889;i k&#7871;t);
- g&#7855;n logo cho m&#7895;i website;
- g&#7855;n t&#7915; then ch&#7889;t v&#7899;i m&#7895;i website n&#7889;i k&#7871;t;
- th&#234;m ph&#7909; ch&#250; cho m&#7895;i website.
H&#417;n n&#7919;a, b&#7841;n c&#243; th&#7875; t&#7921; &#273;&#7897;ng v&#243;i l&#7845;y nh&#7919;ng b&#224;i v&#7903; &#273;&#259;ng t&#7843;i m&#7899;i nh&#7845;t t&#7915; website &#273;&#243; (n&#7871;u website &#273;&#243; cho ph&#233;p) (refer to &laquo;<a href="aide_index.php3?aide=rubsyn" target="_top">Website Syndicated</a>&raquo;).
{{N&#7889;i k&#7871;t qua m&#7897;t website m&#7899;i }}
N&#250;t nh&#7845;n c&#243; ghi ch&#250; &laquo;N&#7889;i k&#7871;t website m&#7899;i&raquo; trong m&#7895;i trang &#273;&#7873; m&#7909;c cho ph&#233;p th&#234;m m&#7897;t website m&#7899;i.
Ph&#432;&#417;ng th&#7913;c &laquo;c&#7893; &#273;i&#7875;n&raquo; l&#224; cho bi&#7871;t t&#234;n v&#224; URL c&#7911;a website, v&#224; th&#234;m ph&#7909; ch&#250;. C&#361;ng c&#243; th&#7875; ch&#7885;n &#273;&#7873; m&#7909;c b&#7841;n mu&#7889;n nh&#233;t &#273;i&#7875;m n&#7889;i k&#7871;t n&#224;y v&#224;o.
Khung b&#234;n d&#432;&#7899;i trang cho ph&#233;p b&#7841;n qu&#7843;n tr&#7883; b&#7845;t c&#7913; syndication n&#224;o v&#7873; n&#7897;i dung. &#272;&#7875; bi&#7871;t th&#234;m chi ti&#7871;t xin xem ph&#7847;n gi&#7843;i th&#237;ch <a href="aide_index.php3?aide=rubsyn "target="_top">website syndicated</a>. &#272;&#7875; n&#7889;i k&#7871;t &#273;&#417;n gi&#7843;n, b&#7841;n ch&#7881; c&#7847;n ch&#7885;n &laquo;kh&#244;ng syndication&raquo;.
{{N&#7889;i k&#7871;t nhanh ch&#243;ng}}
Trong l&#250;c thi&#7871;t l&#7853;p vi&#7879;c n&#7889;i k&#7871;t qua m&#7897;t website m&#7899;i, khung &#7903; b&#234;n tr&#234;n trang cho ph&#233;p b&#7841;n n&#7889;i k&#7871;t nhanh ch&#243;ng qua m&#7897;t website kh&#225;c m&#224; kh&#244;ng c&#7847;n ph&#7843;i cho v&#224;o t&#234;n hay ghi ch&#250;. B&#7841;n ch&#7881; cho v&#224;o &#273;&#7883;a ch&#7881; URL m&#224; th&#244;i. SPIP s&#7869; c&#7889; g&#7855;ng h&#7871;t s&#7913;c &#273;&#7875; v&#7899;i &#273;&#7871;n &#273;&#7883;a ch&#7881; n&#224;y v&#224; t&#7921; &#273;&#7897;ng t&#236;m c&#225;ch l&#7845;y t&#7921;a &#273;&#7873; v&#224; ghi ch&#250; c&#7911;a trang &#273;&#243;. B&#7841;n c&#243; th&#7875; s&#7917;a &#273;&#7893;i nh&#7919;ng d&#7919; ki&#7879;n n&#224;y sau &#273;&#243;.
{{Ai &#273;&#432;&#7907;c ph&#233;p &#273;&#7873; ngh&#7883; n&#7889;i k&#7871;t?}}
Trong ph&#7847;n &laquo;C&#7845;u h&#236;nh website; &#273;&#7863;c &#273;i&#7875;m c&#259;n b&#7843;n&raquo; qu&#7843;n tr&#7883; vi&#234;n c&#243; th&#7875; &#273;&#7883;nh r&#245; l&#224; ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; &#273;&#7873; ngh&#7883; n&#7889;i k&#7871;t qua website kh&#225;c, hay c&#225;c ch&#7911; b&#250;t &#273;&#432;&#7907;c quy&#7873;n, hay ngay c&#7843; kh&#225;ch vi&#7871;ng th&#259;m website (trong tr&#432;&#7901;ng h&#7907;p ch&#243;t, phi&#7871;u &#273;i&#7873;n tr&#234;n trang web c&#244;ng c&#7897;ng cho ng&#432;&#7901;i kh&#225;ch c&#417; h&#7897;i &#273;&#7873; ngh&#7883; n&#7889;i k&#7871;t website).
D&#7847;u sao &#273;i n&#7919;a, ch&#7881; c&#243; qu&#7843;n tr&#7883; vi&#234;n m&#7899;i c&#243; th&#7875; ch&#7845;p thu&#7853;n nh&#7919;ng &#273;&#7873; ngh&#7883; n&#224;y. Khi c&#243; m&#7897;t &#273;&#7873; ngh&#7883;, m&#7885;i th&#224;nh vi&#234;n trong v&#249;ng ri&#234;ng c&#243; th&#7875; trao &#273;&#7893;i xem &#273;&#7873; ngh&#7883; n&#224;y c&#243; th&#237;ch h&#7907;p kh&#244;ng.
</reference>
<artsyn>
{{{B&#224;i v&#7903; syndicated}}}
Khi b&#7841;n y&#234;u c&#7847;u m&#7897;t <A HREF="aide_index.php3?aide=rubsyn" TARGET="_top">site syndication</A>, SPIP s&#7869; hi&#7875;n th&#7883; m&#7897;t danh s&#225;ch c&#225;c b&#224;i vi&#7871;t &#273;&#227; &#273;&#259;ng t&#7843;i g&#7847;n &#273;&#226;y nh&#7845;t tr&#234;n website n&#224;y, d&#432;&#7899;i ti&#234;u &#273;&#7873; &laquo;B&#224;i v&#7903; syndicated l&#7845;y ra t&#7915; website n&#224;y&raquo;.
Cho m&#7895;i b&#224;i, SPIP hi&#7875;n th&#7883;:
- t&#7921;a &#273;&#7873; b&#224;i (ch&#7881; c&#7847;n b&#7845;m v&#224;o t&#7921;a &#273;&#7873; &#273;&#7875; xem b&#224;i vi&#7871;t tr&#234;n website nguy&#234;n th&#7911;y c&#7911;a n&#243;);
- t&#225;c gi&#7843; (n&#7871;u c&#243;);
- ghi ch&#250; (n&#7871;u c&#243;).
Nh&#7919;ng d&#7919; ki&#7879;n n&#224;y, l&#7845;y t&#7915; trang web n&#7889;i k&#7871;t, kh&#244;ng th&#7875; s&#7917;a &#273;&#7893;i &#273;&#432;&#7907;c.
H&#417;n th&#7871; n&#7919;a, cho m&#7895;i b&#224;i vi&#7871;t, n&#250;t nh&#7845;t c&#243; ti&#234;u &#273;&#7873; &laquo;ch&#7863;n &#273;i&#7875;m n&#7889;i n&#224;y (block this link)&raquo; cho ph&#233;p b&#7841;n ch&#7863;n kh&#244;ng cho n&#243; hi&#7879;n ra (v&#236; b&#224;i n&#224;y kh&#244;ng th&#237;ch h&#7907;p hay v&#236; c&#243; l&#7895;i n&#224;o &#273;&#243; ...). B&#7841;n c&#243; th&#7875; cho xu&#7845;t hi&#7879;n b&#224;i n&#224;y l&#7841;i b&#7845;t c&#7913; l&#250;c n&#224;o.
B&#7841;n c&#243; th&#7875; y&#234;u c&#7847;u nh&#7919;ng &#273;i&#7875;m n&#7889;i t&#432;&#417;ng lai &#273;&#7871;n t&#7915; website s&#7869; b&#7883; ch&#7863;n l&#7841;i tr&#432;&#7899;c. Nh&#7919;ng b&#224;i l&#7845;y ra s&#7869; kh&#244;ng xu&#7845;t hi&#7879;n tr&#7915; phi b&#7841;n ch&#7845;p thu&#7853;n t&#7915;ng b&#224;i m&#7897;t.
</artsyn>
<confhttpproxy>
{{{D&#249;ng HTTP proxy}}}
N&#7871;u website c&#7911;a b&#7841;n &#273;&#432;&#7907;c b&#7843;o v&#7879; b&#7857;ng "t&#432;&#7901;ng l&#7917;a", b&#7841;n c&#243; th&#7875; ph&#7843;i c&#7847;n thi&#7871;t k&#7871; m&#7897;t HTTP proxy th&#236; m&#7899;i c&#243; th&#7875; v&#7899;i l&#7845;y t&#7899;i c&#225;c website syndicated &#7903; ngo&#224;i internet.
Proxy n&#224;y n&#234;n cho ph&#233;p nh&#7919;ng y&#234;u c&#7847;u ra ngo&#224;i m&#224; kh&#244;ng c&#7847;n th&#7875; th&#7913;c x&#225;c nh&#7853;n.
Trong c&#7845;u h&#236;nh website b&#7841;n (trong &#273;&#7873; m&#7909;c &laquo;&#272;&#7863;c &#273;i&#7875;m SPIP&raquo;), cho v&#224;o proxy trong d&#7841;ng sau &#273;&#226;y:
<code>http://proxyname:port/</code>
{proxyname} l&#224; t&#234;n c&#7911;a server h&#224;nh x&#7917; nh&#432; proxy, v&#224; {port} l&#224; s&#7889; c&#7911;a TCP port (th&#432;&#7901;ng l&#224; 3128, 8080 hay 80) chuy&#234;n lo c&#225;c y&#234;u c&#7847;u.
{{C&#7843;nh b&#225;o:}} Thi&#7871;t tr&#237; n&#224;y c&#243; t&#237;nh to&#224;n b&#7897;: SPIP s&#7869; v&#7899;i l&#7845;y t&#7845;t c&#7843; website syndicated qua proxy n&#224;y. N&#7871;u b&#7841;n c&#7847;n &#273;i&#7873;u ch&#7881;nh chi ti&#7871;t h&#417;n, h&#227;y li&#234;n l&#7841;c v&#7899;i qu&#7843;n tr&#7883; vi&#234;n m&#7841;ng l&#432;&#7899;i.
</confhttpproxy>
<deconnect>
{{{Tr&#7903; ra/&#272;i ra}}}
B&#7841;n c&#243; th&#7875; b&#7845;m v&#224;o n&#250;t &laquo;Tr&#7903; ra ngo&#224;i&raquo; &#273;&#7875; r&#7901;i v&#249;ng ri&#234;ng c&#7911;a website. Sau &#273;&#243;, nh&#7919;ng d&#7919; ki&#7879;n ra/v&#224;o v&#249;ng ri&#234;ng s&#7869; b&#7883; m&#7845;t. N&#7871;u b&#7841;n quay tr&#7903; l&#7841;i SPIP s&#7869; y&#234;u c&#7847;u b&#7841;n &#273;i&#7873;n v&#224;o l&#7841;i d&#7919; ki&#7879;n ra/v&#224;o (login/m&#7853;t m&#227;).
{L&#7907;i &#237;ch ch&#225;nh c&#7911;a &#273;&#7863;c &#273;i&#7875;m n&#224;y l&#224; ng&#259;n ng&#7915;a m&#7897;t ng&#432;&#7901;i kh&#225;c s&#7917; d&#7909;ng m&#225;y c&#7911;a b&#7841;n &#273;&#7875; v&#224;o v&#249;ng ri&#234;ng.}
- {{B&#7841;n &#273;ang l&#224;m vi&#7879;c m&#7897;t m&#236;nh v&#224; ch&#7881; c&#243; b&#7841;n l&#224; ng&#432;&#7901;i duy nh&#7845;t c&#243; ph&#233;p d&#249;ng m&#225;y}}
Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, &#273;&#7863;c t&#237;nh n&#224;y tr&#7903; th&#224;nh th&#7915;a th&#227;i. &#272;i ra th&#236; c&#361;ng t&#7889;t th&#244;i, nh&#432;ng n&#7871;u c&#243; qu&#234;n th&#236; c&#361;ng ch&#7859;ng sao.
- {{B&#7841;n ra/v&#224;o v&#249;ng ri&#234;ng t&#7915; m&#7897;t m&#225;y c&#243; nhi&#7873;u ng&#432;&#7901;i s&#7917; d&#7909;ng}}
Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, b&#7841;n ph&#7843;i n&#234;n d&#249;ng &#273;&#7863;c &#273;i&#7875;m "Tr&#7903; ra" khi l&#224;m vi&#7879;c xong. &#272;i&#7873;u n&#224;y s&#7869; ng&#259;n ng&#7915;a m&#7897;t ng&#432;&#7901;i kh&#225;c s&#7917; d&#7909;ng c&#249;ng m&#225;y v&#224;o &#273;&#432;&#7907;c v&#249;ng ri&#234;ng c&#7911;a b&#7841;n.
- {{Using several identifiers for the same site}}
M&#7897;t s&#7889; ng&#432;&#7901;i d&#249;ng mu&#7889;n v&#224;o v&#249;ng ri&#234;ng v&#7899;i nhi&#7873;u danh hi&#7879;u kh&#225;c nhau. Trong tr&#432;&#7901;ng h&#7907;p n&#224;y, h&#7885; c&#243; th&#7875; d&#249;ng &#273;&#7863;c &#273;i&#7875;m "Tr&#7903; ra" &#273;&#7875; r&#7901;i r&#7891;i login v&#224;o tr&#7903; l&#7841;i v&#7899;i danh hi&#7879;u kh&#225;c.
</deconnect>
<spip>
 
</spip>
/trunk/actu/ecrire/inc_suivi_revisions.php
New file
0,0 → 1,218
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_SUIVI_REVISIONS")) return;
define("_ECRIRE_INC_SUIVI_REVISIONS", "1");
 
include_ecrire("inc_lab.php");
include_spip("ecrire.php");
 
function afficher_para_modifies ($texte, $court = false) {
// Limiter la taille de l'affichage
if ($court) $max = 200;
else $max = 2000;
$paras = explode ("\n",$texte);
for ($i = 0; $i < count($paras) AND strlen($texte_ret) < $max; $i++) {
if (strpos($paras[$i], '"diff-')) $texte_ret .= $paras[$i]."\n\n";
}
$texte = $texte_ret;
return $texte;
}
 
function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $id_auteur = false, $lang = "", $court = false, $rss = false) {
global $dir_lang;
$nb_aff = 10;
$champs = array('surtitre', 'titre', 'soustitre', 'descriptif', 'nom_site', 'url_site', 'chapo', 'texte', 'ps');
 
if ($id_auteur) {
$req_where = " AND articles.statut IN ('prepa','prop','publie')";
$req_where = " AND versions.id_auteur = $id_auteur";
} else {
$req_where = " AND articles.statut IN ('prop','publie')";
}
if (strlen($lang) > 0) $req_where .= " AND articles.lang='$lang'";
 
if ($id_secteur > 0) $req_where .= " AND articles.id_secteur = $id_secteur";
 
$query = "
SELECT versions.*, articles.statut, articles.titre
FROM spip_versions AS versions, spip_articles AS articles
WHERE versions.id_article = articles.id_article AND versions.id_version > 1 $req_where ";
$result = spip_query($query . " ORDER BY versions.date DESC LIMIT $debut, $nb_aff");
if (spip_num_rows($result) > 0) {
 
// Afficher l'entete de la boite
if (!$rss) {
$titre_table = _T('icone_suivi_revisions').aide('suivimodif');
if ($court)
$titre_table = afficher_plus("suivi_revisions.php3")
. $titre_table;
 
echo "<div style='height: 12px;'></div>";
echo "<div class='liste'>";
bandeau_titre_boite2($titre_table, "historique-24.gif");
$total = spip_num_rows(spip_query($query . "LIMIT 0, 149"));
if ($total > $nb_aff) {
$nb_tranches = ceil($total / $nb_aff);
echo "<div class='arial2' style='background-color: #dddddd; padding: 5px;'>";
for ($i = 0; $i < $nb_tranches; $i++) {
if ($i > 0) echo " | ";
if ($i*$nb_aff == $debut) echo "<b>";
else echo "<a href='suivi_revisions.php3?debut=".($i * $nb_aff)."&id_secteur=$id_secteur&uniq_auteur=$uniq_auteur&lang_choisie=$lang'>";
echo (($i * $nb_aff) + 1);
if ($i*$nb_aff == $debut) echo "</b>";
else echo "</a>";
}
echo "</div>";
}
}
 
// Afficher les 10 elements
while ($row = spip_fetch_array($result)) {
$id_version = $row['id_version'];
$id_auteur = $row['id_auteur'];
$date = $row['date'];
$id_article = $row['id_article'];
$statut = $row['statut'];
$titre = propre($row['titre']);
$query_auteur = "
SELECT nom,email
FROM spip_auteurs
WHERE id_auteur = $id_auteur";
$row_auteur = spip_fetch_array(spip_query($query_auteur));
$nom = typo($row_auteur["nom"]);
$email = $row_auteur['email'];
$logo_statut = "puce-".puce_statut($statut).".gif";
 
if (!$rss) {
echo "<div class='tr_liste' style='padding: 5px; border-top: 1px solid #aaaaaa;'>";
echo "<span class='arial2'>";
if (!$court) echo bouton_block_visible("$id_version-$id_article-$id_auteur");
echo "<img src='" . _DIR_IMG_PACK . "$logo_statut' border='0'>&nbsp;";
echo "<a class='$statut' style='font-weight: bold;' href='articles_versions.php3?id_article=$id_article'>$titre</a>";
echo "</span>";
echo "<span class='arial1'$dir_lang>";
echo " ".date_relative($date)." ";
if (strlen($nom)>0) echo "($nom)";
echo "</span>";
} else {
$item = array(
'title' => $titre,
'url' => lire_meta('adresse_site').'/'._DIR_RESTREINT_ABS."articles_versions.php3?id_article=$id_article&id_version=$id_version",
'date' => $date,
'author' => $nom,
'email' => $email
);
}
 
if (!$court) {
$query_diff = "
SELECT id_version
FROM spip_versions
WHERE id_article=$id_article AND id_version<$id_version
ORDER BY id_version DESC LIMIT 0,1";
if ($result_diff = spip_query($query_diff)) {
$row_diff = spip_fetch_array($result_diff);
$id_diff = $row_diff['id_version'];
}
$query_art = "
SELECT *
FROM spip_articles
WHERE id_article='$id_article'";
$result_art = spip_query($query_art);
if ($row_art = spip_fetch_array($result_art)) {
$id_article = $row_art["id_article"];
$id_rubrique = $row_art["id_rubrique"];
$date = $row_art["date"];
$statut_article = $row_art["statut"];
$maj = $row_art["maj"];
$date_redac = $row_art["date_redac"];
$visites = $row_art["visites"];
$referers = $row_art["referers"];
$extra = $row_art["extra"];
$id_trad = $row_art["id_trad"];
}
$textes = recuperer_version($id_article, $id_version);
if ($id_version && $id_diff) {
if ($id_diff > $id_version) {
$t = $id_version;
$id_version = $id_diff;
$id_diff = $t;
$old = $textes;
$new = $textes = recuperer_version($id_article, $id_version);
}
else {
$old = recuperer_version($id_article, $id_diff);
$new = $textes;
}
$textes = array();
foreach ($champs as $champ) {
if (!$new[$champ] && !$old[$champ]) continue;
$diff = new Diff(new DiffTexte);
$textes[$champ] = afficher_para_modifies(afficher_diff($diff->comparer(preparer_diff($new[$champ]), preparer_diff($old[$champ]))), $court);
}
}
if (!$rss)
echo debut_block_visible("$id_version-$id_article-$id_auteur");
 
if (is_array($textes))
foreach ($textes as $var => $t) {
if (strlen($t) > 0) {
if (!$rss) echo "<blockquote class='serif1'>";
$aff = propre_diff($t);
if ($GLOBALS['les_notes']) {
$aff .= '<p>'.$GLOBALS['les_notes'];
$GLOBALS['les_notes'] = '';
}
if (!$rss) {
echo $aff;
echo "</blockquote>";
} else
$item['description'] = $aff;
}
}
if (!$rss) echo fin_block();
}
if (!$rss) echo "</div>";
 
if ($rss)
$items[] = $item;
}
if (!$rss) echo "</div>";
}
 
if ($rss)
return $items;
}
 
?>
/trunk/actu/ecrire/polices/dustismo.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/polices/dustismo.ttf
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/aide_index.php3
New file
0,0 → 1,497
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
define('_ECRIRE_AIDE', 1);
include ("inc_version.php3");
include_ecrire ("inc_presentation.php3");
 
 
// Eviter les calculs evitables (surtout en client/serveur sans cache !)
$lastmodified = filemtime("aide_index.php3");
$headers_only = http_last_modified($lastmodified, time() + 24 * 3600);
if ($headers_only) exit;
 
include_ecrire ("inc_filtres.php3");
include_ecrire ("inc_layer.php3");
include_ecrire ("inc_texte.php3");
 
 
// Recuperer les infos de langue (preferences auteur), si possible
if (_FILE_CONNECT) {
include_ecrire ("inc_session.php3");
verifier_visiteur();
}
include_ecrire ("inc_lang.php3");
utiliser_langue_visiteur();
if ($var_lang) changer_langue($var_lang);
if ($lang) changer_langue($lang); # pour le cas ou on a fait appel au menu de changement de langue (aide absente dans la langue x)
 
/////////////////////////////
// La frame de base
//
function help_frame ($aide) {
global $spip_lang;
 
echo "</head>\n";
 
$frame_menu = "<frame src=\"aide_index.php3?aide=$aide&var_lang=$spip_lang&frame=menu\" name=\"gauche\" scrolling=\"auto\" noresize>\n";
$frame_body = "<frame src=\"aide_index.php3?aide=$aide&var_lang=$spip_lang&frame=body\" name=\"droite\" scrolling=\"auto\" noresize>\n";
 
if ($GLOBALS['spip_lang_rtl']) {
echo '<frameset cols="*,160" border="0" frameborder="0" framespacing="0">';
echo $frame_body.$frame_menu;
}
else {
echo '<frameset cols="160,*" border="0" frameborder="0" framespacing="0">';
echo $frame_menu.$frame_body;
}
echo '</frameset>';
echo "\n</html>";
}
 
 
 
/////////////////////////////
// Le contenu demande
//
 
// Erreur aide non disponible
function erreur_aide_indisponible() {
include_ecrire('inc_presentation.php3');
install_debut_html(_T('forum_titre_erreur'));
echo "<div>"._T('aide_non_disponible')."</div>";
echo "<div align='right'>".menu_langues('var_lang_ecrire')."</div>";
install_fin_html();
exit;
}
 
// Selection de l'aide correspondant a la langue demandee
function fichier_aide($lang_aide = '') {
global $help_server;
 
if (!$lang_aide) $lang_aide = $GLOBALS['spip_lang'];
 
// fichier local ?
if (@file_exists($fichier_aide = "../AIDE/aide-$lang_aide-aide.html")) {
return array(spip_file_get_contents($fichier_aide), $lang_aide);
}
 
// fichier local ? si reduction ISO du code langue oc_prv_ni => oc
else if (ereg("(.*)_", $lang_aide, $regs)
AND (@file_exists($fichier_aide = "../AIDE/aide-".$regs[1]."-aide.html")))
return array(spip_file_get_contents($fichier_aide), $regs[1]);
 
// Aide internet
else {
// en cache ?
if (!@file_exists($fichier_aide = _DIR_CACHE . "aide-$lang_aide-aide.html")) {
if ($help_server) {
include_ecrire('inc_sites.php3');
if (ecrire_fichier(_DIR_CACHE . 'aide-test', "test")
AND ($contenu = recuperer_page("$help_server/$lang_aide-aide.html")))
ecrire_fichier ($fichier_aide, $contenu);
}
}
 
lire_fichier($fichier_aide, $contenu);
 
if (strlen($contenu) > 500) {
return array($contenu, $lang_aide);
}
// Pas d'aide meme sur internet : n'existe pas dans la langue
 
// Hack: comportement special sur le serveur d'aide SPIP.NET
// (definir la constante SPIP.NET_...)
if (defined('SPIP.NET_PAS_DE_BOUCLE_AIDE')) {
$GLOBALS['clean_link'] = new Link("../aide/?aide=$aide");
}
 
erreur_aide_indisponible();
}
 
return false;
}
 
 
function help_body($aide, $html) {
global $help_server;
 
 
// Recuperation du contenu de l'aide demandee
if ($aide) {
$html = analyse_aide($html, $aide);
 
if (!$html) {
erreur_aide_indisponible();
}
} else {
// panneau d'accueil
$html = '<CENTER>
<img src="'._DIR_IMG_PACK.
'logo-spip.gif" alt="SPIP" width="267" height="170" border="0">
<p />
<div align="center" style="font-variant: small-caps;">
Syst&egrave;me de publication pour l\'Internet
</div></CENTER>
<div style="position:absolute; bottom: 10px; right:20px;
font-size: 12px; ">'.
preg_replace(",<a ,i", "<a target='_new' ",_T('info_copyright_doc')).
'</div>';
}
 
// Recherche des images de l'aide
$suite = $html;
$html = "";
while (preg_match("@(<img([^<>]* +)? src=['\"])"
. "((AIDE|IMG)/([-_a-zA-Z0-9]*/?)([^'\"<>]*))@i",
$suite, $r)) {
 
$image = $r[3];
$image_plat = str_replace('/', '-', $image);
$f = "aide_index.php3?img=$image_plat";
 
$p = strpos($suite, $r[0]);
$html .= substr($suite, 0, $p) . $r[1].$f;
$suite = substr($suite, $p + strlen($r[0]));
}
 
$html .= $suite;
 
?>
<style type="text/css"><!--
.spip_cadre {
width : 100%;
background-color: #FFFFFF;
padding: 5px;
}
.spip_quote {
margin-left : 40px;
margin-top : 10px;
margin-bottom : 10px;
border : solid 1px #aaaaaa;
background-color: #dddddd;
padding: 5px;
}
 
a {text-decoration: none;}
a:hover {color:#FF9900; text-decoration: underline;}
 
body {
font-family: Georgia, Garamond, Times New Roman, serif;
}
h3.spip {
font-family: Verdana,Arial,Sans,sans-serif;
font-weight: bold;
font-size: 115%;
text-align: center;
}
 
table.spip {
}
 
table.spip tr.row_first {
background-color: #FCF4D0;
}
 
table.spip tr.row_odd {
background-color: #C0C0C0;
}
 
table.spip tr.row_even {
background-color: #F0F0F0;
}
 
table.spip td {
padding: 1px;
text-align: left;
vertical-align: center;
}
 
--></style>
</head>
<?php
 
echo '<body bgcolor="#FFFFFF" text="#000000" TOPMARGIN="24" LEFTMARGIN="24" MARGINWIDTH="24" MARGINHEIGHT="24"';
if ($spip_lang_rtl)
echo " dir='rtl'";
echo " lang='$lang_aide'>";
 
if ($aide == 'spip') {
echo '<TABLE BORDER=0 WIDTH=100% HEIGHT=60%>
<TR WIDTH=100% HEIGHT=60%>
<TD WIDTH=100% HEIGHT=60% ALIGN="center" VALIGN="middle">
 
<CENTER>
<img src="aide_index.php3?img=AIDE--logo-spip.gif" alt="SPIP" width="300" height="170" border="0">
</CENTER>
</TD></TR></TABLE>';
}
 
// Il faut que la langue de typo() soit celle de l'aide en ligne
changer_typo($lang_aide);
 
$html = justifier($html."<p>");
// Remplacer les liens externes par des liens ouvrants (a cause des frames)
$html = ereg_replace('<a href="(http://[^"]+)"([^>]*)>', '<a href="\\1"\\2 target="_blank">', $html);
 
echo $html;
 
}
 
 
/////////////////////////////////////
// Recuperer une image dans le cache
//
function help_img($regs) {
global $help_server;
 
list ($cache, $rep, $lang, $file, $ext) = $regs;
 
header("Content-Type: image/$ext");
if (@file_exists($img = _DIR_CACHE . 'aide-'.$cache)) {
readfile($img);
} else if (@file_exists($img = '../AIDE/aide-'.$cache)) {
readfile($img);
} else if ($help_server) {
include_ecrire('inc_sites.php3');
if (ecrire_fichier(_DIR_CACHE . 'aide-test', "test")
AND ($contenu =
recuperer_page("$help_server/$rep/$lang/$file"))) {
echo $contenu;
ecrire_fichier (_DIR_CACHE . 'aide-'.$cache, $contenu);
} else
header ("Location: $help_server/$rep/$lang/$file");
}
exit;
}
 
///////////////////////////////////////
// Le menu de gauche
//
function help_menu($aide, $html) {
global $spip_lang_left, $spip_lang_rtl, $spip_lang_right;
 
$triangle = "url(" . _DIR_IMG_PACK . 'triangle'.$spip_lang_rtl.'.gif) ';
 
echo '<style type="text/css">
<!--
a {text-decoration: none; }
A:Hover {text-decoration: underline;}
 
.article-inactif {
float: '.$spip_lang_left.';
text-align: '.$spip_lang_left.';
width: 80%;
background: ' . $triangle . $spip_lang_left.' center no-repeat;
margin: 2px;
padding: 0px;
padding-'.$spip_lang_left.': 20px;
font-family: Arial, Sans, sans-serif;
font-size: 12px;
}
.article-actif {
float: '.$spip_lang_right.';
text-align: '.$spip_lang_right.';
width: 80%;
background: ' . $triangle . $spip_lang_right.' center no-repeat;
margin: 4px;
padding: 0px;
padding-'.$spip_lang_right.': 20px;
font-family: Arial, Sans, sans-serif;
font-size: 12px;
font-weight: bold;
color: black;
}
.article-actif:hover {
text-decoration: none;
}
.rubrique {
width: 90%;
margin: 0px;
margin-top: 6px;
margin-bottom: 4px;
padding: 4px;
font-family: Trebuchet MS, Arial, Sans, sans-serif;
font-size: 13px;
font-weight: bold;
color: black;
background-color: #EEEECC;
-moz-border-radius: 4px;
}
-->
</style>
<script type="text/javascript"><!--
var curr_article;
function activer_article(id) {
if (curr_article)
document.getElementById(curr_article).className = "article-inactif";
if (id) {
document.getElementById(id).className = "article-actif";
curr_article = id;
}
}
//--></script>
';
 
afficher_script_layer();
echo '
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#E86519" vlink="#6E003A" alink="#FF9900" TOPMARGIN="5" LEFTMARGIN="5" MARGINWIDTH="5" MARGINHEIGHT="5"';
 
if ($spip_lang_rtl)
echo " dir='rtl'";
echo " lang='$lang_aide'>";
 
 
// Recuperation et analyse de la structure de l'aide demandee
$sections = analyse_aide($html);
foreach ($sections as $section) {
if ($section[1] == '1') {
if ($rubrique_vue)
fin_rubrique();
rubrique($section[3].$section[5]);
$rubrique_vue = true;
} else
article($section[5], $section[3]);
}
fin_rubrique();
}
 
 
function rubrique($titre, $statut = "redac") {
global $ligne_rubrique;
global $block_rubrique;
global $titre_rubrique;
global $afficher_rubrique, $ouvrir_rubrique;
global $larubrique;
 
global $aide_statut;
 
$afficher_rubrique = 0;
 
if (($statut == "admin" AND $aide_statut == "admin") OR ($statut == "redac")) {
$larubrique++;
$titre_rubrique = $titre;
$ligne_rubrique = array();
$block_rubrique = "block$larubrique";
$afficher_rubrique = 1;
$ouvrir_rubrique = 0;
}
}
 
function fin_rubrique() {
global $ligne_rubrique;
global $block_rubrique;
global $titre_rubrique;
global $afficher_rubrique, $ouvrir_rubrique;
global $texte;
 
if ($afficher_rubrique && count($ligne_rubrique)) {
echo "<div class='rubrique'>";
if ($ouvrir_rubrique)
echo bouton_block_visible($block_rubrique);
else
echo bouton_block_invisible($block_rubrique);
echo $titre_rubrique;
echo "</div>\n";
if ($ouvrir_rubrique)
echo debut_block_visible($block_rubrique);
else
echo debut_block_invisible($block_rubrique);
echo "\n";
reset($ligne_rubrique);
while (list(, $ligne) = each($ligne_rubrique)) {
echo $texte[$ligne];
}
echo fin_block();
echo "\n\n";
}
}
 
function article($titre, $lien, $statut = "redac") {
global $aide;
global $ligne;
global $ligne_rubrique;
global $rubrique;
global $texte;
global $afficher_rubrique, $ouvrir_rubrique;
global $aide_statut;
global $spip_lang;
 
if ($afficher_rubrique AND (($statut == "admin" AND $aide_statut == "admin") OR ($statut == "redac"))) {
$ligne_rubrique[] = ++$ligne;
$texte[$ligne] = '';
$id = "ligne$ligne";
$url = "aide_index.php3?aide=$lien&frame=body&var_lang=$spip_lang";
if ($aide == $lien) {
$ouvrir_rubrique = 1;
$class = "article-actif";
$texte[$ligne] .= "<script type='text/javascript'><!--\ncurr_article = '$id';\n// --></script>\n";
}
else {
$class = "article-inactif";
}
$texte[$ligne] .= "<a class='$class' id='$id' href='$url' target='droite' ".
"onClick=\"activer_article('$id');return true;\">$titre</a><br style='clear:both;'>\n";
}
}
 
 
function analyse_aide($html, $aide=false) {
 
preg_match_all(',<h([12])( class="spip")?'. '>([^/]+?)(/(.+?))?</h\1>,ism',
$html, $regs, PREG_SET_ORDER);
 
if ($aide) {
unset ($regs);
$preg = ',<h2( class="spip")?'
. ">$aide/(.+?)</h2>(.*)$,ism";
preg_match($preg, $html, $regs);
$regs = preg_replace(',<h[12].*,ism', '', $regs[3]);
}
 
return $regs;
}
 
 
//
// Distribuer le travail
//
if (preg_match(',^([^-.]*)-([^-.]*)-([^\.]*\.(gif|jpg|png))$,', $img, $regs))
help_img($regs);
else {
list($html, $l, $url_aide) = fichier_aide();
 
// On n'a pas d'aide
if (!$html) {
// Renvoyer sur l'aide en ligne du serveur externe
if ($help_server)
@Header("Location: $help_server/?lang=$spip_lang");
// Sinon message d'erreur
else {
erreur_aide_indisponible();
}
} else {
echo debut_entete(_T('info_aide_en_ligne'),
"Content-Type: text/html; charset=utf-8");
if ($frame == 'menu')
help_menu($aide, $html);
else if ($frame == 'body')
help_body($aide, $html);
else
help_frame($aide);
}
}
 
?>
/trunk/actu/ecrire/img_pack/fond-calendrier.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/fond-calendrier.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/cadre-d.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/cadre-d.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/cadre-bd.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/cadre-bd.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/set-ecran-etroit.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/set-ecran-etroit.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/pave-blanc-24.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/pave-blanc-24.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/statistiques-48.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/statistiques-48.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/choix-layout_rtl_he.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/choix-layout_rtl_he.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/visiter-48.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/visiter-48.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/pave-blanc-48.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/pave-blanc-48.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/racine-site-12.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/racine-site-12.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/attachment.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/attachment.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/documents-48_rtl.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/documents-48_rtl.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/puce-poubelle.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/puce-poubelle.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/m_envoi_rtl.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/m_envoi_rtl.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/cadenas-24.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/cadenas-24.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/redacteurs-24.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/redacteurs-24.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/degrade.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/degrade.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/auteur-24.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/auteur-24.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/triangle-bas.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/triangle-bas.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/messagerie-48.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/messagerie-48.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/langues-12.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/langues-12.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/effacer-cache-24.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/effacer-cache-24.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/choix-layout.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/choix-layout.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/favicon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/favicon.ico
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/cal-messagerie.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/cal-messagerie.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/m_envoi_jaune.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/m_envoi_jaune.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/m_envoi_bleu_rtl.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/m_envoi_bleu_rtl.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/fleche-left.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/fleche-left.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/img_pack/rond-d.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/ecrire/img_pack/rond-d.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/ecrire/inc_calendrier.php
New file
0,0 → 1,1522
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_CALENDRIER")) return;
define("_ECRIRE_INC_CALENDRIER", "1");
 
include_ecrire("inc_texte.php3");
 
// Typographie generale des calendriers de 3 type: jour/semaine/mois(ou plus)
 
// Notes: pour toutes les fonctions ayant parmi leurs parametres
// annee, mois, jour, echelle, partie_cal, script, ancre
// ceux-ci apparaissent TOUJOURS dans cet ordre
 
define(DEFAUT_D_ECHELLE,120); # 1 pixel = 2 minutes
 
// icones standards, fonction de la direction de la langue
 
global $bleu, $vert, $jaune;
$bleu = http_img_pack("m_envoi_bleu$spip_lang_rtl.gif", 'B', "class='calendrier-icone'");
$vert = http_img_pack("m_envoi$spip_lang_rtl.gif", 'V', "class='calendrier-icone'");
$jaune= http_img_pack("m_envoi_jaune$spip_lang_rtl.gif", 'J', "class='calendrier-icone'");
 
//
// Utilitaires sans html ni sql
//
 
// utilitaire de separation script / ancre
// et de retrait des arguments a remplacer
 
function calendrier_retire_args_ancre($script)
{
$script = str_replace('?bonjour=oui&?','?',$script);
if (ereg('^(.*)(#[^=&]*)$',$script, $m)) {
$script = $m[1];
$ancre = $m[2];
} else { $ancre = ''; }
if ($script[strlen($script)-1] == '?') $script = substr($script,0,-1);
foreach(array('echelle','jour','mois','annee', 'type', 'partie_cal') as $arg) {
$script = preg_replace("/([?&])$arg=[^&]*&/",'\1', $script);
$script = preg_replace("/([?&])$arg=[^&]*$/",'\1', $script);
}
return array($script, $ancre);
}
 
function calendrier_args_date($annee, $mois, $jour)
{
return 'annee=' . sprintf("%04d", $annee) . '&' .
'mois=' . sprintf("%02d", $mois) . '&' .
'jour=' . sprintf("%02d", $jour);
}
 
# prend une heure de debut et de fin, ainsi qu'une echelle (seconde/pixel)
# et retourne un tableau compose
# - taille d'une heure
# - taille d'une journee
# - taille de la fonte
# - taille de la marge
 
function calendrier_echelle($debut, $fin, $echelle)
{
if ($echelle==0) $echelle = DEFAUT_D_ECHELLE;
if ($fin <= $debut) $fin = $debut +1;
 
$duree = $fin - $debut;
$dimheure = floor((3600 / $echelle));
return array($dimheure,
(($duree+2) * $dimheure),
floor (14 / (1+($echelle/240))),
floor(240 / $echelle));
}
 
# Calcule le "top" d'une heure
 
function calendrier_top ($heure, $debut, $fin, $dimheure, $dimjour, $fontsize) {
$h_heure = substr($heure, 0, strpos($heure, ":"));
$m_heure = substr($heure, strpos($heure,":") + 1, strlen($heure));
$heure100 = $h_heure + ($m_heure/60);
 
if ($heure100 < $debut) $heure100 = ($heure100 / $debut) + $debut - 1;
if ($heure100 > $fin) $heure100 = (($heure100-$fin) / (24 - $fin)) + $fin;
 
$top = floor(($heure100 - $debut + 1) * $dimheure);
 
return $top;
}
 
# Calcule la hauteur entre deux heures
function calendrier_height ($heure, $heurefin, $debut, $fin, $dimheure, $dimjour, $fontsize) {
 
$height = calendrier_top ($heurefin, $debut, $fin, $dimheure, $dimjour, $fontsize)
- calendrier_top ($heure, $debut, $fin, $dimheure, $dimjour, $fontsize);
 
$padding = floor(($dimheure / 3600) * 240);
$height = $height - (2* $padding + 2); // pour padding interieur
if ($height < ($dimheure/4)) $height = floor($dimheure/4); // eviter paves totalement ecrases
return $height;
}
 
//
// init: calcul generique des evenements a partir des tables SQL
//
 
function http_calendrier_init($time='', $ltype='', $lechelle='', $lpartie_cal='', $script='', $evt='')
{
global $mois, $annee, $jour, $type, $echelle, $partie_cal;
 
if (!$time)
{
$today=getdate(time());
if (!$annee)
$annee = $today["year"];
if (!$mois)
$mois = $today["mon"];
if (!$jour)
$jour = $today["mday"];
$time = mktime(0,0,0,$mois, $jour, $annee);
$type= 'mois';
}
 
$jour = date("d",$time);
$mois = date("m",$time);
$annee = date("Y",$time);
if (!$ltype) $ltype = $type ? $type : 'mois';
if (!$lechelle) $lechelle = $echelle;
if (!$lpartie_cal) $lpartie_cal = $partie_cal;
list($script, $ancre) =
calendrier_retire_args_ancre($script ? $script :
$GLOBALS['clean_link']->getUrl());
if (!_DIR_RESTREINT) http_calendrier_titre($time, $ltype);
if (!$evt) {
$g = 'sql_calendrier_' . $ltype;
$evt = sql_calendrier_interval($g($annee,$mois, $jour));
sql_calendrier_interval_articles("'$annee-$mois-00'", "'$annee-$mois-1'", $evt[0]);
// si on veut les forums, decommenter
# sql_calendrier_interval_forums($g($annee,$mois,$jour), $evt[0]);
}
$f = 'http_calendrier_' . $ltype;
return $f($annee, $mois, $jour, $lechelle, $lpartie_cal, $script, $ancre, $evt);
 
}
 
# titre de la page, si on est dans l'espace de redaction
 
function http_calendrier_titre($time, $type)
{
$date = date("Y-m-d", $time); # a optimiser
if ($type == 'semaine') {
 
$GLOBALS['afficher_bandeau_calendrier_semaine'] = true;
 
$titre = _T('titre_page_calendrier',
array('nom_mois' => nom_mois($date), 'annee' => annee($date)));
}
elseif ($type == 'jour') {
$titre = nom_jour($date)." ". affdate_jourcourt($date);
}
else {
$titre = _T('titre_page_calendrier',
array('nom_mois' => nom_mois($date), 'annee' => annee($date)));
}
 
debut_page($titre, "redacteurs", "calendrier");
echo "<div>&nbsp;</div>" ;
}
 
# affichage d'un calendrier de plusieurs semaines
# si la periode est inferieure a 31 jours, on considere que c'est un mois
 
function http_calendrier_mois($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt)
{
global $spip_ecran;
if (!isset($spip_ecran)) $spip_ecran = 'large';
 
list($sansduree, $evenements, $premier_jour, $dernier_jour) = $evt;
 
if ($sansduree)
foreach($sansduree as $d => $r)
{
$evenements[$d] = !$evenements[$d] ? $r :
array_merge($evenements[$d], $r); }
 
if (!$premier_jour) $premier_jour = '01';
if (!$dernier_jour)
{
$dernier_jour = 31;
while (!(checkdate($mois,$dernier_jour,$annee))) $dernier_jour--;
}
$scriptep = $script .
(ereg('[?&]$', $script) ? "" : (strpos($script,'?') ? '&' : '?')) .
"echelle=$echelle&partie_cal=$partie_cal&";
 
return
"<table class='calendrier-table-$spip_ecran' cellspacing='0' cellpadding='0'>" .
http_calendrier_mois_navigation($annee, $mois, $premier_jour, $dernier_jour, $echelle, $partie_cal, $script, $ancre) .
http_calendrier_mois_noms($annee, $mois, $jour, $scriptep, $ancre) .
http_calendrier_mois_sept($annee, $mois, $premier_jour, $dernier_jour,$evenements, $scriptep, $ancre) .
'</table>' .
http_calendrier_sans_date($annee, $mois, $evenements) .
(_DIR_RESTREINT ? "" : http_calendrier_aide_mess());
}
 
// si la periore a plus de 31 jours, c'est du genre trimestre, semestre etc
// pas de navigation suivant/precedent alors
 
function http_calendrier_mois_navigation($annee, $mois, $premier_jour, $dernier_jour, $echelle, $partie_cal, $script, $ancre){
if ($dernier_jour > 31) {
$prec = $suiv = '';
$periode = affdate_mois_annee(date("Y-m-d", mktime(1,1,1,$mois,$premier_jour,$annee))) . ' - '. affdate_mois_annee(date("Y-m-d", mktime(1,1,1,$mois,$dernier_jour,$annee)));
} else {
 
$mois_suiv=$mois+1;
$annee_suiv=$annee;
$mois_prec=$mois-1;
$annee_prec=$annee;
if ($mois==1){
$mois_prec=12;
$annee_prec=$annee-1;
}
else if ($mois==12){$mois_suiv=1; $annee_suiv=$annee+1;}
$prec = calendrier_args_date($annee_prec, $mois_prec, 1);
$suiv = calendrier_args_date($annee_suiv, $mois_suiv, 1);
$periode = affdate_mois_annee("$annee-$mois-1");
}
return
"\n<tr><td colspan='7'>" .
http_calendrier_navigation($annee,
$mois,
$jour,
$echelle,
$partie_cal,
$periode,
$script,
$prec,
$suiv,
'mois',
$ancre) .
"</td></tr>";
 
}
 
function http_calendrier_mois_noms($annee, $mois, $jour, $script, $ancre){
global $couleur_claire;
 
$bandeau ="";
for ($j=1; $j<8;$j++){
$bandeau .=
"\n\t<th class='calendrier-th'>" .
_T('date_jour_' . (($j%7)+1)) .
"</th>";
}
return "\n<tr" .
(!isset($couleur_claire) ? "" : " style='background-color: $couleur_claire'") .
">$bandeau\n</tr>";
}
 
# dispose les lignes d'un calendrier de 7 colonnes (les jours)
# chaque case est garnie avec les evenements du jour figurant dans $evenements
 
function http_calendrier_mois_sept($annee, $mois, $premier_jour, $dernier_jour,$evenements, $script, $ancre='')
{
global $couleur_claire, $spip_lang_left, $spip_lang_right;
 
if (!ereg('[?&]$', $script))
$script .= (strpos($script,'?') ? '&' : '?');
 
// affichage du debut de semaine hors periode
$init = '';
$debut = date("w",mktime(1,1,1,$mois,$premier_jour,$annee));
for ($i=$debut ? $debut : 7;$i>1;$i--)
{$init .= "\n\t<td style=\"border-bottom: 1px solid $couleur_claire;\">&nbsp;</td>";}
 
$total = '';
$ligne = '';
$today=date("Ymd");
for ($j=$premier_jour; $j<=$dernier_jour; $j++){
$nom = mktime(1,1,1,$mois,$j,$annee);
$jour = date("d",$nom);
$jour_semaine = date("w",$nom);
$mois_en_cours = date("m",$nom);
$annee_en_cours = date("Y",$nom);
$amj = date("Y",$nom) . $mois_en_cours . $jour;
$scriptarg = $script . calendrier_args_date($annee_en_cours, $mois_en_cours, $jour);
$couleur_lien = "black";
$couleur_fond = "";
 
if ($jour_semaine == 0) $couleur_fond = $couleur_claire;
else if ($jour_semaine==1)
{
$total .= "\n<tr>$init$ligne\n</tr>";
$ligne = $init = '';
}
if ($amj == $today) {
$couleur_lien = "red";
$couleur_fond = "white";
}
$res = '';
if ($evts = $evenements[$amj]) {
foreach ($evts as $evenement)
{
$res .= isset($evenement['DTSTART']) ?
http_calendrier_avec_heure($evenement, $amj) :
http_calendrier_sans_heure($evenement);
}
}
 
$ligne .= "\n\t\t<td\tclass='calendrier-td'
style='height: 100px; border-bottom: 1px solid $couleur_claire; border-$spip_lang_right: 1px solid $couleur_claire;" .
($couleur_fond ? " background-color: $couleur_fond;" : "") .
($ligne ? "" :
" border-$spip_lang_left: 1px solid $couleur_claire;") .
"'>" .
(!_DIR_RESTREINT ?
(http_href($scriptarg . "&type=jour" . $ancre, $jour,
'', "color: $couleur_lien",'calendrier-helvetica16') .
http_calendrier_ics_message($annee_en_cours, $mois_en_cours, $jour, false)):
http_calendrier_mois_clics($annee_en_cours, $mois_en_cours, $jour, $scriptarg, $ancre)) .
$res .
"\n\t</td>";
}
return $total . ($ligne ? "\n<tr>$ligne\n</tr>" : '');
}
 
// typo pour l'espace public
 
function http_calendrier_mois_clics($annee, $mois, $jour, $script, $ancre)
{
$d = mktime(0,0,0,$mois, $jour, $annee);
$semaine = date("W", $d);
return
"<table width='100%'>\n<tr><td style='text-align: left'>".
http_href("$script&type=jour" . $ancre,
"$jour/$mois",
_T('date_jour_'. (1+date('w',$d))) .
" $jour " .
_T('date_mois_'.(0+$mois)),
'','calendrier-helvetica16') .
"</td><td style='text-align: right'>" .
http_href("$script&type=semaine" . $ancre,
$semaine,
_T('date_semaines') . " $semaine",
'',
'calendrier-helvetica16') .
"</td></tr>\n</table>";
}
 
# dispose les evenements d'une semaine
 
function http_calendrier_semaine($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt)
{
global $spip_ecran;
if (!isset($spip_ecran)) $spip_ecran = 'large';
 
$init = date("w",mktime(1,1,1,$mois,$jour,$annee));
$init = $jour+1-($init ? $init : 7);
 
$scriptep = $script .
(ereg('[?&]$', $script) ? "" : (strpos($script,'?') ? '&' : '?')) .
"echelle=$echelle&partie_cal=$partie_cal&";
 
return
"\n<table class='calendrier-table-$spip_ecran' cellspacing='0' cellpadding='0'>" .
http_calendrier_semaine_navigation($annee, $mois, $init, $echelle, $partie_cal, $script, $ancre) .
http_calendrier_semaine_noms($annee, $mois, $init, $scriptep, $ancre) .
http_calendrier_semaine_sept($annee, $mois, $init, $echelle, $partie_cal, $evt) .
"</table>" .
http_calendrier_sans_date($annee, $mois,$evt[0]) .
(_DIR_RESTREINT ? "" : http_calendrier_aide_mess());
}
 
function http_calendrier_semaine_navigation($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre){
 
$fin = mktime (1,1,1,$mois, $jour+6, $annee);
$fjour = date("d",$fin);
$fmois = date("m",$fin);
$fannee = date("Y",$fin);
$fin = date("Y-m-d", $fin);
$debut = mktime (1,1,1,$mois, $jour, $annee);
$djour = date("d",$debut)+0;
$dmois = date("m",$debut);
$dannee = date("Y",$debut);
$debut = date("Y-m-d", $debut);
$periode = (($dannee != $fannee) ?
(affdate($debut)." - ".affdate($fin)) :
(($dmois == $fmois) ?
($djour ." - ".affdate_jourcourt($fin)) :
(affdate_jourcourt($debut)." - ".affdate_jourcourt($fin))));
 
return
"\n<tr><td colspan='7'>" .
http_calendrier_navigation($annee,
$mois,
$jour,
$echelle,
$partie_cal,
$periode,
$script,
calendrier_args_date($dannee, $dmois, ($djour-7)),
calendrier_args_date($fannee, $fmois, ($fjour+1)),
'semaine',
$ancre) .
"</td></tr>\n";
}
 
function http_calendrier_semaine_noms($annee, $mois, $jour, $script, $ancre){
global $couleur_claire;
$href = $script .
(ereg('[?&]$', $script) ? '' : (strpos($script,'?') ? '&' : '?')) .
"type=jour&";
 
$bandeau = '';
for ($j=$jour; $j<$jour+7;$j++){
$nom = mktime(0,0,0,$mois,$j,$annee);
$num = intval(date("d", $nom)) ;
$numois = date("m",$nom);
$nomjour = _T('date_jour_'. (1+date('w',$nom)));
$bandeau .=
"\n\t<th class='calendrier-th'>" .
http_href(($href .
calendrier_args_date(date("Y",$nom), $numois, $num) .
$ancre),
($nomjour .
" " .
$num .
(($num == 1) ? 'er' : '') .
($ancre ? ('/' . $numois) : ''))) .
"</th>";
}
return "\n<tr" .
(!isset($couleur_claire) ? "" : " style='background-color: $couleur_claire'") .
">$bandeau\n</tr>";
}
 
function http_calendrier_semaine_sept($annee, $mois, $jour, $echelle, $partie_cal, $evt)
{
global $couleur_claire, $spip_ecran, $spip_lang_left;
 
$largeur = ($spip_ecran == "large") ? 90 : 60;
 
$today=date("Ymd");
$total = '';
$style = "border-$spip_lang_left: 1px solid $couleur_claire; border-bottom: 1px solid $couleur_claire; border-top: 0px; border-right: 0px;";
for ($j=$jour; $j<$jour+7;$j++){
$v = mktime(0,0,0,$mois, $j, $annee);
$total .= "\n<td class='calendrier-td'>" .
http_calendrier_ics($annee,$mois,$j, $echelle, $partie_cal, $largeur, $evt, ($style . ( (date("w",$v)==0 && isset($couleur_claire)) ?
" background-color: $couleur_claire;" :
((date("Ymd", $v) == $today) ?
" background-color: white;" :
" background-color: #eeeeee;")))) .
"\n</td>";
}
return "\n<tr class='calendrier-verdana10'>$total</tr>";
}
 
 
function http_calendrier_jour($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt){
global $spip_ecran;
if (!isset($spip_ecran)) $spip_ecran = 'large';
$scriptep = $script .
(ereg('[?&]$', $script) ? "" : (strpos($script,'?') ? '&' : '?')) .
"echelle=$echelle&partie_cal=$partie_cal&";
 
return
"\n<table class='calendrier-table-$spip_ecran'>" .
"\n<tr><td class='calendrier-td-gauche'></td>" .
"<td colspan='5' class='calendrier-td-centre'>" .
http_calendrier_navigation($annee, $mois, $jour, $echelle, $partie_cal,
(nom_jour("$annee-$mois-$jour") . " " .
affdate_jourcourt("$annee-$mois-$jour")),
$script,
calendrier_args_date($annee, $mois, ($jour-1)),
calendrier_args_date($annee, $mois, ($jour+1)),
'jour',
$ancre) .
"</td>" .
"<td class='calendrier-td-droit calendrier-arial10'></td>" .
"</tr>" .
http_calendrier_jour_noms($annee, $mois, $jour, $scriptep, $ancre) .
http_calendrier_jour_sept($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt) .
"</table>";
}
 
function http_calendrier_jour_noms($annee, $mois, $jour, $script, $ancre){
global $spip_ecran;
 
$gauche = (_DIR_RESTREINT || ($spip_ecran != "large"));
return
"\n<tr><td class='calendrier-td-gauche'>" .
($gauche ? '' :
http_calendrier_ics_titre($annee,$mois,$jour-1,$script)) .
"</td><td colspan='5' class='calendrier-td-centre'>" .
(_DIR_RESTREINT ? '' :
("\n\t<div class='calendrier-titre'>" .
http_calendrier_ics_message($annee, $mois, $jour, true) .
'</div>')) .
"</td><td class='calendrier-td-droit calendrier-arial10'> " .
(_DIR_RESTREINT ? '' : http_calendrier_ics_titre($annee,$mois,$jour+1,$script)) .
"</td></tr>";
}
 
function http_calendrier_jour_sept($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt){
global $spip_ecran;
 
$gauche = (_DIR_RESTREINT || ($spip_ecran != "large"));
return
"<tr class='calendrier-verdana10'>" .
# afficher en reduction le tableau du jour precedent
"\n<td class='calendrier-td-gauche'>" .
($gauche ? '' :
http_calendrier_ics($annee, $mois, $jour-1, $echelle, $partie_cal, 0, $evt)) .
"</td><td colspan='5' class='calendrier-td-centre'>" .
http_calendrier_ics($annee, $mois, $jour, $echelle, $partie_cal, 300, $evt) .
'</td>' .
# afficher en reduction le tableau du jour suivant
"\n<td class='calendrier-td-droit'>" .
 
(_DIR_RESTREINT ? '' :
http_calendrier_ics($annee, $mois, $jour+1, $echelle, $partie_cal, 0, $evt)) .
'</td>' .
"\n</tr>";
}
 
 
// Conversion d'un tableau de champ ics en des balises div positionnees
// Le champ categories indique la Classe de CSS a prendre
// $echelle est le nombre de secondes representees par 1 pixel
 
function http_calendrier_ics($annee, $mois, $jour,$echelle, $partie_cal, $largeur, $evt, $style='') {
global $spip_lang_left;
 
// tableau
if ($partie_cal == "soir") {
$debut = 12;
$fin = 23;
} else if ($partie_cal == "matin") {
$debut = 4;
$fin = 15;
} else {
$debut = 7;
$fin =20;
}
if ($echelle==0) $echelle = DEFAUT_D_ECHELLE;
 
list($dimheure, $dimjour, $fontsize, $padding) =
calendrier_echelle($debut, $fin, $echelle);
$modif_decalage = round($largeur/8);
 
$date = date("Ymd", mktime(0,0,0,$mois, $jour, $annee));
list($sansheure, $avecheure) = $evt;
$avecheure = $avecheure[$date];
$sansheure = $sansheure[$date];
 
$total = '';
 
if ($avecheure)
{
$tous = 1 + count($avecheure);
$i = 0;
foreach($avecheure as $evenement){
 
$d = $evenement['DTSTART'];
$e = $evenement['DTEND'];
$d_jour = substr($d,0,8);
$e_jour = $e ? substr($e,0,8) : $d_jour;
$debut_avant = false;
$fin_apres = false;
/* disparues sauf erreur
$radius_top = " radius-top";
$radius_bottom = " radius-bottom";
*/
if ($d_jour <= $date AND $e_jour >= $date)
{
 
$i++;
 
// Verifier si debut est jour precedent
if (substr($d,0,8) < $date)
{
$heure_debut = 0; $minutes_debut = 0;
$debut_avant = true;
$radius_top = "";
}
else
{
$heure_debut = substr($d,-6,2);
$minutes_debut = substr($d,-4,2);
}
 
if (!$e)
{
$heure_fin = $heure_debut ;
$minutes_fin = $minutes_debut ;
$bordure = "border-bottom: dashed 2px";
}
else
{
$bordure = "";
if (substr($e,0,8) > $date)
{
$heure_fin = 23; $minutes_fin = 59;
$fin_apres = true;
$radius_bottom = "";
}
else
{
$heure_fin = substr($e,-6,2);
$minutes_fin = substr($e,-4,2);
}
}
if ($debut_avant && $fin_apres) $opacity = "-moz-opacity: 0.6; filter: alpha(opacity=60);";
else $opacity = "";
$haut = calendrier_top ("$heure_debut:$minutes_debut", $debut, $fin, $dimheure, $dimjour, $fontsize);
$bas = !$e ? $haut :calendrier_top ("$heure_fin:$minutes_fin", $debut, $fin, $dimheure, $dimjour, $fontsize);
$hauteur = calendrier_height ("$heure_debut:$minutes_debut", "$heure_fin:$minutes_fin", $debut, $fin, $dimheure, $dimjour, $fontsize);
if ($bas_prec >= $haut) $decale += $modif_decalage;
else $decale = (4 * $fontsize);
if ($bas > $bas_prec) $bas_prec = $bas;
$url = $evenement['URL'];
$desc = propre($evenement['DESCRIPTION']);
$perso = $evenement['ATTENDEE'];
$lieu = $evenement['LOCATION'];
$sum = ereg_replace(' +','&nbsp;', typo($evenement['SUMMARY']));
if (!$sum) { $sum = $desc; $desc = '';}
if (!$sum) { $sum = $lieu; $lieu = '';}
if (!$sum) { $sum = $perso; $perso = '';}
if ($sum)
$sum = "<span class='calendrier-verdana10'><b>$sum</b>$lieu $perso</span>";
if (($largeur > 90) && $desc)
$sum .= "\n<br /><span class='calendrier-noir'>$desc</span>";
$colors = $evenement['CATEGORIES'];
 
$total .= "\n<div class='calendrier-arial10 $colors'
style='cursor: auto; position: absolute; overflow: hidden;$opacity z-index: " .
$i .
"; $spip_lang_left: " .
$decale .
"px; top: " .
$haut .
"px; height: " .
$hauteur .
"px; width: ".
($largeur - 2 * ($padding+1)) .
"px; font-size: ".
floor($fontsize * 1.3) .
"px; padding: " .
$padding .
"px; $bordure'
onmouseover=\"this.style.zIndex=" . $tous . "\"
onmouseout=\"this.style.zIndex=" . $i . "\">" .
((!$url) ?
$sum :
http_href($url, $sum, $desc,"border: 0px",$colors)) .
"</div>";
}
}
}
return
"\n<div class='calendrier-jour' style='height: ${dimjour}px; font-size: ${fontsize}px;$style'>\n" .
http_calendrier_ics_grille($debut, $fin, $dimheure, $dimjour, $fontsize) .
$total .
"\n</div>" .
(!$sansheure ? "" :
http_calendrier_ics_trois($sansheure, $largeur, $dimjour, $fontsize, '')) ;
 
}
 
# Affiche une grille horaire
# Selon l'echelle demandee, on affiche heure, 1/2 heure 1/4 heure, 5minutes.
 
function http_calendrier_ics_grille($debut, $fin, $dimheure, $dimjour, $fontsize)
{
global $spip_lang_left, $spip_lang_right;
$slice = floor($dimheure/(2*$fontsize));
if ($slice%2) $slice --;
if (!$slice) $slice = 1;
 
$total = '';
for ($i = $debut; $i < $fin; $i++) {
for ($j=0; $j < $slice; $j++)
{
$total .= "\n<div class='calendrier-heure" .
($j ? "face" : "pile") .
"' style='$spip_lang_left: 0px; top: ".
calendrier_top ("$i:".sprintf("%02d",floor(($j*60)/$slice)), $debut, $fin, $dimheure, $dimjour, $fontsize) .
"px;'>$i:" .
sprintf("%02d",floor(($j*60)/$slice)) .
"</div>";
}
}
 
return "\n<div class='calendrier-heurepile' style='border: 0px; $spip_lang_left: 0px; top: 2px;'>0:00</div>" .
$total .
"\n<div class='calendrier-heurepile' style='$spip_lang_left: 0px; top: ".
calendrier_top ("$fin:00", $debut, $fin, $dimheure, $dimjour, $fontsize).
"px;'>$fin:00</div>" .
"\n<div class='calendrier-heurepile' style='border: 0px; $spip_lang_left: 0px; top: ".
($dimjour - $fontsize - 2) .
"px;'>23:59</div>";
}
 
# si la largeur le permet, les evenements sans duree,
# se placent a cote des autres, sinon en dessous
 
function http_calendrier_ics_trois($evt, $largeur, $dimjour, $fontsize, $border)
{
global $spip_lang_left;
 
$types = array();
foreach($evt as $v) $types[$v['CATEGORIES']][] = $v;
$res = '';
foreach ($types as $k => $v) {
$res2 = '';
foreach ($v as $evenement) {
$res2 .= http_calendrier_sans_heure($evenement);
}
$res .= "\n<div class='calendrier-verdana10 calendrier-titre'>".
_T($k) .
"</div>" .
$res2;
}
$pos = ((_DIR_RESTREINT || ($largeur > 90)) ? "-$dimjour" : 0);
if ($largeur > 90) $largeur += (5*$fontsize);
else $largeur = _DIR_RESTREINT ? (3*$fontsize) : 0;
return "\n<div style='position: relative; z-index: 2; top: ${pos}px; margin-$spip_lang_left: " . $largeur . "px'>$res</div>";
}
 
function http_calendrier_ics_titre($annee, $mois, $jour,$script)
{
$date = mktime(0,0,0,$mois, $jour, $annee);
$jour = date("d",$date);
$mois = date("m",$date);
$annee = date("Y",$date);
 
$l = new Link($script);
$l->addvar("type","jour");
 
return "<div class='calendrier-arial10 calendrier-titre'>" .
http_href($l->getUrl() . '&' .
calendrier_args_date($annee, $mois, $jour),
affdate_jourcourt("$annee-$mois-$jour"),
'', '', 'calendrier-noir') .
"</div>";
}
 
function http_calendrier_ics_message($annee, $mois, $jour, $large)
{
global $bleu, $vert,$jaune;
$b = _T("lien_nouvea_pense_bete");
$v = _T("lien_nouveau_message");
$j= _T("lien_nouvelle_annonce");
$href = "message_edit.php3?rv=$annee-$mois-$jour&new=oui";
return
http_href("$href&type=pb",
$bleu . ($large ? $b : ''),
$b,
'color: blue;',
'calendrier-arial10') .
"\n" .
http_href("$href&type=normal",
$vert . ($large ? $v : ''),
$v,
'color: green;',
'calendrier-arial10') .
(($GLOBALS['connect_statut'] != "0minirezo") ? "" :
("\n" .
http_href("$href&type=affich",
$jaune . ($large ? $j : ''),
$j,
'color: #ff9900;',
'calendrier-arial10')));
}
 
function http_calendrier_sans_date($annee, $mois, $evenements)
{
$r = $evenements[0+($annee . $mois . "00")];
if (!$r) return "";
$res = "\n<div class='calendrier-arial10 calendrier-titre'>".
_T('info_mois_courant').
"</div>";
foreach ($r as $evenement) $res .= http_calendrier_sans_heure($evenement);
return $res;
}
 
 
function http_calendrier_sans_heure($evenement)
{
if ($evenement['CATEGORIES'] == 'info_articles')
$i = 'puce-verte-breve.gif';
elseif ($evenement['CATEGORIES'] == 'info_breves')
$i = 'puce-blanche-breve.gif';
else
$i = 'puce-orange-breve.gif';
$desc = propre($evenement['DESCRIPTION']);
$sum = $evenement['SUMMARY'];
if (!$sum) $sum = $desc;
$sum = http_img_pack($i, $desc, "style='width: 8px; height: 9px; border: 0px'") . '&nbsp;' . $sum;
if ($evenement['URL']) {
$sum = http_href($evenement['URL'], $sum, $desc);
}
return "\n<div class='calendrier-noir calendrier-arial10'>$sum\n</div>\n";
}
 
function http_calendrier_avec_heure($evenement, $amj)
{
$jour_debut = substr($evenement['DTSTART'], 0,8);
$jour_fin = substr($evenement['DTEND'], 0, 8);
if ($jour_fin <= 0) $jour_fin = $jour_debut;
if (($jour_debut <= 0) OR ($jour_debut > $amj) OR ($jour_fin < $amj))
return "";
$desc = propre($evenement['DESCRIPTION']);
$sum = $evenement['SUMMARY'];
if (!$sum) $sum = $desc;
$sum = "<span class='calendrier-noir'>" .
ereg_replace(' +','&nbsp;', typo($sum)) .
"</span>";
if ($evenement['URL'])
$sum = http_href($evenement['URL'], $sum, $desc);
$opacity = "";
$deb_h = substr($evenement['DTSTART'],-6,2);
$deb_m = substr($evenement['DTSTART'],-4,2);
$fin_h = substr($evenement['DTEND'],-6,2);
$fin_m = substr($evenement['DTEND'],-4,2);
if ($deb_h >0 OR $deb_m > 0) {
if ((($deb_h > 0) OR ($deb_m > 0)) AND $amj == $jour_debut)
{ $deb = '<b>' . $deb_h . ':' . $deb_m . '</b> ';}
else {
$deb = '...';
}
if ((($fin_h > 0) OR ($fin_m > 0)) AND $amj == $jour_fin)
{ $fin = '<b>' . $fin_h . ':' . $fin_m . '</b> ';}
else {
$fin = '...';
}
if ($amj == $jour_debut OR $amj == $jour_fin) {
$sum = "<div>$deb-$fin</div>$sum";
} else {
$opacity ='calendrier-opacity';
}
}
return "\n<div class='$opacity calendrier-evenement calendrier-arial10 " . $evenement['CATEGORIES'] ."'>$sum\n</div>\n";
}
 
function http_calendrier_aide_mess()
{
global $bleu, $vert, $jaune, $spip_lang_left;
return
"\n<br /><br /><br />\n<font face='arial,helvetica,sans-serif' size='2'><table width='700'>\n<tr><th style='text-align: $spip_lang_left'> " .
"<b>"._T('info_aide')."</b>" .
"</th></tr><tr><td>$bleu\n"._T('info_symbole_bleu')."\n" .
"</td></tr><tr><td>$vert\n"._T('info_symbole_vert')."\n" .
"</th></tr><tr><td>$jaune\n"._T('info_symbole_jaune')."\n" .
"</td></tr>\n</table></font>";
}
 
# Bandeau superieur d'un calendrier selon son $type (jour/mois/annee):
# 2 icones vers les 2 autres types, a la meme date $jour $mois $annee
# 2 icones de loupes pour zoom sur la meme date et le meme type
# 2 fleches appelant le $script sur les periodes $pred/$suiv avec une $ancre
# et le $nom du calendrier
 
function http_calendrier_navigation($annee, $mois, $jour, $echelle, $partie_cal, $nom, $script, $args_pred, $args_suiv, $type, $ancre)
{
global $spip_lang_right, $spip_lang_left, $couleur_foncee;
 
if (!$echelle) $echelle = DEFAUT_D_ECHELLE;
 
if (!ereg('[?&]$', $script)) $script .= (strpos($script,'?') ? '&' : '?');
$args = calendrier_args_date($annee, $mois, $jour);
$args_e = "$args&type=$type&echelle=$echelle";
$args_p = "$args&type=$type&partie_cal=$partie_cal";
$today=getdate(time());
$jour_today = $today["mday"];
$mois_today = $today["mon"];
$annee_today = $today["year"];
 
$id = 'nav-agenda' .ereg_replace('[^A-Za-z0-9]', '', $ancre);
 
return
"<div class='navigation-calendrier calendrier-moztop8'"
. (!isset($couleur_foncee) ? "" : "\nstyle='background-color: $couleur_foncee;'")
. "><div style='float: $spip_lang_right; padding-left: 5px; padding-right: 5px;'>"
. (($type == "mois") ? '' :
(
http_href_img(("$script$args_e&partie_cal=tout$ancre"),
"heures-tout.png",
"class='calendrier-png" .
(($partie_cal == "tout") ? " calendrier-opacity'" : "'"),
_T('cal_jour_entier'))
.http_href_img(("$script$args_e&partie_cal=matin$ancre"),
"heures-am.png",
"class='calendrier-png" .
(($partie_cal == "matin") ? " calendrier-opacity'" : "'"),
_T('cal_matin'))
 
.http_href_img(("$script$args_e&partie_cal=soir$ancre"),
"heures-pm.png",
"class='calendrier-png" .
(($partie_cal == "soir") ? " calendrier-opacity'" : "'"),
_T('cal_apresmidi'))
. "&nbsp;"
. http_href_img(("$script$args_p&echelle=" .
floor($echelle * 1.5)) . $ancre,
"loupe-moins.gif",
'',
_T('info_zoom'). '-')
. http_href_img(("$script$args_p&echelle=" .
floor($echelle / 1.5)) . $ancre,
"loupe-plus.gif",
'',
_T('info_zoom'). '+')
))
. http_href_img(("$script$args&type=jour&echelle=$echelle&partie_cal=$partie_cal$ancre"),"cal-jour.gif",
(($type == 'jour') ? " class='calendrier-opacity'" : ''),
_T('cal_par_jour'))
 
. http_href_img("$script$args&type=semaine&echelle=$echelle&partie_cal=$partie_cal$ancre", "cal-semaine.gif",
(($type == 'semaine') ? " class='calendrier-opacity'" : "" ),
_T('cal_par_semaine'))
 
. http_href_img("$script$args&type=mois&echelle=$echelle&partie_cal=$partie_cal$ancre","cal-mois.gif",
(($type == 'mois') ? " class='calendrier-opacity'" : "" ),
_T('cal_par_mois'))
. "</div>"
. "&nbsp;&nbsp;"
. http_href_img($script .
calendrier_args_date($annee_today, $mois_today, $jour_today) .
"&type=$type&echelle=$echelle&partie_cal=$partie_cal$ancre",
"cal-today.gif",
(" onmouseover=\"montrer('$id');\"" .
(($annee == $annee_today && $mois == $mois_today && (($type == 'mois') || ($jour == $jour_today)))
? " class='calendrier-opacity'" : "")),
_T("ecrire:info_aujourdhui"))
. "&nbsp;"
. (!$args_pred ? '' :
http_href($script . "type=$type&echelle=$echelle&partie_cal=$partie_cal&args_pred$ancre",
http_img_pack("fleche-$spip_lang_left.png", '&lt;&lt;&lt;', "class='calendrier-png'"),
_T('precedent')))
. (!$args_suiv ? '' :
http_href(($script . "type=$type&echelle=$echelle&partie_cal=$partie_cal&args_suiv$ancre"),
http_img_pack("fleche-$spip_lang_right.png", '&gt;&gt;&gt;', "class='calendrier-png'"),
_T('suivant')))
. "&nbsp;&nbsp;"
. $nom
. (_DIR_RESTREINT ? '' : aide("messcalen"))
. "</div>"
. http_calendrier_invisible($annee, $mois, $jour, $script . "echelle=$echelle&partie_cal=$partie_cal&", $ancre,$id);
}
 
 
// fabrique un petit agenda accessible par survol
 
function http_calendrier_invisible($annee, $mois, $jour, $script, $ancre, $id)
{
global $spip_lang_right, $spip_lang_left, $couleur_claire;
$gadget = "<div style='position: relative;z-index: 1000;'
onmouseover=\"montrer('$id');\"
onmouseout=\"cacher('$id');\">"
. "<table id='$id' class='calendrier-cadreagenda'"
. (!isset($couleur_claire) ? "" : " style='background-color: $couleur_claire'")
. ">\n<tr><td colspan='3' style='text-align:$spip_lang_left;'>";
 
$annee_avant = $annee - 1;
$annee_apres = $annee + 1;
 
$finurl = "&type=mois" . $ancre;
 
for ($i=$mois; $i < 13; $i++) {
$gadget .= http_href($script .
calendrier_args_date($annee_avant, $i, 1) . $finurl,
nom_mois("$annee_avant-$i-1"),'','', 'calendrier-annee') ;
}
for ($i=1; $i < $mois - 1; $i++) {
$gadget .= http_href($script .
calendrier_args_date($annee, $i, 1) . $finurl,
nom_mois("$annee-$i-1"),'','', 'calendrier-annee');
}
$gadget .= "</td></tr>"
. "\n<tr><td class='calendrier-tripleagenda'>"
. http_calendrier_agenda($annee, $mois-1, $jour, $mois, $annee, $GLOBALS['afficher_bandeau_calendrier_semaine'], $script,$ancre)
. "</td>\n<td class='calendrier-tripleagenda'>"
. http_calendrier_agenda($annee, $mois, $jour, $mois, $annee, $GLOBALS['afficher_bandeau_calendrier_semaine'], $script,$ancre)
. "</td>\n<td class='calendrier-tripleagenda'>"
. http_calendrier_agenda($annee, $mois+1, $jour, $mois, $annee, $GLOBALS['afficher_bandeau_calendrier_semaine'], $script,$ancre)
. "</td>"
. "</tr>"
. "\n<tr><td colspan='3' style='text-align:$spip_lang_right;'>";
for ($i=$mois+2; $i <= 12; $i++) {
$gadget .= http_href($script .
calendrier_args_date($annee, $i, 1) . $finurl,
nom_mois("$annee-$i-1"),'','', 'calendrier-annee');
}
for ($i=1; $i < $mois+1; $i++) {
$gadget .= http_href($script .
calendrier_args_date($annee_apres, $i, 1) . $finurl,
nom_mois("$annee_apres-$i-1"),'','', 'calendrier-annee');
}
return $gadget . "</td></tr></table></div>";
}
 
// agenda mensuel
 
function http_calendrier_agenda ($annee, $mois, $jour_ved, $mois_ved, $annee_ved, $semaine = false, $script='', $ancre='', $evt='') {
 
if (!$script) $script = $GLOBALS['PHP_SELF'] ;
if (!strpos($script, '?')) $script .= '?';
if (!$mois) {$mois = 12; $annee--;}
elseif ($mois==13) {$mois = 1; $annee++;}
if (!$evt) $evt = sql_calendrier_agenda($annee, $mois);
return
"<div class='calendrier-titre calendrier-arial10'>" .
http_href($script .
calendrier_args_date($annee, $mois, 1) .
'&type=mois' . $ancre,
affdate_mois_annee("$annee-$mois-1"),
'',
'color: black;') .
"<table width='100%' cellspacing='0' cellpadding='0'>" .
http_calendrier_agenda_rv ($annee, $mois, $evt,
'http_calendrier_clic', array($script, $ancre),
$jour_ved, $mois_ved, $annee_ved,
$semaine) .
"</table>" .
"</div>";
}
 
function http_calendrier_clic($annee, $mois, $jour, $type, $couleur, $perso)
{
 
list($script, $ancre) = $perso;
 
return http_href($script .
calendrier_args_date($annee, $mois, $jour) .
"&type=$type$ancre",
$jour,
'',
"color: $couleur; font-weight: bold");
}
 
// typographie un mois sous forme d'un tableau de 7 colonnes
 
function http_calendrier_agenda_rv ($annee, $mois, $les_rv, $fclic, $perso='',
$jour_ved='', $mois_ved='', $annee_ved='',
$semaine='') {
global $couleur_foncee, $spip_lang_left, $spip_lang_right;
 
// Former une date correcte (par exemple: $mois=13; $annee=2003)
$date_test = date("Y-m-d", mktime(0,0,0,$mois, 1, $annee));
$mois = mois($date_test);
$annee = annee($date_test);
if ($semaine)
{
$jour_semaine_valide = date("w",mktime(1,1,1,$mois_ved,$jour_ved,$annee_ved));
if ($jour_semaine_valide==0) $jour_semaine_valide=7;
$debut = mktime(1,1,1,$mois_ved,$jour_ved-$jour_semaine_valide+1,$annee_ved);
$fin = mktime(1,1,1,$mois_ved,$jour_ved-$jour_semaine_valide+7,$annee_ved);
} else { $debut = $fin = '';}
$today=getdate(time());
$jour_today = $today["mday"];
$cemois = ($mois == $today["mon"] AND $annee == $today["year"]);
 
$total = '';
$ligne = '';
$jour_semaine = date("w", mktime(1,1,1,$mois,1,$annee));
if ($jour_semaine==0) $jour_semaine=7;
for ($i=1;$i<$jour_semaine;$i++) $ligne .= "\n\t<td></td>";
$style0 = (!isset($couleur_foncee)) ? "" : " style='border: 1px solid $couleur_foncee;'";
for ($j=1; (checkdate($mois,$j,$annee)); $j++) {
$style = "";
$nom = mktime(1,1,1,$mois,$j,$annee);
$jour_semaine = date("w",$nom);
if ($jour_semaine==0) $jour_semaine=7;
 
if ($j == $jour_ved AND $mois == $mois_ved AND $annee == $annee_ved) {
$class= 'calendrier-arial11 calendrier-demiagenda';
$type = 'jour';
$couleur = "black";
} else if ($semaine AND $nom >= $debut AND $nom <= $fin) {
$class= 'calendrier-arial11 calendrier-demiagenda' .
(($jour_semaine==1) ? " calendrier-$spip_lang_left" :
(($jour_semaine==7) ? " calendrier-$spip_lang_right" :
''));
$type = ($semaine ? 'semaine' : 'jour') ;
$couleur = "black";
} else {
if ($j == $jour_today AND $cemois) {
$style = $couleur_foncee;
if(!$style) $style = '#333333';
$couleur = "white";
} else {
if ($jour_semaine == 7) {
$style = "#aaaaaa";
$couleur = 'white';
} else {
$style = "#ffffff";
$couleur = "#aaaaaa";
}
if ($les_rv[$j] > 0) {
$style = "#ffffff";
$couleur = "black";
}
}
$class= 'calendrier-arial11 calendrier-agenda';
$type = ($semaine ? 'semaine' : 'jour') ;
}
if ($style)
$style = " style='background-color: $style'";
else $style = $style0;
$ligne .= "\n\t<td><div class='$class'$style>" .
$fclic($annee,$mois, $j, $type, $couleur, $perso) .
"</div></td>";
if ($jour_semaine==7)
{
$total .= "\n<tr>$ligne\n</tr>";
$ligne = '';
}
}
return $total . (!$ligne ? '' : "\n<tr>$ligne\n</tr>");
}
 
// Fonction pour la messagerie et ecrire/index.php
 
function http_calendrier_rv($messages, $type) {
global $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
 
$total = '';
if (!$messages) return $total;
foreach ($messages as $row) {
if (ereg("^=([^[:space:]]+)$",$row['texte'],$match))
$url = $match[1];
else
$url = "message.php3?id_message=".$row['id_message'];
 
$rv = ($row['rv'] == 'oui');
$date = $row['date_heure'];
$date_fin = $row['date_fin'];
if ($row['type']=="pb") $bouton = "pense-bete";
else if ($row['type']=="affich") $bouton = "annonce";
else $bouton = "message";
 
if ($rv) {
$date_jour = affdate_jourcourt($date);
$total .= "<tr><td colspan='2'>" .
(($date_jour == $date_rv) ? '' :
"<div class='calendrier-arial11'><b>$date_jour</b></div>") .
"</td></tr>";
}
 
$total .= "<tr><td style='width: 24px' valign='middle'>" .
http_href($url,
($rv ?
http_img_pack("rv.gif", 'rv',
http_style_background($bouton . '.gif', "no-repeat;' border='0'")) :
http_img_pack($bouton.".gif", $bouton, "style='border: 0px'")),
'', '') .
"</td>" .
"<td valign='middle'>" .
((!$rv) ? '' :
((affdate($date) == affdate($date_fin)) ?
("<div class='calendrier-arial9 fond-agenda'>"
. heures($date).":".minutes($date)."<br />"
. heures($date_fin).":".minutes($date_fin)."</div>") :
( "<div class='calendrier-arial9 fond-agenda' style='text-align: center;'>"
. heures($date).":".minutes($date)."<br />...</div>" ))) .
"<div><b>" .
http_href($url, typo($row['titre']), '', '', 'calendrier-verdana10') .
"</b></div>" .
"</td>" .
"</tr>\n";
 
$date_rv = $date_jour;
}
 
if ($type == 'annonces') {
$titre = _T('info_annonces_generales');
$couleur_titre = "ccaa00";
$couleur_texte = "black";
$couleur_fond = "#ffffee";
}
else if ($type == 'pb') {
$titre = _T('infos_vos_pense_bete');
$couleur_titre = "#3874B0";
$couleur_fond = "#EDF3FE";
$couleur_texte = "white";
}
else if ($type == 'rv') {
$titre = _T('info_vos_rendez_vous');
$couleur_titre = "#666666";
$couleur_fond = "#eeeeee";
$couleur_texte = "white";
}
 
return
debut_cadre_enfonce("", true, "", $titre) .
"<table width='100%' border='0' cellpadding='0' cellspacing='2'>" .
$total .
"</table>" .
fin_cadre_enfonce(true);
}
 
 
 
//------- fonctions d'appel MySQL.
// au dela cette limite, pas de production HTML
 
function sql_calendrier_mois($annee,$mois,$jour) {
$avant = "'" . date("Y-m-d", mktime(0,0,0,$mois,1,$annee)) . "'";
$apres = "'" . date("Y-m-d", mktime(0,0,0,$mois+1,1,$annee)) .
" 00:00:00'";
return array($avant, $apres);
}
 
function sql_calendrier_semaine($annee,$mois,$jour) {
$w_day = date("w", mktime(0,0,0,$mois, $jour, $annee));
if ($w_day == 0) $w_day = 7; // Gaffe: le dimanche est zero
$debut = $jour-$w_day;
$avant = "'" . date("Y-m-d", mktime(0,0,0,$mois,$debut,$annee)) . "'";
$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$debut+7,$annee)) .
" 23:59:59'";
return array($avant, $apres);
}
 
// ici on prend en fait le jour, la veille et le lendemain
 
function sql_calendrier_jour($annee,$mois,$jour) {
$avant = "'" . date("Y-m-d", mktime(0,0,0,$mois,$jour-1,$annee)) . "'";
$apres = "'" . date("Y-m-d", mktime(1,1,1,$mois,$jour+1,$annee)) .
" 23:59:59'";
return array($avant, $apres);
}
 
// retourne un tableau de 2 tableaux indexes par des dates
// - le premier indique les evenements du jour, sans indication de duree
// - le deuxime indique les evenements commencant ce jour, avec indication de duree
 
function sql_calendrier_interval($limites) {
list($avant, $apres) = $limites;
$evt = array();
sql_calendrier_interval_articles($avant, $apres, $evt);
sql_calendrier_interval_breves($avant, $apres, $evt);
return array($evt, sql_calendrier_interval_rv($avant, $apres));
}
 
function sql_calendrier_interval_forums($limites, &$evenements) {
list($avant, $apres) = $limites;
$result=spip_query("
SELECT DISTINCT titre, date_heure, id_article
FROM spip_forum
WHERE date_heure >= $avant
AND date_heure < $apres
ORDER BY date_heure
");
while($row=spip_fetch_array($result)){
$amj = date_anneemoisjour($row['date_heure']);
if (_DIR_RESTREINT)
{
$script = 'article';
$id = $row['id_article'];
}
else {
$script = 'articles_forum';
$id = $row['id_article'];
}
$evenements[$amj][]=
array(
'URL' => $script . _EXTENSION_PHP . "?id_article=$id",
'CATEGORIES' => 'info_liens_syndiques_3',
'SUMMARY' => $row['titre']);
}
}
 
# 3 fonctions retournant les evenements d'une periode
# le tableau retourne est indexe par les balises du format ics
# afin qu'il soit facile de produire de tels documents.
# Pour les articles post-dates vus de l'espace public,
# on regarde si c'est une redirection pour avoir une url interessante
# sinon on prend " ", c'est-a-dire la page d'appel du calendrier
 
function sql_calendrier_interval_articles($avant, $apres, &$evenements) {
$result=spip_query("
SELECT id_article, titre, date, descriptif, chapo
FROM spip_articles
WHERE statut='publie'
AND date >= $avant
AND date < $apres
ORDER BY date
");
if (!_DIR_RESTREINT)
$script = 'articles' . _EXTENSION_PHP . "?id_article=";
else
{
$now = date("Ymd");
$script = 'article' . _EXTENSION_PHP . "?id_article=";
}
 
while($row=spip_fetch_array($result)){
$amj = date_anneemoisjour($row['date']);
if ((!_DIR_RESTREINT) || ($now >= $amj))
$url = $script . $row['id_article'];
else {
if (substr($row['chapo'], 0, 1) != '=')
$url = " ";
else {
list(,$url) = extraire_lien(array('','','',
substr($row['chapo'], 1)));
if ($url)
$url = texte_script(str_replace('&amp;', '&', $url));
else $url = " ";
}
}
 
$evenements[$amj][]=
array(
'CATEGORIES' => 'info_articles',
'DESCRIPTION' => $row['descriptif'],
'SUMMARY' => $row['titre'],
'URL' => $url);
}
}
 
function sql_calendrier_interval_breves($avant, $apres, &$evenements) {
$result=spip_query("
SELECT id_breve, titre, date_heure
FROM spip_breves
WHERE statut='publie'
AND date_heure >= $avant
AND date_heure < $apres
ORDER BY date_heure
");
while($row=spip_fetch_array($result)){
$amj = date_anneemoisjour($row['date_heure']);
$script = (_DIR_RESTREINT ? 'breve' : 'breves_voir');
$evenements[$amj][]=
array(
'URL' => $script . _EXTENSION_PHP . "?id_breve=" . $row['id_breve'],
'CATEGORIES' => 'info_breves_02',
'SUMMARY' => $row['titre']);
}
}
 
function sql_calendrier_interval_rv($avant, $apres) {
global $connect_id_auteur;
$evenements= array();
if (!$connect_id_auteur) return $evenements;
$result=spip_query("
SELECT messages.id_message, messages.titre, messages.texte,
messages.date_heure, messages.date_fin, messages.type
FROM spip_messages AS messages,
spip_auteurs_messages AS lien
WHERE ((lien.id_auteur='$connect_id_auteur'
AND lien.id_message=messages.id_message) OR messages.type='affich')
AND messages.rv='oui'
AND ((messages.date_fin >= $avant OR messages.date_heure >= $avant) AND messages.date_heure <= $apres)
AND messages.statut='publie'
GROUP BY messages.id_message
ORDER BY messages.date_heure
");
while($row=spip_fetch_array($result)){
$date_heure=$row["date_heure"];
$date_fin=$row["date_fin"];
$type=$row["type"];
$id_message=$row['id_message'];
 
if ($type=="pb")
$cat = 'calendrier-couleur2';
else {
if ($type=="affich")
$cat = 'calendrier-couleur4';
else {
if ($type!="normal")
$cat = 'calendrier-couleur12';
else {
$cat = 'calendrier-couleur9';
$auteurs = array();
$result_aut=spip_query("
SELECT auteurs.nom
FROM spip_auteurs AS auteurs,
spip_auteurs_messages AS lien
WHERE (lien.id_message='$id_message'
AND (auteurs.id_auteur!='$connect_id_auteur'
AND lien.id_auteur=auteurs.id_auteur))");
while($row_auteur=spip_fetch_array($result_aut)){
$auteurs[] = $row_auteur['nom'];
}
}
}
}
 
$jour_avant = substr($avant, 9,2);
$mois_avant = substr($avant, 6,2);
$annee_avant = substr($avant, 1,4);
$jour_apres = substr($apres, 9,2);
$mois_apres = substr($apres, 6,2);
$annee_apres = substr($apres, 1,4);
$ical_apres = date_anneemoisjour("$annee_apres-$mois_apres-".sprintf("%02d",$jour_apres));
 
// Calcul pour les semaines a cheval sur deux mois
$j = 0;
$amj = date_anneemoisjour("$annee_avant-$mois_avant-".sprintf("%02d", $j+($jour_avant)));
 
while ($amj <= $ical_apres) {
if (!($amj == date_anneemoisjour($date_fin) AND ereg("00:00:00", $date_fin))) // Ne pas prendre la fin a minuit sur jour precedent
$evenements[$amj][$id_message]=
array(
'URL' => "message.php3?id_message=$id_message",
'DTSTART' => date_ical($date_heure),
'DTEND' => date_ical($date_fin),
'DESCRIPTION' => $row['texte'],
'SUMMARY' => $row['titre'],
'CATEGORIES' => $cat,
'ATTENDEE' => (count($auteurs) == 0) ? '' : join($auteurs,", "));
$j ++;
$ladate = date("Y-m-d",mktime (1,1,1,$mois_avant, ($j + $jour_avant), $annee_avant));
$amj = date_anneemoisjour($ladate);
 
}
 
}
return $evenements;
}
 
// fonction SQL, pour la messagerie
 
function sql_calendrier_taches_annonces () {
global $connect_id_auteur;
$r = array();
if (!$connect_id_auteur) return $r;
$result = spip_query("
SELECT * FROM spip_messages
WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC");
if (spip_num_rows($result) > 0)
while ($x = spip_fetch_array($result)) $r[] = $x;
return $r;
}
 
function sql_calendrier_taches_pb () {
global $connect_id_auteur;
$r = array();
if (!$connect_id_auteur) return $r;
$result = spip_query("
SELECT * FROM spip_messages AS messages
WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND rv!='oui'");
if (spip_num_rows($result) > 0){
$r = array();
while ($x = spip_fetch_array($result)) $r[] = $x;
}
return $r;
}
 
function sql_calendrier_taches_rv () {
global $connect_id_auteur;
$r = array();
if (!$connect_id_auteur) return $r;
$result = spip_query("
SELECT messages.*
FROM spip_messages AS messages, spip_auteurs_messages AS lien
WHERE ((lien.id_auteur='$connect_id_auteur'
AND lien.id_message=messages.id_message)
OR messages.type='affich')
AND messages.rv='oui'
AND ( (messages.date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY)
AND messages.date_heure < DATE_ADD(NOW(), INTERVAL 1 MONTH))
OR (messages.date_heure < NOW() AND messages.date_fin > NOW() ))
AND messages.statut='publie'
GROUP BY messages.id_message
ORDER BY messages.date_heure");
if (spip_num_rows($result) > 0){
$r = array();
while ($x = spip_fetch_array($result)) $r[] = $x;
}
return $r;
}
 
function sql_calendrier_agenda ($annee, $mois) {
global $connect_id_auteur;
 
$rv = array();
if (!$connect_id_auteur) return $rv;
$date = date("Y-m-d", mktime(0,0,0,$mois, 1, $annee));
$mois = mois($date);
$annee = annee($date);
 
// rendez-vous personnels dans le mois
$result_messages=spip_query("SELECT messages.date_heure FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure >='$annee-$mois-1' AND date_heure < DATE_ADD('$annee-$mois-1', INTERVAL 1 MONTH) AND messages.statut='publie'");
while($row=spip_fetch_array($result_messages)){
$rv[journum($row['date_heure'])] = 1;
}
return $rv;
}
 
?>
/trunk/actu/ecrire/inc_surligne.php3
New file
0,0 → 1,148
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_SURLIGNE")) return;
define("_ECRIRE_INC_SURLIGNE", "1");
 
// Ces commentaires vont etre substitue's en mode recherche
// voir les champs SURLIGNE dans inc-index-squel
 
define("MARQUEUR_SURLIGNE", '!-- debut_surligneconditionnel -->');
define("MARQUEUR_FSURLIGNE", '!-- finde_surligneconditionnel -->');
 
function surligner_sans_accents ($mot) {
$accents =
/* A */ chr(192).chr(193).chr(194).chr(195).chr(196).chr(197).
/* a */ chr(224).chr(225).chr(226).chr(227).chr(228).chr(229).
/* O */ chr(210).chr(211).chr(212).chr(213).chr(214).chr(216).
/* o */ chr(242).chr(243).chr(244).chr(245).chr(246).chr(248).
/* E */ chr(200).chr(201).chr(202).chr(203).
/* e */ chr(232).chr(233).chr(234).chr(235).
/* Cc */ chr(199).chr(231).
/* I */ chr(204).chr(205).chr(206).chr(207).
/* i */ chr(236).chr(237).chr(238).chr(239).
/* U */ chr(217).chr(218).chr(219).chr(220).
/* u */ chr(249).chr(250).chr(251).chr(252).
/* yNn */ chr(255).chr(209).chr(241);
 
if (lire_meta('charset') == 'utf-8') {
include_ecrire('inc_charsets.php3');
$mot = unicode2charset(utf_8_to_unicode($mot), 'iso-8859-1');
}
 
return strtr($mot, $accents, "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
}
 
// tres sale
function split_by_char($str) {
$len = strlen($str);
$streturn = array();
for ($i=0; $i<$len; $i++) {
$streturn[$i] = substr($str, $i, 1);
}
return $streturn;
}
 
function surligner_regexp_accents ($mot) {
$accents_regexp = array(
"a" => "[a".chr(224).chr(225).chr(226).chr(227).chr(228).chr(229). chr(192).chr(193).chr(194).chr(195).chr(196).chr(197)."]",
"o" => "[o".chr(242).chr(243).chr(244).chr(245).chr(246).chr(248). chr(210).chr(211).chr(212).chr(213).chr(214).chr(216)."]",
"e" => "[e".chr(232).chr(233).chr(234).chr(235). chr(200).chr(201).chr(202).chr(203)."]",
"c" => "[c".chr(199).chr(231)."]",
"i" => "[i".chr(236).chr(237).chr(238).chr(239). chr(204).chr(205).chr(206).chr(207)."]",
"u" => "[u".chr(249).chr(250).chr(251).chr(252). chr(217).chr(218).chr(219).chr(220)."]",
"y" => "[y".chr(255)."]",
"n" => "[n".chr(209).chr(241)."]"
);
 
$mot = surligner_sans_accents ($mot);
if (lire_meta('charset') == 'utf-8') {
while(list($k,$s) = each ($accents_regexp)) {
$accents_regexp_utf8[$k] = "(".join("|", split_by_char(ereg_replace("\]|\[","",$accents_regexp[$k]))).")";
}
$mot = strtr(strtolower($mot), $accents_regexp_utf8);
$mot = importer_charset($mot, 'iso-8859-1');
} else
$mot = strtr(strtolower($mot), $accents_regexp);
 
return $mot;
}
 
 
// mettre en rouge les mots passes dans $var_recherche
function surligner_mots($page, $mots) {
global $nombre_surligne;
include_ecrire("inc_texte.php3"); // pour le reglage de $nombre_surligne
 
// Remplacer les caracteres potentiellement accentues dans la chaine
// de recherche par les choix correspondants en syntaxe regexp (!)
$mots = split("[[:space:]]+", $mots);
 
while (list(, $mot) = each ($mots)) {
if (strlen($mot) >= 2) {
$mot = surligner_regexp_accents(preg_quote(str_replace('/', '', $mot)));
$mots_surligne[] = $mot;
}
}
 
if (!$mots_surligne) return $page;
 
$regexp = '/((^|>)([^<]*[^[:alnum:]_<])?)(('
. join('|', $mots_surligne)
. ')[[:alnum:]_]*?)/Uis';
 
// en cas de surlignement limite' (champs #SURLIGNE),
// le compilateur a inse're' les balises de surlignement
// sur toute la zone; reste a` raffiner.
// On boucle pour le cas ou` il y a plusieurs zones
 
$p = strpos($page, MARQUEUR_SURLIGNE);
if ($p !== false) {
$debut = '';
while ($p) {
$debut .= substr($page, 0, $p-1);
$page = substr($page, $p+strlen(MARQUEUR_SURLIGNE));
if (!$q = strpos($page,MARQUEUR_FSURLIGNE))
$q = 1+strlen($page);
$debut .= trouve_surligne(substr($page, 0, $q-1), $regexp);
$page = substr($page, $q+strlen(MARQUEUR_FSURLIGNE));
$p = strpos($page,MARQUEUR_SURLIGNE);
}
return $debut . $page;
} else {
// pour toute la page: ignorer ce qui est avant </head> ou <body>
$re = '/<\/head>|<body[^>]*>/i';
if (preg_match($re, $page, $exp)) {
$debut = substr($page, 0, strpos($page, $exp[0])+strlen($exp[0]));
$page = substr($page, strlen($debut));
} else
$debut = '';
return $debut . trouve_surligne($page, $regexp);
}
}
 
function trouve_surligne($page, $regexp) {
// Remplacer une occurrence de mot maxi par espace inter-tag
// (max 1 par paragraphe, sauf italiques etc.)
// se limiter a 4 remplacements pour ne pas bouffer le CPU ;
// traiter <textarea...>....</textarea> comme un tag.
global $nombre_surligne;
$page = preg_replace('/(<textarea[^>]*>)([^<>]*)(<\/textarea>)/Uis', '\1<<SPIP\2>>\3', $page);
$page = preg_replace($regexp, '\1<span class="spip_surligne">\4</span>', $page, $nombre_surligne);
$page = preg_replace('/(<textarea[^>]*>)<<SPIP([^<>]*)>>(<\/textarea>)/Uis', '\1\2\3', $page);
return $page ;
}
 
?>
/trunk/actu/ecrire/inc_serialbase.php3
New file
0,0 → 1,368
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_SERIALBASE")) return;
define("_ECRIRE_INC_SERIALBASE", "1");
 
 
$spip_articles = array(
"id_article" => "bigint(21) NOT NULL",
"surtitre" => "text NOT NULL",
"titre" => "text NOT NULL",
"soustitre" => "text NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"descriptif" => "text NOT NULL",
"chapo" => "mediumtext NOT NULL",
"texte" => "longblob NOT NULL",
"ps" => "mediumtext NOT NULL",
"date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"statut" => "varchar(10) DEFAULT '0' NOT NULL",
"id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
"maj" => "TIMESTAMP",
"export" => "VARCHAR(10) DEFAULT 'oui'",
"date_redac" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"visites" => "INTEGER DEFAULT '0' NOT NULL",
"referers" => "INTEGER DEFAULT '0' NOT NULL",
"popularite" => "DOUBLE DEFAULT '0' NOT NULL",
"accepter_forum" => "CHAR(3) NOT NULL",
"auteur_modif" => "bigint(21) DEFAULT '0' NOT NULL",
"date_modif" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
"id_trad" => "bigint(21) DEFAULT '0' NOT NULL",
"extra" => "longblob NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"id_version" => "int unsigned DEFAULT '0' NOT NULL",
"nom_site" => "tinytext NOT NULL",
"url_site" => "VARCHAR(255) NOT NULL",
"url_propre" => "VARCHAR(255) NOT NULL");
 
$spip_articles_key = array(
"PRIMARY KEY" => "id_article",
"KEY id_rubrique" => "id_rubrique",
"KEY id_secteur" => "id_secteur",
"KEY id_trad" => "id_trad",
"KEY lang" => "lang",
"KEY statut" => "statut, date",
"KEY url_site" => "url_site",
"KEY date_modif" => "date_modif",
"KEY idx" => "idx",
"KEY url_propre" => "url_propre");
 
$spip_auteurs = array(
"id_auteur" => "bigint(21) NOT NULL",
"nom" => "text NOT NULL",
"bio" => "text NOT NULL",
"email" => "tinytext NOT NULL",
"nom_site" => "tinytext NOT NULL",
"url_site" => "text NOT NULL",
"login" => "VARCHAR(255) BINARY NOT NULL",
"pass" => "tinytext NOT NULL",
"low_sec" => "tinytext NOT NULL",
"statut" => "VARCHAR(255) NOT NULL",
"maj" => "TIMESTAMP",
"pgp" => "BLOB NOT NULL",
"htpass" => "tinyblob NOT NULL",
"en_ligne" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"imessage" => "VARCHAR(3) NOT NULL",
"messagerie" => "VARCHAR(3) NOT NULL",
"alea_actuel" => "tinytext NOT NULL",
"alea_futur" => "tinytext NOT NULL",
"prefs" => "tinytext NOT NULL",
"cookie_oubli" => "tinytext NOT NULL",
"source" => "VARCHAR(10) DEFAULT 'spip' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"url_propre" => "VARCHAR(255) NOT NULL",
"extra" => "longblob NULL");
 
$spip_auteurs_key = array(
"PRIMARY KEY" => "id_auteur",
"KEY login" => "login",
"KEY statut" => "statut",
"KEY lang" => "lang",
"KEY idx" => "idx",
"KEY en_ligne" => "en_ligne");
 
$spip_breves = array(
"id_breve" => "bigint(21) NOT NULL",
"date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"titre" => "text NOT NULL",
"texte" => "longblob NOT NULL",
"lien_titre" => "text NOT NULL",
"lien_url" => "text NOT NULL",
"statut" => "varchar(6) NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
"maj" => "TIMESTAMP",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"extra" => "longblob NULL",
"url_propre" => "VARCHAR(255) NOT NULL");
 
$spip_breves_key = array(
"PRIMARY KEY" => "id_breve",
"KEY idx" => "idx",
"KEY id_rubrique" => "id_rubrique",
"KEY url_propre" => "url_propre");
 
$spip_messages = array(
"id_message" => "bigint(21) NOT NULL",
"titre" => "text NOT NULL",
"texte" => "longblob NOT NULL",
"type" => "varchar(6) NOT NULL",
"date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"date_fin" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"rv" => "varchar(3) NOT NULL",
"statut" => "varchar(6) NOT NULL",
"id_auteur" => "bigint(21) NOT NULL",
"maj" => "TIMESTAMP");
 
$spip_messages_key = array(
"PRIMARY KEY" => "id_message",
"KEY id_auteur" => "id_auteur");
 
$spip_mots = array(
"id_mot" => "bigint(21) NOT NULL",
"type" => "VARCHAR(100) NOT NULL",
"titre" => "text NOT NULL",
"descriptif" => "text NOT NULL",
"texte" => "longblob NOT NULL",
"id_groupe" => "bigint(21) NOT NULL",
"extra" => "longblob NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"url_propre" => "VARCHAR(255) NOT NULL",
"maj" => "TIMESTAMP");
 
$spip_mots_key = array(
"PRIMARY KEY" => "id_mot",
"KEY idx" => "idx",
"KEY type" => "type",
"KEY url_propre" => "url_propre");
 
$spip_groupes_mots = array(
"id_groupe" => "bigint(21) NOT NULL",
"titre" => "text NOT NULL",
"descriptif" => "text NOT NULL",
"texte" => "longblob NOT NULL",
"unseul" => "varchar(3) NOT NULL",
"obligatoire" => "varchar(3) NOT NULL",
"articles" => "varchar(3) NOT NULL",
"breves" => "varchar(3) NOT NULL",
"rubriques" => "varchar(3) NOT NULL",
"syndic" => "varchar(3) NOT NULL",
"minirezo" => "varchar(3) NOT NULL",
"comite" => "varchar(3) NOT NULL",
"forum" => "varchar(3) NOT NULL",
"maj" => "TIMESTAMP");
 
$spip_groupes_mots_key = array(
"PRIMARY KEY" => "id_groupe");
 
$spip_rubriques = array(
"id_rubrique" => "bigint(21) NOT NULL",
"id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
"titre" => "text NOT NULL",
"descriptif" => "text NOT NULL",
"texte" => "longblob NOT NULL",
"id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
"maj" => "TIMESTAMP",
"export" => "VARCHAR(10) DEFAULT 'oui'",
"id_import" => "BIGINT DEFAULT '0'",
"statut" => "VARCHAR(10) NOT NULL",
"date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"lang" => "VARCHAR(10) DEFAULT '' NOT NULL",
"langue_choisie" => "VARCHAR(3) DEFAULT 'non'",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"extra" => "longblob NULL",
"url_propre" => "VARCHAR(255) NOT NULL",
"statut_tmp" => "VARCHAR(10) NOT NULL",
"date_tmp" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"
);
 
$spip_rubriques_key = array(
"PRIMARY KEY" => "id_rubrique",
"KEY lang" => "lang",
"KEY idx" => "idx",
"KEY id_parent" => "id_parent",
"KEY url_propre" => "url_propre");
 
$spip_documents = array(
"id_document" => "bigint(21) NOT NULL",
"id_vignette" => "bigint(21) DEFAULT '0' NOT NULL",
"id_type" => "bigint(21) DEFAULT '0' NOT NULL",
"titre" => "text NOT NULL",
"date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"descriptif" => "text NOT NULL",
"fichier" => "varchar(255) NOT NULL",
"taille" => "integer NOT NULL",
"largeur" => "integer NOT NULL",
"hauteur" => "integer NOT NULL",
"mode" => "ENUM('vignette', 'document') NOT NULL",
"inclus" => "VARCHAR(3) DEFAULT 'non'",
"distant" => "VARCHAR(3) DEFAULT 'non'",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"maj" => "TIMESTAMP");
 
$spip_documents_key = array(
"PRIMARY KEY" => "id_document",
"KEY id_vignette" => "id_vignette",
"KEY mode" => "mode",
"KEY id_type" => "id_type");
 
$spip_types_documents = array(
"id_type" => "bigint(21) NOT NULL",
"titre" => "text NOT NULL",
"descriptif" => "text NOT NULL",
"extension" => "varchar(10) NOT NULL",
"mime_type" => "varchar(100) NOT NULL",
"inclus" => "ENUM('non', 'image', 'embed') NOT NULL DEFAULT 'non'",
"upload" => "ENUM('oui', 'non') NOT NULL DEFAULT 'oui'",
"maj" => "TIMESTAMP");
 
$spip_types_documents_key = array(
"PRIMARY KEY" => "id_type",
"UNIQUE extension" => "extension",
"KEY inclus" => "inclus");
 
$spip_syndic = array(
"id_syndic" => "bigint(21) NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"id_secteur" => "bigint(21) DEFAULT '0' NOT NULL",
"nom_site" => "blob NOT NULL",
"url_site" => "blob NOT NULL",
"url_syndic" => "blob NOT NULL",
"descriptif" => "blob NOT NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"maj" => "TIMESTAMP",
"syndication" => "VARCHAR(3) NOT NULL",
"statut" => "VARCHAR(10) NOT NULL",
"date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"date_syndic" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"date_index" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"extra" => "longblob NULL",
"moderation" => "VARCHAR(3) DEFAULT 'non'",
"miroir" => "VARCHAR(3) DEFAULT 'non'",
"oubli" => "VARCHAR(3) DEFAULT 'non'"
);
 
$spip_syndic_key = array(
"PRIMARY KEY" => "id_syndic",
"KEY id_rubrique" => "id_rubrique",
"KEY id_secteur" => "id_secteur",
"KEY idx" => "idx",
"KEY statut" => "statut, date_syndic");
 
$spip_syndic_articles = array(
"id_syndic_article" => "bigint(21) NOT NULL",
"id_syndic" => "bigint(21) DEFAULT '0' NOT NULL",
"titre" => "text NOT NULL",
"url" => "VARCHAR(255) NOT NULL",
"date" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"lesauteurs" => "text NOT NULL",
"maj" => "TIMESTAMP",
"statut" => "VARCHAR(10) NOT NULL",
"descriptif" => "blob NOT NULL");
 
$spip_syndic_articles_key = array(
"PRIMARY KEY" => "id_syndic_article",
"KEY id_syndic" => "id_syndic",
"KEY statut" => "statut",
"KEY url" => "url");
 
$spip_forum = array(
"id_forum" => "bigint(21) NOT NULL",
"id_parent" => "bigint(21) DEFAULT '0' NOT NULL",
"id_thread" => "bigint(21) DEFAULT '0' NOT NULL",
"id_rubrique" => "bigint(21) DEFAULT '0' NOT NULL",
"id_article" => "bigint(21) DEFAULT '0' NOT NULL",
"id_breve" => "bigint(21) DEFAULT '0' NOT NULL",
"date_heure" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"titre" => "text NOT NULL",
"texte" => "mediumtext NOT NULL",
"auteur" => "text NOT NULL",
"email_auteur" => "text NOT NULL",
"nom_site" => "text NOT NULL",
"url_site" => "text NOT NULL",
"statut" => "varchar(8) NOT NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"ip" => "varchar(16)",
"maj" => "TIMESTAMP",
"id_auteur" => "BIGINT DEFAULT '0' NOT NULL",
"id_message" => "bigint(21) DEFAULT '0' NOT NULL",
"id_syndic" => "bigint(21) DEFAULT '0' NOT NULL");
 
$spip_forum_key = array(
"PRIMARY KEY" => "id_forum",
"KEY id_parent" => "id_parent",
"KEY id_rubrique" => "id_rubrique",
"KEY id_article" => "id_article",
"KEY id_breve" => "id_breve",
"KEY id_message" => "id_message",
"KEY id_syndic" => "id_syndic",
"KEY idx" => "idx",
"KEY statut" => "statut, date_heure");
 
$spip_signatures = array(
"id_signature" => "bigint(21) NOT NULL",
"id_article" => "bigint(21) DEFAULT '0' NOT NULL",
"date_time" => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
"nom_email" => "text NOT NULL",
"ad_email" => "text NOT NULL",
"nom_site" => "text NOT NULL",
"url_site" => "text NOT NULL",
"message" => "mediumtext NOT NULL",
"statut" => "varchar(10) NOT NULL",
"idx" => "ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL",
"maj" => "TIMESTAMP");
 
$spip_signatures_key = array(
"PRIMARY KEY" => "id_signature",
"KEY id_article" => "id_article",
"KEY idx" => "idx",
"KEY statut" => "statut");
 
global $tables_principales;
 
/// Attention: mes_fonctions peut avoir deja defini cette variable
/// il faut donc rajouter, mais pas reinitialiser
 
$tables_principales['spip_articles'] =
array('field' => &$spip_articles, 'key' => &$spip_articles_key);
$tables_principales['spip_auteurs'] =
array('field' => &$spip_auteurs, 'key' => &$spip_auteurs_key);
$tables_principales['spip_breves'] =
array('field' => &$spip_breves, 'key' => &$spip_breves_key);
$tables_principales['spip_messages'] =
array('field' => &$spip_messages, 'key' => &$spip_messages_key);
$tables_principales['spip_mots'] =
array('field' => &$spip_mots, 'key' => &$spip_mots_key);
$tables_principales['spip_groupes_mots'] =
array('field' => &$spip_groupes_mots, 'key' => &$spip_groupes_mots_key);
$tables_principales['spip_rubriques'] =
array('field' => &$spip_rubriques, 'key' => &$spip_rubriques_key);
$tables_principales['spip_documents'] =
array('field' => &$spip_documents, 'key' => &$spip_documents_key);
$tables_principales['spip_types_documents'] =
array('field' => &$spip_types_documents, 'key' => &$spip_types_documents_key);
$tables_principales['spip_syndic'] =
array('field' => &$spip_syndic, 'key' => &$spip_syndic_key);
$tables_principales['spip_syndic_articles'] =
array('field' => &$spip_syndic_articles, 'key' => &$spip_syndic_articles_key);
$tables_principales['spip_forum'] =
array('field' => &$spip_forum, 'key' => &$spip_forum_key);
$tables_principales['spip_signatures'] =
array('field' => &$spip_signatures, 'key' => &$spip_signatures_key);
 
?>
/trunk/actu/ecrire/auteur_infos.php3
New file
0,0 → 1,425
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include ("inc.php3");
include_ecrire ("inc_acces.php3");
include_ecrire ("inc_logos.php3");
include_ecrire ("inc_session.php3");
include_ecrire ("inc_filtres.php3");
include_ecrire ("inc_abstract_sql.php3");
 
// securite
$id_auteur = floor($id_auteur);
 
 
//
// Auteurs a acces restreint
//
function afficher_auteur_rubriques($leparent){
global $id_parent;
global $id_rubrique;
global $toutes_rubriques;
global $i;
$i++;
$query="SELECT * FROM spip_rubriques WHERE id_parent=$leparent ORDER BY 0+titre, titre";
$result=spip_query($query);
 
while($row=spip_fetch_array($result)){
$my_rubrique=$row['id_rubrique'];
$titre=typo($row['titre']);
if (!ereg(",$my_rubrique,","$toutes_rubriques")){
$espace = str_repeat("&nbsp", $i*2) . "|";
if ($i==1)
$espace = "*";
 
echo "<OPTION VALUE='$my_rubrique'>$espace ".supprimer_tags($titre)."\n";
afficher_auteur_rubriques($my_rubrique);
}
}
$i=$i-1;
}
 
// securite
if ($connect_statut != "0minirezo" AND $connect_id_auteur != $id_auteur) {
gros_titre(_T('info_acces_interdit'));
exit;
}
 
//
// Recuperer l'auteur (id_auteur) ... ou l'inventer
//
unset($auteur);
 
if ($id_auteur) {
$auteur = spip_fetch_array(spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$id_auteur"));
$new = false; // eviter hack
} else {
if (!$auteur['nom'] = $titre) {
$auteur['nom'] = filtrer_entites(_T('item_nouvel_auteur'));
$onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
}
$auteur['statut'] = '1comite'; // statut par defaut a la creation
$auteur['source'] = 'spip';
}
 
 
//
// Modification (et creation si besoin)
//
if ($nom) { // si on poste un nom, c'est qu'on modifie une fiche auteur
$auteur['nom'] = corriger_caracteres($nom);
 
// login et mot de passe
unset ($modif_login);
$old_login = $auteur['login'];
if (($new_login<>$old_login) AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques AND $auteur['source'] == 'spip') {
if ($new_login) {
if (strlen($new_login) < 4)
$echec .= "<p>"._T('info_login_trop_court');
else if (spip_num_rows(spip_query("SELECT * FROM spip_auteurs WHERE login='".addslashes($new_login)."' AND id_auteur!=$id_auteur AND statut!='5poubelle'")))
$echec .= "<p>"._T('info_login_existant');
else if ($new_login != $old_login) {
$modif_login = true;
$auteur['login'] = $new_login;
}
}
// suppression du login
else {
$auteur['login'] = '';
$modif_login = true;
}
}
 
// changement de pass, a securiser en jaja ?
if ($new_pass AND ($statut != '5poubelle') AND $auteur['login'] AND $auteur['source'] == 'spip') {
if ($new_pass != $new_pass2)
$echec .= "<p>"._T('info_passes_identiques');
else if ($new_pass AND strlen($new_pass) < 6)
$echec .= "<p>"._T('info_passe_trop_court');
else {
$modif_login = true;
$auteur['new_pass'] = $new_pass;
}
}
 
if ($modif_login) {
include_ecrire('inc_session.php3');
zap_sessions ($auteur['id_auteur'], true);
if ($connect_id_auteur == $auteur['id_auteur'])
supprimer_session($GLOBALS['spip_session']);
}
 
// email
// seuls les admins peuvent modifier l'email
// les admins restreints peuvent modifier l'email des redacteurs
// mais pas des autres admins
if ($connect_statut == '0minirezo'
AND ($connect_toutes_rubriques OR $statut<>'0minirezo')) {
if ($email !='' AND !email_valide($email)) {
$echec .= "<p>"._T('info_email_invalide');
$auteur['email'] = $email;
} else
$auteur['email'] = $email;
}
 
if ($connect_id_auteur == $id_auteur) {
if ($perso_activer_imessage) {
$query = "UPDATE spip_auteurs SET imessage='$perso_activer_imessage' WHERE id_auteur=$id_auteur";
$result = spip_query($query);
$auteur['imessage'] = $perso_activer_imessage;
}
}
 
// variables sans probleme
$auteur['bio'] = corriger_caracteres($bio);
$auteur['pgp'] = corriger_caracteres($pgp);
$auteur['nom_site'] = corriger_caracteres($nom_site_auteur); // attention mix avec $nom_site_spip ;(
$auteur['url_site'] = vider_url($url_site);
 
if ($new_pass) {
$htpass = generer_htpass($new_pass);
$alea_actuel = creer_uniqid();
$alea_futur = creer_uniqid();
$pass = md5($alea_actuel.$new_pass);
$query_pass = " pass='$pass', htpass='$htpass', alea_actuel='$alea_actuel', alea_futur='$alea_futur', ";
if ($auteur['id_auteur'])
effacer_low_sec($auteur['id_auteur']);
} else
$query_pass = '';
 
// recoller les champs du extra
if ($champs_extra) {
include_ecrire("inc_extra.php3");
$extra = extra_recup_saisie("auteurs");
$add_extra = ", extra = '".addslashes($extra)."'";
} else
$add_extra = '';
 
// l'entrer dans la base
if (!$echec) {
if (!$auteur['id_auteur']) { // creation si pas d'id
$auteur['id_auteur'] = spip_abstract_insert("spip_auteurs", "(nom)", "('temp')");
 
$id_auteur = $auteur['id_auteur'];
 
if ($ajouter_id_article = intval($ajouter_id_article))
spip_query("INSERT INTO spip_auteurs_articles (id_auteur, id_article) VALUES ($id_auteur, $ajouter_id_article)");
}
 
$query = "UPDATE spip_auteurs SET $query_pass
nom='".addslashes($auteur['nom'])."',
login='".addslashes($auteur['login'])."',
bio='".addslashes($auteur['bio'])."',
email='".addslashes($auteur['email'])."',
nom_site='".addslashes($auteur['nom_site'])."',
url_site='".addslashes($auteur['url_site'])."',
pgp='".addslashes($auteur['pgp'])."'
$add_extra
WHERE id_auteur=".$auteur['id_auteur'];
spip_query($query) OR die($query);
}
}
 
// Appliquer des modifications de statut
modifier_statut_auteur($auteur, $_POST['statut'], $_POST['add_rub'], $_GET['supp_rub']);
 
 
// Si on modifie la fiche auteur, reindexer et modifier htpasswd
if ($nom OR $statut) {
if (lire_meta('activer_moteur') == 'oui') {
include_ecrire ("inc_index.php3");
marquer_indexer('auteur', $id_auteur);
}
 
// Mettre a jour les fichiers .htpasswd et .htpasswd-admin
ecrire_acces();
}
 
// Redirection
if (!$echec AND $redirect_ok == "oui") {
redirige_par_entete($redirect ? rawurldecode($redirect) : "auteurs_edit.php3?id_auteur=$id_auteur");
}
 
 
//
// Affichage
//
 
if ($connect_id_auteur == $id_auteur)
debut_page($auteur['nom'], "auteurs", "perso");
else
debut_page($auteur['nom'],"auteurs","redacteurs");
 
echo "<br><br><br>";
 
debut_gauche();
 
if ($id_auteur) {
debut_boite_info();
echo "<CENTER>";
echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('titre_cadre_numero_auteur')."&nbsp;:</B></FONT>";
echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_auteur</B></FONT>";
echo "</CENTER>";
fin_boite_info();
}
 
debut_droite();
 
 
//
// Formulaire d'edition de l'auteur
//
 
if ($echec){
debut_cadre_relief();
echo http_img_pack("warning.gif", _T('info_avertissement'), "width='48' height='48' align='left'");
echo "<font color='red'>$echec <p>"._T('info_recommencer')."</font>";
fin_cadre_relief();
echo "<p>";
}
 
 
debut_cadre_formulaire();
echo "<FORM ACTION='auteur_infos.php3?id_auteur=$id_auteur' METHOD='post'>";
echo "<INPUT TYPE='Hidden' NAME='id_auteur' VALUE=\"$id_auteur\">";
 
 
//
// Infos personnelles
//
 
echo "<div class='serif'>";
 
debut_cadre_relief("fiche-perso-24.gif", false, "", _T("icone_informations_personnelles"));
 
echo _T('titre_cadre_signature_obligatoire');
echo "("._T('entree_nom_pseudo').")<BR>";
echo "<INPUT TYPE='text' NAME='nom' CLASS='formo' VALUE=\"".entites_html($auteur['nom'])."\" SIZE='40' $onfocus><P>";
 
echo "<B>"._T('entree_adresse_email')."</B>";
 
if ($connect_statut == "0minirezo"
AND ($connect_toutes_rubriques OR $auteur['statut']<>'0minirezo')) {
echo "<br><INPUT TYPE='text' NAME='email' CLASS='formo' VALUE=\"".entites_html($auteur['email'])."\" SIZE='40'><P>\n";
}
else {
echo "&nbsp;: <tt>".$auteur['email']."</tt>";
echo "<br>("._T('info_reserve_admin').")\n";
echo "<P>";
}
 
echo "<B>"._T('entree_infos_perso')."</B><BR>";
echo "("._T('entree_biographie').")<BR>";
echo "<TEXTAREA NAME='bio' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
echo entites_html($auteur['bio']);
echo "</TEXTAREA>\n";
 
debut_cadre_enfonce("site-24.gif", false, "", _T('info_site_web'));
echo "<B>"._T('entree_nom_site')."</B><BR>";
echo "<INPUT TYPE='text' NAME='nom_site_auteur' CLASS='forml' VALUE=\"".entites_html($auteur['nom_site'])."\" SIZE='40'><P>\n";
 
echo "<B>"._T('entree_url')."</B><BR>";
echo "<INPUT TYPE='text' NAME='url_site' CLASS='forml' VALUE=\"".entites_html($auteur['url_site'])."\" SIZE='40'>\n";
fin_cadre_enfonce();
echo "<p>";
 
if ($options == "avancees") {
debut_cadre_enfonce("cadenas-24.gif", false, "", _T('entree_cle_pgp'));
echo "<TEXTAREA NAME='pgp' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
echo entites_html($auteur['pgp']);
echo "</TEXTAREA>\n";
fin_cadre_enfonce();
echo "<p>";
}
else {
echo "<input type='hidden' name='pgp' value=\"".entites_html($auteur['pgp'])."\">";
}
 
echo "<p>";
if ($champs_extra) {
include_ecrire("inc_extra.php3");
extra_saisie($auteur['extra'], 'auteurs', $auteur['statut']);
}
 
fin_cadre_relief();
echo "<p>";
 
 
 
//
// Login et mot de passe :
// accessibles seulement aux admins non restreints et l'auteur lui-meme
//
 
if ($auteur['source'] != 'spip') {
$edit_login = false;
$edit_pass = false;
}
else if (($connect_statut == "0minirezo") AND $connect_toutes_rubriques) {
$edit_login = true;
$edit_pass = true;
}
else if ($connect_id_auteur == $id_auteur) {
$edit_login = false;
$edit_pass = true;
}
else {
$edit_login = false;
$edit_pass = false;
}
 
debut_cadre_relief("base-24.gif");
 
// Avertissement en cas de modifs de ses propres donnees
if (($edit_login OR $edit_pass) AND $connect_id_auteur == $id_auteur) {
debut_cadre_enfonce();
echo http_img_pack("warning.gif", _T('info_avertissement'), "width='48' height='48' align='right'");
echo "<b>"._T('texte_login_precaution')."</b>\n";
fin_cadre_enfonce();
echo "<p>";
}
 
// Un redacteur n'a pas le droit de modifier son login !
if ($edit_login) {
echo "<B>"._T('item_login')."</B> ";
echo "<font color='red'>("._T('texte_plus_trois_car').")</font> :<BR>";
echo "<INPUT TYPE='text' NAME='new_login' CLASS='formo' VALUE=\"".entites_html($auteur['login'])."\" SIZE='40'><P>\n";
}
else {
echo "<fieldset style='padding:5'><legend><B>"._T('item_login')."</B><BR></legend><br><b>".$auteur['login']."</b> ";
echo "<i> ("._T('info_non_modifiable').")</i><p>";
}
 
// On ne peut modifier le mot de passe en cas de source externe (par exemple LDAP)
if ($edit_pass) {
echo "<B>"._T('entree_nouveau_passe')."</B> ";
echo "<font color='red'>("._T('info_plus_cinq_car').")</font> :<BR>";
echo "<INPUT TYPE='password' NAME='new_pass' CLASS='formo' VALUE=\"\" SIZE='40'><BR>\n";
echo _T('info_confirmer_passe')."<BR>";
echo "<INPUT TYPE='password' NAME='new_pass2' CLASS='formo' VALUE=\"\" SIZE='40'><P>\n";
}
fin_cadre_relief();
echo "<p />";
 
 
//
// Apparaitre dans la liste des redacteurs connectes
//
 
if ($connect_id_auteur == $id_auteur) {
 
debut_cadre_relief("messagerie-24.gif", false, "", _T('info_liste_redacteurs_connectes'));
echo "<div>"._T('texte_auteur_messagerie')."</div>";
 
if ($auteur['imessage']=="non"){
echo "<INPUT TYPE='radio' NAME='perso_activer_imessage' VALUE='oui' id='perso_activer_imessage_on'>";
echo " <label for='perso_activer_imessage_on'>"._T('bouton_radio_apparaitre_liste_redacteurs_connectes')."</label> ";
echo "<BR><INPUT TYPE='radio' NAME='perso_activer_imessage' VALUE='non' CHECKED id='perso_activer_imessage_off'>";
echo " <B><label for='perso_activer_imessage_off'>"._T('bouton_radio_non_apparaitre_liste_redacteurs_connectes')."</label></B> ";
} else {
echo "<INPUT TYPE='radio' NAME='perso_activer_imessage' VALUE='oui' id='perso_activer_imessage_on' CHECKED>";
echo " <B><label for='perso_activer_imessage_on'>"._T('bouton_radio_apparaitre_liste_redacteurs_connectes')."</label></B> ";
 
echo "<BR><INPUT TYPE='radio' NAME='perso_activer_imessage' VALUE='non' id='perso_activer_imessage_off'>";
echo " <label for='perso_activer_imessage_off'>"._T('bouton_radio_non_apparaitre_liste_redacteurs_connectes')."</label> ";
}
 
fin_cadre_relief();
echo "<p />";
 
}
 
 
// Afficher le formulaire de changement de statut (cf. inc_acces.php3)
afficher_formulaire_statut_auteur ($id_auteur, $auteur['statut']);
 
 
echo "<INPUT NAME='ajouter_id_article' VALUE='$ajouter_id_article' TYPE='hidden'>\n";
echo "<INPUT NAME='redirect' VALUE='$redirect' TYPE='hidden'>\n";
echo "<INPUT NAME='redirect_ok' VALUE='oui' TYPE='hidden'>\n";
 
echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondo' NAME='Valider' VALUE='"._T('bouton_enregistrer')."'></DIV>";
 
echo "</div>";
 
echo "</form>";
fin_cadre_formulaire();
echo "&nbsp;<p>";
 
fin_page();
 
?>
/trunk/actu/ecrire/inc_signatures.php3
New file
0,0 → 1,121
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_SIGNATURES")) return;
define("_ECRIRE_INC_SIGNATURES", "1");
 
include_ecrire('inc_urls.php3');
 
function controle_signatures($script, $id, $debut, $where, $order, $limit=10) {
global $couleur_foncee;
$where = tronconne_signatures($script, $id, $debut, $where, $limit);
$request = spip_query("SELECT * FROM spip_signatures " .
($where ? " WHERE $where" : "") .
($order ? " ORDER BY $order" : "") .
" LIMIT " . ($debut ? "$debut," : "") . $limit);
 
while($row=spip_fetch_array($request)){
$id_signature = $row['id_signature'];
$id_article = $row['id_article'];
$date_time = $row['date_time'];
$nom_email= typo(echapper_tags($row['nom_email']));
$ad_email = echapper_tags($row['ad_email']);
$nom_site = typo(echapper_tags($row['nom_site']));
$url_site = echapper_tags($row['url_site']);
$statut = $row['statut'];
echo "<P>";
if ($statut=="poubelle"){
echo "<TABLE WIDTH=100% CELLPADDING=2 CELLSPACING=0 BORDER=0><TR><TD BGCOLOR='#FF0000'>";
}
echo "<TABLE WIDTH=100% CELLPADDING=3 CELLSPACING=0><TR><TD BGCOLOR='$couleur_foncee' class='verdana2' style='color: white;'><b>",
($nom_site ? "$nom_site / " : ""),
$nom_email,
"</b></TD></TR>",
"<TR><TD BGCOLOR='#FFFFFF' class='serif'>";
if ($statut=="publie"){
icone (_T('icone_supprimer_signature'), "$script?supp_petition=$id_signature&debut=$debut", "forum-interne-24.gif", "supprimer.gif", "right");
}
if ($statut=="poubelle"){
icone (_T('icone_valider_signature'), "$script?add_petition=$id_signature&debut=$debut", "forum-interne-24.gif", "creer.gif", "right");
}
echo "<FONT SIZE=2>".date_relative($date_time)."</FONT><BR>";
if ($statut=="poubelle"){
echo "<FONT SIZE=1 COLOR='red'>"._T('info_message_efface')."</FONT><BR>";
}
if (strlen($url_site)>6 AND strlen($nom_site)>0){
echo "<FONT SIZE=1>"._T('info_site_web')."</FONT> <A HREF='$url_site'>$nom_site</A><BR>";
}
if (strlen($ad_email)>0){
echo "<FONT SIZE=1>"._T('info_adresse_email')."</FONT> <A HREF='mailto:$ad_email'>$ad_email</A><BR>";
}
 
echo "<p>",message_de_signature($row),"</p>";
list($titre) = spip_fetch_array(spip_query("SELECT titre FROM spip_articles WHERE id_article=$id_article"));
 
if (!$id)
echo "<span class='arial1' style='float: $spip_lang_right; color: black; padding-$spip_lang_left: 4px;'><b>",
_T('info_numero_abbreviation'),
$id_article,
" </b></span>";
echo "<a href='",
(($statut == 'publie') ?
"../spip_redirect.php3" :
"articles.php3"),
"?id_article=$id_article",
"'>",
typo($titre),
"</a>";
 
echo "</TD></TR></TABLE>";
if ($statut=="poubelle"){
echo "</TD></TR></TABLE>";
}
}
}
 
function tronconne_signatures($script, $id_article, $debut, $where, $limit)
{
if ($id_article) {
$script .= "?id_article=$id_article&";
$where .= ($where ? " AND " : "") . "id_article=$id_article";
}
else $script .= '?';
 
$res = spip_query("SELECT COUNT(*) AS cnt FROM spip_signatures WHERE $where AND date_time>DATE_SUB(NOW(),INTERVAL 180 DAY)");
 
$total = ($row = spip_fetch_array($res)) ? $row['cnt'] : 0;
 
if ($total > $limit) {
for ($i = 0; $i < $total; $i += $limit){
if ($i > 0) echo " | ";
if ($i == $debut)
echo "<FONT SIZE=3><B>$i</B></FONT>";
else
echo "<A HREF='$script","debut=$i'>$i</A>";
}
}
return $where;
}
 
?>
/trunk/actu/ecrire/inc_version.php3
New file
0,0 → 1,1147
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_VERSION")) return;
define("_ECRIRE_INC_VERSION", "1");
 
function define_once ($constant, $valeur) {
if (!defined($constant)) define($constant, $valeur);
}
 
// 6 constantes incontournables et prioritaires
 
define('_EXTENSION_PHP', '.php3'); # a etendre
define('_DIR_RESTREINT_ABS', 'ecrire/');
define('_DIR_RESTREINT', (!@is_dir(_DIR_RESTREINT_ABS) ? "" : _DIR_RESTREINT_ABS));
define('_FILE_OPTIONS', _DIR_RESTREINT . 'mes_options.php3');
define('_FILE_CONNECT_INS', (_DIR_RESTREINT . "inc_connect"));
define('_FILE_CONNECT',
(@file_exists(_FILE_CONNECT_INS . _EXTENSION_PHP) ?
(_FILE_CONNECT_INS . _EXTENSION_PHP)
: false));
 
//
// Gestion des inclusions et infos repertoires
//
 
$included_files = array();
 
function include_local($file) {
if (@$GLOBALS['included_files'][$file]++) return;
include($file);
}
 
function include_ecrire($file) {
# Hack pour etre compatible avec les mes_options qui appellent cette fonction
define_once('_DIR_INCLUDE', _DIR_RESTREINT);
$file = _DIR_INCLUDE . $file;
if (@$GLOBALS['included_files'][$file]++) return;
include($file);
}
 
function include_lang($file) {
$file = _DIR_LANG . $file;
if (@$GLOBALS['included_files'][$file]++) return;
include($file);
}
 
function include_plug($file) {
$file = _DIR_RESTREINT . $file;
if (@$GLOBALS['included_files'][$file]++) return;
if (file_exists($file)) include($file);
}
 
 
// *********** traiter les variables ************
 
// Recuperer les superglobales $_GET si non definies
// (en theorie c'est impossible depuis PHP 4.0.3, cf. track_vars)
// et les identifier aux $HTTP_XX_VARS
foreach (array('_GET', '_POST', '_COOKIE', '_SERVER') as $_table) {
$http_table_vars = 'HTTP'.$_table.'_VARS';
if (!is_array($GLOBALS[$_table])) {
$GLOBALS[$_table] = array();
if (is_array($GLOBALS[$http_table_vars]))
$GLOBALS[$_table] = & $GLOBALS[$http_table_vars];
}
$GLOBALS[$http_table_vars] = & $GLOBALS[$_table];
}
 
 
// Magic quotes : on n'en veut pas sur la base,
// et on nettoie les GET/POST/COOKIE le cas echeant
function magic_unquote($_table) {
 
// Certains hebergeurs n'activent pas $GLOBALS['GLOBALS']
if ($_table == 'GLOBALS'
AND !isset($GLOBALS['GLOBALS']))
$GLOBALS['GLOBALS'] = &$GLOBALS;
 
if (is_array($GLOBALS[$_table])) {
foreach ($GLOBALS[$_table] as $key => $val) {
if (is_string($val))
$GLOBALS[$_table][$key] = stripslashes($val);
}
}
}
 
@set_magic_quotes_runtime(0);
if (@get_magic_quotes_gpc()) {
magic_unquote('_GET');
magic_unquote('_POST');
magic_unquote('_COOKIE');
 
# if (@ini_get('register_globals')) // pas fiable
magic_unquote('GLOBALS');
}
 
 
 
// Dirty hack contre le register_globals a 'Off' (PHP 4.1.x)
// A remplacer (un jour!) par une gestion propre des variables admissibles ;-)
// Attention pour compatibilite max $_GET n'est pas superglobale
// NB: c'est une fonction de maniere a ne pas pourrir $GLOBALS
function spip_register_globals() {
 
// Liste des variables dont on refuse qu'elles puissent provenir du client
$refuse_gpc = array (
# inc-public.php3
'fond', 'delais',
 
# ecrire/inc_auth.php3
'REMOTE_USER',
'PHP_AUTH_USER', 'PHP_AUTH_PW',
 
# ecrire/inc_texte.php3
'debut_intertitre', 'fin_intertitre', 'ligne_horizontale',
'ouvre_ref', 'ferme_ref', 'ouvre_note', 'ferme_note',
'les_notes', 'compt_note', 'nombre_surligne',
'url_glossaire_externe', 'puce', 'puce_rtl'
);
 
// Liste des variables (contexte) dont on refuse qu'elles soient cookie
// (histoire que personne ne vienne fausser le cache)
$refuse_c = array (
# inc-calcul.php3
'id_parent', 'id_rubrique', 'id_article',
'id_auteur', 'id_breve', 'id_forum', 'id_secteur',
'id_syndic', 'id_syndic_article', 'id_mot', 'id_groupe',
'id_document', 'date', 'lang'
);
 
 
// Si les variables sont passees en global par le serveur, il faut
// faire quelques verifications de base
if (@ini_get('register_globals')) {
foreach ($refuse_gpc as $var) {
if (isset($GLOBALS[$var])) {
foreach (array('_GET', '_POST', '_COOKIE') as $_table) {
if (
// demande par le client
isset ($GLOBALS[$_table][$var])
// et pas modifie par les fichiers d'appel
AND $GLOBALS[$_table][$var] == $GLOBALS[$var]
) // On ne sait pas si c'est un hack
{
# REMOTE_USER ou fond, c'est grave ;
# pour le reste (cookie 'lang', par exemple), simplement
# interdire la mise en cache de la page produite
switch ($var) {
case 'REMOTE_USER':
case 'fond':
die ("$var interdite");
break;
default:
define ('spip_interdire_cache', true);
}
}
}
}
}
foreach ($refuse_c as $var) {
if (isset($GLOBALS[$var])) {
foreach (array('_COOKIE') as $_table) {
if (
// demande par le client
isset ($GLOBALS[$_table][$var])
// et pas modifie par les fichiers d'appel
AND $GLOBALS[$_table][$var] == $GLOBALS[$var]
)
define ('spip_interdire_cache', true);
}
}
}
}
 
// sinon il faut les passer nous-memes, a l'exception des interdites.
// (A changer en une liste des variables admissibles...)
else {
foreach (array('_SERVER', '_COOKIE', '_POST', '_GET') as $_table) {
foreach ($GLOBALS[$_table] as $var => $val) {
if (!isset($GLOBALS[$var])
AND isset($GLOBALS[$_table][$var])
AND ($_table == '_SERVER' OR !in_array($var, $refuse_gpc))
AND ($_table <> '_COOKIE' OR !in_array($var, $refuse_c)))
$GLOBALS[$var] = $val;
}
}
}
}
spip_register_globals();
 
 
 
 
 
//
// *** Parametrage par defaut de SPIP ***
//
// Ces parametres d'ordre technique peuvent etre modifies
// dans ecrire/mes_options.php3 (_FILE_OPTIONS) Les valeurs
// specifiees dans ce dernier fichier remplaceront automatiquement
// les valeurs ci-dessous.
//
// Pour creer ecrire/mes_options.php3 : recopier simplement
// les lignes ci-dessous, et ajouter le marquage de debut et
// de fin de fichier PHP ("< ?php" et "? >", sans les espaces)
//
 
// Prefixe des tables dans la base de donnees
// (a modifier pour avoir plusieurs sites SPIP dans une seule base)
$table_prefix = "spip";
 
// Prefixe et chemin des cookies
// (a modifier pour installer des sites SPIP dans des sous-repertoires)
$cookie_prefix = "spip";
$cookie_path = "";
 
// Dossier des squelettes
// (a modifier si l'on veut passer rapidement d'un jeu de squelettes a un autre)
$dossier_squelettes = "";
 
// faut-il autoriser SPIP a compresser les pages a la volee quand le
// navigateur l'accepte (valable pour apache >= 1.3 seulement) ?
$auto_compress = true;
 
// Type d'URLs
// 'standard': article.php3?id_article=123
// 'html': article123.html
// 'propres': Titre-de-l-article <http://lab.spip.net/spikini/UrlsPropres>
// 'propres2' : Titre-de-l-article.html (base sur 'propres')
$type_urls = 'standard';
 
// creation des vignettes avec image magick en ligne de commande : mettre
// le chemin complet '/bin/convert' (Linux) ou '/sw/bin/convert' (fink/Mac OS X)
// Note : preferer GD2 ou le module php imagick s'ils sont disponibles
$convert_command = 'convert';
 
// creation des vignettes avec pnmscale
// Note: plus facile a installer par FTP,
// voir http://gallery.menalto.com/modules.php?op=modload&name=GalleryFAQ&file=index&myfaq=yes&id_cat=2#43
$pnmscale_command = 'pnmscale';
 
// faut-il passer les connexions MySQL en mode debug ?
$mysql_debug = false;
 
// faut-il chronometrer les requetes MySQL ?
$mysql_profile = false;
 
// faut-il faire des connexions completes rappelant le nom du serveur et/ou de
// la base MySQL ? (utile si vos squelettes appellent d'autres bases MySQL)
// (A desactiver en cas de soucis de connexion chez certains hebergeurs)
// Note: un test a l'installation peut aussi avoir desactive
// $mysql_rappel_nom_base directement dans le fichier inc_connect.php3
$mysql_rappel_connexion = true;
$mysql_rappel_nom_base = true;
 
// faut-il afficher en rouge les chaines non traduites ?
$test_i18n = false;
 
// faut-il souligner en gris, dans articles.php3, les espaces insecables ?
$activer_revision_nbsp = false;
 
// gestion des extras (voir inc_extra.php3 pour plus d'informations)
$champs_extra = false;
$champs_extra_proposes = false;
 
// faut-il ignorer l'authentification par auth http/remote_user ?
$ignore_auth_http = false;
$ignore_remote_user = true; # methode obsolete et risquee
 
// Faut-il "invalider" les caches quand on depublie ou modifie un article ?
// (experimental)
# NB: cette option ne concerne que articles,breves,rubriques et site
# car les forums et petitions sont toujours invalidants.
$invalider_caches = false;
 
// Quota : la variable $quota_cache, si elle est > 0, indique la taille
// totale maximale desiree des fichiers contenus dans le CACHE/ ;
// ce quota n'est pas "dur", il ne s'applique qu'une fois par heure et
// fait redescendre le cache a la taille voulue ; valeur en Mo
// Si la variable vaut 0 aucun quota ne s'applique
$quota_cache = 10;
 
// code a fournir pour obtenir le debuggueur (urls &var_mode=debug)
// par defaut seuls les admins : $code_activation_debug='';
// pour mettre un mot de passe : $code_activation_debug='x5g8jk9';
$code_activation_debug = '';
 
//
// Serveurs externes
//
# aide en ligne
$help_server = 'http://www.spip.net/aide';
# TeX
$tex_server = 'http://math.spip.org/tex.php';
# MathML (pas pour l'instant: manque un bon convertisseur)
// $mathml_server = 'http://arno.rezo.net/tex2mathml/latex.php';
# Orthographe (serveurs multiples) [pas utilise pour l'instant]
$ortho_servers = array ('http://ortho.spip.net/ortho_serveur.php');
 
// Produire du TeX ou du MathML ?
$traiter_math = 'tex';
 
// Masquer les warning
error_reporting(E_ALL ^ E_NOTICE);
 
// Variables du compilateur de squelettes
 
$exceptions_des_tables = array();
$tables_principales = array();
$table_des_tables = array();
$tables_relations = array();
$tables_relations_keys = array();
$table_primary = array();
$table_date = array();
$tables_des_serveurs_sql['localhost'] = &$tables_principales;
 
/* ATTENTION CETTE VARIABLE NE FONCTIONNE PAS ENCORE */
// Extension du fichier du squelette
$extension_squelette = 'html';
/* / MERCI DE VOTRE ATTENTION */
 
// Droits d'acces maximum par defaut
@umask(0);
 
//
// Definition des repertoires standards, _FILE_OPTIONS ayant priorite
//
 
if (@file_exists(_FILE_OPTIONS)) {
include(_FILE_OPTIONS);
}
 
// la taille maxi des logos (0 : pas de limite)
define_once('_LOGO_MAX_SIZE', 0); # poids en ko
define_once('_LOGO_MAX_WIDTH', 0); # largeur en pixels
define_once('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels
 
 
define_once('_DIR_INCLUDE', _DIR_RESTREINT);
define_once('_DIR_PREFIX1', (_DIR_RESTREINT ? "" : "../"));
define_once('_DIR_PREFIX2', _DIR_RESTREINT);
 
// les repertoires des logos, des documents joints, du CACHE et des sessions
define_once('_DIR_IMG', _DIR_PREFIX1 ."IMG/");
define_once('_DIR_DOC', _DIR_PREFIX1 ."IMG/");
define_once('_DIR_CACHE', _DIR_PREFIX1 ."CACHE/");
 
define_once('_DIR_SESSIONS', _DIR_PREFIX2 . "data/");
define_once('_DIR_TRANSFERT', _DIR_PREFIX2 . "upload/");
 
 
// exemples de redefinition possible,
// SOUS RESERVE QUE php.ini N'AIT PAS pas openbasedir=. !!!!!!
// il est recommande de mettre les deux premiers en dehors de l'arbo http
// pour _DIR_DOC, on ne peut le faire qu'en configuration securisee
// pour _DIR_IMG, NE PAS LE METTRE en dehors de l'arborescence http
 
//define('_DIR_CACHE', "/tmp/c/");
//define('_DIR_SESSIONS', "/tmp/s/");
 
//define('_DIR_DOC', "/tmp/d/");
//define('_DIR_INCLUDE', _DIR_RESTREINT ? 'Include/' : '../Include/');
// globale des repertoires devant etre accessibles en ecriture
// (inutile de mettre leurs sous-repertoires)
 
$test_dirs = array(_DIR_CACHE, _DIR_IMG, _DIR_SESSIONS);
 
// les fichiers qu'on y met, entre autres,
 
define_once('_FILE_CRON_LOCK', _DIR_SESSIONS . 'cron.lock');
define_once('_FILE_MYSQL_OUT', _DIR_SESSIONS . 'mysql_out');
define_once('_FILE_GARBAGE', _DIR_SESSIONS . '.poubelle');
 
 
// sous-repertoires d'images accessible en ecriture
 
define_once('_DIR_IMG_ICONES', _DIR_IMG . "icones/");
define_once('_DIR_IMG_ICONES_BARRE', _DIR_IMG . "icones_barre/");
define_once('_DIR_TeX', _DIR_IMG . "cache-TeX/");
 
// pour ceux qui n'aiment pas nos icones et notre vocabulaire, tout est prevu
 
define_once('_DIR_IMG_PACK', (_DIR_RESTREINT . 'img_pack/'));
define_once('_DIR_LANG', (_DIR_RESTREINT . 'lang/'));
 
// qq chaines standard
 
define_once('_ACCESS_FILE_NAME', '.htaccess');
define_once('_AUTH_USER_FILE', '.htpasswd');
 
 
// tidy en ligne de commande (si on ne l'a pas en module php,
// ou si le module php ne marche pas)
// '/bin/tidy' ou '/usr/local/bin/tidy' ou tout simplement 'tidy'
#define_once('_TIDY_COMMAND', 'tidy');
 
// Version courante de SPIP
// Stockee sous forme de nombre decimal afin de faciliter les comparaisons
// (utilise pour les modifs de la base de donnees)
 
// version de la base
$spip_version = 1.821;
 
// version de spip
$spip_version_affichee = "1.8.2";
 
 
// ** Securite **
$auteur_session = '';
$connect_statut = '';
$hash_recherche = '';
$hash_recherche_strict = '';
 
 
 
//
// Capacites php (en fonction de la version)
//
 
$flag_get_cfg_var = (@get_cfg_var('error_reporting') != "");
$flag_ini_get = (function_exists("ini_get")
&& (@ini_get('max_execution_time') > 0)); // verifier pas desactivee
$flag_gz = function_exists("gzencode"); #php 4.0.4
$flag_ob = ($flag_ini_get
&& !ereg("ob_", ini_get('disable_functions'))
&& function_exists("ob_start"));
$flag_crypt = function_exists("crypt");
$flag_wordwrap = function_exists("wordwrap");
$flag_apc = function_exists("apc_rm");
$flag_sapi_name = function_exists("php_sapi_name");
$flag_utf8_decode = function_exists("utf8_decode");
$flag_ldap = function_exists("ldap_connect");
$flag_flock = function_exists("flock");
$flag_ImageCreateTrueColor = function_exists("ImageCreateTrueColor");
$flag_ImageCopyResampled = function_exists("ImageCopyResampled");
$flag_ImageGif = function_exists("ImageGif");
$flag_ImageJpeg = function_exists("ImageJpeg");
$flag_ImagePng = function_exists("ImagePng");
$flag_imagick = function_exists("imagick_readimage"); // http://pear.sourceforge.net/en/packages.imagick.php
 
$flag_gd = $flag_ImageGif || $flag_ImageJpeg || $flag_ImagePng;
$flag_revisions = function_exists("gzcompress");
 
//
// Appliquer le prefixe cookie
//
function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') {
$name = ereg_replace ('^spip_', $GLOBALS['cookie_prefix'].'_', $name);
if ($path == 'AUTO') $path=$GLOBALS['cookie_path'];
 
if ($secure)
@setcookie ($name, $value, $expire, $path, $domain, $secure);
else if ($domain)
@setcookie ($name, $value, $expire, $path, $domain);
else if ($path)
@setcookie ($name, $value, $expire, $path);
else if ($expire)
@setcookie ($name, $value, $expire);
else
@setcookie ($name, $value);
}
 
if ($cookie_prefix != 'spip') {
foreach ($_COOKIE as $name => $value) {
if (ereg('^spip_', $name)) {
unset($_COOKIE[$name]);
unset($$name);
}
}
foreach ($_COOKIE as $name => $value) {
if (ereg('^'.$cookie_prefix.'_', $name)) {
$spipname = ereg_replace ('^'.$cookie_prefix.'_', 'spip_', $name);
$_COOKIE[$spipname] = $INSECURE[$spipname] = $value;
$$spipname = $value;
}
}
}
 
 
//
// Sommes-nous dans l'empire du Mal ?
//
if (strpos($_SERVER['SERVER_SOFTWARE'], '(Win') !== false)
define ('os_serveur', 'windows');
 
 
//
// Non ! Car le GNU veille... (Entete HTTP de frimeur)
//
if (!headers_sent())
@header("Composed-By: SPIP $spip_version_affichee @ www.spip.net");
 
 
//
// Enregistrement des evenements
//
function spip_log($message, $logname='spip') {
 
$pid = '(pid '.@getmypid().')';
if (!$ip = $GLOBALS['REMOTE_ADDR']) $ip = '-';
 
$message = date("M d H:i:s")." $ip $pid "
.ereg_replace("\n*$", "\n", $message);
 
$logfile = _DIR_SESSIONS . $logname . '.log';
if (@file_exists($logfile) && (@filesize($logfile) > 10*1024)) {
$rotate = true;
$message .= "[-- rotate --]\n";
}
$f = @fopen($logfile, "ab");
if ($f) {
fputs($f, $message);
fclose($f);
}
if ($rotate) {
@unlink($logfile.'.3');
@rename($logfile.'.2',$logfile.'.3');
@rename($logfile.'.1',$logfile.'.2');
@rename($logfile,$logfile.'.1');
}
 
// recopier les spip_log mysql (ce sont uniquement des erreurs)
// dans le spip_log general
if ($logname == 'mysql')
spip_log($message);
}
 
 
//
// Infos sur le fichier courant
//
 
// Compatibilite avec serveurs ne fournissant pas $REQUEST_URI
if (!$REQUEST_URI) {
$REQUEST_URI = $PHP_SELF;
if ($QUERY_STRING AND !strpos($REQUEST_URI, '?'))
$REQUEST_URI .= '?'.$QUERY_STRING;
}
 
if (!$PATH_TRANSLATED) {
if ($SCRIPT_FILENAME) $PATH_TRANSLATED = $SCRIPT_FILENAME;
else if ($DOCUMENT_ROOT && $SCRIPT_URL) $PATH_TRANSLATED = $DOCUMENT_ROOT.$SCRIPT_URL;
}
 
# obsoletes: utiliser les constantes ci-dessus.
# Conserver pour compatibilite vieilles contrib uniquement
$flag_ecrire = !@file_exists(_DIR_RESTREINT_ABS . 'inc_version.php3');
$dir_ecrire = (ereg("/ecrire/", $GLOBALS['REQUEST_URI'])) ? '' : 'ecrire/';
 
// API d'appel a la base de donnees
function spip_query($query) {
 
// Remarque : si on est appele par l'install,
// la connexion initiale a ete faite avant
if (!$GLOBALS['db_ok']) {
// Essaie de se connecter
if (_FILE_CONNECT)
include_local(_FILE_CONNECT);
}
 
// Erreur de connexion
if (!$GLOBALS['db_ok'])
return;
 
// Vieux format de fichier connexion
// Note: la version 0.1 est compatible avec la 0.2 (mais elle gere
// moins bien les erreurs timeout sur SQL), on ne force donc pas l'upgrade
if ($GLOBALS['spip_connect_version'] < 0.1) {
if (!_DIR_RESTREINT) {$GLOBALS['db_ok'] = false; return;}
@Header("Location: upgrade.php3?reinstall=oui");
exit;
}
 
// Faire la requete
return spip_query_db($query);
}
 
 
//
// Infos de config PHP
//
 
// cf. liste des sapi_name - http://fr.php.net/php_sapi_name
$php_module = (($flag_sapi_name AND eregi("apache", @php_sapi_name())) OR
ereg("^Apache.* PHP", $SERVER_SOFTWARE));
$php_cgi = ($flag_sapi_name AND eregi("cgi", @php_sapi_name()));
 
function http_status($status) {
global $php_cgi, $REDIRECT_STATUS;
 
if ($REDIRECT_STATUS && $REDIRECT_STATUS == $status) return;
$status_string = array(
200 => '200 OK',
301 => '301 Moved Permanently',
304 => '304 Not Modified',
401 => '401 Unauthorized',
403 => '403 Forbidden',
404 => '404 Not Found'
);
 
if ($php_cgi) Header("Status: $status");
else Header("HTTP/1.0 ".$status_string[$status]);
}
 
function http_gmoddate($lastmodified) {
return gmdate("D, d M Y H:i:s", $lastmodified);
}
function http_last_modified($lastmodified, $expire = 0) {
$gmoddate = http_gmoddate($lastmodified);
if ($GLOBALS['HTTP_IF_MODIFIED_SINCE']
AND !preg_match(',IIS/,', $_SERVER['SERVER_SOFTWARE'])) # MSoft IIS is dumb
{
$if_modified_since = ereg_replace(';.*$', '', $GLOBALS['HTTP_IF_MODIFIED_SINCE']);
$if_modified_since = trim(str_replace('GMT', '', $if_modified_since));
if ($if_modified_since == $gmoddate) {
http_status(304);
$headers_only = true;
}
}
@Header ("Last-Modified: ".$gmoddate." GMT");
if ($expire)
@Header ("Expires: ".http_gmoddate($expire)." GMT");
return $headers_only;
}
 
$flag_upload = (!$flag_get_cfg_var || (get_cfg_var('upload_max_filesize') > 0));
 
function tester_upload() {
return $GLOBALS['flag_upload'];
}
 
 
//
// Reglage de l'output buffering : si possible, generer une sortie
// compressee pour economiser de la bande passante
//
function test_obgz () {
return
$GLOBALS['auto_compress']
&& $GLOBALS['flag_ob']
&& (phpversion()<>'4.0.4')
&& function_exists("ob_gzhandler")
// special bug de proxy
&& !eregi("NetCache|Hasd_proxy", $GLOBALS['HTTP_VIA'])
// special bug Netscape Win 4.0x
&& !eregi("Mozilla/4\.0[^ ].*Win", $GLOBALS['HTTP_USER_AGENT'])
// special bug Apache2x
&& !eregi("Apache(-[^ ]+)?/2", $GLOBALS['SERVER_SOFTWARE'])
&& !($GLOBALS['flag_sapi_name'] AND ereg("^apache2", @php_sapi_name()))
// si la compression est deja commencee, stop
&& !@ini_get("zlib.output_compression")
&& !@ini_get("output_handler")
&& !$GLOBALS['var_mode'] # bug avec le debugueur qui appelle ob_end_clean()
;
}
 
// si un buffer est deja ouvert, stop
if ($flag_ob AND strlen(ob_get_contents())==0 AND !headers_sent()) {
@header("Vary: Cookie, Accept-Encoding");
if (test_obgz()) {
ob_start('ob_gzhandler');
}
}
 
 
class Link {
var $file;
var $vars;
var $arrays;
 
//
// Contructeur : a appeler soit avec l'URL du lien a creer,
// soit sans parametres, auquel cas l'URL est l'URL courante
//
// parametre $root = demander un lien a partir de la racine du serveur /
function Link($url = '', $root = false) {
global $_POST;
static $link = '';
 
$this->vars = array();
$this->arrays = array();
 
// Normal case
if ($link) {
if ($url) {
$v = split('[\?\&]', $url);
list(, $this->file) = each($v);
while (list(, $var) = each($v)) {
list($name, $value) = split('=', $var, 2);
$name = urldecode($name);
$value = urldecode($value);
if (ereg('^(.*)\[\]$', $name, $regs)) {
$this->arrays[$regs[1]][] = $value;
}
else {
$this->vars[$name] = $value;
}
}
}
else {
$this->file = $link->file;
$this->vars = $link->vars;
$this->arrays = $link->arrays;
}
return;
}
 
// Si aucun URL n'est specifie, creer le lien "propre"
// ou l'on supprime de l'URL courant les bidules inutiles
if (!$url) {
// GET variables are read from the original URL
// (_GET may contain additional variables
// introduced by rewrite-rules)
$url = $GLOBALS['REQUEST_URI'];
// Warning !!!!
// since non encoded arguments may be present
// (especially those coming from Rewrite Rule)
// find the begining of the query string
// to compute the script-name
if ($v = strpos($url,'?'))
$v = strrpos(substr($url, 0, $v), '/');
else $v = strrpos($url, '/');
if (!$root) $url = substr($url, $v + 1);
if (!$url) $url = "./";
if (count($_POST)) {
$vars = array();
foreach ($_POST as $var => $val)
if (preg_match('/^id_/', $var))
$vars[$var] = $val;
}
}
$v = split('[\?\&]', $url);
list(, $this->file) = each($v);
if (!$vars) {
while (list(,$var) = each($v)) {
list($name, $value) = split('=', $var, 2);
$name = urldecode($name);
$value = urldecode($value);
if (ereg('^(.*)\[\]$', $name, $regs))
$vars[$regs[1]][] = $value;
else
$vars[$name] = $value;
}
}
 
if (is_array($vars)) {
foreach ($vars as $name => $value) {
// items supprimes
if (!preg_match('/^('.
(!_DIR_RESTREINT ?
'|lang|set_options|set_couleur|set_disp|set_ecran':
'var_mode|show_docs')
. ')$/i', $name)) {
if (is_array($value))
$this->arrays[$name] = $value;
else
$this->vars[$name] = $value;
}
}
}
}
 
//
// Effacer une variable
//
function delVar($name) {
if($this->vars[$name]) unset($this->vars[$name]);
if($this->arrays[$name]) unset($this->arrays[$name]);
}
 
//
// Ajouter une variable
// (si aucune valeur n'est specifiee, prend la valeur globale actuelle)
//
function addVar($name, $value = '__global__') {
if ($value == '__global__') $value = $GLOBALS[$name];
if (is_array($value))
$this->arrays[$name] = $value;
else
$this->vars[$name] = $value;
}
 
//
// Recuperer l'URL correspondant au lien
//
function getUrl($anchor = '') {
$url = $this->file;
if (!$url) $url = './';
$query = '';
foreach($this->vars as $name => $value)
$query .= '&'.$name.'='.urlencode($value);
 
foreach ($this->arrays as $name => $table)
foreach ($table as $value)
$query .= '&'.$name.'[]='.urlencode($value);
 
if ($query) $query = '?'. substr($query, 1);
if ($anchor) $anchor = '#'.$anchor;
return "$url$query$anchor";
}
 
//
// Recuperer le debut de formulaire correspondant au lien
// (tag ouvrant + entrees cachees representant les variables)
//
 
function getForm($method = 'get', $query = '', $enctype = '') {
$form = "<form method='$method' action='".$this->file.$query."'";
if ($enctype) $form .= " enctype='$enctype'";
$form .= " style='border: 0px; margin: 0px;'>\n";
foreach ($this->vars as $name => $value) {
$value = ereg_replace('&amp;(#[0-9]+;)', '&\1', htmlspecialchars($value));
$form .= "<input type=\"hidden\" name=\"$name\" value=\"$value\" />\n";
}
foreach ($this->arrays as $name => $table)
foreach ($table as $value) {
$value = ereg_replace('&amp;(#[0-9]+;)', '&\1', htmlspecialchars($value));
$form .= "<input type=\"hidden\" name=\"".$name."[]\" value=\"".$value."\" />\n";
}
 
return $form;
}
}
 
 
// Lien vers la page demandee et lien nettoye ne contenant que des id_objet
$clean_link = new Link();
 
 
// URLs avec passage & -> &amp;
function quote_amp ($url) {
$url = str_replace("&amp;", "&", $url);
$url = str_replace("&", "&amp;", $url);
return $url;
}
 
 
//
// Module de lecture/ecriture/suppression de fichiers utilisant flock()
//
include_ecrire('inc_flock.php3');
 
 
//
// Gerer les valeurs meta
//
function lire_meta($nom) {
global $meta;
return $meta[$nom];
}
function lire_meta_maj($nom) {
global $meta_maj;
return $meta_maj[$nom];
}
 
// Lire les meta cachees
if (!defined('_DATA_META_CACHE') AND !defined('_ECRIRE_INC_META')) {
unset($meta); # parano
 
if (file_exists(_DIR_SESSIONS . 'meta_cache.php3'))
include(_DIR_SESSIONS . 'meta_cache.php3');
// en cas d'echec refaire le fichier
if (!is_array($meta) AND _FILE_CONNECT) {
 
include_ecrire('inc_meta.php3');
ecrire_metas();
}
}
 
// Verifier la conformite d'une ou plusieurs adresses email
// retourne false ou la normalisation de la derniere adresse donnee
function email_valide($adresses) {
foreach (explode(',', $adresses) as $v) {
// nettoyer certains formats
// "Marie Toto <Marie@toto.com>"
$adresse = trim(eregi_replace("^[^<>\"]*<([^<>\"]+)>$", "\\1", $v));
// RFC 822
if (!eregi('^[^()<>@,;:\\"/[:space:]]+(@([-_0-9a-z]+\.)*[-_0-9a-z]+)$', $adresse))
return false;
}
return $adresse;
}
 
//
// Traduction des textes de SPIP
//
function _T($texte, $args = '') {
include_ecrire('inc_lang.php3');
$text = traduire_chaine($texte, $args);
if (!empty($GLOBALS['xhtml'])) {
include_ecrire("inc_charsets.php3");
$text = html2unicode($text);
}
 
return $text ? $text :
// pour les chaines non traduites
(($n = strpos($texte,':')) === false ? $texte :
substr($texte, $n+1));
}
 
// chaines en cours de traduction
function _L($text) {
if ($GLOBALS['test_i18n'])
return "<span style='color:red;'>$text</span>";
else
return $text;
}
 
// Langue principale du site
$langue_site = lire_meta('langue_site');
if (!$langue_site) include_ecrire('inc_lang.php3');
$spip_lang = $langue_site;
 
 
// Nommage bizarre des tables d'objets
function table_objet($type) {
if ($type == 'site' OR $type == 'syndic')
return 'syndic';
else if ($type == 'forum')
return 'forum';
else
return $type.'s';
}
function id_table_objet($type) {
if ($type == 'site' OR $type == 'syndic')
return 'id_syndic';
else if ($type == 'forum')
return 'id_forum';
else
return 'id_'.$type;
}
 
 
//
// spip_timer : on l'appelle deux fois et on a la difference, affichable
//
function spip_timer($t='rien') {
static $time;
$a=time(); $b=microtime();
 
if (isset($time[$t])) {
$p = $a + $b - $time[$t];
unset($time[$t]);
return sprintf("%.2fs", $p);
} else
$time[$t] = $a + $b;
}
 
 
// spip_touch : verifie si un fichier existe et n'est pas vieux (duree en s)
// et le cas echeant le touch() ; renvoie true si la condition est verifiee
// et fait touch() sauf si ca n'est pas souhaite
// (regle aussi le probleme des droits sur les fichiers touch())
function spip_touch($fichier, $duree=0, $touch=true) {
if (!($exists = @file_exists($fichier))
|| ($duree == 0)
|| (@filemtime($fichier) < time() - $duree)) {
if ($touch) {
if (!@touch($fichier)) { @unlink($fichier); @touch($fichier); };
if (!$exists) @chmod($fichier, 0666);
}
return true;
}
return false;
}
 
//
// cron() : execution des taches de fond
// quand il est appele par spip_background.php3, il est gourmand ;
// quand il est appele par inc-public il n'est pas gourmand
//
function cron($gourmand = false) {
$touch = _DIR_SESSIONS.'.background';
$touch_gourmand = $touch.'-gourmand';
 
// Si on est gourmand, ou si le fichier gourmand n'existe pas
// (ou est trop vieux), on va voir si un cron est necessaire.
// Au passage si on est gourmand on le dit aux autres
if (spip_touch($touch_gourmand, 60, $gourmand)
OR $gourmand) {
 
// Faut-il travailler ? Pas tous en meme temps svp
// Au passage si on travaille on bloque les autres
if (spip_touch($touch, 1)) {
include_ecrire('inc_cron.php3');
spip_cron();
}
}
}
 
 
//
// qq fonctions service pour les 2 niveaux
//
function calculer_hierarchie($id_rubrique, $exclure_feuille = false) {
if (!$id_rubrique)
return '0';
if (!$exclure_feuille)
$hierarchie = ",$id_rubrique";
 
do {
$q = spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
list($id_rubrique) = spip_fetch_array($q);
$hierarchie = ",$id_rubrique".$hierarchie;
} while ($id_rubrique);
 
return substr($hierarchie, 1); // Attention ca demarre toujours par '0'
}
 
 
//
// Retourne $subdir/ si le sous-repertoire peut etre cree, '' sinon
//
 
function creer_repertoire($base, $subdir) {
if (@file_exists("$base/.plat")) return '';
$path = $base.'/'.$subdir;
if (@file_exists($path)) return "$subdir/";
 
@mkdir($path, 0777);
@chmod($path, 0777);
$ok = false;
if ($f = @fopen("$path/.test", "w")) {
@fputs($f, '<'.'?php $ok = true; ?'.'>');
@fclose($f);
include("$path/.test");
}
if (!$ok) {
$f = @fopen("$base/.plat", "w");
if ($f)
fclose($f);
else {
redirige_par_entete("spip_test_dirs.php3");
}
}
return ($ok? "$subdir/" : '');
}
 
 
//
// Entetes
//
function redirige_par_entete($url) {
header("Location: $url");
# include_ecrire('inc_cron.php3');
# spip_cron();
spip_log("redirige $url");
exit;
}
 
function debut_entete($title, $entete='') {
global $flag_preserver;
 
if (!$charset = lire_meta('charset'))
$charset = 'utf-8';
if (!$entete)
$entete = "Content-Type: text/html; charset=$charset";
 
if (!$flag_preserver) @header($entete);
return "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n" .
"<html lang='".$GLOBALS['spip_lang']."' dir='".($GLOBALS['spip_lang_rtl'] ? 'rtl' : 'ltr')."'>\n" .
"<head>\n" .
# "<base href='$base' />\n" .
"<title>$title</title>\n" .
"<meta http-equiv='Content-Type' content='text/html; charset=$charset'>\n";
}
 
 
// Transforme n'importe quel champ en une chaine utilisable
// en PHP ou Javascript en toute securite
// < ? php $x = '[(#TEXTE|texte_script)]'; ? >
function texte_script($texte) {
return str_replace('\'', '\\\'', str_replace('\\', '\\\\', $texte));
}
 
//
// find_in_path() : chercher un fichier nomme x selon le chemin rep1:rep2:rep3
//
define_once('_SPIP_PATH', './:squelettes/:dist/:formulaires/');
function find_in_path ($filename, $path='AUTO') {
// Chemin standard depuis l'espace public
 
if ($path == 'AUTO') {
$path = _SPIP_PATH;
if ($GLOBALS['dossier_squelettes'])
$path = $GLOBALS['dossier_squelettes'].'/:'.$path;
}
 
// Depuis l'espace prive, remonter d'un cran
$racine = (_DIR_RESTREINT ? '' : '../');
 
// Parcourir le chemin
foreach (split(':', $path) as $dir) {
if (substr($dir, 0,1)<>'/') $dir = "$racine$dir";
if (substr($dir, -1,1)<>'/') $dir .= "/";
$f = "$dir$filename";
# spip_log("find_in_path: essai $f");
if (@is_readable($f)) {
return $f;
}
}
 
}
 
 
//
// Que faire si Spip n'est pas installe... sauf si justement on l'installe!
//
if (!(_FILE_CONNECT
OR defined('_ECRIRE_INSTALL')
OR defined('_TEST_DIRS')
OR defined('_ECRIRE_AIDE'))) {
// Soit on est dans ecrire/ et on envoie sur l'installation
if (@file_exists("inc_version.php3")) {
header("Location: " . _DIR_RESTREINT . "install.php3");
exit;
}
// Soit on est dans le site public
else if (defined("_INC_PUBLIC")) {
# on ne peut pas deviner ces repertoires avant l'installation !
define('_DIR_INCLUDE', _DIR_RESTREINT);
define('_DIR_IMG_PACK', (_DIR_RESTREINT . 'img_pack/'));
define('_DIR_LANG', (_DIR_RESTREINT . 'lang/'));
$db_ok = false;
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('info_travaux_titre'));
echo "<p>"._T('info_travaux_texte')."</p>";
install_fin_html();
exit;
}
// Soit on est appele de l'exterieur (spikini, etc)
}
 
?>
/trunk/actu/ecrire/inc_connect.php3
New file
0,0 → 1,8
<?php
if (defined("_ECRIRE_INC_CONNECT")) return;
define("_ECRIRE_INC_CONNECT", "1");
$GLOBALS['spip_connect_version'] = 0.1;
include_ecrire('inc_db_mysql.php3');
@spip_connect_db('localhost','','telabotap','','tela_prod_spip_actu');
$GLOBALS['db_ok'] = !!@spip_num_rows(@spip_query_db('SELECT COUNT(*) FROM spip_meta'));
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/actu/ecrire/inc_import.php3
New file
0,0 → 1,509
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_IMPORT")) return;
define("_ECRIRE_INC_IMPORT", "1");
 
 
include_ecrire ("inc_acces.php3");
 
 
function xml_fetch_tag($f, &$before, $gz=false) {
global $buf, $pos, $abs_pos;
static $buf_len = 1000;
$_fread = ($gz) ? gzread : fread;
$_feof = ($gz) ? gzeof : feof;
$_ftell = ($gz) ? gztell : ftell;
$p = $pos;
 
$q = @strpos($buf, '<', $p);
while (!$q AND substr($buf, $p, 1) != '<') {
if ($_feof($f)) return false;
$before .= substr($buf, $p);
$buf = $_fread($f, $buf_len);
$p = 0;
$q = strpos($buf, '<');
}
$before .= substr($buf, $p, $q - $p);
$tag = '';
$p = ++$q;
$q = @strpos($buf, '>', $p);
while (!$q AND substr($buf, $p, 1) != '>') {
if ($_feof($f)) return false;
$tag .= substr($buf, $p);
$buf = $_fread($f, $buf_len);
$p = 0;
$q = strpos($buf, '>');
}
$pos = $q + 1;
$tag .= substr($buf, $p, $q - $p);
$before = str_replace('&amp;', '&', str_replace('&lt;', '<', $before));
$abs_pos = $_ftell($f) - strlen($buf);
return $tag;
}
 
 
function xml_parse_tag($texte) {
list($tag, $atts) = split('[[:space:]]+', $texte, 2);
$result[0] = $tag;
$result[1] = '';
if (!$atts) return $result;
while (ereg('^([^[:space:]]+)[[:space:]]*=[[:space:]]*"([^"]*)"([[:space:]]+(.*))?', $atts, $regs)) {
$result[1][$regs[1]] = $regs[2];
$atts = $regs[4];
}
return $result;
}
 
 
function import_debut($f, $gz=false) {
$b = "";
while ($t = xml_fetch_tag($f, $b, $gz)) {
$r = xml_parse_tag($t);
if ($r[0] == '?xml' AND $r[1]['encoding'])
ecrire_meta('charset_restauration', strtolower($r[1]['encoding']));
if ($r[0] == "SPIP") return $r;
$b = "";
}
return false;
}
 
 
//
// $f = handle fichier
// $gz = flag utilisation zlib
//
// importe un objet depuis le fichier, retourne true si ok, false si erreur ou fin de fichier
//
 
function import_objet_1_2($f, $gz=false) {
global $import_ok, $pos, $abs_pos;
static $time_javascript;
 
if (time() - $time_javascript > 3) { // 3 secondes
affiche_progression_javascript($abs_pos);
$time_javascript = time();
}
 
static $tables;
if (!$tables) $tables = array(
'article' => 'spip_articles',
'auteur' => 'spip_auteurs',
'breve' => 'spip_breves',
'document' => 'spip_documents',
'forum' => 'spip_forum',
'groupe_mots' => 'spip_groupes_mots',
'message' => 'spip_messages',
'mot' => 'spip_mots',
'petition' => 'spip_petitions',
'rubrique' => 'spip_rubriques',
'signature' => 'spip_signatures',
'syndic' => 'spip_syndic',
'syndic_article' => 'spip_syndic_articles',
'type_document' => 'spip_types_documents'
);
 
$import_ok = false;
$b = '';
// Lire le type d'objet
if (!($type = xml_fetch_tag($f, $b, $gz))) return false;
if ($type == '/SPIP') return !($import_ok = true);
$id = "id_$type";
$id_objet = 0;
 
// Lire les champs de l'objet
for (;;) {
$b = '';
if (!($col = xml_fetch_tag($f, $b, $gz))) return false;
if ($col == '/'.$type) break;
$value = '';
if (!xml_fetch_tag($f, $value, $gz)) return false;
if (substr($col, 0, 5) == 'lien:') {
$type_lien = substr($col, 5);
$liens[$type_lien][] = '('.$id_objet.','.$value.')';
}
else if ($col != 'maj') {
// tentative de restauration d'une base sauvegardee avec le champ 'images' ; d'experience, ca arrive...
// mieux vaut accepter que canner silencieusement...
if (($type == 'article') && ($col == 'images'))
{
if ($value) { // ne pas afficher de message si on a un champ suppl mais vide
echo "--><br><font color='red'><b>"._T('avis_erreur_sauvegarde', array('type' => $type, 'id_objet' => $id_objet))."</b></font>\n<font color='black'>"._T('avis_colonne_inexistante', array('col' => $col));
if ($col == 'images') echo _T('info_verifier_image');
echo "</font>\n<!--";
$GLOBALS['erreur_restauration'] = true;
}
}
else {
$cols[] = $col;
$values[] = '"'.addslashes($value).'"';
if ($col == $id) $id_objet = $value;
}
}
}
 
$table = $tables[$type];
$query = "REPLACE $table (" . join(',', $cols) . ') VALUES (' . join(',', $values) . ')';
if (!spip_query($query)) {
echo "--><br><font color='red'><b>"._T('avis_erreur_mysql')."</b></font>\n<font color='black'><tt>".spip_sql_error()."</tt></font>\n<!--";
$GLOBALS['erreur_restauration'] = true;
}
 
if ($type == 'article') {
spip_query("DELETE FROM spip_auteurs_articles WHERE id_article=$id_objet");
spip_query("DELETE FROM spip_documents_articles WHERE id_article=$id_objet");
}
else if ($type == 'rubrique') {
spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_rubrique=$id_objet");
spip_query("DELETE FROM spip_documents_rubriques WHERE id_rubrique=$id_objet");
}
else if ($type == 'breve') {
spip_query("DELETE FROM spip_documents_breves WHERE id_breve=$id_objet");
}
else if ($type == 'mot') {
spip_query("DELETE FROM spip_mots_articles WHERE id_mot=$id_objet");
spip_query("DELETE FROM spip_mots_breves WHERE id_mot=$id_objet");
spip_query("DELETE FROM spip_mots_forum WHERE id_mot=$id_objet");
spip_query("DELETE FROM spip_mots_rubriques WHERE id_mot=$id_objet");
spip_query("DELETE FROM spip_mots_syndic WHERE id_mot=$id_objet");
}
else if ($type == 'auteur') {
spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_auteur=$id_objet");
}
else if ($type == 'message') {
spip_query("DELETE FROM spip_auteurs_messages WHERE id_message=$id_objet");
}
if ($liens) {
reset($liens);
while (list($type_lien, $t) = each($liens)) {
if ($type == 'auteur' OR $type == 'mot' OR $type == 'document')
if ($type_lien == 'syndic' OR $type_lien == 'forum') $table_lien = 'spip_'.$type.'s_'.$type_lien;
else $table_lien = 'spip_'.$type.'s_'.$type_lien.'s';
else
$table_lien = 'spip_'.$type_lien.'s_'.$type.'s';
$query = "INSERT INTO $table_lien ($id, id_$type_lien) VALUES ".join(',', $t);
spip_query($query);
}
}
 
$p = $pos + $abs_pos;
ecrire_meta("status_restauration", "$p");
 
return $import_ok = true;
}
 
 
function import_objet_0_0($f, $gz=false) {
global $import_ok, $pos, $abs_pos;
 
$import_ok = false;
$b = '';
if (!($type = xml_fetch_tag($f, $b, $gz))) return false;
if ($type == '/SPIP') return !($import_ok = true);
$is_art = ($type == 'article');
$is_mot = ($type == 'mot');
for (;;) {
$b = '';
if (!($col = xml_fetch_tag($f, $b, $gz))) return false;
if ($col == ("/$type")) break;
$value = '';
if (!xml_fetch_tag($f, $value, $gz)) return false;
if ($is_art AND $col == 'id_auteur') {
$auteurs[] = $value;
}
else if ($is_mot AND $col == 'id_article') {
$articles[] = $value;
}
else if ($is_mot AND $col == 'id_breve') {
$breves[] = $value;
}
else if ($is_mot AND $col == 'id_forum') {
$forums[] = $value;
}
else if ($is_mot AND $col == 'id_rubrique') {
$rubriques[] = $value;
}
else if ($is_mot AND $col == 'id_syndic') {
$syndics[] = $value;
}
else if ($col != 'maj') {
$cols[] = $col;
$values[] = '"'.addslashes($value).'"';
if ($is_art && ($col == 'id_article')) $id_article = $value;
if ($is_mot && ($col == 'id_mot')) $id_mot = $value;
}
}
 
$table = "spip_$type";
if ($type != 'forum' AND $type != 'syndic') $table .= 's';
$query = "REPLACE $table (" . join(",", $cols) . ") VALUES (" . join(",", $values) . ")";
spip_query($query);
 
if ($is_art && $id_article) {
$query = "DELETE FROM spip_auteurs_articles WHERE id_article=$id_article";
spip_query($query);
if ($auteurs) {
reset ($auteurs);
while (list(, $auteur) = each($auteurs)) {
$query = "INSERT INTO spip_auteurs_articles (id_auteur, id_article) VALUES ($auteur, $id_article)";
spip_query($query);
}
}
}
if ($is_mot && $id_mot) {
$query = "DELETE FROM spip_mots_articles WHERE id_mot=$id_mot";
spip_query($query);
$query = "DELETE FROM spip_mots_breves WHERE id_mot=$id_mot";
spip_query($query);
$query = "DELETE FROM spip_mots_forum WHERE id_mot=$id_mot";
spip_query($query);
$query = "DELETE FROM spip_mots_rubriques WHERE id_mot=$id_mot";
spip_query($query);
$query = "DELETE FROM spip_mots_syndic WHERE id_mot=$id_mot";
spip_query($query);
if ($articles) {
reset ($articles);
while (list(, $article) = each($articles)) {
$query = "INSERT INTO spip_mots_articles (id_mot, id_article) VALUES ($id_mot, $article)";
spip_query($query);
}
}
if ($breves) {
reset ($breves);
while (list(, $breve) = each($breves)) {
$query = "INSERT INTO spip_mots_breves (id_mot, id_breve) VALUES ($id_mot, $breve)";
spip_query($query);
}
}
if ($forums) {
reset ($forums);
while (list(, $forum) = each($forums)) {
$query = "INSERT INTO spip_mots_forum (id_mot, id_forum) VALUES ($id_mot, $forum)";
spip_query($query);
}
}
if ($rubriques) {
reset ($rubriques);
while (list(, $rubrique) = each($rubriques)) {
$query = "INSERT INTO spip_mots_rubriques (id_mot, id_rubrique) VALUES ($id_mot, $id_rubrique)";
spip_query($query);
}
}
if ($syndics) {
reset ($syndics);
while (list(, $syndic) = each($syndics)) {
$query = "INSERT INTO spip_mots_syndic (id_mot, id_syndic) VALUES ($id_mot, $syndic)";
spip_query($query);
}
}
}
 
$p = $pos + $abs_pos;
ecrire_meta("status_restauration", "$p");
// ecrire_metas();
 
return $import_ok = true;
}
 
function import_objet($f, $gz = false) {
return import_objet_1_2($f, $gz);
}
 
function import_fin() {
// Effacer l'ancien acces admin
$query = "DELETE FROM spip_auteurs WHERE id_auteur=0";
spip_query($query);
 
if ($charset = lire_meta('charset_restauration'))
ecrire_meta('charset', $charset);
effacer_meta("charset_restauration");
effacer_meta("status_restauration");
effacer_meta("debut_restauration");
effacer_meta("date_optimisation");
ecrire_meta('calculer_rubriques', 'oui');
ecrire_metas();
}
 
function import_abandon() {
// Probleme pour restaurer l'ancien acces admin : il conserve un id_auteur = 0
 
effacer_meta("charset_restauration");
effacer_meta("status_restauration");
effacer_meta("debut_restauration");
effacer_meta("date_optimisation");
ecrire_metas();
}
 
 
function import_all($f, $gz=false) {
global $import_ok;
global $auth_htaccess;
global $connect_id_auteur;
$_fseek = ($gz) ? gzseek : fseek;
 
// utiliser une version fraiche des metas (ie pas le cache)
include_ecrire('inc_meta.php3');
lire_metas();
 
$my_date = lire_meta_maj("debut_restauration");
if (!$my_date) return false;
 
$my_pos = lire_meta("status_restauration");
 
if (!$my_pos) {
// Debut de l'importation
ecrire_meta('charset_restauration', 'iso-8859-1');
if (!($r = import_debut($f, $gz))) {
ecrire_meta("erreur", _T('avis_archive_incorrect'));
return false;
}
else {
// Bidouille pour garder l'acces admin actuel pendant toute la restauration
$query = "UPDATE spip_auteurs SET id_auteur=0 WHERE id_auteur=$connect_id_auteur";
spip_query($query);
 
$version_archive = $r[1]['version_archive'];
ecrire_meta('version_archive_restauration', $version_archive);
}
}
else {
// Reprise de l'importation
$_fseek($f, $my_pos);
$version_archive = lire_meta('version_archive_restauration');
}
 
// Restauration des entrees du fichier
 
switch ($version_archive) {
case '1.2':
while (import_objet_1_2($f, $gz));
break;
default:
while (import_objet_0_0($f, $gz));
break;
}
if (!$import_ok) {
ecrire_meta("erreur", _T('avis_archive_invalide'));
return false;
}
 
// Mise a jour du fichier htpasswd
 
ecrire_acces();
 
// Destruction des entrees non restaurees
 
$query = "DELETE FROM spip_rubriques WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_breves WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_auteurs WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_articles WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_documents WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_types_documents WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_forum WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_mots WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_groupes_mots WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_petitions WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_signatures WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
$query = "DELETE FROM spip_visites WHERE UNIX_TIMESTAMP(maj) < $my_date";
spip_query($query);
 
import_fin();
 
affiche_progression_javascript('100 %');
 
return true;
}
 
 
function affiche_progression_javascript($abs_pos) {
global $affiche_progression_pourcent;
include_ecrire('inc_charsets.php3');
flush();
echo " -->\n<script type='text/javascript'><!--\n";
 
if ($abs_pos == '100 %') {
$taille = $abs_pos;
if ($GLOBALS['erreur_restauration'])
echo "document.progression.recharge.value='".str_replace("'", "\\'", unicode_to_javascript(_T('avis_erreur')))."';\n";
else
echo "document.progression.recharge.value='".str_replace("'", "\\'", unicode_to_javascript(_T('info_fini')))."';\n";
}
else if (! $affiche_progression_pourcent)
$taille = ereg_replace("&nbsp;", " ", taille_en_octets($abs_pos));
else
$taille = floor(100 * $abs_pos / $affiche_progression_pourcent)." %";
 
echo "document.progression.taille.value='$taille';\n";
echo "//--></script>\n<!--\n";
flush();
}
 
function import_init()
{
global $meta, $flag_gz, $buf, $pos, $abs_pos;
$archive = $meta["fichier_restauration"];
$my_pos = $meta["status_restauration"];
$ok = @is_readable($archive);
 
if ($ok) {
if (ereg("\.gz$", $archive)) {
$affiche_progression_pourcent = false;
$taille = taille_en_octets($my_pos);
$gz = true;
}
else {
$affiche_progression_pourcent = filesize($archive);
$taille = floor(100 * $my_pos / $affiche_progression_pourcent)." %";
$gz = false;
}
$texte_boite = _T('info_base_restauration')."<p>
<form name='progression'><center><input type='text' size=10 style='text-align:center;' name='taille' value='$taille'><br>
<input type='text' class='forml' name='recharge' value='"._T('info_recharger_page')."'></center></form>";
}
else {
$texte_boite = _T('info_erreur_restauration');
}
 
debut_boite_alerte();
echo "<font FACE='Verdana,Arial,Sans,sans-serif' SIZE=4 color='black'><B>$texte_boite</B></font>";
fin_boite_alerte();
fin_page("jimmac");
echo "</HTML><font color='white'>\n<!--";
@flush();
 
if ($ok) {
$_fopen = ($gz) ? gzopen : fopen;
$f = $_fopen($archive, "rb");
$pos = 0;
$buf = "";
if (!import_all($f, $gz)) import_abandon();
}
else {
import_fin();
}
}
 
?>
/trunk/actu/ecrire/sites.php3
New file
0,0 → 1,528
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
include ("inc.php3");
include_ecrire ("inc_logos.php3");
include_ecrire ("inc_mots.php3");
include_ecrire ("inc_sites.php3");
include_ecrire ("inc_date.php3");
include_ecrire ("inc_abstract_sql.php3");
include_ecrire ("inc_config.php3");
 
$proposer_sites = lire_meta("proposer_sites");
 
function calculer_droits() {
global $connect_statut, $statut, $id_rubrique, $id_rubrique_depart, $proposer_sites, $new;
global $flag_editable, $flag_administrable;
 
$flag_administrable = ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique));
if ($id_rubrique_depart > 0)
$flag_administrable &= acces_rubrique($id_rubrique_depart);
$flag_editable = ($flag_administrable OR ($proposer_sites > 0 AND ($statut == 'prop' OR $new == 'oui')));
}
 
 
//
// Creation d'un site
//
 
if ($new == 'oui') {
calculer_droits();
 
if ($flag_editable) {
$id_rubrique = intval($id_rubrique);
$mydate = date("YmdHis", time() - 12 * 3600);
$query = "DELETE FROM spip_syndic WHERE (statut = 'refuse') && (maj < $mydate)";
$result = spip_query($query);
$moderation = (lire_meta("moderation_sites") == "oui")? 'oui' : 'non';
$id_syndic = spip_abstract_insert("spip_syndic",
"(nom_site, id_rubrique, id_secteur, date, date_syndic, statut, syndication, moderation)",
"('"._T('avis_site_introuvable')."', $id_rubrique, $id_rubrique, NOW(), NOW(), 'refuse', 'non', '$moderation')");
}
} else $id_syndic = intval($id_syndic);
 
$result = spip_query("SELECT statut, id_rubrique FROM spip_syndic
WHERE id_syndic=$id_syndic");
 
if ($row = spip_fetch_array($result)) {
$statut = $row["statut"];
$id_rubrique_depart = $row["id_rubrique"];
if (!$id_rubrique) $id_rubrique = $id_rubrique_depart;
}
if ($new == 'oui') $statut = 'prop';
 
calculer_droits();
 
 
//
// Analyse automatique d'une URL
//
 
if ($analyser_site == 'oui' AND $flag_editable) {
 
$v = analyser_site($url);
 
if ($v) {
$nom_site = addslashes($v['nom_site']);
$url_site = addslashes($v['url_site']);
if (!$nom_site) $nom_site = $url_site;
$url_syndic = addslashes($v['url_syndic']);
$descriptif = addslashes($v['descriptif']);
$syndication = $v[syndic] ? 'oui' : 'non';
$result = spip_query("UPDATE spip_syndic ".
"SET nom_site='$nom_site', url_site='$url_site',
url_syndic='$url_syndic', descriptif='$descriptif',
syndication='$syndication', statut='$statut'
WHERE id_syndic=$id_syndic");
if ($syndication == 'oui') syndic_a_jour($id_syndic);
$link = new Link('sites.php3');
$link->addVar('id_syndic');
$link->addVar('redirect');
$redirect = $link->getUrl();
$redirect_ok = 'oui';
}
}
 
 
//
// Ajout et suppression syndication
//
 
if ($nouveau_statut AND $flag_administrable) {
$statut = $nouveau_statut;
$result = spip_query("UPDATE spip_syndic SET statut='$statut'
WHERE id_syndic=$id_syndic");
if ($statut == 'publie')
spip_query("UPDATE spip_syndic SET date=NOW() WHERE
id_syndic=$id_syndic");
 
calculer_rubriques();
if ($statut == 'publie') {
if (lire_meta('activer_moteur') == 'oui') {
include_ecrire ("inc_index.php3");
marquer_indexer('syndic', $id_syndic);
}
}
}
 
if ($nom_site AND $modifier_site == 'oui' AND $flag_editable) {
$nom_site = addslashes($nom_site);
$url_site = addslashes($url_site);
$descriptif = addslashes($descriptif);
if (strlen($url_syndic) < 8) $syndication = "non";
$url_syndic = addslashes($url_syndic);
// recoller les champs du extra
if ($champs_extra) {
include_ecrire("inc_extra.php3");
$add_extra = ", extra = '".addslashes(extra_recup_saisie("sites", $id_secteur))."'";
} else
$add_extra = '';
spip_query("UPDATE spip_syndic SET id_rubrique='$id_rubrique',
nom_site='$nom_site', url_site='$url_site', url_syndic='$url_syndic',
descriptif='$descriptif', syndication='$syndication', statut='$statut'
$add_extra WHERE id_syndic=$id_syndic");
 
if ($syndication_old != $syndication OR $url_syndic != $old_syndic)
$reload = "oui";
 
if ($syndication_old != $syndication AND $syndication == "non")
spip_query("DELETE FROM spip_syndic_articles
WHERE id_syndic=$id_syndic");
 
calculer_rubriques();
 
// invalider et reindexer
if ($statut == 'publie') {
if ($invalider_caches) {
include_ecrire ("inc_invalideur.php3");
suivre_invalideur("id='id_syndic/$id_syndic'");
}
if (lire_meta('activer_moteur') == 'oui') {
include_ecrire ("inc_index.php3");
marquer_indexer('syndic', $id_syndic);
}
}
$link = new Link('sites.php3');
$link->addVar('id_syndic');
$link->addVar('redirect');
$link->addVar('reload', $reload);
$redirect = $link->getUrl();
$redirect_ok = 'oui';
}
 
 
if ($jour AND $flag_administrable) {
if ($annee == "0000") $mois = "00";
if ($mois == "00") $jour = "00";
spip_query("UPDATE spip_syndic SET date='$annee-$mois-$jour'
WHERE id_syndic=$id_syndic");
calculer_rubriques();
}
 
 
 
if ($redirect AND $redirect_ok == 'oui') {
redirige_par_entete($redirect);
}
 
 
//
// reload
//
if ($reload) {
$result = spip_query ("SELECT * FROM spip_syndic WHERE id_syndic=$id_syndic
AND syndication IN ('oui', 'sus', 'off')");
if ($result AND spip_num_rows($result)>0)
$erreur_syndic = syndic_a_jour ($id_syndic);
}
 
 
//
// Afficher la page
//
 
calculer_droits();
 
$result = spip_query("SELECT * FROM spip_syndic WHERE id_syndic=$id_syndic");
 
if ($row = spip_fetch_array($result)) {
$id_syndic = $row["id_syndic"];
$id_rubrique = $row["id_rubrique"];
$nom_site = $row["nom_site"];
$url_site = $row["url_site"];
$url_syndic = $row["url_syndic"];
$descriptif = $row["descriptif"];
$syndication = $row["syndication"];
$statut = $row["statut"];
$date_heure = $row["date"];
$date_syndic = $row['date_syndic'];
$mod = $row['moderation'];
 
$extra=$row["extra"];
}
 
if ($nom_site)
$titre_page = "&laquo; $nom_site &raquo;";
else
$titre_page = _T('info_site');
 
 
 
debut_page("$titre_page","documents","sites");
 
 
//////// parents
 
 
debut_grand_cadre();
 
afficher_hierarchie($id_rubrique);
 
fin_grand_cadre();
 
 
 
debut_gauche();
 
debut_boite_info();
echo "<center>";
echo "<font face='Verdana,Arial,Sans,sans-serif' size=1><b>"._T('titre_site_numero')."</b></font>";
echo "<br><font face='Verdana,Arial,Sans,sans-serif' size=6><b>$id_syndic</b></font>\n";
 
voir_en_ligne ('site', $id_syndic, $statut);
 
 
echo "</center>";
fin_boite_info();
 
 
echo "<p><center>";
icone (_T('icone_voir_sites_references'), "sites_tous.php3", "site-24.gif","rien.gif");
echo "</center>";
 
if ($id_syndic AND $flag_administrable)
afficher_boite_logo('site', 'id_syndic', $id_syndic, _T('logo_site')." ".aide ("rublogo"), _T('logo_survol'), 'site');
 
 
debut_droite();
 
 
 
debut_cadre_relief("site-24.gif");
echo "<center>";
 
if ($syndication == 'off' OR $syndication == 'sus') {
$logo_statut = "puce-orange-anim.gif";
}
else if ($statut == 'publie') {
$logo_statut = "puce-verte.gif";
}
else if ($statut == 'prop') {
$logo_statut = "puce-blanche.gif";
}
else if ($statut == 'refuse') {
$logo_statut = "puce-rouge.gif";
}
 
echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
echo "<tr width='100%'><td width='100%' valign='top'>";
gros_titre($nom_site, $logo_statut);
 
$url_affichee = $url_site;
 
if (strlen($url_affichee) > 40) $url_affichee = substr($url_affichee, 0, 30)."...";
echo "<a href='$url_site'><b>$url_affichee</b></a>";
 
if (strlen($descriptif) > 1) {
echo "<p><div align='left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;'>";
echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>";
echo "<b>"._T('info_descriptif')."</b> ";
echo propre($descriptif);
echo "&nbsp; ";
echo "</font>";
echo "</div>";
}
echo "</td>";
 
if ($flag_editable) {
$link = new Link('sites_edit.php3');
$link->addVar('id_syndic');
$link->addVar('target', $clean_link->getUrl());
echo "<td>". http_img_pack('rien.gif', " ", "width='5'") . "</td>\n";
echo "<td align='right'>";
icone(_T('icone_modifier_site'), $link->getUrl(), "site-24.gif", "edit.gif");
echo "</td>";
}
echo "</tr></table>\n";
 
 
 
if ($flag_editable AND ($options == 'avancees' OR $statut == 'publie')) {
if ($statut == 'publie') {
echo "<p>";
 
if (ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})", $date_heure, $regs)) {
$mois = $regs[2];
$jour = $regs[3];
$annee = $regs[1];
}
 
 
debut_cadre_enfonce();
echo afficher_formulaire_date("sites.php3?id_syndic=$id_syndic&options=$options", _T('info_date_referencement'), $jour, $mois, $annee);
fin_cadre_enfonce();
}
else {
echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=3>"._T('info_site_propose')." <B>".affdate($date_heure)."&nbsp;</B></FONT><P>";
}
}
 
if ($flag_editable AND $options == 'avancees') {
formulaire_mots('syndic', $id_syndic, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable);
}
 
if ($flag_administrable) {
$link = $GLOBALS['clean_link'];
$link->delVar('new');
echo $link->getForm('GET');
debut_cadre_relief("racine-site-24.gif");
echo "\n<center>";
 
echo "<b>"._T('info_statut_site_1')."</b> &nbsp;&nbsp; \n";
 
echo "<select name='nouveau_statut' size=1 class='fondl'>\n";
 
echo my_sel("publie",_T('info_statut_site_2'),$statut);
echo my_sel("prop",_T('info_statut_site_3'),$statut);
echo my_sel("refuse",_T('info_statut_site_4'),$statut);
 
echo "</select>\n";
 
echo " &nbsp;&nbsp;&nbsp; <input type='submit' name='Valider' value='"._T('bouton_valider')."' class='fondo'>\n</center>\n";
fin_cadre_relief();
echo "</form>\n";
}
 
if ($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") {
echo "<p><font size=3 face='Verdana,Arial,Sans,sans-serif'><b>"._T('info_site_syndique')."</b></font>";
 
if ($erreur_syndic)
echo "<p><font color=red><b>$erreur_syndic</b></font>";
 
if ($syndication == "off" OR $syndication=="sus") {
debut_boite_info();
echo _T('avis_site_syndique_probleme', array('url_syndic' => $url_syndic));
echo "<center><b>";
echo "<a href='sites.php3?id_syndic=$id_syndic&reload=oui'>";
echo _T('lien_nouvelle_recuperation')."</a></b></center>\n";
fin_boite_info();
}
afficher_syndic_articles(_T('titre_articles_syndiques'),
"SELECT * FROM spip_syndic_articles WHERE id_syndic=$id_syndic
ORDER BY date DESC");
 
 
echo "<font face='verdana,arial,helvetica' size=2>";
// afficher la date de dernier acces a la syndication
if ($date_syndic)
echo "<p><div align='left'>"._T('info_derniere_syndication').' '.affdate_heure($date_syndic)
.".</div>\n";
echo "<div align='right'>\n"
. "<form method='post' action='sites.php3?id_syndic=$id_syndic'>"
. "<input type='submit' name='reload' value=\""
. attribut_html(_T('lien_mise_a_jour_syndication'))
. "\" class='fondo' style='font-size:9px;' /></form></div>\n";
 
// Options
if ($flag_administrable && $options=='avancees') {
 
debut_cadre_relief();
echo "<u>"._T('syndic_options')."</u>"
. aide('artsyn')."\n"
. "<form method='POST' action='sites.php3?id_syndic=$id_syndic' class='verdana2'>\n";
 
// modifier la moderation
if ($moderation == 'oui' OR $moderation == 'non')
spip_query("UPDATE spip_syndic SET moderation='$moderation'
WHERE id_syndic=$id_syndic");
else
$moderation = $mod;
if ($moderation != 'oui') $moderation='non';
 
echo "<p><div align='$spip_lang_left'>"
. _T('syndic_choix_moderation') . "<br />\n";
afficher_choix('moderation', $moderation,
array(
'non' => _T('info_publier')
.' ('._T('bouton_radio_modere_posteriori').')',
'oui' => _T('info_bloquer')
.' ('._T('bouton_radio_modere_priori').')'
));
 
// Oublier les vieux liens ?
# appliquer les choix
if ($miroir == 'oui' OR $miroir == 'non')
spip_query("UPDATE spip_syndic SET miroir='$miroir'
WHERE id_syndic=$id_syndic");
if ($oubli == 'oui' OR $oubli == 'non')
spip_query("UPDATE spip_syndic SET oubli='$oubli'
WHERE id_syndic=$id_syndic");
 
echo "<p><div align='left'>"._T('syndic_choix_oublier');
 
echo "<ul>\n";
 
# miroir
if (!$miroir AND !$miroir = $row['miroir']) $miroir = 'non';
echo "<li>"._T('syndic_option_miroir').' ';
afficher_choix('miroir', $miroir,
array('oui' => _T('item_oui'), 'non' => _T('item_non')),
" &nbsp; ");
echo "</li>\n";
 
# oubli
if (!$oubli AND !$oubli = $row['oubli']) $oubli = 'non';
echo "<li>"._T('syndic_option_oubli', array('mois' => 2)).' ';
afficher_choix('oubli', $oubli,
array('oui' => _T('item_oui'), 'non' => _T('item_non')),
" &nbsp; ");
echo "</li>\n";
 
echo "</ul>\n";
 
// Bouton "Valider"
echo "<div style='text-align:$spip_lang_right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'></div>";
 
 
fin_cadre_relief();
}
echo "</font>";
}
// Cas d'un site ayant un feedfinder detecte
else if (preg_match(',^select: (.*),', $url_syndic, $regs)) {
echo "<br /><br />\n";
echo "<form method='post' action='sites.php3?id_syndic=$id_syndic'>";
foreach (
array('id_rubrique', 'nom_site', 'url_site', 'descriptif', 'statut')
as $var) {
echo "<input type='hidden' name='$var' value=\"".entites_html($$var)."\" />";
}
echo debut_cadre_relief();
echo "<div align='$spip_lang_left'>\n";
echo "<INPUT TYPE='radio' NAME='syndication' VALUE='non' id='syndication_non' CHECKED>";
echo " <b><label for='syndication_non'>"._T('bouton_radio_non_syndication')."</label></b><p>";
echo "<INPUT TYPE='radio' NAME='syndication' VALUE='oui' id='syndication_oui'>";
echo " <b><label for='syndication_oui'>"._T('bouton_radio_syndication')."</label></b> &nbsp;";
 
$feeds = explode(' ',$regs[1]);
echo "<select name='url_syndic'>\n";
foreach ($feeds as $feed) {
echo '<option value="'.entites_html($feed).'">'.$feed."</option>\n";
}
echo "</select>\n";
echo aide("rubsyn");
echo '<input type="hidden" name="modifier_site" value="oui" />';
echo '<input type="hidden" name="reload" value="oui" />';
echo "<div align='$spip_lang_right'><input type='submit' name='Valider' value='"._T('bouton_valider')."' class='fondo'></div>\n";
echo fin_cadre_relief();
echo "</div></form>\n";
}
 
 
if ($champs_extra AND $extra) {
include_ecrire("inc_extra.php3");
extra_affichage($extra, "sites");
}
 
fin_cadre_relief();
 
 
 
//////////////////////////////////////////////////////
// Forums
//
 
echo "<br><br>\n";
 
$forum_retour = "sites.php3?id_syndic=$id_syndic";
 
$link = new Link('forum_envoi.php3');
$link->addVar('statut', 'prive');
$link->addVar('adresse_retour', $forum_retour);
$link->addVar('id_syndic');
$link->addVar('titre_message', $nom_site);
 
 
echo "<div align='center'>";
icone (_T('icone_poster_message'), $link->getUrl(), "forum-interne-24.gif", "creer.gif");
echo "</div>";
 
echo "<p align='left'>\n";
 
$result_forum = spip_query("SELECT * FROM spip_forum WHERE statut='prive'
AND id_syndic=$id_syndic AND id_parent=0 ORDER BY date_heure DESC LIMIT 0,20");
afficher_forum($result_forum, $forum_retour);
 
 
fin_page();
 
?>
/trunk/actu/ecrire/data/mysql.log
New file
0,0 → 1,63
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_auteur,nom,email FROM `tela_prod_spip_actu`.spip_auteurs WHERE statut='5poubelle' AND maj < 20051118112849
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT m.id_message FROM `tela_prod_spip_actu`.spip_messages AS m, `tela_prod_spip_actu`.spip_auteurs_messages AS lien WHERE m.id_message = lien.id_message GROUP BY m.id_message
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_message FROM `tela_prod_spip_actu`.spip_messages WHERE type ='affich'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - DELETE FROM `tela_prod_spip_actu`.spip_mots WHERE titre='' AND maj < 20051118112849
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_mot FROM `tela_prod_spip_actu`.spip_mots
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - DELETE FROM `tela_prod_spip_actu`.spip_forum WHERE statut='redac' AND maj < 20051118112849
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_forum FROM `tela_prod_spip_actu`.spip_forum
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_articles SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_article FROM `tela_prod_spip_actu`.spip_articles WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_article FROM `tela_prod_spip_actu`.spip_articles WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_auteurs SET idx='' WHERE idx<>'non' AND statut NOT IN ('0minirezo', '1comite')
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_auteur FROM `tela_prod_spip_actu`.spip_auteurs WHERE idx='' AND statut NOT IN ('0minirezo', '1comite')
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_auteur FROM `tela_prod_spip_actu`.spip_auteurs WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_breves SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_breve FROM `tela_prod_spip_actu`.spip_breves WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_breve FROM `tela_prod_spip_actu`.spip_breves WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_mots SET idx='' WHERE idx<>'non' AND 1=0
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_mot FROM `tela_prod_spip_actu`.spip_mots WHERE idx='' AND 1=0
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_mot FROM `tela_prod_spip_actu`.spip_mots WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_rubriques SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_rubrique FROM `tela_prod_spip_actu`.spip_rubriques WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_rubrique FROM `tela_prod_spip_actu`.spip_rubriques WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_forum SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_forum FROM `tela_prod_spip_actu`.spip_forum WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_forum FROM `tela_prod_spip_actu`.spip_forum WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_signatures SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_signature FROM `tela_prod_spip_actu`.spip_signatures WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_signature FROM `tela_prod_spip_actu`.spip_signatures WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - UPDATE `tela_prod_spip_actu`.spip_syndic SET idx='' WHERE idx<>'non' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_syndic FROM `tela_prod_spip_actu`.spip_syndic WHERE idx='' AND statut<>'publie'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SELECT id_syndic FROM `tela_prod_spip_actu`.spip_syndic WHERE idx='non'
Nov 19 11:29:47 62.160.16.248 (pid 15562) GET /actu/
Nov 19 11:29:47 62.160.16.248 (pid 15562) Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) - SHOW TABLES LIKE 'spip_%'
/trunk/actu/ecrire/data/spip.log
New file
0,0 → 1,83
Nov 21 14:39:41 193.248.136.102 (pid 9274) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:39:41 193.248.136.102 (pid 9274) calcul inclus (0.02s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:39:41 193.248.136.102 (pid 9274) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:39:41 193.248.136.102 (pid 9274) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:39:47 193.252.29.90 (pid 9286) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul (0.04s): CACHE/1/253Fid_article%253D208.f87c3ee7.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): (formulaire_forum, delais=0, GET)
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.01s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:40:29 68.142.249.35 (pid 9333) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:40:31 213.30.178.147 (pid 9266) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul (0.04s): CACHE/0/rum%3Fid_article%3D697.4c264583.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): (formulaire_forum, delais=0, GET)
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.01s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:40:41 66.249.71.41 (pid 9338) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul (0.15s): CACHE/1/actu-.5df91157.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:42:00 62.62.139.27 (pid 9483) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): (formulaire_admin, delais=0, GET)
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.02s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:42:13 62.62.139.27 (pid 9474) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:42:14 62.62.139.27 (pid 9475) calcul inclus (0.01s): (formulaire_admin, delais=0, GET)
Nov 21 14:42:22 66.249.66.240 (pid 9501) calcul (0.13s): CACHE/1/actu-.5df91157.gz
Nov 21 14:42:22 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:42:22 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:42:22 66.249.66.240 (pid 9501) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:42:22 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:42:23 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:42:23 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:42:23 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:42:23 66.249.66.240 (pid 9501) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:42:31 213.30.178.147 (pid 9496) calcul (0.14s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:43:50 68.142.195.80 (pid 9500) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:43:50 68.142.195.80 (pid 9500) cron: rubriques (0.03s)
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.01s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.02s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:44:09 82.253.146.67 (pid 9638) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:44:24 82.253.17.94 (pid 9603) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:44:31 213.30.178.147 (pid 9665) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul (0.07s): CACHE/2/actu-article645.7eb46a67.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/b/inc-incl_link_entete.a7cbc3cc.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/1/inc-incl_bandeau.58435410.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.01s): CACHE/e/inc-incl_mot_recherche.a8548e35.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/f/incl_footer-incl_footer.a45a4db1.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/3/inc-incl_logo_tela.beb263fc.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/d/inc-incl_changer_monde.934cbeda.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.01s): CACHE/b/inc-incl_menu_gauche.b1f1ebcf.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/5/identification_ellipse.8262eaad.gz
Nov 21 14:45:11 84.7.17.153 (pid 9707) calcul inclus (0.00s): CACHE/c/inc-incl_footer_print.7a5359fa.gz
Nov 21 14:45:13 80.11.39.153 (pid 9709) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
Nov 21 14:45:35 147.99.25.64 (pid 9813) calcul (0.12s): CACHE/8/actu-backend.ae16eedc.gz
/trunk/actu/ecrire/data/remove.txt
New file
0,0 → 1,3
Vous pouvez effacer ce fichier sans dommages.
 
You can safely remove this file.
/trunk/actu/ecrire/inc_math.php3
New file
0,0 → 1,116
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_ECRIRE_INC_MATH")) return;
define("_ECRIRE_INC_MATH", "1");
 
//
// Gestion du raccourci <math>...</math> en client-serveur
//
 
function image_math($tex) {
global $traiter_math;
switch ($traiter_math) {
// Attention: mathml desactiv'e pour l'instant
case 'mathml':
$ext = '.xhtml';
$server = $GLOBALS['mathml_server'];
break;
default:
$ext = '.png';
$server = $GLOBALS['tex_server'];
break;
}
 
// Regarder dans le repertoire local des images TeX et blocs MathML
 
if (!@is_dir(_DIR_TeX))
@mkdir (_DIR_TeX, 0777);
$fichier = _DIR_TeX .md5(trim($tex)).$ext;
 
if (!@file_exists($fichier)) {
// Aller chercher l'image sur le serveur
if ($server) {
spip_log($url = $server.'?'.urlencode($tex));
include_ecrire('inc_sites.php3');
if ($image = recuperer_page($url)) {
if ($f = @fopen($fichier, 'w')) {
@fwrite($f, $image);
@fclose($f);
}
}
}
}
 
 
// Composer la reponse selon presence ou non de l'image
$tex = entites_html($tex);
if (@file_exists($fichier)) {
 
// MathML
if ($traiter_math == 'mathml') {
return join(file("$fichier"),"");
}
 
// TeX
else {
list(,,,$size) = @getimagesize($fichier);
$alt = "alt=\"$tex\" title=\"$tex\"";
return "<img src=\"$fichier\" style=\"vertical-align:middle;\" $size $alt />";
}
 
}
else // pas de fichier
return "<tt><span class='spip_code' dir='ltr'>$tex</span></tt>";
 
}
 
 
// Fonction appelee par propre() s'il repere un mode <math>
function traiter_math($letexte, &$les_echap, &$num_echap, $source) {
 
$texte_a_voir = $letexte;
while (($debut = strpos($texte_a_voir, "<math>")) !== false) {
if (!$fin = strpos($texte_a_voir,"</math>"))
$fin = strlen($texte_a_voir);
 
$texte_debut = substr($texte_a_voir, 0, $debut);
$texte_milieu = substr($texte_a_voir,
$debut+strlen("<math>"), $fin-$debut-strlen("<math>"));
$texte_fin = substr($texte_a_voir,
$fin+strlen("</math>"), strlen($texte_a_voir));
 
while((ereg("[$][$]([^$]+)[$][$]",$texte_milieu, $regs))) {
$num_echap++;
$les_echap[$num_echap] = "\n<p class=\"spip\" style=\"text-align: center;\">".image_math($regs[1])."</p>\n";
$pos = strpos($texte_milieu, $regs[0]);
$texte_milieu = substr($texte_milieu,0,$pos)."@@SPIP_$source$num_echap@@"
.substr($texte_milieu,$pos+strlen($regs[0]));
}
while((ereg("[$]([^$]+)[$]",$texte_milieu, $regs))) {
$num_echap++;
$les_echap[$num_echap] = image_math($regs[1]);
$pos = strpos($texte_milieu, $regs[0]);
$texte_milieu = substr($texte_milieu,0,$pos)."@@SPIP_$source$num_echap@@"
.substr($texte_milieu,$pos+strlen($regs[0]));
}
 
$texte_a_voir = $texte_debut.$texte_milieu.$texte_fin;
}
return $texte_a_voir;
}
 
?>
/trunk/actu/ecrire/inc_barre.php3
New file
0,0 → 1,134
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_INC_BARRE")) return;
define("_INC_BARRE", "1");
 
// construit un bouton (ancre) de raccourci avec icone et aide
 
function bouton_barre_racc($action, $img, $help, $champhelp) {
 
return "<a\nhref=\"javascript:"
.$action
."\" class='spip_barre' tabindex='1000'\ntitle=\""
.addslashes(attribut_html($help))
."\""
.(!_DIR_RESTREINT ? '' : "\nonMouseOver=\"helpline('"
.addslashes(attribut_html($help))
."',$champhelp)\"\nonMouseOut=\"helpline('"
.addslashes(attribut_html(_T('barre_aide')))
."', $champhelp)\"")
."><img\nsrc='"
._DIR_IMG_ICONES_BARRE
.$img
."' border='0' height='16' width='16' align='middle' /></a>";
}
 
// construit un tableau de raccourcis pour un noeud de DOM
 
function afficher_barre($champ, $forum=false) {
static $num_barre = 0;
include_ecrire ("inc_layer.php3");
if (!$GLOBALS['browser_barre']) return '';
 
global $spip_lang, $spip_lang_right, $spip_lang_left;
 
$ret = ($num_barre > 0) ? '' :
'<script type="text/javascript" src="' . _DIR_PREFIX1. 'spip_barre.js"></script>';
$num_barre++;
$champhelp = "document.getElementById('barre_$num_barre')";
 
$ret .= "<table class='spip_barre' width='100%' cellpadding='0' cellspacing='0' border='0'>";
$ret .= "\n<tr width='100%' class='spip_barre'>";
$ret .= "\n<td style='text-align: $spip_lang_left;' valign='middle'>";
$col = 1;
 
// Italique, gras, intertitres
$ret .= bouton_barre_racc ("barre_raccourci('{','}',$champ)", "italique.png", _T('barre_italic'), $champhelp);
$ret .= bouton_barre_racc ("barre_raccourci('{{','}}',$champ)", "gras.png", _T('barre_gras'), $champhelp);
if (!$forum) {
$ret .= bouton_barre_racc ("barre_raccourci('\n\n{{{','}}}\n\n',$champ)", "intertitre.png", _T('barre_intertitre'), $champhelp);
}
$ret .= "&nbsp;&nbsp;&nbsp;</td>\n<td>";
$col ++;
 
// Lien hypertexte, notes de bas de page, citations
$ret .= bouton_barre_racc ("barre_demande('[','->',']', '".addslashes(_T('barre_lien_input'))."', $champ)",
"lien.png", _T('barre_lien'), $champhelp);
if (!$forum) {
$ret .= bouton_barre_racc ("barre_raccourci('[[',']]',$champ)", "notes.png", _T('barre_note'), $champhelp);
}
if ($forum) {
$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>\n<td>";
$col ++;
$ret .= bouton_barre_racc ("barre_raccourci('\n\n&lt;quote&gt;','&lt;/quote&gt;\n\n',$champ)", "quote.png", _T('barre_quote'), $champhelp);
}
 
$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
$col++;
 
// Insertion de caracteres difficiles a taper au clavier (guillemets, majuscules accentuees...)
$ret .= "\n<td style='text-align:$spip_lang_left;' valign='middle'>";
$col++;
if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf" OR $spip_lang == "ar" OR $spip_lang == "es") {
$ret .= bouton_barre_racc ("barre_raccourci('&laquo;','&raquo;',$champ)", "guillemets.png", _T('barre_guillemets'), $champhelp);
$ret .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets_simples'), $champhelp);
}
else if ($spip_lang == "bg" OR $spip_lang == "de" OR $spip_lang == "pl" OR $spip_lang == "hr" OR $spip_lang == "src") {
$ret .= bouton_barre_racc ("barre_raccourci('&bdquo;','&ldquo;',$champ)", "guillemets-de.png", _T('barre_guillemets'), $champhelp);
$ret .= bouton_barre_racc ("barre_raccourci('&sbquo;','&lsquo;',$champ)", "guillemets-uniques-de.png", _T('barre_guillemets_simples'), $champhelp);
}
else {
$ret .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets'), $champhelp);
$ret .= bouton_barre_racc ("barre_raccourci('&lsquo;','&rsquo;',$champ)", "guillemets-uniques.png", _T('barre_guillemets_simples'), $champhelp);
}
if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") {
$ret .= bouton_barre_racc ("barre_inserer('&Agrave;',$champ)", "agrave-maj.png", _T('barre_a_accent_grave'), $champhelp);
$ret .= bouton_barre_racc ("barre_inserer('&Eacute;',$champ)", "eacute-maj.png", _T('barre_e_accent_aigu'), $champhelp);
if ($spip_lang == "fr") {
$ret .= bouton_barre_racc ("barre_inserer('&oelig;',$champ)", "oelig.png", _T('barre_eo'), $champhelp);
$ret .= bouton_barre_racc ("barre_inserer('&OElig;',$champ)", "oelig-maj.png", _T('barre_eo_maj'), $champhelp);
}
}
$ret .= bouton_barre_racc ("barre_inserer('&euro;',$champ)", "euro.png", _T('barre_euro'), $champhelp);
 
$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
$col++;
 
if (!_DIR_RESTREINT) {
$ret .= "\n<td style='text-align:$spip_lang_right;' valign='middle'>";
$col++;
// $ret .= "&nbsp;&nbsp;&nbsp;";
$ret .= aide("raccourcis");
$ret .= "&nbsp;";
$ret .= "</td>";
}
$ret .= "</tr>";
 
// Sur les forums publics, petite barre d'aide en survol des icones
if (_DIR_RESTREINT)
$ret .= "\n<tr>\n<td colspan='$col'><input disabled='disabled' type='text' id='barre_$num_barre' size='45' maxlength='100' style='width:100%; font-size:11px; color: black; background-color: #e4e4e4; border: 0px solid #dedede;'\nvalue=\"".attribut_html(_T('barre_aide'))."\" /></td></tr>";
 
$ret .= "</table>";
return $ret;
}
 
// pour compatibilite arriere. utiliser directement le corps a present.
 
function afficher_claret() {
include_ecrire ("inc_layer.php3");
return $GLOBALS['browser_caret'];
}
 
?>
/trunk/actu/formulaires/inc-formulaire_ecrire_auteur.php3
New file
0,0 → 1,85
<?php
 
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
 
 
// On prend l'email dans le contexte de maniere a ne pas avoir a le
// verifier dans la base ni a le devoiler au visiteur
global $balise_FORMULAIRE_ECRIRE_AUTEUR_collecte;
$balise_FORMULAIRE_ECRIRE_AUTEUR_collecte = array('id_auteur', 'id_article', 'email');
 
function balise_FORMULAIRE_ECRIRE_AUTEUR_stat($args, $filtres) {
 
// Pas d'id_auteur ni d'id_article ? Erreur de squelette
if (!$args[0] AND !$args[1])
return erreur_squelette(
_T('zbug_champ_hors_motif',
array ('champ' => '#FORMULAIRE_ECRIRE_AUTEUR',
'motif' => 'AUTEURS/ARTICLES')), '');
 
// Si on est dans un contexte article, sortir tous les mails des auteurs
// de l'article
if (!$args[0] AND $args[1]) {
unset ($args[2]);
$s = spip_query("SELECT auteurs.email AS email
FROM spip_auteurs as auteurs, spip_auteurs_articles as lien
WHERE lien.id_article=".intval($args[1])
. " AND auteurs.id_auteur = lien.id_auteur");
while ($row = spip_fetch_array($s))
if ($row['email'] AND email_valide($row['email']))
$args[2].= ','.$row['email'];
$args[2] = substr($args[2], 1);
}
 
// On ne peut pas ecrire a un auteur dont le mail n'est pas valide
if (!$args[2] OR !email_valide($args[2]))
return '';
 
// OK
return $args;
}
 
function balise_FORMULAIRE_ECRIRE_AUTEUR_dyn($id_auteur, $id_article, $mail) {
include_ecrire('inc_texte.php3');
$puce = $GLOBALS['puce'.$GLOBALS['spip_lang_rtl']];
 
// id du formulaire (pour en avoir plusieurs sur une meme page)
$id = ($id_auteur ? '_'.$id_auteur : '_ar'.$id_article);
#spip_log("id formulaire = $id, "._request("valide".$id));
$sujet = _request('sujet_message_auteur'.$id);
$texte = _request('texte_message_auteur'.$id);
$adres = _request('email_message_auteur'.$id);
 
$mailko = $texte && !email_valide($adres);
 
$validable = $texte && $sujet && (!$mailko);
 
// doit-on envoyer le mail ?
if ($validable
AND $id == _request('num_formulaire_ecrire_auteur')
AND _request('confirmer'.$id)) {
$texte .= "\n\n-- "._T('envoi_via_le_site')." ".supprimer_tags(extraire_multi(lire_meta('nom_site')))." (".lire_meta('adresse_site')."/) --\n";
include_ecrire("inc_mail.php3");
envoyer_mail($mail, $sujet, $texte, $adres,
"X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']);
return _T('form_prop_message_envoye');
}
 
return
array('formulaire_ecrire_auteur', 0,
array(
'id' => $id,
'mailko' => $mailko ? $puce : '',
'mail' => $adres,
'sujetko' => ($texte && !$sujet) ? $puce : '',
'sujet' => $sujet,
'texte' => $texte,
'valide' => ($validable ? $id : ''),
'bouton' => (_T('form_prop_envoyer')),
'boutonconfirmation' => ($validable ?
_T('form_prop_confirmer_envoi') :
'')
)
);
}
?>
/trunk/actu/formulaires/inc-formulaire_site.php3
New file
0,0 → 1,51
<?php
 
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
 
// Le contexte indique dans quelle rubrique le visiteur peut proposer le site
global $balise_FORMULAIRE_SITE_collecte;
$balise_FORMULAIRE_SITE_collecte = array('id_rubrique');
 
function balise_FORMULAIRE_SITE_stat($args, $filtres) {
 
// Pas d'id_rubrique ? Erreur de squelette
if (!$args[0])
return erreur_squelette(
_T('zbug_champ_hors_motif',
array ('champ' => '#FORMULAIRE_SITE',
'motif' => 'RUBRIQUES')), '');
 
// Verifier que les visisteurs sont autorises a proposer un site
return ((lire_meta("proposer_sites") != 2) ? '' : $args);
}
 
function balise_FORMULAIRE_SITE_dyn($id_rubrique) {
 
if (!_request('nom_site'))
return array('formulaire_site', $GLOBALS['delais'],
array('self' => $GLOBALS["clean_link"]->getUrl()
));
 
// Tester le nom du site
if (strlen (_request('nom_site')) < 2){
return _T('form_prop_indiquer_nom_site');
}
 
// Tester l'URL du site
include_ecrire("inc_sites.php3");
if (!recuperer_page(_request('url_site')))
return _T('form_pet_url_invalide');
 
// Integrer a la base de donnees
$nom_site = addslashes(_request('nom_site'));
$url_site = addslashes(_request('url_site'));
$description_site = addslashes(_request('description_site'));
spip_query("INSERT INTO spip_syndic
(nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication)
VALUES ('$nom_site', '$url_site', $id_rubrique, '$description_site', NOW(), NOW(), 'prop', 'non')");
 
return _T('form_prop_enregistre');
}
 
?>
/trunk/actu/formulaires/formulaire_ecrire_auteur.html
New file
0,0 → 1,38
[<br />(#ENV*{sujetko})<:form_prop_indiquer_sujet:><br />&nbsp;][
<br />(#ENV*{mailko})<:form_prop_indiquer_email:><br /><br />
]
 
<form action="#SELF" method='post'>
 
[(#REM) Previsualisation ... ]
[<input type="hidden" name="num_formulaire_ecrire_auteur" value="(#ENV{valide})" />]
[<div class='spip_encadrer'>
<i>[(#ENV{mail})]</i> - <strong>[(#ENV{sujet})]</strong>
<div>
[(#ENV{texte}|nl2br)]
</div>
<div style="text-align:#LANG_RIGHT;">
<input type="submit" class="spip_bouton" name="confirmer[(#ENV{id})]"
value="(#ENV{boutonconfirmation})" />
</div>
</div>
]
 
[(#REM) Formulaire normal ]
<p><label><:form_pet_votre_email:><br />
<input type="text" class="forml" name="email_message_auteur[(#ENV{id})]"
value="[(#ENV{mail})]" size="30" />
</label></p>
<p><label><:form_prop_sujet:><br />
<input type="text" class="forml" name="sujet_message_auteur[(#ENV{id})]"
value="[(#ENV{sujet})]" size="30" />
</label></p>
<p>
<textarea name="texte_message_auteur[(#ENV{id})]" rows='10' class='forml' cols='40'>[(#ENV{texte})]</textarea>
</p>
<div style="text-align:#LANG_RIGHT;">
<input type="submit" class="spip_bouton" name="valide"
value="[(#ENV{bouton})]" />
</div>
 
</form>
/trunk/actu/formulaires/formulaires/inc-formulaire_admin.php3
New file
0,0 → 1,137
<?php
 
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
 
global $balise_FORMULAIRE_ADMIN_collecte ;
$balise_FORMULAIRE_ADMIN_collecte = array();
 
# on ne peut rien dire au moment de l'execution du squelette
 
function balise_FORMULAIRE_ADMIN_stat($args, $filtres) {
return $args;
}
 
# les boutons admin sont mis d'autorite si absents
# donc une variable statique controle si FORMULAIRE_ADMIN a ete vu.
# Toutefois, si c'est le debuger qui appelle,
# il peut avoir recopie le code dans ses donnees et il faut le lui refounir.
# Pas question de recompiler: ca fait boucler !
# Le debuger transmet donc ses donnees, et cette balise y retrouve son petit.
 
function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') {
global $var_preview, $use_cache, $forcer_debug;
global $id_article, $id_breve, $id_rubrique, $id_mot, $id_auteur;
static $dejafait = false;
 
if (!$GLOBALS['spip_admin'])
return '';
 
if (!is_array($debug)) {
if ($dejafait)
return '';
} else {
if ($dejafait) {
$res = '';
foreach($debug['sourcefile'] as $k => $v) {
if (strpos($v,'formulaire_admin.') !== false)
return $debug['resultat'][$k . 'tout'];
}
return '';
}
}
$dejafait = true;
 
// repartir de zero pour les boutons car clean_link a pu etre utilisee
$link = new Link();
$link->delVar('var_mode');
$link->delVar('var_mode_objet');
$link->delVar('var_mode_affiche');
$action = $link->getUrl();
$action = ($action . ((strpos($action, '?') === false) ? '?' : '&'));
 
// Ne pas afficher le bouton 'Modifier ce...' si l'objet n'existe pas
foreach (array('article', 'breve', 'rubrique', 'mot', 'auteur') as $type) {
$id_type = 'id_'.$type;
if (!($$id_type = intval($$id_type)
AND $s = spip_query(
"SELECT $id_type FROM spip_${type}s WHERE $id_type=".$$id_type)
AND spip_num_rows($s)))
$$id_type=0;
else {
$objet_affiche = $type;
break;
}
}
 
// Bouton statistiques
if (lire_meta("activer_statistiques") != "non"
AND $id_article
AND !$var_preview
AND ($GLOBALS['auteur_session']['statut'] == '0minirezo')) {
if ($s = spip_query("SELECT id_article
FROM spip_articles WHERE statut='publie'
AND id_article = $id_article")
AND spip_fetch_array($s)) {
include_local ("inc-stats.php3");
$r = afficher_raccourci_stats($id_article);
$visites = $r['visites'];
$popularite = $r['popularite'];
$statistiques = 'statistiques_visites.php3?'; # lien si connecte
}
}
 
// Bouton de debug
$debug = (
($forcer_debug
OR $GLOBALS['bouton_admin_debug']
OR ($GLOBALS['var_mode'] == 'debug'
AND $GLOBALS['_COOKIE']['spip_debug']
)) AND ($GLOBALS['code_activation_debug'] == 'oui'
OR $GLOBALS['auteur_session']['statut'] == '0minirezo')
AND !$var_preview
) ? 'debug' : '';
 
// hack - ne pas avoir la rubrique si un autre bouton est deja present
if ($id_article OR $id_breve) unset ($id_rubrique);
 
// Pas de "modifier ce..." ? -> donner "acces a l'espace prive"
if (!($id_article || $id_rubrique || $id_auteur || $id_breve || $id_mot))
$ecrire = 'ecrire';
 
// Bouton "preview" si l'objet demande existe et est previsualisable
if (!$GLOBALS['var_preview'] AND (
((lire_meta('preview')=='1comite'
AND $GLOBALS['auteur_session']['statut'] =='1comite')
OR (lire_meta('preview')<>''
AND $GLOBALS['auteur_session']['statut'] =='0minirezo'))
)) {
if ($objet_affiche == 'article'
OR $objet_affiche == 'breve'
OR $objet_affiche == 'rubrique')
if (spip_num_rows(spip_query(
"SELECT id_$objet_affiche FROM spip_".$objet_affiche."s
WHERE id_$objet_affiche=".${"id_".$objet_affiche}."
AND statut IN ('prop', 'prive')")))
$preview = 'preview';
}
 
return array('formulaire_admin', 0,
array(
'id_article' => $id_article,
'id_rubrique' => $id_rubrique,
'id_auteur' => $id_auteur,
'id_breve' => $id_breve,
'id_mot' => $id_mot,
'ecrire' => $ecrire,
'action' => $action,
'preview' => $preview,
'debug' => $debug,
'popularite' => ceil($popularite),
'statistiques' => $statistiques,
'visites' => intval($visites),
'use_cache' => ($use_cache ? ' *' : ''),
'floatdiv' => $float
)
);
}
?>
/trunk/actu/formulaires/formulaires/inc-menu_lang_ecrire.php3
New file
0,0 → 1,63
<?php
 
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
 
// Ce "menu_lang" collecte dans le contexte permet de forcer la langue
// par defaut proposee dans le menu ; mais a quoi ca sert concretement ?
global $balise_MENU_LANG_ECRIRE_collecte;
$balise_MENU_LANG_ECRIRE_collecte = array('menu_lang');
 
// s'il n'y a qu'une langue proposee eviter definitivement la balise ?php
function balise_MENU_LANG_ECRIRE_stat ($args, $filtres) {
global $all_langs;
include_ecrire('inc_lang.php3');
if (!strpos($all_langs,',')) return '';
return $args;
}
 
 
// normalement $opt sera toujours non vide suite au test ci-dessus
function balise_MENU_LANG_ECRIRE_dyn($default) {
return menu_lang_pour_tous('var_lang_ecrire', $opt);
}
 
function menu_lang_pour_tous($nom, $opt) {
include_ecrire("inc_lang.php3");
 
// Voir s'il y a une langue demandee par _request,
// ou une langue par defaut dans le contexte {menu_lang=xx}
$default = _request('lang');
lang_select($default);
if ($GLOBALS['spip_lang'] <> $default) {
$default = $menu_lang;
lang_select($default); # et remplace
if ($GLOBALS['spip_lang'] <> $default)
unset ($default); # annule tout choix par defaut
lang_dselect(); #annule la selection
}
lang_dselect();
 
$opt = liste_options_langues($nom, $default);
if (!$opt)
return '';
 
$site = lire_meta("adresse_site");
$post = ($site ? $site : '..') . "/spip_cookie.php3";
$cible = new Link();
$cible->delVar('lang');
$cible = $cible->getUrl();
$postcomplet = new Link($post);
$postcomplet->addvar('url', $cible);
 
return array('formulaire_menu_lang',
3600,
array('nom' => $nom,
'url' => $post,
'cible' => $cible,
'retour' => $postcomplet->getUrl(),
'langues' => $opt
)
);
}
 
?>
/trunk/actu/formulaires/formulaires/inc-menu_lang.php3
New file
0,0 → 1,23
<?php
 
if (!defined("_ECRIRE_INC_VERSION")) return; #securite
 
// Ce "menu_lang" collecte dans le contexte permet de forcer la langue
// par defaut proposee dans le menu, en faisant une inclusion
// <INCLURE(toto){menu_lang=xxx}> ; mais a quoi ca sert concretement ?
global $balise_MENU_LANG_collecte;
$balise_MENU_LANG_collecte = array('menu_lang');
 
// s'il n'y a qu'une langue eviter definitivement la balise ?php
function balise_MENU_LANG_stat ($args, $filtres) {
if (!strpos(lire_meta('langues_multilingue'),',')) return '';
return $args;
}
 
// normalement $opt sera toujours non vide suite au test ci-dessus
function balise_MENU_LANG_dyn($menu_lang) {
include_local(find_in_path("inc-menu_lang_ecrire.php3"));
return menu_lang_pour_tous('var_lang', $opt);
}
 
?>
/trunk/actu/devenir_redac.html
New file
0,0 → 1,44
<?php
include_once 'authentification.php' ;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="#LANG">
<head>
<title>Devenir r&eacute;dacteur</title>
<INCLURE(incl_link_entete.php)>
</head>
 
<body >
<div id="reducteur">
<INCLURE(incl_bandeau.php)>
 
<!-- Parcours de navigation -->
<div id="droite">
<div id="pos_recherche">Vous &ecirc;tes ici : <a href="sommaire.php3">Accueil</a> &gt; Accès à l'espace r&eacute;dacteur</div>
<INCLURE(incl_mot_recherche.php)>
<div id="contenu">
<br /><br /><br /><br />
<center><img src="IMG/dialog-warning6.png" /><br /><br />
<strong>Pour accéder à l'Espace Rédacteur dans les actualités du site de Tela Botanica,<br />il faut être inscrit au réseau Tela Botanica et identifié</strong><br />
Retour à la page "<a href="participez.php">Devenir rédacteur</a>"</center>
 
</div>
<INCLURE(incl_footer.php)>
</div>
<!-- Menu de navigation rubriques -->
 
<div id="nav_gauche">
<INCLURE(incl_logo_tela.php)>
<INCLURE(incl_changer_monde.php)>
<INCLURE(incl_menu_gauche.php)>
<INCLURE(incl_identification_ellipse.php)>
 
</div>
<INCLURE(incl_footer_print.php)>
</div>
 
</body>
</html>
 
 
 
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/actu/IMG/icones/pdf-dist.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones/pdf-dist.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones/ogg-dist.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones/ogg-dist.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones/zip-dist.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones/zip-dist.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones/defaut-dist.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones/defaut-dist.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones/ram-dist.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones/ram-dist.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones_barre/blanc.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones_barre/blanc.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones_barre/guillemets-simples.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones_barre/guillemets-simples.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones_barre/notes.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones_barre/notes.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones_barre/quote.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones_barre/quote.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/IMG/icones_barre/guillemets-uniques.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/IMG/icones_barre/guillemets-uniques.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/incl_changer_monde.php
New file
0,0 → 1,7
<?php
$fond = "incl_changer_monde";
$delais = 1;
 
include ("inc-public.php3");
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/actu/fils_info.html
New file
0,0 → 1,54
<?php
include_once 'authentification.php' ;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 
<html lang="#LANG">
 
<head>
<title>Les fils d'information</title>
<INCLURE(incl_link_entete.php)>
</head>
 
<body>
<div id="reducteur">
<INCLURE(incl_bandeau.php)>
<!-- Parcours de navigation -->
<div id="droite">
<div id="pos_recherche">Vous &ecirc;tes ici : <a href="sommaire.php3">Accueil </a> &gt; Les fils d'information</div>
<INCLURE(incl_mot_recherche.php)>
<div id="contenu">
<BOUCLE_syndic(SITES){tout}{syndication=oui}{par num nom_site}>
<B_art_synd>
<div class="rss">
<h1 class="titre_rss">[<a href="#URL_SITE" target="_blank">(#NOM_SITE|supprimer_numero)</a>]</h1>
<BOUCLE_art_synd(SYNDIC_ARTICLES){id_syndic}{0,5}{par date}{inverse}>
<div class="item">
[<a href="#URL_ARTICLE" target="_blank" class="intituler_rubrique">(#TITRE)</a>][<span class="date"> - (#DATE|affdate)</span>]
</div>
</BOUCLE_art_synd>
</div>
</B_art_synd>
</BOUCLE_syndic>
<p style="clear:both"></p>
</div>
<INCLURE(incl_footer.php)>
</div>
 
<!-- Menu de navigation rubriques -->
 
<div id="nav_gauche">
<INCLURE(incl_logo_tela.php)>
<INCLURE(incl_changer_monde.php)>
<?php
$selection = "fils";
?>
<INCLURE(incl_menu_gauche.php)>
<INCLURE(incl_identification_ellipse.php)>
</div>
 
<INCLURE(incl_footer_print.php)>
</div>
 
</body>
</html>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/actu/puce.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/actu/puce.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/actu/inc-compilo-api.php3
New file
0,0 → 1,252
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
// Ce fichier ne sera execute qu'une fois
if (defined("_INC_COMPILO_API")) return;
define("_INC_COMPILO_API", "1");
 
 
// Definition des noeuds de l'arbre de syntaxe abstraite
 
class Texte {
var $type = 'texte';
var $texte;
var $avant, $apres = ""; // s'il y avait des guillemets autour
var $ligne = 0;
}
 
class Inclure {
var $type = 'include';
var $texte;
var $avant, $apres; // inutilises mais generiques
var $ligne = 0;
var $param = array(); // valeurs des params
}
 
//
// encodage d'une boucle SPIP en un objet PHP
//
class Boucle {
var $type = 'boucle';
var $id_boucle;
var $id_parent ='';
var $avant, $milieu, $apres, $altern;
var $lang_select;
var $type_requete;
var $sql_serveur;
var $param = array();
var $criteres = array();
var $separateur = array();
var $doublons;
var $partie, $total_parties,$mode_partie;
var $externe = ''; # appel a partir d'une autre boucle (recursion)
// champs pour la construction de la requete SQL
var $tout = false;
var $plat = false;
var $select = array();
var $from = array();
var $where = array();
var $having = 0;
var $limit;
var $group = '';
var $order = array();
var $default_order = '';
var $date = 'date' ;
var $hash = "" ;
var $lien = false;
var $sous_requete = false;
var $hierarchie = '';
// champs pour la construction du corps PHP
var $id_table;
var $primary;
var $return;
var $numrows = false;
var $ligne = 0;
}
 
// sous-noeud du precedent
 
class Critere {
var $op;
var $not;
var $param = array();
var $ligne = 0;
}
 
class Champ {
var $type = 'champ';
var $nom_champ;
var $nom_boucle= ''; // seulement si boucle explicite
var $avant, $apres; // tableaux d'objets
var $etoile;
var $param = array(); // filtre explicites
var $fonctions = array(); // source des filtres (compatibilite)
// champs pour la production de code
var $id_boucle;
var $boucles;
var $type_requete;
var $code; // code du calcul
var $statut; // 'numerique, 'h'=texte (html) ou 'p'=script (php) ?
// -> definira les pre et post-traitements obligatoires
// champs pour la production de code dependant du contexte
// $id_mere; pour TOTAL_BOUCLE hors du corps
// $document; pour embed et img dans les textes
// sourcefile; pour DOSSIER_SQUELETTE
var $descr = array();
var $ligne = 0;
}
 
 
class Idiome {
var $type = 'idiome';
var $nom_champ = ""; // la chaine a traduire
var $module = ""; // son module de definition
var $param = array(); // les filtres a appliquer au resultat
var $fonctions = array(); // source des filtres (compatibilite)
var $avant, $apres; // inutilises mais faut = ci-dessus
// champs pour la production de code, cf ci-dessus
var $id_boucle;
var $boucles;
var $type_requete;
var $code;
var $statut;
var $descr = array();
var $ligne = 0;
}
 
class Polyglotte {
var $type = 'polyglotte';
var $traductions = array(); // les textes ou choisir
var $ligne = 0;
}
//
// Globales de description de la base
 
//ces variabales ne sont pas initialisees par "$var = array()"
// afin de permettre leur extension dans mes_options.php etc
 
global $tables_des_serveurs_sql, $tables_principales; // (voir inc_serialbase)
global $exceptions_des_tables, $table_des_tables;
global $tables_relations, $table_primary, $table_date;
 
// champ principal des tables SQL
$table_primary['articles']="id_article";
$table_primary['auteurs']="id_auteur";
$table_primary['breves']="id_breve";
$table_primary['documents']="id_document";
$table_primary['forums']="id_forum";
$table_primary['groupes_mots']="id_groupe";
$table_primary['hierarchie']="id_rubrique";
$table_primary['mots']="id_mot";
$table_primary['rubriques']="id_rubrique";
$table_primary['signatures']="id_signature";
$table_primary['syndication']="id_syndic";
$table_primary['syndic_articles']="id_syndic_article";
$table_primary['types_documents']="id_type";
 
# cf. fonction table_objet dans inc_version
$table_des_tables['articles']='articles';
$table_des_tables['auteurs']='auteurs';
$table_des_tables['breves']='breves';
$table_des_tables['forums']='forum';
$table_des_tables['signatures']='signatures';
$table_des_tables['documents']='documents';
$table_des_tables['types_documents']='types_documents';
$table_des_tables['mots']='mots';
$table_des_tables['groupes_mots']='groupes_mots';
$table_des_tables['rubriques']='rubriques';
$table_des_tables['syndication']='syndic';
$table_des_tables['syndic_articles']='syndic_articles';
$table_des_tables['hierarchie']='rubriques';
 
$exceptions_des_tables['breves']['id_secteur']='id_rubrique';
$exceptions_des_tables['breves']['date']='date_heure';
$exceptions_des_tables['breves']['nom_site']='lien_titre';
$exceptions_des_tables['breves']['url_site']='lien_url';
 
$exceptions_des_tables['forums']['date']='date_heure';
$exceptions_des_tables['forums']['nom']='auteur';
$exceptions_des_tables['forums']['email']='email_auteur';
 
$exceptions_des_tables['signatures']['date']='date_time';
$exceptions_des_tables['signatures']['nom']='nom_email';
$exceptions_des_tables['signatures']['email']='ad_email';
 
$exceptions_des_tables['documents']['type_document']=array('types_documents'
, 'titre');
$exceptions_des_tables['documents']['extension_document']=array('types_docum
ents', 'extension');
$exceptions_des_tables['documents']['mime_type']=array('types_documents'
, 'mime_type');
 
# ne sert plus ? verifier balise_URL_ARTICLE
$exceptions_des_tables['syndic_articles']['url_article']='url';
# ne sert plus ? verifier balise_LESAUTEURS
$exceptions_des_tables['syndic_articles']['lesauteurs']='lesauteurs';
$exceptions_des_tables['syndic_articles']['url_site']=array('syndic',
'url_site');
$exceptions_des_tables['syndic_articles']['nom_site']=array('syndic',
'nom_site');
 
$table_date['articles']='date';
$table_date['auteurs']='date';
$table_date['breves']='date_heure';
$table_date['forums']='date_heure';
$table_date['signatures']='date_time';
$table_date['documents']='date';
$table_date['types_documents']='date';
$table_date['groupes_mots']='date';
$table_date['mots']='date';
$table_date['rubriques']='date';
$table_date['syndication']='date';
$table_date['syndic_articles']='date';
 
//
// tableau des tables de relations,
// Ex: gestion du critere {id_mot} dans la boucle(ARTICLES)
//
$tables_relations['articles']['id_mot']='mots_articles';
$tables_relations['articles']['id_auteur']='auteurs_articles';
$tables_relations['articles']['id_document']='documents_articles';
 
$tables_relations['auteurs']['id_article']='auteurs_articles';
 
$tables_relations['breves']['id_mot']='mots_breves';
$tables_relations['breves']['id_document']='documents_breves';
 
$tables_relations['documents']['id_article']='documents_articles';
$tables_relations['documents']['id_rubrique']='documents_rubriques';
$tables_relations['documents']['id_breve']='documents_breves';
$tables_relations['documents']['id_syndic']='documents_syndic';
$tables_relations['documents']['id_syndic_article']='documents_syndic';
$tables_relations['documents']['id_mot']='mots_documents';
 
$tables_relations['forums']['id_mot']='mots_forum';
 
$tables_relations['mots']['id_article']='mots_articles';
$tables_relations['mots']['id_breve']='mots_breves';
$tables_relations['mots']['id_forum']='mots_forum';
$tables_relations['mots']['id_rubrique']='mots_rubriques';
$tables_relations['mots']['id_syndic']='mots_syndic';
$tables_relations['mots']['id_document']='mots_documents';
 
$tables_relations['groupes_mots']['id_groupe']='mots';
 
$tables_relations['rubriques']['id_mot']='mots_rubriques';
$tables_relations['rubriques']['id_document']='documents_rubriques';
 
$tables_relations['syndication']['id_mot']='mots_syndic';
$tables_relations['syndication']['id_document']='documents_syndic';
$tables_relations['syndic_articles']['id_document']='documents_syndic';
 
?>
/trunk/actu/inc-public.php3
New file
0,0 → 1,115
<?php
 
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
 
 
// Distinguer une inclusion d'un appel initial
if (defined("_INC_PUBLIC")) {
$page = inclure_page($fond, $delais, $contexte_inclus);
if ($page['process_ins'] == 'html')
echo $page['texte'];
else
eval('?' . '>' . $page['texte']);
 
if ($page['lang_select'] === true)
lang_dselect();
 
} else {
define ("_INC_PUBLIC", 1);
if (!function_exists('include_local')) { # cas de page.php3
include ("ecrire/inc_version.php3");
}
include_local('inc-public-global.php3');
 
// Calculer la page sans evaluer le php qu'elle contient
$page = calcule_header_et_page ($fond, $delais);
 
// Execution de la page calculee
 
// 1. Cas d'une page contenant uniquement du HTML :
if ($page['process_ins'] == 'html') {
$page = $page['texte'];
}
 
// 2. Cas d'une page contenant du PHP :
// Attention cette partie eval() doit imperativement
// etre declenchee dans l'espace des globales (donc pas
// dans une fonction).
else {
// Une page "normale" va s'afficher ici
if (! ($flag_ob
AND (($var_mode == 'debug')
OR $var_recherche
OR $affiche_boutons_admin
OR $xhtml ))) {
eval('?' . '>' . $page['texte']);
$page = '';
}
 
// Certains cas demandent un ob_start() de plus
else {
ob_start();
$res = eval('?' . '>' . $page['texte']);
$page = ob_get_contents();
ob_end_clean();
 
// en cas d'erreur lors du eval,
// la memoriser dans le tableau des erreurs
// On ne revient pas ici si le nb d'erreurs > 4
if ($res === false AND $affiche_boutons_admin
AND $auteur_session['statut'] == '0minirezo') {
include_ecrire('inc_debug_sql.php3');
erreur_squelette(_T('zbug_erreur_execution_page'));
}
}
}
 
// Passer la main au debuggueur le cas echeant
if ($var_mode == 'debug') {
include_ecrire("inc_debug_sql.php3");
debug_dumpfile($var_mode_affiche== 'validation' ? $page :"",
$var_mode_objet,$var_mode_affiche);
}
if (count($tableau_des_erreurs) > 0 AND $affiche_boutons_admin)
$page = affiche_erreurs_page($tableau_des_erreurs) . $page;
 
// Traiter var_recherche pour surligner les mots
if ($var_recherche) {
include_ecrire("inc_surligne.php3");
$page = surligner_mots($page, $var_recherche);
}
 
// Valider/indenter a la demande. garder la compatibilite tidy
if (trim($page) AND $xhtml AND !$flag_preserver AND !headers_sent()) {
if ($xhtml === true) $xhtml = 'tidy';
$file = 'inc_' . $xhtml. ".php";
# spip_log(_DIR_RESTREINT . $file);
if (is_readable(_DIR_RESTREINT . $file)) { include_ecrire($file); }
if (function_exists($xhtml))
$page = $xhtml($page);
else if (function_exists('xhtml'))
$page = xhtml($page);
}
 
// Inserer au besoin les boutons admins
if ($affiche_boutons_admin) {
include_local("inc-admin.php3");
$page = affiche_boutons_admin($page);
}
 
// Affichage final s'il en reste
echo $page;
 
// Taches de fond ?
terminer_public_global();
}
 
?>
/trunk/actu/incl_logo_tela.html
New file
0,0 → 1,4
<!--Logo TB-->
<div id="logo_tela">
<a href="/"title="Retour à l'accueil du site"><img src="IMG/logo_bleu.gif" alt="Logo de Tela Botanica" accesskey="1" /></a>
</div>
/trunk/actu/incl_footer_print.html
New file
0,0 → 1,8
<div id="pied_page_print">
<p>&copy;Tela Botanica 2000-2004 - Le Réseau des Botanistes Francophones<br />
http://www.tela-botanica.org</p>
</div>
<!-- Début des scripts utilisées par Google Analytics -->
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"></script>
<script type="text/javascript">_uacct = "UA-57885-1";urchinTracker();</script>
<!-- Fin des scripts utilisées par Google Analytics -->
/trunk/actu/css/CVS/Entries
New file
0,0 → 1,3
/actu.css/1.1/Wed Oct 13 09:32:28 2004//
/impression.css/1.1/Wed Oct 13 07:14:00 2004//
D
/trunk/actu/css/CVS/Repository
New file
0,0 → 1,0
sites_web_tela/tela_org_v4/actu/css
/trunk/actu/css/CVS/Root
New file
0,0 → 1,0
:pserver:tam@162.38.234.6:/usr/cvs
/trunk/actu/inc-calcul-squel.php3
New file
0,0 → 1,2127
<?php
 
//
// Ce fichier ne sera execute qu'une fois
if (defined("_INC_CALCUL_SQUEL")) return;
define("_INC_CALCUL_SQUEL", "1");
 
 
include_local("inc-champ-squel.php3");
 
 
//////////////////////////////////////////////////////////////////////////////
//
// Parsing des squelettes
//
//////////////////////////////////////////////////////////////////////////////
 
 
class Texte {
var $type = 'texte';
var $texte;
}
 
class Champ {
var $type = 'champ';
var $nom_champ, $id_champ;
var $cond_avant, $cond_apres; // tableaux d'objets
var $fonctions;
}
 
class Boucle {
var $type = 'boucle';
var $id_boucle, $id_parent;
var $avant, $cond_avant, $milieu, $cond_apres, $cond_altern, $apres; // tableaux d'objets
var $commande;
var $requete;
var $type_requete;
var $separateur;
var $doublons;
var $lang_select;
var $partie, $total_parties;
}
 
 
function parser_boucle($texte, $id_parent) {
global $rubriques_publiques;
global $recherche;
global $tables_relations;
 
//
// Detecter et parser la boucle
//
 
$p = strpos($texte, '<BOUCLE');
if (!$p && (substr($texte, 0, strlen('<BOUCLE')) != '<BOUCLE')) {
$result = new Texte;
$result->texte = $texte;
return $result;
}
 
$result = new Boucle;
 
$debut = substr($texte, 0, $p);
$milieu = substr($texte, $p);
 
if (!ereg("^(<BOUCLE([0-9]+|[-_][-_.a-zA-Z0-9]*)[[:space:]]*(\([^)]*\)([[:space:]]*\{[^}]*\})*)[[:space:]]*>)", $milieu, $match)) {
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('erreur_boucle_syntaxe'));
$milieu = entites_html($milieu);
echo '<p>'._T('erreur_boucle_syntaxe2', array('milieu' => $milieu));
install_fin_html();
exit;
}
 
$commande = $match[1];
$id_boucle = $match[2];
$suite_commande = $match[3];
 
//
// Decomposer les structures conditionnelles
//
 
$s = "<B$id_boucle>";
 
$p = strpos($debut, $s);
if ($p || (substr($debut, 0, strlen($s)) == $s)) {
$cond_avant = substr($debut, $p + strlen($s));
$debut = substr($debut, 0, $p);
}
 
$milieu = substr($milieu, strlen($commande));
$s = "</BOUCLE$id_boucle>";
$p = strpos($milieu, $s);
if ((!$p) && (substr($milieu, 0, strlen($s)) != $s)) {
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('erreur_boucle_syntaxe'));
echo '<p>'._T('erreur_boucle_fermant', array('id'=>$id_boucle));
install_fin_html();
exit;
}
 
$fin = substr($milieu, $p + strlen($s));
$milieu = substr($milieu, 0, $p);
 
$s = "</B$id_boucle>";
$p = strpos($fin, $s);
if ($p || (substr($fin, 0, strlen($s)) == $s)) {
$cond_fin = substr($fin, 0, $p);
$fin = substr($fin, $p + strlen($s));
}
 
$s = "<//B$id_boucle>";
$p = strpos($fin, $s);
if ($p || (substr($fin, 0, strlen($s)) == $s)) {
$cond_altern = substr($fin, 0, $p);
$fin = substr($fin, $p + strlen($s));
}
 
$id_boucle = ereg_replace("-","_",$id_boucle);
 
//
// Parser la commande de la boucle
//
 
if (ereg('\(([^)]*)\)', $suite_commande, $regs)) {
$_type = $regs[1];
$s = "($_type)";
$p = strpos($suite_commande, $s);
 
// Exploser les parametres
$params = substr($suite_commande, $p + strlen($s));
if (ereg('^[[:space:]]*\{(.*)\}[[:space:]]*$', $params, $match)) $params = $match[1];
$params = split('\}[[:space:]]*\{', $params);
$type = strtolower($_type);
 
//
// Type boucle (recursion)
//
 
if ($type == 'sites') $type = 'syndication';
if (substr($type, 0, 6) == 'boucle') {
$requete = substr($_type, 6);
$type = 'boucle';
}
else {
//
// Initialisation separee par type
//
switch($type) {
case 'articles':
$table = "articles";
$req_from[] = "spip_articles AS $table";
$id_objet = "id_article";
break;
 
case 'auteurs':
$table = "auteurs";
$req_from[] = "spip_auteurs AS $table";
$id_objet = "id_auteur";
break;
 
case 'breves':
$table = "breves";
$req_from[] = "spip_breves AS $table";
$id_objet = "id_breve";
$col_date = "date_heure";
break;
 
case 'forums':
$table = "forums";
$req_from[] = "spip_forum AS $table";
$id_objet = "id_forum";
$col_date = "date_heure";
break;
 
case 'signatures':
$table = "signatures";
$req_from[] = "spip_signatures AS $table";
$id_objet = "id_signature";
$col_date = "date_time";
break;
 
case 'documents':
$table = "documents";
$req_select[] = "$table.*";
$req_select[] = "types_d.titre AS type_document";
$req_select[] = "types_d.extension AS extension_document";
$req_from[] = "spip_documents AS $table";
$req_from[] = "spip_types_documents AS types_d";
$req_where[] = "$table.id_type = types_d.id_type";
$id_objet = "id_document";
break;
 
case 'types_documents':
$table = "types_documents";
$req_from[] = "spip_types_documents AS $table";
$id_objet = "id_type";
break;
 
case 'groupes_mots':
$table = "groupes_mots";
$req_from[] = "spip_groupes_mots AS $table";
$id_objet = "id_groupe";
break;
 
case 'mots':
$table = "mots";
$req_from[] = "spip_mots AS $table";
$id_objet = "id_mot";
break;
 
case 'rubriques':
$table = "rubriques";
$req_from[] = "spip_rubriques AS $table";
$id_objet = "id_rubrique";
break;
 
case 'syndication':
$table = "syndic";
$req_from[] = "spip_syndic AS $table";
$req_where[] = "$table.statut='publie'";
$id_objet = "id_syndic";
break;
 
case 'syndic_articles':
$table = "articles";
$req_from[] = "spip_syndic_articles AS $table";
$req_from[] = "spip_syndic AS source";
$req_where[] = "$table.id_syndic=source.id_syndic";
$req_where[] = "$table.statut='publie'";
$req_where[] = "source.statut='publie'";
$id_objet = "id_syndic_article";
break;
}
if ($table) {
if ($type == 'articles') {
$s = "$table.id_article,$table.id_rubrique,$table.id_secteur,".
"$table.surtitre,$table.titre,$table.soustitre,$table.date,$table.date_redac,$table.date_modif,".
"$table.visites,$table.popularite,$table.statut,$table.accepter_forum,$table.lang,$table.id_trad";
if (ereg('\#(TEXTE|INTRODUCTION)', $milieu))
$s .= ",$table.texte";
if (ereg('\#(CHAPO|INTRODUCTION)', $milieu))
$s .= ",$table.chapo";
if (ereg('\#(DESCRIPTIF|INTRODUCTION)', $milieu))
$s .= ",$table.descriptif";
if (ereg('\#(PS)', $milieu))
$s .= ",$table.ps";
if (ereg('\#(EXTRA)', $milieu))
$s .= ",$table.extra";
if (ereg("\#(NOM_SITE|URL_SITE)", $milieu))
$s .= ",$table.nom_site,$table.url_site";
$req_select[] = $s;
}
else $req_select[] = "$table.*";
}
if (!$col_date) $col_date = "date";
 
//
// Parametres : premiere passe
//
unset($params2);
if ($params) {
reset($params);
while (list(, $param) = each($params)) {
$param = trim($param);
if ($param == 'exclus') {
$req_where[] = "$table.$id_objet!=\$$id_objet";
}
else if ($param == 'tout' OR $param == 'tous') {
$tout = true;
}
else if ($param == 'plat') {
$plat = true;
}
else if ($param == 'unique' OR $param == 'doublons') {
$doublons = 'oui';
$req_where[] = "$table.$id_objet NOT IN (\$id_doublons[$type])";
}
else if (ereg('^(!)? *lang_select(=(oui|non))?$', $param, $match)) {
if (!$lang_select = $match[3]) $lang_select = 'oui';
if ($match[1]) $lang_select = ($lang_select=='oui')?'non':'oui';
}
else if (ereg('^ *"([^"]*)" *$', $param, $match)) {
$separateur = ereg_replace("'","\'",$match[1]);
}
else if (ereg('^([0-9]+),([0-9]*)', $param, $match)) {
$req_limit = $match[1].','.$match[2];
}
else if (ereg('^debut([-_a-zA-Z0-9]+),([0-9]*)$', $param, $match)) {
$debut_lim = "debut".$match[1];
$req_limit = '".intval($GLOBALS[\'HTTP_GET_VARS\'][\''.$debut_lim.'\']).",'.$match[2];
}
else if (ereg('^([0-9]+)/([0-9]+)$', $param, $match)) {
$partie = $match[1];
$total_parties = $match[2];
}
else if ($param == 'recherche') {
if ($type == 'syndication') $req_from[] = "spip_index_syndic AS rec";
else if ($type == 'forums') $req_from[] = "spip_index_forum AS rec";
else $req_from[] = "spip_index_$type AS rec";
$req_select[] = "SUM(rec.points + 100*(rec.hash IN (\$hash_recherche_strict))) AS points";
$req_where[] = "rec.$id_objet=$table.$id_objet";
$req_group = " GROUP BY $table.$id_objet";
$req_where[] = "rec.hash IN (\$hash_recherche)";
}
else $params2[] = $param;
}
}
$params = $params2;
 
//
// Parametres : deuxieme passe
//
if ($params) {
reset($params);
while (list(, $param) = each($params)) {
 
// Classement par ordre inverse
if ($param == 'inverse') {
if ($req_order) $req_order .= ' DESC';
}
// Gerer les traductions
else if ($param == 'traduction') {
$req_where[] = "$table.id_trad > 0 AND $table.id_trad = \$id_trad";
}
else if ($param == 'origine_traduction') {
$req_where[] = "$table.id_trad = $table.id_article";
}
 
// Special rubriques
else if ($param == 'meme_parent') {
$req_where[] = "$table.id_parent=\$id_parent";
if ($type == 'forums') {
$req_where[] = "$table.id_parent > 0";
$plat = true;
}
}
else if ($param == 'racine') {
$req_where[] = "$table.id_parent=0";
}
else if (ereg("^branche *(\??)", $param, $regs)) {
if (!$regs[1])
$req_where[] = "$table.id_rubrique IN (\".calcul_branche(\$id_rubrique).\")";
else
$req_where[] = "('\$id_rubrique'='' OR $table.id_rubrique IN (\".calcul_branche(\$id_rubrique).\"))";
}
 
// Restriction de valeurs (implicite ou explicite)
else if (ereg('^([a-zA-Z_]+) *(\??) *((!?)(<=?|>=?|==?|\?) *"?([^<>=!"?]*))?"?$', $param, $match)) {
// Variable comparee
$col = $match[1];
$col_table = $table;
 
// Valeur de comparaison
if ($match[3])
$val = $match[6];
else {
$val = $match[1];
// Si id_parent, comparer l'id_parent avec l'id_objet de la boucle superieure
if ($val == 'id_parent')
$val = $id_objet;
// Si id_enfant, comparer l'id_objet avec l'id_parent de la boucle superieure
else if ($val == 'id_enfant')
$val = 'id_parent';
$val = '$'.$val;
}
 
// operateur optionnel {lang?}
$ou_rien = ($match[2]) ? "'$val'='' OR " : '';
 
// Traitement general des relations externes
if ($s = $tables_relations[$type][$col]) {
$col_table = "rel_$type";
$req_from[] = "$s AS $col_table";
$req_where[] = "$table.$id_objet=$col_table.$id_objet";
$req_group = " GROUP BY $table.$id_objet";
$flag_lien = true;
}
// Cas particulier pour les raccourcis 'type_mot' et 'titre_mot'
else if ($type != 'mots' AND ($col == 'type_mot' OR $col == 'titre_mot' OR $col == 'id_groupe')) {
if ($type == 'forums')
$col_lien = "spip_mots_forum";
else if ($type == 'syndication')
$col_lien = "spip_mots_syndic";
else
$col_lien = 'spip_mots_'.$type;
$req_from[] = "$col_lien AS lien_mot";
$req_from[] = 'spip_mots AS mots';
$req_where[] = "$table.$id_objet=lien_mot.$id_objet";
$req_where[] = "lien_mot.id_mot=mots.id_mot";
$req_group = " GROUP BY $table.$id_objet";
$col_table = 'mots';
$flag_lien = true;
if ($col == 'type_mot')
$col = 'type';
else if ($col == 'titre_mot')
$col = 'titre';
else if ($col == 'id_groupe')
$col = 'id_groupe';
}
 
// Cas particulier : selection des documents selon l'extension
if ($type == 'documents' AND $col == 'extension') {
$col_table = 'types_d';
}
// HACK : selection des documents selon mode 'image' (a creer en dur dans la base)
else if ($type == 'documents' AND $col == 'mode' AND $val == 'image') {
$val = 'vignette';
}
// Cas particulier : lier les articles syndiques au site correspondant
else if ($type == 'syndic_articles' AND !ereg("^(id_syndic_article|titre|url|date|descriptif|lesauteurs)$",$col))
$col_table = 'source';
 
// Cas particulier : id_enfant => utiliser la colonne id_objet
if ($col == 'id_enfant')
$col = $id_objet;
// Cas particulier : id_secteur = id_rubrique pour certaines tables
else if (($type == 'breves' OR $type == 'forums') AND $col == 'id_secteur')
$col = 'id_rubrique';
 
// Cas particulier : expressions de date
if (ereg("^(date|mois|annee|age|age_relatif|jour_relatif|mois_relatif|annee_relatif)(_redac)?$", $col, $regs)) {
$col = $regs[1];
if ($regs[2]) {
$date_orig = "$table.date_redac";
$date_compare = 'date_redac';
}
else {
$date_orig = "$table.$col_date";
$date_compare = 'date';
}
 
if ($col == 'date') {
$col = $date_orig;
$col_table = '';
}
else if ($col == 'mois') {
$col = "MONTH($date_orig)";
$col_table = '';
}
else if ($col == 'annee') {
$col = "YEAR($date_orig)";
$col_table = '';
}
else if ($col == 'age') {
$col = "(LEAST((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP($date_orig))/86400, TO_DAYS(now())-TO_DAYS($date_orig), DAYOFMONTH(now())-DAYOFMONTH($date_orig)+30.4368*(MONTH(now())-MONTH($date_orig))+365.2422*(YEAR(now())-YEAR($date_orig))))";
$col_table = '';
}
else if ($col == 'age_relatif') {
$col = "LEAST((UNIX_TIMESTAMP('\$$date_compare')-UNIX_TIMESTAMP($date_orig))/86400, TO_DAYS('\$$date_compare')-TO_DAYS($date_orig), DAYOFMONTH('\$$date_compare')-DAYOFMONTH($date_orig)+30.4368*(MONTH('\$$date_compare')-MONTH($date_orig))+365.2422*(YEAR('\$$date_compare')-YEAR($date_orig)))";
$col_table = '';
}
else if ($col == 'jour_relatif') {
$col = "LEAST(TO_DAYS('\$$date_compare')-TO_DAYS($date_orig), DAYOFMONTH('\$$date_compare')-DAYOFMONTH($date_orig)+30.4368*(MONTH('\$$date_compare')-MONTH($date_orig))+365.2422*(YEAR('\$$date_compare')-YEAR($date_orig)))";
$col_table = '';
}
else if ($col == 'mois_relatif') {
$col = "(MONTH('\$$date_compare')-MONTH($date_orig)+12*(YEAR('\$$date_compare')-YEAR($date_orig)))";
$col_table = '';
}
else if ($col == 'annee_relatif') {
$col = "YEAR('\$$date_compare')-YEAR($date_orig)";
$col_table = '';
}
}
 
if ($type == 'forums' AND ($col == 'id_parent' OR $col == 'id_forum'))
$plat = true;
 
// Operateur de comparaison
if ($match[5]) {
$op = $match[5];
if ($op == '==') $op = ' REGEXP ';
}
else {
$op = '=';
}
 
if ($col_table) $col_table .= '.';
$where = "($ou_rien$col_table$col$op'".addslashes($val)."')";
 
if ($match[4] == '!') $where = "NOT ($where)";
$req_where[] = $where;
}
 
// Selection du classement
else if (ereg('^par[[:space:]]+([^}]*)$', $param, $match)) {
$tri = trim($match[1]);
if ($tri == 'hasard') { // par hasard
$req_select[] = "MOD($table.$id_objet * UNIX_TIMESTAMP(), 32767) & UNIX_TIMESTAMP() AS alea";
$req_order = " ORDER BY alea";
}
else if ($tri == 'titre_mot'){ // par titre_mot
$req_order= " ORDER BY mots.titre";
}
else if ($tri == 'type_mot'){ // par type_mot
$req_order= " ORDER BY mots.type";
}
else if ($tri == 'points'){ // par points
$req_order= " ORDER BY points";
}
else if (ereg("^num[[:space:]]+([^,]*)(,.*)?",$tri, $match2)) { // par num champ
$req_select[] = "0+$table.".$match2[1]." AS num";
$req_order = " ORDER BY num".$match2[2];
}
else if (ereg("^[a-z0-9]+$", $tri)) { // par champ
$col = $tri;
if ($col == 'date') $col = $col_date;
$req_order = " ORDER BY $table.$col";
}
else { // tris bizarres, par formule composee, virgules, etc.
$req_order = " ORDER BY ".$tri;
}
}
}
}
 
//
// Post-traitement separe par type
//
 
switch($type) {
case 'articles':
$post_dates = lire_meta("post_dates");
if ($post_dates == 'non') $req_where[] = "$table.date<NOW()";
$req_where[] = "$table.statut='publie'";
break;
 
case 'groupes_mots':
// pas de restriction sur les groupes de_mots
break;
 
case 'mots':
// pas de restriction sur les mots
break;
 
case 'breves':
$req_where[] = "$table.statut='publie'";
break;
 
case 'rubriques':
if (!$tout) $req_where[] = "$table.statut='publie'";
break;
 
case 'forums':
// Par defaut, selectionner uniquement les forums sans pere
if (!$plat) $req_where[] = "$table.id_parent=0";
$req_where[] = "$table.statut='publie'";
break;
 
case 'signatures':
$req_from[] = 'spip_petitions AS petitions';
$req_from[] = 'spip_articles AS articles';
$req_where[] = "petitions.id_article=articles.id_article";
$req_where[] = "petitions.id_article=$table.id_article";
 
$req_where[] = "$table.statut='publie'";
$req_group = " GROUP BY $table.$id_objet";
break;
 
case 'syndic_articles':
$req_select[]='syndic.nom_site AS nom_site';
$req_select[]='syndic.url_site AS url_site';
$req_from[]='spip_syndic AS syndic';
$req_where[] = "syndic.id_syndic=$table.id_syndic";
break;
 
case 'documents':
$req_where[] = "$table.taille > 0";
break;
 
case 'auteurs':
// Si pas de lien avec un article, selectionner
// uniquement les auteurs d'un article publie
if (!$tout AND !$flag_lien) {
$req_from[] = 'spip_auteurs_articles AS lien';
$req_from[] = 'spip_articles AS articles';
$req_where[] = "lien.id_auteur=$table.id_auteur";
$req_where[] = "lien.id_article=articles.id_article";
$req_where[] = "articles.statut='publie'";
$req_group = " GROUP BY $table.$id_objet";
}
// pas d'auteurs poubellises
$req_where[] = "NOT($table.statut='5poubelle')";
break;
}
}
 
//
// Construire la requete
//
if ($type == 'hierarchie')
$requete = $req_limit;
else if ($req_select) {
$requete = 'SELECT '.join(',', $req_select)." FROM ".join(',', $req_from);
if ($req_where) $requete .= " WHERE ".join(" AND ", $req_where);
$requete .= $req_group;
$requete .= $req_order;
if ($req_limit) $requete .= " LIMIT ".$req_limit;
}
$result->type_requete = $type;
$result->requete = $requete;
$result->doublons = $doublons;
$result->lang_select = $lang_select;
$result->separateur = $separateur;
}
 
 
//
// Stocker le tout dans le resultat de la fonction
//
 
$result->id_boucle = $id_boucle;
$result->id_parent = $id_parent;
$result->commande = $commande;
$result->avant = $debut;
$result->cond_avant = parser_texte($cond_avant, $id_parent);
$result->cond_apres = parser_texte($cond_fin, $id_parent);
$result->cond_altern = parser_texte($cond_altern, $id_parent);
$result->milieu = parser_texte($milieu, $id_boucle);
$result->apres = $fin;
$result->partie = $partie;
$result->total_parties = $total_parties;
 
return $result;
}
 
 
 
function parser_champs($texte) {
global $champs;
global $champs_count;
global $champs_valides;
global $champs_traitement;
global $champs_pretraitement;
global $champs_posttraitement;
 
$debut = '';
$result=Array();
while ($texte) {
$r = ereg('(#([a-zA-Z_]+)(\*?))', $texte, $regs);
if ($r) {
unset($champ);
$nom_champ = $regs[2];
$flag_brut = $regs[3];
$s = $regs[1];
$p = strpos($texte, $s);
if ($champs_valides[$nom_champ]) {
$debut .= substr($texte, 0, $p);
if ($debut) {
$champ = new Texte;
$champ->texte = $debut;
$result[] = $champ;
}
$champ = new Champ;
$champ->nom_champ = $nom_champ;
$champ->fonctions = $champs_pretraitement[$nom_champ];
if (!$flag_brut AND $champs_traitement[$nom_champ]) {
reset($champs_traitement[$nom_champ]);
while (list(, $f) = each($champs_traitement[$nom_champ])) {
$champ->fonctions[] = $f;
}
}
if ($champs_posttraitement[$nom_champ]) {
reset($champs_posttraitement[$nom_champ]);
while (list(, $f) = each($champs_posttraitement[$nom_champ])) {
$champ->fonctions[] = $f;
}
}
$champs_count++;
$champ->id_champ = $champs_count;
$champs[$champs_count] = $champ;
$result[] = $champ;
$debut = '';
}
else {
$debut .= substr($texte, 0, $p + strlen($s));
}
$texte = substr($texte, $p + strlen($s));
}
else {
$champ = new Texte;
$champ->texte = $debut.$texte;
if ($champ->texte) $result[] = $champ;
break;
}
}
return $result;
}
 
 
function parser_champs_etendus($texte) {
global $champs;
global $champs_count;
global $champs_valides;
global $champs_traitement;
global $champs_pretraitement;
global $champs_posttraitement;
 
$debut = '';
while ($texte) {
$r = ereg('(\[([^\[]*)\(#([a-zA-Z_]+)(\*?)([^])]*)\)([^]]*)\])', $texte, $regs);
 
if ($r) {
$cond_avant = $regs[2];
$nom_champ = $regs[3];
$flag_brut = $regs[4];
$fonctions = $regs[5];
$cond_apres = $regs[6];
$s = $regs[1];
$p = strpos($texte, $s);
if ($champs_valides[$nom_champ]) {
$debut .= substr($texte, 0, $p);
if ($debut) {
$c = parser_champs($debut);
reset($c);
while (list(, $val) = each($c)) $result[] = $val;
}
$champ = new Champ;
$champ->nom_champ = $nom_champ;
$champ->cond_avant = parser_champs($cond_avant);
$champ->cond_apres = parser_champs($cond_apres);
$champ->fonctions = $champs_pretraitement[$nom_champ];
if (!$flag_brut AND $champs_traitement[$nom_champ]) {
reset($champs_traitement[$nom_champ]);
while (list(, $f) = each($champs_traitement[$nom_champ])) {
$champ->fonctions[] = $f;
}
}
if ($fonctions) {
$fonctions = explode('|', ereg_replace("^\|", "", $fonctions));
reset($fonctions);
while (list(, $f) = each($fonctions)) $champ->fonctions[] = $f;
}
if ($champs_posttraitement[$nom_champ]) {
reset($champs_posttraitement[$nom_champ]);
while (list(, $f) = each($champs_posttraitement[$nom_champ])) {
$champ->fonctions[] = $f;
}
}
$champs_count++;
$champ->id_champ = $champs_count;
$champs[$champs_count] = $champ;
$result[] = $champ;
$debut = '';
}
else {
$debut .= substr($texte, 0, $p + strlen($s));
}
$texte = substr($texte, $p + strlen($s));
}
else {
$c = parser_champs($debut.$texte);
reset($c);
while (list(, $val) = each($c)) $result[] = $val;
break;
}
}
return $result;
}
 
function parser_texte($texte, $id_boucle) {
global $boucles;
 
$i = 0;
 
while ($texte) {
$boucle = parser_boucle($texte, $id_boucle);
if ($boucle->type == 'texte') {
if ($c = parser_champs_etendus($boucle->texte)) {
reset($c);
while (list(, $val) = each($c)) {
$result[$i] = $val;
$i++;
}
}
$texte = '';
}
else {
if ($c = parser_champs_etendus($boucle->avant)) {
reset($c);
while (list(, $val) = each($c)) {
$result[$i] = $val;
$i++;
}
}
$texte = $boucle->apres;
$boucle->avant = '';
$boucle->apres = '';
$result[$i] = $boucle;
$i++;
if (!$boucles[$boucle->id_boucle])
$boucles[$boucle->id_boucle] = $boucle;
else {
include_ecrire ("inc_presentation.php3");
install_debut_html(_T('erreur_boucle_syntaxe'));
$id = $boucle->id_boucle;
echo '<p>'._T('erreur_boucle_double', array('id'=>$id));
install_fin_html();
exit;
}
}
}
 
return $result;
}
 
 
function parser($texte) {
global $racine;
 
// Parser le texte et retourner le tableau racine
 
$racine = parser_texte($texte, '');
}
 
 
 
 
//////////////////////////////////////////////////////////////////////////////
//
// Calcul des squelettes
//
//////////////////////////////////////////////////////////////////////////////
 
//
// appliquer les filtres a un champ
//
function applique_filtres ($fonctions, $code) {
if ($fonctions) {
while (list(, $fonc) = each($fonctions)) {
if ($fonc) {
$arglist = '';
if (ereg('([^\{\}]*)\{(.+)\}$', $fonc, $regs)) {
$fonc = $regs[1];
if (trim($regs[2]))
$arglist = ','.$regs[2];
}
if (function_exists($fonc))
$code = "$fonc($code$arglist)";
else
$code = "'"._T('erreur_filtre', array('filtre' => $fonc))."'";
}
}
}
return $code;
}
 
 
//
// Generer le code PHP correspondant a un champ SPIP
//
 
function calculer_champ($id_champ, $id_boucle, $nom_var)
{
global $les_notes;
global $boucles;
global $champs;
global $flag_ob;
global $flag_pcre;
 
$idb = $id_boucle;
 
//
// Calculer $id_row en prenant la boucle la plus proche
// (i.e. la plus profonde) qui autorise le champ demande
//
 
$offset_boucle = 0;
while (strlen($idb)) {
// $rows_articles, etc. : tables pregenerees contenant les correspondances
// (nom du champ -> numero de colonne mysql) en fonction du type de requete
$id_row = $GLOBALS['rows_'.$boucles[$idb]->type_requete][$champs[$id_champ]->nom_champ];
if ($id_row) break;
$idb = $boucles[$idb]->id_parent;
$offset_boucle++;
}
 
//
// Si cas general (le plus simple), generation
// du code php effectuant le calcul du champ
//
 
if ($id_row) {
$fonctions = $champs[$id_champ]->fonctions;
 
if ($offset_boucle) $code = "\$pile_boucles[\$id_instance-$offset_boucle]->row[$id_row]";
else $code = "\$row[$id_row]";
 
$code = applique_filtres ($fonctions, $code);
 
return " \$$nom_var = $code;\n";
}
 
 
//
// Ici traitement des cas particuliers
//
 
/* $milieu = '<blink>#'.$champs[$id_champ]->nom_champ.'</blink>'; // pour debugger les squelettes
$milieu = " \$$nom_var = '$milieu';\n";*/
 
$fonctions = $champs[$id_champ]->fonctions;
switch($nom_champ = $champs[$id_champ]->nom_champ) {
 
//
// Les logos (rubriques, articles...)
//
 
case 'LOGO_ARTICLE':
case 'LOGO_ARTICLE_NORMAL':
case 'LOGO_ARTICLE_RUBRIQUE':
case 'LOGO_ARTICLE_SURVOL':
case 'LOGO_AUTEUR':
case 'LOGO_AUTEUR_NORMAL':
case 'LOGO_AUTEUR_SURVOL':
case 'LOGO_SITE':
case 'LOGO_BREVE':
case 'LOGO_BREVE_RUBRIQUE':
case 'LOGO_MOT':
case 'LOGO_RUBRIQUE':
case 'LOGO_RUBRIQUE_NORMAL':
case 'LOGO_RUBRIQUE_SURVOL':
case 'LOGO_DOCUMENT':
$milieu = '';
ereg("^LOGO_(([a-zA-Z]+).*)$", $nom_champ, $regs);
$type_logo = $regs[1];
$type_objet = strtolower($regs[2]);
$filtres = '';
if ($fonctions) {
while (list(, $nom) = each($fonctions)) {
if (ereg('^(left|right|center|top|bottom)$', $nom))
$align = $nom;
else if ($nom == 'lien') {
$flag_lien_auto = 'oui';
$flag_stop = true;
}
else if ($nom == 'fichier') {
$flag_fichier = 'oui';
$flag_stop = true;
}
else if ($nom == '') // double || signifie "on passe aux filtres"
$flag_stop = true;
else if (!$flag_stop) {
$lien = $nom;
$flag_stop = true;
}
else // apres un URL ou || ou |fichier ce sont des filtres (sauf left...lien...fichier)
$filtres[] = $nom;
}
// recuperer les filtres s'il y en a
$fonctions = $filtres;
}
if ($flag_lien_auto && !$lien) {
$milieu .= "
\$lien = generer_url_$type_objet(\$contexte['id_$type_objet']);
";
}
else {
$milieu .= '
$lien = transformer_lien_logo($contexte, \''.addslashes($lien).'\');
';
}
 
if ($type_logo == 'RUBRIQUE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_rubrique($contexte["id_rubrique"]));
';
}
else if ($type_logo == 'RUBRIQUE_NORMAL') {
$milieu .= '
list($logon,) = IMG_image(image_rubrique($contexte["id_rubrique"]));
$logoff = "";
';
}
else if ($type_logo == 'RUBRIQUE_SURVOL') {
$milieu .= '
list(,$logon) = IMG_image(image_rubrique($contexte["id_rubrique"]));
$logoff = "";
';
}
else if ($type_logo == 'DOCUMENT'){
$milieu .= '
$logon = integre_image($contexte["id_document"],"","fichier_vignette");
$logoff = "";
';
}
else if ($type_logo == 'AUTEUR') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_auteur($contexte["id_auteur"]));
';
}
else if ($type_logo == 'AUTEUR_NORMAL') {
$milieu .= '
list($logon,) = IMG_image(image_auteur($contexte["id_auteur"]));
$logoff = "";
';
}
else if ($type_logo == 'AUTEUR_SURVOL') {
$milieu .= '
list(,$logon) = IMG_image(image_auteur($contexte["id_auteur"]));
$logoff = "";
';
}
else if ($type_logo == 'BREVE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_breve($contexte["id_breve"]));
';
}
else if ($type_logo == 'BREVE_RUBRIQUE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_breve($contexte["id_breve"]));
if (!$logon)
list($logon, $logoff) = IMG_image(image_rubrique($contexte["id_rubrique"]));
';
}
else if ($type_logo == 'SITE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_site($contexte["id_syndic"]));
';
}
else if ($type_logo == 'MOT') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_mot($contexte["id_mot"]));
';
}
else if ($type_logo == 'ARTICLE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_article($contexte["id_article"]));
';
}
else if ($type_logo == 'ARTICLE_NORMAL') {
$milieu .= '
list($logon,) = IMG_image(image_article($contexte["id_article"]));
$logoff = "";
';
}
else if ($type_logo == 'ARTICLE_SURVOL') {
$milieu .= '
list(,$logon) = IMG_image(image_article($contexte["id_article"]));
$logoff = "";
';
}
else if ($type_logo == 'ARTICLE_RUBRIQUE') {
$milieu .= '
list($logon, $logoff) = IMG_image(image_article($contexte["id_article"]));
if (!$logon)
list($logon, $logoff) = IMG_image(image_rubrique($contexte["id_rubrique"]));
';
}
if ($flag_fichier)
$milieu .= " \$$nom_var = ereg_replace('^/?IMG/','',\$logon);\n"; // compatibilite ascendante : pas de 'IMG/'
else
$milieu .= " \$$nom_var = affiche_logos(\$logon, \$logoff, \$lien, '".addslashes($align)."');\n";
break;
 
//
// Liste des auteurs d'un article
//
case 'LESAUTEURS':
$milieu = '
if ($i = $contexte["id_article"]) {
$query_auteurs = "SELECT auteurs.nom, auteurs.email FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien WHERE lien.id_article=$i AND auteurs.id_auteur=lien.id_auteur";
$result_auteurs = spip_query($query_auteurs);
$auteurs = "";
while($row_auteur = spip_fetch_array($result_auteurs)) {
$nom_auteur = typo($row_auteur["nom"]);
$email_auteur = $row_auteur["email"];
if ($email_auteur) {
$auteurs[] = "<A HREF=\"mailto:$email_auteur\">$nom_auteur</A>";
}
else {
$auteurs[] = "$nom_auteur";
}
}
if ($auteurs) $'.$nom_var.' = join($auteurs, ", ");
else $'.$nom_var.' = "";
}
';
break;
 
//
// Introduction (d'un article, d'une breve ou d'un message de forum)
//
 
case 'INTRODUCTION':
$code = 'calcul_introduction($pile_boucles[$id_instance]->type_requete,
$pile_boucles[$id_instance]->row[\'texte\'],
$pile_boucles[$id_instance]->row[\'chapo\'],
$pile_boucles[$id_instance]->row[\'descriptif\'])';
break;
 
//
// Divers types de champs
//
 
case 'URL_SITE_SPIP':
$code = "lire_meta('adresse_site')";
break;
 
case 'NOM_SITE_SPIP':
$code = "lire_meta('nom_site')";
break;
 
case 'EMAIL_WEBMASTER':
$code = "lire_meta('email_webmaster')";
break;
 
case 'CHARSET':
$code = "lire_meta('charset')";
break;
 
case 'LANG':
$code = "\$GLOBALS['spip_lang']";
break;
 
case 'LANG_LEFT':
$code = "lang_dir(\$GLOBALS['spip_lang'],'left','right')";
break;
 
case 'LANG_RIGHT':
$code = "lang_dir(\$GLOBALS['spip_lang'],'right','left')";
break;
 
case 'LANG_DIR':
$code = "lang_dir(\$GLOBALS['spip_lang'],'ltr','rtl')";
break;
 
case 'PUCE':
$code = '$GLOBALS["puce"]';
break;
 
case 'DATE':
// Uniquement hors-boucles, pour la date passee dans l'URL ou le contexte inclusion
$code = "\$contexte['date']";
break;
 
case 'DATE_NOUVEAUTES':
$milieu = "if (lire_meta('quoi_de_neuf') == 'oui' AND lire_meta('majnouv'))
\$$nom_var = normaliser_date(lire_meta('majnouv'));
else
\$$nom_var = \"'0000-00-00'\";
";
break;
 
case 'URL_ARTICLE':
$code = "url_var_recherche(generer_url_article(\$contexte['id_article']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_RUBRIQUE':
$code = "url_var_recherche(generer_url_rubrique(\$contexte['id_rubrique']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_BREVE':
$code = "url_var_recherche(generer_url_breve(\$contexte['id_breve']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_FORUM':
$code = "url_var_recherche(generer_url_forum(\$contexte['id_forum']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_MOT':
$code = "url_var_recherche(generer_url_mot(\$contexte['id_mot']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_AUTEUR':
$code = "url_var_recherche(generer_url_auteur(\$contexte['id_auteur']), \$contexte['activer_url_recherche'])";
break;
 
case 'URL_DOCUMENT':
$code = "generer_url_document(\$contexte['id_document'])";
break;
 
case 'NOTES':
$milieu = '$'.$nom_var.' = $GLOBALS["les_notes"];
$GLOBALS["les_notes"] = "";
$GLOBALS["compt_note"] = 0;
$GLOBALS["marqueur_notes"] ++;
';
break;
 
case 'RECHERCHE':
$code = 'htmlspecialchars($GLOBALS["recherche"])';
break;
 
case 'COMPTEUR_BOUCLE':
$code = '$pile_boucles[$id_instance]->compteur_boucle';
break;
 
case 'TOTAL_BOUCLE':
$code = '$pile_boucles[$id_instance_cond]->total_boucle';
break;
 
case 'POPULARITE':
$code = 'ceil(min(100, 100 * $pile_boucles[$id_instance]->row[\'popularite\'] / max(1 , 0 + lire_meta(\'popularite_max\'))))';
break;
 
case 'POPULARITE_ABSOLUE':
$code = 'ceil($pile_boucles[$id_instance]->row[\'popularite\'])';
break;
 
case 'POPULARITE_SITE':
$code = 'ceil(lire_meta(\'popularite_total\'))';
break;
 
case 'POPULARITE_MAX':
$code = 'ceil(lire_meta(\'popularite_max\'))';
break;
 
case 'EXTRA':
$code = 'trim($pile_boucles[$id_instance]->row[\'extra\'])';
if ($fonctions) {
// Gerer la notation [(#EXTRA|isbn)]
include_ecrire("inc_extra.php3");
reset($fonctions);
list($key, $champ_extra) = each($fonctions);
$type_extra = $boucles[$id_boucle]->type_requete;
if (extra_champ_valide($type_extra, $champ_extra)) {
unset($fonctions[$key]);
$code = "extra($code, '".addslashes($champ_extra)."')";
}
// Appliquer les filtres definis par le webmestre
$filtres = extra_filtres($type_extra, $champ_extra);
if ($filtres) {
reset($filtres);
while (list(, $f) = each($filtres)) $code = "$f($code)";
}
}
break;
 
case 'EXPOSER':
$on = 'on';
$off='';
if ($fonctions) {
// Gerer la notation [(#EXPOSER|on,off)]
reset($fonctions);
list(, $onoff) = each($fonctions);
ereg("([^,]*)(,(.*))?", $onoff, $regs);
$on = addslashes($regs[1]);
$off = addslashes($regs[3]);
 
// autres filtres
$filtres=Array();
while (list(, $nom) = each($fonctions)) {
$filtres[] = $nom;
}
$fonctions = $filtres;
}
$id_on_off = $GLOBALS['tables_doublons'][$boucles[$id_boucle]->type_requete];
if ($id_on_off)
$code = "(\$GLOBALS[contexte_inclus]['$id_on_off'] == \$contexte['$id_on_off']) ? '$on' : '$off'";
else
$code = "'$off'";
break;
 
//
// Inserer directement un document dans le squelette
//
case 'EMBED_DOCUMENT':
if ($fonctions) $fonctions = join($fonctions, "|");
$milieu = "
include_ecrire('inc_documents.php3');
\$$nom_var = embed_document(\$contexte['id_document'], '$fonctions', false) ;
";
$fonctions = "";
break;
 
 
//
// Formulaire de recherche sur le site
//
case 'FORMULAIRE_RECHERCHE':
if ($fonctions) {
list(, $lien) = each($fonctions); // le premier est un url
while (list(, $filtre) = each($fonctions)) {
$filtres[] = $filtre; // les suivants sont des filtres
}
$fonctions = $filtres;
}
if (!$lien) $lien = 'recherche.php3';
$milieu = "
if (lire_meta('activer_moteur') != 'oui') {
\$$nom_var = '';
}
else {
\$rech = _T('info_rechercher');
\$$nom_var = \"
<form action='$lien' method='get' name='form_rech'>
<input type='text' id='formulaire_recherche' name='recherche' value=\\\"\$rech\\\" size='20' class='formrecherche'\";
\$$nom_var .= \"></form>\";
}
";
break;
 
//
// Formulaire d'inscription comme redacteur
// (dans inc-formulaires.php3)
case 'FORMULAIRE_INSCRIPTION':
$milieu = '
$request_uri = $GLOBALS["REQUEST_URI"];
$spip_lang = $GLOBALS["spip_lang"];
$accepter_inscriptions = lire_meta("accepter_inscriptions");
if ($accepter_inscriptions == "oui") {
$'.$nom_var.' = "<"."?php
include_local(\"inc-formulaires.php3\");
lang_select(\"$spip_lang\");
formulaire_inscription(\"redac\");
lang_dselect(); ?".">";
}
else {
$'.$nom_var.' = "";
}
';
 
break;
 
//
// Formulaire de changement de langue
case 'MENU_LANG':
$milieu = '
$'.$nom_var.' = "<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang\", \$menu_lang);
?".">";
';
 
break;
 
 
//
// Formulaire de changement de langue / page de login
case 'MENU_LANG_ECRIRE':
$milieu = '
$'.$nom_var.' = "<"."?php
include_ecrire(\"inc_lang.php3\");
echo menu_langues(\"var_lang_ecrire\", \$menu_lang);
?".">";
';
 
break;
 
 
//
// Formulaire pour ecrire a l'auteur
//
case 'FORMULAIRE_ECRIRE_AUTEUR':
 
$milieu = '
if (email_valide($row[\'email\'])) {
$email = trim($row[\'email\']);
$spip_lang = $GLOBALS["spip_lang"];
$'.$nom_var.' = "<'.'?php
include (\'inc-formulaires.php3\');
lang_select(\"$spip_lang\");
formulaire_ecrire_auteur(".$row[\'id_auteur\'].",\'$email\');
lang_dselect();
?'.'>";
}
';
 
break;
 
//
// Formulaire de signature d'une petition
//
case 'FORMULAIRE_SIGNATURE':
 
$milieu = '
$spip_lang = $GLOBALS["spip_lang"];
$id_petition = $contexte["id_article"];
 
$query_petition = "SELECT id_article FROM spip_petitions WHERE id_article=$id_petition";
$result_petition = spip_query($query_petition);
 
if ($row_petition = spip_fetch_array($result_petition)) {
include_local("inc-formulaires.php3");
$texte_formulaire = formulaire_signature($id_petition);
$'.$nom_var.' = "<div class=\'formulaire\'><a name=\'sp$id_petition\'></a>\n";
$'.$nom_var.' .= "<"."?php
if (\$GLOBALS[\'val_confirm\']) {
include_local(\'inc-formulaires.php3\');
lang_select(\'$spip_lang\');
reponse_confirmation($id_petition);
lang_dselect();
}
else if (\$GLOBALS[\'nom_email\'] AND \$GLOBALS[\'adresse_email\']) {
include_local(\'inc-formulaires.php3\');
lang_select(\'$spip_lang\');
reponse_signature($id_petition);
lang_dselect();
}
else {?".">".$texte_formulaire."<"."?php
}
?".">";
$'.$nom_var.' .= "</div>\n";
}
else {
$'.$nom_var.' = "";
}
';
 
break;
 
//
// Formulaire de referencement d'un site
//
case 'FORMULAIRE_SITE':
 
$milieu = '
$request_uri = $GLOBALS["REQUEST_URI"];
$proposer_sites = lire_meta("proposer_sites");
$spip_lang = $GLOBALS["spip_lang"];
 
if ($proposer_sites == "2") {
$'.$nom_var.' = "<"."?php
include_local(\"inc-formulaires.php3\");
lang_select(\"$spip_lang\");
formulaire_site($contexte[id_rubrique]);
lang_dselect();
?".">";
}
else {
$'.$nom_var.' = "";
}
';
 
break;
 
//
// Champ testant la presence d'une petition
//
case 'PETITION':
$milieu = '
$query_petition = "SELECT id_article FROM spip_petitions WHERE id_article=$contexte[id_article]";
$result_petition = spip_query($query_petition);
if (spip_num_rows($result_petition) > 0) $'.$nom_var.' = " ";
else $'.$nom_var.' = "";
';
break;
 
//
// Formulaire de reponse a un forum
//
case 'FORMULAIRE_FORUM':
$milieu = '
$spip_lang = $GLOBALS["spip_lang"];
$'.$nom_var.' = "<"."?php include_local(\'inc-forum.php3\'); lang_select(\'$spip_lang\'); ";
$'.$nom_var.' .= "';
switch ($boucles[$id_boucle]->type_requete) {
case "articles":
$milieu .= 'echo retour_forum(0, 0, $contexte[id_article], 0, 0); ';
break;
 
case "breves":
$milieu .= 'echo retour_forum(0, 0, 0, $contexte[id_breve], 0); ';
break;
 
case "forums":
$milieu .= 'echo retour_forum(0, $contexte[id_forum], 0, 0, 0); ';
break;
 
case "rubriques":
$milieu .= 'echo retour_forum($contexte[id_rubrique], 0, 0, 0, 0); ';
break;
 
case "syndication":
$milieu .= 'echo retour_forum(0, 0, 0, 0, $contexte[id_syndic]); ';
break;
 
default:
$milieu .= 'echo retour_forum(\'$contexte[id_rubrique]\', \'$contexte[id_forum]\', \'$contexte[id_article]\', \'$contexte[id_breve]\', \'$contexte[id_syndic]\'); ';
break;
}
$milieu .= '"; $'.$nom_var.' .= "lang_dselect(); ?".">";
';
break;
 
//
// Parametres d'appel du formulaire de reponse a un forum
//
case 'PARAMETRES_FORUM':
$milieu = '
$request_uri = $GLOBALS["REQUEST_URI"];
$http_get_vars = $GLOBALS["HTTP_GET_VARS"];
$forums_publics = lire_meta("forums_publics");
if (($contexte["accepter_forum"] == "" AND $forums_publics != "non") OR ($contexte["accepter_forum"] != "" AND $contexte["accepter_forum"] != "non")) {
$lien = substr($request_uri, strrpos($request_uri, "/") + 1);
if (!$lien_retour = $http_get_vars["retour"])
$lien_retour = $lien;
$lien_retour = rawurlencode($lien_retour);
 
switch ($pile_boucles[$id_instance]->type_requete) {
case "articles":
$'.$nom_var.' = "id_article=$contexte[id_article]";
break;
 
case "breves":
$'.$nom_var.' = "id_breve=$contexte[id_breve]";
break;
 
case "rubriques":
$'.$nom_var.' = "id_rubrique=$contexte[id_rubrique]";
break;
 
case "syndication":
$'.$nom_var.' = "id_syndic=$contexte[id_syndic]";
break;
 
case "forums":
default:
$liste_champs = array ("id_article","id_breve","id_rubrique","id_syndic","id_forum");
unset($element);
while (list(,$champ) = each ($liste_champs)) {
if ($contexte[$champ]) $element[] = "$champ=$contexte[$champ]";
}
if ($element) $'.$nom_var.' = join("&",$element);
break;
 
}
$'.$nom_var.' .= "&retour=$lien_retour";
}
else {
$'.$nom_var.' = "";
}
';
break;
 
//
// Debut et fin de surlignage auto des mots de la recherche
//
case 'DEBUT_SURLIGNE':
if ($flag_ob AND $flag_pcre) {
$milieu = '
$'.$nom_var.' = "<"."?php if (\$var_recherche) { \$mode_surligne = debut_surligne(\$var_recherche, \$mode_surligne); } ?".">";
';
}
break;
case 'FIN_SURLIGNE':
if ($flag_ob AND $flag_pcre) {
$milieu = '
$'.$nom_var.' = "<"."?php if (\$var_recherche) { \$mode_surligne = fin_surligne(\$var_recherche, \$mode_surligne); } ?".">";
';
}
break;
 
//
// Formulaires de login
//
case 'LOGIN_PRIVE':
$milieu = '
$'.$nom_var.' = "<"."?php include_local (\'inc-login.php3\');
login (\'\', \'prive\'); ?".">";
';
break;
 
case 'LOGIN_PUBLIC':
$lacible = '\$GLOBALS[\'clean_link\']';
if ($fonctions) {
$filtres = array();
while (list(, $nom) = each($fonctions))
$lacible = "new Link('".$nom."')";
$fonctions = $filtres;
}
$milieu = '
$'.$nom_var.' = "<"."?php include_local (\'inc-login.php3\');
\$cible = ' . $lacible . ';
login (\$cible, false); ?".">";
';
break;
 
case 'URL_LOGOUT':
if ($fonctions) {
$url = "&url=".$fonctions[0];
$fonctions = array();
} else {
$url = '&url=\'.urlencode(\$clean_link->getUrl()).\'';
}
$milieu = '
$'.$nom_var.' = "<"."?php
if (\$GLOBALS[\'auteur_session\'][\'login\']) {
echo \'spip_cookie.php3?logout_public=\'.\$GLOBALS[\'auteur_session\'][\'login\'].\'' . $url . '\';
} ?".">";
';
break;
 
 
//
// Boutons d'administration
//
case 'FORMULAIRE_ADMIN':
$milieu = '
$'.$nom_var.' = "<"."?php \$GLOBALS[\"flag_boutons_admin\"] = true;
if (\$GLOBALS[\"HTTP_COOKIE_VARS\"][\"spip_admin\"]) {
include_local(\"inc-admin.php3\");
afficher_boutons_admin();
} ?".">";
';
break;
 
default:
$milieu = '<blink>#'.$champs[$id_champ]->nom_champ.'</blink>'; // pour debugger les squelettes
$milieu = " \$$nom_var = '$milieu';\n";
break;
} // switch
 
if (!$code) $code = "\$$nom_var";
 
$code = applique_filtres ($fonctions, $code);
 
if ($code != "\$$nom_var") $milieu .= "\t\$$nom_var = $code;\n";
 
return $milieu;
}
 
 
//
// Generer le code PHP correspondant a une boucle
//
 
function calculer_boucle($id_boucle, $prefix_boucle)
{
global $boucles;
global $tables_code_contexte, $tables_doublons;
 
$func = $prefix_boucle.$id_boucle;
$boucle = $boucles[$id_boucle];
 
//
// Ecrire le debut de la fonction
//
 
$texte .= "function $func".'($contexte) {
global $pile_boucles, $ptr_pile_boucles, $id_doublons, $rubriques_publiques;
 
';
 
//
// Recherche : recuperer les hash a partir de la chaine de recherche
//
if (strpos($boucle->requete, '$hash_recherche')) {
$texte .= '
global $recherche, $hash_recherche, $hash_recherche_strict;
$contexte[\'activer_url_recherche\'] = true;
if (!$hash_recherche)
list($hash_recherche, $hash_recherche_strict) = requete_hash($recherche);
';
} else
$texte .= '
$contexte[\'activer_url_recherche\'] = false;
';
 
if (ereg('\$date_redac[^_]', $boucle->requete)) {
$texte .= '$contexte[\'date_redac\'] = normaliser_date($contexte[\'date_redac\']);
';
}
if (ereg('\$date[^_]', $boucle->requete)) {
$texte .= '$contexte[\'date\'] = normaliser_date($contexte[\'date\']);
';
}
 
//
// Recuperation du contexte et creation de l'instance de boucle
//
 
$texte .= '
if ($contexte) {
reset($contexte);
while (list($key, $val) = each($contexte)) $$key = addslashes($val);
}
 
$id_instance = $ptr_pile_boucles++;
$id_instance_cond = $id_instance;
 
$instance = new InstanceBoucle;
 
$instance->id_boucle = \''.$boucle->id_boucle.'\';
$instance->type_requete = \''.$boucle->type_requete.'\';
$instance->partie = \''.$boucle->partie.'\';
$instance->total_parties = \''.$boucle->total_parties.'\';
 
$instance->id_instance = $id_instance;
 
$pile_boucles[$id_instance] = $instance;
 
$retour = "";
';
 
//
// Preparation du code de fermeture
//
 
$code_fin = "
\$ptr_pile_boucles--;
return \$retour;\n}\n";
 
$type_boucle = $boucle->type_requete;
$requete = $boucle->requete;
$doublons = $boucle->doublons;
$partie = $boucle->partie;
$total_parties = $boucle->total_parties;
$lang_select = ($boucle->lang_select != "non") &&
($type_boucle == 'articles' OR $type_boucle == 'rubriques'
OR $type_boucle == 'hierarchie' OR $type_boucle == 'breves');
 
//
// Boucle recursive : simplement appeler la boucle interieure
//
if ($type_boucle == 'boucle') {
$texte .= calculer_liste(array($boucles[$boucle->requete]), $prefix_boucle, $id_boucle);
$texte .= $code_fin;
return $texte;
}
 
//
// Boucle 'hierarchie' : preparation de la requete principale
//
else if ($type_boucle == 'hierarchie') {
$texte .= '
if ($id_article || $id_syndic) $hierarchie = construire_hierarchie($id_rubrique);
else $hierarchie = construire_hierarchie($id_parent);
if ($hierarchie) {
$hierarchie = explode("-", substr($hierarchie, 0, -1));
$hierarchie = join(",", $hierarchie);
}
else $hierarchie = "0";';
 
$deb_class = 0;
$fin_class = 10000;
if (ereg("([0-9]+),([0-9]*)", $boucle->requete, $match)) {
$deb_class = $match[1];
if ($match[2]) $fin_class = $match[2];
}
if ($doublons == "oui")
$requete = "SELECT *, FIELD(id_rubrique, \$hierarchie) AS _field FROM spip_rubriques WHERE id_rubrique IN (\$hierarchie) AND id_rubrique NOT IN (\$id_doublons[rubriques])";
else
$requete = "SELECT *, FIELD(id_rubrique, \$hierarchie) AS _field FROM spip_rubriques WHERE id_rubrique IN (\$hierarchie)";
$requete .= " ORDER BY _field LIMIT $deb_class,$fin_class";
}
 
 
//
// Pour les forums, ajouter le code de gestion du cache
// et de l'activation / desactivation par article
//
if ($type_boucle == 'forums') {
$texte .= '
global $fichier_cache, $requetes_cache;
if (!$id_rubrique AND !$id_article AND !$id_breve AND $id_forum)
$my_id_forum = $id_forum;
else
$my_id_forum = 0;
if (!$id_article) $id_article = 0;
if (!$id_rubrique) $id_rubrique = 0;
if (!$id_breve) $id_breve = 0;
$valeurs = "$id_article, $id_rubrique, $id_breve, $my_id_forum, \'$fichier_cache\'";
if (!$requetes_cache[$valeurs]) {
$query_cache = "INSERT INTO spip_forum_cache (id_article, id_rubrique, id_breve, id_forum, fichier) VALUES ($valeurs)";
spip_query($query_cache);
$requetes_cache[$valeurs] = 1;
}
';
 
} // forums
 
 
 
//
// Ecrire le code d'envoi de la requete, de recuperation du nombre
// de resultats et de traitement des boucles par parties (e.g. 1/2)
//
 
$texte .= ' $query = "'.$requete.'";
$result = @spip_query($query);
if (!$result) {
$GLOBALS["delais"]=0;
include_local("inc-debug-squel.php3");
return erreur_requete_boucle($query, $instance->id_boucle);
}
$total_boucle = @spip_num_rows($result);';
 
if ($partie AND $total_parties) {
$flag_parties = true;
$texte .= '
$debut_boucle = floor(($total_boucle * ($instance->partie - 1) + $instance->total_parties - 1) / $instance->total_parties) + 1;
$fin_boucle = floor(($total_boucle * ($instance->partie) + $instance->total_parties - 1) / $instance->total_parties);
$pile_boucles[$id_instance]->total_boucle = $fin_boucle - $debut_boucle + 1;';
}
else {
$flag_parties = false;
$texte .= '
$pile_boucles[$id_instance]->total_boucle = $total_boucle;';
}
 
$texte_debut .= '
$pile_boucles[$id_instance]->compteur_boucle = 0;
$compteur_boucle = 0;';
 
//
// Ecrire le code de recuperation des resultats
//
 
if ($lang_select)
$texte_debut .= "\n\t\$old_lang = \$GLOBALS['spip_lang'];\n";
$texte_debut .= '
while ($row = @spip_fetch_array($result)) {';
 
if ($flag_parties) {
$texte_debut .= '
$compteur_boucle++;
if ($compteur_boucle >= $debut_boucle AND $compteur_boucle <= $fin_boucle) {';
}
$texte_debut .= '
$pile_boucles[$id_instance]->compteur_boucle++;
$pile_boucles[$id_instance]->row = $row;';
if ($boucle->separateur)
$texte_debut .= '
if ($retour) $retour .= \''.$boucle->separateur."';";
if ($lang_select)
$texte_debut .= '
if ($row["lang"]) {
$GLOBALS["spip_lang"] = $row["lang"];
$contexte["lang"] = $row["lang"];
}';
 
// Traitement different selon le type de boucle
$texte_debut .= $tables_code_contexte[$type_boucle];
if ($doublons == "oui")
$texte_debut .= "\n\t\t\$id_doublons['$type_boucle'] .= ','.\$row['".$tables_doublons[$type_boucle]."'];";
 
// Inclusion du code correspondant a l'interieur de la boucle
$texte_liste = calculer_liste($boucle->milieu, $prefix_boucle, $id_boucle);
 
// On n'ecrit la boucle "while" que si elle contient du code utile,
// sinon on utlise plutot spip_num_rows() pour recuperer le nombre d'iterations
if ($texte_liste OR $doublons == 'oui') {
$texte .= $texte_debut . $texte_liste;
 
if ($flag_parties) {
$texte .= "\n\t\t}\n";
}
 
// Fermeture de la boucle spip_fetch_array et liberation des resultats
$texte .= "\n\t}\n\t@spip_free_result(\$result);\n";
if ($lang_select)
$texte .= ' $GLOBALS["spip_lang"] = $old_lang;'."\n";
}
else {
$texte .= ' $pile_boucles[$id_instance]->compteur_boucle = $pile_boucles[$id_instance]->total_boucle;'."\n";
}
$texte .= $code_fin;
return $texte;
}
 
 
//
// Generer le code PHP correspondant a un texte brut
//
 
function calculer_texte($texte)
{
global $dossier_squelettes;
$dossier = ($dossier_squelettes ? $dossier_squelettes.'/' : '');
$code = "";
 
$texte = ereg_replace("([\\\\'])", "\\\\1", $texte);
 
//
// Parties textuelles du squelette
//
 
// bloc multi
if (eregi('<multi>', $texte)) {
$ouvre_multi = 'extraire_multi(';
$ferme_multi = ')';
} else {
$ouvre_multi = $ferme_multi = '';
}
 
 
// Reperer les balises de traduction <:toto:>
while (eregi("<:(([a-z0-9_]+):)?([a-z0-9_]+)(\|[^>]*)?:>", $texte, $match)) {
$chaine = strtolower($match[3]);
if (!($module = $match[2]))
$module = 'local/public/spip'; // ordre des modules a explorer
$remplace = "_T('$module:$chaine')";
if ($filtres = $match[4]) {
$filtres = explode('|',substr($filtres,1));
$remplace = applique_filtres($filtres, $remplace);
}
$texte = str_replace($match[0], "'$ferme_multi.$remplace.$ouvre_multi'", $texte);
}
 
 
//
// Reperer les directives d'inclusion de squelette <INCLURE>
//
while (ereg("(<INCLU[DR]E[[:space:]]*\(([-_0-9a-zA-Z./ ]+)\)(([[:space:]]*\{[^}]*\})*)[[:space:]]*>)", $texte, $match)) {
$s = $match[0];
$p = strpos($texte, $s);
$debut = substr($texte, 0, $p);
$texte = substr($texte, $p + strlen($s));
if ($debut)
$code .= " \$retour .= $ouvre_multi'$debut'$ferme_multi;\n";
 
//
// Traiter la directive d'inclusion
//
$fichier = $match[2];
ereg('^\\{(.*)\\}$', trim($match[3]), $params);
$code .= " \$retour .= '<"."?php ';\n";
$code .= " \$retour .= '\$contexte_inclus = \'\'; ';\n";
 
if ($params) {
// Traiter chaque parametre de contexte
$params = split("\}[[:space:]]*\{", $params[1]);
reset($params);
while (list(, $param) = each($params)) {
if (ereg("^([_0-9a-zA-Z]+)[[:space:]]*(=[[:space:]]*([^}]+))?$", $param, $args)) {
$var = $args[1];
$val = $args[3];
 
// cas de la langue
if ($var == 'lang') {
$lang_inclus = "\\'".addslashes($val)."\\'";
if (! $val)
$val = $lang_inclus = '$GLOBALS[spip_lang]';
$code .= " \$retour .= '\$contexte_inclus[$var] = $val; ';\n";
}
else if ($val)
$code .= " \$retour .= '\$contexte_inclus[$var] = \'".addslashes($val)."\'; ';\n";
else
$code .= " \$retour .= '\$contexte_inclus[$var] = \''.addslashes(\$contexte[$var]).'\'; ';\n";
}
}
}
 
if (!$lang_inclus) $lang_inclus = 'lire_meta(\\\'langue_site\\\')';
$code .= " \$retour .= 'include_ecrire(\'inc_lang.php3\'); lang_select($lang_inclus);';\n";
 
// inclure en priorite dans le dossier_squelettes
if ($dossier_squelettes) {
$code .= " \$retour .= '
if (@file_exists(\'$dossier_squelettes/$fichier\')){
include(\'$dossier_squelettes/$fichier\');
} else {
include(\'$fichier\');
}';\n";
} else
$code .= " \$retour .= 'include(\'$fichier\');';\n";
 
$code .= " \$retour .= 'lang_dselect(); ?".">';\n";
}
 
if ($texte)
$code .= " \$retour .= $ouvre_multi'$texte'$ferme_multi;\n";
 
return $code;
}
 
 
//
// Generer le code PHP correspondant a une liste d'objets syntaxiques
//
 
function calculer_liste($tableau, $prefix_boucle, $id_boucle)
{
global $boucles;
global $champs;
global $nb_milieu;
 
$texte = '';
if (!$tableau) return $texte;
 
reset($tableau);
while (list(, $objet) = each($tableau)) {
$milieu = '';
switch($objet->type) {
 
/////////////////////
// Texte
//
case 'texte':
$texte .= calculer_texte($objet->texte);
break;
 
 
/////////////////////
// Boucle
//
case 'boucle':
$nb_milieu++;
$nom_var = "milieu$nb_milieu";
$nom_func = $prefix_boucle.$objet->id_boucle;
if ($objet->cond_avant || $objet->cond_apres || $objet->cond_altern) {
$texte .= " \$$nom_var = $nom_func(\$contexte);\n";
$texte .= " if (\$$nom_var) {\n";
if ($s = $objet->cond_avant) {
$texte .= calculer_liste($s, $prefix_boucle, $id_boucle);
}
$texte .= " \$retour .= \$$nom_var;\n";
if ($s = $objet->cond_apres) {
$texte2 = calculer_liste($s, $prefix_boucle, $id_boucle);
if (strpos($texte2, '$id_instance_cond')) {
$texte .= " \$id_instance_cond++;\n";
$texte .= $texte2;
$texte .= " \$id_instance_cond--;\n";
}
else $texte .= $texte2;
}
$texte .= " }\n";
if ($s = $objet->cond_altern) {
$texte .= " else {\n";
$texte2 = calculer_liste($s, $prefix_boucle, $id_boucle);
if (strpos($texte2, '$id_instance_cond')) {
$texte .= " \$id_instance_cond++;\n";
$texte .= $texte2;
$texte .= " \$id_instance_cond--;\n";
}
else $texte .= $texte2;
$texte .= " }\n";
}
}
else {
$texte .= " \$retour .= $nom_func(\$contexte);\n";
}
$nb_milieu--;
 
break;
 
 
/////////////////////
// Champ
//
case 'champ':
$nb_milieu++;
if ($objet->cond_avant || $objet->cond_apres) {
$nom_var = "milieu$nb_milieu";
$texte .= calculer_champ($objet->id_champ, $id_boucle, $nom_var);
 
$texte .= " if (\$$nom_var) {\n";
if ($s = $objet->cond_avant) {
$texte .= calculer_liste($s, $prefix_boucle, $id_boucle);
}
$texte .= " \$retour .= \$$nom_var;\n";
if ($s = $objet->cond_apres) {
$texte .= calculer_liste($s, $prefix_boucle, $id_boucle);
}
$texte .= " }\n";
}
else {
$nom_var = "milieu$nb_milieu";
$texte2 = calculer_champ($objet->id_champ, $id_boucle, $nom_var);
$c = count(explode("\$$nom_var", $texte2));
if ($c <= 2) {
$texte2 = str_replace("\$$nom_var = ", "\$retour .= ", $texte2);
$texte .= $texte2;
}
else {
$texte .= $texte2;
$texte .= " \$retour .= \$$nom_var;\n";
}
}
$nb_milieu--;
break;
 
} // switch
 
} // while
 
return $texte;
}
 
 
//
// Calculer le squelette : i.e. generer le fichier PHP correspondant
//
 
function calculer_squelette($squelette, $fichier) {
global $racine;
global $boucles;
 
$boucles = '';
$racine = '';
 
$html = join(file("$squelette.html"), "");
parser($html);
 
$squelette_nom = ereg_replace("[^a-zA-Z0-9_]", "_", $squelette);
$func = 'squelette_'.$squelette_nom.'_executer';
$prefix = $func.'_boucle';
$define = strtoupper("_SKEL_$squelette_nom");
 
// Debut du fichier
$texte .= "<"."?php\n\n";
$texte .= "\$func_squelette_executer = '$func';\n\n";
$texte .= "if (defined(\"$define\")) return;\n";
$texte .= "define(\"$define\", \"1\");\n\n\n";
 
// Calculer le code PHP des boucles
if ($boucles) {
reset($boucles);
while (list($id_boucle, ) = each($boucles)) {
$texte .= calculer_boucle($id_boucle, $prefix);
$texte .= "\n\n";
}
}
 
// Calculer le code PHP de la racine
$texte .= "function $func(\$contexte) {\n";
$texte .= " global \$pile_boucles, \$id_instance_cond;\n \$pile_boucles = Array();\n \$id_instance_cond = -1;\n"; // pour #TOTAL_BOUCLE
$texte .= calculer_liste($racine, $prefix, '');
$texte .= " return \$retour;\n";
$texte .= "}\n\n";
 
// Fin du fichier
$texte .= '?'.'>';
 
$f = fopen($fichier, "wb");
fwrite($f, $texte);
fclose($f);
}
 
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/client/inscription/bibliotheque/ins_spip.fonct.php
New file
0,0 → 1,106
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or |
// | modify it under the terms of the GNU Lesser General Public |
// | License as published by the Free Software Foundation; either |
// | version 2.1 of the License, or (at your option) any later version. |
// | |
// | This library is distributed in the hope that it will be useful, |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | Lesser General Public License for more details. |
// | |
// | You should have received a copy of the GNU Lesser General Public |
// | License along with this library; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: ins_spip.fonct.php,v 1.1 2005/03/04 10:39:30 tam Exp $
/**
* Fonctions wikini
*
* Ce fichier propose 3 fonctions pour intervenir sur la table interwikini_users.
*
*@package inscription
*@subpackage fonctions_wikini
//Auteur original :
*@author Alexandre Granier <alexandre@tela-botanica.org>
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.1 $ $Date: 2005/03/04 10:39:30 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | LISTE de FONCTIONS |
// +------------------------------------------------------------------------------------------------------+
 
function inscription_spip($id, $valeurs)
{
$db = &DB::connect(INS_DSN_SPIP) ;
// Requete pour inscrire dans SPIP
 
$requete = "insert into spip_auteurs set id_auteur=$id, nom=\"".$valeurs['prenom']." ".$valeurs['nom'].
"\",email=\"".$valeurs['email']."\",login=\"".$valeurs['email'].
"\", pass=\"".md5($valeurs['mot_de_passe'])."\", statut=\"nouveau\", lang=\"".
strtolower($valeurs['pays'])."\"" ;
$db->query($requete) ;
}
 
function mod_inscription_spip($id)
{
global $HTTP_POST_VARS ;
$db = &DB::connect(INS_DSN_SPIP) ;
//BIEN METTRE alea_actuel, htpass ET alea_futur À ""
$requete = "update spip_auteurs set nom=\"".$HTTP_POST_VARS['prenom']." ".$HTTP_POST_VARS['nom'].
"\",email=\"".$HTTP_POST_VARS['email']."\",login=\"".$HTTP_POST_VARS['email'].
"\", pass=\"".md5($HTTP_POST_VARS['mot_de_passe'])."\", htpass=\"\", alea_actuel=\"\", alea_futur=\"\", lang=\"en\" where id_auteur=$id" ;
//echo $requete;
$db->query($requete) ;
}
function desinscription_spip($id_utilisateur)
{
$db = &DB::connect(INS_DSN_SPIP) ;
//BIEN METTRE alea_actuel, htpass ET alea_futur À ""
$requete = 'delete from spip_auteurs where id_auteur='.$id_utilisateur ;
//echo $requete;
$resultat = $db->query ($requete) ;
if (DB::isError ($resultat)) {
return "Echec de la requete : $requete<br />".$resultat->getMessage() ;
}
}
 
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: ins_spip.fonct.php,v $
* Revision 1.1 2005/03/04 10:39:30 tam
* installation
*
* Revision 1.1 2004/07/06 15:42:17 alex
* en cours
*
* Revision 1.2 2004/06/25 14:25:27 alex
* modification de la requete de suppresssion
*
* Revision 1.1 2004/06/18 09:20:48 alex
* version initiale
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
 
 
 
 
?>
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/client/annuaire/configuration/CVS/Root
New file
0,0 → 1,0
:pserver:alex@162.38.234.6:/usr/cvs
/trunk/client/annuaire/configuration/CVS/Entries
New file
0,0 → 1,2
/ann_config.inc.php/1.2/Tue Mar 8 09:43:34 2005//
D
/trunk/client/annuaire/configuration/CVS/Repository
New file
0,0 → 1,0
applications_web/php/papyrus/client/annuaire/configuration
/trunk/client/annuaire/classes/CVS/Repository
New file
0,0 → 1,0
applications_web/php/papyrus/client/annuaire/classes
/trunk/client/annuaire/classes/CVS/Root
New file
0,0 → 1,0
:pserver:alex@162.38.234.6:/usr/cvs
/trunk/client/annuaire/classes/CVS/Entries
New file
0,0 → 1,2
/inscription.class.php/1.1.1.1/Mon Jan 3 17:27:49 2005//
D
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/pistil.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/pistil.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/f-palmee.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/f-palmee.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/stip.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/stip.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/drupe.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/documents/apercu_botanique/drupe.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/CarteAtlantique.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/CarteAtlantique.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/mahonia/mahonia2.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/mahonia/mahonia2.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/DiocleaEntadap.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/DiocleaEntadap.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus5b.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus5b.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus4p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus4p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/arxaup.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/arxaup.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus14p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/sorbus/Sorbus14p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/aliboufier/aliboufier4.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/aliboufier/aliboufier4.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/Qat/1-2-phenylpropa-6.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/Qat/1-2-phenylpropa-6.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/Qat/norephedrine2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/Qat/norephedrine2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/bleuet_egypte/bleuet6.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/bleuet_egypte/bleuet6.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/iris/iris.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/iris/iris.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/verveine/v-o-fsech.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/verveine/v-o-fsech.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/verveine/v-o-rameau.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/verveine/v-o-rameau.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/ailantetronc.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/ailantetronc.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/carte.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/carte.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/rhusverniciferafe-m.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/fr/images/syntheses/vernis_japon/rhusverniciferafe-m.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/parlons_bota/generique/images/graphisme/img_sousligne1.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/parlons_bota/generique/images/graphisme/img_sousligne1.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/reseau/fr/images/graph_act.php
New file
0,0 → 1,61
<?php
include ("../../../../api/jpgraph_1.12.2/jpgraph.php") ;
include ("../../../../api/jpgraph_1.12.2/jpgraph_pie.php");
include ("../../../../papyrus/configuration/pap_config.inc.php") ;
include_once 'DB.php' ;
 
 
$db = DB::connect (PAP_DSN) ;
 
if (DB::isError($db)) {
echo 'Message Standard : ' . $db->getMessage() . "\n";
echo 'Message DBMS/Utilisateur : ' . $db->getUserInfo() . "\n";
echo 'Message DBMS/D&eacute;boguage : ' . $db->getDebugInfo() . "\n";
exit;
}
 
// requête sur les semaines
 
$data = array() ;
$legend = array() ;
$requete = "select count(U_ACT) as NBR, LABEL_ACT from annuaire_tela, annuaire_LABEL_ACT where U_ACT<>3 and U_ACT=ID_LABEL_ACT group by LABEL_ACT" ;
$resultat = $db->query($requete) ;
 
if (DB::isError ($resultat)) {
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
}
 
while ($ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT)) {
$data[] = $ligne->NBR ;
$legend[] = $ligne->LABEL_ACT ;
}
 
$datay = array_values($data) ;
 
$graph = new PieGraph(500,400,"auto");
$graph->SetShadow();
 
// Set A title for the plot
$graph->title->Set("Activité professionnelle des inscrits");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->title->SetColor("black");
$graph->legend->Pos(0.1,0.1);
 
// Create pie plot
$p1 = new PiePlot($datay);
 
$p1->SetSliceColors(array('red','yellow','seagreen3'));
$p1->SetCenter(0.5,0.6);
 
$p1->SetLabelType(PIE_VALUE_PER) ;
$p1->value->SetFormat('%d %%') ;
$p1->value->Show();
 
$p1->SetLegends($legend);
 
$graph->Add($p1);
$graph->Stroke();
 
 
 
?>
/trunk/sites/reseau/fr/images/membres_reseau.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/reseau/fr/images/membres_reseau.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/reseau/fr/documents/rpresse/herbalia25.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/reseau/fr/documents/rpresse/herbalia25.pdf
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/reseau/fr/documents/rpresse/gazettejardins30.pdf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/reseau/fr/documents/rpresse/gazettejardins30.pdf
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/atelier/generique/images/graphisme/onglet_D_projets.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/atelier/generique/images/graphisme/onglet_D_projets.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/admin/generique/images/graphisme/bandeau_admin.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/admin/generique/images/graphisme/bandeau_admin.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/eflore/generique/images/graphisme/onglet_D_eflore.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/eflore/generique/images/graphisme/onglet_D_eflore.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/eflore/generique/images/photos_plte/6.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/eflore/generique/images/photos_plte/6.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/eflore/fr/styles/eflore.css
New file
0,0 → 1,163
/*Feuille de style du monde eflore
Auteur : Magali Giaume*/
h1{
background-color:#d0abe1;}
h2, #identification_message, #form_connexion legend, #identification legend, #identification_info, #iden_action {
color: #8404ba;}
h2
#efins_titre{
color:grey;}
hr {
color: #8404ba;}
a img {
border : 1px dotted #8404ba;}
 
/*DIFFERENTS BLOCS DE LA PAGE*/
/*bandeau*/
#bandeau {
background: url(/sites/eflore/generique/images/graphisme/bandeau_eflore_fond.png) repeat-x;}
#bandeau_contenu {
background:transparent url(/sites/eflore/generique/images/graphisme/bandeau_eflore.jpg) no-repeat;
height:77px;}
#titre_monde h1 {
color:#ead9f2;}
a {
background-image:url(/sites/eflore/generique/images/graphisme/img_underline_eflore.png);}
a:hover {
background-image:url(/sites/eflore/generique/images/graphisme/img_underline_hover_eflore.png);}
#plan_contact a {
background-image:url(/sites/commun/generique/images/graphisme/img_underline_plan_site_black.png);}
#plan_contact a:hover{
background-image:url(/sites/commun/generique/images/graphisme/img_underline_hover_plan_site_black.png);}
 
/*droite -> onglets */
#onglets li:hover {
color:#8404ba;}
#onglets li:hover a {
color:#8404ba;}
#onglets .menu_inactif {
border-bottom:#8404ba;}
#onglets .menu_actif a {
color:#8404ba;}
/* droite -> contenu */
#contenu {
border:1px solid #8404ba;}
#texte img a{
background:none;}
/*nav_gauche*/
#nav_gauche {
background: #fff url(/sites/eflore/generique/images/graphisme/degrade_lavande.png) repeat-x;}
/* nav_gauche -> menus */
#menus .menu_actif>a {
background-color:#d0abe1;
border-color: rgb(230, 206, 236);}
#menus a:hover {
background-color:#d0abe1;}
/* presentation des menus */
.menu_classique_n2 .menu_actif {
background-color:#d0abe1}
.menu_actif a {
color:#8404ba;}
/* Tableau*/
.table_cadre {
border:1px solid #EABFFF;
margin:0 0 15px 0;}
.table_cadre th {
border:1px solid #EABFFF;
background-color:#DFCBEE;}
.table_cadre td {
border:1px solid #EABFFF;}
.table_cadre {
background-color:white;}
.ligne_paire {
background-color:#eddaf0;}
.form_identification input, .form_identification textarea, .form_identification select {
background-color:#f5e6f4;}
#menu_contextuel {
color:#8404ba;}
/*appli eflore*/
.ef_nn{
color:green;}
.ef_nt{
color:red;}
h2 .nom_latin{
font-size:16px;
text-transform:none;}
#efc_legende{
list-style-type:none;}
#efc_legende li {
clear:both;}
.efcl_couleur {
float:left;
border: black solid 1px;
height:10px;
width:10px;
margin: 2px;}
#ef_colonne_gauche{
margin-right:250px;
padding-right:5px;}
#ef_colonne_droite{
float:right;
width:250px;
border: dashed 1px #BFC0BF;
background-color:#E6E7E6;}
#info_nom_selection{
border:solid 1px #BFC0BF;
margin:12px 2px;
padding:2px;}
#efins_titre{
margin-top:-12px;
padding:2px;
color:#6C6C6C;}
#efins_titre_contenu{
background-color:white;
padding:0 2px;}
#nom_retenu_synonymie, #info_nom_retenu{
border:solid 1px #8506BB;
margin:12px 2px 0 2px;
padding:2px;
background-color:#F9F5FA;}
#efnrs_titre, #efinr_titre{
margin-top:-12px;
padding:2px;}
#efnrs_titre_contenu, #efinr_titre_contenu{
background-color:white;
padding:0 2px;}
#chrono {
display:block;}
#ef_choro {
margin:5px;
padding:5px;}
#ef_choro img {
background-color:white;}
#ef_img_google {
float:left;
margin-right:10px;}
#ef_illustration_info ul{
list-style-type:none;}
#ef_illustration_info li {
float:left;}
#eflore_pied_page{
clear:both;}
#efii_liste_photoflora li, #efii_liste_yahoo li{
float:left;
height:250px;
width:200px;
text-align:center;
border: 1px solid;
border-color:#aaa #444 #444 #aaa;
background-color:#eed}
#efii_liste_yahoo li img, #efii_liste_photoflora li img{
border-color:#444 #aaa #aaa #444;
margin-top:7px;}
#efii_liste_yahoo dl, #efii_liste_photoflora dl {
margin:15px 0 0 8px;
text-align:left;}
#ef_form_google {
margin:2px 0;}
#btnG {
margin:7px 0;}
#ef_img_google {
margin:5px 0;}
#ef_colonne_droite .table_cadre{
margin:0 auto;}
/trunk/sites/plte_env/generique/images/graphisme/degrade_orange.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/plte_env/generique/images/graphisme/degrade_orange.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/plte_env/generique/images/graphisme/logo_tela_rouge.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/plte_env/generique/images/graphisme/logo_tela_rouge.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/commun/generique/squelettes/defaut.html
New file
0,0 → 1,68
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head lang="fr" >
<!-- META_HTTP_EQUIV -->
<title><!-- TITRE_PAGE --></title>
<!-- META_NAME -->
<!-- META_NAME_DC -->
<link rel="stylesheet" type="text/css" media="screen" title="Defaut Papyrus" href="sites/commun/fr/styles/defaut.css" />
<!-- STYLES -->
<!-- SCRIPTS -->
</head>
<body xml:lang="fr" lang="fr" >
<div id="zone_bandeau" >
<div id="logo">
<h1>
<a href="/" title="Retour en page d'accueil">
<img src="mon_logo.png" width="100" height="50" alt="Mon logo" />
</a>
</h1>
</div>
<div id="site_nom">
<h1><!-- NOM_SITE --></h1>
</div>
<ul id="accessibilite">
<li><a href="#zone_contenu_tete">Aller au texte</a></li>
<li class="dernier"><a href="#zone_menu">Aller au menu</a></li>
</ul>
<!-- MENU_COMMUN -->
<div id="selecteur_monde">
<!-- SELECTEUR_SITES -->
</div>
<div id="moteur_recherche">
</div>
</div>
<div id="zone_contenu">
<div id="zone_contenu_tete">
<!-- CONTENU_TETE -->
</div>
<div id="zone_contenu_corps">
<!-- CONTENU_CORPS -->
</div>
<div id="zone_contenu_pied">
<!-- CONTENU_PIED -->
</div>
<div id="zone_pied">
<p> &copy;<a href="#">Mon Copyright</a> 2004 </p>
<!-- CHRONOMETRAGE -->
</div>
</div>
<div id="zone_menu">
<!-- MENU_1_6 -->
<div id="identification">
<!-- IDENTIFICATION -->
</div>
</div>
</body>
</html>
 
/trunk/sites/commun/generique/images/logos/logo_um2.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/commun/generique/images/logos/logo_um2.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/commun/generique/images/logos/logo_agropolis.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/commun/generique/images/logos/logo_agropolis.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/commun/generique/images/favicones/yahoo.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/commun/generique/images/favicones/yahoo.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/commun/generique/images/icones/drapeau_de.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/commun/generique/images/icones/drapeau_de.png
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/commun/fr/images/logo/firefox-surfez-mieux.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/commun/fr/images/logo/firefox-surfez-mieux.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/graphisme/logo_tela_rouge.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/graphisme/logo_tela_rouge.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview42-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview42-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/v-o-fsech.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/v-o-fsech.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/introduction_modelisation_forets.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/introduction_modelisation_forets.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/ago-thelipt.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/ago-thelipt.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/le-reseau-des-botanistes.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/le-reseau-des-botanistes.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/mahonia2.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/mahonia2.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview97-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview97-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/carnet.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/carnet.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/Sorbus6.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/Sorbus6.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/hakea5.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/hakea5.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/etam.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/etam.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/ago-po66.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/ago-po66.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview16-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview16-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/golfe_gascogne_ile_oleron_pays_basque.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/golfe_gascogne_ile_oleron_pays_basque.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/loire.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/loire.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/item-2-reseau-over.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/item-2-reseau-over.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/guide_fougeres_mousses_lichens.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/guide_fougeres_mousses_lichens.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/verv-off.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/verv-off.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview89-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview89-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/orchidees.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/orchidees.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview75-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview75-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/Vicia1p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/Vicia1p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/ago-thymus.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/ago-thymus.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/Sorbus6bp.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/Sorbus6bp.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/fasc.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/fasc.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/couverture-symbiose3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/couverture-symbiose3.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/ailantearbre_m.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/ailantearbre_m.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/guide_fleurs_montagne.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/guide_fleurs_montagne.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/mediterranee_marseille_banyuls.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/mediterranee_marseille_banyuls.jpg
New file
Property changes:
Added: svn:executable
+*
\ No newline at end of property
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/sites/biblio/generique/images/biblio_bota/preview108-p.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/sites/biblio/generique/images/biblio_bota/preview108-p.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property