Hey there ~ here is missing an option to upload simple files…
Pls have a look below – the eventon_code.php
<?php
if( ! class_exists( ‘AddEventOnField’ ) ) {
class AddEventOnField{
private static $_instance;
public $column_list;
public static function init(){
if( ! self::$_instance instanceof AddEventOnField ){
self::$_instance = new AddEventOnField();
}
return self::$_instance;
}
public function __construct(){
add_filter(‘evoau_form_fields’, array( $this,’preis_fields_to_form’), 10, 1);
add_action(‘evoau_frontform_preis’, array( $this, ‘preis_fields’), 10, 6);
add_action(‘evoau_frontform_maximale’, array( $this,’maximale_fields’), 10, 6);
add_action(‘evoau_frontform_erwartet’, array( $this,’erwartet_fields’), 10, 6);
add_action(‘evoau_frontform_teilnehmern’, array( $this,’teilnehmern_fields’), 10, 6);
add_action(‘evoau_frontform_bereits’, array( $this,’bereits_fields’), 10, 6);
add_action(‘evoau_frontform_arbeit’, array( $this,’arbeit_fields’), 10, 6);
add_action(‘evoau_frontform_hochladen’, array( $this,’hochladen_fields’), 10, 6);
add_action(‘evoau_save_formfields’, array( $this,’save_field_values’), 10, 3);
}
public function get_columns(){
$this->column_list = [];
$this->column_list[‘preis’]=array(‘Preis ermäßigt’, ‘preis’, ‘preis’,’custom’,”);
$this->column_list[‘maximale’]=array(‘Maximale Teilnehmerzahl’, ‘maximale’, ‘maximale’,’custom’,”);
$this->column_list[‘erwartet’]=array(‘Was erwartet die Besucher/Innen in deinem Workshop?’, ‘erwartet’, ‘erwartet’,’custom’,”);
$this->column_list[‘teilnehmern’]=array(‘Erzähl den Teilnehmern etwas über DICH und deine Arbeit’, ‘teilnehmern’, ‘teilnehmern’,’custom’,”);
$this->column_list[‘bereits’]=array(‘Zusätzliche Hinweise für deine Teilnehmer’, ‘bereits’, ‘bereits’,’custom’,”);
$this->column_list[‘arbeit’]=array(‘Über welche Kanäle wirst du bereits mit deiner arbeit sichtbar?’, ‘arbeit’, ‘arbeit’,’custom’,”);
$this->column_list[‘hochladen’]=array(‘Weiteres Bild hochladen’, ‘hochladen’, ‘hochladen’,’custom’,”);
return $this->column_list;
}
public function preis_fields_to_form($array){
$new_list = $this->get_columns();
$array = array_merge( $array, $new_list );
return $array;
}
public function preis_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
echo “<div class=’row preis’><p>”;
$preis = ($EPMV && !empty($EPMV[‘preis’]))? $EPMV[‘preis’]: 0;
echo ‘<label for=”preis”>Preis ermäßigt</label>’;
echo “<input type=’number’ name=’preis’ id=’preis’ value='”.$preis.”‘ min=’0’/>”;
echo “</p></div>”;
}
public function maximale_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
echo “<div class=’row maximale’><p>”;
$maximale = ($EPMV && !empty($EPMV[‘maximale’]))? $EPMV[‘maximale’]: 0;
echo ‘<label for=”maximale”>Maximale Teilnehmerzahl</label>’;
echo “<input type=’number’ name=’maximale’ id=’maximale’ value='”.$maximale.”‘ min=’0’/>”;
echo “</p></div>”;
}
public function erwartet_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
echo “<div class=’row erwartet’><p>”;
$erwartet = $EPMV[‘erwartet’];
echo ‘<label for=”erwartet”>Was erwartet die Besucher/Innen in deinem Workshop?</label>’;
echo “<textarea class=’evoau_event_details fullwidth’ type=’text’ name=’erwartet’ id=’erwartet’>”.$erwartet.”</textarea>”;
echo “</p></div>”;
}
public function teilnehmern_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
echo “<div class=’row teilnehmern’><p>”;
$teilnehmern = $EPMV[‘teilnehmern’];
echo ‘<label for=”teilnehmern”>Erzähl den Teilnehmern etwas über DICH und deine Arbeit</label>’;
echo “<textarea class=’evoau_event_details fullwidth’ type=’text’ name=’teilnehmern’ id=’teilnehmern’>”.$teilnehmern.”</textarea>”;
echo “</p></div>”;
}
public function bereits_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
echo “<div class=’row bereits’><p>”;
$bereits = $EPMV[‘bereits’];
echo ‘<label for=”bereits”>Zusätzliche Hinweise für deine Teilnehmer</label>’;
echo “<textarea class=’evoau_event_details fullwidth’ type=’text’ name=’bereits’ id=’bereits’>”.$bereits.”</textarea>”;
echo “</p></div>”;
}
public function hochladen_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){ ?>
<div class=’row hochladen’><p>
<label for=”hochladen”>Weiteres Bild hochladen</label>
<input type=”file” name=’hochladen’ id=”hochladen”/>
</p></div> <?php
}
public function arbeit_fields($field, $event_id, $default_val, $EPMV, $opt2, $lang){
$helper = new evo_helper();
echo “<div class=’row arbeit’>”;
echo ‘<label for=”arbeit”>Über welche Kanäle wirst du bereits mit deiner Arbeit sichtbar?</label>’;
echo “<p class=’label’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’facebook’,
‘input’=>true,
‘label’=>evo_lang_get(‘facebook’, ‘Facebook’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘facebook’]) && $EPMV[‘facebook’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p>”;
echo “<p class=’label’ style=’padding-top:5px’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’instagram’,
‘input’=>true,
‘label’=>evo_lang_get(‘instagram’, ‘Instagram’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘instagram’]) && $EPMV[‘instagram’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p>”;
echo “<p class=’label’ style=’padding-top:5px’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’newsletter’,
‘input’=>true,
‘label’=>evo_lang_get(‘newsletter’, ‘Newsletter’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘newsletter’]) && $EPMV[‘newsletter’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p>”;
echo “<p class=’label’ style=’padding-top:5px’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’news’,
‘input’=>true,
‘label’=>evo_lang_get(‘news’, ‘Webseite / News’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘news’]) && $EPMV[‘news’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p>”;
echo “<p class=’label’ style=’padding-top:5px’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’whatsapp’,
‘input’=>true,
‘label’=>evo_lang_get(‘whatsapp’, ‘Whatsapp Gruppe’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘whatsapp’]) && $EPMV[‘whatsapp’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p>”;
echo “<p class=’label’ style=’padding-top:5px’>”;
echo $helper->html_yesnobtn(array(
‘id’=>’telegram’,
‘input’=>true,
‘label’=>evo_lang_get(‘telegram’, ‘Telegram Gruppe’, $lang, $opt2),
‘var’=> (($EPMV && !empty($EPMV[‘telegram’]) && $EPMV[‘telegram’][0]==’yes’)?’yes’:’no’),
‘lang’=>$lang
));
echo “</p></div>”;
}
public function save_field_values($field, $fn, $created_event_id){
// for each above fields
switch ( $field ) {
case ‘arbeit’:
foreach(array(
‘facebook’,
‘instagram’,
‘newsletter’,
‘news’,
‘whatsapp’,
‘telegram’,
) as $field){
if(!empty($_POST[$field]))
update_post_meta($created_event_id, $field, $_POST[$field]);
}
break;
case ‘hochladen’ :
$__var_name = ‘hochladen’;
if( !empty( $_FILES ) && !empty($_FILES[$__var_name]) && ‘POST’ == $_SERVER[‘REQUEST_METHOD’] ){
if ($_FILES[$__var_name][‘error’] !== UPLOAD_ERR_OK) __return_false();
require_once (ABSPATH.’/wp-admin/includes/media.php’);
require_once (ABSPATH.’/wp-admin/includes/file.php’);
require_once (ABSPATH.’/wp-admin/includes/image.php’);
$attachmentId = media_handle_upload($__var_name, $created_event_id);
unset($_FILES);
if($attachmentId)
update_post_meta($created_event_id, ‘pdf_file’, $attachmentId);
}
break;
default:
update_post_meta($created_event_id, $field, $_POST[$field]);
break;
}
}
}
}
AddEventOnField::init();
?>

