include("core.class.php");
if($lg=="") {
echo"
Bitte anmelden,sei auch Du dabei..
Teile Orte und Informationen
Finde neue Freunde
Wenn Du jetzt dabei sein möchtest, dann kannst Du dich hier anmelden
";
}
else {
$user = $_SESSION[user];
// include common file
include_once './includes/config.inc.php';
// new db instance
$db = new DB(array(
'hostname'=>HOSTNAME,
'username'=>DB_USERNAME,
'password'=>DB_PASSWORD,
'db_name'=>DB_NAME
));
// define form fields
$fields = array(
'name'=>array(
'rule'=>'/.+/',
'message'=>'Hinweis: Bitte gebe ein Name für den Eintrag im Mapbook ein',
'value'=>'',
'required'=>TRUE
),
'address'=>array(
'rule'=>'/.+/',
'message'=>'Hinweis: Bitte gebe eine Adresse für den Eintrag im Mapbook ein',
'value'=>'',
'required'=>TRUE
),
'latitude'=>array(
'rule'=>'/[0-9.\-]/',
'message'=>'Hinweis: Latitude wurde nicht ermittelt! Bitte gebe eine Adresse ein und klicke auf das Symbol',
'value'=>'',
'required'=>TRUE
),
'description'=>array(
'rule'=>'/.+/',
'message'=>'Hinweis: Bitte gebe eine Beschreibung ein',
'value'=>'',
'required'=>TRUE
),
'icon'=>array(
'rule'=>'/.+/',
'message'=>'Hinweis: Bitte gebe eine Kategorie an',
'value'=>'',
'required'=>TRUE
),
'longitude'=>array(
'rule'=>'/[0-9.\-]/',
'message'=>'Hinweis: Longitude wurde nicht ermittelt! Bitte gebe eine Adresse ein und klicke auf das Symbol',
'value'=>'',
'required'=>TRUE
)
);
// get session id for tmp upload dir
$session_id = session_id();
// tmp upload folder
$tmp_upload_folder = 'uploads/'.$insert_id.'/';
// resize image width
$resize_image_width = 100;
// delete image
if(isset($_POST['delete_image'])) {
// get the image filename
$delete = array_keys($_POST['delete_image']);
$image = $delete[0];
// check file exists
if(file_exists($tmp_upload_folder.$image)) {
// delete the image
if(!@unlink($tmp_upload_folder.$image)) {
$errors = 'There was a problem deleting the image: '.$v;
}
}
}
if($_POST) {
$errors = array();
foreach($fields as $k=>$v) {
// only validate fields that are supposed to exist
if(isset($_POST[$k])) {
// if field required / force validation if entered
$required = (isset($v['required'])) ? (!empty($_POST[$k])) ? TRUE : $v['required'] : TRUE ;
// check against regex
if(isset($v['rule']) && $required && !preg_match($v['rule'], $_POST[$k]) ) {
// check against regex
if(isset($v['rule']) && !preg_match($v['rule'], $_POST[$k]) ) {
// save message
if(isset($v['message']) && !empty($v['message'])) {
$errors[] = $v['message'];
}
}
}
$fields[$k]['value'] = $_POST[$k];
}
}
// deal with file upload
if($_FILES && $_FILES['file']['error'] != 4) {
// list of allowed mimetypes
$allowed_mimetypes = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
// check for valid upload filetype
if(!in_array($_FILES['file']['type'],$allowed_mimetypes)) {
$errors[] = 'Invalid file type, only Jpeg images are allowed';
} else {
// create tmp upload dir
create_dir($tmp_upload_folder);
// load image
$img = new Image(array('filename'=>$_FILES['file']['tmp_name']));
// image has been succesfully loaded
if($img !== FALSE) {
// resize Image
if($img->resize_to_width($resize_image_width)) {
// make the filename safe
$safe_name = strtolower(str_replace(' ','_',preg_replace('/[^a-zA-Z0-9\-_. ]/','',$_FILES['file']['name'])));
// save Image
if(!$img->save($tmp_upload_folder.$safe_name)) {
$errors[] = 'There was a problem saving the resized Image, please try again';
}
} else {
$errors[] = 'There was a problem resizing the Image, please try again';
}
} else {
$errors[] = 'There was a problem initilizing the Image Class';
}
}
}
if(empty($errors)) {
if(!$db->insert('stores',$_POST)) {
$errors[] = 'Error';
} else {
// get insert id
$insert_id = $db->get_insert_id();
// copy uploaded files to store image dir
if(is_dir($tmp_upload_folder)) {
$files = get_files($tmp_upload_folder);
if(!empty($files)) {
// create dest dir
if(create_dir('admin/imgs/stores/'.$insert_id)) {
// copy files
foreach($files as $k=>$v) {
if(@copy('uploads/'.$insert_id.'/'.$v,'admin/imgs/stores/'.$insert_id.'/'.$v)) {
@unlink('uploads/'.$insert_id.'/'.$v);
}
}
}
// delete tmp upload dir
@unlink('uploads/');
}
}
// send an email to the administrator
@mail(ADMIN_EMAIL,'Neuer Eintrag - Mapbook',"","From: $wmemail");
// set flash message and redirect
$_SESSION['flash'] = array('type'=>'good','msg'=>'');
redirect('check.php');
}
}
}
// get any uploaded files
$images = array();
if(is_dir($tmp_upload_folder)) {
$images = get_files($tmp_upload_folder);
foreach($images as $k=>$v) {
$images[$k] = 'uploads/'.$insert_id.'/'.$v;
}
}
?>
Mapbook