Commit 67c2e631 authored by Pierre's avatar Pierre

cloud dans barre menu

parent b86f7506
<a href="#cloud" id="bouton_cloud" class="dropdown-toggle"><:cloud_menu:> <b class="caret"></b></a>
<ul class="menu-liste menu-items formulaire_cloud dropdown-menu navbar-dp" id="formulaire_cloud">
<li class="menu-entree item">
<div class="formulaire_cloud">
<form action="[(#ENV{action})]" method="post" class="navbar-search">
#ACTION_FORMULAIRE{#ENV{action}}
[<input type="hidden" name="lang" value="(#ENV{lang})" />]
[<input type="hidden" name="serveur" value="(#ENV{serveur})" />]
<div class="">
<input type="[(#HTML5|?{search,text})]" class="search text span2" name="cloud" id="cloud"[ value="(#ENV{cloud}|?{#ENV{cloud},<:cloud_domaine:>})"] accesskey="4" autocapitalize="off" autocorrect="off" title="<:cloud_domaine:>"/>
[<label class='erreur_message'>(#ENV**{erreurs}|table_valeur{cloud})</label>]
</div>
</form>
</div>
</li>
</ul>
<script type="text/javascript">
[ (#ENV**{erreurs}|table_valeur{cloud}|oui)
$("#formulaire_cloud").show();
]
[ (#ENV**{erreurs}|table_valeur{cloud}|non)
$("#formulaire_cloud").hide();
]
</script>
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* 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. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* chargement des valeurs par defaut des champs du #FORMULAIRE_RECHERCHE
* on peut lui passer l'url de destination en premier argument
* on peut passer une deuxième chaine qui va différencier le formulaire pour pouvoir en utiliser plusieurs sur une même page
*
* @param string $lien URL où amène le formulaire validé
* @param string $class Une class différenciant le formulaire
* @return array
*/
function formulaires_cloud_charger_dist(){
$valeur["cloud"] = _request('cloud');
$valeur["serveur"] = _request('serveur');
return $valeur;
}
function formulaires_cloud_verifier_dist(){
$erreurs = array();
$domaine =_request('cloud');
$serveur = cloud_dp ($domaine);
set_request("serveur", "https://$serveur");
if(!$serveur)
$erreurs['cloud'] = "Adresse invalide";
// else if(!match($serveur,'.domainepublic.net'))
// $erreurs['cloud'] = "Ce nom de domaine n'est pas hébergé par domainepublic";
else
set_request("erreurs", array());
return $erreurs;
}
function formulaires_cloud_traiter_dist(){
$serveur =_request('serveur');
set_request("erreurs", array());
// spip_log("serveur ".$serveur,'test'._LOG_AVERTISSEMENT);
// header("Location: ".$serveur);
// exit;
// return array("editable" => "oui");
return array(
'redirect' => $serveur,
);
}
?>
......@@ -3,6 +3,7 @@
$(document).ready(function(){
$(".deroule li#item-webmail:hover ul, .deroule li li#item-webmail:hover ul, .deroule li li li#item-webmail:hover ul, .deroule li li li li#item-webmail:hover ul, .deroule li#item-webmail ul").css('left', 'auto');
$(".deroule li#item-bureau:hover ul, .deroule li li#item-bureau:hover ul, .deroule li li li#item-bureau:hover ul, .deroule li li li li#item-bureau:hover ul, .deroule li#item-bureau ul").css('left', 'auto');
$(".deroule li#item-cloud:hover ul, .deroule li li#item-cloud:hover ul, .deroule li li li#item-cloud:hover ul, .deroule li li li li#item-cloud:hover ul, .deroule li#item-cloud ul").css('left', 'auto');
$("#bouton_bureau").click(function(event) {
if ($("#bureau").val() == ""){
$("#bureau").val("<:bureau_domaine:>");
......@@ -41,6 +42,22 @@ $(document).ready(function(){
$("#webmail, #modele_webmail").val("");
$("#webmail, #modele_webmail").css('font-style', 'normal');
});
$("#bouton_cloud").click(function(event) {
if ($("#cloud").val() == ""){
$("#cloud").val("<:cloud_domaine:>");
$("#cloud").css('font-style', 'italic');
}
if(!$('#formulaire_cloud').is(':visible')) {
$(".navbar .navbar-dp").hide();
}
$("#formulaire_cloud").toggle();
event.stopPropagation();
});
$( "#cloud, #modele_cloud" ).focus(function() {
if ($("#cloud, #modele_cloud").val() == "<:cloud_domaine:>")
$("#cloud, #modele_cloud").val("");
$("#cloud, #modele_cloud").css('font-style', 'normal');
});
mainmenu();
});
......
......@@ -7,7 +7,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'bureau_domaine' => 'Domaine à gérer (ex : monsite.be)',
'bureau_menu' => 'Bureau',
'cloud_menu' => 'Cloud',
'webmail_domaine' => "Adresse email à consulter",
'cloud_domaine' => "Adresse de votre cloud",
'webmail_menu' => 'Webmail',
'pads_menu' => 'Pads',
'menu_incidents' => 'incidents.domainepublic.net',
......
......@@ -50,6 +50,41 @@ function webmail_dp ($domaine) {
}
return false;
}
/**
* Retourne le cloud du nom de domaine fourni
* ex : sites_chez_dp('terre-envue.be');
* retourne 'tumulte.domainepublic.net' - 'grabuge.domainepublic.net' - 'cloud.domainepublic.net' - etc ....
* ex : sites_chez_dp('google.be');
* retourne false
* ex : sites_chez_dp('jkhkdfhsdkjh.be');
* retourne false
*/
function cloud_dp ($domaine) {
$parse = parse_url($domaine);
if($parse['host'])
$domaine = $parse['host']; // juste le nom de dom sans http/s ni sous-dom
$result = dns_get_record($domaine, DNS_A);
spip_log("cloud ".print_r($result,1),'test'._LOG_AVERTISSEMENT);
if( $result AND isset($result[0]['host'])){
spip_log("serveur ".$result[0]['host'],'test'._LOG_AVERTISSEMENT);
return $result[0]['host'];
}
/*
// On obtient une IP adress
$serveur = $result[0]['ip'];
// On obtient le nom de domaine de l'adress IP
$serveur = gethostbyaddr ($serveur);
spip_log("serveur name ".$serveur,'test'._LOG_AVERTISSEMENT);
// SI RAMDAM !!! $serveur = "collectif2.all2all.org"
if(($serveur == "collectif2.all2all.org") OR $serveur == "ramdam.domainepublic.net")
$serveur = "cloud.domainepublic.net";
// SINON RAMDAM !!! $serveur = "tumulte.domainepublic.net" ou "grabuge.domainepublic.net" etc ...
if($serveur)
return "https://".$serveur;
}*/
return false;
}
/**
* Traduction des textes de SPIP ds une langue
* ex :
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment