Overview

Packages

  • controller
  • models
  • None

Classes

  • Ajax
  • Article
  • Cache
  • Employee
  • Firefly
  • gmreader
  • gmsite
  • Home
  • Link
  • Merchant
  • Model_article
  • Model_cache
  • Model_employee
  • Model_firefly
  • Model_gmreader
  • Model_gmsite
  • Model_link
  • Model_merchant
  • Model_reference
  • Model_user
  • Reference
  • Setting
  • User

Functions

  • check_permission
  • data_status
  • data_status_select
  • dump_html_tree
  • employee_select
  • file_get_html
  • generate_page
  • gerenate_pager_from_table
  • get_desc_asc
  • get_url_support
  • is_admin
  • is_loggedin
  • link_extractor
  • merchant_status
  • reference_reverter
  • role_select
  • siteinfo
  • str_get_html
  • yes_no
  • yesno_select
  • Overview
  • Package
  • Class
  1: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2: class Model_reference extends CI_Model{
  3:     public function browse(){
  4:         $cache_name = '_references_term_'.$this->input->get('term').'_alpha_'.$this->input->get('alpha').'_sort_'.$this->input->get('sort').'_page_'.$this->input->get('page');
  5:         if ( ! $data = $this->cache->file->get($cache_name)) {
  6:             $this->db->from('xenon_reference')->select('refe_id, refe_title, refe_modified, link_status');
  7:             $this->db->join('(SELECT DISTINCT data_id, link_status FROM xenon_link WHERE link_type = \'r\') as xenon_link', 'data_id = refe_id', 'left');
  8: 
  9:             if ($this->input->get('term') != '') {
 10:                 $this->db->like('refe_title', $this->input->get('term'));
 11:             }
 12:             if ($this->input->get('alpha') != '') {
 13:                 $this->db->where("refe_title like '" . $this->input->get('alpha') . "%'", '', FALSE);
 14:             }
 15:             if ($this->input->get('sort') != '') {
 16:                 $this->db->order_by($this->input->get('sort'));
 17:             } else {
 18:                 $this->db->order_by('refe_title');
 19:             }
 20:             if ($this->input->get('page') != '') {
 21:                 $page = $this->input->get('page');
 22:                 $start = ($page * 50) - 50;
 23:                 $end = ($page * 50);
 24:                 $this->db->limit($start, $end);
 25:             } else {
 26:                 $this->db->limit(50);
 27:             }
 28: 
 29:             $data = $this->db->get()->result();
 30:             $this->cache->file->save($cache_name, $data, 2592000);
 31:         }
 32:         return $data;
 33:     }
 34: 
 35:     public function render($reference){
 36:         return '
 37:             <tr>
 38:                 <td>'.$reference->refe_title.'</td>
 39:                 <td>'.date('F d,Y',$reference->refe_modified).'</td>
 40:                 <td><a href="'.site_url('reference/edit/'.urlencode(base64_encode($reference->refe_id))).'">Edit</a> | <a href="?action=delete&id='.urlencode(base64_encode($reference->refe_id)).'">Delete</a> | <a href="?action='.($reference->link_status == 'y' ?'disable':'enable').'&id='.urlencode(base64_encode($reference->refe_id)).'">'.($reference->link_status == 'y' ?'Disable Link':'Enable Link').'</a></td>
 41:             </tr>
 42:         ';
 43:             
 44:     }
 45:     public function render_pop($reference){
 46:         $url = '<a class="article_link" href="/reference/'.urlencode(base64_encode($reference->refe_id)).'">reference</a>';
 47:         $url = urlencode(base64_encode($url));
 48:         $url1= urlencode($reference->refe_title);
 49:         $url2= urlencode($reference->refe_id);
 50:         return '
 51:             <tr>
 52:                 <td>'.$reference->refe_title.'</td>
 53:                 <td align="center"><a href="?selected='.$url.'&title='.$url1.'&id='.$url2.'">Select</a>
 54:             </tr>
 55:         ';
 56:     }
 57:     public function error(){
 58:         return '
 59:             <tr>
 60:                 <td colspan="3">No artciles found</td>
 61:             </tr>
 62:         ';
 63:     }
 64:     public function pick($enc_id){
 65:         return $this->db->from('xenon_reference')->where('refe_id',base64_decode(urldecode($enc_id)))->get()->row();
 66:     }
 67:     public function pick_link($enc_id){
 68:         $data_id = $this->db->select('data_id')->from('xenon_link')->where('link_id',base64_decode(urldecode($enc_id)))->get()->row()->data_id;
 69:         return $this->pick(urlencode(base64_encode($data_id)));
 70:     }
 71:     public function articles($enc_id){
 72:         return $this->db->query('select d.data_id, d.data_title, dl.status, l.link_status,l.link_id,dl.link_id as lid, dl.data_id as did from xenon_data_links dl inner join xenon_link l on dl.link_id = l.link_id inner join xenon_data d on d.data_id = dl.data_id where l.data_id = '.base64_decode(urldecode($enc_id)));
 73:     }
 74:     public function article_reference_add($id,$rid,$rowed){
 75:         $link = $this->db->from('xenon_link')->where('data_id',$rid)->where('link_type','r')->get();
 76:         $refe = $this->db->from('xenon_reference')->where('refe_id',$rid)->get();
 77:             
 78:         if($link->num_rows() > 0){
 79:             $refe_link = $this->db->from('xenon_data_links')->where('data_id',$id)->where('link_id',$link->row()->link_id)->get();
 80:             if($refe_link->num_rows() <= 0){
 81:                 $data['data_id'] = $id;
 82:                 $data['link_id'] = $link->row()->link_id;
 83:                 $this->db->insert('xenon_data_links',$data);
 84:             }
 85:             return array('<li>'.$refe->row()->refe_title.'<a href="?dellink='.urlencode(base64_encode($link->row()->link_id)).'"><div class="delref"></div></a></li>','<a href="'.urlencode(base64_encode($link->row()->link_id)).'" class="blueref">references</a>');
 86:         }else{
 87:             $data['link_class'] = 'blueref';
 88:             $data['data_id'] =  $rid;
 89:             $data['link_text'] = 'references';
 90:             $data['link_href'] = $refe->row()->refe_link;
 91:             $data['link_type'] = 'r';
 92:             $this->db->insert('xenon_link',$data);
 93:             $iddd = $this->db->insert_id();
 94:             $data['data_id'] = $id;
 95:             $data['link_id'] = $iddd;
 96:             $this->db->insert('xenon_data_links',$data);
 97:             return array('<li>'.$refe->row()->refe_title.'<a href="?dellink='.urlencode(base64_encode($iddd)).'"><div class="delref"></div></a></li>','<a href="'.urlencode(base64_encode($iddd)).'" class="blueref">references</a>');
 98:         }
 99:     }
100:     
101:     public function article_reference_add_with_term($id,$rterm){
102:         $row_id = $this->db->from('xenon_reference')->where('refe_link',$rterm)->get();
103:         if($row_id->num_rows() > 0){
104:             $row_id = $row_id->row();
105:             $row = $this->db->from('xenon_reference_data')->where('data_id',$id)->where('refe_id',$row_id->refe_id)->get();
106:             $rowL= $this->db->from('xenon_reference_data')->where('data_id',$id)->get();
107:             if($row->num_rows() > 0){
108:                 return $row->row()->row_num;
109:             }else{
110:                 $data['refe_id'] = $row_id->refe_id;
111:                 $data['data_id'] = $id;
112:                 $data['row_num'] = $rowL->num_rows() + 1;
113:                 $this->db->insert('xenon_reference_data',$data);
114:                 return $data['row_num'];
115:             }
116:         }else{
117:             echo $rterm;
118:         }
119:     }
120:     
121:     public function update($id){
122:         if($this->input->post('action')=='update_reference'){
123:             $id = base64_decode(urldecode($id));
124:             $data['refe_title'] = $this->input->post('dtitle');
125:             $data['refe_body'] = $this->input->post('content');
126:             $data['refe_modified'] = time();
127:             $this->db->where('refe_id',$id);
128:             $this->db->update('xenon_reference',$data);
129:             /*$data_ed['data_status'] = $this->input->post('status');
130:             //$this->db->where('empl_id',$this->session->userdata('empl_id'));
131:             $this->db->where('data_id',$id);
132:             $this->db->update('xenn_empolyee_data',$data_ed);*/
133:             return array('success'=>'Reference has been updated Successfully');
134:         }
135:     }
136: 
137:     public function article($enc_id){
138:         //select distinct * from xenon_reference_data inner join xenon_reference on xenon_reference_data.refe_id = xenon_reference.refe_id where data_id = 3053
139:         //select distinct * from xenon_reference_data inner join xenon_data on xenon_reference_data.data_id = xenon_data.data_id where refe_id = 6431
140:         return $this->db->distinct()->select('xenon_data.data_id, data_title')->from('xenon_reference_data')->join('xenon_data','xenon_reference_data.data_id = xenon_data.data_id')->where('refe_id',base64_decode(urldecode($enc_id)))->get()->result();
141:     }
142: 
143:     public function delete(){
144:         if($this->input->get('action') == 'delete'){
145:             $this->db->query('delete from xenon_reference where refe_id = '.base64_decode(urldecode($this->input->get('id'))));
146:             $this->db->query('delete from xenon_reference_data where refe_id = '.base64_decode(urldecode($this->input->get('id'))));
147:         }
148:         if($this->input->get('action') == 'disable'){
149:             $data['link_status'] = 'n';
150:             $this->db->where('data_id',base64_decode(urldecode($this->input->get('id'))));
151:             $this->db->update('xenon_link',$data);
152:             
153:             $links = $this->db->select('link_id')->from('xenon_link')->where('data_id',base64_decode(urldecode($this->input->get('id'))))->get();
154:             if($links->num_rows() > 0){
155:                 $links_list = array();
156:                 foreach($links->result() as $l){
157:                     $links_list[] = $l->link_id;
158:                 }
159:                 $datas = $this->db->select('data_id')->from('xenon_data_links')->where_in('link_id',$links_list)->get();
160:                 if($datas->num_rows() > 0){
161:                     $datas_list = array();
162:                     foreach($datas->result() as $l){
163:                         $datas_list[] = $l->data_id;
164:                     }
165:                     $dataz['data_body_cache'] = '';
166:                     $this->db->where_in('data_id',$datas_list);
167:                     $this->db->update('xenon_data',$dataz);
168:                 }
169:             }
170:         }
171:     }
172: 
173:     public function add(){
174:         if($this->input->post('action') == 'add_reference'){
175:             if($this->input->post('dtitle') != '' && $this->input->post('content')!=''){
176:                 $data['refe_title'] = $this->input->post('dtitle');
177:                 $data['refe_body'] = $this->input->post('content');
178:                 $data['refe_created'] = time();
179:                 $data['refe_createdby'] = $this->session->userdata('user_id');
180:                 $this->db->insert('xenon_reference',$data);
181:                 $id = $this->db->insert_id();
182:                 $data_link['link_text'] = 'references';
183:                 $data_link['link_href'] = urlencode(base64_encode($id));
184:                 $data_link['link_class'] = 'blueref';
185:                 $data_link['link_type'] = 'r';
186:                 $data_link['link_status'] = 'y';
187:                 $data_link['data_id'] = $id;
188:                 $this->db->insert('xenon_link',$data_link);
189:                 redirect('reference/edit/'.urlencode(base64_encode($id)));
190:             }
191:         }
192:     }
193: }?>
API documentation generated by ApiGen