Ik ben bezig om de Events Listing module te gebruiken en een beetje aan te passen.
In de php-bestanden heb ik het voor elkaar gekregen om een extra veld toe te voegen.
Deze is bedoelt om een foto te kunnen uploaden via de module.
Zie deze foto: http://www.laurenswebdesign.nl/Afbeelding1.png
De module schrijft nu alleen de bestandsnaam weg in de database, maar upload geen foto.
Hoe kan ik er voor zorgen dat de foto ook wordt geupload?
Hieronder de code van mijn action.admin_addevent.php:
Code: Select all
<?php
if (!isset($gCms)) exit;
if (isset($params['cancel']))
$this->Redirect($id, 'defaultadmin', $returnid);
if(!$this->CheckPermission('EventsListing: modify events') ) exit;
$errors = array();
$short_desc = (isset($params['short_desc']) ? $params['short_desc'] : '');
$long_desc = (isset($params['long_desc']) ? $params['long_desc'] : '');
$foto = (isset($params['foto']) ? $params['foto'] : '');
$start_date = (isset($params['start_date_Month']) ? mktime($params['start_date_Hour'], $params['start_date_Minute'], $params['start_date_Second'], $params['start_date_Month'], $params['start_date_Day'], $params['start_date_Year']) : 'time()');
$end_date = (isset($params['end_date_Month']) ? mktime($params['end_date_Hour'], $params['end_date_Minute'], $params['end_date_Second'], $params['end_date_Month'], $params['end_date_Day'], $params['end_date_Year']) : 'time()');
if (isset($params['submit'])) {
$db =& $this->GetDb();
if($short_desc != '' && $long_desc != '' && $foto != '' && $start_date <= $end_date) {
$entry_id = $db->GenID(cms_db_prefix()."module_eventslisting_events_seq");
$query = 'INSERT INTO ' . cms_db_prefix() . 'module_eventslisting_events (entry_id, short_desc, long_desc, foto, start_date, end_date)
VALUES (?, ?, ?, ?, ?, ?)';
$result = $db->Execute($query, array($entry_id, $short_desc, $long_desc, $foto, trim($db->DBTimeStamp($start_date), "'"), trim($db->DBTimeStamp($end_date), "'")));
if(!$result) {
$errors[] = 'SQL ERROR: ' . $db->ErrorMsg() . '(with ' . $db->sql . ')';
} else {
$this->Redirect($id, 'defaultadmin', $returnid, array('active_tab' => 'events', 'message' => 'changessaved'));
}
} else {
if($params['short_desc'] == '')
$errors[] = $this->Lang('no_short_desc');
if($params['long_desc'] == '')
$errors[] = $this->Lang('no_long_desc');
if($params['foto'] == '')
$errors[] = $this->Lang('no_foto');
if($start_date > $end_date)
$errors[] = $this->Lang('bad_end_date');
}
}
if(count($errors))
echo $this->ShowErrors($errors);
if(isset($entry_id))
$smarty->assign('idfield', $this->CreateInputHidden($id, 'entry_id', $entry_id));
$smarty->assign('formid',$id);
$smarty->assign('startform', $this->CreateFormStart($id, 'admin_addevent', $returnid));
$smarty->assign('endform', $this->CreateFormEnd());
$smarty->assign('prompt_short', $this->Lang('prompt_short'));
$smarty->assign('prompt_long', $this->Lang('prompt_long'));
$smarty->assign('prompt_start_date', $this->Lang('prompt_start_date'));
$smarty->assign('prompt_end_date', $this->Lang('prompt_end_date'));
$smarty->assign('prompt_foto', $this->Lang('prompt_foto'));
$smarty->assign('input_short', $this->CreateInputText($id, 'short_desc', $short_desc));
$smarty->assign('input_long', $this->CreateTextArea(false, $id, $long_desc, 'long_desc'));
$smarty->assign('input_foto', $this->CreateFileUploadInput($id, 'foto', $foto));
$smarty->assign('prefix_startdate', $id . 'start_date_');
$smarty->assign('prefix_enddate', $id . 'end_date_');
$smarty->assign('submit', $this->CreateInputSubmit($id, 'submit', lang('submit')));
$smarty->assign('cancel', $this->CreateInputSubmit($id, 'cancel', lang('cancel')));
echo $this->ProcessTemplate('editevent.tpl');
?>