[SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design /* ATTENTION - le design du site ne peut pas être passé en doctype html (html 5) dans la révision 1 du design. bien qu'une révision 2 sera instanciée plus tard (l'année prochaine), il faudra se contenter de nombreux workaround en restant en HTML TRANSITIONAL 4.01 Du fait du nombre massif des éléments DE CETTE PAGE (et de ce qui en découlerait) qui seront à revoir pour transformer le design en design responsive.. .. il est alors plus judicieux de globaliser un TAG unique pour cette tâche pour ne pas alourdir de commentaires le code déjà suffisemment alourdi comme cela! En gros, ici, pour cette méga-tâche, je vais utiliser un format maison de commentaires pour cette tâche précise: --> pour en comprendre les méandres, voir le fichier /[!] - Saphyra-Interactive-TaskList-Explanations/[SI-LINDER-PARTNER-2][OSC]--semantic.php */ // <- [SI-LINDER-PARTNER-2][OSC] - Refonte du site Internet pour supporter le Responsive Design ?>set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } // needs to be included earlier to set the success message in the messageStack require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ADDRESS_BOOK_PROCESS); if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'deleteconfirm') && isset($HTTP_GET_VARS['delete']) && is_numeric($HTTP_GET_VARS['delete'])) { tep_db_query("delete from " . TABLE_ADDRESS_BOOK . " where address_book_id = '" . (int)$HTTP_GET_VARS['delete'] . "' and customers_id = '" . (int)$customer_id . "'"); $messageStack->add_session('addressbook', SUCCESS_ADDRESS_BOOK_ENTRY_DELETED, 'success'); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } // error checking when updating or adding an entry $process = false; // -> CSSEL133fix $refresh = false; if (isset($HTTP_POST_VARS['action']) && (($HTTP_POST_VARS['action'] == 'process') || ($HTTP_POST_VARS['action'] == 'update') || ($HTTP_POST_VARS['action'] == 'refresh'))) { if ($HTTP_POST_VARS['action'] != 'refresh') { $process = true; } else { $refresh = true; } // <- CSSEL133fix $error = false; if (ACCOUNT_GENDER == 'true') $gender = tep_db_prepare_input($HTTP_POST_VARS['gender']); if (ACCOUNT_COMPANY == 'true') $company = tep_db_prepare_input($HTTP_POST_VARS['company']); // -> TVAINT if (ACCOUNT_COMPANY == 'true') $tva_intracom = tep_db_prepare_input($HTTP_POST_VARS['tva_intracom']); // <- TVAINT $firstname = tep_db_prepare_input($HTTP_POST_VARS['firstname']); $lastname = tep_db_prepare_input($HTTP_POST_VARS['lastname']); $street_address = tep_db_prepare_input($HTTP_POST_VARS['street_address']); if (ACCOUNT_SUBURB == 'true') $suburb = tep_db_prepare_input($HTTP_POST_VARS['suburb']); $postcode = tep_db_prepare_input($HTTP_POST_VARS['postcode']); $city = tep_db_prepare_input($HTTP_POST_VARS['city']); $country = tep_db_prepare_input($HTTP_POST_VARS['country']); if (ACCOUNT_STATE == 'true') { if (isset($HTTP_POST_VARS['zone_id'])) { $zone_id = tep_db_prepare_input($HTTP_POST_VARS['zone_id']); } else { $zone_id = false; } $state = tep_db_prepare_input($HTTP_POST_VARS['state']); } // -> CSSEL133fix if ($refresh) {$state = '';} if ($process) { // <- CSSEL133fix if (ACCOUNT_GENDER == 'true') { if ( ($gender != 'm') && ($gender != 'f') ) { $error = true; $messageStack->add('addressbook', ENTRY_GENDER_ERROR); } } if (strlen($firstname) < ENTRY_FIRST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_FIRST_NAME_ERROR); } // -> TVAINT if (ACCOUNT_COMPANY == 'true') { if ( (strlen($company) != 0) && (strlen($company) < ENTRY_COMPANY_MIN_LENGTH) ) { $error = true; $messageStack->add('addressbook', ENTRY_COMPANY_ERROR); } if ( ENTRY_TVA_INTRACOM_CHECK == 'true') { if (strlen($tva_intracom) != 0) { // Begin update for TVA_INTRACOM_v3.9 if (is_numeric($country)) { $country_code = tep_get_countries_with_iso_codes($country); if ( (array_search($country_code['countries_iso_code_2'], array_keys(tep_get_tva_intracom_array())) === false) || ($country_code['countries_iso_code_2'] != substr(strtoupper(trim($tva_intracom)),0,2)) ) { $error = true; $messageStack->add('addressbook', ENTRY_CONTROL_TVA_INTRACOM_COUNTRY); } } // End update for TVA_INTRACOM_v3.9 $result_tva = tep_verif_tva(strtoupper(rtrim($tva_intracom))); if ($result_tva == 'false') { $error = true; $messageStack->add('addressbook', ENTRY_CONTROL_TVA_INTRACOM); } elseif ($result_tva == 'no_verif') { $error = true; $messageStack->add('addressbook', ENTRY_NO_VERIF_TVA_INTRACOM); } } } else { if ( (strlen($tva_intracom) != 0) && (strlen($tva_intracom) < ENTRY_TVA_INTRACOM_MIN_LENGTH) ) { $error = true; $messageStack->add('addressbook', ENTRY_TVA_INTRACOM_ERROR); } } } // <- TVAINT if (strlen($lastname) < ENTRY_LAST_NAME_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_LAST_NAME_ERROR); } if (strlen($street_address) < ENTRY_STREET_ADDRESS_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_STREET_ADDRESS_ERROR); } if (strlen($postcode) < ENTRY_POSTCODE_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_POST_CODE_ERROR); } if (strlen($city) < ENTRY_CITY_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_CITY_ERROR); } if (!is_numeric($country)) { $error = true; $messageStack->add('addressbook', ENTRY_COUNTRY_ERROR); } if (ACCOUNT_STATE == 'true') { // -> CSSEL133fix if ($zone_id == 0) { // <- CSSEL133fix if (strlen($state) < ENTRY_STATE_MIN_LENGTH) { $error = true; $messageStack->add('addressbook', ENTRY_STATE_ERROR); } } } // -> CSSEL133fix } if (!$refresh) { // <- CSSEL133fix if ($error == false) { $sql_data_array = array('entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_country_id' => (int)$country); if (ACCOUNT_GENDER == 'true') $sql_data_array['entry_gender'] = $gender; if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_company'] = $company; // -> TVAINT if (ACCOUNT_COMPANY == 'true') $sql_data_array['entry_tva_intracom'] = $tva_intracom; // <- TVAINT if (ACCOUNT_SUBURB == 'true') $sql_data_array['entry_suburb'] = $suburb; if (ACCOUNT_STATE == 'true') { if ($zone_id > 0) { $sql_data_array['entry_zone_id'] = (int)$zone_id; $sql_data_array['entry_state'] = ''; } else { $sql_data_array['entry_zone_id'] = '0'; $sql_data_array['entry_state'] = $state; } } if ($HTTP_POST_VARS['action'] == 'update') { tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array, 'update', "address_book_id = '" . (int)$HTTP_GET_VARS['edit'] . "' and customers_id ='" . (int)$customer_id . "'"); // reregister session variables if ( (isset($HTTP_POST_VARS['primary']) && ($HTTP_POST_VARS['primary'] == 'on')) || ($HTTP_GET_VARS['edit'] == $customer_default_address_id) ) { $customer_first_name = $firstname; $customer_country_id = $country; $customer_zone_id = (($zone_id > 0) ? (int)$zone_id : '0'); $customer_default_address_id = (int)$HTTP_GET_VARS['edit']; $sql_data_array = array('customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_default_address_id' => (int)$HTTP_GET_VARS['edit']); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender; tep_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int)$customer_id . "'"); } } else { $sql_data_array['customers_id'] = (int)$customer_id; tep_db_perform(TABLE_ADDRESS_BOOK, $sql_data_array); $new_address_book_id = tep_db_insert_id(); // reregister session variables if (isset($HTTP_POST_VARS['primary']) && ($HTTP_POST_VARS['primary'] == 'on')) { $customer_first_name = $firstname; $customer_country_id = $country; $customer_zone_id = (($zone_id > 0) ? (int)$zone_id : '0'); if (isset($HTTP_POST_VARS['primary']) && ($HTTP_POST_VARS['primary'] == 'on')) $customer_default_address_id = $new_address_book_id; $sql_data_array = array('customers_firstname' => $firstname, 'customers_lastname' => $lastname); if (ACCOUNT_GENDER == 'true') $sql_data_array['customers_gender'] = $gender; if (isset($HTTP_POST_VARS['primary']) && ($HTTP_POST_VARS['primary'] == 'on')) $sql_data_array['customers_default_address_id'] = $new_address_book_id; tep_db_perform(TABLE_CUSTOMERS, $sql_data_array, 'update', "customers_id = '" . (int)$customer_id . "'"); } } $messageStack->add_session('addressbook', SUCCESS_ADDRESS_BOOK_ENTRY_UPDATED, 'success'); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } } // -> CSSEL133fix } if ($refresh) { // Recreate $entry from post values collected above $entry = array( 'entry_firstname' => $firstname, 'entry_lastname' => $lastname, 'entry_street_address' => $street_address, 'entry_postcode' => $postcode, 'entry_city' => $city, 'entry_state' => "", 'entry_zone_id' => (int)0, 'entry_country_id' => (int)$country); if (ACCOUNT_GENDER == 'true') $entry['entry_gender'] = $gender; if (ACCOUNT_COMPANY == 'true') $entry['entry_company'] = $company; if (ACCOUNT_SUBURB == 'true') $entry['entry_suburb'] = $suburb; } else // <- CSSEL133fix if (isset($HTTP_GET_VARS['edit']) && is_numeric($HTTP_GET_VARS['edit'])) { // -> TVAINT $entry_query = tep_db_query("select entry_gender, entry_company, entry_tva_intracom, entry_firstname, entry_lastname, entry_street_address, entry_suburb, entry_postcode, entry_city, entry_state, entry_zone_id, entry_country_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$HTTP_GET_VARS['edit'] . "'"); // <- TVAINT if (!tep_db_num_rows($entry_query)) { $messageStack->add_session('addressbook', ERROR_NONEXISTING_ADDRESS_BOOK_ENTRY); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } $entry = tep_db_fetch_array($entry_query); } elseif (isset($HTTP_GET_VARS['delete']) && is_numeric($HTTP_GET_VARS['delete'])) { if ($HTTP_GET_VARS['delete'] == $customer_default_address_id) { $messageStack->add_session('addressbook', WARNING_PRIMARY_ADDRESS_DELETION, 'warning'); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } else { $check_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where address_book_id = '" . (int)$HTTP_GET_VARS['delete'] . "' and customers_id = '" . (int)$customer_id . "'"); $check = tep_db_fetch_array($check_query); if ($check['total'] < 1) { $messageStack->add_session('addressbook', ERROR_NONEXISTING_ADDRESS_BOOK_ENTRY); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } } } else { $entry = array(); // -> CSSEL133fix if (!isset($country)) $country = DEFAULT_COUNTRY; $entry['entry_country_id'] = $country; // <- CSSEL133fix } if (!isset($HTTP_GET_VARS['delete']) && !isset($HTTP_GET_VARS['edit'])) { if (tep_count_customer_address_book_entries() >= MAX_ADDRESS_BOOK_ENTRIES) { $messageStack->add_session('addressbook', ERROR_ADDRESS_BOOK_FULL); tep_redirect(tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); } } $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_ACCOUNT, '', 'SSL')); $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL')); if (isset($HTTP_GET_VARS['edit']) && is_numeric($HTTP_GET_VARS['edit'])) { $breadcrumb->add(NAVBAR_TITLE_MODIFY_ENTRY, tep_href_link(FILENAME_ADDRESS_BOOK_PROCESS, 'edit=' . $HTTP_GET_VARS['edit'], 'SSL')); } elseif (isset($HTTP_GET_VARS['delete']) && is_numeric($HTTP_GET_VARS['delete'])) { $breadcrumb->add(NAVBAR_TITLE_DELETE_ENTRY, tep_href_link(FILENAME_ADDRESS_BOOK_PROCESS, 'delete=' . $HTTP_GET_VARS['delete'], 'SSL')); } else { $breadcrumb->add(NAVBAR_TITLE_ADD_ENTRY, tep_href_link(FILENAME_ADDRESS_BOOK_PROCESS, '', 'SSL')); } ?> > <?php echo TITLE; ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on déclare une petite variable, sous forme de tableau associatif, ce tableau servira à identifier la page (au lieu d'utiliser PHP_SELF etc..) et cette identification servira dans le nouveau fichier d'inclusion de design dynamique inclu en [2] c'est tout simple ! - 2/ inclusion du fichier PHP chargeur du design, ce sera à ce fichier inclu de décider quels assets (scripts, feuilles de styles, autres) charger! } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_1] $_SI__NewDesign = array( 'pageFilepath' => '/address_book_process.php' ); // ([1])-->[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END // ([2])-->BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END require_once('--SI--2020DesignInitializer.php'); /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************/ ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(isPage--AddressBookProcess isResponsive--Main)]:{" ATTENTION (ne pas oublier cette ligne!) servira à cibler cette page précise dans un sélecteur css.. // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_2] "} ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on modifie la taille de cette cellule, qui est celle de gauche (avant) gérée via la constante PHP BOX_WIDTH de OSCommerce, (désormais), gérée par une valeur en dur, pourquoi? (1) la valeur initiale est gérée par une constante PHP, mais sa valeur... est aussi la modificatrice de la cellule de droite.. Ce qui pose problème quand on veut juste modifier celle de gauche et ne pas intervenir sur celle de droite, donc, ici, on modifie le echo BOX_WIDTH par une valeur fixée plus souple et enfin, on ajoute une classe pour pouvoir cibler cette cellule de tableau afin de la masquer en responsive ou autres ! // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_3] "} ?> [SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute une classe pour pouvoir cibler cette cellule de tableau afin de la masquer en responsive ou autres ! // [RESPONSIVE_DESIGN_2020_IMPLEMENTATION_CARDBOARD_2020_SAPHYRA_INTERACTIVE_ETAPE_4] "} ?>
size('addressbook') > 0) { ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(--messageStackCell)]:{" perméttra plus tard de cibler le bloc de messages d'avertissement/erreur/succès du site "} ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(----pageAddressBookProcessSubCellCategorySectionDescription)]:{" perméttra plus tard de cibler le bloc de catégories de sections "} ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va ajouter le même ancien bloc conteneur du fichier de détails/création d'une adresse du carnet d'adresse depuis le carnet d'adresses, mais entres de nouveaux commentaires HTML, afin de montrer plus tard à quel moment il est inclu dans la page (code source HTML) } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?> snapshot) > 0) { $back_link = tep_href_link($navigation->snapshot['page'], tep_array_to_string($navigation->snapshot['get'], array(tep_session_name())), $navigation->snapshot['mode']); } else { $back_link = tep_href_link(FILENAME_ADDRESS_BOOK, '', 'SSL'); } ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ petits changements sur la structure et sur le texte sert uniquement à restyliser l'élément pour le centrer par exemple et le re-marger - 2/ comme ce titre est dynamique (vu que cette page est accédée de différentes manières: Modification d'adresses existantes ; Suppression d'adresses existantes ; Ajout de nouvelles adresses, on va alors aussi en profiter pour en reformater son code - 3/ à l'origine, ici, il y avait une image, désormais, en attendant d'éventuellement lui trouver une belle image, on va alors la commenter mais on inscrit un texte 'vide' avec echo, car, sinon, PHP émet une FATAL ERROR } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
output('addressbook'); ?>
[SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageAddressBookProcessSubCellCategorySectionDescription)]:{" perméttra plus tard de cibler le bloc de description de sections "} ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute une classe ici pour cibler le bloc plus tard, et on commente l'image, on rajoute un double-point et un espace après le texte "} ?> [SI-LINDER-PARTNER-2][OSC][AddClassDescription(--pageAddressBookSubCellCategorySectionMainAdress)]:{" perméttra plus tard de cibler le bloc de description de sections "} ?>

'); ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va revoir les éléments de boutons, tout simplement par ici - 2/ remplacement de l'ancien bouton (lien) ou (soumission), pour l'avoir désormais géré par UI Kit, mais aussi, avec une classe précise - 3/ exceptionnellement ici, on aligne à gauche le bouton - 4/ exceptionnellement ici, on aligne à droite le bouton } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va revoir les éléments de boutons, tout simplement par ici - 2/ remplacement de l'ancien bouton (lien) ou (soumission), pour l'avoir désormais géré par UI Kit, mais aussi, avec une classe précise - 3/ exceptionnellement ici, on aligne à gauche le bouton - 4/ exceptionnellement ici, on donnera du style supplémentaire au bouton de soumission - 5/ on va aussi ajouter un champ de formulaire caché TODO [VTAB-TEAM-LINDER-PARTNER-1][OSC][MultiTaskDescriptions] - Revue de la charte Graphique: - 1/ ajout du nouveau bouton vtab à la place de l'ancien bouton, géré par la fonction vtab_tep_button() qui se trouve dans le fichier vtab_html_output.php cela remplace l'étape [2] de la tâche [SI-LINDER-PARTNER-2][OSC] } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?>
[SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions]:{ - 1/ on va revoir les éléments de boutons, tout simplement par ici - 2/ remplacement de l'ancien bouton (lien) ou (soumission), pour l'avoir désormais géré par UI Kit, mais aussi, avec une classe précise - 3/ exceptionnellement ici, on aligne à gauche le bouton - 4/ exceptionnellement ici, on donnera du style supplémentaire au bouton de soumission - 5/ on va aussi ajouter un champ de formulaire caché [VTAB-TEAM-LINDER-PARTNER-1][OSC][MultiTaskDescriptions] - Revue de la charte Graphique: - 1/ ajout du nouveau bouton vtab à la place de l'ancien bouton, géré par la fonction vtab_tep_button() qui se trouve dans le fichier vtab_html_output.php cela remplace l'étape [2] de la tâche [SI-LINDER-PARTNER-2][OSC] } */ ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::BEGIN ?> BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END /* [SI-LINDER-PARTNER-2][OSC][MultiTaskDescriptions] ************************************************************************ */ ?>
BEGIN[SI-LINDER-PARTNER-2][OSC][SubTaskDescription]::END ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::BEGIN ?> [VTAB-TEAM-LINDER-PARTNER-1][OSC][SubTaskDescription]::END ?>
'; ?>
[SI-LINDER-PARTNER-2][OSC][SimpleTaskDescription]:{" on ajoute un élément HTML et une classe pour pouvoir cibler cette zone afin de la styliser en responsive ou autres ! "} ?>