本文整理汇总了PHP中nusoap_client::serialize_val方法的典型用法代码示例。如果您正苦于以下问题:PHP nusoap_client::serialize_val方法的具体用法?PHP nusoap_client::serialize_val怎么用?PHP nusoap_client::serialize_val使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nusoap_client
的用法示例。
在下文中一共展示了nusoap_client::serialize_val方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initCoSign
//.........这里部分代码省略.........
* Il doit être en HTML et contenir la balise {yousignUrl} qui sera remplacée par l'URL
* d'accès à l'interface de signature du/des documents. (Non utilisé en mode Iframe)
* - endMailSubject : Sujet de l'email envoyé lorsque tous les cosignataires ont signés le/les documents (Non utilisé en mode Iframe)
* - endMail : Corps de l'email envoyé lorsque tous les cosignataires ont signés le/les documents
* Il dit être en HTML et contenir la balise {yousignUrl} qui sera remplacée par l'URL
* d'accès à l'interface listant le/les documents signés (Non utilisé en mode Iframe)
* - language : Langue définie pour la cosignature.
* Disponibles: FR|EN|DE
* Par défaut: FR
* - mode : Mode d'utilisation (Aucun par défaut)
* * IFRAME : Permet de signer directement dans l'application hébergeant l'iframe
* Ceci retournera un token pour chaque signataire
* L'URL devant appeler l'Iframe est:
* => (Démo) https://demo.yousign.fr/public/ext/cosignature/{token}
* => (Prod) https://yousign.fr/public/ext/cosignature/{token}
* - archive : Booléen permettant d'activer l'archivage du/des documents signés automatiquement
* L'archivage se fait lorsque tous les cosignataires ont signés
*
* @return mixed : Id de la demande de cosignature créée et liste des id des fichiers à signer
* Si le mode "IFRAME" est définie, un token sera également retournée pour chaque cosignataire
* Pour associer le bon token au bon cosignataire, un email et un numéro de téléphone sont associés à chaque token
* (ou false si une erreur est survenue)
*
* @category com.yousign.cosignejb
*
* @link http://developer.yousign.fr/com/yousign/cosignejb/CosignWS.html#CosignWS()
*/
public function initCoSign($lstFiles, $lstPersons, $visibleOptions, $message, $options = array())
{
$payload = '';
$this->client = $this->setClientSoap($this->URL_WSDL_COSIGN);
// A cause d'un soucis dans la librairie Nusoap, nous sommes obligés de créer nous même le payload afin qu'il corresponde à notre WSDL.
// Le pb : Avec un tableau de paramètres, Nusoap créer cette arborescence : <files><item>...</item><item>...</item></files>
// Nous avons besoin de cette arborescence : <files>...</files><files>...</files>. Les lignes suivantes permettent de bien la construire.
// Liste des fichiers de la co-signature
foreach ($lstFiles as $key => $file) {
$filePayload = '';
$visibleOptionsPayload = '';
// On récupère les options de signature visible
foreach ($visibleOptions[$file['idFile']] as $option) {
$item = array('visibleOptions' => $option);
foreach ($item as $k => $v) {
$visibleOptionsPayload .= $this->client->serialize_val($v, $k, false, false, false, false, 'encoded');
}
}
// On supprime l'id file qui est inutile
unset($file['idFile']);
$item = array('lstCosignedFile' => $file);
foreach ($item as $k => $v) {
$filePayload .= $this->client->serialize_val($v, $k, false, false, false, false, 'encoded');
}
// On insert les données de signature visible
$payload .= substr_replace($filePayload, $visibleOptionsPayload, strpos($filePayload, '</lstCosignedFile>'), 0);
}
// Liste des co-signataires
foreach ($lstPersons as $person) {
$item = array('lstCosignerInfos' => $person);
foreach ($item as $k => $v) {
$payload .= $this->client->serialize_val($v, $k, false, false, false, false, 'encoded');
}
}
// Ajout du message
$payload .= $this->client->serialize_val($message, 'message', false, false, false, false, 'encoded');
// Envoi d'email
if (isset($options['initMailSubject']) && isset($options['initMail'])) {
$payload .= $this->client->serialize_val($options['initMailSubject'], 'initMailSubject', false, false, false, false, 'encoded');
$payload .= $this->client->serialize_val($options['initMail'], 'initMail', false, false, false, false, 'encoded');
}
if (isset($options['endMailSubject']) && isset($options['endMail'])) {
$payload .= $this->client->serialize_val($options['endMailSubject'], 'endMailSubject', false, false, false, false, 'encoded');
$payload .= $this->client->serialize_val($options['endMail'], 'endMail', false, false, false, false, 'encoded');
}
if (isset($options['language'])) {
$payload .= $this->client->serialize_val($options['language'], 'language', false, false, false, false, 'encoded');
}
if (isset($options['mode'])) {
$payload .= $this->client->serialize_val($options['mode'], 'mode', false, false, false, false, 'encoded');
}
if (isset($options['archive'])) {
$payload .= $this->client->serialize_val($options['archive'], 'archive', false, false, false, false, 'encoded');
}
$result = $this->client->call('initCosign', $payload, self::API_NAMESPACE, self::API_NAMESPACE, $this->createHeaders());
if ($this->client->fault) {
$this->errors[] = $this->client->faultstring;
return false;
} else {
$err = $this->client->getError();
if ($err) {
$this->errors = $err;
return false;
} else {
if ($result > 0) {
return $result;
} else {
$this->errors[] = 'No result';
return false;
}
}
}
}