Dépôt officiel du core SPIP * Anciennement présent sur svn://trac.rezo.net/spip * Les plugins-dist faisant partie de la distribution SPIP sont présents dans https://git.spip.net/SPIP/[nom du plugin dist] https://www.spip.net
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1385 lines
40 KiB

7 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
8 months ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
10 years ago
10 years ago
7 years ago
10 years ago
10 years ago
10 years ago
10 years ago
7 years ago
7 years ago
7 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
8 months ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
8 months ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
7 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
7 years ago
7 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
10 years ago
10 years ago
7 years ago
10 years ago
10 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
recuperer_page(), recuperer_lapage() et recuperer_entetes() sont incompletes et ne permettent pas de récuperer le contenu d'une URL qui n'a pas un status 200, ni de differencier une URL completement invalide d'une page en erreur temporaire, ni de suivre une redirection vers une url numerique. On remet tout au propre : - recuperer_entetes_complets() renvoie de façon homogène un tableau associatif contenant status, headers, last_modified et location. Seul un echec complet de la connexion provoque le renvoie d'un booleen false recuperer_entetes() est rebranchee sur recuperer_entetes_complets() et retraire la sortie pour renvoyer la meme chose qu'auparavant (compatibilite) - recuperer_body() beneficie du report de r20113 pour prendre en charge proprement la copie du contenu dans un fichier. Ne faudrait-il pas traiter le cas ou le fichier est tronque par taille_max et possiblement invalide ? - recuperer_url() remplace a la fois recuperer_page() et recuperer_lapage() dont le decoupage etait purement artificiel pour pallier a la pauvrete du retour de la premiere. Pour ne pas reconduire le risque de liste d'arguments peu explicites ou a double emploi, on fixe 2 arguments : l'url demandee et un tableau d'options associatives qui permet de modifier le comportement a volonte. La fonction renvoie dans tous les cas un tableau associatif avec status, headers, page, last_modified, location, url recuperee, avec en cas de copie dans un fichier length et file recuperer_page() et recuperer_lapage() sont branchees sur recuperer_url() avec les bonnes options pour renvoyer le meme resultat qu'auparavant (compatibilite) + PHPDoc sur les fonctions qui n'étaient pas encore documentées A tester intensivement avant un eventuel backport sur la branche stable
9 years ago
7 years ago
10 years ago
7 years ago
10 years ago
10 years ago
  1. <?php
  2. /***************************************************************************\
  3. * SPIP, Système de publication pour l'internet *
  4. * *
  5. * Copyright © avec tendresse depuis 2001 *
  6. * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
  7. * *
  8. * Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
  9. * Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
  10. \***************************************************************************/
  11. /**
  12. * Ce fichier gère l'obtention de données distantes
  13. *
  14. * @package SPIP\Core\Distant
  15. **/
  16. if (!defined('_ECRIRE_INC_VERSION')) {
  17. return;
  18. }
  19. if (!defined('_INC_DISTANT_VERSION_HTTP')) {
  20. define('_INC_DISTANT_VERSION_HTTP', 'HTTP/1.0');
  21. }
  22. if (!defined('_INC_DISTANT_CONTENT_ENCODING')) {
  23. define('_INC_DISTANT_CONTENT_ENCODING', 'gzip');
  24. }
  25. if (!defined('_INC_DISTANT_USER_AGENT')) {
  26. define('_INC_DISTANT_USER_AGENT', 'SPIP-' . $GLOBALS['spip_version_affichee'] . ' (' . $GLOBALS['home_server'] . ')');
  27. }
  28. if (!defined('_INC_DISTANT_MAX_SIZE')) {
  29. define('_INC_DISTANT_MAX_SIZE', 2097152);
  30. }
  31. if (!defined('_INC_DISTANT_CONNECT_TIMEOUT')) {
  32. define('_INC_DISTANT_CONNECT_TIMEOUT', 10);
  33. }
  34. define('_REGEXP_COPIE_LOCALE', ',' .
  35. preg_replace(
  36. '@^https?:@',
  37. 'https?:',
  38. (isset($GLOBALS['meta']['adresse_site']) ? $GLOBALS['meta']['adresse_site'] : '')
  39. )
  40. . '/?spip.php[?]action=acceder_document.*file=(.*)$,');
  41. //@define('_COPIE_LOCALE_MAX_SIZE',2097152); // poids (inc/utils l'a fait)
  42. /**
  43. * Crée au besoin la copie locale d'un fichier distant
  44. *
  45. * Prend en argument un chemin relatif au rep racine, ou une URL
  46. * Renvoie un chemin relatif au rep racine, ou false
  47. *
  48. * @link https://www.spip.net/4155
  49. * @pipeline_appel post_edition
  50. *
  51. * @param string $source
  52. * @param string $mode
  53. * - 'test' - ne faire que tester
  54. * - 'auto' - charger au besoin
  55. * - 'modif' - Si deja present, ne charger que si If-Modified-Since
  56. * - 'force' - charger toujours (mettre a jour)
  57. * @param string $local
  58. * permet de specifier le nom du fichier local (stockage d'un cache par exemple, et non document IMG)
  59. * @param int $taille_max
  60. * taille maxi de la copie local, par defaut _COPIE_LOCALE_MAX_SIZE
  61. * @return bool|string
  62. */
  63. function copie_locale($source, $mode = 'auto', $local = null, $taille_max = null) {
  64. // si c'est la protection de soi-meme, retourner le path
  65. if ($mode !== 'force' and preg_match(_REGEXP_COPIE_LOCALE, $source, $match)) {
  66. $source = substr(_DIR_IMG, strlen(_DIR_RACINE)) . urldecode($match[1]);
  67. return @file_exists($source) ? $source : false;
  68. }
  69. if (is_null($local)) {
  70. $local = fichier_copie_locale($source);
  71. } else {
  72. if (_DIR_RACINE and strncmp(_DIR_RACINE, $local, strlen(_DIR_RACINE)) == 0) {
  73. $local = substr($local, strlen(_DIR_RACINE));
  74. }
  75. }
  76. // si $local = '' c'est un fichier refuse par fichier_copie_locale(),
  77. // par exemple un fichier qui ne figure pas dans nos documents ;
  78. // dans ce cas on n'essaie pas de le telecharger pour ensuite echouer
  79. if (!$local) {
  80. return false;
  81. }
  82. $localrac = _DIR_RACINE . $local;
  83. $t = ($mode == 'force') ? false : @file_exists($localrac);
  84. // test d'existence du fichier
  85. if ($mode == 'test') {
  86. return $t ? $local : '';
  87. }
  88. // sinon voir si on doit/peut le telecharger
  89. if ($local == $source or !tester_url_absolue($source)) {
  90. return $local;
  91. }
  92. if ($mode == 'modif' or !$t) {
  93. // passer par un fichier temporaire unique pour gerer les echecs en cours de recuperation
  94. // et des eventuelles recuperations concurantes
  95. include_spip('inc/acces');
  96. if (!$taille_max) {
  97. $taille_max = _COPIE_LOCALE_MAX_SIZE;
  98. }
  99. $res = recuperer_url(
  100. $source,
  101. ['file' => $localrac, 'taille_max' => $taille_max, 'if_modified_since' => $t ? filemtime($localrac) : '']
  102. );
  103. if (!$res or (!$res['length'] and $res['status'] != 304)) {
  104. spip_log("copie_locale : Echec recuperation $source sur $localrac status : " . $res['status'], 'distant' . _LOG_INFO_IMPORTANTE);
  105. }
  106. if (!$res['length']) {
  107. // si $t c'est sans doute juste un not-modified-since
  108. return $t ? $local : false;
  109. }
  110. spip_log("copie_locale : recuperation $source sur $localrac taille " . $res['length'] . ' OK', 'distant');
  111. // si on retrouve l'extension
  112. if (
  113. !empty($res['headers'])
  114. and $extension = distant_trouver_extension_selon_headers($source, $res['headers'])
  115. ) {
  116. if ($sanitizer = charger_fonction($extension, 'sanitizer', true)) {
  117. $sanitizer($localrac);
  118. }
  119. }
  120. // pour une eventuelle indexation
  121. pipeline(
  122. 'post_edition',
  123. [
  124. 'args' => [
  125. 'operation' => 'copie_locale',
  126. 'source' => $source,
  127. 'fichier' => $local,
  128. 'http_res' => $res['length'],
  129. ],
  130. 'data' => null
  131. ]
  132. );
  133. }
  134. return $local;
  135. }
  136. /**
  137. * Valider qu'une URL d'un document distant est bien distante
  138. * et pas une url localhost qui permet d'avoir des infos sur le serveur
  139. * inspiree de https://core.trac.wordpress.org/browser/trunk/src/wp-includes/http.php?rev=36435#L500
  140. *
  141. * @param string $url
  142. * @param array $known_hosts
  143. * url/hosts externes connus et acceptes
  144. * @return false|string
  145. * url ou false en cas d'echec
  146. */
  147. function valider_url_distante($url, $known_hosts = []) {
  148. if (!function_exists('protocole_verifier')) {
  149. include_spip('inc/filtres_mini');
  150. }
  151. if (!protocole_verifier($url, ['http', 'https'])) {
  152. return false;
  153. }
  154. $parsed_url = parse_url($url);
  155. if (!$parsed_url or empty($parsed_url['host'])) {
  156. return false;
  157. }
  158. if (isset($parsed_url['user']) or isset($parsed_url['pass'])) {
  159. return false;
  160. }
  161. if (false !== strpbrk($parsed_url['host'], ':#?[]')) {
  162. return false;
  163. }
  164. if (!is_array($known_hosts)) {
  165. $known_hosts = [$known_hosts];
  166. }
  167. $known_hosts[] = $GLOBALS['meta']['adresse_site'];
  168. $known_hosts[] = url_de_base();
  169. $known_hosts = pipeline('declarer_hosts_distants', $known_hosts);
  170. $is_known_host = false;
  171. foreach ($known_hosts as $known_host) {
  172. $parse_known = parse_url($known_host);
  173. if (
  174. $parse_known
  175. and strtolower($parse_known['host']) === strtolower($parsed_url['host'])
  176. ) {
  177. $is_known_host = true;
  178. break;
  179. }
  180. }
  181. if (!$is_known_host) {
  182. $host = trim($parsed_url['host'], '.');
  183. if (preg_match('#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $host)) {
  184. $ip = $host;
  185. } else {
  186. $ip = gethostbyname($host);
  187. if ($ip === $host) {
  188. // Error condition for gethostbyname()
  189. $ip = false;
  190. }
  191. }
  192. if ($ip) {
  193. $parts = array_map('intval', explode('.', $ip));
  194. if (
  195. 127 === $parts[0] or 10 === $parts[0] or 0 === $parts[0]
  196. or ( 172 === $parts[0] and 16 <= $parts[1] and 31 >= $parts[1] )
  197. or ( 192 === $parts[0] && 168 === $parts[1] )
  198. ) {
  199. return false;
  200. }
  201. }
  202. }
  203. if (empty($parsed_url['port'])) {
  204. return $url;
  205. }
  206. $port = $parsed_url['port'];
  207. if ($port === 80 or $port === 443 or $port === 8080) {
  208. return $url;
  209. }
  210. if ($is_known_host) {
  211. foreach ($known_hosts as $known_host) {
  212. $parse_known = parse_url($known_host);
  213. if (
  214. $parse_known
  215. and !empty($parse_known['port'])
  216. and strtolower($parse_known['host']) === strtolower($parsed_url['host'])
  217. and $parse_known['port'] == $port
  218. ) {
  219. return $url;
  220. }
  221. }
  222. }
  223. return false;
  224. }
  225. /**
  226. * Preparer les donnes pour un POST
  227. * si $donnees est une chaine
  228. * - charge a l'envoyeur de la boundariser, de gerer le Content-Type,
  229. * de séparer les entetes des données par une ligne vide etc...
  230. * - on traite les retour ligne pour les mettre au bon format
  231. * - on decoupe en entete/corps (separes par ligne vide)
  232. * si $donnees est un tableau
  233. * - structuration en chaine avec boundary si necessaire ou fournie et bon Content-Type
  234. *
  235. * @param string|array $donnees
  236. * @param string $boundary
  237. * @return array
  238. * entete,corps
  239. */
  240. function prepare_donnees_post($donnees, $boundary = '') {
  241. // permettre a la fonction qui a demande le post de formater elle meme ses donnees
  242. // pour un appel soap par exemple
  243. // l'entete est separe des donnees par un double retour a la ligne
  244. // on s'occupe ici de passer tous les retours lignes (\r\n, \r ou \n) en \r\n
  245. if (is_string($donnees) && strlen($donnees)) {
  246. $entete = '';
  247. // on repasse tous les \r\n et \r en simples \n
  248. $donnees = str_replace("\r\n", "\n", $donnees);
  249. $donnees = str_replace("\r", "\n", $donnees);
  250. // un double retour a la ligne signifie la fin de l'entete et le debut des donnees
  251. $p = strpos($donnees, "\n\n");
  252. if ($p !== false) {
  253. $entete = str_replace("\n", "\r\n", substr($donnees, 0, $p + 1));
  254. $donnees = substr($donnees, $p + 2);
  255. }
  256. $chaine = str_replace("\n", "\r\n", $donnees);
  257. } else {
  258. /* boundary automatique */
  259. // Si on a plus de 500 octects de donnees, on "boundarise"
  260. if ($boundary === '') {
  261. $taille = 0;
  262. foreach ($donnees as $cle => $valeur) {
  263. if (is_array($valeur)) {
  264. foreach ($valeur as $val2) {
  265. $taille += strlen($val2);
  266. }
  267. } else {
  268. // faut-il utiliser spip_strlen() dans inc/charsets ?
  269. $taille += strlen($valeur);
  270. }
  271. }
  272. if ($taille > 500) {
  273. $boundary = substr(md5(rand() . 'spip'), 0, 8);
  274. }
  275. }
  276. if (is_string($boundary) and strlen($boundary)) {
  277. // fabrique une chaine HTTP pour un POST avec boundary
  278. $entete = "Content-Type: multipart/form-data; boundary=$boundary\r\n";
  279. $chaine = '';
  280. if (is_array($donnees)) {
  281. foreach ($donnees as $cle => $valeur) {
  282. if (is_array($valeur)) {
  283. foreach ($valeur as $val2) {
  284. $chaine .= "\r\n--$boundary\r\n";
  285. $chaine .= "Content-Disposition: form-data; name=\"{$cle}[]\"\r\n";
  286. $chaine .= "\r\n";
  287. $chaine .= $val2;
  288. }
  289. } else {
  290. $chaine .= "\r\n--$boundary\r\n";
  291. $chaine .= "Content-Disposition: form-data; name=\"$cle\"\r\n";
  292. $chaine .= "\r\n";
  293. $chaine .= $valeur;
  294. }
  295. }
  296. $chaine .= "\r\n--$boundary\r\n";
  297. }
  298. } else {
  299. // fabrique une chaine HTTP simple pour un POST
  300. $entete = 'Content-Type: application/x-www-form-urlencoded' . "\r\n";
  301. $chaine = [];
  302. if (is_array($donnees)) {
  303. foreach ($donnees as $cle => $valeur) {
  304. if (is_array($valeur)) {
  305. foreach ($valeur as $val2) {
  306. $chaine[] = rawurlencode($cle) . '[]=' . rawurlencode($val2);
  307. }
  308. } else {
  309. $chaine[] = rawurlencode($cle) . '=' . rawurlencode($valeur);
  310. }
  311. }
  312. $chaine = implode('&', $chaine);
  313. } else {
  314. $chaine = $donnees;
  315. }
  316. }
  317. }
  318. return [$entete, $chaine];
  319. }
  320. /**
  321. * Convertir une URL dont le host est en utf8 en ascii
  322. * Utilise la librairie https://github.com/phlylabs/idna-convert/tree/v0.9.1
  323. * dans sa derniere version compatible toutes version PHP 5
  324. * La fonction PHP idn_to_ascii depend d'un package php5-intl et est rarement disponible
  325. *
  326. * @param string $url_idn
  327. * @return array|string
  328. */
  329. function url_to_ascii($url_idn) {
  330. if ($parts = parse_url($url_idn)) {
  331. $host = $parts['host'];
  332. if (!preg_match(',^[a-z0-9_\.\-]+$,i', $host)) {
  333. include_spip('inc/idna_convert.class');
  334. $IDN = new idna_convert();
  335. $host_ascii = $IDN->encode($host);
  336. $url_idn = explode($host, $url_idn, 2);
  337. $url_idn = implode($host_ascii, $url_idn);
  338. }
  339. // et on urlencode les char utf si besoin dans le path
  340. $url_idn = preg_replace_callback('/[^\x20-\x7f]/', function ($match) {
  341. return urlencode($match[0]);
  342. }, $url_idn);
  343. }
  344. return $url_idn;
  345. }
  346. /**
  347. * Récupère le contenu d'une URL
  348. * au besoin encode son contenu dans le charset local
  349. *
  350. * @uses init_http()
  351. * @uses recuperer_entetes_complets()
  352. * @uses recuperer_body()
  353. * @uses transcoder_page()
  354. * @uses prepare_donnees_post()
  355. *
  356. * @param string $url
  357. * @param array $options
  358. * bool transcoder : true si on veut transcoder la page dans le charset du site
  359. * string methode : Type de requête HTTP à faire (HEAD, GET, POST, PUT, DELETE)
  360. * int taille_max : Arrêter le contenu au-delà (0 = seulement les entetes ==> requête HEAD). Par defaut taille_max = 1Mo ou 16Mo si copie dans un fichier
  361. * array headers : tableau associatif d'entetes https a envoyer
  362. * string|array datas : Pour envoyer des donnees (array) et/ou entetes au complet, avec saut de ligne entre headers et donnees ( string @see prepare_donnees_post()) (force la methode POST si donnees non vide)
  363. * string boundary : boundary pour formater les datas au format array
  364. * bool refuser_gz : Pour forcer le refus de la compression (cas des serveurs orthographiques)
  365. * int if_modified_since : Un timestamp unix pour arrêter la récuperation si la page distante n'a pas été modifiée depuis une date donnée
  366. * string uri_referer : Pour préciser un référer différent
  367. * string file : nom du fichier dans lequel copier le contenu
  368. * int follow_location : nombre de redirections a suivre (0 pour ne rien suivre)
  369. * string version_http : version du protocole HTTP a utiliser (par defaut defini par la constante _INC_DISTANT_VERSION_HTTP)
  370. * @return array|bool
  371. * false si echec
  372. * array sinon :
  373. * int status : le status de la page
  374. * string headers : les entetes de la page
  375. * string page : le contenu de la page (vide si copie dans un fichier)
  376. * int last_modified : timestamp de derniere modification
  377. * string location : url de redirection envoyee par la page
  378. * string url : url reelle de la page recuperee
  379. * int length : taille du contenu ou du fichier
  380. *
  381. * string file : nom du fichier si enregistre dans un fichier
  382. */
  383. function recuperer_url($url, $options = []) {
  384. // Conserve la mémoire de la méthode fournit éventuellement
  385. $methode_demandee = $options['methode'] ?? '';
  386. $default = [
  387. 'transcoder' => false,
  388. 'methode' => 'GET',
  389. 'taille_max' => null,
  390. 'headers' => [],
  391. 'datas' => '',
  392. 'boundary' => '',
  393. 'refuser_gz' => false,