You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

125 lines
4.3 KiB

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class User_subscriber_event_preference_model extends CI_Model {
public function __construct() {
parent::__construct();
}
public function setPreferences($subscriber_id, $preferences)
{
$this->db->where('subscriber_id', $subscriber_id)
->delete('user_subscriber_event_preference');
foreach($preferences as $preference){
$entry = array (
'subscriber_id' => $subscriber_id,
'event_preference' => $preference
);
$this->db->insert('user_subscriber_event_preference', $entry);
}
}
public function myaccount($user_id)
{
$row = $this->db->select('subscriber_id')
->from('user_subscriber')
->where('subscriber', $user_id)
->get()
->row();
$query = $this->db->select('user_subscriber_event_preference.subscriber_id, user_subscriber_event_preference.event_preference_id, user_subscriber_event_preference.event_preference, event_type.event_type')
->from('user_subscriber_event_preference')
->join('event_type', 'user_subscriber_event_preference.event_preference = event_type.event_type_id')
->where('subscriber_id', $row->subscriber_id)
->get();
return $query->result();
}
public function update_preferences($user_id, $login_id, $preferences)
{
$row = $this->db->select('subscriber_id')
->from('user_subscriber')
->where('subscriber', $user_id)
->get()
->row();
$this->db->where('subscriber_id', $row->subscriber_id)
->delete('user_subscriber_event_preference');
if($preferences){
foreach($preferences as $preference){
$entry = array (
'subscriber_id' => $row->subscriber_id,
'event_preference' => $preference
);
$this->db->insert('user_subscriber_event_preference', $entry);
}
}
// $this->db->set('process_status', 1);
// $this->db->where('login_id', $login_id);
// $this->db->where('process_type', 16);
// $this->db->update('event_concurrent_process');
// New Preferences
$query = $this->db->select('user_subscriber_event_preference.event_preference, event_type.event_type')
->from('user_subscriber_event_preference')
->join('event_type', 'user_subscriber_event_preference.event_preference=event_type.event_type_id')
->where('user_subscriber_event_preference.subscriber_id', $row->subscriber_id)
->get();
$rows = $query->result();
$preferences_list = array();
foreach ($rows as $value) {
array_push($preferences_list, $value->event_type);
}
return $preferences_list;
}
// public function check_profile_info_update($user_id, $field, $profile_info)
// {
// $info = explode(", ", $profile_info);
// // if(empty($info[0])) var_dump($info);
// // else print_r("Not empty");
// $user = $this->db->select('subscriber_id')
// ->from('user_subscriber')
// ->where('subscriber', $user_id)
// ->get()
// ->row();
// $query = $this->db->select('user_subscriber_event_preference.subscriber_id, user_subscriber_event_preference.event_preference_id, event_type.event_type')
// ->from('user_subscriber_event_preference')
// ->join('event_type', 'user_subscriber_event_preference.event_preference = event_type.event_type_id')
// ->where('subscriber_id', $user->subscriber_id)
// ->get();
// $rows = $query->result();
// $number_of_preferences = $query->num_rows();
// if(empty($info[0]) && $number_of_preferences == 0) return array('status' => false, 'data' => array());
// if($number_of_preferences != count($info)) { // check if preferences on db is same as current display
// $preferences = array();
// foreach ($rows as $row) {
// array_push($preferences, $row->event_type);
// }
// return array('status' => true, 'data' => implode(", ", $preferences));
// } else {
// $pref_count = 0;
// foreach ($rows as $row){
// $pref_count++;
// if(!in_array($row->event_type, $info)) {
// $preferences = array();
// foreach ($rows as $row2) {
// array_push($preferences, $row2->event_type);
// }
// return array('status' => true, 'data' => implode(", ", $preferences));
// }
// if($pref_count == $number_of_preferences) return array('status' => false, 'data' => array());
// }
// }
// }
}