Changeset 2248


Ignore:
Timestamp:
Mar 3, 2008, 8:42:16 PM (16 years ago)
Author:
patdenice
Message:

Install goes smarty.
Get browser language directly.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/install.php

    r2201 r2248  
    2828define('PHPWG_ROOT_PATH','./');
    2929
    30 //
    31 // Pick a language, any language ...
    32 //
    33 function language_select($default, $select_name = "language")
    34 {
    35   $available_lang = get_languages('utf-8');
    36 
    37   $lang_select = '<select name="' . $select_name . '" onchange="document.location = \''.PHPWG_ROOT_PATH.'install.php?language=\'+this.options[this.selectedIndex].value;">';
    38   foreach ($available_lang as $code => $displayname)
    39   {
    40     $selected = ( strtolower($default) == strtolower($code) ) ? ' selected="selected"' : '';
    41     $lang_select .= '<option value="'.$code.'" ' . $selected . '>' . ucwords($displayname) . '</option>';
    42   }
    43   $lang_select .= '</select>';
    44 
    45   return $lang_select;
    46 }
    47 
    4830/**
    4931 * loads an sql file and executes all queries
     
    210192include(PHPWG_ROOT_PATH . 'include/template.php');
    211193
    212 if ( isset( $_REQUEST['language'] ))
    213 {
    214   $language = strip_tags($_REQUEST['language']);
     194if (isset($_GET['language']))
     195{
     196  $language = strip_tags($_GET['language']);
    215197}
    216198else
    217199{
    218200  $language = 'en_UK';
     201  // Try to get browser language
     202  foreach (get_languages('utf-8') as $language_code => $language_name)
     203  {
     204    if (substr($language_code,0,2) == @substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2))
     205    {
     206      $language = $language_code;
     207      break;
     208    }
     209  }
    219210}
    220211
     
    224215
    225216//----------------------------------------------------- template initialization
    226 $template=new Template(PHPWG_ROOT_PATH.'template/yoga');
     217$template=new Template(PHPWG_ROOT_PATH.'template/yoga', 'clear');
    227218$template->set_filenames( array('install'=>'install.tpl') );
    228219$step = 1;
     
    304295      $html_content = htmlentities( $file_content, ENT_QUOTES );
    305296      $html_content = nl2br( $html_content );
    306       $template->assign_block_vars(
    307         'error_copy',
    308         array(
    309           'FILE_CONTENT' => $html_content,
    310           )
    311         );
     297      $template->assign('error_copy', $html_content);
    312298    }
    313299    @fputs($fp, $file_content, strlen($file_content));
     
    381367}
    382368
    383 $template->assign_vars(
     369//------------------------------------------------------ start template output
     370foreach (get_languages('utf-8') as $language_code => $language_name)
     371{
     372  if ($language == $language_code)
     373  {
     374    $template->assign('language_selection', $language_code);
     375  }
     376  $languages_options[$language_code] = $language_name;
     377}
     378$template->assign('language_options', $languages_options);
     379
     380$template->assign(
    384381  array(
     382    'T_CONTENT_ENCODING' => 'utf-8',
    385383    'RELEASE'=>PHPWG_VERSION,
    386 
    387     'L_BASE_TITLE'=>l10n('Initial_config'),
    388     'L_LANG_TITLE'=>l10n('Default_lang'),
    389     'L_DB_TITLE'=>l10n('step1_title'),
    390     'L_DB_HOST'=>l10n('step1_host'),
    391     'L_DB_HOST_INFO'=>l10n('step1_host_info'),
    392     'L_DB_USER'=>l10n('step1_user'),
    393     'L_DB_USER_INFO'=>l10n('step1_user_info'),
    394     'L_DB_PASS'=>l10n('step1_pass'),
    395     'L_DB_PASS_INFO'=>l10n('step1_pass_info'),
    396     'L_DB_NAME'=>l10n('step1_database'),
    397     'L_DB_NAME_INFO'=>l10n('step1_database_info'),
    398     'L_DB_PREFIX'=>l10n('step1_prefix'),
    399     'L_DB_PREFIX_INFO'=>l10n('step1_prefix_info'),
    400     'L_ADMIN_TITLE'=>l10n('step2_title'),
    401     'L_ADMIN'=>l10n('install_webmaster'),
    402     'L_ADMIN_INFO'=>l10n('install_webmaster_info'),
    403     'L_ADMIN_PASSWORD'=>l10n('step2_pwd'),
    404     'L_ADMIN_PASSWORD_INFO'=>l10n('step2_pwd_info'),
    405     'L_ADMIN_CONFIRM_PASSWORD'=>l10n('step2_pwd_conf'),
    406     'L_ADMIN_CONFIRM_PASSWORD_INFO'=>l10n('step2_pwd_conf_info'),
    407     'L_ADMIN_EMAIL'=>l10n('conf_mail_webmaster'),
    408     'L_ADMIN_EMAIL_INFO'=>l10n('conf_mail_webmaster_info'),
    409     'L_SUBMIT'=>l10n('Start_Install'),
    410     'L_INSTALL_HELP'=>sprintf(l10n('install_help'), 'http://forum.'.PHPWG_DOMAIN.'/'),
    411     'L_ERR_COPY'=>l10n('step1_err_copy'),
    412     'L_END_TITLE'=>l10n('install_end_title'),
    413     'L_END_MESSAGE'=>l10n('install_end_message'),
    414 
    415     'F_ACTION'=>'install.php',
     384    'F_ACTION' => 'install.php?language=' . $language,
    416385    'F_DB_HOST'=>$dbhost,
    417386    'F_DB_USER'=>$dbuser,
    418387    'F_DB_NAME'=>$dbname,
    419     'F_DB_PREFIX' => (
    420       $table_prefix != DEFAULT_PREFIX_TABLE
    421       ? $table_prefix
    422       : DEFAULT_PREFIX_TABLE
    423       ),
     388    'F_DB_PREFIX' => $table_prefix,
    424389    'F_ADMIN'=>$admin_name,
    425390    'F_ADMIN_EMAIL'=>$admin_mail,
    426     'F_LANG_SELECT'=>language_select($language),
    427 
    428     'T_CONTENT_ENCODING' => 'utf-8'
     391    'L_INSTALL_HELP'=>sprintf(l10n('install_help'), 'http://forum.'.PHPWG_DOMAIN.'/'),
    429392    ));
    430393
    431394//------------------------------------------------------ errors & infos display
    432 if ( sizeof( $errors ) != 0 )
    433 {
    434   $template->assign_block_vars('errors',array());
    435   for ( $i = 0; $i < sizeof( $errors ); $i++ )
    436   {
    437     $template->assign_block_vars('errors.error',array('ERROR'=>$errors[$i]));
    438   }
    439 }
    440 
    441 if ( sizeof( $infos ) != 0 )
    442 {
    443   $template->assign_block_vars('infos',array());
    444   for ( $i = 0; $i < sizeof( $infos ); $i++ )
    445   {
    446     $template->assign_block_vars('infos.info',array('INFO'=>$infos[$i]));
    447   }
    448 }
    449 
    450 if ($step ==1)
    451 {
    452   $template->assign_block_vars('install',array());
    453 }
    454 else
    455 {
    456   $template->assign_block_vars('install_end',array());
     395if (count($errors) != 0)
     396{
     397  $template->assign('errors', $errors);
     398}
     399
     400if (count($infos) != 0 )
     401{
     402  $template->assign('infos', $infos);
     403}
     404
     405if ($step == 1)
     406{
     407  $template->assign('install', true);
    457408}
    458409
  • trunk/language/en_UK/install.lang.php

    r2115 r2248  
    4141$lang['step1_err_copy_2'] = 'The next step of the installation is now possible';
    4242$lang['step1_err_copy_next'] = 'next step';
    43 $lang['step1_err_copy'] = 'Copy the text between hyphens and paste it into the file "include/mysql.inc.php"(Warning : mysql.inc.php must only contain what is in blue, no line return or space character)';
     43$lang['step1_err_copy'] = 'Copy the text in red between hyphens and paste it into the file "include/mysql.inc.php"(Warning : mysql.inc.php must only contain what is in blue, no line return or space character)';
    4444
    4545$lang['step1_host'] = 'MySQL host';
  • trunk/language/es_ES/install.lang.php

    r2145 r2248  
    5959$lang['step2_pwd_conf'] = 'Palabra de paso [Confirmar]';
    6060$lang['step2_pwd_conf_info'] = 'Comprobación';
    61 $lang['step1_err_copy'] = 'Copie el texto en azul entre las rayas y pegúelo en el fichero mysql.inc.php que se encuentra en el repertorio " include " a la base del lugar donde usted instaló a PhpWebGallery (el fichero mysql.inc.php debe contener SÓLO lo que está en azul entre las rayas, ninguna vuelta a la línea o espacio es autorizado)';
     61$lang['step1_err_copy'] = 'Copie el texto en rojo entre las rayas y pegúelo en el fichero mysql.inc.php que se encuentra en el repertorio " include " a la base del lugar donde usted instaló a PhpWebGallery (el fichero mysql.inc.php debe contener SÓLO lo que está en azul entre las rayas, ninguna vuelta a la línea o espacio es autorizado)';
    6262$lang['install_help'] = '¿ Necesidad de ayudante? Plantee su cuestión sobre él <a href="%s">foro de PhpWebGallery</a>.';
    6363$lang['install_end_message'] = 'La configuración de la aplicación correctamente se celebró, coloca en la etapa próxima<br /><br />
  • trunk/language/fr_FR/install.lang.php

    r2130 r2248  
    5858$lang['step2_pwd_conf'] = 'Mot de passe [ Confirmer ]';
    5959$lang['step2_pwd_conf_info'] = 'Vérification';
    60 $lang['step1_err_copy'] = 'Copiez le texte en bleu entre les tirets et collez-le dans le fichier mysql.inc.php qui se trouve dans le répertoire "include" à la base de l\'endroit où vous avez installé PhpWebGallery (le fichier mysql.inc.php ne doit comporter QUE ce qui est en bleu entre les tirets, aucun retour à la ligne ou espace n\'est autorisé)';
     60$lang['step1_err_copy'] = 'Copiez le texte en rouge entre les tirets et collez-le dans le fichier mysql.inc.php qui se trouve dans le répertoire "include" à la base de l\'endroit où vous avez installé PhpWebGallery (le fichier mysql.inc.php ne doit comporter QUE ce qui est en bleu entre les tirets, aucun retour à la ligne ou espace n\'est autorisé)';
    6161$lang['install_help'] = 'Besoin d\'aide ? Posez votre question sur le <a href="%s">forum de PhpWebGallery</a>.';
    6262$lang['install_end_message'] = 'La configuration de l\'application s\'est correctement déroulée, place à la prochaine étape<br /><br />
  • trunk/template/yoga/install.tpl

    r2222 r2248  
    1 <!-- DEV TAG: not smarty migrated -->
     1{* $Id$ *}
    22<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    33"http://www.w3.org/TR/html4/strict.dtd">
    44<html lang="fr">
    55<head>
    6 <meta http-equiv="Content-Type" content="text/html; charset={T_CONTENT_ENCODING}">
     6<meta http-equiv="Content-Type" content="text/html; charset={$T_CONTENT_ENCODING}">
    77<meta http-equiv="Content-script-type" content="text/javascript">
    88<meta http-equiv="Content-Style-Type" content="text/css">
    9 <title>PhpWebGallery {RELEASE}</title>
     9<title>PhpWebGallery {$RELEASE}</title>
     10{literal}
    1011<style type="text/css">
    1112
     
    107108}
    108109</style>
     110{/literal}
    109111</head>
    110112<body>
     
    112114    <tr align="center" valign="middle">
    113115    <td>
    114     <div class="title">PhpWebGallery {RELEASE}</div>
     116    <div class="title">PhpWebGallery {$RELEASE}</div>
    115117      <table class="table1">
    116       <!-- BEGIN errors -->
     118      {if isset($errors)}
    117119      <tr>
    118120      <td class="contenucellule" colspan="3">
    119121        <div class="errors">
    120122        <ul>
    121           <!-- BEGIN error -->
    122           <li>{errors.error.ERROR}</li>
    123           <!-- END error -->
     123          {foreach from=$errors item=error}
     124          <li>{$error}</li>
     125          {/foreach}
    124126        </ul>
    125127        </div>
    126128      </td>
    127129      </tr>
    128       <!-- END errors -->
    129       <!-- BEGIN infos -->
     130      {/if}
     131      {if isset($infos)}
    130132      <tr>
    131133      <td class="contenucellule" colspan="3">
    132134        <div class="infos">
    133135        <ul>
    134           <!-- BEGIN info -->
    135           <li>{infos.info.INFO}</li>
    136           <!-- END info -->
     136          {foreach from=$infos item=info}
     137          <li>{$info}</li>
     138          {/foreach}
    137139        </ul>
    138140        </div>
    139141      </td>
    140142      </tr>
    141       <!-- END infos -->
     143      {/if}
    142144    <tr>
    143145    <td class="contenucellule">
    144146
    145 <!-- BEGIN error_copy -->
    146 {L_ERR_COPY} :
     147{if isset($error_copy)}
     148{'step1_err_copy'|@translate} :
    147149<br />-----------------------------------------------------<br />
    148 <div class="error_copy">{error_copy.FILE_CONTENT}</div>
     150<div class="error_copy">{$error_copy}</div>
    149151-----------------------------------------------------<br />
    150 <!-- END error_copy -->
    151 <!-- BEGIN install -->
    152 <form method="POST" action="{F_ACTION}" name="install_form">
     152{/if}
     153
     154{if isset($install)}
     155<form method="POST" action="{$F_ACTION}" name="install_form">
    153156  <table>
    154157    <tr>
    155       <th colspan="3">{L_BASE_TITLE}</th>
    156     </tr>
    157     <tr>
    158       <td style="width:30%;">{L_LANG_TITLE}</td>
     158      <th colspan="3">{'Initial_config'|@translate}</th>
     159    </tr>
     160    <tr>
     161      <td style="width:30%;">{'Default_lang'|@translate}</td>
    159162      <td colspan="2" align="left">
    160     {F_LANG_SELECT}
     163    <select name="language" onchange="document.location = 'install.php?language='+this.options[this.selectedIndex].value;">
     164    {html_options options=$language_options selected=$language_selection}
     165    </select>
    161166      </td>
    162167    </tr>
     
    165170    </tr>
    166171    <tr>
    167       <th colspan="3">{L_DB_TITLE}</th>
    168     </tr>
    169     <tr>
    170       <td>{L_DB_HOST}</td>
    171       <td align=center><input type="text" name="dbhost" value="{F_DB_HOST}" /></td>
    172       <td class="row">{L_DB_HOST_INFO}</td>
    173     </tr>
    174     <tr>
    175       <td>{L_DB_USER}</td>
    176       <td align=center><input type="text" name="dbuser" value="{F_DB_USER}" /></td>
    177       <td class="row">{L_DB_USER_INFO}</td>
    178     </tr>
    179     <tr>
    180       <td>{L_DB_PASS}</td>
     172      <th colspan="3">{'step1_title'|@translate}</th>
     173    </tr>
     174    <tr>
     175      <td>{'step1_host'|@translate}</td>
     176      <td align=center><input type="text" name="dbhost" value="{$F_DB_HOST}" /></td>
     177      <td class="row">{'step1_host_info'|@translate}</td>
     178    </tr>
     179    <tr>
     180      <td>{'step1_user'|@translate}</td>
     181      <td align=center><input type="text" name="dbuser" value="{$F_DB_USER}" /></td>
     182      <td class="row">{'step1_user_info'|@translate}</td>
     183    </tr>
     184    <tr>
     185      <td>{'step1_pass'|@translate}</td>
    181186      <td align=center><input type="password" name="dbpasswd" value="" /></td>
    182       <td class="row">{L_DB_PASS_INFO}</td>
    183     </tr>
    184     <tr>
    185       <td>{L_DB_NAME}</td>
    186       <td align=center><input type="text" name="dbname" value="{F_DB_NAME}" /></td>
    187       <td class="row">{L_DB_NAME_INFO}</td>
    188     </tr>
    189     <tr>
    190       <td>{L_DB_PREFIX}</td>
    191       <td align=center><input type="text" name="prefix" value="{F_DB_PREFIX}" /></td>
    192       <td class="row">{L_DB_PREFIX_INFO}</td>
     187      <td class="row">{'step1_pass_info'|@translate}</td>
     188    </tr>
     189    <tr>
     190      <td>{'step1_database'|@translate}</td>
     191      <td align=center><input type="text" name="dbname" value="{$F_DB_NAME}" /></td>
     192      <td class="row">{'step1_database_info'|@translate}</td>
     193    </tr>
     194    <tr>
     195      <td>{'step1_prefix'|@translate}</td>
     196      <td align=center><input type="text" name="prefix" value="{$F_DB_PREFIX}" /></td>
     197      <td class="row">{'step1_prefix_info'|@translate}</td>
    193198    </tr>
    194199    <tr>
     
    196201    </tr>
    197202    <tr>
    198       <th colspan="3">{L_ADMIN_TITLE}</th>
    199     </tr>
    200     <tr>
    201       <td>{L_ADMIN}</td>
    202       <td align="center"><input type="text" name="admin_name" value="{F_ADMIN}" /></td>
    203       <td class="row">{L_ADMIN_INFO}</td>
    204     </tr>
    205     <tr>
    206       <td>{L_ADMIN_PASSWORD}</td>
     203      <th colspan="3">{'step2_title'|@translate}</th>
     204    </tr>
     205    <tr>
     206      <td>{'install_webmaster'|@translate}</td>
     207      <td align="center"><input type="text" name="admin_name" value="{$F_ADMIN}" /></td>
     208      <td class="row">{'install_webmaster_info'|@translate}</td>
     209    </tr>
     210    <tr>
     211      <td>{'step2_pwd'|@translate}</td>
    207212      <td align="center"><input type="password" name="admin_pass1" value="" /></td>
    208       <td class="row">{L_ADMIN_PASSWORD_INFO}</td>
    209     </tr>
    210     <tr>
    211       <td>{L_ADMIN_CONFIRM_PASSWORD}</td>
     213      <td class="row">{'step2_pwd_info'|@translate}</td>
     214    </tr>
     215    <tr>
     216      <td>{'step2_pwd_conf'|@translate}</td>
    212217      <td align="center"><input type="password" name="admin_pass2" value="" /></td>
    213       <td class="row">{L_ADMIN_CONFIRM_PASSWORD_INFO}</td>
    214     </tr>
    215     <tr>
    216       <td>{L_ADMIN_EMAIL}</td>
    217       <td align="center"><input type="text" name="admin_mail" value="{F_ADMIN_EMAIL}" /></td>
    218       <td class="row">{L_ADMIN_EMAIL_INFO}</td>
     218      <td class="row">{'step2_pwd_conf_info'|@translate}</td>
     219    </tr>
     220    <tr>
     221      <td>{'conf_mail_webmaster'|@translate}</td>
     222      <td align="center"><input type="text" name="admin_mail" value="{$F_ADMIN_EMAIL}" /></td>
     223      <td class="row">{'conf_mail_webmaster_info'|@translate}</td>
    219224    </tr>
    220225    <tr>
     
    223228    <tr>
    224229      <td colspan="3" align="center">
    225         <input class="submit" type="submit" name="install" value="{L_SUBMIT}" />
     230        <input class="submit" type="submit" name="install" value="{'Start_Install'|@translate}" />
    226231      </td>
    227232    </tr>
     
    231236  </table>
    232237</form>
    233 <!-- END install -->
    234 
    235 <!-- BEGIN install_end -->
     238{else}
    236239<div class="infos_title">
    237 {L_END_TITLE}
     240{'install_end_title'|@translate}
    238241</div>
    239242<div class="infos">
    240 {L_END_MESSAGE}
     243{'install_end_message'|@translate}
    241244</div>
    242 <!-- END install_end -->
     245{/if}
    243246
    244247              </td>
    245248            </tr>
    246249          </table>
    247           <div class="header">{L_INSTALL_HELP}</div>
     250          <div class="header">{$L_INSTALL_HELP}</div>
    248251        </td>
    249252      </tr>
Note: See TracChangeset for help on using the changeset viewer.