PHP
PHP / MySql

Recherche
 
ManuelPHP.com

hw_mapid
<<<
hw_Modifyobject hw_mv
>>>

8.45 Hyperwave
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Intégration avec Apache
Configuration à l'exécution
Types de ressources
Constantes pré-définies
A faire
hw_Array2Objrec
hw_changeobject
hw_Children
hw_ChildrenObj
hw_Close
hw_Connect
hw_connection_info
hw_cp
hw_Deleteobject
hw_DocByAnchor
hw_DocByAnchorObj
hw_Document_Attributes
hw_Document_BodyTag
hw_Document_Content
hw_Document_SetContent
hw_Document_Size
hw_dummy
hw_EditText
hw_Error
hw_ErrorMsg
hw_Free_Document
hw_GetAnchors
hw_GetAnchorsObj
hw_GetAndLock
hw_GetChildColl
hw_GetChildCollObj
hw_GetChildDocColl
hw_GetChildDocCollObj
hw_GetObject
hw_GetObjectByQuery
hw_GetObjectByQueryColl
hw_GetObjectByQueryCollObj
hw_GetObjectByQueryObj
hw_GetParents
hw_GetParentsObj
hw_getrellink
hw_GetRemote
hw_getremotechildren
hw_GetSrcByDestObj
hw_GetText
hw_getusername
hw_Identify
hw_InCollections
hw_Info
hw_InsColl
hw_InsDoc
hw_insertanchors
hw_InsertDocument
hw_InsertObject
hw_mapid
->hw_Modifyobject
hw_mv
hw_New_Document
hw_objrec2array
hw_Output_Document
hw_pConnect
hw_PipeDocument
hw_Root
hw_setlinkroot
hw_stat
hw_Unlock
hw_Who

8.45.59 hw_Modifyobject()Modifie les attributs d'object record

[ Exemples avec hw_modifyobject ]   PHP 3 >= 3.0.7, PHP 4, PECL

bool  hw_modifyobject ( int   connection , int   object_to_change , array   remove , array   add , int   mode )

hw_Modifyobject permet d'effacer, d'ajouter ou de modifier les attributs d'un objet. L'objet est reperé par son identifiant object_to_change . Le premier tableau, remove , est la liste des attributs à effacer. Le deuxième tableau, add , est celle des attributs à ajouter. Afin de modifier un attribut, il vous faudra dont l'effacer, puis l'ajouter à nouveau. hw_modifyobject effacera toujours les attributs avant de les ajouter, à moins que la valeur de l'attribut à effacer ne soit pas une chaîne, ou un tableau.

Le dernier paramètre détermine si la modification est récursive ou pas. 1 signifie que la modification est récursive. Si un objet ne peut pas être modifié, il sera ignoré. hw_error n'indiquera alors pas toujours d'erreur, même si certains objets n'ont pas pu être modifiés.

Les clés des deux tableaux sont les noms des attributs. La valeur de chaque élément peut être un tableau, une chaîne ou n'importe quoi d'autre. Dans le cas du tableau, la valeur de l'attribut est construite en séparant chaque élément par un point virgule. Dans le cas de la chaîne, elle sert directement de valeur. Une chaîne vide provoquera un effacement de l'attribut. Si la valeur n'est ni un tableau, ni une chaîne, aucune opération ne sera effectuée. Cela est nécessaire si vous voulez ajouter un attribut complètement nouveau, pas seulement une nouvelle valeur pour un attribut existant. Si le tableau d'effacement contenait une chaîne vide comme attribut, le serveur tenterait d'effacer l'attribut, ce qui échouerait de toute manière, car cet attribut n'existe pas. L'ajout de cet attribut échouerait aussi. Affecter la valeur de 0 à cet attribut ne l'effacerait pas, et l'ajout fonctionnerait.

Si vous voulez changer l'attribut 'Nom' de valeur courante 'livres' en 'articles' vous devrez faire deux tableaux, et appeler hw_modifyobject .
Modification d'un attribut

<?php
// $connect est une connexion valide
// $objid est l'identifiant de l'objet
$remarr = array("Name" => "books");
$addarr = array("Name" => "articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Afin d'effacer/ajouter une paire nom=valeur aux attributs d'un objet, utilisez simplement les tableaux d'effacement et d'ajout, et laissez le dernier/troisième paramètre vide. Si l'attribut est le premier de ce nom à ajouter, donnez une valeur entière à cet élément.
Ajouter un nouvel attribut

<?php
// $connect est une connexion Hyperwave valide
// $objid est l'identifiant de l'objet à modifier
$remarr = array("Name" => 0);
$addarr = array("Name" => "articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>

Note

Les attributs multilingues, tels que 'Title', peuvent être modifiés de deux façons : soit en fournissant la valeur de ces attributs de manière native (langue :valeur), soit en fournissant un tableau avec les éléments de chaque langue, comme décrit ci-dessus. L'exemple deviendrait alors :

Modifier l'attribut de Titre (Title)

<?php
$remarr
= array("Title" => "en:Books");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
ou
Modifier l'attribut Title

<?php
$remarr
= array("Title" => array("en" => "Books"));
$addarr = array("Title" => array("en" => "Articles", "ge"=>"Artikel"));
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Pour supprimer l'entrée française 'Livres' et ajouter l'entrée 'Articles' et l'entrée allemande 'Artikel'.
Suppression d'un attribut

<?php
$remarr
= array("Title" => "");
$addarr = array("Title" => "en:Articles");
$hw_modifyobject($connect, $objid, $remarr, $addarr);
?>
Note

Cet exemple va effacer tous les attributs avec le nom 'Title' et ajouter un nouvel attribut 'Title'. Cela peut être pratique pour effacer des attributs récursivement.

Note

Si vous devez effacer tous les attributs avec un certain nom, vous devez passer une chaîne vide comme valeur.

Note

Seuls les attributs 'Title', 'Description' et 'Keyword' gèrent correctement le préfixe de langue. Pour les autres attributs qui ne portent pas de préfixe de langage, le préfixe 'xx' sera assigné.

Note

L'attribut 'Name' est un peu particulier. Dans certains cas, il ne peut pas être complètement effacé. Vous aurez alors le message 'Change of base attribute' (l'apparition de cette erreur n'est pas très claire). Ainsi, vous aurez à ajouter une nouvelle entrée pour Name puis, effacer l'ancien.

Note

Il ne faut pas encadrer cette fonction par des appels à hw_getandlock et hw_unlock . hw_modifyobject le fait de manière interne.

Retourne TRUE si aucune erreur ne survient et FALSE sinon.

<< hw_Modifyobject >>
hw_mapid Hyperwave hw_mv





Google

Services webmasters

Les manuels
 

ManuelPHP.com © 2003-2012 Tigersun - Crédits
Webmaster Site Internet - Télécharger des Logiciels - Programme TV - Entraide Informatique - Agence de Communication
2018-10-18