PHP Classes

File: uploady/logic/signupLogic.php

Recommend this page to a friend!
  Classes of Faris AL-Otabi   Uploady PHP Upload File to MySQL   uploady/logic/signupLogic.php   Download  
File: uploady/logic/signupLogic.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Uploady PHP Upload File to MySQL
Store file upload details in a MySQL database
Author: By
Last change: Update Hash Alog to sha256
Date: 2 months ago
Size: 2,053 bytes
 

Contents

Class file image Download
<?php
$upload
= new \Farisc0de\PhpFileUploading\Upload(new \Farisc0de\PhpFileUploading\Utility());

$mailer = new Uploady\Mailer($db);

$tpl = new Uploady\Template('template/emails');

if (
$_SERVER['REQUEST_METHOD'] == 'POST') {
   
$username = $utils->sanitize($_POST['username']);
   
$email = $utils->sanitize($_POST['email']);
   
$password = $utils->sanitize($_POST['password']);

    if (!
$user->isExist($email) && !$user->isExist($username)) {
        if (isset(
$_POST['recaptcha_response'])) {
           
$recaptcha = new \ReCaptcha\ReCaptcha($settings->getSettingValue('recaptcha_secret_key'));

           
$resp = $recaptcha->setChallengeTimeout(60)
                ->
setExpectedAction("login_form")
                ->
setScoreThreshold(0.5)
                ->
verify($_POST['recaptcha_response'], $_SERVER['REMOTE_ADDR']);

            if (!
$resp->isSuccess()) {
               
$error = $lang["general"]["recaptcha_failed"];
            }
        }

        if (!isset(
$error)) {
           
$token = bin2hex(random_bytes(16));

           
$hash = hash("sha256", $token);

           
$upload->generateUserID();

           
$user->add([
               
'username' => $username,
               
'email' => $email,
               
'password' => password_hash($password, PASSWORD_BCRYPT),
               
'user_id' => $upload->getUserID(),
               
"api_key" => bin2hex(random_bytes(16)),
               
'activation_hash' => $hash,
               
'is_active' => 0
           
]);

           
$mailer->sendMessage(
               
$email,
               
$lang["general"]['activation_email_subject'],
               
$tpl->loadTemplate('activation_email', [
                   
'username' => $username,
                   
'activation_url' => $utils->siteUrl("/activate.php?token=$token")
                ])
            );

           
$msg = $lang["general"]['signup_success'];
        }
    } else {
       
$error = $lang["general"]['user_already_exist'];
    }
}

$page = "signupPage";
$title = $lang["general"]['signup_title'];