/**
  * A testimonialsek sorrendjének módosításakor meghívott action (testimonials/order)
  *
  * Megvizsgálja, hogy a kérés xmlhttprequest volt-e (Ajax), ha igen meghívja a testimonials_order() metódust 
  */
 public function insert()
 {
     if ($this->request->has_post()) {
         $data['name'] = $this->request->get_post('testimonial_name');
         $data['title'] = $this->request->get_post('testimonial_title');
         $data['text'] = $this->request->get_post('testimonial_text');
         // input adatok tárolása session-ben
         Session::set('testimonial_input', $data);
         // validátor objektum létrehozása
         $validate = new Validate();
         // szabályok megadása az egyes mezőkhöz (mező neve, label, szabály)
         $validate->add_rule('name', 'név', array('required' => true, 'min' => 2));
         $validate->add_rule('title', 'beosztás', array('required' => true));
         $validate->add_rule('text', 'vélemény', array('required' => true));
         // üzenetek megadása az egyes szabályokhoz (szabály_neve, üzenet)
         $validate->set_message('required', 'A :label mező nem lehet üres!');
         $validate->set_message('min', 'A :label mező túl kevés karaktert tartalmaz!');
         // mezők validálása
         $validate->check($data);
         // HIBAELLENŐRZÉS - ha valamilyen hiba van a form adataiban
         if (!$validate->passed()) {
             foreach ($validate->get_error() as $value) {
                 Message::set('error', $value);
             }
             $this->response->redirect('admin/testimonials/insert');
         } else {
             // adatbázisba írás
             $result = $this->testimonials_model->insert($data);
             if ($result !== false) {
                 Message::set('success', 'new_testimonial_success');
                 Session::delete('testimonial_input');
                 $this->response->redirect('admin/testimonials');
             } else {
                 Message::set('error', 'unknown_error');
                 $this->response->redirect('admin/testimonials/insert');
             }
         }
     }
     $view = new View();
     $data['title'] = 'Új testimonials oldal';
     $data['description'] = 'Új testimonials oldal description';
     $view->add_links(array('testimonial_insert', 'vframework'));
     $view->render('testimonials/tpl_testimonial_insert', $data);
     Session::delete('testimonial_input');
 }
									<th title="Létrehozás dátuma">Létrehozva</th>
									<th title="Utolsó küldés dátuma">Utolsó küldés</th>
									<th>Státusz</th>
									<th style="width:0px;"></th>
								</tr>
							</thead>
							<tbody>

						<?php 
foreach ($newsletters as $value) {
    ?>

							<tr class="odd gradeX">
								<td>
									<?php 
    if (Session::get('user_data.user_role_id') > 0 && empty($value['newsletter_lastsent_date'])) {
        ?>
									<input type="checkbox" class="checkboxes" name="newsletter_id_<?php 
        echo $value['newsletter_id'];
        ?>
" value="<?php 
        echo $value['newsletter_id'];
        ?>
"/>
									<?php 
    }
    ?>
	
								</td>
								<td><?php 
    echo $value['newsletter_name'];
 function __construct()
 {
     Session::init();
     $this->request = DI::get('request');
     $this->response = DI::get('response');
 }
Exemple #4
0
 /**
  * Felhasználó kijelentkezés
  */
 public function logout()
 {
     // set the remember-me-cookie to ten years ago (3600sec * 365 days * 10).
     // that's obviously the best practice to kill a cookie via php
     // @see http://stackoverflow.com/a/686166/1114320
     // setcookie('rememberme', false, time() - (3600 * 3650));
     // setcookie('rememberme', false, time() - (3600 * 3650), '/');
     // delete the session
     Session::destroy();
 }
    ?>
</td>
									<td><?php 
    echo $value['unsubscribe_count'];
    ?>
</td>
									<td><?php 
    echo !$value['error'] ? '<span class="label label-success">Elküldve</span>' : '<span class="label label-danger">Hiba történt</span>';
    ?>
</td>
									
									<td>
										<div class="actions">
											<div class="btn-group">
												<a class="btn btn-sm grey-steel" href="#" data-toggle="dropdown" <?php 
    echo Session::get('user_role_id') <= 0 ? 'disabled' : '';
    ?>
>
													<i class="fa fa-cogs"></i>
												</a>
												<ul class="dropdown-menu pull-right">
													<li>
														<a id="submit_newsletter_<?php 
    echo $value['newsletter_id'];
    ?>
" rel="<?php 
    echo $value['newsletter_id'];
    ?>
"><i class="fa fa-trash"></i> Hírlevél elküldése</a>
													</li>
													<li>
							<label for="testimonial_name">Név</label>	
							<input type="text" name="testimonial_name" class="form-control input-large" value="<?php 
echo Session::get('testimonial_input.name');
?>
"/>
						</div>
						
						<div class="form-group">
							<label for="testimonial_title">Beosztás</label>	
							<input type='text' name='testimonial_title' class='form-control input-large' value="<?php 
echo Session::get('testimonial_input.title');
?>
"/>
						</div>
						
						<div class="form-group">
							<label for="testimonial_text">Vélemény</label>
							<textarea type='text' name='testimonial_text' class='form-control'><?php 
echo Session::get('testimonial_input.text');
?>
</textarea>
						</div>

					</div> <!-- END USER GROUPS PORTLET BODY-->
				</div> <!-- END USER GROUPS PORTLET-->

			</form>									

		</div> <!-- END COL-MD-12 -->
	</div> <!-- END ROW -->	
</div> <!-- END PAGE CONTENT-->
Exemple #7
0
 /**
  * Felhasználó adatainak megjelenítése és módosítása
  *
  * A metódusnak szüksége van egy user id-jére amit módosítani akarunk ($this->request->get_params('id'))
  */
 public function profile($id)
 {
     // $id = (int)$this->request->get_params('id');
     $id = (int) $id;
     if ($this->request->has_post('submit_edit_user')) {
         // adatok a $_POST tömbből
         $post_data = $this->request->get_post();
         // validátor objektum létrehozása
         $validate = new Validate();
         // szabályok megadása az egyes mezőkhöz (mező neve, label, szabály)
         $validate->add_rule('name', 'username', array('required' => true, 'min' => 2));
         $validate->add_rule('first_name', 'userfirstname', array('required' => true, 'min' => 2));
         $validate->add_rule('last_name', 'userlastname', array('required' => true, 'min' => 2));
         // Jelszó ellenőrzés ha üres a password és az ellenőrző password mezö
         if (empty($this->request->get_post('password')) && empty($this->request->get_post('password_again'))) {
             $password_empty = true;
         } else {
             $validate->add_rule('password', 'password', array('required' => true, 'min' => 6));
             $validate->add_rule('password_again', 'password_again', array('required' => true, 'matches' => 'password'));
         }
         $validate->add_rule('email', 'email', array('required' => true, 'email' => true));
         // üzenetek megadása az egyes szabályokhoz (szabály_neve, üzenet)
         $validate->set_message('required', ':label_field_empty');
         $validate->set_message('min', ':label_too_short');
         $validate->set_message('matches', ':label_repeat_wrong');
         $validate->set_message('email', ':label_does_not_fit_pattern');
         //$validate->set_message('max', ':label_too_long');
         // mezők validálása
         $validate->check($post_data);
         // HIBAELLENŐRZÉS - ha valamilyen hiba van a form adataiban
         if (!$validate->passed()) {
             foreach ($validate->get_error() as $error_msg) {
                 Message::set('error', $error_msg);
             }
             $this->response->redirect('admin/user/profile/' . $id);
         } else {
             // végrehajtás, ha nincs hiba
             $user = array();
             $user['name'] = $this->request->get_post('name');
             $user['first_name'] = $this->request->get_post('first_name');
             $user['last_name'] = $this->request->get_post('last_name');
             $user['phone'] = $this->request->get_post('phone');
             //ha nem létezik a $password_empty változó, vagyis nem üres mindkét password mező
             if (!isset($password_empty)) {
                 // jelszó kompatibilitás library betöltése régebbi php verzió esetén
                 $this->user_model->load_password_compatibility();
                 // crypt the user's password with the PHP 5.5's password_hash() function, results in a 60 character
                 // hash string. the PASSWORD_DEFAULT constant is defined by the PHP 5.5, or if you are using PHP 5.3/5.4,
                 // by the password hashing compatibility library. the third parameter looks a little bit shitty, but that's
                 // how those PHP 5.5 functions want the parameter: as an array with, currently only used with 'cost' => XX
                 $hash_cost_factor = Config::get('hash_cost_factor') !== null ? Config::get('hash_cost_factor') : null;
                 $user['password_hash'] = password_hash($this->request->get_post('password'), PASSWORD_DEFAULT, array('cost' => $hash_cost_factor));
             }
             $user['email'] = $this->request->get_post('email');
             if ($this->request->has_post('user_group')) {
                 $user['role_id'] = $this->request->get_post('user_group', 'integer');
             }
             //ha van feltöltve user kép
             if (!empty($this->request->get_post('img_url'))) {
                 $path_parts = pathinfo($this->request->get_post('img_url'));
                 $user['photo'] = $path_parts['filename'] . '.' . $path_parts['extension'];
             }
             // Megvizsgáljuk, hogy van-e már ilyen nevű user (de nem az amit módosítani akarunk)
             if ($this->user_model->checkUserNoLoggedIn($id, $user['name'])) {
                 Message::set('error', 'username_already_taken');
                 $this->response->redirect('admin/user/profile/' . $id);
             }
             /*
                   if(!is_null($user['email'])){
                   // Megvizsgáljuk, hogy van-e már ilyen email cím (de nem az amit módosítani akarunk)
             
             		            // ha már van ilyen email cím
                   	if ($this->user_model->checkEmailNoLoggedIn($id, $user['email'])) {
             						Message::set('error', 'user_email_already_taken');
                     	$this->response->redirect('admin/user/profile');
                   	}
                   }
             */
             // új adatok beírása az adatbázisba (update) a $user tömb tartalmazza a frissítendő adatokat
             $result = $this->user_model->update($id, $user);
             if ($result !== false) {
                 // ha a bejelentkezett user adatait módosítjuk, akkor a session adatokat is frissíteni kell
                 if (Session::get('user_data.id') == $id) {
                     // Módosítjuk a $_SESSION tömben is a user adatait!
                     Session::set('user_data.name', $user['name']);
                     Session::set('user_data.email', $user['email']);
                     if (isset($user['role_id'])) {
                         Session::set('user_data.role_id', $user['role_id']);
                     }
                     if (isset($user['user_photo'])) {
                         Session::set('user_data.photo', $user['photo']);
                     }
                 }
                 Message::set('success', 'user_data_update_success');
                 $this->response->redirect('admin/user');
             } else {
                 Message::set('error', 'unknown_error');
                 $this->response->redirect('admin/user/profile/' . $id);
             }
         }
     }
     $view = new View();
     $data['title'] = 'Profilom oldal';
     $data['description'] = 'Profilom description';
     $data['user'] = $this->user_model->selectUser($id);
     $view->add_links(array('bootstrap-fileupload', 'croppic', 'validation', 'user_profile'));
     $view->render('users/tpl_profile', $data);
 }