Ir para conteúdo
  • Cadastre-se

gerando recovery key 1x só [MODERN AAC] Gerando 1 Recovery Key


Posts Recomendados

  • Sub-Admin

è o seguinte pessoal, eu estava procurando a solução para que meu site gera se apenas 1 recovery key pois quando clicava Gerar Recovery simplesmente ele gerava sem limite, então resolvi eu mesmo fazer uma edições e meu resultado foi bom e agora vou ensinar vocês como fazer isso.

 

Primeiramente vamos para a pasta htdocs do seu site vai em C:\xampp\htdocs\system\application\controllers em account *lembrando apaga tudo que tem dentro e adc.

<?php
/*
+I.D.E ENGINE+
Controller of Account for Modern AAC - Powered by IDE Engine.
A lot of new functionality and variables can be hard-coded here.
If you do NOT understand the code, do NOT change anything in here.
*/

class Account extends Controller {

  /* Main index of Account controllers, also work as a __construct(); It is called by engine as a default. */
  function index($action = 0) {
   if($action == 1) success("Seu novo personagem DBR foi criado com sucesso!");
   if($action == 2) success("Seu apelido foi Trocado com Sucesso");
   if($action == 3) success("Você Exedel a quantidade máxima de 5 PERSONAGEM por conta.");
   if($action == 4) success("Seu perfil foi atualizado.");
   if($action == 5) success("Seu avatar foi atualizado!");
   $this->load->model("Account_model");
   if(empty($_SESSION['account_id'])) $_SESSION['account_id'] = $this->Account_model->getAccountID();
   $ide = new IDE;
   $ide->requireLogin();
   if(empty($_SESSION['nickname'])) $ide->redirect(WEBSITE."/index.php/account/setNickname");
   $data = array();
   $data['loggedUser'] = $_SESSION['name'];
   $data['characters'] = $this->Account_model->getCharacters();
   $data['messages'] = $this->Account_model->checkMessages();
   $ots = POT::getInstance();
   $ots->connect(POT::DB_MYSQL, connection());
   $account = $ots->createObject('Account');
   try { $account->find($_SESSION['name']); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta contate o Administrador do Pokemon DBR. Err code: 220212072010 mais detalhes: '.$e->getMessage());}
   $data['account'] = $account;
   $data['acc'] = $this->Account_model->load($_SESSION['account_id']);
   $recovery_key = $this->Account_model->getRecoveryKey($_SESSION['name']);
   if($recovery_key === "") alert("Você ainda não gerou a Recovery Key<a href='".WEBSITE."/index.php/account/generate_recovery_key'><b> <font color='blue'>Gerar.</font></b></a>");
   $this->load->view('account', $data);
  }
 
  /*
  Function to check if account with this name already exists, it is used by create controller as a callaback in form validation.
  It should be made as an abstract class of database in Model, but I don't think there is point of it.
  */
  function _account_exists($name) {
   $ots = POT::getInstance();
   $ots->connect(POT::DB_MYSQL, connection());
   $account = new OTS_Account();
   try { $account->find($name); } catch(Exception $e) {show_error('Houve um problema durante o carregamento da conta. Err code: 220212072010 mais detalhes: '.$e->getMessage());}
   if($account->isLoaded()) { $this->form_validation->set_message('_account_exists', 'Conta com este nome já existe.');return false;} else return true;
  }
 
  function _checkCaptcha($word) {
   if(strtolower($word) == strtolower($_SESSION['captcha']) && !empty($_SESSION['captcha'])) {
    return true;
   }
   else {
    $this->form_validation->set_message('_checkCaptcha', 'Captcha word está incorreta.');
    return false;
   }
  }
 
  function _nicknameExists($name) {
   $this->load->model("account_model");
   if($this->account_model->nicknameExists($name)) {
    $this->form_validation->set_message('_nicknameExists', 'Esse apelido já existe!.');
    return false;
   }
   else
    return true;
  }
  function _emailExists($email) {
   $this->load->model("account_model");
   if($this->account_model->emailExists($email)) {
    $this->form_validation->set_message('_emailExists', 'Este e-mail já está sendo usado por outra conta já existente!');
    return false;
   }
   else
    return true;
  }
 
  function _characterExists($name) {
   $this->load->model("character_model");
   if($this->character_model->characterExists($name)) {
    $this->form_validation->set_message('_characterExists', 'Este nome do personagem já existe, por favor escolha outro!');
    return false;
   }
   else
    return true;
  }
 
  function _checkDelay() {
   global $config;
   if(!isset($_SESSION['accountDelay'])) $_SESSION['accountDelay'] = 0;
   if($config['accountDelay']) {
    if(@(time()-$_SESSION['accountDelay']) > 240) {
     return true;
    }
    else {
     $this->form_validation->set_message('_checkDelay', 'Você não pode criar outra conta apenas após o outro. Por favor, aguarde alguns minutos.');
     return false;
    }
   }
   else
    return true;
  }
 
function _checkCity($id) {
  $this->config->load('create_character.php');
  if(!array_key_exists($id, $this->config->item('cities'))) {
   $this->form_validation->set_message('_checkCity', 'Cidade desconhecido');
   return false;
  }
  else
   return true;
}

function _checkWorld($id) {
  $this->config->load('create_character.php');
  if(!array_key_exists($id, $this->config->item('worlds'))) {
   $this->form_validation->set_message('_checkWorld', 'Unknown World');
   return false;
  }
  else
   return true;
}

function _checkVocation($id) {
  $this->config->load('create_character.php');
  if(!array_key_exists($id, $this->config->item('vocations'))) {
   $this->form_validation->set_message('_checkVocation', 'Unknown Vocation');
   return false;
  }
  else
   return true;
}

function _checkSex($id) {
  if($id != 0 and $id != 1) {
   $this->form_validation->set_message('_checkSex', 'Unknown Sex');
   return false;
  }
  else
   return true;
}

function _validName($name) {
  require("config.php");
  $name = explode(" ", $name);
   foreach($name as $unit) {
    if(in_array(strtolower($unit), $config['invalidNameTags'])) {
     $this->form_validation->set_message('_validName', 'Invalid Name');
     return false;
    }
    else if(strlen($unit) == 1) {
     $this->form_validation->set_message('_validName', 'Invalid Name');
     return false;
    }
    else
     continue;
   }
}

// Function which make the player more real by tatu hunter
// Eg: elder'Druid = Elder'Druid
//    elder'druid = Elder'druid
//     druid theMaster = Druid themaster
function strFirst($name) {
  $name = explode(' ', trim($name));
  for($i=0, $t = sizeof($name); $i<$t; ++$i)
   for($j=0, $l=strlen($name[$i]); $j<$l; ++$j)
    !$j ?
    ($name[$i][$j] = !$i ? ($name[$i][$j] == strtoupper($name[$i][$j]) ? $name[$i][$j] : strtoupper($name[$i][$j])): $name[$i][$j])  :
    ($name[$i][$j] = ($name[$i][$j-1] == '\'' ? $name[$i][$j] :
    strtolower($name[$i][$j])));

  $ret = '';
  foreach($name as $k)
   $ret .= $k . ' ';

  return trim($ret);
}

  /* Controller of creating new account. New values can be hard-coded here. (only experienced users) */
  function create($ajax = 0) {
   require_once("system/application/config/create_character.php");
   $ide = new IDE;
   global $config;
   if($ajax == 1 && $ide->isLogged()) exit;
   if($ide->isLogged()) $ide->redirect(WEBSITE.'/index.php/account');
   $this->load->plugin('captcha');
   $this->load->helper('form');
  
   $vals = array(
     'word'   => '',
     'img_path'  => 'system/captcha/',
     'img_url'  => WEBSITE.'/system/captcha/',
     'font_path'  => WEBSITE.'/system/fonts/texb.ttf',
     'img_width'  => '156',
     'img_height' => 30,
     'expiration' => 120
    );
   if(!$_POST && $ajax == 0) {
    $cap = create_captcha($vals);
   }
   if($_POST) {
    $this->load->library('form_validation');
    $_POST['nickname'] = ucfirst(strtolower($_POST['nickname']));
    $this->form_validation->set_rules('name', 'Account Name', 'required|min_length[4]|max_length[32]|callback__account_exists|alpha_numeric|callback__checkDelay');
    $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|callback__nicknameExists');
    $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
    $this->form_validation->set_rules('email', 'Email', 'required|valid_email|callback__emailExists');
    $this->form_validation->set_rules('character_name', 'Character Name', 'required|min_length[4]|max_length[32]|nickname|callback__characterExists|callback__validName');
    $this->form_validation->set_rules('city', 'City', 'required|integer|callback__checkCity');
    $this->form_validation->set_rules('world', 'World', 'required|integer|callback__checkWorld');
    $this->form_validation->set_rules('vocation', 'Vocation', 'required|integer|callback__checkVocation');
    $this->form_validation->set_rules('sex', 'Sex', 'required|integer|callback__checkSex');
    $this->form_validation->set_rules('captcha', 'Captcha', 'required|callback__checkCaptcha');
    if($this->form_validation->run() == TRUE) {
     require(APPPATH.'config/ide_default.php');
     $ots = POT::getInstance();
     $ots->connect(POT::DB_MYSQL, connection());
     $account = new OTS_Account();
     $name = $account->createNamed($_POST['name']);
     $account->setPassword(sha1($_POST['password']));
     $account->setEmail($_POST['email']);
     $account->setCustomField('nickname', $_POST['nickname']);
     $account->setCustomField('premdays', PREMDAYS);
     $account->setCustomField('lastday', $_SERVER['REQUEST_TIME']);
     try {
      $account->save();
      unset($account);
      $_SESSION['logged'] = 1;
      $_SESSION['name'] = $_POST['name'];
      $_SESSION['nickname'] = $_POST['nickname'];
      $_SESSION['accountDelay'] = time();
     
      $account = $ots->createObject('Account');
      $account->find($_POST['name']);
     
      $sample = new OTS_Player();
      $sample->find($config['newchar_vocations'][$_POST['world']][$_POST['vocation']]);
      if(!$sample->isLoaded()) { show_error('Sample character could not be found!'); }
     
      // Create new character
      $player = $ots->createObject('Player');
      $player->setName($this->strFirst($_POST['character_name']));
                  $player->setAccount($account);
      $player->setWorld($_POST['world']);
                  $player->setGroup($sample->getGroup());
                  $player->setSex($_POST['sex']);
                  $player->setVocation($sample->getVocation());
                  $player->setConditions($sample->getConditions());
                   $player->setRank($sample->getRank());
                   $player->setLookAddons($sample->getLookAddons());
                  $player->setTownId($_POST['city']);
                  $player->setExperience($sample->getExperience());
                  $player->setLevel($sample->getLevel());
                  $player->setMagLevel($sample->getMagLevel());
                  $player->setHealth($sample->getHealth());
                  $player->setHealthMax($sample->getHealthMax());
                  $player->setMana($sample->getMana());
                  $player->setManaMax($sample->getManaMax());
                  $player->setManaSpent($sample->getManaSpent());
                  $player->setSoul($sample->getSoul());
                  $player->setDirection($sample->getDirection());
                  $player->setLookBody($sample->getLookBody());
                  $player->setLookFeet($sample->getLookFeet());
                  $player->setLookHead($sample->getLookHead());
                  $player->setLookLegs($sample->getLookLegs());
                  $player->setLookType($sample->getLookType());
                  $player->setCap($sample->getCap());
      $player->setPosX($startPos['x']);
                  $player->setPosY($startPos['y']);
                  $player->setPosZ($startPos['z']);
                  $player->setLossExperience($sample->getLossExperience());
                  $player->setLossMana($sample->getLossMana());
                  $player->setLossSkills($sample->getLossSkills());
                  $player->setLossItems($sample->getLossItems());
      $player->setLossContainers($sample->getLossContainers());
                  $player->save();
      $_SESSION['characterDelay'] = $_SERVER['REQUEST_TIME'];
      unset($player);
                  $player = $ots->createObject('Player');
                  $player->find($_POST['character_name']);
      if($player->isLoaded())
                  {
                      $player->setSkill(0,$sample->getSkill(0));
                      $player->setSkill(1,$sample->getSkill(1));
                      $player->setSkill(2,$sample->getSkill(2));
                      $player->setSkill(3,$sample->getSkill(3));
                      $player->setSkill(4,$sample->getSkill(4));
                      $player->setSkill(5,$sample->getSkill(5));
                      $player->setSkill(6,$sample->getSkill(6));
                      $player->save();
       $SQL = POT::getInstance()->getDBHandle();
                      $loaded_items_to_copy = $SQL->query("SELECT * FROM player_items WHERE player_id = ".$sample->getId()."");
                      foreach($loaded_items_to_copy as $save_item)
        $SQL->query("INSERT INTO `player_items` (`player_id` ,`pid` ,`sid` ,`itemtype`, `count`, `attributes`) VALUES ('".$player->getId()."', '".$save_item['pid']."', '".$save_item['sid']."', '".$save_item['itemtype']."', '".$save_item['count']."', '".$save_item['attributes']."');");
     
       if($ajax == 0)
        $ide->redirect(WEBSITE.'/index.php/account');
       else
        $ide->criticalRedirect(WEBSITE.'/index.php/account');
      }
     }
     catch(Exception $e) {
      error($e->getMessage());
     }
    }
    else {
     if($ajax == 0) $cap = create_captcha($vals);
    }
   }
   if($ajax == 0) {
    $_SESSION['captcha'] = $cap['word'];
    $data['captcha'] = $cap['image'];
   }
   #Load view of creating account
   if($ajax == 1) {
    echo error(validation_errors());
    $ide->system_stop();
   }
   else {
    $this->load->view('create', $data);
   }
  }
 
  /* Function to check if passed login and password are correct, it uses abstract database model. */
  function _check_login() {
   $this->load->model("Account_model");
   if($this->Account_model->check_login() == false) {
    $this->form_validation->set_message("_check_login", "Nome da conta ou senha estão incorretos.");
    return false;
   }
   else
    return true;
  }
 
  /* Login controller  */
  function login($action = 0) {
   if((int) $action == 1) success("Você foi desconectado.");
   if((int) $action == 2) success("Sua conta foi recuperada. Você pode fazer o login agora.");
   $ide = new IDE;
   $this->load->helper("form");
   $this->load->library("form_validation");
   if($_POST) {
    $this->form_validation->set_rules('name', 'Account Name', 'required|callback__check_login');
    $this->form_validation->set_rules('pass', 'Password', 'required');
    if(in_array($_POST['name'], $GLOBALS['config']['restrictedAccounts']))
     error("A conta que você tentar o acesso é restrito!");
    else {
     if($this->form_validation->run() == true) {
      $_SESSION['logged'] = 1;
      $_SESSION['name'] = $_POST['name'];
      if(!empty($_SESSION['forward'])) {
       $forward = $_SESSION['forward'];
       $_SESSION['forward'] = "";
       $ide->redirect($forward);
      }
      else
       $ide->redirect(WEBSITE.'/index.php/account');
    
     }
    }
   }
   /* Load view of login page. */
   $this->load->view("login");
  
  }
  /* Function to logout from account. */
  function logout() {
   $ide = new IDE;
   $_SESSION['logged'] = '';
   $_SESSION['account_id'] = '';
   $_SESSION['name'] = '';
   $_SESSION['admin'] = 0;
   $_SESSION['forward'] = "";
   $ide->redirect('login/1');
  }
 
  /* Controller to generate random recovery key and save it, accessed by user, only once per account. */
  function generate_recovery_key() {
   $this->load->helper("form");
   $ide = new IDE;
   $ide->requireLogin();
   $this->load->model("Account_model");
   if($_POST) {
    $data['info'] = '';
    $key = $this->Account_model->generateKey($_SESSION['name']);
    success("<center><font size='4'>$key</font></center>");
    alert("<b>salvar este recovery key, você vê esta tecla uma única vez! Você nunca vai vê-lo novamente, não atualizar ou afastar-se este site até que você salvá-lo!</b>");
   }
   else
   $data['info'] = '<id=\'info\'><b>Pressione este botão para gerar o seu único recovery key. <br>Lembre-se! Você pode fazer isso apenas uma vez! Sua chave de recuperação será mostrado apenas uma vez! Anotá-la, por razões de segurança, recomendamos que não salvá-lo em computadores disco rígido!</b><br><center><input type=\'submit\' value=\'Generate\' name=\'submit\'></center>';
   /* Load view of generating new recovery key. */
   $this->load->view('generate_recovery_key', $data);
 
  }
 
  function _checkCurrentPassword($pass) {
   $this->load->model("account_model");
   if($this->account_model->checkPassword($pass))
    return true;
   else {
    $this->form_validation->set_message("_checkCurrentPassword", "Senha atual está incorreto.");
    return false;
   }
  }
 
  function changepassword() {
   $ide = new IDE;
   $ide->requireLogin();
   $this->load->helper("form_helper");
   if($_POST) {
    $this->load->library("form_validation");
    $this->form_validation->set_rules('current', 'Current Password', 'required|callback__checkCurrentPassword');
    $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
    if($this->form_validation->run() == true) {
     $this->load->model("account_model");
     $this->account_model->changePassword($_POST['password'], $_SESSION['name']);
     success("Your password has been changed.");
     $ide->redirect(WEBSITE."/index.php/account", 2);
    }
   }
   $this->load->view("changepassword");
  }
 
  function editcomment($id) {
   $ide = new IDE;
   $ide->requireLogin();
   if(empty($id)) $ide->redirect(WEBSITE."/index.php/account");
   $this->load->model("account_model");
   if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account");
   $data['id'] = $id;
    if($_POST) {
     $this->load->library("form_validation");
      $this->form_validation->set_rules('comment', 'Comment', 'max_length[255]|alpha_ide');
     if($this->form_validation->run() == true) {
      if(@$_POST['hide'] == 1)
       $this->account_model->changeComment($id, $_POST['comment'], true);
      else
       $this->account_model->changeComment($id, $_POST['comment'], false);
      success("Your comment has been changed.");
      $ide->redirect(WEBSITE."/index.php/account", 2);
     }
    }
   $data['comment'] = $this->account_model->getPlayerComment($id);
   $this->load->helper("form_helper");
   $this->load->view("edit_comment", $data);
  }
 
  function deletePlayer($id) {
   $ide = new IDE;
   $ide->requireLogin();
   $id = (int)$id;
   if(empty($id)) $ide->redirect(WEBSITE."/index.php/account");
   $this->load->model("account_model");
   if(!$this->account_model->isUserPlayer($id)) $ide->redirect(WEBSITE."/index.php/account");
   $this->account_model->deletePlayer($id);
   $ide->redirect(WEBSITE."/index.php/account");
  }
 
  public function setNickname() {
   $ide = new IDE;
   $ide->requireLogin();
   if(!empty($_SESSION['nickname'])) $ide->goPrevious();
   $this->load->helper("form_helper");
    if($_POST) {
     $_POST['nickname'] = ucfirst(strtolower($_POST['nickname']));
     $this->load->library("form_validation");
     $this->form_validation->set_rules('nickname', 'Nickname', 'required|min_length[4]|max_length[32]|nickname|callback__nicknameExists');
     $this->form_validation->set_rules('rules', 'Rules', 'required');
     if($this->form_validation->run()) {
      $this->load->model("account_model");
      $this->account_model->setNickname($ide->loggedAccountId(), $_POST['nickname']);
      $_SESSION['nickname'] = $_POST['nickname'];
      $ide->redirect(WEBSITE."/index.php/account/index/2");
     }
    }
   $this->load->view("setNickname");
  
  }
 
  function _validKey($key) {
   $this->load->model("account_model");
   $_POST['key'] = str_replace("-", "", $_POST['key']);
   if($this->account_model->checkKey($_POST['key'], $_POST['email'])) {
    return true;
   }
   else {
    $this->form_validation->set_message("_validKey", "Não foi possível alterar a senha. Fazer e-mail seguro e recovery key são válidas.");
    return false;
   }
  }
 
  public function lost() {
   $ide = new IDE;
   $this->load->helper("form_helper");
    if($_POST) {
     $_POST['key'] = str_replace("-", "", $_POST['key']);
   
     $this->load->library("form_validation");
     $this->form_validation->set_rules('password', 'Password', 'required|matches[repeat]|min_length[4]|max_length[255]');
     $this->form_validation->set_rules('email', 'Email', 'required|valid_email');
     $this->form_validation->set_rules('key', 'Recovery Key', 'required|callback__validKey');
    
     if($this->form_validation->run()) {
      $this->load->model("account_model");
      $this->account_model->recoveryAccount($_POST['key'], $_POST['email'], $_POST['password']);
      $ide->redirect(WEBSITE."/index.php/account/login/2");
     }
    }
   $this->load->view("account_lost");
  }
 
}

?>

 

agora vamos continuar vai em C:\xampp\htdocs\system\application\models e adc isso em account_model *lembrando apaga tudo que tem dentro e adc.

 

<?php
class Account_model extends Model {

function __construct() {
  parent::__construct();
  $this->load->database();
}

function check_login() {
  require("config.php");
  $this->db->select('id, page_access, nickname');
  $sql = $this->db->get_where('accounts', array('name' => $_POST['name'], 'password' => sha1($_POST['pass'])));
  $row = $sql->row_array();
   if(!empty($row)) {
   $_SESSION['account_id'] = $row['id'];
   $_SESSION['access'] = $row['page_access'];
   $_SESSION['nickname'] = $row['nickname'];
    if($row['page_access'] >= $config['adminAccess'])
     $_SESSION['admin'] = 1;
    else
     $_SESSION['admin'] = 0;
   }
  return $sql->num_rows ? true : false;
}

function getRecoveryKey($name) {
  $this->db->select('key');
  $sql = $this->db->get_where('accounts', array('name' => $name))->row_array();
  return $sql['key'];
}

function generateKey($name) {
  $key = rand(1000,9999).'-'.rand(1000,9999).'-'.rand(1000,9999).'-'.rand(1000,9999);
  $save = sha1(str_replace("-", "", $key));
  $this->db->update('accounts', array('key' => $save), array('name' => $name));
 
  return $key;
}

public function getAccountID() {
  $this->db->select('id');
  $sql = $this->db->get_where('accounts', array('name' => $_SESSION['name']))->row_array();
  return (int)$sql['id'];
}

public function getCharacters() {
  $this->db->select('id, name, level');
  return $this->db->get_where('players', array('account_id' => $_SESSION['account_id']), array('deleted' => 0))->result();
}

public function checkPassword($pass) {
  $this->db->select('id');
  return ($this->db->get_where('accounts', array('name' => $_SESSION['name'], 'password' => sha1($pass)))->num_rows) ? true : false;
}

public function changePassword($pass, $name) {
  $this->db->update('accounts', array('password' => sha1($pass)), array('name' => $name));
}

public function isUserPlayer($id) {
  $this->db->select('id');
  return ($this->db->get_where('players', array('account_id' => $_SESSION['account_id'], 'id' => $id))->num_rows) ? true : false;
}

public function getPlayerComment($id) {
  $this->db->select('comment, hide_char');
  return $this->db->get_where('players', array('id' => $id))->result_array();
}

public function changeComment($id, $comment, $hide = false) {
  $hide = $hide ? 1 : 0;
  $this->db->update('players', array('comment' => $comment, 'hide_char' => $hide), array('id' => $id));
}

public function deletePlayer($id) {
  $this->db->update('players', array('deleted' => 1), array('id' => $id));
}

public function nicknameExists($name) {
  $this->db->select('id');
  return ($this->db->get_where('accounts', array('nickname' => $name))->num_rows) ? true : false;
}
public function emailExists($email) {
  $this->db->select('id');
  return ($this->db->get_where('accounts', array('email' => $email))->num_rows) ? true : false;
}
public function setNickname($id, $nick) {
  $this->db->update('accounts', array('nickname' => $nick), array('id' => $id));
}

public function checkKey($key, $email) {
  return ($this->db->get_where('accounts', array('key' => sha1($key), 'email' => $email))->num_rows) ? true : false;
}

public function recoveryAccount($key, $email, $password) {
  $this->db->update('accounts', array('password' => sha1($password)), array('key' => sha1($key), 'email' => $email));
}

public function load($id) {
  $this->db->select('id, rlname, location, about_me, nickname');
  return $this->db->get_where('accounts', array('id' => $id))->result_array();
}

public function checkMessages() {
  $this->db->select('id');
  return $this->db->get_where('messages', array('to' => $_SESSION['account_id'], 'unread' => 1, 'delete_to' => 0))->num_rows;
}
}

?>

 

Agora pra terminar vai em C:\xampp\htdocs\system\application\views acha o arquivo  account *lembrando apaga tudo que tem dentro e adc.

 

 

<?php
$GLOBALS['characters'] = $characters;
$ide = new IDE;
try { $ide->loadInjections("account"); } catch(Exception $e) { error($e->getMessage()); }
echo "<h2>Olá <a href='".url('profile/view/'.$_SESSION['nickname'])."'>".ucfirst($_SESSION['nickname'])."</a>!</h2>";

if($messages != 0)
  if($messages == 1)
   echo "<center><b>você tem $messages new message! Click <a href='".url('msg/inbox')."'>aqui</a> para lê-los!</b></center><br/>";
  else
   echo "<center><b>você tem $messages new messages! Click <a href='".url('msg/inbox')."'>aqui</a> para lê-los!</b></center><br/>";
?>
<script>$(function(){$("#tabs").tabs();});</script>
<?php

echo "<div id='tabs'>";
echo '<ul>
  <li><a href="#characters">Personagem</a></li>
  <li><a href="#account">Conta</a></li>
  <li><a href="#community">Comunidade</a></li>
            <li><a href="#Mensagem">Mensagem</a></li>

</ul>';
echo "<div id='characters'>";
echo "<center><a href='".WEBSITE."/index.php/character/create_character'><button class='ide_button' onClick=\"window.location.href='".WEBSITE."/index.php/character/create_character';\">Criar Personagem</button></a></center>";
echo "<table width='100%'>";
echo "<tr><td><center><b>Nome</b></center></td><td><center><b>Level</b></center></td><td><center><b>Ações</b></center></td></tr>";
foreach($characters as $row) {
  echo "<tr class='highlight'><td><center><a href=\"".WEBSITE."/index.php/character/view/$row->name\">$row->name</a></center></td><td><center>$row->level</center></td><td><center><a href=\"".WEBSITE."/index.php/account/editcomment/$row->id\" class='tipsy' title='Editar comentário'><img src='".WEBSITE."/public/images/edit.gif'/></a> <a href='#' onClick='if(confirm(\"Are you sure?\")) window.location.href=\"".WEBSITE."/index.php/account/deletePlayer/$row->id\"' class='tipsy' title='Excluir Pessonagem'><img src='".WEBSITE."/public/images/false.gif'/></a></center></td></tr>";

}
echo "</table>";
echo "</div>";
echo "<div id='account'>";
echo "<center><a href='".WEBSITE."/index.php/account/changepassword'><button class='ide_button' onClick=\"window.location.href='".WEBSITE."/index.php/account/changepassword';\">Mudar Senha</button></a></center>";
       echo "<br>";

      echo "</div>";
echo "<div id='community'>";
  echo "<b>Perfil</b>";
  echo "<li><a href='".WEBSITE."/index.php/profile/update'>Editar Perfil</a></li>";
  echo "<li><a href='".WEBSITE."/index.php/profile/avatar'>Alterar Avatar</a></li>";
      echo "</div>";

          echo "<div id='Mensagem'>";
  echo "<b>Mensagens</b>";
  echo "<li><a href='".WEBSITE."/index.php/msg/inbox'>Caixa de Entrada</a></li>";
  echo "<li><a href='".WEBSITE."/index.php/msg/outbox'>Caixa de Saída</a></li>";
  echo "<li><a href='".WEBSITE."/index.php/msg/write'>Enviar Mensagem</a></li>";
echo "</div>";
     
echo "<div id='logout'>";
echo "</div>";
echo "</div>";

if(empty($acc[0]['rlname']) || empty($acc[0]['location']) || empty($acc[0]['about_me']))
alert("Você pode considerar atualizar seu perfil público <a href='".WEBSITE."/index.php/profile/update'><b>Aqui</b></a>!");
?>

 

é isso ai o resultado é esse:

 

Gerando recovery Key ali em Gerar

11057844_814506221964201_209399772984824

 

Confirmação que está gerando RK

11068164_814506218630868_714711826409815

 

RK já gerada não mostra mais opções que ainda precisa ser gerada.

10423280_814506261964197_360508884495710

 

Não tem mais o botão Gerar Recovery Key

 

13657_814506205297536_546750884338291907

 

 

è isso ai espero que gostem se caso copiar favor botar os devidos Crédito: Alexy Brocanello

para ver como está vai em www.hpobrasil.com/pokemonDBR

Editado por alexxxxxxx (veja o histórico de edições)

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo