Aller au contenu

sparh

Hubmaster
  • Compteur de contenus

    583
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par sparh

  1. Bonjour, j'ai crée un dossier /Marketing à la racine de mon site et je vais y mettre des fichiers html. J'aimera faire en sorte de pouvoir appeler les documents via monsite.fr/ledocument.html au lieu de monsite.fr/Marketing/ledocument.html Est ce possible ? Merci d'avance
  2. J'avais oublié de préciser que j'utilise PHPMailer et j'ai trouvé la solution ici http://stackoverflow.com/questions/3708153/send-email-with-phpmailer-embed-image-in-body $mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u'); <img src="cid:logo_2u" alt="" />
  3. Bonjour, j'envoie des emails de confirmation d'inscription a mes utilisateurs avec une signature contenant une image. L'email est en html et jusqu’à aujourd'hui mon image était sur mon serveur. Maintenant j’aimerai que l'image soit en pièce jointe. Pas de souci pour mettre la pièce jointe mais impossible de l'afficher au bon endroit dans mon email, savez vous comment faire ? Avant ce qui marche très bien <div> <img src="http://monsite.com/monImage.jpg /><br> M société etc.. </div> Maintenant mais ça ne marche pas (l'image est bien en pièce jointe de l'email) <div> <img src="monImage.jpg /><br> Ma société etc.. </div> Auriez vous une idée ? Merci d'avance
  4. Hello je devais être très fatigué hier car ce matin ça fonctionne! Merci pour votre aide
  5. Merci de m'aider mais dans les 2 cas j'obtient null (j'avais déja testé pour voir si $values['location'] retournait un tableau). $retour = json_decode($values,true); var_dump($retour); $retour = json_decode($values); var_dump($retour); Voici un exemple de ma variable $values si jamais et la manière dont je la récupère $values = file_get_contents('php://input'); //si je fait un echo $values j'obtient ça {"location":[{"coords":{"speed":13.78999996185303,"longitude":6.106461001741759,"latitude":46.20269310378117,"accuracy":10,"heading":239.3082580566406,"altitude":424.451416015625,"altitudeAccuracy":6},"is_heartbeat":false,"extras":{"action":""},"is_moving":true,"odometer":1763.193420100596,"uuid":"4C420566-1F55-4A89-83DA-F03D5C9E2423","activity":{"type":"unknown","confidence":100},"battery":{"level":0.28,"is_charging":false},"timestamp":"2016-10-19T09:13:12.000Z"},{"coords":{"speed":12.67000007629395,"longitude":6.105477869875073,"latitude":46.20219555439851,"accuracy":10,"heading":217.1203918457031,"altitude":424.525390625,"altitudeAccuracy":6},"is_heartbeat":false,"extras":{"action":""},"is_moving":true,"odometer":1857.093282904583,"uuid":"603BD74E-7324-4C17-B21A-E16C7430BC3D","activity":{"type":"unknown","confidence":100},"battery":{"level":0.28,"is_charging":false},"timestamp":"2016-10-19T09:13:19.000Z"}]}
  6. Bonjour, oui j'aimerai pouvoir récupérer toutes les données. Je convertit en array car après avoir bien galéré c'est le seul moyen que j'ai trouvé pour y arriver Quand je fais un count($retour) dans tous les cas j'obtient 1. Dans le cas ou location est un tableau rien ne fonctionne la fonction json_decode me renvoi null.
  7. Bonjour, j'ai un plugin de géolocalisation qui envoi des données au serveur les données sont envoyés sous cette forme: $values = '{ "location": { "coords": { "latitude": [Float], "longitude": [Float] "accuracy": [Float] "speed": [Float|-1], "heading": [Float/0-360|-1], "altitude": [Float] }, "extras": { // <-- optional extras. @see #getCurrentPosition for details "foo": "bar" }, "activity": { "type": [still|on_foot|walking|running|in_vehicle|on_bicycle|unknown], "confidence": [Int/0-100%] }, "geofence": { // <-- Present only if a geofence was triggered at this location "identifier": [String], "action": [String ENTER|EXIT] }, "battery": { "level": [Float/0-1], "is_charging": [Boolean] }, "timestamp": [ISO-8601 UTC], // eg: "2015-05-05T04:31:54.123Z" "uuid": [String], // <-- Universally unique identifier "event" [String], // <-- motionchange|geofence|heartbeat "is_moving": [Boolean], // <-- The motion-state when location was recorded (@deprecated; use #event) "is_heartbeat: [Boolean], // <-- If this location was recorded during heartbeat mode. "odometer": [Float/meters] } }'; Pour le traitement j'utilise : $retour = json_decode($values,true); $speed = $retour['location']['coords']['speed']; $longitude = $retour['location']['coords']['longitude']; etc... Mais dans certains cas "location" est un tableau, ce qui donne $values = '{ "location": [{ "coords": { "latitude": [Float], "longitude": [Float] "accuracy": [Float] "speed": [Float|-1], "heading": [Float/0-360|-1], "altitude": [Float] }, "extras": { // <-- optional extras. @see #getCurrentPosition for details "foo": "bar" }, "activity": { "type": [still|on_foot|walking|running|in_vehicle|on_bicycle|unknown], "confidence": [Int/0-100%] }, "geofence": { // <-- Present only if a geofence was triggered at this location "identifier": [String], "action": [String ENTER|EXIT] }, "battery": { "level": [Float/0-1], "is_charging": [Boolean] }, "timestamp": [ISO-8601 UTC], // eg: "2015-05-05T04:31:54.123Z" "uuid": [String], // <-- Universally unique identifier "event" [String], // <-- motionchange|geofence|heartbeat "is_moving": [Boolean], // <-- The motion-state when location was recorded (@deprecated; use #event) "is_heartbeat: [Boolean], // <-- If this location was recorded during heartbeat mode. "odometer": [Float/meters] }, { "coords": { "latitude": [Float], "longitude": [Float] "accuracy": [Float] "speed": [Float|-1], "heading": [Float/0-360|-1], "altitude": [Float] }, "extras": { // <-- optional extras. @see #getCurrentPosition for details "foo": "bar" }, "activity": { "type": [still|on_foot|walking|running|in_vehicle|on_bicycle|unknown], "confidence": [Int/0-100%] }, "geofence": { // <-- Present only if a geofence was triggered at this location "identifier": [String], "action": [String ENTER|EXIT] }, "battery": { "level": [Float/0-1], "is_charging": [Boolean] }, "timestamp": [ISO-8601 UTC], // eg: "2015-05-05T04:31:54.123Z" "uuid": [String], // <-- Universally unique identifier "event" [String], // <-- motionchange|geofence|heartbeat "is_moving": [Boolean], // <-- The motion-state when location was recorded (@deprecated; use #event) "is_heartbeat: [Boolean], // <-- If this location was recorded during heartbeat mode. "odometer": [Float/meters] } etc...] }'; Auriez vous une idée de comment récupérer les données ? Merci d'avance
  8. Salut figure { width:490px; height:320px; border:1px solid #000; } .img-licence { font-size:0.7em; text-align:right; font-style:italic; -moz-transform-origin: 100% 0%; -moz-transform: rotate(90deg); -o-transform-origin: 100% 0%; -o-transform: rotate(90deg); -webkit-transform-origin: 100% 0%; -webkit-transform: rotate(90deg); transform-origin: 100% 0%; transform: rotate(90deg); float:right; padding-right:10px; } Je sais pas si c'est parfait mais c'est déjà mieux
  9. Juste pour info j'avais ouvert un ticket chez Infomaniak et voilà leur réponse : D'après quelques billets de blog technique (https://www.bram.us/2014/10/26/php-5-6-automatically-populating-http_raw_post_data-is-deprecated-and-will-be-removed-in-a-future-version/), il semblerait que ceci apparaissent même lorsque l'on ne fait pas de requêtes POST.Vous pouvez soit ignorer ces entrées, soit tenter une migration sous PHP7, ou essayer de mettre l'instruction qui va bien dans un .htaccess étant donné que c'est modifiable par dossier comme décrit içi (http://php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data ).
  10. Bonjour, dans mes logs je trouve systématiquement cette erreur : stderr: PHP message: PHP Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0, J'ai longtemps cherché et ce que je ne comprends pas c'est que je n'utilise nulle part la variable $HTTP_RAW_POST_DATA. J'ai fini par découvrir que c'est la fonction suivante qui crée l'erreur. Auriez vous une idée d'ou peux venir le problème ? Merci d'avance function api($url,$email,$pass,$id_api,$method,$data=''){ $http_auth_ident = $email.':'.$pass ; $url_curl = $url.'/api/?method='.$method.'&id='.$id_api; // connexion $timeout = '15'; $ch = curl_init($url_curl); curl_setopt($ch, CURLOPT_USERAGENT, "CURL"); curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); if (preg_match('`^https://`i', $url_curl)) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); } curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Définition de la méthode d'authentification du serveur curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); // Définition des identifiants curl_setopt($ch, CURLOPT_USERPWD, $http_auth_ident); if($data != '') { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); } curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain')); $response = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); return $response ; }
  11. Merci je me suis tourné vers Dell avec une docking station http://accessories.euro.dell.com/sna/productdetail.aspx?c=ch&l=fr&s=dhs&cs=chdhs1&sku=452-BCCJ
  12. Merci pour vos réponses. J'ai cherché un PC tout fait avec 3 hdmi ou 1 VGA + 2 HDMI mais je n'ai pas trouvé.
  13. sparh

    PC de bureau 3 ecrans

    Bonjour, je cherche un bon PC de bureau qui pourrait supporter 3 écrans Full HD. N'y connaissant pas grand chose en hardware je fait appelle a vous. Merci d'avance
  14. Bonjour peux être une idée avec l’événement scroll de jquery (mais je ne suis pas un spécialiste en js non plus!). var is_scrolled = 'no'; $(document).ready(function() { // désactive le scroll automatique car l'utilisateur à bougé lui même le scroll $(document).on("scroll",'#message_box', function() { is_scrolled = 'yes'; }); $('.toggle_chat').hide(); // load messages every 3000 milliseconds from server. load_data = {'fetch':1}; window.setInterval(function(){ $.post('chatbox/shout.php', load_data, function(data) { $('.message_box').html(data); if(is_scrolled == 'no') $("#message_box").animate({scrollTop: $("#message_box")[0].scrollHeight},2000);//Autoscroll to bottom of div }); }, 3000); }); Après il faudra trouver une solution pour réactiver le scroll automatique en remettant is_scrolled = 'no'; (peux être au bout d'un certain temps ou si l'utilisateur scroll de lui même en bas de #message_box) Bonne journée
  15. Merci Dan avant de tester ta solution je me fais tout le dossier que tu as précédemment cité
  16. Bonsoir, jusqu'ici j'utilisais la règle ci-dessous pour rediriger mes fichiers vers une page php. RewriteRule Fichiers/(.*)/(.*) /Fichiers/check_connect.php?dossier=$1&url=$2 [QSA,L,R=301] Un appel de monsite.com/Fichiers/Documents/fichier.doc est donc redirigé vers monsite.com/Fichiers/check_connect.php?dossier=Documents&url=fichier.doc Mon problème c'est que ce système ne gère pas les sous-dossier Je souhaiterai savoir s'il est possible de transformer le chemin d'un fichier en variable ? Par exemple monsite.com/Fichiers/Documents/Sous-Dossier/fichier.doc devrait être redirigé vers monsite.com/Fichiers/check_connect.php?dossier=Documents/Sous-Dossier&url=fichier.doc monsite.com/Fichiers/Documents/Sous-Dossier/Sous-Dossier/fichier.doc devrait être redirigé vers monsite.com/Fichiers/check_connect.php?dossier=Documents/Sous-Dossier/Sous-Dossier/&url=fichier.doc Il faut préciser que je ne connais ni le nom des dossiers, ni leur nombre ni leur profondeur (combien de sous-dossier) Auriez-vous une idée de comment faire ça avec une redirection htaccess et si c'est seulement possible ? Merci d'avance
  17. Saucisse comme je suis je ne sait pas comment afficher les variables dont tu parle Dan (un echo ne renvoi rien en tout cas) et le SSH j'y ai accès mais je ne m'y suis toujours pas mis J'ai appliquer ta recommandation en tous cas.
  18. Merci beaucoup captain_torche, la première ligne fonctionne très bien. setlocale(LC_CTYPE, 'fr_FR');
  19. sparh

    Roundcube Apple Mail

    Bonjour, j'accède à mon email via 3 interfaces toutes configurées en IMAP - Roundcube - Apple mail - Thunderbird Je reçoit et envoi les mails correctement, mes dossiers et contacts sont correctement synchronisé. Mon problème vient du classement des mails dans les dossier. Si je classe le mail en utilisant Roundcube ou Thunderbird le mail est correctement classé sur mes 3 interface Par contre si je classe le mail en utilisant Apple Mail : il se classe correctement sur les 3 interfaces MAIS dans Roundcube j'ai une copie qui reste dans la boîte de réception (voir image). Auriez-vous une idée d'ou ça peux venir ? Lis mails en gris clair ont tous été classé dans des dossier avec Mac Mail (je retrouve le vrai mail dans les dossier concerné) Si je supprime les mails en gris clair, le vrai mail qui est classé n'est pas supprimé (fort heureusement)
  20. Je me suis trompé en recopiant, voilà un copié/collé de ma page function create_url2($str){ $str = preg_replace('~[^\\pL\d]+~u', '-', $str); $str = trim($str, '-'); $str = iconv('utf-8', 'us-ascii//TRANSLIT', $str); $str = strtolower($str); $str = preg_replace('~[^-\w]+~', '', $str); return $str; } $chaine = 'Test d\'une chaine î í é è à'; echo mb_detect_encoding($chaine).'<br />'; echo $chaine.'<br />'; echo create_url2($chaine); die(); Le résultat normal : UTF-8 Test d'une chaine î í é è à test-d-une-chaine-i-i-e-e-a Chez Infomaniak UTF-8 Test d'une chaine î í é è à test-d-une-chaine-----
  21. Bonjour, je revient sur la fonction proposée par SStephane. Je viens d'installer un nouveau site chez Infomaniak et d'un coup ça ne fonctionne plus : Voilà mon script : $chaine = 'Test d\'une chaine î í é è à'; echo mb_detect_encoding($chaine).'<br />'; echo $chaine.'<br />'; echo compile_string_for_url($chaine); Le résultat normal : UTF-8 Test d'une chaine î í é è à test-d-une-chaine-i-i-e-e-a Chez Infomaniak UTF-8 Test d'une chaine î í é è à test-d-une-chaine----- Auriez-vous une idée de ce qui pourrait poser ce problème ? Merci d'avance
  22. Bonjour, dans ton code le script pour afficher l'adresse est appelé par <input type="button" value="Obtenir la ville..." onclick="retrieve()"> Il suffit donc d'appeler la fonction retreive() au chargement de la page (une fois qu'on a géolocalisé l'utilisateur) Voilà le nouveau javascript (il y a juste une nouvelle ligne sous map.panTo(latlng); ) <script type="text/javascript"> /* Déclaration des variables */ var geocoder; var map; var infowindow = new google.maps.InfoWindow(); var marker; /* Fonction d'initialisation de la map appelée au chargement de la page */ function initialize() { if(navigator.geolocation) { // Fonction de callback en cas de succès function affichePosition(position) { var infopos = ""; infopos += position.coords.latitude +","; infopos += position.coords.longitude; document.getElementById('latlng').value = infopos; // On instancie un nouvel objet LatLng pour Google Maps var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); // Ajout d'un marqueur à la position trouvée var marker = new google.maps.Marker({ draggable : true, autoPan:true, position: latlng, map: map }); map.panTo(latlng); retrieve(); // tu peux qussi mettre codeLatLng(infopos); } // Fonction de callback en cas d’erreur function erreurPosition(error) { var info = "Erreur lors de la géolocalisation : "; switch(error.code) { case error.TIMEOUT: info += "Timeout !"; break; case error.PERMISSION_DENIED: info += "Vous n’avez pas donné la permission"; break; case error.POSITION_UNAVAILABLE: info += "La position n’a pu être déterminée"; break; case error.UNKNOWN_ERROR: info += "Erreur inconnue"; break; } } navigator.geolocation.getCurrentPosition(affichePosition,erreurPosition); } else { alert("Ce navigateur ne supporte pas la géolocalisation"); } geocoder = new google.maps.Geocoder(); var latlng = new google.maps.LatLng(48.8566667, 2.3509871); var myOptions = { zoom: 8, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); } /* Fonction de géocodage inversé (en fonction des coordonnées de l'adresse) */ function codeLatLng(input) { var latlngStr = input.split(",",2); var lat = parseFloat(latlngStr[0]); var lng = parseFloat(latlngStr[1]); var latlng = new google.maps.LatLng(lat, lng); geocoder.geocode({'latLng': latlng}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { if (results[0]) { map.setZoom(11); marker = new google.maps.Marker({ position: latlng, map: map }); var elt = results[0].address_components; for(i in elt){ if(elt[i].types[0] == 'postal_code') document.getElementById('cp').value = elt[i].long_name; if(elt[i].types[0] == 'locality') document.getElementById('adr').value = elt[i].long_name; if(elt[i].types[0] == 'administrative_area_level_2') document.getElementById('dpt').value = elt[i].long_name; if(elt[i].types[0] == 'country') document.getElementById('pays').value = elt[i].long_name; } infowindow.setContent(results[0].formatted_address); infowindow.open(map, marker); map.setCenter(latlng); } } else { alert("Geocoder failed due to: " + status); } }); } function retrieve(){ var input = document.getElementById("latlng").value; codeLatLng(input); } </script> bonne journée
  23. Bonjour, J'ai bien galéré mais j'ai fini par trouver. En fait en désactivant ma variable PHP $ressources .= '{"title":"'.$row['type'].'","id":"'.$row['id'].'"},'; ça bloquait aussi une requête ajax (et c'est pour ça qu'il n'y avait plus de warning). Le warning PHP venait d'une requête exécutée par le script appelé via ajax. En tous cas merci d'avoir regardé
×
×
  • Créer...