method = $method; $this->settings = ApgSettings::load_settings('user_settings'); $this->tt = ApgSettings::load_settings('tooltip'); } public function execute(){ $status = false; $result = false; $error_msg = null; $return = false; $method = $this->method; $res = parent::extract_method($method); switch ($res['method']) { case'user_message_template': $template = $this->user_message_template(); $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; case'load_user_selected_image': isset($_POST['fid']) && is_string($_POST['fid']) ? $fid = esc_attr($_POST['fid']) : $fid = ""; $template = $this->load_user_selected_image($fid); $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; case'user_selected': $template = $this->user_selected(); $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; break; case 'new_user_db': $return = $this->usr_handler(); $result = $return; break; case'editor_button_select': $result = $this->editor_button_select(); break; case'new_user_template': $template = $this-> new_user_template(); $responseJson = new \stdClass(); $responseJson->template = $template; $responseJson->status = true; $result = $responseJson; break; case'delete_usr_message': $responseJson = new \stdClass(); isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; isset($_POST['id']) && is_numeric($_POST['id']) ? $id = esc_attr($_POST['id']) : $id = ""; if(empty($value) || empty($id)){ $responseJson->status = $status; return $responseJson; } $a1 = array("method" =>"read_wp_db", "table" =>"art_user", "select" => ' *', "where" =>" where id = %d", "search" =>$id); $usr = new DbHandle($a1); $data=$usr->return; $msg = unserialize($data['data'][0]->user_message); foreach($msg as $tmp) { $message[] = $tmp; } $Amsg = array_filter(array_values($message)); for($i = 0; $i <= count($Amsg); $i++) { $datum_msg = substr($Amsg[$i],0,strpos($Amsg[$i],'_')); if($datum_msg == $value){ continue; }else{ $datei_upd[] = $Amsg[$i]; } } $datei_upd = array_filter(array_values($datei_upd)); $Update = serialize($datei_upd); $u = array("method" =>"update_wp_user_nachricht", "table" =>"art_user", "data" =>array("id"=>$id,"message"=>$Update) , "session" =>false); new DbHandle($u); $responseJson->status = true; $result = $responseJson; break; case 'delete_log_eintrag': $responseJson = new \stdClass(); isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; if(empty($value)){ $responseJson->status = $status; return $responseJson; } $zeile = substr($value,0,strpos($value,'_')); $dir = __DIR__.'/templates/userLog/'; $file = substr($value,strpos($value,'_')+1).'.txt'; $datei = $dir . $file; $line = file($datei); $f = pathinfo($datei); $monat = substr($f['filename'],3,2); $jahr = substr($f['filename'],6,4); $userID = substr($f['filename'],strpos($f['filename'],'_')+1); for($i = 0; $i <= count($line); $i++) { if($i == $zeile){ continue; } $update[] = $line[$i]; } $update = array_filter($update); unlink($datei); foreach($update as $tmp) { $dh = fopen($datei, "a+"); fwrite($dh, $tmp); } fclose($dh); $responseJson->monat = $monat; $responseJson->jahr = $jahr; $responseJson->id = $userID; $responseJson->status = true; $result = $responseJson ; break; case'delete_day_log': $responseJson = new \stdClass(); isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; if(empty($value)){ $responseJson->status = $status; return $responseJson; } $dir = __DIR__.'/templates/userLog/'; $file = $value.'.txt'; $datei = $dir . $file; unlink ($datei); $responseJson->status = true; $result = $responseJson ; break; case'load_user_log': isset($_POST['typ']) && is_string($_POST['typ']) ? $typ = esc_attr($_POST['typ']) : $typ = ""; $responseJson = new \stdClass(); if(empty($typ)){ $responseJson->status = $status; return $responseJson; } $template = $this->read_user_log($typ); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson ; break; case'load_userLog_jahr': isset($_POST['id']) && is_numeric($_POST['id']) ? $id = esc_attr($_POST['id']) : $id = ""; $responseJson = new \stdClass(); if(empty($id)){ $responseJson->status = $status; return $responseJson; } $this->id = $id; $template = $this->read_user_log("jahr"); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; case'load_userLog_monat': isset($_POST['id']) && is_numeric($_POST['id']) ? $id = esc_attr($_POST['id']) : $id = ""; isset($_POST['jahr']) && is_numeric($_POST['jahr']) ? $jahr =esc_attr($_POST['jahr']) : $jahr = ""; $responseJson = new \stdClass(); if(empty($id) || empty($jahr)){ $responseJson->status = $status; return $responseJson; } $this->id = $id; $this->jahr = $jahr; $template = $this->read_user_log("monat"); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; case 'user_Log_details': isset($_POST['id']) && is_numeric($_POST['id']) ? $id = esc_attr($_POST['id']) : $id = ""; isset($_POST['jahr']) && is_numeric($_POST['jahr']) ? $jahr = esc_attr($_POST['jahr']) : $jahr = ""; isset($_POST['monat']) && is_numeric($_POST['monat']) ?$monat = esc_attr($_POST['monat']) : $monat = ""; $responseJson = new \stdClass(); if(empty($id) || empty($jahr) || empty($monat)){ $responseJson->status = $status; return $responseJson; } $this->id = $id; $this->jahr = $jahr; $this->monat = $monat; $template = $this->read_user_log("details"); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson; break; case'user_help': isset($_POST['typ']) && is_string($_POST['typ']) ? $typ = esc_attr($_POST['typ']) : $typ = ""; $responseJson = new \stdClass(); if(empty($typ)){ $responseJson->status = $status; return $responseJson; } if($typ == 'freigaben'){ @ob_start(); $template = file_get_contents(__DIR__.'/templates/help/freigaben.txt',FILE_USE_INCLUDE_PATH); @ob_end_flush(); } if($typ == 'auswahl'){ @ob_start(); $template = file_get_contents(__DIR__.'/templates/help/auswahl.txt',FILE_USE_INCLUDE_PATH); @ob_end_flush(); } if($typ == 'optionen'){ @ob_start(); $template = file_get_contents(__DIR__.'/templates/help/auswahl.txt',FILE_USE_INCLUDE_PATH); @ob_end_flush(); } $responseJson->template = $template; $responseJson->status = true; $result = $responseJson; break; case'template_read_messages': $template = $this->read_user_message(); $responseJson = new \stdClass(); $responseJson->template = $template; $responseJson->status = true; $result = $responseJson ; break; case 'new_user_message': @session_start(); isset($_POST['message']) && is_string($_POST['message']) ? $message = esc_attr($_POST['message']) : $message = ""; $responseJson = new \stdClass(); if(empty($message)){ $responseJson->status = $status; return $responseJson; } $a1 = array("method" =>"read_wp_db", "table" =>"art_user", "select" => ' *', "where" =>" where id = %d", "search" =>$_SESSION['id']); ; $usr = new DbHandle($a1); $data=$usr->return; date_default_timezone_set("Europe/Berlin"); $heute = date("Y-m-d H:i:s"); $newMessage = $heute.'_'.$message; if(empty($data['data'][0]->user_message)){ $msgUpdate = serialize(array($newMessage)); }else{ $msgnew =array($newMessage); $allMsg = unserialize($data['data'][0]->user_message); $msgUpdate = serialize(array_merge($allMsg,$msgnew)); } $upd = array("method" =>"new_wp_user_message", "table" =>"art_user", "data" =>array("id"=>$_SESSION['id'], "message" =>$msgUpdate) ); $update = new DbHandle($upd); $responseJson->status = true; $result = $responseJson; break; case 'load_selected_image': $responseJson = new \stdClass(); isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; isset($_POST['fid']) && is_numeric($_POST['fid']) ? $fid = esc_attr($_POST['fid']) : $fid = ""; if(empty($value) || empty($fid)){ $responseJson->status = $status; return $responseJson; } $entry = $this->load_user_selected_image((string)$value,(int)$fid); $responseJson->template = $entry; $responseJson->status = true; $result = $responseJson; break; case 'new_email_template': isset($_POST['name']) && is_string($_POST['name']) ? $name = esc_attr($_POST['name']) : $name = ""; $responseJson = new \stdClass(); if(empty($name)){ $responseJson->status = $status; return $responseJson; } $temp = self::new_email_template($name); $responseJson->status = true; $responseJson->head_links= $temp['links']; $responseJson->daten = $temp['daten']; $responseJson->message = $temp['message']; $responseJson->loaded = $name; $result = $responseJson; break; case 'read_user_email_content': $entry = self::read_usermail_verzeichnis(); if($entry['status'] === false){ $entry = self::read_usermail_verzeichnis(); } $btn_head = '

eMail Templates
'; $btn_foot = '


'; $allFiles = array_reverse($entry['files']); foreach ($allFiles as $tmp) { $datei = substr($tmp,0,strpos($tmp,'.txt')); if($datei =='zugangsdaten eMail') { $dateiActiv = ''.$datei.''; $btnTyp = 'primary'; }else{ $dateiActiv = $datei; $btnTyp = 'default'; } $btn .= ''; } $button = $btn_head .$btn . $btn_foot; $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->links = $button; $responseJson->daten = $entry['daten']; $responseJson->loaded = 'zugangsdaten eMail'; $result = $responseJson; break; case 'change_mail_template': isset($_POST['name']) && is_string($_POST['name']) ? $name = esc_attr($_POST['name']) : $name = ""; $responseJson = new \stdClass(); if(empty($name)){ $responseJson->status = $status; $responseJson->message = 'leere Eingabe!'; return $responseJson; } $temp = UserHandler::change_email_template($name); $responseJson->status = true; $responseJson->links = $temp['links']; $responseJson->daten = $temp['daten']; $responseJson->message = $temp['message']; $responseJson->loaded = $name; $result = $responseJson; break; case'save_user_email_template': isset($_POST['name']) && is_string($_POST['name']) ? $name = esc_attr($_POST['name']) : $name = ""; isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; $responseJson = new \stdClass(); if(empty($value)){ $responseJson->status = $status; $responseJson->message = 'leere Eingabe!'; return $responseJson; } $entry = self::save_user_email_template(htmlspecialchars_decode($value),$name); $responseJson->status = $entry['status']; $responseJson->message = $entry['message']; $result = $responseJson; break; case'delete_email_template': isset($_POST['name']) && is_string($_POST['name']) ? $name = esc_attr($_POST['name']) : $name = ""; $responseJson = new \stdClass(); if(empty($name)){ $responseJson->status = $status; $responseJson->message = 'leere Eingabe!'; return $responseJson; } $ent = self::del_email_template($name); if($ent !== true) { $responseJson->status = $status; $responseJson->loaded = $name; $responseJson->message = ' Die E-Mail, mit den Zugangsdaten kann nicht gelöscht werden!'; return $responseJson; }else{ $entry = self::read_usermail_verzeichnis(); if($entry['status'] === false){ $entry = self::read_usermail_verzeichnis(); } $btn_head = '

eMail Templates
'; $btn_foot = '


'; $allFiles = array_reverse($entry['files']); foreach ($allFiles as $tmp) { $datei = substr($tmp,0,strpos($tmp,'.txt')); if($datei =='zugangsdaten eMail') { $dateiActiv = ''.$datei.''; $btnTyp = 'primary'; }else{ $dateiActiv = $datei; $btnTyp = 'default'; } $btn .= ''; } $button = $btn_head .$btn . $btn_foot; $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->links = $button; $responseJson->message = $name .' gelöscht!'; $responseJson->daten = $entry['daten']; $responseJson->loaded = 'zugangsdaten eMail'; $result = $responseJson; } break; case 'benutzer_freigaben_start': $responseJson = new \stdClass(); $return = $this->benutzer_freigaben(array("auswahl"=>'benutzer_freigaben')); if($res['id']=='response'){ $template = $this->start_user_response_template(); $responseJson->body = $template['template']; $responseJson->close = $template['close']; }else{ $responseJson->body = $return['body']; } $responseJson->status = true; $responseJson->header = $return['header']; $result = $responseJson; break; case 'load_freigaben': $close = '

 schließen


'.self::user_details_auswahl().''; $responseJson = new \stdClass(); $optionen = array("template"=>"user_freigaben_start"); $dat = new SiteTemplates($optionen); $data = $dat->return; if(isset($data['status'])){ $responseJson->message = $data['message']; $responseJson->status = $data['status']; return $responseJson; } $responseJson->status = true; $responseJson->close = $close; $responseJson->template = $data; $result = $responseJson; break; case 'create_new_user': $responseJson = new \stdClass(); $responseJson->status = true; $result = $responseJson; break; case 'create_new_freigabe_template': $template = $this->user_templates(array("method"=>"new_freigabe")); $responseJson = new \stdClass(); $responseJson->status = $template['status']; $responseJson->template = $template['template']; $result = $responseJson; break; case 'new_freigabe_galerie': isset($_POST['galerie']) && is_string($_POST['galerie']) ? $galerie = esc_attr($_POST['galerie']) : $galerie = ""; isset($_POST['user']) && is_string($_POST['user']) ? $user = esc_attr($_POST['user']) : $user = ""; $responseJson = new \stdClass(); //wenn eingaben leer : wenn nicht fehlermeldung zurück if(empty($galerie) || empty($user)){ $msg = parent::response('16'); $responseJson->message = $msg['response_msg']; $responseJson->status = $status; return $responseJson; } $a1 = array("method" =>"read_wp_db", "table" =>"art_user", "select" => ' *', "where" => " where htaccess_user = %s", "search" => $user); $usr = new DbHandle($a1); $userDB=$usr->return; $a2 = array("method"=>"read_wp_db", "table" =>"art_galerie", "select" => '*', "where" => " where galerie_name = %s", "search" => $galerie); $gal = new DbHandle($a2); $galerieDB=$gal->return; //überprüfen ob es user und galerien gibt wenn nicht fehlermeldung zurück if(empty($userDB['count']) || empty($galerieDB['count'])){ $msg = parent::response('16'); $responseJson->message = $msg['response_msg']; $responseJson->status = $status; return $responseJson; } //überprüfen ob Eintrag schon vorhanden ist wenn nicht fehlermeldung zurück $a3 = array("method" =>"user_wp_freigabe_start"); $data3 = new DbHandle($a3); $r=$data3->return; for ($x = 1; $x <= $r['count']; $x++) { if($r['data'][$x -1]->galerie_name === $galerie && $r['data'][$x -1]->htaccess_user === $user) { $msg = parent::response('4'); $responseJson->message = $msg['response_msg']; $responseJson->status = $status; return $responseJson; } } //default Werte erzeugen $settings = serialize( array( "gps" =>(int)0, "exif" =>(int)0, "auswahl" =>(int)1, "kommentar" =>(int)1, "log" =>(int)1, "selected" =>(int)1, "nachricht" =>(int)1, )); //array für insert erzeugen $freigabe = array("method" =>"new_wp_freigabe", "table" =>"art_freigaben", "data" =>array( "settings" =>(string)$settings, "htaccess_id" =>(int)$userDB['data'][0]->id, "galerie_typ" =>(int)2, "freigabe_aktiv" =>(int)1, "galerie_id" =>(int)$galerieDB['data'][0]->id, "htaccess_aktiv" =>(int)1,)); //eintrag in DB schreiben $upd = new DbHandle($freigabe); $insertDB=$upd->return; //response zurück $responseJson->insert_id = $insertDB; $responseJson->status = true; $result = $responseJson; break; case 'delete_freigabe': $a1 = array("method" =>"read_wp_db", "table" =>"art_freigaben", "select" => ' id', "where" => " where id = %d", "search" => $res['id']); $usr = new DbHandle($a1); $userDB=$usr->return; $responseJson = new \stdClass(); if(empty($userDB['count'])) { $msg = parent::response('23'); $responseJson->message = $msg['response_msg']; $responseJson->status = $status; return $responseJson; } $delete = array("method"=>"delete_wp_freigabe", "table" =>"art_freigaben", "id" => $res['id']); new DbHandle($delete); $responseJson->delete_id = $res['id']; $responseJson->status = true; $result = $responseJson; break; case 'load_delete_user_template': $template = $this->user_templates(array("method"=>"user_delete_template")); $responseJson = new \stdClass(); $responseJson->status = $template['status']; $responseJson->template = $template['template']; $result = $responseJson; break; case 'delete_user': isset($_POST['uid']) && is_numeric($_POST['uid']) ? $uid = esc_attr($_POST['uid']) : $uid = ""; $responseJson = new \stdClass(); if(empty($uid)){ $msg = parent::response('23'); $responseJson->message = $msg['response_msg']; $responseJson->status = $status; return $responseJson; } $abfrage2 = array("method"=>"read_wp_db", "table" =>"art_freigaben", "select" => '*', "where" => " where htaccess_id = %d", "search" => (int)$uid); $del = new DbHandle($abfrage2); $userDel=$del->return; foreach ($userDel['data'] as $tmp) { if($tmp->htaccess_id == $uid){ $delete1 = array("method"=>"delete_wp_freigabe", "table" =>"art_freigaben", "id" => $tmp->id); new DbHandle($delete1); } } $delete2 = array("method"=>"delete_wp_freigabe", "table" =>"art_user", "id" => $uid); new DbHandle($delete2); //DELETE-LOGDATEN $dir= __DIR__ . '/templates/userLog'; $alledateien = scandir($dir); foreach ($alledateien as $files) { $fileinfo = pathinfo($dir."/".$files); if($fileinfo['extension'] != 'txt'){ $files = '.'; } if ($files != "." && $files != ".." && $files != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] .= $files; } } if(!empty($file)){ foreach ($file as $tmp) { $f = pathinfo($dir."/".$tmp); $tag = substr($tmp,0,2); $monat = substr($tmp,3,2); $jahr = substr($tmp,6,4); $userID = substr($f['filename'],strpos($f['filename'],'_')+1); if($userID == $uid){ unlink($dir.'/'.$tag.'-'.$monat.'-'.$jahr.'_'.$uid.'.txt'); } } } $responseJson->status = true; //$responseJson->delete_id = $tmp['id']; $result = $responseJson; break; case 'user_aktiv': //user, freigabe und email Aktiv isset($_POST['daten']) && is_string($_POST['daten']) ? $daten = esc_attr($_POST['daten']) : $daten = ""; $responseJson = new \stdClass(); if(empty($daten)){ $responseJson->status = $status; return $responseJson; } $checktyp = substr($daten,strpos($daten,'_')+1); $htaccess_id = substr($daten,0,strpos($daten,'_')); if($checktyp == 'freigabe_aktiv'){ $table = 'art_freigaben'; $checktyp = 'htaccess_aktiv'; }else{ $table = 'art_user'; } $a1 = array("method" =>"read_wp_db", "table" => $table, "select" => $checktyp, "where" => " where id = %d", "search" => $htaccess_id); $dat1 = new DbHandle($a1); $data=$dat1->return; if(empty($data['data'][0]->$checktyp)){ $checked = 1; }else{ $checked = 0; } $upd = array("method"=>"update_wp_user_aktiv", "table" => $table, "data" =>array("htaccess_aktiv"=>$checked, "id"=>$htaccess_id, "typ"=>$checktyp)); new DbHandle($upd); if(substr($daten,strpos($daten,'_')+1) == 'freigabe_aktiv'){ $checked = 'freigabe_aktiv'; } $responseJson->checked = $checked; $responseJson->value = $data['data'][0]->$checktyp; $responseJson->check = $htaccess_id.'_'.$checktyp; $responseJson->status = true; $result = $responseJson; break; case 'checked_details': isset($_POST['checked']) && is_string($_POST['checked']) ? $checked = esc_attr($_POST['checked']) : $checked = ""; $freigabe_id = substr($checked,strpos($checked,'_') +1); $typ = substr($checked,0,strpos($checked,'_')); $entry = self::update_user_settings($typ,$freigabe_id); $auswahl = substr($entry['typ'],0,strpos($entry['typ'],'-')); if(empty($entry['check'])){ $message = $auswahl .' deaktiviert'; }else{ $message = $auswahl . ' aktiviert'; } $responseJson = new \stdClass(); $responseJson->check = $entry['check']; $responseJson->typ = $entry['typ']; $responseJson->message = $message; $responseJson->status = true; $result = $responseJson; break; case'select_change_galerie_typ': isset($_POST['select']) && is_string($_POST['select']) ? $select = esc_attr($_POST['select']) : $select = ""; $htaccess_id = (int) substr($select,0,strpos($select,'_')); $selected = (int) substr($select,strpos($select,'_')+1); $responseJson = new \stdClass(); //PRO-VERSION if(empty($this->settings['license_aktiv'])) { $selected = 2; } //PRO-VERSION ENDE if(empty($selected)){ $responseJson->status = $status; $responseJson->message = 'Standard Galerie (2) gewählt'; $new_selected = 2; }else{ $responseJson->status = true; $responseJson->message = 'Galerie Typ ('.$selected.') gewählt'; $new_selected = $selected; } $upd = array("method"=>"update_wp_user_aktiv", "table" => 'art_freigaben', "data" => array("htaccess_aktiv"=>(int)$new_selected, "id"=>(int)$htaccess_id, "typ"=>(string)'galerie_typ'), "session"=>false); new DbHandle($upd); $result = $responseJson; break; case 'user_auswahl': isset($_POST['auswahl']) && is_string($_POST['auswahl']) ? $auswahl = esc_attr($_POST['auswahl']) : $auswahl = ""; $TypTxt = ' checked '; $responseJson = new \stdClass(); if(empty($auswahl)){ $responseJson->status = $status; return $responseJson; } $det = parent::extract_method($auswahl); $htaccess_id = $det['method']; $image_id = $det['id']; $abfrage = array("method" =>"read_wp_db", "table" =>"art_images", "select" =>"galerie_name,id", "where" =>" where id = %d", "search" =>$image_id); $dat = new DbHandle($abfrage); $data = $dat->return; $a2 = array("method" =>"read_wp_db", "table" =>"art_galerie", "select" =>"id", "where" =>" where galerie_name = %s", "search" =>$data['data'][0]->galerie_name); $dat2 = new DbHandle($a2); $data2 = $dat2->return; $a3 = array("method"=>"freigabe_wp_id", "table" =>"art_freigaben", "select" =>"*", "data" => array("htaccess_id"=>$htaccess_id, "galerie_id"=>$data2['data'][0]->id)); $dat3 = new DbHandle($a3); $data3=$dat3->return; //überprüfen ob freigaben vorhanden sind if(empty($data3['count'])) { $err=parent::response('22'); return array("status"=>false,"message"=>$err['response_msg']); } //überprüfen ob log aktiv ist $s = unserialize($data3['data'][0]->settings); $this->log_aktiv = $s['log']; //wenn keine Freigaben vorhanden, ersten Eintrag erzeugen if(empty($data3['data'][0]->select_image)){ //Eintrag in DB schreiben $select = serialize(array($image_id)); $upd = array("method"=>"user_wp_auswahl", "table" =>"art_freigaben", "checked" =>$select, "id" =>$data3['data'][0]->id); if(!empty($this->log_aktiv)){ $this->write_user_log($htaccess_id,$TypTxt,$image_id,$checktxt); } new DbHandle($upd); $responseJson->status = true; $responseJson->wahl = 1; return $responseJson; } $dbs = unserialize($data3['data'][0]->select_image); if(in_array($image_id,$dbs)){ $checkAuswahl = 0; $checktxt = ' abgewählt'; if(!empty($this->log_aktiv)){ $this->write_user_log($htaccess_id,$TypTxt,$image_id,$checktxt); } $entfernen = array($image_id); //callbck function $callback = function ($value)use ($entfernen){ return !(in_array($value, $entfernen, true)); }; $update = array_filter($dbs, $callback); $select = serialize($update); $upd = array("method" =>"user_wp_auswahl", "table" =>"art_freigaben", "checked" =>$select, "id" =>$data3['data'][0]->id); new DbHandle($upd); $responseJson->status = true; return $responseJson; }else{ $checkAuswahl = 1; $checktxt = ' gewählt'; $ns = implode(",",$dbs); $news = $ns.','.$image_id; $select = serialize(explode(",",$news)); } $upd = array("method" =>"user_wp_auswahl", "table" =>"art_freigaben", "checked" =>$select, "id" =>$data3['data'][0]->id); new DbHandle($upd); if(!empty($this->log_aktiv)){ $this->write_user_log($htaccess_id,$TypTxt,$image_id,$checktxt); } //private function write_user_log() $responseJson->status = true; $responseJson->wahl = $checkAuswahl; $result = $responseJson; break; case 'new_user_kommentar': isset($_POST['kommentar']) && is_string($_POST['kommentar']) ? $kommentar = esc_attr($_POST['kommentar']) : $kommentar = ""; $TypTxt = ' Kommentar '; $responseJson = new \stdClass(); if(empty($kommentar)){ $responseJson->status = $status; return $responseJson; } session_start(); $galerie_name = $res['id']; $htaccess_id = $_SESSION['id']; $image_id = trim((int)$res['typ']); $a1 = array("method" =>"user_wp_freigabe_auswahl", "data" =>array("galerie_name"=>$galerie_name, "htaccess_id"=>$htaccess_id)); $dat = new DbHandle($a1); $data = $dat->return; $this->update_image_posts($galerie_name,$image_id,$htaccess_id,$kommentar); $s = unserialize($data['data'][0]->settings); $this->log_aktiv = $s['log']; if(empty($data['data'][0]->message)){ $ne = array(); $ne[] = $image_id.'_'.$kommentar; $msg = serialize($ne); $upd = array("method" =>"update_wp_user_kommentar", "table" =>"art_freigaben", "data" =>array("id"=>$data['data'][0]->freigabe_id, "message"=>$msg)); new DbHandle($upd); $responseJson->status = true; return $responseJson; } $db_message = unserialize($data['data'][0]->message); for ($x = 0; $x <= count($db_message); $x++) { $id = substr($db_message[$x],0,strpos($db_message[$x],'_')); $msg = substr($db_message[$x],strpos($db_message[$x],'_')+1); if($id === $image_id){ unset($db_message[$x]); $db_message = array_values($db_message); } } $newEintrag = array($image_id.'_'.$kommentar); $na = serialize(array_merge($db_message,$newEintrag)); $upd = array("method" =>"update_wp_user_kommentar", "table" =>"art_freigaben", "data" =>array("id"=>$data['data'][0]->freigabe_id, "message"=>$na)); new DbHandle($upd); if(!empty($this->log_aktiv)){ $newKommentar = $date . '_' . $kommentar; $this->write_user_log($htaccess_id,$TypTxt,$image_id,$kommentar); } $responseJson->msg = $new_msg; $responseJson->status = true; $result = $responseJson; break; case 'passwort_generieren': $klartext_pass = parent::generate_callback_pw(); $template = '
'; $template = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $template)); $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->template = $template; $result = $responseJson ; break; case 'change_user_data': isset($_POST['daten']) && is_string($_POST['daten']) ? $daten = esc_attr($_POST['daten']) : $daten = ""; isset($_POST['newdata']) && is_string($_POST['newdata']) ? $newdata = esc_attr($_POST['newdata']) : $newdata = ""; isset($_POST['email']) && is_numeric($_POST['email']) ? $email = esc_attr($_POST['email']) : $email = ""; $responseJson = new \stdClass(); if(empty($daten) || empty($newdata)){ $responseJson->status = $status; $responseJson->message = "leere eingabe"; return $responseJson ; } $settings = $this->get_db_settings('1'); $htaccess_id = (int)substr($daten,0,strpos($daten,'_')); $upd_typ = (string)substr($daten,strpos($daten,'_')+1); if($upd_typ == 'htaccess_passwort' && strlen($newdata) < 8){ $responseJson->status = $status; $responseJson->message = "passwort zu kurz"; return $responseJson ; } if($upd_typ == 'htaccess_email'){ if(filter_var($newdata, FILTER_VALIDATE_EMAIL) === false){ $responseJson->status = $status; $responseJson->message = "email falsches Format"; return $responseJson ; } } if(!empty($settings['email_aktiv']) && $upd_typ == 'htaccess_passwort' && !empty($email) ){ $sendMail = $this->sende_user_mail('new_passwort',$htaccess_id,"",$newdata); $mailStatus = $sendMail['status']; $mailMessage = $sendMail['message']; }else{ $mailStatus = $status; $mailMessage = 'keine E-Mail versendet!'; } if($upd_typ == 'htaccess_passwort'){ $newData = parent::crypt_password($newdata); }else{ $newData = $newdata; } $upd = array("method" =>"update_wp_user_new_passwort", "table" =>"art_user", "data" =>array("htaccess_data"=>(string)$newData, "id"=>(int)$daten, "typ"=>$upd_typ)); $msgtyp = substr($upd_typ,strpos($upd_typ,'_')+1); new DbHandle($upd); if($settings){ $proVersion = true; }else{ $proVersion = false; } $responseJson->status = true; $responseJson->mailstatus = $mailStatus; $responseJson->mailmessage = $mailMessage; $responseJson->proversion = $proVersion; $responseJson->message = $msgtyp." erfolgreich geändert"; $result = $responseJson ; break; case 'load_template_user_details': $responseJson = new \stdClass(); $a2 = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>"*"); $dat2 = new DbHandle($a2); $data2=$dat2->return; if(empty($data2['count'])){ $err=parent::response('21'); $responseJson->status = $status; $responseJson->message = $err['response_msg']; return $responseJson ; } foreach ($data2['data'] as $tmp){ $return .= $this->template_user_details($tmp); } $responseJson = new \stdClass(); $responseJson->status = true; $responseJson->template = $this->close_btn() . $return; $result = $responseJson; break; case 'new_user_notiz': isset($_POST['notiz'])&& is_string($_POST['notiz'])? $notiz = esc_attr($_POST['notiz']) : $notiz = ""; isset($_POST['uid']) && is_numeric($_POST['uid']) ? $uid = esc_attr($_POST['uid']) : $uid = ""; $responseJson = new \stdClass(); if(empty($uid)){ $responseJson->status = $status; $responseJson->message = '

Info: fehler ist aufgetreten

'; return $responseJson; } $upd = array("method"=>"update_wp_user_new_passwort", "table" =>"art_user", "data" =>array("htaccess_data"=>(string)$notiz, "id"=>(int)$uid, "typ"=>'notiz')); new DbHandle($upd); $responseJson->status = true; $responseJson->message = 'Notiz erfolgreich gespeichert.'; $result = $responseJson ; break; case 'load_freigaben_select': isset($_POST['data'])&& is_string($_POST['data'])? $data = esc_attr($_POST['data']) : $data = ""; $responseJson = new \stdClass(); if(empty($data)){ $responseJson->status = $status; $responseJson->message = 'keine auswahl'; return $responseJson ; } $auswahl_type = substr($data,0,strpos($data,'_')); $auswahl_wert = substr($data,strpos($data,'_')+1); $wahl = ''; if($auswahl_type == 'user'){ $select = 'htaccess_user'; $wahl = '

Freigaben von user: '.$auswahl_wert.'




'; } if($auswahl_type == 'galerie'){ $select = 'galerie_name'; $wahl = '

Freigaben der Galerie '.$auswahl_wert.'



'; } $optionen = array("template"=>"user_freigaben_start", "data" =>array( "where" =>$select, "typ" =>$auswahl_wert)); $dat = new SiteTemplates($optionen); $data = $dat->return; if(isset($data['status'])){ $responseJson->message = $data['message']; $responseJson->status = $data['status']; return $responseJson ; } $sel = $wahl . $this->close_btn('select'); $responseJson->status = true; $responseJson->template = $sel . $data ; $result = $responseJson; break; case 'user_response_template': isset($_POST['value']) && is_string($_POST['value']) ? $value = esc_attr($_POST['value']) : $value = ""; isset($_POST['loaded']) && is_string($_POST['loaded']) ? $loaded = esc_attr($_POST['loaded']) : $loaded = ""; $responseJson = new \stdClass(); if(empty($res['id'])){ $responseJson->status = $status; return $responseJson ; } $id = $res['id']; if(!empty($value)){ $id = (int)substr($value,0,strpos($value,'_')); $typ = (string)substr($value,strpos($value,'_')+1); if($res['id'] == 'grid' || $res['id'] == 'details'){ $load = $res['id']; $template = $this->user_response_template($id,$typ,$load); $btn = self::btn_group_response($id,$load); }else{ $load = $loaded; $template = $this->user_response_template($id,$typ,$load); $btn = self::btn_group_response($id,$load); } $template = $this->user_response_template($id,$typ,$load); $btn = self::btn_group_response($id,$load); }else{ $load = $loaded; $template = $this->user_response_template($id,'alle',$load); $btn = self::btn_group_response($id,$load); } $close = $this->close_btn(); $header = '
'.$this->close_btn().'
' .'
'.$btn; $responseJson->typ = $load; $responseJson->close = $header; $responseJson->total = $template['total']; $responseJson->status = $template['status']; $responseJson->template = $template['template']; $result = $responseJson; break; case'user_email_senden': isset($_POST['typ']) && is_string($_POST['typ']) ? $typ = esc_attr($_POST['typ']) : $typ = ""; isset($_POST['id']) && is_numeric($_POST['id']) ? $id = esc_attr($_POST['id']) : $id = ""; isset($_POST['email']) && is_string($_POST['email']) ? $email = esc_attr($_POST['email']) : $email = ""; $responseJson = new \stdClass(); if(empty($typ) || empty($id) || empty($email)){ $responseJson->status = $status; $responseJson->message = 'fehler Übergabehandling'; return $responseJson; } $sendeMail = $this->sende_user_mail($typ,$id,$email); if($sendeMail === true){ $message ='Email erfolgreich gesendet!'; }else{ $message ='Email konnte nicht gesendet werden!'; } $responseJson->status = $sendeMail; $responseJson->message = $message; $result = $responseJson; break; }//endeSwitch return $result; } private function usr_handler(){ isset($_POST['bn']) && is_string($_POST['bn']) ? $bnname = esc_attr($_POST['bn']) : $bnname = ""; isset($_POST['pw']) && is_string($_POST['pw']) ? $passwort = esc_attr($_POST['pw']) : $passwort = ""; isset($_POST['vn']) && is_string($_POST['vn']) ? $vorname = esc_attr($_POST['vn']) : $vorname = ""; isset($_POST['nn']) && is_string($_POST['nn']) ? $nachname = esc_attr($_POST['nn']) : $nachname = ""; isset($_POST['em']) && is_string($_POST['em']) ? $email = esc_attr($_POST['em']) : $email = ""; isset($_POST['no']) && is_string($_POST['no']) ? $notiz = esc_attr($_POST['no']) : $notiz = ""; isset($_POST['ua']) && is_numeric($_POST['ua']) ? $user_aktiv = esc_attr ($_POST['ua']) : $user_aktiv = ""; isset($_POST['ea']) && is_numeric($_POST['ea']) ? $email_aktiv = esc_attr($_POST['ea']) : $email_aktiv = ""; if(empty($user_aktiv)){ $user_aktiv = (int)0; }else{ $user_aktiv= (int)1; } if(empty($email_aktiv)){ $email_aktiv = (int)0; }else{ $email_aktiv= (int)1; } if(filter_var($email, FILTER_VALIDATE_EMAIL) === false){ $fehler .= 'fehler email
'; }else{ $newEmail = $email; } if(empty($vorname)){ $fehler .= 'fehler vorname
'; }else{ $new_vorname = $vorname; } if(empty($nachname)){ $fehler .= 'fehler nachname
'; }else{ $new_nachname = $nachname; } if(empty($bnname)){ $fehler .= 'fehler name
'; }elseif(strlen($bnname) < 6){ $fehler .= 'fehler name zu kurz
'; }else{ $newname = $bnname; } if(empty($passwort)){ $fehler .= 'fehler name
'; }elseif(strlen($passwort) < 8){ $fehler .= 'fehler name zu kurz
'; }else{ $newpasswort = $passwort; } if(strlen($fehler) !== 0){ $em = parent::response('7'); $fehler = $em['response_msg']; } $abfrage = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>"*", "where" =>" where htaccess_user = %s", "search" =>$newname); $dat = new DbHandle($abfrage); $dataDB=$dat->return; if($dataDB['count'] !== 0){ $em = parent::response('20'); $fehler = $em['response_msg'].'
'; } if(strlen($fehler) !== 0) { return array("status"=>false,"message"=>$fehler); } $password = parent::crypt_password($newpasswort); $user = array("username" =>$newname, "passwort" =>$password, "notiz" =>$notiz, "nachname" =>$new_nachname, "vorname" =>$new_vorname, "email" =>$newEmail, "user_aktiv" =>$user_aktiv, "email_aktiv" =>$email_aktiv); $new_user = array("method" =>"new_wp_user", "data" =>$user); $in = new DbHandle($new_user); $ret = $in->return; if($email_aktiv === 1){ $url = substr(admin_url(),0,strpos(admin_url(),'wp-admin')).'artpicture-galerie-login'; $daten = array("url" =>''.$site_title.'', "text_url" =>$url, "vorname" =>$new_vorname, "nachname" =>$new_nachname, "bn" =>$newname, "pw" =>$newpasswort, "email" =>$newEmail ); $result_email = $this->send_userdaten_mail($daten); } $return = array("status"=>true,"message"=>$ret,"email"=>$result_email); return $return; } private function user_templates($data) { $status = false; switch ($data['method']) { case 'new_freigabe': $abfrage = array("method"=>"read_wp_db", "table" =>"art_galerie", "select" =>"*"); $a1 = new DbHandle($abfrage); $ret = $a1->return; if(!empty($ret['count'])){ $status = true; } $abfrage2 = array("method"=>"read_wp_db", "table" =>"art_user", "select" =>"*"); $a2 = new DbHandle($abfrage2); $ret2 = $a2->return; if(!empty($ret2['count'])){ $status = true; } $select_galerie = ''; foreach($ret['data'] as $tmp){ $select_galerie .= ''."\n"; } $select_user = ''; //PRO_USER if(empty($this->settings['license_aktiv'])) { $select_user .= ''."\n"; $txt='

In der Standart Version kann nur der erste angelegte Benutzer ausgewählt werden, desweiteren werden nur die ersten 10 Bilder der gewählten Galerie, den Benutzer im Front-End angezeigt.




In der Art-Picture Galerie Pro können Sie unbegrenzt viele Benutzer und Freigaben erstellen. Eine erstellte Galerie kann für jeden erstellten Benutzer freigegeben werden.

'; $txt = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $txt)); $stern=' '; }else{ foreach($ret2['data'] as $tmp){ $select_user .= ''."\n"; } } //PRO_USER $template = '

 schließen

Die Login Url des User-Templates ist:
'.site_url().'?apg-user-gallery-template=12067102

Neue freigabe erstellen...


'.$select_user.$select_galerie_footer.'
'.$select_galerie.$select_galerie_footer.'
'.$txt.'
'; break;//endeSwitch } $template = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $template)); return array("template"=>$template,"status"=>$status); } private static function update_user_settings($method,$id) { $a1 = array("method" =>"read_wp_db", "table" =>"art_freigaben", "select" =>"settings", "where" =>" where id = %d", "search" =>$id); $dat1 = new DbHandle($a1); $data = $dat1->return; $settings = unserialize($data['data'][0]->settings); $gps_check = $settings['gps']; $exif_check = $settings['exif']; $auswahl_check = $settings['auswahl']; $kommentar_check = $settings['kommentar']; $email_check = $settings['log']; $nachricht_check = $settings['nachricht']; //PRO VERSION $user_settings = ApgSettings::load_settings('user_settings'); if(empty($user_settings['license_aktiv'])){ $new_gps_check=1; $new_exif_check=1; }else{ $new_gps_check = $gps_check; $new_exif_check = $exif_check; } //PRO VERSION ENDE switch ($method) { case 'gps': if(empty($new_gps_check)){ $gps_check = 1; $check = 1; }else{ $gps_check = 0; $check = 0; } break; case 'exif': if(empty($new_exif_check)){ $exif_check = 1; $check = 1; }else{ $exif_check = 0; $check = 0; } break; case 'auswahl': if(empty($auswahl_check)){ $auswahl_check = 1; $check = 1; }else{ $auswahl_check = 0; $check = 0; } break; case 'kommentar': if(empty($kommentar_check)){ $kommentar_check = 1; $check = 1; }else{ $kommentar_check = 0; $check = 0; } break; case 'log': if(empty($email_check)){ $email_check = 1; $check = 1; }else{ $email_check = 0; $check = 0; } break; $new_select = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $new_select)); $id=$data2['data'][0]->freigabe_id; break; case 'nachricht': if(empty($nachricht_check)){ $nachricht_check = 1; $check = 1; }else{ $nachricht_check = 0; $check = 0; } break; }//endeSwitch $newsettings = serialize(array( "gps" =>$gps_check, "exif" =>$exif_check, "auswahl" =>$auswahl_check, "kommentar" =>$kommentar_check, "log" =>$email_check, "selected" =>$selected_check, "nachricht" =>$nachricht_check, )); $update = array("method" =>"update_wp_user_details", "table" =>"art_freigaben", "data" =>$newsettings, "id" =>$id); new DbHandle($update); $return = array("typ"=>$method.'-aktiv'.$id,"check"=>$check); return $return; } protected function benutzer_freigaben($data) { switch ($data['auswahl']) { case 'benutzer_freigaben': //init $colclass_uc='huge-no'; $colclass_ch='huge-no'; $colclass_fr='huge-no'; $colclass_ms='huge-no'; $uc=0; $ch=0; $fr=0; $ms=0; $a1 = array("method" =>"read_wp_db", "table" =>"art_freigaben", "select" =>"*", "session"=>false); $dat1 = new DbHandle($a1); $data = $dat1->return; $a3 = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>"*"); $dat3 = new DbHandle($a3); $data3 = $dat3->return; if(empty($data['count'])){ $uc=0; $ch=0; $fr=0; $ms=0; }else{ $a2 = array("method" =>"user_wp_freigabe_start"); $dat2 = new DbHandle($a2); $data2=$dat2->return; } for ($i = 0; $i <= $data2['count']; $i++) { $msg .= $data2['data'][$i]->message.','; $usr_check .= $data2['data'][$i]->select_image.','; } $galerie_msg = array_filter(explode(",",$msg)); $user_check = array_filter(explode(",",$usr_check)); $uc = $data3['count']; if(empty($uc) ? $colclass_uc = 'huge-no' : $colclass_uc = 'huge' ); $fr = $data['count']; if(empty($fr) ? $colclass_fr = 'huge-no' : $colclass_fr = 'huge' ); foreach ($galerie_msg as $tmp) { $ms += count(array_filter(unserialize($tmp))); if(empty($ms) ? $colclass_ms = 'huge-no' : $colclass_ms = 'huge' ); } foreach ($user_check as $val) { $ch += count(array_filter(unserialize($val))); if(empty($ch) ? $colclass_ch = 'huge-no' : $colclass_ch = 'huge' ); } if(empty($this->settings['license_aktiv'])){ $pro_txt='

In der proVersion unbegrenzt Benutzer und Freigaben erstellen.

CLICK für die Vollversion der ArtPicture Galerie


'; }else{ $pro_txt='



ArtPicture Design '.date('Y').'



'; } global $user_info; $user_info = get_userdata(get_current_user_id()); $header = '


'.$fr.'
Freigaben
'.$ch.'
checked
'.$ms.'
Message

  eingeloggt als '.$user_info->user_nicename.'

'; $header = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $header)); $body = '

Benutzer Einstellungen














Freigabe Einstellungen











Die Login Url des User-Templates ist:
'.site_url().'?apg-user-gallery-template=12067102
'.$pro_txt.'
'; $body = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $body)); $return = array("header"=>$header,"body"=>$body); return $return; } } private function template_user_details($daten) { $modal1 = '#FreigabeModal"data-whatever=" '.$daten->id.'_load_notiz_modal+user"'; //if PRO VERSION $a2 = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>" *"); $dat2 = new DbHandle($a2); $row=$dat2->return; if(empty($this->settings['license_aktiv']) && $row['count'] >= 1){ $pro_text='
Der erste Benutzer ist aktiv. Alle anderen Benutzer sind deaktiviert. Mit der Art-Picture Galerie Pro können Sie unbegrenzt viele Benutzer Freigaben erstellen.
'; $pw_senden_value= 0; $enabled_pro_mail =' disabled'; $txt =' ProVersion'; $checked_pro =''; }else{ $pw_senden_value= 1; $enabled_pro_mail =''; $txt =''; $checked_pro=' checked'; } $tt = $this->tt; $date1 = new \DateTime($data['created_at']); $datum1 = $date1->format('d.m.Y'); if(empty($daten->last_update)){ $datum2 = 'unbekannt'; }else{ $date2 = new \DateTime($data['last_update']); $datum2 = $date2->format('d.m.Y'); } if(empty($daten->email_aktiv)){ $aktiv1 = 0; $check1 = ''; }else{ $aktiv1 = 1; $check1 = 'checked'; } if(empty($daten->htaccess_aktiv)){ $aktiv2 = 0; $check2 = ''; }else{ $aktiv2 = 1; $check2 = 'checked'; } $template ='

'.$daten->htaccess_vorname.' '.$daten->htaccess_nachname.' (letztes Update: '.$datum2.' )

ID user aktiv message hinzugefügt email user Login user Passwort user löschen
'.$daten->id.'

Benutzer Notiz


eMail Senden
'.$datum1.'

'.$daten->htaccess_user.'


löschen
'.$pro_text.'
'; $template = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $template)); return $template; // } private static function user_details_auswahl($select="") { $select_user = '
   Auswahl eingrenzen
   '; $select_galerie .= ''; $select_user_footer = ''; $div = '


'; $a2 = array("method" =>"user_wp_freigabe_start"); $dat2 = new DbHandle($a2); $data2=$dat2->return; for ($i = 0; $i <= $data2['count']; $i++) { $gal .= $data2['data'][$i]->galerie_name.','; $usr .= $data2['data'][$i]->htaccess_user.','; } $galerie_select = array_filter(array_unique(explode(",",$gal))); $user_select = array_filter(array_unique(explode(",",$usr))); foreach ($user_select as $tmp){ if($tmp == $select){ $sel1 = ' selected="selected"'; }else{ $sel1 = ''; } $select_user .= ''; } foreach ($galerie_select as $tmp1){ if($tmp1 == $select){ $sel2 = ' selected="selected"'; }else{ $sel2 = ''; } $select_galerie .= ''; } $galerie = $select_galerie . $select_user_footer; $user = $select_user . $select_user_footer; $return = $user . '  ' . $galerie . $div; $return = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $return)); return $return; } protected function close_btn($select="") { if(empty($select)){ $typ = 'close_details();'; }else{ $typ = 'close_select();'; } $close = '

 schließen

'; $close = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $close)); return $close; } protected static function btn_group_response($htaccess_id,$load) { $btn = '

    Grid Liste





'; $btn = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $btn)); return $btn; } private static function user_response_auswahl() { $a1 = array("method" =>"user_wp_freigabe_start"); $dat1 = new DbHandle($a1); $data=$dat1->return; if(empty($data['count'])){ $return = array("status"=>false,"message"=>"keine freigaben vorhanden!"); return $return; } $select_user = '
   schnell Auswahl
  


'; foreach ($data['data'] as $tmp) { if(!empty($tmp->select_image)){ $check = array_filter(unserialize($tmp->select_image)); $cc = count($check); }else{ $cc = 0; } if(!empty($tmp->message)){ $msg = array_filter(unserialize($tmp->message)); $mc = count($msg); }else{ $mc = 0; } $count = $cc + $mc; if($count > 0){ $select_user .= ''; }else{ $select_user .=''; } } $return = $select_user . $select_user_footer; $return = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $return)); return $return; } protected function user_response_template($htaccess_id,$wahl,$layout="") { //daten aus DB holen if(empty($layout)){ $layout = 'grid'; } $a1 = array("method" => "user_wp_response", "data" => array("freigabe_id" => $htaccess_id)); $dat1 = new DbHandle($a1); $data=$dat1->return; if(empty($data['count'])){ return array("status"=>false,"template"=>""); } //message zerlegen und für array vorbereiten if(!empty($data['data'][0]->message)){ $mc = array_filter(array_unique(unserialize($data['data'][0]->message))); if(count($mc) > 0){ for ($x = 0; $x <= count($mc); $x++) { $mid .= substr($mc[$x],0,strpos($mc[$x],'_')).','; $me .= substr($mc[$x],strpos($mc[$x],'_')+1).','; } } } //checked array vorbereiten if(!empty($data['data'][0]->select_image)){ $cc = array_filter(array_unique(unserialize($data['data'][0]->select_image))); if(count($cc) > 0){ foreach($cc as $key => $val){ $cid .= $val.','; } } } // alle arrays erstellen $message_id = array_filter(array_unique(explode(",",$mid))); $message = array_filter(explode(",",$me)); $check_id = array_filter(explode(",",$cid)); //auf doppelte Einträge überprüfen und array mit imageID für Bild abruf vorbereiten if($wahl == 'start'){ $wahl = 'alle'; } if($wahl == 'checked'){ if(count($check_id) == 0){ $response = self::response('22'); $return = array("template"=>$response['response_msg'],"status"=>false,"total"=>0); return $return; } for ($y = 0; $y <= count($check_id); $y++) { if(!empty($check_id[$y])){ if(!in_array($check_id[$y],$message_id)) { $img_id .= $check_id[$y].','; } } } }elseif($wahl == 'kommentar'){ if (count($mc) == 0){ $response = self::response('25'); $return = array("template"=>$response['response_msg'],"status"=>false,"total"=>0); return $return; } for ($z = 0; $z <= count($mc); $z++) { $img_id .= $message_id[$z].','; } }elseif($wahl == 'alle'){ for ($y = 0; $y <= count($check_id); $y++) { if(!empty($check_id[$y])){ if(!in_array($check_id[$y],$message_id)) { $img_id .= $check_id[$y].','; } }else{ for ($z = 0; $z <= count($mc); $z++) { $img_id .= $message_id[$z].','; } } } }else{ return false; } //array mit Image ID erzeugen $id = array_filter(array_unique(explode(",",$img_id))); //abruf der Daten aus der Image Tabelle for ($t = 1; $t <= count($id); $t++) { //Überprüfen ob für diese ID eine Message vorhanden ist if(in_array($id[$t -1],$message_id)){ for ($v = 1; $v <= count($message_id); $v++) { if($id[$t -1] == $message_id[$v -1] ) $msg = $message[$v -1]; } } //überprüfen ob Bild checked und Layout anpassen if(in_array($id[$t -1],$check_id)){ $checked = ''; $color = 'suss'; }else{ $checked = ''; $color = 'dan'; } //abfrage image table $a2 = array("method" =>"read_wp_db", "table" =>"art_images", "select" =>"*", "where" =>" where id = %d", "search" =>$id[$t -1]); $dat2 = new DbHandle($a2); $data2 = $dat2->return; //datum last update if(empty($data['data'][0]->freigabe_update)){ $datum = 'unbekannt'; }else{ $date = new \DateTime($data['data'][0]->freigabe_update); $datum = $date->format('d.m.Y'); } $date2 = new \DateTime(); $datum2 = $date2->format('Y'); switch ($layout) { //ausgabe template mit allen Daten case 'grid': $template .= '

'.$data['data'][0]->htaccess_vorname.' '.$data['data'][0]->htaccess_nachname.' (Galerie: '.$data2['data'][0]->galerie_name.')
NAME: '.$data2['data'][0]->name.'
ID:  '.$data2['data'][0]->id.'



'.$data2['data'][0]->name.'
Checked:  '.$checked.'

User Kommentar:
'.$msg.'
last update: '.$datum.'

ArtPicture Galerie '.$datum2.'
'; break; case 'details': $template .= '
'.$data['data'][0]->htaccess_vorname.' '.$data['data'][0]->htaccess_nachname.' (Galerie: '.$data2['data'][0]->galerie_name.')
Bild ID: Name User Galerie Checked Kommentar
'.$data2['data'][0]->name.' '.$data2['data'][0]->id.' '.$data2['data'][0]->name.' '.$data['data'][0]->htaccess_user.' '.$data2['data'][0]->galerie_name.' Checked:  '.$checked.' '.$msg.'

last update ('.$datum.')


'; break; } } $template = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $template)); $return = array("template"=>$template,"status"=>true,"total"=>count($id)); return $return; } private function start_user_response_template() { $a1 = array("method" =>"user_wp_freigabe_start"); $dat1 = new DbHandle($a1); $data=$dat1->return; if(empty($data['count'])){ $return = array("status"=>false,"message"=>"keine freigaben vorhanden!"); return $return; } $close = self::user_response_auswahl(); foreach ($data['data'] as $tmp) { if(!empty($tmp->select_image)){ $check = array_filter(unserialize($tmp->select_image)); $cc = count($check); }else{ $cc = 0; } if($cc > 0){ $badge1 = ' style="background-color:green;"'; }else{ $badge1 = ' style="background-color:#c75e47;"'; } if(!empty($tmp->message)){ $msg = array_filter(unserialize($tmp->message)); $mc = count($msg); }else{ $mc = 0; } if($mc > 0){ $badge2 = ' style="background-color:green;"'; }else{ $badge2 = ' style="background-color:#c75e47;"'; } $count = $cc + $mc; if(!empty($count )) { $date1 = new \DateTime($tmp->created_at); $datum1 = $date1->format('d.m.Y'); if(empty($tmp->freigabe_update)){ $datum2 = 'unbekannt'; }else{ $date2 = new \DateTime($tmp->freigabe_update); $datum2 = $date2->format('d.m.Y'); } $template .= '
'.$tmp->htaccess_vorname.' '.$tmp->htaccess_nachname.' | Galerie: '.$tmp->galerie_name.' ( erstellt am: '.$datum1.' )
ID: User ID: User Login: Galerie Message check anzeigen
'.$tmp->freigabe_id.' '.$tmp->id.' '.$tmp->htaccess_user.' '.$tmp->galerie_name.' '.$mc.' '.$cc.'
'; }} $template = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $template)); $close = preg_replace(array('//Uis', "/[[:blank:]]+/"), array('', ' '), str_replace(array("\n","\r","\t"), '', $close)); return array("template"=>$template,"close"=>$close); } public function send_userdaten_mail($daten) { $settings = ApgSettings::load_settings('user_settings'); if(empty($settings['license_aktiv'])){ return false; } $url=site_url().'?apg-user-gallery-template=12067102'; global $user_info; $user_info = get_userdata(get_current_user_id()); $text = 'Hallo '.$daten['vorname'].' '.$daten['nachname'].''."\n\n". 'es wurde eine Galerie fuer Sie erstellt. In dieser E-Mail erhalten Sie die Zugangsdaten zum Login'."\n\n". 'URL:'.$url.''."\n". 'Name:'.$daten['bn'].''."\n". 'Passwort:'.$daten['pw'].''."\n\n". 'Wir wuenschen Ihnen viel Spass und Freude mit Ihrer Galerie.'; $text = htmlspecialchars($text); $logo = plugins_url('../assets/images/Logo-Art-Picture-galerie-B.png "height="227" width="249" alt="artPictureGalerie',__FILE__); $html_url ='Galerie Login'; $newLoginUrl=''.$url.''; $Userurl = get_site_url(); @ob_start(); $user_text = file_get_contents('templates/user-mail/zugangsdaten eMail.txt',FILE_USE_INCLUDE_PATH); $user_text = str_replace("[loginurl]", $newLoginUrl, $user_text); $user_text = str_replace("[vorname]", $daten['vorname'], $user_text); $user_text = str_replace("[nachname]", $daten['nachname'], $user_text); $user_text = str_replace("[loginname]", $daten['bn'], $user_text); $user_text = str_replace("[passwort]", $daten['pw'], $user_text); $user_text = str_replace("###ABSEMAIL###", $user_info->user_email, $user_text); $user_text = str_replace("###ABSURL###", $Userurl, $user_text); $html_text = file_get_contents('mail/send_new_user_daten.html',FILE_USE_INCLUDE_PATH); $html_text = str_replace("###IMAGE_LOGO###", $logo, $html_text); $html_text = str_replace("###LOGINURL1###", $url, $html_text); $html_text = str_replace("###USERMAIL###", $user_text, $html_text); $html_text = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$html_text)); @ob_end_flush(); $attachment = ''; $subject = 'Zugangsdaten Art-Picture Gallery'; $to = $daten['email']; $subject = $subject; $body = $html_text; $return = wp_mail( $to, $subject, $body ); remove_filter( 'wp_mail_content_type', 'set_html_content_type' ); return $return; } private function get_db_settings($result_typ) { /** * * @result 1 return settings + htaccess * @result 2 return settings + tooltip * @result 3 return tooltip */ global $wpdb; $table_name = $wpdb->prefix . 'art_config'; $result = $wpdb->get_results( "SELECT * FROM $table_name" ); $settings = unserialize($result[0]->user_settings); $tooltip = unserialize($result[0]->tooltip); switch ($result_typ) { case '1': $this->return = $settings; break; case '2': $this->return = array_merge($settings,$tooltip); break; case '3': $this->return = $tooltip; break; } return $this->return; } private static function read_usermail_verzeichnis() { $dir = __dir__ . '/templates/user-mail'; if (!is_dir($dir)){ mkdir($dir, 0755, true); self::standard_user_email_userdaten(true); return array("status"=>false,"files"=>null,"count"=>0); } $alledateien = scandir($dir); if(empty($alledateien)){ self::standard_user_email_userdaten(true); $return = array("status"=>false,"files"=>null,"count"=>0); }else{ foreach ($alledateien as $files) { $fileinfo = pathinfo($dir."/".$files); if($fileinfo['extension'] != 'txt'){ $files = '.'; } if ($files != "." && $files != ".." && $files != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] .= $files; } } $email = file_get_contents($dir . '/zugangsdaten eMail.txt',FILE_USE_INCLUDE_PATH); $return = array("status"=>true,"files"=>$file,"count"=>count($file),"daten"=>$email); } return $return; } private static function standard_user_email_userdaten($methode) { $url = get_site_url(); global $user_info; $user_info = get_userdata(get_current_user_id()); $template = '

 


 

Hallo [vorname] [nachname],

es wurde eine Galerie für Sie erstellt. In dieser E-Mail erhalten Sie die Zugangsdaten zum Login.

 

URL: [loginurl]
Name: [loginname]
Passwort: [passwort]

 

Für weitere Fragen, stehen wir Ihnen gerne zur Verfügung.

'.$user_info->user_email.'   |    '.$url.'

 

Wir wünschen Ihnen viel Spass und Freude mit ArtPicture-Galerie.

 


 

'; $template = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$template)); if($methode === true) { $dir = __DIR__ . '/templates/user-mail/zugangsdaten eMail.txt'; $dh = fopen($dir, "w+"); fwrite($dh, $template); fclose($dh); return true; }if($methode === false){ return $template; } } protected static function change_email_template($name) { $dir = __dir__ . '/templates/user-mail'; $templates = scandir($dir); foreach ($templates as $tmp) { $fileinfo = pathinfo($dir."/".$tmp); if($fileinfo['extension'] != 'txt'){ $tmp = '.'; } if ($tmp != "." && $tmp != ".." && $tmp != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] = $tmp; } } $allFiles = array_reverse($file); $btn_head = '

eMail Templates
'; $btn_foot = '


'; foreach($allFiles as $val) { $fileinfo = pathinfo($dir."/".$val); if($fileinfo['filename'] == $name){ $active_class = 'primary'; $loaded_template = $name; $btn_text = ''.$fileinfo['filename'].''; }else{ $active_class = 'default'; $btn_text = $fileinfo['filename']; } $btn .= ''; } $email_template = file_get_contents($dir . '/'.$name.'.txt',FILE_USE_INCLUDE_PATH); $btn = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$btn)); $button = $btn_head . $btn .$btn_foot; $return = array( "status" =>true, "message"=>$name.' eMail Template!', "links" =>$button, "daten" =>$email_template, "loaded" =>$fileinfo['filename'] ); return $return; } protected static function new_email_template($name) { $dir = __DIR__ . '/templates/user-mail'; $templates = scandir($dir); foreach($templates as $files) { $template_info = pathinfo($dir."/".$files); if($template_info['filename'] == $name){ return array("status"=>false,"message"=>"Name schon vorhanden"); } } $new_template = $dir . '/'.$name.'.txt'; $dh = fopen($new_template, "w+"); fwrite($dh, $name); fclose($dh); $templates = scandir($dir); foreach ($templates as $tmp) { $fileinfo = pathinfo($dir."/".$tmp); if($fileinfo['extension'] != 'txt'){ $tmp = '.'; } if ($tmp != "." && $tmp != ".." && $tmp != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] = $tmp; } } $allFiles = array_reverse($file); $btn_head = '

eMail Templates
'; $btn_foot = '


'; foreach($allFiles as $val) { $fileinfo = pathinfo($dir."/".$val); if($fileinfo['filename'] == $name){ $active_class = 'primary'; $loaded_template = $name; $btn_text = ''.$fileinfo['filename'].''; }else{ $active_class = 'default'; $btn_text = $fileinfo['filename']; } $btn .= ''; } $email_template = file_get_contents($dir . '/'.$name.'.txt',FILE_USE_INCLUDE_PATH); $btn = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$btn)); $button = $btn_head . $btn . $btn_foot; $return = array( "status" =>true, "message"=>$name.' erstellt!', "links" =>$button, "daten" =>$email_template, "loaded" =>$fileinfo['filename']); return $return; } protected static function save_user_email_template($value,$name) { $dat =''; $dir = __DIR__ . '/templates/user-mail'; $templates = scandir($dir); foreach ($templates as $tmp) { $fileinfo = pathinfo($dir."/".$tmp); if($fileinfo['extension'] != 'txt'){ $tmp = '.'; } if ($tmp != "." && $tmp != ".." && $tmp != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] = $tmp; } } $open = $dir.'/'.$name.'.txt'; foreach ($file as $val){ $datei = substr($val,0,strpos($val,'.txt')); if($datei == $name){ $value=stripslashes($value); $dh = fopen($open, "w+"); fwrite($dh, $value); fclose($dh); } } return array("status"=>true,"message"=>$name. ' erfolgreich gespeichert!'); } private static function del_email_template($name) { if($name == 'zugangsdaten eMail'){ return false; } $dir = __dir__ . '/templates/user-mail'; $templates = scandir($dir); foreach ($templates as $tmp) { $fileinfo = pathinfo($dir."/".$tmp); if($fileinfo['extension'] != 'txt'){ $tmp = '.'; } if ($tmp != "." && $tmp != ".." && $tmp != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] = $tmp; } } foreach($file as $val) { $datei = substr($val,0,strpos($val,'.txt')); if($datei == $name) { unlink($dir.'/'.$name.'.txt'); } } return true; } private function sende_user_mail($typ,$id="",$email="",$pwd="") { //verzeichnis mit templates einlesen $dir = __DIR__ . '/templates/user-mail'; //standard template verzeichnis $standard_dir = __DIR__ . '/templates/standard-mail'; switch ($typ) { case'select': $templates = scandir($dir); foreach ($templates as $tmp) { $fileinfo = pathinfo($dir."/".$tmp); if($fileinfo['extension'] != 'txt'){ $tmp = '.'; } if ($tmp != "." && $tmp != ".." && $tmp != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] = $tmp; } } //template suchen was gewählt wurde foreach($file as $val) { if($val == $email){ $email_template = file_get_contents($dir . '/'.$email,FILE_USE_INCLUDE_PATH); } } break; case 'text': $email_template = file_get_contents($standard_dir . '/mail.txt',FILE_USE_INCLUDE_PATH); break; case'new_passwort': $email_template = file_get_contents($standard_dir . '/newPwMail.txt',FILE_USE_INCLUDE_PATH); break; } //abbrechen wenn Template leer if(empty($email_template)){ return false; } //abfrage user Daten von DB $abfrage = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>"*", "where" =>" where id = %d", "search" =>$id); $dat = new DbHandle($abfrage); $daten = $dat->return; $data = $daten['data'][0]; $settings = ApgSettings::load_settings('user_settings'); global $user_info; $user_info = get_userdata(get_current_user_id()); $absName = 'ArtPicture-Galerie'; $subject = 'Nachricht von ArtPicture-Galerie ('.$user_info->user_email.')'; $smtpSecure = $secure; $text = 'kein Text vorhanden'; $text = htmlentities($text, ENT_QUOTES); $logo = plugins_url('../assets/images/Logo-Art-Picture-galerie-B.png',__FILE__).' "height="227" width="249" alt="artPictureGalerie'; //Login Url für User Benutzeroberfläsche //$url = substr(admin_url(),0,strpos(admin_url(),'wp-admin')).'artpicture-galerie-login'; $url=site_url().'?apg-user-gallery-template=12067102'; //Daten wenn select Platzhalter eintragen @ob_start(); $email_template = str_replace("[loginurl]", $url, $email_template); $email_template = str_replace("[vorname]", $data->htaccess_vorname, $email_template); $email_template = str_replace("[nachname]", $data->htaccess_nachname, $email_template); $email_template = str_replace("[loginname]", $data->htaccess_user, $email_template); $email_template = str_replace("[passwort]", $pwd, $email_template); $email_template = str_replace("###MESSAGE###", htmlentities($email), $email_template); $email_template = str_replace("###ABSURL###", htmlentities($user_info->user_email), $email_template); $html_text = file_get_contents('mail/send_user_email.html',FILE_USE_INCLUDE_PATH); $html_text = str_replace("###IMAGE_LOGO###", $logo, $html_text); $html_text = str_replace("###LOGINURL1###", $url, $html_text); $html_text = str_replace("###USERMAIL###", $email_template, $html_text); $html_text = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$html_text)); @ob_end_flush(); $attachment = ''; $to = $data->htaccess_email; $subject = $subject; $body = $html_text; $return = wp_mail( $to, $subject, $body ); remove_filter( 'wp_mail_content_type', 'set_html_content_type' ); return $return; } private function write_user_log($uid,$typ,$imgID,$msg) { new UserLogHandler(array("method"=>"write", "user_name"=>$name, "user_id" =>$uid, "log_typ" =>$typ, "log_msg" =>"Bild ID:".$imgID."-" .$msg)); } private function read_user_log($typ) { $dir = __DIR__ . '/templates/userLog'; date_default_timezone_set("Europe/Berlin"); $alledateien = scandir($dir); foreach ($alledateien as $files) { $fileinfo = pathinfo($dir."/".$files); if($fileinfo['extension'] != 'txt'){ $files = '.'; } if ($files != "." && $files != ".." && $files != "_notes" && $fileinfo['basename'] != "Thumbs.db") { $file[] .= $files; } } $header = $this->benutzer_freigaben(array("auswahl"=>"benutzer_freigaben")); $header_close = '

 schließen

'; $return_header = $header['header'] . $header_close; $return_footer = '



'; switch($typ) { case'start': $start = new UserLogHandler(array("method"=>"all_user")); $datLog = $start->return; if(empty($datLog['userID'])){ $template = '

KEINE Log-Daten vorhanden!

'; }else{ foreach ($datLog['userID'] as $tmp) { $abfrage = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>"*", "where" =>" where id = %d", "search" =>$tmp); $dat = new DbHandle($abfrage); $daten = $dat->return; $data = $daten['data'][0]; $template .= '
  '.$data->htaccess_user.'  

'; } } $return = $return_header . $template . $return_footer; break; case'jahr': if(!empty($file)) { foreach ($file as $tmp) { $f = pathinfo($this->dir."/".$tmp); $jahre[] = substr($tmp,6,4); $userID = substr($f['filename'],strpos($f['filename'],'_')+1); if($userID == $this->id){ } } $jahr = array_unique($jahre); $jahr = array_values($jahr); foreach ($jahr as $val) { $template .= '
  '.$val.'  

'; } } $return = $return_header . $template . $return_footer; break; case'monat': if(!empty($file)) { foreach ($file as $tmp) { $f = pathinfo($this->dir."/".$tmp); $jahr = substr($f['filename'],6,4); $userID = substr($f['filename'],strpos($f['filename'],'_')+1); if($jahr == $this->jahr && $userID == $this->id){ $monat = substr($f['filename'],3,2); $datum = substr($f['filename'],0,10).' 00:00:00'; $date2 = new \DateTime($datum); $datum2[] = $date2->format('m'); } } $usrMonat = array_unique($datum2); $usrMonat = array_values($usrMonat); foreach ($usrMonat as $m) { $dat = $this->date_deutsche($datum); $deutschDatum = $dat['monat_lang']; $template .= '
  '.$m.'  

'; } } $return = $return_header . $template . $return_footer; break; case'details': if(!empty($file)){ foreach ($file as $tmp){ $this->f = pathinfo($this->dir."/".$tmp); if(strpos($this->f['filename'],$this->monat.'-'.$this->jahr.'_'.$this->id) !== false){ $tag = substr($this->f['filename'],0,2); $datei = $dir . '/' . $tag. '-' . $this->monat . '-' . $this->jahr . '_' . $this->id . '.txt'; $this->deleteDatei = $this->f['filename']; $datum = $tag. '-' . $this->monat. '-' . $this->jahr . ' 00:00:00'; $this->dat = $this->date_deutsche($datum); $eintraege = $this->read_log_details($datei); $eintrag = array_filter($eintraege); $x=0; $tmp_header = $this->details_template('table-header'); $tmp_footer = $this->details_template('table-footer'); $event = $this->event($datei); $r .= $tmp_header . $event . $tmp_footer; } } $return = $return_header.$r.$return_footer; ; } break; } return $return; } private function event($datei) { $eintraege = $this->read_log_details($datei); $x=0; $eintrag = array_pop($eintraege); foreach($eintraege as $val) { if(empty($val)){ return; } $date = $val[1]; $date1 = new \DateTime($date); $this->uhrzeit = $date1->format('H:i:s'); $this->typ = $val[2]; $this->event = $val[3]; $i1=strpos($val[3],':')+1; $i2=strpos($val[3],'-'); $IMGid = substr($val[3],$i1,$i2 - $i1); $abfrageImg = array("method" =>"read_wp_db", "table" =>"art_images", "select" =>"*", "where" =>" where id = %d", "search" =>$IMGid ); $dat = new DbHandle($abfrageImg); $image = $dat->return; $this->img = $image['data'][0]; $this->delete = $x.'_'.$this->f['filename']; $event .= $this->details_template('event'); $x++; } return $event; } private function read_log_details($datei) { $dh = fopen($datei, "r"); while (!feof($dh)) { $zeile = fgets($dh); $tE = strpos($zeile,'|typ|') + 5 ; $tI = strpos($zeile,'|id|') ; $ID1 = strpos($zeile,'|id|') + 4 ; $ID2 = strpos($zeile,'|message|') ; $datumEintrag = substr($zeile,6,19); $EintragTyp = substr($zeile,$tE,$tI-$tE); $EintragID = substr($zeile,$ID1,$ID2-$ID1); $EintragMSG = substr($zeile,strpos($zeile,'|message|')+9); $eintrag[] = array($EintragID, $datumEintrag,$EintragTyp,$EintragMSG); } fclose($dh); $return = array_filter($eintrag); return $return; } private function details_template($typ) { switch($typ) { case'table-header': $table_header = '
'; $table_header = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$table_header)); return $table_header; case'event': $event = ' '; $event = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$event)); return $event; break; case'table-footer': $table_footer = ' '; return $table_footer; break; } } private function read_user_message() { $a1 = array("method" =>"read_wp_db", "table" =>"art_user", "select" => '*'); $usr = new DbHandle($a1); $dat=$usr->return; $data = $dat['data']; foreach( $data as $tmp) { $msg = unserialize($tmp->user_message); for($i = 0; $i <= count($msg); $i++) { $datum = substr($msg[$i],0,strpos($msg[$i],'_')); $datum1 = substr($msg[$i],0,10); $zeit = substr($msg[$i],10,9); $message = substr($msg[$i],strpos($msg[$i],'_')+1); if(empty($message)){ continue; } $this->all[] = array("datumAll"=>$datum, "datum"=>$datum1, "zeit"=>$zeit, "message"=>$message, "id"=>$tmp->id, "user"=>$tmp->htaccess_user, "vorname"=>$tmp->htaccess_vorname, "nachname"=>$tmp->htaccess_nachname); } } $header_close = '

 schließen

'; $this->count = count($this->all); if(empty($this->count)){ return $header_close . $template ='

keine Nachrichten vorhanden!

'; } $header_close = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$header_close)); foreach ($this->all as $val) $datum_count[] = $val['datum']; $eintraege = array_values(array_unique($datum_count)); for($y = 1; $y <= count($eintraege); $y++) { $d = $this->date_deutsche($eintraege[$y -1].' 00:00:00'); $this->ins = $y; $result = $this->user_messages($eintraege[$y -1]); $template .= '
'.$this->dat['tag_kurz'].'
'.$this->dat['tag_lang'].'
'.$this->dat['monat_lang'].', '.$this->dat['jahr'].'
Datei Typ Message alle löschen
'.$this->uhrzeit.' '.$this->typ.' '.$this->event.'
'.$result['event'].' '; } $template = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$template)); return $header_close . $template; } private function user_messages($datum) { $i = 1; foreach($this->all as $tmp) if($datum == $tmp['datum']){ $datum2 = str_replace('-','',$tmp['datum']); $msg = substr($tmp['message'],0,20).'...'; $event .= ' '; $i++; } return array("event"=>$event,"collapse"=>$collapse); } private function new_user_template(){ //if PRO VERSION $a2 = array("method" =>"read_wp_db", "table" =>"art_user", "select" =>" *"); $dat2 = new DbHandle($a2); $row=$dat2->return; if(empty($this->settings['license_aktiv']) && $row['count'] >= 1){ $btn=' INFO: Sie haben 1 Benutzer angelegt. Mit der Art-Picture Galerie Pro können Sie unbegrenzt viele Benutzer anlegen.'; }else{ $btn=''; } if(empty($this->settings['license_aktiv'])){ $checked =' Zugangsdaten schicken ProVersion'; }else{ $checked =' Zugangsdaten schicken'; } //if PRO VERSION $template = '

 schließen



'.$checked.'
Benutzer aktiv
'.$btn.'
'; $return = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$return)); return $template; } public function editor_button_select() { $abfrage = array("method" =>"read_wp_db", "table" =>"art_galerie", "select" =>"*"); $dat = new DbHandle($abfrage); $gal = $dat->return; $galerie = $gal['data']; if(!empty($gal['count'])) { $files= array(); foreach($galerie as $tmp) { $file = new \stdClass(); $file->text = $tmp->galerie_name; $file->value = $tmp->galerie_name; array_push($files,$file); } $return = $files; return $return; } } public function update_image_posts($galerie_name,$image_id,$htaccess_id,$kommentar) { $abfrage = array("method" =>"read_wp_db", "table" =>"art_images", "select" =>"*", "where" =>" where id = %d", "search" =>$image_id ); $dat = new DbHandle($abfrage); $data=$dat->return; $post_id = $data['data'][0]->post_id; date_default_timezone_set("Europe/Berlin"); if(empty($post_id)){ $send[] =array("imageID"=>$image_id,"galerieName"=>$galerie_name,"htaccessID"=>$htaccess_id,"message"=>$kommentar,"time"=>date('Y-m-d H:i:s') ); $senden = serialize($send); }else{ $db_msg = unserialize($post_id); foreach($db_msg as $tmp) { if($tmp['htaccessID'] == $htaccess_id && $tmp['imageID'] == $image_id){ return;} } $send[] =array("imageID"=>$image_id,"galerieName"=>$galerie_name,"htaccessID"=>$htaccess_id,"message"=>$kommentar,"time"=>date('d.m.Y H:i:s') ); $newEintrag = array_merge($db_msg,$send); $senden=serialize($newEintrag); } $upd = array("method" =>"update_wp_posts_wpSeite", "table" =>"art_images", "id" => $image_id, "data" => $senden); new DbHandle($upd); } protected function UmlautINS($umlautINS){ $sucheuml = array('Ä','ä','Ö','ö','Ü','ü','ß',"Ä","ä","Ö","ö","Ü","ü","ß"); $ersetzel = array('Ä','ä','Ö','ö','Ü','ü','ß','Ä','ä','Ö','ö','Ü','ü','ß'); $guteuml = str_replace($ersetzel,$sucheuml,$umlautINS); return $guteuml; } private function user_selected(){ @session_start(); $a1 = array("method" =>"read_wp_db", "table" =>"art_freigaben", "select" =>"*", "where" =>" where htaccess_id = %d", "search" =>$_SESSION['id'] ); $dat = new DbHandle($a1); $dataFreigabe = $dat->return; $noSelect = '

 Sie haben noch keine Bilder ausgewählt!

'; $noSelect = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$noSelect)); $select_start_header = '

Ihre gewählten Bilder

'; $select_start_footer = '
'; $a1 = array("method" =>"user_wp_freigabe_start"); if(empty($dataFreigabe['count'])){ return $noSelect ; } $usr = new DbHandle($a1); $userDB=$usr->return; $db = array_filter($userDB['data']); $y=0; foreach($db as $tmp) { if($tmp->id == $_SESSION['id'] && !empty($tmp->freigabe_aktiv) && !empty($tmp->htaccess_aktiv)){ $sel_img = unserialize($tmp->select_image); $count=count($sel_img); $gnl = strlen($tmp->galerie_name); if($gnl > 23) { $cg = '...'; $c = 20; }else{ $cg = ''; $c = 23; } if(!empty($count)){ $galeriename = substr($tmp->galerie_name,0,$c).$cg; $select .='
  Galerie:

'.$galeriename.'

Bilder: '.$count.'
'; $y++; } } } if($y == 0) { return $noSelect; } $selected = $select_start_header . $select .$select_start_footer; $selected = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$selected)); return $selected; } private function load_user_selected_image($fid){ $a1 = array("method" =>"user_wp_response", "data" => array("freigabe_id"=>(int)$fid)); $dat1 = new DbHandle($a1); $data=$dat1->return; if(empty($data['count'])){ return false; } $sel_img = unserialize($data['data'][0]->select_image); if(empty($sel_img)){ return $return ='

Noch keine Bilder ausgewählt!

'; } $image = array_filter(array_unique($sel_img)); $back = '

zurück


'; $return_header = '
'; $return_footer = '
'; foreach ($image as $val) { global $wpdb; $table_name = $wpdb->prefix . 'art_images'; $row = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM ".$table_name." where id = %d ", $val)); $url = $row[0]->url; $mediumurl = $row[0]->thumbnailUrl; $name = $this->basename($row[0]->name); $return .= ' '; } $enter = $back. $return . $return_footer; $enter = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$enter)); return $enter; } private function user_message_template(){ @session_start(); global $wpdb; $table_name = $wpdb->prefix . 'art_user'; $row = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM ".$table_name." where id = %d ", $_SESSION['id'] )); if(empty($row[0]->email_aktiv)){ $message = '

INFO: Das Senden von Nachrichten ist nicht aktiviert.

Für weitere Informationen, wenden sie sich bitte an den Galerie-Ersteller

'; }else{ $message = '

Senden Sie eine Nachricht an den Galerie-Ersteller.






'; } $message = preg_replace(array('//Uis',"/[[:blank:]]+/"),array('',' '),str_replace(array("\n","\r","\t"),'',$message)); return $message; } protected static function date_deutsche($dateDB){ date_default_timezone_set("Europe/Berlin"); $date = new \DateTime($dateDB); $tage = array( "Mon" => "Montag", "Tue" => "Dienstag", "Wed" => "Mittwoch", "Thu" => "Donnerstag", "Fri" => "Freitag", "Sat" => "Samstag", "Sun" => "Sonntag"); $monate = array( "Jan" => "Januar", "Feb" => "Februar", "Mar" => "März", "Apr" => "April", "Mai" => "Mai", "Jun" => "Juni", "Jul" => "Juli", "Aug" => "August", "Sep" => "September", "Oct" => "Oktober", "Nov" => "November", "Dec" => "Dezember"); $datumDB = array(); $datumDB['monat_lang'] = $monate[$date->format('M')]; $datumDB['monat_kurz'] = $date->format('M'); $datumDB['tag_lang'] = $tage[$date->format('D')]; $datumDB['tag_kurz'] = $date->format('d'); $datumDB['jahr'] = $date->format('Y'); return $datumDB; } }//endClass ?>
'.$d['tag_kurz'].'
'.$d['tag_lang'].'
'.$d['monat_lang'].', '.$d['jahr'].'
Benutzer Benutzer Name Message löschen
'.$tmp['zeit'].' '.$tmp['user'].' '.$tmp['vorname'].' '.$tmp['nachname'].'

Message von '.$tmp['vorname'].' '.$tmp['nachname'].' gesendet am '.$tmp['datum'].' um '.$tmp['zeit'].'

'.$tmp['message'].'