cipf v0.5.11 added instructions for css class

This commit is contained in:
asus
2024-04-24 14:15:48 +02:00
parent 2397b24b57
commit 687ac0cf4e
7 changed files with 324 additions and 105 deletions

View File

@@ -4,7 +4,7 @@ Plugin Name: hggg_cipf
Plugin URI:
Description:
Author: hugogogo
Version: 0.5.10.1
Version: 0.5.11
Author URI:
*/

View File

@@ -8,13 +8,17 @@
/*
* hide all acf fields with the class 'hide_for_fipfrole_cipf'
* also hide the title if class 'hide_group_for_fipfrole_cipf'
* also hide the title if class 'hide_group_title_for_fipfrole_cipf'
*
*/
form#your-profile h2:has(+ .form-table .hide_group_for_fipfrole_cipf) {
form#your-profile h2:has(+ .form-table .hide_group_for_fipfrole),
form#your-profile h2:has(+ .form-table .hide_title_for_fipfrole) {
display: none;
}
form#your-profile .hide_for_fipfrole_cipf {
form#your-profile h2:has(+ .form-table .hide_group_for_fipfrole) + .form-table {
display: none;
}
form#your-profile .hide_for_fipfrole {
display: none;
}

View File

@@ -1,6 +1,131 @@
#mytext {
border: 1px solid blue;
h1 {
margin-left: 15px;
margin-top: 50px;
}
#mytext_2 {
border: 1px solid green;
form.cipf, section.cipf {
margin: 15px;
border: 1px solid black;
padding: 20px;
}
form.cipf > div {
margin: 20px 0px;
}
.define_paypal_credentials_cipf input {
width: 100%;
}
form.cipf .vertical_wrapper_cipf {
display: flex;
flex-direction: column;
}
form.cipf textarea {
resize: vertical;
height: 120px;
}
/*
* form emails
*
*/
form.emails_form_cipf {
margin: 10px;
padding: 10px;
> input[type="submit"] {
margin-left: 15px;
}
details.set_email_options_cipf {
margin: 15px;
padding: 0px 20px;
border: 1px solid black;
summary {
padding: 20px 0px;
cursor: grab;
h2 {
display: inline;
}
}
.email_type_wrapper_cipf {
margin-bottom: 50px;
.send_or_not_cipf {
margin-bottom: 20px;
}
.send_or_not_cipf:has(input:not(:checked)) + .email_options_cipf {
display: none;
}
.email_options_cipf {
padding-left: 20px;
border-left: 1px solid black;
label {
margin: 10px 0px;
}
}
}
}
}
/*
* explication class css
*
*/
section.cipf {
font-size: 1.3em;
p {
font-size: 1em;
}
> h2:not(:first-child) {
margin-top: 50px;
}
ul {
list-style: disc inside;
ul {
list-style: circle inside;
margin-top: 5px;
margin-left: 15px;
}
}
.big_space {
width: 20px;
display: inline-block;
}
details {
margin: 10px;
cursor: default;
summary {
cursor: grab;
padding: 10px;
margin-bottom: 20px;
}
.case_title {
display: flex;
margin-top: 40px;
p {
margin: auto 20px;
}
}
.case {
padding: 10px;
display: flex;
> h1, > h2 {
margin: auto 50px;
}
}
.delimiter {
border-bottom: 1px solid black;
}
.group {
background-color: lightgray;
padding: 1px 10px;
margin-bottom: 50px;
min-height: 50px;
.field {
display: flex;
.input {
border: 1px solid black;
height: 20px;
width: 300px;
margin: auto 100px;
}
}
}
}
}

View File

@@ -1,73 +1,7 @@
<style>
h1 {
margin-left: 15px;
margin-top: 50px;
}
form {
margin: 15px;
border: 1px solid black;
padding: 20px;
}
form > div {
margin: 20px 0px;
}
.define_paypal_credentials_cipf input {
width: 100%;
}
form .vertical_wrapper_cipf {
display: flex;
flex-direction: column;
}
form textarea {
resize: vertical;
height: 120px;
}
/*
* form emails
*
*/
form.emails_form_cipf {
margin: 10px;
padding: 10px;
> input[type="submit"] {
margin-left: 15px;
}
details.set_email_options_cipf {
margin: 15px;
padding: 0px 20px;
border: 1px solid black;
summary {
padding: 20px 0px;
cursor: grab;
h2 {
display: inline;
}
}
.email_type_wrapper_cipf {
margin-bottom: 50px;
.send_or_not_cipf {
margin-bottom: 20px;
}
.send_or_not_cipf:has(input:not(:checked)) + .email_options_cipf {
display: none;
}
.email_options_cipf {
padding-left: 20px;
border-left: 1px solid black;
label {
margin: 10px 0px;
}
}
}
}
}
</style>
<!-- https://developer.wordpress.org/reference/hooks/admin_post_action/ -->
<h1>paypal credentials</h1>
<?php echo Plgntls::open_form_option($option_paypal['_name']); ?>
<?php echo Plgntls::open_form_option($option_paypal['_name'], 'post', 'cipf'); ?>
<div class="define_paypal_credentials_cipf vertical_wrapper_cipf">
<label for="paypal_live_client_id_cipf">live client id : </label>
<input type="text" id="paypal_live_client_id_cipf" name="live_client_id" value="<?php echo $option_paypal['live_client_id']; ?>" />
@@ -111,7 +45,7 @@
<!--
-->
<h1>messages apres paiement, avant redirection</h1>
<?php echo Plgntls::open_form_option($option_payment['_name']); ?>
<?php echo Plgntls::open_form_option($option_payment['_name'], 'post', 'cipf'); ?>
<div class="define_payment_message_cipf vertical_wrapper_cipf">
<label for="define_payment_message_success_cipf">paiement réussi : </label>
<textarea id="define_payment_message_success_cipf" name="message_success"><?php echo esc_html(stripslashes($option_payment['success'])); ?></textarea>
@@ -146,7 +80,7 @@
'confirmation_message'=>"donne l'argent",
-->
<h1>emails :</h1>
<?php echo Plgntls::open_form_option($option_emails['_name'], 'POST', 'emails_form_cipf'); ?>
<?php echo Plgntls::open_form_option($option_emails['_name'], 'POST', 'emails_form_cipf cipf'); ?>
<?php
foreach($option_emails as $name => $email_options) {
@@ -236,3 +170,62 @@
<input type="submit" value="send"/>
</form>
<!--
EXPLICATIONS CLASS CSS
-->
<h1>instructions class css</h1>
<section class="cipf">
<h2>acf</h2>
<p>ajouter ces class sur chaque champs acf, dans <mark>ACF > Groupes de champs > modifier un groupe > modifier un champ > Présentation > classe</mark></p>
<ul>
<li><strong>hide_for_fipfrole : </strong>cacher un champ acf</li>
<li><strong>hide_title_for_fipfrole : </strong>cacher le titre d'un groupe de champs (a mettre sur n'importe quel champ du groupe)</li>
<li><strong>hide_group_for_fipfrole : </strong>cacher tout le groupe de champ (a mettre sur n'importe quel champ du groupe)</li>
<ul>
<details>
<summary>explications visuelles :</summary>
<?php include(dirname(__FILE__).'/explications_acf_groups.html'); ?>
</details>
</ul>
<li><strong>readonly_acf : </strong>transformer un champ en lecture-seule : il ne sera pas modifiable</li>
<li><strong>textarea_full_width : </strong>donner à un champ textarea toute la largeur de la page (surtout pour le champ 'historique')</li>
</ul>
<h2>divi</h2>
<ul>
<li><strong>partenaire_propre_page_cipf : </strong>cacher un element si la personne qui regarde la page n'est pas le ou la partenaire à qui appartient la page (l'article)</li>
<li><strong>cipf_display_ : </strong>cacher un element si la page n'est pas dans un etat precis, voici la liste de tous les etats possibles :
<ul>
<li><strong>cipf_display_carte_commande</strong></li>
<li><strong>cipf_display_carte_renouvellement</strong></li>
<li><strong>cipf_display_changer_carte</strong></li>
<li><strong>cipf_display_compte_carte_expiree</strong></li>
<li><strong>cipf_display_compte_carte_valide</strong></li>
<li><strong>cipf_display_compte_doit_payer</strong></li>
<li><strong>cipf_display_compte_en_attente_invalide</strong></li>
<li><strong>cipf_display_compte_en_attente_valide</strong></li>
<li><strong>cipf_display_compte_nouveau_prof</strong></li>
<li><strong>cipf_display_page_partenaire_brouillon</strong></li>
<li><strong>cipf_display_page_partenaire_publiee</strong></li>
<li><strong>cipf_display_paiement_aucun</strong></li>
<li><strong>cipf_display_paiement_echec</strong></li>
<li><strong>cipf_display_paiement_en_cours</strong></li>
<li><strong>cipf_display_paiement_reussi</strong></li>
<li><strong>cipf_display_type_paypal</strong></li>
<li><strong>cipf_display_type_virement</strong></li>
</ul>
</li>
</ul>
<h2></h2>
<ul>
<li><strong> : </strong></li>
</ul>
</section>

View File

@@ -0,0 +1,124 @@
<div class="case_title"><h4>le groupe de champs par defaut</h4></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>(pas de class)</p>
<p><strong>champ 2 : </strong>(pas de class)</p>
</div>
</div>
<div class="group">
<p><strong>emails profs et partenaires</strong></p>
<div class="field">
<p>champ 1</p>
<div class="input"></div>
</div>
<div class="field">
<p>champ 2</p>
<div class="input"></div>
</div>
</div>
<div class="delimiter"></div>
<div class="case_title"><h4>cacher un champ du groupe</h4><p>avec <code>hide_for_fiprole</code></p></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>hide_for_fipfrole</p>
<p><strong>champ 2 : </strong>(pas de class)</p>
</div>
</div>
<div class="group">
<p><strong>emails profs et partenaires</strong></p>
<div class="field">
<p>champ 2</p>
<div class="input"></div>
</div>
</div>
<div class="case_title"><h4>ou</h4></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>(pas de class)</p>
<p><strong>champ 2 : </strong>hide_for_fipfrole</p>
</div>
</div>
<div class="group">
<p><strong>emails profs et partenaires</strong></p>
<div class="field">
<p>champ 1</p>
<div class="input"></div>
</div>
</div>
<div class="delimiter"></div>
<div class="case_title"><h4>cacher le titre du groupe</h4><p>avec <code>hide_title_for_fiprole</code></p></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>hide_title_for_fipfrole</p>
<p><strong>champ 2 : </strong>(pas de class)</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>(pas de class)</p>
<p><strong>champ 2 : </strong>hide_title_for_fipfrole</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>hide_title_for_fipfrole</p>
<p><strong>champ 2 : </strong>hide_title_for_fipfrole</p>
</div>
</div>
<div class="group">
<div class="field">
<p>champ 1</p>
<div class="input"></div>
</div>
<div class="field">
<p>champ 2</p>
<div class="input"></div>
</div>
</div>
<div class="delimiter"></div>
<div class="case_title"><h4>cacher tout le groupe</h4><p>avec <code>hide_group_for_fiprole</code></p></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>hide_group_for_fipfrole</p>
<p><strong>champ 2 : </strong>(pas de class)</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>(pas de class)</p>
<p><strong>champ 2 : </strong>hide_group_for_fipfrole</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>hide_group_for_fipfrole</p>
<p><strong>champ 2 : </strong>hide_group_for_fipfrole</p>
</div>
</div>
<div class="group">
</div>
<div class="case_title"><h4>ou </h4><p>avec <code>hide_for_fipfrole</code> sur chaque elements et <code>hide_title_for_fipfrole</code> sur n'importe quel elements ou sur tous</p></div>
<div class="case">
<div>
<p><strong>champ 1 : </strong>hide_for_fipfrole <span class="big_space"></span>hide_title_for_fipfrole</p>
<p><strong>champ 2 : </strong>hide_for_fipfrole</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>hide_for_fipfrole</p>
<p><strong>champ 2 : </strong>hide_for_fipfrole <span class="big_space"></span>hide_title_for_fipfrole</p>
</div>
<h2>ou</h2>
<div>
<p><strong>champ 1 : </strong>hide_for_fipfrole <span class="big_space"></span>hide_title_for_fipfrole</p>
<p><strong>champ 2 : </strong>hide_for_fipfrole <span class="big_space"></span>hide_title_for_fipfrole</p>
</div>
</div>
<div class="group">
</div>

View File

@@ -42,6 +42,7 @@ function add_plugin_content_CIPF() {
//delete_option($option_emails_object['_name']);
$option_emails = Plgntls::get_option_safe($option_emails_object, true);
Plgntls::add_to_front(array('css/menu/menu.css'));
ob_start();
include(Plgntls::root_path() . '/html/menu/cipf_menu.html');
$html = ob_get_clean();

28
ç
View File

@@ -1,28 +0,0 @@
## list of errors in divi form builder
1. [-] editing a post only work with the post title in the edit form (it can be an hidden field)
2. [-] edit post form dont remember a choice if the acf field has a value of 0 : `0 : label`
3. [-] multistep form effects and height calculation
4. [-] file upload icon on firefox
5. [ ] acf date not initialized is array, but dfb dont check it, which creates a php-notice array to string conversion -> `wordpress_docker/volumes/wp_volume/wp-content/plugins/divi-form-builder/includes/modules/FormField/FormField.php`
6. [ ] acf date don't output well and consistently, because acf will try to format it
7. [ ] acf date is not saved in acf format in the database
8. [ ] it's not a front error, but it made things really complicated to not have a filter of the `post_array` before saving it to the database : we can only filter the array with the wp hook `update_post_metadata`, but it does not have all the informations we need from the `post_array`
---
1. when chossing a date in formbuilder, if the date format is not in format yymmdd (or Ymd in acf convention) it will not work
2. divi form builder, contact form, prof delete account, delete user, email confirmation, logged in user -> not working
3. when creating an hidden input email mapped with the email of the user, it deleted the email of the user
4. form email confirmation only sent if email notification are enabled
6. when choosing edit for author and admin only, admin can edit the post, but it changes its author
7. calculation total disapear when validating
8. in form, when chosing a conditional logic to output an element based on the value of another field, it does not work if this other field is automatically detecting fields from mapped value
- 434 : ../../../../wordpress_docker/volumes/wp_volume/wp-content/plugins/divi-form-builder/includes/DiviFormBuilder.php
- those lines :
```
if ( !isset( $post_array['meta_input'][$meta_input_rname] ) ) {
$post_array['meta_input'][$meta_input_rname] = array();
}t
```
- they keep the field in the array that will be used to create the new post, but with an empty value : it empty the acf field at post creation. Instead, just don't keep the value ! -> it will not be in the new post, without emptying the acf field