filepictures = array("", "images/word.png", "images/excel.png", "images/pdf.png", "images/other.png", "images/text.png"); } function get($where = FALSE, $fieldname = FALSE, $row = FALSE) { if( $fieldname ) $row = TRUE; if ( ! is_array( $where ) && $where ) { $this->db->where( array('T1.id' => $where) ); $row = TRUE; } elseif ( $where ) { $this->db->where( $where ); } if ( $fieldname ) $this->db->select( $fieldname ); $query = $this->db->get( $this->tablename . ' AS T1' ); if ( $query->num_rows() == 0 ) return FALSE; if ( $row ) { $row = $query->row(); if ( $fieldname ) { return $row->$fieldname; } else { return $row; } } else { return $query->result(); } } function get_record_by_id($id, $fieldname = FALSE, $row = TRUE) { $query = $this->db->get_where( $this->tablename, array('id' => $id) ); if ( $query->num_rows() == 0 ) { return FALSE; } elseif ( $row ) { $row = $query->row(); if ( $fieldname ) { return $row->$fieldname; } else { return $row; } } else { return $query->result(); } } function get_fieldvalue($where, $fieldname) { $query = $this->db->get_where( $this->tablename, $where ); if ( $query->num_rows() == 0 ) { return FALSE; } else { $row = $query->row(); return $row->$fieldname; } } function get_records_where($where = FALSE, $row = FALSE, $order = FALSE, $sort = 'asc') { if ( $order ) $this->db->order_by( $order, $sort ); if ( $where ) $this->db->where( $where ); $query = $this->db->get( $this->tablename ); if ( $query->num_rows() == 0 ) { return FALSE; } else { if ( $row ) { return $query->row(); } else { return $query->result(); } } } function check_for_record($where = FALSE) { if ( $where ) $this->db->where( $where ); $query = $this->db->get( $this->tablename, $where ); if ( $query->num_rows() == 0 ) { return FALSE; } else { return TRUE; } } function get_query_result() { $query = $this->db->query( $this->sql ); if ( $query->num_rows() == 0 ) { return FALSE; } else { return $query->result(); } } function get_query_row($fieldname = FALSE) { $query = $this->db->query( $this->sql ); if ( $query->num_rows() == 0 ) { return FALSE; } else { if ( $fieldname ) { $row = $query->row(); return $row->$fieldname; } else { return $query->row(); } } } function check_query_record() { $query = $this->db->query( $this->sql ); if ( $query->num_rows() == 0 ) { return FALSE; } else { return TRUE; } } function get_query($where = FALSE, $row = FALSE) { if ( $where ) $this->db->where( $where ); $query = $this->db->get( $this->tablename ); if ( $query->num_rows() == 0 ) { return FALSE; } elseif ( $row ) { return $query->row(); } else { return $query->result(); } } function get_minmax_field($where, $field, $max) { if ( $max ) { $this->db->select_max( $field, 'minimaxi' ); } else { $this->db->select_min( $field, 'minimaxi' ); } if ( $where ) { $query = $this->db->get_where( $this->tablename, $where ); } else { $query = $this->db->get( $this->tablename ); } $row = $query->row(); if ( is_null( $row->minimaxi ) ) { return FALSE; } else { return $row->minimaxi; } } function get_result_count($where = FALSE) { if ( $where ) $this->db->where( $where ); $this->db->from( $this->tablename . ' AS T1' ); return $this->db->count_all_results(); } function get_query_count() { $query = $this->db->query( $this->sql ); return $query->num_rows(); } function insert_record($data) { $data['creation_date'] = date( 'Y-m-d G:i:s' ); $data['created_by'] = ''; $data['last_update_date'] = date( 'Y-m-d G:i:s' ); $data['last_updated_by'] = ''; $this->db->insert( $this->tablename, $data ); $newID = $this->db->insert_id(); $this->createActivity( $newID, 'INSERT' ); return $newID; } /** * Called from CLI. no activity recorded here * @param array $data * @return integer The inserted id */ function insert_record_cli($data) { $data['creation_date'] = date( 'Y-m-d G:i:s' ); $data['created_by'] = 'SYNCER'; $data['last_update_date'] = date( 'Y-m-d G:i:s' ); $data['last_updated_by'] = 'SYNCER'; $this->db->insert( $this->tablename, $data ); $newID = $this->db->insert_id(); return $newID; } function update_record($data, $id) { $data['last_update_date'] = date( 'Y-m-d G:i:s' ); $data['last_updated_by'] = ''; $this->db->update( $this->tablename, $data, 'id = ' . $id ); } function update_record_where($data, $where) { $records = $this->get($where); if( ! $records ) return; foreach( $records as $record) { $this->update_record($data, $record->id); } // $data['last_update_date'] = date( 'Y-m-d G:i:s' ); // $data['last_updated_by'] = $this->username; // // $this->db->update( $this->tablename, $data, $where ); } /** * Used when script is called from CLI, so no user * No logging to activitylog here * @param array $data * @param integer $id */ function update_record_cli($data, $id) { $data['last_update_date'] = date( 'Y-m-d G:i:s' ); $data['last_updated_by'] = 'SYNCER'; $this->db->update( $this->tablename, $data, 'id = ' . $id ); } /** * save_record insert or update a record * * @param array $data cpntains the data that needs to be inserted or udated * @param int $id id of the update record, if FALSE the record is being inserted * * @return int if an insert returns the newly created id of the record, else returns the id of the updated record */ function save($data, $id) { if ( ! $id ) { $id = $this->insert_record( $data ); } else { $this->update_record( $data, $id ); } return $id; } function delete_record($id) { $this->createActivity( $id, 'DELETE' ); $this->db->delete( $this->tablename, array('id' => $id) ); } function delete_record_where($where) { $records = $this->get($where); if( ! $records ) return; foreach( $records as $record) { $this->delete_record($record->id); } //$this->db->delete( $this->tablename, $where ); } function sanitise_postinput($post, $notinclude) { foreach ( $post as $key => $value ) { if ( ! in_array( $key, $notinclude ) ) $data[] = array($key => $value); } } function createActivity($id, $activityType) { return; if( ! isset( $this->logActivity ) || ! $this->logActivity ) return; $oldData = $this->get( $id ); if ( $oldData ) $oldData = serialize( $oldData ); $data = array( 'table' => $this->tablename, 'table_id' => $id, 'username' => '', 'olddata' => $oldData, 'activitytype' => $activityType, 'activitytime' => date( 'Y-m-d H:i:s' ), 'activityip' => $this->input->ip_address() ); $this->db->insert( 'activitylogs', $data ); } function clean_input($post){ return str_replace('null', '', $this->db->escape_str($this->input->post($post) ?? '', TRUE)); } }