X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fcallback-functions.php;h=55616a03685508e7fbbbf87f1b1bbd35e5c5923d;hb=7b0f9d4f53b791699a6f5353930cbb20c9dc6c1b;hp=4b9c5c8b59d3e47075661a435bab603662f1215e;hpb=596c8ab32594401ca84abfbfe35513ddfff31bec;p=mailer.git diff --git a/inc/callback-functions.php b/inc/callback-functions.php index 4b9c5c8b59..55616a0368 100644 --- a/inc/callback-functions.php +++ b/inc/callback-functions.php @@ -319,6 +319,18 @@ function doXmlExtraParameterReloadList ($resource, $attributes) { } } +// Handles the XML node 'extra-parameter-waiting-list' +function doXmlExtraParameterWaitingList ($resource, $attributes) { + // There should be no attributes + if (count($attributes) > 0) { + // Please don't add any attributes to foo-list nodes + reportBug(__FUNCTION__, __LINE__, 'Expected 0 attributes because this is a foo-list node, got ' . count($attributes)); + } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['waiting_list'])) { + // This list should be created already + reportBug(__FUNCTION__, __LINE__, 'waiting_list should be already created.'); + } +} + // Handles the XML node 'extra-parameter-member-list-entry' function doXmlExtraParameterMemberListEntry ($resource, $attributes) { // There are three attributes, by default @@ -379,6 +391,36 @@ function doXmlExtraParameterReloadListEntry ($resource, $attributes) { addXmlValueToCallbackAttributes('extra_list', $attributes, 'reload_list'); } +// Handles the XML node 'extra-parameter-waiting-list-entry' +function doXmlExtraParameterWaitingListEntry ($resource, $attributes) { + // There are three attributes, by default + if (count($attributes) != 3) { + // Not the right count + reportBug(__FUNCTION__, __LINE__, 'Expected 3 attributes, got ' . count($attributes)); + } elseif (!isset($attributes['NAME'])) { + // 'NAME' not found + reportBug(__FUNCTION__, __LINE__, 'Required attribute NAME not found.'); + } elseif (!isset($attributes['TYPE'])) { + // 'TYPE' not found + reportBug(__FUNCTION__, __LINE__, 'Required attribute TYPE not found.'); + } elseif (!isInvalidXmlType($attributes['TYPE'])) { + // No valid type + reportBug(__FUNCTION__, __LINE__, 'TYPE is not valid, got: ' . $attributes['TYPE']); + } elseif (!isset($attributes['VALUE'])) { + // 'VALUE' not found + reportBug(__FUNCTION__, __LINE__, 'Required attribute VALUE not found.'); + } elseif (!isXmlValueValid($attributes['TYPE'], $attributes['VALUE'])) { + // Not valid/verifyable + reportBug(__FUNCTION__, __LINE__, 'Attribute VALUE does not validate. TYPE=' . $attributes['TYPE'] . ',VALUE=' . $attributes['VALUE']); + } elseif (!isset($GLOBALS['__XML_ARGUMENTS']['doXmlCallbackFunction']['extra_list']['waiting_list'])) { + // doXmlCallbackFunction is missing + reportBug(__FUNCTION__, __LINE__, 'Required XML node callback-function/extra-parameter-list/waiting-list not included around this node. Please fix your XML.'); + } + + // Add the entry to the list + addXmlValueToCallbackAttributes('extra_list', $attributes, 'waiting_list'); +} + // Handles the XML node 'extra-parameter-added-list' function doXmlExtraParameterAddedList ($resource, $attributes) { // There should be no attributes @@ -1294,7 +1336,7 @@ function doXmlCallbackFunctionExecute ($callbackName, $args, $columnIndex) { } // END - if // Just call it - //* DEBUG: */ die('callbackFunction=' . $callbackName . ',columnIndex=' . $columnIndex . ',args=
'.print_r($args, TRUE).'
'); + //* DEBUG: */ die(__FUNCTION__.':callbackFunction=' . $callbackName . ',columnIndex=' . $columnIndex . ',args=
'.print_r($args, TRUE).'
'); call_user_func_array($callbackName, $args); }