| 
									
										
										
										
											2023-08-18 20:49:12 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-18 22:42:04 +08:00
										 |  |  | class User_options_model extends CI_Model { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-18 20:49:12 +08:00
										 |  |  | 	public function options($option_type) { | 
					
						
							|  |  |  | 		$this->db->where('user_id', $this->session->userdata('user_id')); | 
					
						
							|  |  |  | 		$this->db->where('option_type', $option_type); | 
					
						
							|  |  |  | 		return $this->db->get('user_options'); | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-18 21:30:04 +08:00
										 |  |  | 	public function set_option($option_type, $option_name, $option_array) { | 
					
						
							| 
									
										
										
										
											2023-08-18 20:49:12 +08:00
										 |  |  | 		$uid=$this->session->userdata('user_id'); | 
					
						
							| 
									
										
										
										
											2023-08-18 21:30:04 +08:00
										 |  |  | 		$sql='insert into user_options (user_id,option_type,option_name,option_key,option_value) values (?,?,?,?,?) ON DUPLICATE KEY UPDATE option_value=?'; | 
					
						
							| 
									
										
										
										
											2023-08-18 21:16:01 +08:00
										 |  |  | 		foreach($option_array as $option_key => $option_value) {  | 
					
						
							| 
									
										
										
										
											2023-08-18 22:42:04 +08:00
										 |  |  | 			$query = $this->db->query($sql, array($uid, $option_type, $option_name, $option_key, $option_value, $option_value)); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-05 06:02:53 +08:00
										 |  |  | 	public function set_option_at_all_users($option_type, $option_name, $option_array) { | 
					
						
							|  |  |  | 		$query = $this->db->select('user_id')->get('users'); | 
					
						
							|  |  |  | 		if ($query->num_rows() > 0) { | 
					
						
							|  |  |  | 			foreach ($query->result() as $row) { | 
					
						
							|  |  |  | 				$user_id = $row->user_id; | 
					
						
							|  |  |  | 				$sql = 'INSERT INTO user_options (user_id, option_type, option_name, option_key, option_value) VALUES (?, ?, ?, ?, ?) | 
					
						
							|  |  |  | 						ON DUPLICATE KEY UPDATE option_value = ?'; | 
					
						
							|  |  |  | 				foreach ($option_array as $option_key => $option_value) { | 
					
						
							|  |  |  | 					$this->db->query($sql, array($user_id, $option_type, $option_name, $option_key, $option_value, $option_value)); | 
					
						
							|  |  |  | 					return true; | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} else { | 
					
						
							|  |  |  | 			log_message('error','set_option_at_all_users() failed because users table is empty'); | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	}	 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-29 21:17:58 +08:00
										 |  |  | 	public function get_options($option_type, $option_array=null) { | 
					
						
							| 
									
										
										
										
											2023-08-18 22:42:04 +08:00
										 |  |  | 		$uid=$this->session->userdata('user_id'); | 
					
						
							| 
									
										
										
										
											2023-11-29 21:17:58 +08:00
										 |  |  | 		$sql_more = ""; | 
					
						
							|  |  |  | 		$array_sql_value = array($uid, $option_type); | 
					
						
							|  |  |  | 		if (is_array($option_array)) { | 
					
						
							|  |  |  | 			foreach ($option_array as $key => $value) { | 
					
						
							|  |  |  | 				$sql_more .= ' and '.$key.'=?'; | 
					
						
							|  |  |  | 				$array_sql_value[] = $value; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		$sql='select option_name,option_key,option_value from user_options where user_id=? and option_type=?'.$sql_more; | 
					
						
							|  |  |  | 		return $this->db->query($sql, $array_sql_value); | 
					
						
							| 
									
										
										
										
											2023-08-18 20:49:12 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-11-29 21:17:58 +08:00
										 |  |  | 	public function del_option($option_type, $option_name, $option_array=null) { | 
					
						
							| 
									
										
										
										
											2023-08-18 22:58:27 +08:00
										 |  |  | 		$uid=$this->session->userdata('user_id'); | 
					
						
							| 
									
										
										
										
											2023-11-29 21:17:58 +08:00
										 |  |  | 		$sql_more = ""; | 
					
						
							|  |  |  | 		$array_sql_value = array($uid, $option_type, $option_name); | 
					
						
							|  |  |  | 		if (is_array($option_array)) { | 
					
						
							|  |  |  | 			foreach ($option_array as $key => $value) { | 
					
						
							|  |  |  | 				$sql_more .= ' and '.$key.'=?'; | 
					
						
							|  |  |  | 				$array_sql_value[] = $value; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		}		 | 
					
						
							|  |  |  | 		$sql='delete from user_options where user_id=? and option_type=? and option_name=?'.$sql_more; | 
					
						
							|  |  |  | 		return $this->db->query($sql, $array_sql_value); | 
					
						
							| 
									
										
										
										
											2023-08-18 22:58:27 +08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-18 20:49:12 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 |