Manuál ke stránkám

OBSAH

– Přihláška – CALDERA FORMS

— zadávání podmínek rozesílání mailů

— vložení výpisu statistiky testu a odpovědí do mailu, případně na výslednou stránku

– Přihláška – CALDERA FORMS

Do pluginu Caldera Forms byly udělány změny v souboru classes/core.php

  1. Zadávání podmínek rozesílání mailů

Lze zadat podmínku, že se má rozesílat v časovém úseku (například během prázdnin) formou

obdobi=leto&start=01.07&end=21.09

Časový úsek začíná i končí ve stejném kalendářním roce. Pak musí být obdobi=leto a nastaven začátek a konec obdbobí

 

Lze zadat podmínku, že se má rozesílat mimo časový úsek (například mimo prázdniny) formou

obdobi=rok&start=21.09&end=30.06

Časový úsek končí v následujícím roce po začátku. Pak musí být obdobi=rok a nastaven začátek a konec obdbobí

Změna kódu

case ‚contains‘:
if(is_array($value)){
if( false !== strpos( implode(“, $value), $line[‚value‘] ) ){
$truelines[$lineid] = true;
}
}else{
if( false !== strpos( $value, $line[‚value‘] ) ){
$truelines[$lineid] = true;
}
}

parse_str($line[‚value‘],$obdobi);
if(isset($obdobi[‚obdobi‘])){
$prazdniny_start=mktime(00, 00, 00, substr($obdobi[‚start‘], 0, 2), substr($obdobi[‚start‘], 3, 2));
$prazdniny_end=mktime(00, 00, 00, substr($obdobi[‚end‘], 0, 2), substr($obdobi[‚end‘], 3, 2));

if ($obdobi[‚obdobi‘]==“leto“) {
if ((time()>$prazdniny_start)and(time()<$prazdniny_end)){
$truelines[$lineid] = true;
}
} else if ($obdobi[‚obdobi‘]==“rok“) {
if ((time()<=$prazdniny_start)or(time()>=$prazdniny_end)){
$truelines[$lineid] = true;
}
}
}

break;

vložení výpisu statistiky testu a odpovědí do mailu, případně na výslednou stránku

Do mailu, nebo na výslednou stránku lze vložit kódy

{results} = vypíše procenta správných odpovědí podle úrovní otázek

{test_summary} = vypíše otázky a jejich odpovědi s označením, které byly správné a které špatné

Testové otázky ve formuláři musí mít zaškrtnutou volbu Show Values. A hodnota musí být nastavena podle úrovně otázky 1 až 4 (1 je začátečnická, 4 je nejpokročilejší). Správné otázky mají kladnou hodnotu, Chybné otázky mají odpovídající zápornou hodnotu -1 až -4 (-1 je začátečnická, -4 je nejpokročilejší).

Změna kódu

case ‚ua‘:
$magic_tag = $_SERVER[‚HTTP_USER_AGENT‘];
break;
case ‚results‘:
$knowledge_level_1 = 0;
$knowledge_level_2 = 0;
$knowledge_level_3 = 0;
$knowledge_level_4 = 0;
$knowledge_levelOK_1 = 0;
$knowledge_levelOK_2 = 0;
$knowledge_levelOK_3 = 0;
$knowledge_levelOK_4 = 0;
$language_choice = „“;
$level_limits[1] = array(
0 => ‚BEGINNER‘,
1 => ‚BEGINNER‘,
2 => ‚BEGINNER‘,
3 => ‚BEGINNER‘,
4 => ‚ELEMENTARY I.‘,
5 => ‚ELEMENTARY I.‘,
6 => ‚ELEMENTARY I.‘,
7 => ‚ELEMENTARY I.‘,
8 => ‚ELEMENTARY I.‘,
9 => ‚ELEMENTARY II.‘,
10 => ‚ELEMENTARY II.‘,
11 => ‚ELEMENTARY II.‘,
12 => ‚ELEMENTARY II.‘,
13 => ‚PRE-INTERMEDIATE I.‘,
14 => ‚PRE-INTERMEDIATE I.‘,
15 => ‚PRE-INTERMEDIATE I.‘,
16 => ‚PRE-INTERMEDIATE I.‘,
17 => ‚PRE-INTERMEDIATE I.‘,
18 => ‚PRE-INTERMEDIATE II.‘,
19 => ‚PRE-INTERMEDIATE II.‘,
20 => ‚PRE-INTERMEDIATE II.‘,
21 => ‚PRE-INTERMEDIATE II.‘,
22 => ‚PRE-INTERMEDIATE II.‘,
23 => ‚PRE-INTERMEDIATE II.‘,
24 => ‚PRE-INTERMEDIATE II.‘,
25 => ‚INTERMEDIATE I.‘,
26 => ‚INTERMEDIATE I.‘,
27 => ‚INTERMEDIATE I.‘,
28 => ‚INTERMEDIATE I.‘,
29 => ‚INTERMEDIATE I.‘,
30 => ‚INTERMEDIATE I.‘,
31 => ‚INTERMEDIATE II.‘,
32 => ‚INTERMEDIATE II.‘,
33 => ‚INTERMEDIATE II.‘,
34 => ‚INTERMEDIATE II.‘,
35 => ‚INTERMEDIATE II.‘,
36 => ‚INTERMEDIATE II.‘,
37 => ‚INTERMEDIATE II.‘,
38 => ‚INTERMEDIATE II.‘,
39 => ‚INTERMEDIATE II.‘,
40 => ‚INTERMEDIATE II.‘,
41 => ‚UPPER-INTERMEDIATE‘,
42 => ‚UPPER-INTERMEDIATE‘,
43 => ‚UPPER-INTERMEDIATE‘,
44 => ‚UPPER-INTERMEDIATE‘,
45 => ‚UPPER-INTERMEDIATE‘,
46 => ‚UPPER-INTERMEDIATE‘,
47 => ‚UPPER-INTERMEDIATE‘,
48 => ‚ADVANCED‘,
49 => ‚ADVANCED‘,
50 => ‚ADVANCED‘,
51 => ‚ADVANCED‘,
52 => ‚ADVANCED‘,
53 => ‚ADVANCED‘,
54 => ‚ADVANCED‘,
55 => ‚ADVANCED‘
);
$level_limits[2] = array(
0 => ‚ZAČÁTEČNÍK‘,
1 => ‚ZAČÁTEČNÍK‘,
2 => ‚ZAČÁTEČNÍK‘,
3 => ‚ZAČÁTEČNÍK‘,
4 => ‚ZAČÁTEČNÍK‘,
5 => ‚ZAČÁTEČNÍK‘,
6 => ‚MÍRNĚ POKROČILÝ‘,
7 => ‚MÍRNĚ POKROČILÝ‘,
8 => ‚MÍRNĚ POKROČILÝ‘,
9 => ‚MÍRNĚ POKROČILÝ‘,
10 => ‚MÍRNĚ POKROČILÝ‘,
11 => ‚MÍRNĚ POKROČILÝ‘,
12 => ‚MÍRNĚ POKROČILÝ‘,
13 => ‚MÍRNĚ POKROČILÝ‘,
14 => ‚MÍRNĚ POKROČILÝ‘,
15 => ‚MÍRNĚ POKROČILÝ‘,
16 => ‚STŘEDNĚ POKROČILÝ‘,
17 => ‚STŘEDNĚ POKROČILÝ‘,
18 => ‚STŘEDNĚ POKROČILÝ‘,
19 => ‚STŘEDNĚ POKROČILÝ‘,
20 => ‚STŘEDNĚ POKROČILÝ‘,
21 => ‚STŘEDNĚ POKROČILÝ‘,
22 => ‚STŘEDNĚ POKROČILÝ‘,
23 => ‚STŘEDNĚ POKROČILÝ‘,
24 => ‚STŘEDNĚ POKROČILÝ‘,
25 => ‚STŘEDNĚ POKROČILÝ‘,
26 => ‚STŘEDNĚ POKROČILÝ‘,
27 => ‚STŘEDNĚ POKROČILÝ‘,
28 => ‚STŘEDNĚ POKROČILÝ‘,
29 => ‚STŘEDNĚ POKROČILÝ‘,
30 => ‚STŘEDNĚ POKROČILÝ‘,
31 => ‚POKROČILÝ‘,
32 => ‚POKROČILÝ‘,
33 => ‚POKROČILÝ‘,
34 => ‚POKROČILÝ‘,
35 => ‚POKROČILÝ‘,
36 => ‚POKROČILÝ‘,
37 => ‚POKROČILÝ‘,
38 => ‚POKROČILÝ‘,
39 => ‚POKROČILÝ‘,
40 => ‚POKROČILÝ‘,
41 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
42 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
43 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
44 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
45 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
46 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
47 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
48 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
49 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘,
50 => ‚VELMI POKROČILÝ / možnost konverzačního kurzu‘
);

if(!empty($this_form[‚fields‘])){
$out = array();
foreach($this_form[‚fields‘] as $field_id=>$field){

if( in_array( $field[‚type‘], array(‚button‘, ‚recaptcha‘, ‚html‘ ) ) ){
continue;
}
// filter the field to get field data
$field = apply_filters( ‚caldera_forms_render_get_field‘, $field, $this_form);
$field = apply_filters( ‚caldera_forms_render_get_field_type-‚ . $field[‚type‘], $field, $this_form);
$field = apply_filters( ‚caldera_forms_render_get_field_slug-‚ . $field[‚slug‘], $field, $this_form);

$field_values = (array) self::get_field_data($field_id, $this_form);

if( isset( $field_values[‚label‘] ) ){
$field_values = $field_values[‚value‘];
}else{
foreach( $field_values as $field_key=>$field_value ){
if( isset( $field_value[‚label‘] ) && isset( $field_value[‚value‘] ) ){
$field_value[$field_key] = $field_value[‚value‘];
}

}
}

$field_value = implode(‚, ‚, (array) $field_values);

switch ($field_value) {
case ‚Angličtina‘:
$language_choice = 1;
break;
case ‚Němčina‘:
$language_choice = 2;
break;
case ‚1‘:
$knowledge_levelOK_1 += 1;
case ‚-1‘:
$knowledge_level_1 += 1;
break;
case ‚2‘:
$knowledge_levelOK_2 += 1;
case ‚-2‘:
$knowledge_level_2 += 1;
break;
case ‚3‘:
$knowledge_levelOK_3 += 1;
case ‚-3‘:
$knowledge_level_3 += 1;
break;
case ‚4‘:
$knowledge_levelOK_4 += 1;
case ‚-4‘:
$knowledge_level_4 += 1;
break;
}

}

$final_level = $level_limits[$language_choice][$knowledge_levelOK_1 + $knowledge_levelOK_2 + $knowledge_levelOK_3 + $knowledge_levelOK_4];

$magic_tag = „\r\n Správných odpovědí bylo v procentech: „.
„\r\n úroveň 1: “ . round(100*$knowledge_levelOK_1/$knowledge_level_1) . „%“.
„\r\n úroveň 2: “ . round(100*$knowledge_levelOK_2/$knowledge_level_2) .“%“.
„\r\n úroveň 3: “ . round(100*$knowledge_levelOK_3/$knowledge_level_3) .“%“.
„\r\n úroveň 4: “ . round(100*$knowledge_levelOK_4/$knowledge_level_4) .“%“.
„\r\n Orientační dosažená znalostní úroveň: <strong>“ . $final_level.“</strong>“;

}
break;
case ‚test_summary‘:
if(!empty($this_form[‚fields‘])){
$out = array();
foreach($this_form[‚fields‘] as $field_id=>$field){

if( in_array( $field[‚custom_class‘], array(‚button‘, ‚recaptcha‘, ‚html‘ ) ) ){
continue;
}
// filter the field to get field data
$field = apply_filters( ‚caldera_forms_render_get_field‘, $field, $this_form);
$field = apply_filters( ‚caldera_forms_render_get_field_type-‚ . $field[‚type‘], $field, $this_form);
$field = apply_filters( ‚caldera_forms_render_get_field_slug-‚ . $field[‚slug‘], $field, $this_form);

$field_values = (array) self::get_field_data($field_id, $this_form);

if( isset( $field_values[‚label‘] ) ){
$field_values = $field_values[‚value‘];
}else{
foreach( $field_values as $field_key=>$field_value ){
if( isset( $field_value[‚label‘] ) && isset( $field_value[‚value‘] ) ){
$field_value[$field_key] = $field_value[‚value‘];
}

}
}

$field_value = implode(‚, ‚, (array) $field_values);

// if (((int)$field_value < -4) or ((int)$field_value > 4)) {
// continue;
// }

// if (not((int)$field_value >= -4) and ((int)$field_value <= 4)) {
// $field_value = ((int)$field_value > 0?’OK‘:’ERROR‘);
// }
if ((int)$field_value > 0) {
$field_value = $field_value.’OK‘;
} else if ((int)$field_value < 0) {
$field_value = $field_value.’ERROR‘;
$out[] = $field[‚label‘].‘: ERROR‘;
}

// if($field_value !== null && strlen($field_value) > 0){
// $out[] = $field[‚label‘].‘: ‚.$field_value;
// }
}
// vars
if( !empty( $this_form[‚variables‘] ) ){
foreach( $this_form[‚variables‘][‚keys‘] as $var_key=>$var_label ){
if( $this_form[‚variables‘][‚types‘][ $var_key ] == ‚entryitem‘ ){
$label = ucfirst( str_replace(‚_‘, ‚ ‚, $var_label ) );
$out[] = $label . ‚: ‚ . $this_form[‚variables‘][‚values‘][ $var_key ];
}
}
}
if(!empty($out)){
$magic_tag = implode(„\r\n“, $out);
}else{
$magic_tag = “;
}
}
break;
case ‚summary‘: