Esempio n. 1
0
 public function index_post()
 {
     $data = json_decode(file_get_contents("php://input"));
     $surname = $data->surname;
     $firstname = $data->firstname;
     $othername = $data->othername;
     $dateofbirth = $data->dateofbirth;
     $gender = $data->gender;
     $phone = phone_helper($data->phone);
     $occupation = $data->occupation;
     $picture = $data->picture;
     $email = '';
     $pin = $data->pin;
     $pass = generateStrongPassword($length = 9, $add_dashes = false, $available_sets = 'luds');
     $name = $data->name;
     $additional_data = array('surname' => $surname, 'firstname' => $firstname, 'othername' => $othername, 'dateofbirth' => $dateofbirth, 'gender' => $gender, 'phone' => $phone, 'occupation' => $occupation, 'picture' => $picture, 'pin' => $pin);
     if (empty($data->surname)) {
         $error = 'Surnname is required';
         $this->set_response($error, REST_Controller::HTTP_BAD_REQUEST);
     }
     $create = $this->ion_auth->register($name, $pass, $email, $additional_data);
     // $create = $this->voter->create_user($surname, $firstname, $othername, $dateofbirth, $gender, $phone, $occupation,/*$email,*/ $picture, $pass, $name);
     if ($create) {
         $message = "Your Login Details are: \n LoginID: " . $name . " \n Login Password: "******"Your Login Details are: \n LoginID: " . $name . " \n Login Password: " . $pass;
         // sms($phone, $message);
     } else {
         $error = $this->voter->print_errors();
         $this->set_response($error, REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
     }
     // var_dump($create);
 }
Esempio n. 2
0
 public function index_post()
 {
     $data = json_decode(file_get_contents("php://input"));
     $surname = $data->surname;
     $firstname = $data->firstname;
     $othername = $data->othername;
     $dateofbirth = $data->dateofbirth;
     $gender = $data->gender;
     $phone = phone_helper($data->phone);
     $occupation = $data->occupation;
     $email = $data->email;
     $pass = generateStrongPassword($length = 9, $add_dashes = false, $available_sets = 'luds');
     $name = $data->name;
     $picture = $data->picture;
     if (empty($data->surname)) {
         $error = 'Surnname is required';
         $this->set_response($error, REST_Controller::HTTP_BAD_REQUEST);
     }
     $create = $this->aauth->create_user($surname, $firstname, $othername, $dateofbirth, $gender, $phone, $occupation, $email, $pass, $name, $picture);
     if ($create) {
         $success = 'Account Has Been Created';
         $this->set_response($success, REST_Controller::HTTP_CREATED);
         $message = "Your Login Details are: \n LoginID: " . $name . " \n Login Password: " . $pass;
         // sms($phone, $message);
     } else {
         $error = $this->aauth->print_errors();
         $this->set_response($error, REST_Controller::HTTP_INTERNAL_SERVER_ERROR);
     }
     // var_dump($create);
 }
    if (strpos($available_sets, 'd') !== false) {
        $sets[] = '23456789';
    }
    if (strpos($available_sets, 's') !== false) {
        $sets[] = '!@?';
    }
    $all = '';
    $password = '';
    foreach ($sets as $set) {
        $password .= $set[array_rand(str_split($set))];
        $all .= $set;
    }
    $all = str_split($all);
    for ($i = 0; $i < $length - count($sets); $i++) {
        $password .= $all[array_rand($all)];
    }
    $password = str_shuffle($password);
    if (!$add_dashes) {
        return $password;
    }
    $dash_len = floor(sqrt($length));
    $dash_str = '';
    while (strlen($password) > $dash_len) {
        $dash_str .= substr($password, 0, $dash_len) . '-';
        $password = substr($password, $dash_len);
    }
    $dash_str .= $password;
    return $dash_str;
}
$password = generateStrongPassword(9);
echo "Suggestion for password: " . $password;
Esempio n. 4
0
/**
 * generate ssh key
 * @param $data
 */
function generate_sshkey($data)
{
    $result = array();
    $cpanel = $data->get_instance('cpanel');
    $cpanel_file = $data->get_instance('fileman_no_auth');
    #$cpanel_file = new HW_CPanel_Fileman($host,$cpaneluser, $cpaneluser_pass);
    if ($cpanel) {
        $key = $data->cpaneluser . '-sshkey';
        $keypass = generateStrongPassword(20, false, 'lud');
        //create safe password
        //list keys
        $keys = $cpanel->list_sshkeys();
        $keys = json_decode($keys);
        if (isset($keys->cpanelresult->data) && is_array($keys->cpanelresult->data)) {
            foreach ($keys->cpanelresult->data as $_key) {
                if (strpos($_key->name, $key) !== false) {
                    //del putty key file
                    $putty_key = "/home/{$data->cpaneluser}/.ssh/putty/{$_key->name}.ppk";
                    $cpanel_file->delfiles($putty_key);
                    //remove ssh key file on server
                    $cpanel->del_sshkey($_key->name);
                    //del private key
                    $cpanel->del_sshkey($_key->name, 1);
                    //del public key
                    /*unlink($key->file);
                      if(!empty($key->haspub) && $key->haspub) {
                          unlink($key->file.".pub");
                      }*/
                }
            }
        }
        //generate ssh key
        $res = $cpanel->generate_sshkey($key, $keypass);
        $result[] = array('sshkey' => array('key' => $key, 'pass' => $keypass));
        $result[] = (array) json_decode($res);
        //save ssh key to db for this account
        $data = array('ssh_key' => $key, 'ssh_key_pass' => $keypass);
        update_cpacct($data, $data->acc_id);
        //authorize key
        $res = $cpanel->authorizes_sshkey($key);
        $result[] = (array) json_decode($res);
        //convert key to ppk
        $res = $cpanel->sshkey_converttoppk($key, $keypass);
        $result[] = (array) json_decode($res);
        ajax_output($result);
    }
}
 public function invite_user()
 {
     $css_js_for_invite_user = array('codeboxr_js' => array('underscore-min', 'bootstrap-tab', 'bootstrap-filestyle.min', 'bootstrap.wizard.min', 'section-member'));
     //If the top level user has not set org name
     //they will redirect to profile editing page.
     if (!has_organisation()) {
         redirect(base_url('user/edit-profile'));
     }
     if ($this->user_info->user_access_level > 3) {
         redirect(base_url('notes'));
     }
     //Get all class list from logged in user.
     $section_list = $this->user_model->get_all_section_list();
     //check if there any class created or not.
     //if not redirect to home url.
     if ($section_list->num_rows() < 1) {
         $this->session->set_flashdata('add_section_waring', 'Add class before invite teacher.');
         redirect(base_url('user'));
     }
     $data['login_user_data'] = $this->user_info;
     $data['section_list'] = $section_list->result();
     //collect info from session
     $data['invite_section_id'] = $this->session->flashdata('invite_section_id');
     $data['send_invitation_success'] = $this->session->flashdata('send_invitation_success');
     $data['send_invitation_error'] = $this->session->flashdata('send_invitation_error');
     $this->load->library('form_validation', '', 'frm_val');
     $this->frm_val->set_rules('invite_email', 'Email of Teacher', 'trim|xss_clean|required|valid_email');
     $this->frm_val->set_rules('invite_first_name', 'First Name of Teacher', 'trim|required|xss_clean');
     $this->frm_val->set_rules('invite_last_name', 'Last Name of Teacher', 'trim|xss_clean');
     $this->frm_val->set_rules('invite_section_id', 'Class', 'trim|xss_clean|required');
     if ($this->frm_val->run() == false) {
     } else {
         $this->load->model('section_model');
         if (!$this->section_model->has_section(set_value('invite_section_id'))) {
             $this->session->set_flashdata('invite_section_id', '<div class="alert"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Sorry </strong>we have not found the class that you have selected. Please select right one.</div>');
             redirect(base_url('user/' . $this->uri->segment(2)));
         } elseif ($this->section_model->is_already_assigned(set_value('invite_email'), set_value('invite_section_id'))) {
             $this->session->set_flashdata('invite_section_id', '<div class="alert alert-info"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>' . set_value('invite_email') . ' </strong>this email already assigned to that class, that you have selected.</div>');
             redirect(base_url('user/' . $this->uri->segment(2)));
         } else {
             $time = time();
             $section_assign_info = array('assign_id' => md5($time . set_value('invite_email') . $this->user_info->id), 'assign_organisation_id' => $this->user_info->id, 'assign_access_id' => md5(set_value('invite_email')), 'assign_section_id' => set_value('invite_section_id'), 'assign_group_id' => '', 'assign_time' => $time);
             if ($result = $this->section_model->assign_section($section_assign_info)) {
                 $this->load->library('email');
                 if ($assigned_user_info = $this->user_model->has_in_user(set_value('invite_email'))) {
                     $data['in_temp'] = false;
                     $data['auto_register'] = false;
                     $data['recipient_first_name'] = $assigned_user_info->first_name;
                 } elseif ($user_info = $this->user_model->has_in_temp_user(set_value('invite_email'))) {
                     $this->dx_auth->activate($user_info->activation_key);
                     $data['in_temp'] = true;
                     $data['auto_register'] = false;
                     $data['recipient_first_name'] = set_value('invite_first_name');
                 } else {
                     $this->config->set_item('DX_email_activation', false);
                     $pass = generateStrongPassword();
                     $invite_name_of_user = array('fname' => set_value('invite_first_name'), 'lname' => set_value('invite_last_name'));
                     $this->dx_auth->register('', $pass, set_value('invite_email'), $register_as = '5', $invite_name_of_user);
                     $data['in_temp'] = false;
                     $data['auto_register'] = true;
                     $data['recipient_first_name'] = set_value('invite_first_name');
                 }
                 $data['organisation_id'] = $this->user_info->id;
                 $data['assign_section_id'] = $section_assign_info['assign_section_id'];
                 $data['assign_access_id'] = $section_assign_info['assign_access_id'];
                 $data['password'] = $pass;
                 //get the content of email body
                 $invitation_content = $this->view('page/email/invitation', $data, true);
                 //email to assigned user
                 $this->email->from('*****@*****.**');
                 $this->email->to(set_value('invite_email'));
                 $this->email->subject('Invitation to ' . $this->session->userdata('CN_org_name'));
                 $this->email->message($invitation_content);
                 if ($this->email->send()) {
                     $this->session->set_flashdata('send_invitation_success', '<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button>Invitation send to ' . set_value('invite_email') . ' successfully.</div>');
                 } else {
                     $this->section_model->remove_assigned_info($result->insert_id());
                     $this->session->set_flashdata('send_invitation_error', '<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">&times;</button>Critical error on sending invitation. Please <a href="' . base_url('contact-us') . '">contact</a> or provide <a href="' . base_url('feedback') . '">feedback</a> to CloudeNotes Owner.</div>');
                 }
                 redirect(base_url('user/' . $this->uri->segment(2)));
             } else {
                 $this->session->set_flashdata('send_invitation_error', '<div class="alert alert-error"><button type="button" class="close" data-dismiss="alert">&times;</button>Something went wrong. Please try again.</div>');
             }
             redirect(base_url('user/' . $this->uri->segment(2)));
         }
     }
     $this->_render_admin('auth_user/invite_user', $data, $css_js_for_invite_user);
 }
Esempio n. 6
0
<html>
<head>
    <title>Þifremi Sýfýrla</title>
</head>
<body>
    <?php 
if (isset($_GET["Mail"]) & isset($_GET["ResetKey"])) {
    include 'DBConnect.php';
    $Mail = $_GET["Mail"];
    $ResetKey = $_GET["ResetKey"];
    $result = DB::getRow("SELECT Email,AdiSoyadi,SifirlamaKodu FROM uyeler WHERE Email=:Email", array(':Email' => $Mail));
    if ($result == false) {
        echo "Bu Mail Adresi Bulunamadi.";
    } else {
        if (md5(base64_encode($result->SifirlamaKodu)) == $ResetKey) {
            $YeniSifreSafe = generateStrongPassword();
            $YeniSifre = md5($YeniSifreSafe);
            if (DB::exec("UPDATE uyeler SET Sifre=:Sifre, SifirlamaKodu=NULL WHERE ( Email=:Email);", array(':Email' => $Mail, ':Sifre' => $YeniSifre)) == false) {
                echo "Sifreniz Güncellenirken hata olustu.";
            } else {
                if (SifreGonder($Mail, $result->AdiSoyadi, $YeniSifreSafe)) {
                    echo "Yeni Þifreniz Mail olarak gönderilmiþtir.";
                } else {
                    echo "Mail gönderilirken hata oluþtu";
                }
            }
        } else {
            echo "Gönderilen Sýfýrlama Kodu Hatalý.";
        }
    }
}
 /**
  * generate password
  * @param $cp
  */
 function generate_strong_pass($cp)
 {
     #$cpanel = new HW_CPanel_Mysql($host, $cpaneluser, $cpaneluser_pass);
     #$t=$cpanel->xmlapi->api1_query($cpaneluser, 'Mysql','userdb' ,array('db4'));print_r($t);
     $available_sets = _req('available_sets', 'luds');
     echo generateStrongPassword(STRONG_PASS_LENGTH, false, $available_sets);
 }