Exemple #1
0
function install_etape_ldap4_dist()
{
    $adresse_ldap = _request('adresse_ldap');
    $login_ldap = _request('login_ldap');
    $pass_ldap = _request('pass_ldap');
    $port_ldap = _request('port_ldap');
    $base_ldap = _request('base_ldap');
    $base_ldap_text = _request('base_ldap_text');
    if (!$base_ldap) {
        $base_ldap = $base_ldap_text;
    }
    echo install_debut_html();
    $ldap_link = ldap_connect($adresse_ldap, $port_ldap);
    @ldap_bind($ldap_link, $login_ldap, $pass_ldap);
    // Essayer de verifier le chemin fourni
    $r = @ldap_compare($ldap_link, $base_ldap, "objectClass", "");
    $fail = ldap_errno($ldap_link) == 32;
    if ($fail) {
        echo info_etape(_T('info_chemin_acces_annuaire')), info_progression_etape(3, 'etape_ldap', 'install/', true), "<div class='error'><p><b>" . _T('avis_operation_echec') . "</b></p><p>" . _T('avis_chemin_invalide_1'), " (<tt>" . htmlspecialchars($base_ldap) . "</tt>) " . _T('avis_chemin_invalide_2') . "</p></div>";
    } else {
        info_etape(_T('info_reglage_ldap'));
        echo info_progression_etape(4, 'etape_ldap', 'install/');
        $statuts = liste_statuts_ldap();
        $statut_ldap = defined('_INSTALL_STATUT_LDAP') ? _INSTALL_STATUT_LDAP : $GLOBALS['liste_des_statuts']['info_redacteurs'];
        $res = install_propager(array('adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap')) . "<input type='hidden' name='etape' value='ldap5' />" . "<input type='hidden' name='base_ldap' value='" . htmlentities($base_ldap) . "' />" . fieldset(_T('info_statut_utilisateurs_1'), array('statut_ldap' => array('label' => _T('info_statut_utilisateurs_2') . '<br />', 'valeur' => $statut_ldap, 'alternatives' => $statuts))) . install_ldap_correspondances() . bouton_suivant();
        echo generer_form_ecrire('install', $res);
    }
    echo install_fin_html();
}
Exemple #2
0
function install_etape_sup1_dist()
{
	$adresse_db = _request('adresse_db');
	if (!$adresse_db AND defined('_INSTALL_HOST_DB'))
		$adresse_db =_INSTALL_HOST_DB;

	$login_db = _request('login_db');
	if (!$login_db AND defined('_INSTALL_USER_DB'))
		$login_db = _INSTALL_USER_DB;

	$pass_db = _request('pass_db');
	if (!$pass_db  AND defined('_INSTALL_PASS_DB'))
		$pass_db  = _INSTALL_PASS_DB;

	$server_db =_request('server_db');
	if (!$server_db AND  defined('_INSTALL_SERVER_DB'))
		$server_db = _INSTALL_SERVER_DB;

	// Ceci indique la base principale (passe en hidden)
	// pour qu'on la refuse comme choix de base secondaire

	$sel_db =_request('sel_db');
	if (!$sel_db AND  defined('_INSTALL_NAME_DB'))
		$sel_db = _INSTALL_NAME_DB;

	echo install_debut_html(_T('config_titre_base_sup'));

	$link = spip_connect_db($adresse_db, 0, $login_db, $pass_db, '', $server_db);
	$GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']]
	= $GLOBALS['spip_' . $server_db .'_functions_' . $GLOBALS['spip_sql_version']];

	if ($link) {
		$GLOBALS['connexions'][$server_db] = $link;

		echo '<div style="background-color: #eeeeee">';
		echo "\n<!--\n", join(', ', $link), " $login_db ";
		echo join(', ', $GLOBALS['connexions'][$server_db]);
		echo "\n-->\n<p class='resultat'><b>";
		echo _T('info_connexion_ok'),"</b></p>\n";
		echo '<!-- ',  sql_version($server_db), ' -->' ;
		$l = bases_referencees();
		array_push($l, $sel_db);
		list(, $res) = install_etape_liste_bases($server_db, $login_db, $l);

		$hidden = predef_ou_cache($adresse_db,$login_db,$pass_db, $server_db)
		  . (defined('_INSTALL_NAME_DB')
		     ? ''
		     : ("\n<input type='hidden' name='sel_db' value='$sel_db' />\n"));

		echo install_etape_sup1_form($hidden, '', $res, 'sup2');
		echo '</div>';
	} else  {
		echo info_etape(_T('info_connexion_base'));
		echo "<p class='resultat'><b>",
		  _T('avis_connexion_echec_1'),
		  "</b></p>";
	}

	echo install_fin_html();
}
Exemple #3
0
function etape_ldap5_suite()
{
    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
    echo info_etape(_T('info_ldap_ok'), info_progression_etape(5, 'etape_ldap', 'install/'), _T('info_terminer_installation'));
    echo generer_form_ecrire('install', "<input type='hidden' name='etape' value='3' />" . "<input type='hidden' name='ldap_present' value='true' />" . bouton_suivant());
    echo install_fin_html();
}
Exemple #4
0
function install_etape_1_dist()
{
    echo install_debut_html();
    // stopper en cas de grosse incompatibilite de l'hebergement
    tester_compatibilite_hebergement();
    // Recuperer les anciennes donnees pour plus de facilite (si presentes)
    $s = !@is_readable(_FILE_CONNECT_TMP) ? '' : analyse_fichier_connection(_FILE_CONNECT_TMP);
    list($adresse_db, $login_db) = $s ? $s : login_hebergeur();
    $chmod = (isset($_GET['chmod']) and preg_match(',^[0-9]+$,', $_GET['chmod'])) ? sprintf('%04o', $_GET['chmod']) : '0777';
    if (@is_readable(_FILE_CHMOD_TMP)) {
        $s = @join('', @file(_FILE_CHMOD_TMP));
        if (preg_match("#define\\('_SPIP_CHMOD', (.*)\\)#", $s, $regs)) {
            $chmod = $regs[1];
        }
    }
    $db = array($adresse_db, _T('entree_base_donnee_2'));
    $login = array($login_db, _T('entree_login_connexion_2'));
    $pass = array($pass_db, _T('entree_mot_passe_2'));
    $predef = array(defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : '', defined('_INSTALL_HOST_DB'), defined('_INSTALL_USER_DB'), defined('_INSTALL_PASS_DB'));
    echo info_progression_etape(1, 'etape_', 'install/');
    // ces deux chaines de langues doivent etre reecrites
    #	echo info_etape(_T('info_connexion_mysql'), _T('texte_connexion_mysql').aide ("install1", true));
    echo info_etape(_T('info_connexion_base_donnee'));
    echo install_connexion_form($db, $login, $pass, $predef, "\n<input type='hidden' name='chmod' value='{$chmod}' />", 2);
    echo install_fin_html();
}
Exemple #5
0
function install_etape_ldap1_dist()
{
    $adresse_ldap = defined('_INSTALL_HOST_LDAP') ? _INSTALL_HOST_LDAP : 'localhost';
    $port_ldap = defined('_INSTALL_PORT_LDAP') ? _INSTALL_PORT_LDAP : 389;
    $tls_ldap = defined('_INSTALL_TLS_LDAP') ? _INSTALL_TLS_LDAP : 'non';
    $protocole_ldap = defined('_INSTALL_PROTOCOLE_LDAP') ? _INSTALL_PROTOCOLE_LDAP : 3;
    // on essaie 2 en cas d'echec
    $login_ldap = defined('_INSTALL_USER_LDAP') ? _INSTALL_USER_LDAP : '';
    $pass_ldap = defined('_INSTALL_PASS_LDAP') ? _INSTALL_PASS_LDAP : '';
    echo install_debut_html();
    echo info_etape(_T('titre_connexion_ldap'), info_progression_etape(1, 'etape_ldap', 'install/'), _T('entree_informations_connexion_ldap'));
    echo generer_form_ecrire('install', "\n<input type='hidden' name='etape' value='ldap2' />" . fieldset(_T('entree_adresse_annuaire'), array('adresse_ldap' => array('label' => _T('texte_adresse_annuaire_1'), 'valeur' => $adresse_ldap), 'port_ldap' => array('label' => _T('entree_port_annuaire') . '<br />' . _T('texte_port_annuaire'), 'valeur' => $port_ldap), 'tls_ldap' => array('label' => '<b>' . _T('tls_ldap') . '</b>', 'valeur' => $tls_ldap, 'alternatives' => array('non' => _T('item_non'), 'oui' => _T('item_oui'))), 'protocole_ldap' => array('label' => _T('protocole_ldap'), 'valeur' => $protocole_ldap, 'alternatives' => array('3' => '3', '2' => '2')))) . "\n<p>" . _T('texte_acces_ldap_anonyme_1') . '</p>' . fieldset(_T('connexion_ldap'), array('login_ldap' => array('label' => _T('texte_login_ldap_1'), 'valeur' => $login_ldap), 'pass_ldap' => array('label' => _T('entree_passe_ldap'), 'valeur' => $pass_ldap))) . bouton_suivant());
    echo install_fin_html();
}
Exemple #6
0
function install_etape_ldap3_dist()
{
    $adresse_ldap = _request('adresse_ldap');
    $login_ldap = _request('login_ldap');
    $pass_ldap = _request('pass_ldap');
    $port_ldap = _request('port_ldap');
    $base_ldap_text = defined('_INSTALL_BASE_LDAP') ? _INSTALL_BASE_LDAP : "ou=users, dc=mon-domaine, dc=com";
    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
    echo info_etape(_T('info_chemin_acces_1'), info_progression_etape(3, 'etape_ldap', 'install/')), _T('info_chemin_acces_2');
    $ldap_link = @ldap_connect("{$adresse_ldap}", "{$port_ldap}");
    if ($ldap_link) {
        @ldap_bind($ldap_link, "{$login_ldap}", "{$pass_ldap}");
        $result = @ldap_read($ldap_link, "", "objectclass=*", array("namingContexts"));
        $info = @ldap_get_entries($ldap_link, $result);
        @ldap_close($ldap_link);
    }
    $checked = false;
    $res = '';
    if (is_array($info) and $info["count"] > 0) {
        $res .= "<p>" . _T('info_selection_chemin_acces') . "</p>";
        $res .= "<ul>";
        $n = 0;
        for ($i = 0; $i < $info["count"]; $i++) {
            $names = $info[$i]["namingcontexts"];
            if (is_array($names)) {
                for ($j = 0; $j < $names["count"]; $j++) {
                    $n++;
                    $res .= "<li><input name=\"base_ldap\" value=\"" . spip_htmlspecialchars($names[$j]) . "\" type='radio' id='tab{$n}'";
                    if (!$checked) {
                        $res .= " checked=\"checked\"";
                        $checked = true;
                    }
                    $res .= " />";
                    $res .= "<label for='tab{$n}'>" . spip_htmlspecialchars($names[$j]) . "</label></li>\n";
                }
            }
        }
        $res .= "</ul>";
        $res .= _T('info_ou') . " ";
    }
    $res .= "<br />\n<input name=\"base_ldap\" value=\"\" type='radio' id='manuel'";
    if (!$checked) {
        $res .= " checked=\"checked\"";
        $checked = true;
    }
    $res .= " />" . "\n<label for='manuel'>" . _T('entree_chemin_acces') . "</label> " . "\n<fieldset>" . "<input type='text' name='base_ldap_text' class='text' value=\"{$base_ldap_text}\" size='40' />" . "\n</fieldset>" . "\n<input type='hidden' name='etape' value='ldap4' />" . install_propager(array('adresse_ldap', 'port_ldap', 'login_ldap', 'pass_ldap', 'protocole_ldap', 'tls_ldap')) . bouton_suivant();
    echo generer_form_ecrire('install', $res);
    echo install_fin_html();
}
Exemple #7
0
function install_etape_2_dist()
{
    $adresse_db = defined('_INSTALL_HOST_DB') ? _INSTALL_HOST_DB : _request('adresse_db');
    if (preg_match(',(.*):(.*),', $adresse_db, $r)) {
        list(, $adresse_db, $port) = $r;
    } else {
        $port = '';
    }
    $login_db = defined('_INSTALL_USER_DB') ? _INSTALL_USER_DB : _request('login_db');
    $pass_db = defined('_INSTALL_PASS_DB') ? _INSTALL_PASS_DB : _request('pass_db');
    $server_db = defined('_INSTALL_SERVER_DB') ? _INSTALL_SERVER_DB : _request('server_db');
    $name_db = defined('_INSTALL_NAME_DB') ? _INSTALL_NAME_DB : '';
    $chmod = _request('chmod');
    $link = spip_connect_db($adresse_db, $port, $login_db, $pass_db, $name_db, $server_db);
    $GLOBALS['connexions'][$server_db] = $link;
    $GLOBALS['connexions'][$server_db][$GLOBALS['spip_sql_version']] = $GLOBALS['spip_' . $server_db . '_functions_' . $GLOBALS['spip_sql_version']];
    echo install_debut_html();
    // prenons toutes les dispositions possibles pour que rien ne s'affiche !
    /*
     * /!\ sqlite3/PDO : erreur sur join(', ', $link)
     * L'objet PDO ne peut pas etre transformee en chaine
     * Un echo $link ne fonctionne pas non plus
     * Il faut utiliser par exemple print_r($link)
     */
    //echo "\n<!--\n", join(', ', $link), " $login_db ";
    $db_connect = 0;
    // revoirfunction_exists($ferrno) ? $ferrno() : 0;
    //echo join(', ', $GLOBALS['connexions'][$server_db]);
    //echo "\n-->\n";
    if ($db_connect == "0" && $link) {
        echo "<div class='success'><b>" . _T('info_connexion_ok') . "</b></div>";
        echo info_progression_etape(2, 'etape_', 'install/');
        echo info_etape(_T('menu_aide_installation_choix_base') . aide("install2", true));
        echo "\n", '<!-- ', sql_version($server_db), ' -->';
        list($checked, $res) = install_etape_2_bases($login_db, $server_db);
        $hidden = (defined('_SPIP_CHMOD') ? '' : "\n<input type='hidden' name='chmod' value='" . spip_htmlspecialchars($chmod) . "' />") . predef_ou_cache($adresse_db . ($port ? ':' . $port : ''), $login_db, $pass_db, $server_db);
        echo install_etape_2_form($hidden, $checked, $res, 3);
    } else {
        echo info_progression_etape(1, 'etape_', 'install/', true);
        echo "<div class='error'>";
        echo info_etape(_T('info_connexion_base'));
        echo "<h3>" . _T('avis_connexion_echec_1') . "</h3>";
        echo "<p>" . _T('avis_connexion_echec_2') . "</p>";
        echo "<p style='font-size: small;'>", _T('avis_connexion_echec_3'), "</p></div>";
    }
    echo install_fin_html();
}
Exemple #8
0
function install_etape_ldap2_dist()
{
    echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
    $adresse_ldap = _request('adresse_ldap');
    $port_ldap = _request('port_ldap');
    $tls_ldap = _request('tls_ldap');
    $protocole_ldap = _request('protocole_ldap');
    $login_ldap = _request('login_ldap');
    $pass_ldap = _request('pass_ldap');
    $port_ldap = intval($port_ldap);
    $tls = false;
    if ($tls_ldap == 'oui') {
        if ($port_ldap == 636) {
            $adresse_ldap = "ldaps://{$adresse_ldap}";
        } else {
            $tls = true;
        }
    }
    $ldap_link = ldap_connect($adresse_ldap, $port_ldap);
    $erreur = "ldap_connect({$adresse_ldap}, {$port_ldap})";
    if ($ldap_link) {
        if (!ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap)) {
            $protocole_ldap = 2;
            ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap);
        }
        if ($tls === true) {
            if (!ldap_start_tls($ldap_link)) {
                $erreur = "ldap_start_tls({$ldap_link}) {$adresse_ldap}, {$port_ldap}";
                $ldap_link = false;
            }
        }
        if ($ldap_link) {
            $ldap_link = ldap_bind($ldap_link, $login_ldap, $pass_ldap);
            $erreur = "ldap_bind('{$ldap_link}', '{$login_ldap}', '{$pass_ldap}'): {$adresse_ldap}, {$port_ldap}";
        }
    }
    if ($ldap_link) {
        echo info_etape(_T('titre_connexion_ldap'), info_progression_etape(2, 'etape_ldap', 'install/')), _T('info_connexion_ldap_ok');
        echo generer_form_ecrire('install', "\n<input type='hidden' name='etape' value='ldap3' />" . "\n<input type='hidden' name='adresse_ldap' value=\"{$adresse_ldap}\" />" . "\n<input type='hidden' name='port_ldap' value=\"{$port_ldap}\" />" . "\n<input type='hidden' name='login_ldap' value=\"{$login_ldap}\" />" . "\n<input type='hidden' name='pass_ldap' value=\"{$pass_ldap}\" />" . "\n<input type='hidden' name='protocole_ldap' value=\"{$protocole_ldap}\" />" . "\n<input type='hidden' name='tls_ldap' value=\"{$tls_ldap}\" />" . bouton_suivant());
    } else {
        echo info_etape(_T('titre_connexion_ldap')), info_progression_etape(1, 'etape_ldap', 'install/', true), "<div class='error'><p>" . _T('avis_connexion_ldap_echec_1') . "</p>", "<p>" . _T('avis_connexion_ldap_echec_2') . "<br />\n" . _T('avis_connexion_ldap_echec_3') . '<br /><br />' . $erreur . '<b> ?</b></p></div>';
    }
    echo install_fin_html();
}
Exemple #9
0
function install_etape_4_dist()
{

	// creer le repertoire cache, qui sert partout !
	if(!@file_exists(_DIR_CACHE)) {
		$rep = preg_replace(','._DIR_TMP.',', '', _DIR_CACHE);
		$rep = sous_repertoire(_DIR_TMP, $rep, true,true);
	}


	echo install_debut_html('AUTO', ' onload="document.getElementById(\'suivant\').focus();return false;"');
	echo info_progression_etape(4,'etape_','install/');

	echo "<p>"
			._L('Les extensions ci-dessous sont charg&#233;es et activ&#233;es dans le r&#233;pertoire @extensions@.', array('extensions' => joli_repertoire(_DIR_EXTENSIONS)))
			."</p>";

	// installer les extensions
	include_spip('inc/plugin');
	$afficher = charger_fonction("afficher_liste",'plugins');
	echo $afficher(self(), liste_plugin_files(_DIR_EXTENSIONS),array(), _DIR_EXTENSIONS,'afficher_nom_plugin');

	installe_plugins();

	echo info_etape(_T('info_derniere_etape'),
			_T('info_utilisation_spip')
	);

	// mettre a jour si necessaire l'adresse du site
	// securite si on arrive plus a se loger
	include_spip('inc/config');
	$_POST['adresse_site'] = '';
	appliquer_modifs_config();

	// aller a la derniere etape qui clos l'install et redirige
	$suite =  "\n<input type='hidden' name='etape' value='fin' />"
	  . bouton_suivant(_T('login_espace_prive'));

	echo generer_form_ecrire('install', $suite);	echo install_fin_html();
}
Exemple #10
0
function install_premier_auteur($email, $login, $nom, $pass, $hidden)
{
	return info_progression_etape(3,'etape_','install/') .
		info_etape(_T('info_informations_personnelles'),

		     "<b>"._T('texte_informations_personnelles_1')."</b>" .
			     aide ("install5") .
			     "<p>" .
			     _T('texte_informations_personnelles_2') . " " .
			     _T('info_laisser_champs_vides')
			     )
	. generer_form_ecrire('install', (
			  "\n<input type='hidden' name='etape' value='3b' />"
			  . $hidden
			  . fieldset(_T('info_identification_publique'),
				    array(
					  'nom' => array(
							 'label' => "<b>"._T('entree_signature')."</b><br />\n"._T('entree_nom_pseudo_1')."\n",
							 'valeur' => $nom
							 ),
					  'email' => array(
							   'label' => "<b>"._T('entree_adresse_email')."</b>\n",
							   'valeur' => $email
							   )
					  )
				    )

			  . fieldset(_T('entree_identifiants_connexion'),
				   array(
					 'login' => array(
							  'label' => "<b>"._T('entree_login')."</b><br />\n"._T('info_plus_trois_car')."\n",
							  'valeur' => $login
							  ),
					 'pass' => array(
							 'label' => "<b>"._T('entree_mot_passe')."</b><br />\n"._T('info_plus_cinq_car_2')."\n",
							 'valeur' => $pass
							 ),
					 'pass_verif' => array(
							       'label' => "<b>"._T('info_confirmer_passe')."</b><br />\n",
							       'valeur' => $pass
							       )
					 )
				     )
			  . bouton_suivant()));
}
Exemple #11
0
function install_premier_auteur($email, $login, $nom, $pass, $hidden, $auteur_obligatoire)
{
    return info_progression_etape(3, 'etape_', 'install/') . info_etape(_T('info_informations_personnelles'), "<b>" . _T('texte_informations_personnelles_1') . "</b>" . aide("install5", true) . "<p>" . ($auteur_obligatoire ? '' : _T('texte_informations_personnelles_2') . " " . _T('info_laisser_champs_vides'))) . generer_form_ecrire('install', "\n<input type='hidden' name='etape' value='3b' />" . $hidden . fieldset(_T('info_identification_publique'), array('nom' => array('label' => "<b>" . _T('entree_signature') . "</b><br />\n" . _T('entree_nom_pseudo_1') . "\n", 'valeur' => $nom, 'required' => $auteur_obligatoire), 'email' => array('label' => "<b>" . _T('entree_adresse_email') . "</b>\n", 'valeur' => $email))) . fieldset(_T('entree_identifiants_connexion'), array('login' => array('label' => "<b>" . _T('entree_login') . "</b><br />\n" . _T('info_login_trop_court_car_pluriel', array('nb' => _LOGIN_TROP_COURT)) . "\n", 'valeur' => $login, 'required' => $auteur_obligatoire), 'pass' => array('label' => "<b>" . _T('entree_mot_passe') . "</b><br />\n" . _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI)) . "\n", 'valeur' => $pass, 'required' => $auteur_obligatoire), 'pass_verif' => array('label' => "<b>" . _T('info_confirmer_passe') . "</b><br />\n", 'valeur' => $pass, 'required' => $auteur_obligatoire))) . bouton_suivant());
}