0
I’m having a little trouble. If someone can help me, when I put my information and click 'Submit', gives the following error in my application:
PHP Error was encountered
Severity: Error
Message: Call to Undefined method Auth::get_userid()
Filename: controllers/Pages.php
Line Number: 95
And the code for 'Pages.php' is:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Pages extends MX_Controller {
function __construct()
{
$this->auth->check_permission();
$this->form_validation->set_error_delimiters('<p><span class="label label-danger">', '</span></p>');
}
public function index()
{
$this->load->model('post');
$this->load->library('table');
$layout_vars = array();
$content_vars = array();
// Template da tabela
$this->table->set_template(array('table_open' => '<table id="grid" class="table table-striped">'));
$this->table->set_heading('#', 'Título', 'Data', 'Status', 'Ações');
$query = $this->post->get_by_field('page','1');
foreach($query->result() as $row)
{
$this->table->add_row(
$row->id,
$row->title,
mdate('%d/%m/%Y', strtotime($row->created)),
status_post($row->status),
// Ícones de ações
div(array('class'=>'btn-group btn-group-xs')).
anchor('admin/pages/edit/'.$row->id, glyphicon('edit'), array('class' => 'btn btn-default')).
'<button class="btn btn-default" onClick="return confirmar(\''.site_url('admin/pages/delete/' . $row->id).'\');">'.glyphicon('trash').'</button>' .
div(null,true)
);
}
$content_vars['listagem'] = $this->table->generate();
$this->wpanel->load_view('pages/index', $content_vars);
}
public function add()
{
$layout_vars = array();
$content_vars = array();
$this->form_validation->set_rules('title', 'Título', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->wpanel->load_view('pages/add', $content_vars);
} else {
$this->load->model('post');
$dados_save = array();
$dados_save['user_id'] = $this->auth->get_userid();
$dados_save['title'] = $this->input->post('title');
$dados_save['description'] = $this->input->post('description');
$dados_save['link'] = strtolower(url_title(convert_accented_characters($this->input->post('title')))).'-'.time();
$dados_save['content'] = $this->input->post('content');
$dados_save['tags'] = $this->input->post('tags');
$dados_save['status'] = $this->input->post('status');
$dados_save['created'] = date('Y-m-d H:i:s');
$dados_save['updated'] = date('Y-m-d H:i:s');
$dados_save['image'] = $this->post->upload_media('capas');
// Identifica se é uma página ou uma postagem
// 0=post, 1=Página
$dados_save['page'] = '1';
$new_post = $this->post->save($dados_save);
if($new_post)
{
// Salva o relacionamento das categorias
$this->load->model('post_categoria');
foreach($this->input->post('category_id') as $cat_id){
$cat_save = array();
$cat_save['post_id'] = $new_post;
$cat_save['category_id'] = $cat_id;
$this->post_categoria->save($cat_save);
}
$this->session->set_flashdata('msg_sistema', 'Página salva com sucesso.');
redirect('admin/pages');
} else {
$this->session->set_flashdata('msg_sistema', 'Erro ao salvar a página.');
redirect('admin/pages');
}
}
}
public function edit($id = null)
{
$layout_vars = array();
$content_vars = array();
$this->form_validation->set_rules('title', 'Título', 'required');
if ($this->form_validation->run() == FALSE)
{
if($id == null){
$this->session->set_flashdata('msg_sistema', 'Página inexistente.');
redirect('admin/pages');
}
$this->load->model('post');
$content_vars['id'] = $id;
$content_vars['row'] = $this->post->get_by_id($id)->row();
$this->wpanel->load_view('pages/edit', $content_vars);
} else {
$this->load->model('post');
$dados_save = array();
$dados_save['title'] = $this->input->post('title');
$dados_save['description'] = $this->input->post('description');
$dados_save['link'] = strtolower(url_title(convert_accented_characters($this->input->post('title'))));
$dados_save['content'] = $this->input->post('content');
$dados_save['tags'] = $this->input->post('tags');
$dados_save['status'] = $this->input->post('status');
$dados_save['updated'] = date('Y-m-d H:i:s');
// Identifica se é uma página ou uma postagem
// 0=post, 1=Página
$dados_save['page'] = '1';
if($this->input->post('alterar_imagem')=='1')
{
$postagem = $this->post->get_by_id($id)->row();
$this->post->remove_media('capas/' . $postagem->image);
$dados_save['image'] = $this->post->upload_media('capas');
}
$upd_post = $this->post->update($id, $dados_save);
if($upd_post)
{
// Salva o relacionamento das categorias.
$this->load->model('post_categoria');
// Apaga os relacionamentos anteriores.
$this->post_categoria->delete_by_post($id);
// Cadastra as alterações.
foreach($this->input->post('category_id') as $cat_id){
$cat_save = array();
$cat_save['post_id'] = $id;
$cat_save['category_id'] = $cat_id;
$this->post_categoria->save($cat_save);
}
$this->session->set_flashdata('msg_sistema', 'Página salva com sucesso.');
redirect('admin/pages');
} else {
$this->session->set_flashdata('msg_sistema', 'Erro ao salvar a página.');
redirect('admin/pages');
}
}
}
public function delete($id = null)
{
if($id == null){
$this->session->set_flashdata('msg_sistema', 'Página inexistente.');
redirect('admin/pages');
}
$this->load->model('post');
$postagem = $this->post->get_by_id($id)->row();
$this->post->remove_media('capas/' . $postagem->image);
if($this->post->delete($id)){
$this->session->set_flashdata('msg_sistema', 'Página excluída com sucesso.');
redirect('admin/pages');
} else {
$this->session->set_flashdata('msg_sistema', 'Erro ao excluir a página.');
redirect('admin/pages');
}
}
}
This seems simple: the controller is not finding the method
get_userid()
. What is$this->auth->get_userid();
? A model? A helper? A controller? Apparently you did not load this method in the instance you are running.– ShutUpMagda
Which Auth library is being used?
– Otto