/** * Class constructor * * @param object &$driver_object * @return void */ public function __construct(&$driver_object) { parent::__construct($driver_object); // Required, due to mysql_data_seek() causing nightmares // with empty result sets $this->num_rows = mysql_num_rows($this->result_id); }
/** * Untuk menghasilkan data excel * * @access public * @return Excel_generator */ public function generate() { $start = $this->start; if (count($this->header) > 0) { $abj = 1; foreach ($this->header as $row) { $this->getActiveSheet()->setCellValue($this->columnName($abj) . $this->start, $row); if ($this->header_bold) { $this->getActiveSheet()->getStyle($this->columnName($abj) . $this->start)->getFont()->setBold(TRUE); } $abj++; } $start = $this->start + 1; } foreach ($this->query->result_array() as $result_db) { $index = 1; foreach ($this->column as $row) { if (count($this->width) > 0) { $this->getActiveSheet()->getColumnDimension($this->columnName($index))->setWidth($this->width[$index - 1]); } $this->getActiveSheet()->setCellValue($this->columnName($index) . $start, $result_db[$row]); $index++; } $start++; } return $this; }
/** * Number of rows in the result set * * @return int */ public function num_rows() { // sqlsrv_num_rows() doesn't work with the FORWARD and DYNAMIC cursors (FALSE is the same as FORWARD) if (!in_array($this->scrollable, [FALSE, SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_DYNAMIC], TRUE)) { return parent::num_rows(); } return is_int($this->num_rows) ? $this->num_rows : ($this->num_rows = sqlsrv_num_rows($this->result_id)); }
public function __construct(&$driver_object) { parent::__construct($driver_object); $this->stmt_id = $driver_object->stmt_id; $this->curs_id = $driver_object->curs_id; $this->limit_used = $driver_object->limit_used; $driver_object->stmt_id = FALSE; }
/** * Class constructor. * * @param object &$driver_object * * @return void */ public function __construct(&$driver_object) { parent::__construct($driver_object); $this->stmt_id = $driver_object->stmt_id; $this->curs_id = $driver_object->curs_id; $this->limit_used = $driver_object->limit_used; $this->commit_mode =& $driver_object->commit_mode; $driver_object->stmt_id = false; }
/** * Process Query * * Converts a query result into an array of objects. * Also updates this object * * @ignore * @param CI_DB_result $query */ protected function _process_query($query) { if ($query->num_rows() > 0) { // Populate all with records as objects $this->all = array(); $this->_to_object($this, $query->row()); // don't bother recreating the first item. $index = $this->all_array_uses_ids && isset($this->id) ? $this->id : 0; $this->all[$index] = $this->get_clone(); if ($query->num_rows() > 1) { $model = get_class($this); $first = TRUE; foreach ($query->result() as $row) { if ($first) { $first = FALSE; continue; } $item = new $model(); $this->_to_object($item, $row); if ($this->all_array_uses_ids && isset($item->id)) { $this->all[$item->id] = $item; } else { $this->all[] = $item; } } } // remove instantiations $this->_instantiations = NULL; // free large queries if ($query->num_rows() > $this->free_result_threshold) { $query->free_result(); } } else { // Refresh stored values is called by _to_object normally $this->_refresh_stored_values(); } }
/** * Authenticate * * @access private */ private function _authenticate(CI_DB_result $member, $password) { $always_disallowed = array(4); if ($member->num_rows() !== 1) { return FALSE; } if (in_array($member->row('group_id'), $always_disallowed)) { return ee()->output->show_user_error('general', lang('mbr_account_not_active')); } $m_salt = $member->row('salt'); $m_pass = $member->row('password'); // hash using the algo used for this password $h_byte_size = strlen($m_pass); $hashed_pair = $this->hash_password($password, $m_salt, $h_byte_size); if ($hashed_pair === FALSE or $m_pass !== $hashed_pair['password']) { return FALSE; } // Officially a valid user, but are they as secure as possible? // ---------------------------------------------------------------- reset($this->hash_algos); // Not hashed or better algo available? if (!$m_salt or $h_byte_size != key($this->hash_algos)) { $m_id = $member->row('member_id'); $this->update_password($m_id, $password); } $authed = new Auth_result($member->row()); $member->free_result(); return $authed; }
/** * Generate XML data from a query result object * * @param object $query Query result object * @param array $params Any preferences * @return string */ public function xml_from_result(CI_DB_result $query, $params = array()) { // Set our default values foreach (array('root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t") as $key => $val) { if (!isset($params[$key])) { $params[$key] = $val; } } // Create variables for convenience extract($params); // Load the xml helper get_instance()->load->helper('xml'); // Generate the result $xml = '<' . $root . '>' . $newline; while ($row = $query->unbuffered_row()) { $xml .= $tab . '<' . $element . '>' . $newline; foreach ($row as $key => $val) { $xml .= $tab . $tab . '<' . $key . '>' . xml_convert($val) . '</' . $key . '>' . $newline; } $xml .= $tab . '</' . $element . '>' . $newline; } return $xml . '</' . $root . '>' . $newline; }
public function authenticate(CI_DB_result $query) { $data = $query->row(); $this->core->session->set_userdata(array('id' => $data->id, 'logged_in' => TRUE)); }