3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DB_Functions { private $db; //put your code here // constructor function __construct() { require_once 'DB_Connect.php'; // connecting to database $this->db = new DB_Connect(); $this->db->connect(); } // destructor function __destruct() { } /** * Storing new user * returns user details */ public function storeUser($name, $email, $password) { $uuid = uniqid('', true); $hash = $this->hashSSHA($password); $encrypted_password = $hash["encrypted"]; // encrypted password $salt = $hash["salt"]; // salt $result = mysql_query("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES('$uuid', '$name', '$email', '$encrypted_password', '$salt', NOW())"); // check for successful store if ($result) { // get user details $uid = mysql_insert_id(); // last inserted id $result = mysql_query("SELECT * FROM users WHERE uid = $uid"); // return user details return mysql_fetch_array($result); } else { return false; } } /** * Get user by email and password */ public function getUserByEmailAndPassword($email, $password) { $result = mysql_query("SELECT * FROM users WHERE email = '$email'") or die(mysql_error()); // check for result $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { $result = mysql_fetch_array($result); $salt = $result['salt']; $encrypted_password = $result['encrypted_password']; $hash = $this->checkhashSSHA($salt, $password); // check for password equality if ($encrypted_password == $hash) { // user authentication details are correct return $result; } } else { // user not found return false; } } public function getCourses($user, $selectionKey, $selectionValue){ // Mysql select query $temp = array("CourseID"=>array(),"College" => array(), "Department"=>array(),"CRN" => array(), "SubjectCRS"=>array(),"Section" => array(), "Title"=>array(),"Building" => array(), "Room" => array(), "Instructor"=>array(),"Campus" => array(), "Time" =>array(), "Days" =>array()); $result = null; if($selectionKey =='CRN') $result = mysql_query("SELECT * FROM UsfCourses where '$selectionKey' = $selectionValue") or die(mysql_error()); if($selectionKey =='SubjectCRS') $result = mysql_query("SELECT * FROM UsfCourses where '$selectionKey' = '$selectionValue'") or die(mysql_error()); if($user == true){ $result = mysql_query(" SELECT C.* FROM StudentCourses S_C, users S, UsfCourses C WHERE S.StudentID = '$user' AND S_C.CourseID = C.CourseID"); } $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { while($row = mysql_fetch_array($result)){ array_push($temp["CourseID"], $row["CourseID"]); array_push($temp["College"], $row["College"]); array_push($temp["Department"], $row["Department"]); array_push($temp["CRN"], $row["CRN"]); array_push($temp["SubjectCRS"], $row["SubjectCRS"]); array_push($temp["Section"], $row["Section"]); array_push($temp["Title"], $row["Title"]); array_push($temp["Building"], $row["Building"]); array_push($temp["Room"], $row["Room"]); array_push($temp["Instructor"], $row["Instructor"]); array_push($temp["Campus"], $row["Campus"]); array_push($temp["Time"], $row["Time"]); array_push($temp["Days"], $row["Days"]); } return $temp; } //course was not found return false; } /** * Check user is existed or not */ public function isUserExisted($email) { $result = mysql_query("SELECT email from users WHERE email = '$email'"); $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { // user existed return true; } else { // user not existed return false; } } /** * Encrypting password * @param password * returns salt and encrypted password */ public function hashSSHA($password) { $salt = sha1(rand()); $salt = substr($salt, 0, 10); $encrypted = base64_encode(sha1($password . $salt, true) . $salt); $hash = array("salt" => $salt, "encrypted" => $encrypted); return $hash; } /** * Decrypting password * @param salt, password * returns hash string */ public function checkhashSSHA($salt, $password) { $hash = base64_encode(sha1($password . $salt, true) . $salt); return $hash; } public function storeCourse($StudentID, $CourseID){ $result = mysql_query("INSERT INTO StudentCourses(StudentID, CourseID) VALUES('$StudentID', '$CourseID')"); // check for successful store if ($result) { // get user details $uid = mysql_insert_id(); // last inserted id $result = mysql_query("SELECT * FROM StudentCourses WHERE StudentClassID = $uid"); // return user details return mysql_fetch_array($result); } else { return false; } } public function getFriendsByCourseIdAndStudentId($StudentID, $CourseID){ $temp = array("name"=>array(),"CourseID"=>array(),"College" => array(), "Department"=>array(),"CRN" => array(), "SubjectCRS"=>array(),"Section" => array(), "Title"=>array(),"Building" => array(), "Room" => array(), "Instructor"=>array(),"Campus" => array(), "Time" =>array(), "Days" =>array()); $result = mysql_query("SELECT U2.name, C.* FROM StudentCourses SC1, StudentCourses SC2, users U, Friends F, users U2, UsfCourses C WHERE SC1.StudentID = $StudentID AND F.StudentID = U.StudentID AND SC2.StudentID = F.FriendOfID AND SC1.CourseID = SC2.CourseID AND F.FriendOfID = U2.StudentID AND SC1.CourseID = $CourseID"); $no_of_rows = mysql_num_rows($result); if ($no_of_rows > 0) { while($row = mysql_fetch_array($result)){ array_push($temp["name"], $row["name"]); array_push($temp["CourseID"], $row["CourseID"]); array_push($temp["College"], $row["College"]); array_push($temp["Department"], $row["Department"]); array_push($temp["CRN"], $row["CRN"]); array_push($temp["SubjectCRS"], $row["SubjectCRS"]); array_push($temp["Section"], $row["Section"]); array_push($temp["Title"], $row["Title"]); array_push($temp["Building"], $row["Building"]); array_push($temp["Room"], $row["Room"]); array_push($temp["Instructor"], $row["Instructor"]); array_push($temp["Campus"], $row["Campus"]); array_push($temp["Time"], $row["Time"]); array_push($temp["Days"], $row["Days"]); } return $temp; } //course was not found return false; } } ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  (null)
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  225     0  E > > RETURN                                                   1

Class DB_Functions:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  __construct
number of ops:  9
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   10     0  E >   INCLUDE_OR_EVAL                                          'DB_Connect.php', REQUIRE_ONCE
   12     1        NEW                                              $2      'DB_Connect'
          2        DO_FCALL                                      0          
          3        ASSIGN_OBJ                                               'db'
          4        OP_DATA                                                  $2
   13     5        FETCH_OBJ_R                                      ~4      'db'
          6        INIT_METHOD_CALL                                         ~4, 'connect'
          7        DO_FCALL                                      0          
   14     8      > RETURN                                                   null

End of function __construct

Function __destruct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  __destruct
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   19     0  E > > RETURN                                                   null

End of function __destruct

Function storeuser:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 32, Position 2 = 46
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 46
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  storeUser
number of ops:  48
compiled vars:  !0 = $name, !1 = $email, !2 = $password, !3 = $uuid, !4 = $hash, !5 = $encrypted_password, !6 = $salt, !7 = $result, !8 = $uid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   25     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   26     3        INIT_FCALL                                               'uniqid'
          4        SEND_VAL                                                 ''
          5        SEND_VAL                                                 <true>
          6        DO_ICALL                                         $9      
          7        ASSIGN                                                   !3, $9
   27     8        INIT_METHOD_CALL                                         'hashSSHA'
          9        SEND_VAR_EX                                              !2
         10        DO_FCALL                                      0  $11     
         11        ASSIGN                                                   !4, $11
   28    12        FETCH_DIM_R                                      ~13     !4, 'encrypted'
         13        ASSIGN                                                   !5, ~13
   29    14        FETCH_DIM_R                                      ~15     !4, 'salt'
         15        ASSIGN                                                   !6, ~15
   30    16        INIT_FCALL_BY_NAME                                       'mysql_query'
         17        ROPE_INIT                                    11  ~18     'INSERT+INTO+users%28unique_id%2C+name%2C+email%2C+encrypted_password%2C+salt%2C+created_at%29+VALUES%28%27'
         18        ROPE_ADD                                      1  ~18     ~18, !3
         19        ROPE_ADD                                      2  ~18     ~18, '%27%2C+%27'
         20        ROPE_ADD                                      3  ~18     ~18, !0
         21        ROPE_ADD                                      4  ~18     ~18, '%27%2C+%27'
         22        ROPE_ADD                                      5  ~18     ~18, !1
         23        ROPE_ADD                                      6  ~18     ~18, '%27%2C+%27'
         24        ROPE_ADD                                      7  ~18     ~18, !5
         25        ROPE_ADD                                      8  ~18     ~18, '%27%2C+%27'
         26        ROPE_ADD                                      9  ~18     ~18, !6
         27        ROPE_END                                     10  ~17     ~18, '%27%2C+NOW%28%29%29'
         28        SEND_VAL_EX                                              ~17
         29        DO_FCALL                                      0  $24     
         30        ASSIGN                                                   !7, $24
   32    31      > JMPZ                                                     !7, ->46
   34    32    >   INIT_FCALL_BY_NAME                                       'mysql_insert_id'
         33        DO_FCALL                                      0  $26     
         34        ASSIGN                                                   !8, $26
   35    35        INIT_FCALL_BY_NAME                                       'mysql_query'
         36        NOP                                                      
         37        FAST_CONCAT                                      ~28     'SELECT+%2A+FROM+users+WHERE+uid+%3D+', !8
         38        SEND_VAL_EX                                              ~28
         39        DO_FCALL                                      0  $29     
         40        ASSIGN                                                   !7, $29
   37    41        INIT_FCALL_BY_NAME                                       'mysql_fetch_array'
         42        SEND_VAR_EX                                              !7
         43        DO_FCALL                                      0  $31     
         44      > RETURN                                                   $31
         45*       JMP                                                      ->47
   39    46    > > RETURN                                                   <false>
   41    47*     > RETURN                                                   null

End of function storeuser

Function getuserbyemailandpassword:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 47) Position 1 = 10, Position 2 = 14
Branch analysis from position: 10
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 14
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 37
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 35, Position 2 = 36
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 36
1 jumps found. (Code = 42) Position 1 = 38
Branch analysis from position: 38
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 37
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  getUserByEmailAndPassword
number of ops:  39
compiled vars:  !0 = $email, !1 = $password, !2 = $result, !3 = $no_of_rows, !4 = $salt, !5 = $encrypted_password, !6 = $hash
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   46     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   47     2        INIT_FCALL_BY_NAME                                       'mysql_query'
          3        ROPE_INIT                                     3  ~8      'SELECT+%2A+FROM+users+WHERE+email+%3D+%27'
          4        ROPE_ADD                                      1  ~8      ~8, !0
          5        ROPE_END                                      2  ~7      ~8, '%27'
          6        SEND_VAL_EX                                              ~7
          7        DO_FCALL                                      0  $10     
          8        ASSIGN                                           ~11     !2, $10
          9      > JMPNZ_EX                                         ~11     ~11, ->14
         10    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         11        DO_FCALL                                      0  $12     
         12      > EXIT                                                     $12
         13*       BOOL                                             ~11     <true>
   49    14    >   INIT_FCALL_BY_NAME                                       'mysql_num_rows'
         15        SEND_VAR_EX                                              !2
         16        DO_FCALL                                      0  $13     
         17        ASSIGN                                                   !3, $13
   50    18        IS_SMALLER                                               0, !3
         19      > JMPZ                                                     ~15, ->37
   51    20    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_array'
         21        SEND_VAR_EX                                              !2
         22        DO_FCALL                                      0  $16     
         23        ASSIGN                                                   !2, $16
   52    24        FETCH_DIM_R                                      ~18     !2, 'salt'
         25        ASSIGN                                                   !4, ~18
   53    26        FETCH_DIM_R                                      ~20     !2, 'encrypted_password'
         27        ASSIGN                                                   !5, ~20
   54    28        INIT_METHOD_CALL                                         'checkhashSSHA'
         29        SEND_VAR_EX                                              !4
         30        SEND_VAR_EX                                              !1
         31        DO_FCALL                                      0  $22     
         32        ASSIGN                                                   !6, $22
   56    33        IS_EQUAL                                                 !5, !6
         34      > JMPZ                                                     ~24, ->36
   58    35    > > RETURN                                                   !2
         36    > > JMP                                                      ->38
   62    37    > > RETURN                                                   <false>
   64    38    > > RETURN                                                   null

End of function getuserbyemailandpassword

Function getcourses:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 7, Position 2 = 20
Branch analysis from position: 7
2 jumps found. (Code = 47) Position 1 = 16, Position 2 = 20
Branch analysis from position: 16
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 36
Branch analysis from position: 22
2 jumps found. (Code = 47) Position 1 = 32, Position 2 = 36
Branch analysis from position: 32
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 38, Position 2 = 45
Branch analysis from position: 38
2 jumps found. (Code = 43) Position 1 = 51, Position 2 = 136
Branch analysis from position: 51
1 jumps found. (Code = 42) Position 1 = 130
Branch analysis from position: 130
2 jumps found. (Code = 44) Position 1 = 135, Position 2 = 52
Branch analysis from position: 135
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 135, Position 2 = 52
Branch analysis from position: 135
Branch analysis from position: 52
Branch analysis from position: 136
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 45
Branch analysis from position: 36
Branch analysis from position: 20
filename:       /in/fh6jG
function name:  getCourses
number of ops:  138
compiled vars:  !0 = $user, !1 = $selectionKey, !2 = $selectionValue, !3 = $temp, !4 = $result, !5 = $no_of_rows, !6 = $row
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   67     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   70     3        ASSIGN                                                   !3, <array>
   75     4        ASSIGN                                                   !4, null
   77     5        IS_EQUAL                                                 !1, 'CRN'
          6      > JMPZ                                                     ~9, ->20
   78     7    >   INIT_FCALL_BY_NAME                                       'mysql_query'
          8        ROPE_INIT                                     4  ~11     'SELECT+%2A+FROM+UsfCourses+where+%27'
          9        ROPE_ADD                                      1  ~11     ~11, !1
         10        ROPE_ADD                                      2  ~11     ~11, '%27+%3D+'
         11        ROPE_END                                      3  ~10     ~11, !2
         12        SEND_VAL_EX                                              ~10
         13        DO_FCALL                                      0  $13     
         14        ASSIGN                                           ~14     !4, $13
         15      > JMPNZ_EX                                         ~14     ~14, ->20
         16    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         17        DO_FCALL                                      0  $15     
         18      > EXIT                                                     $15
         19*       BOOL                                             ~14     <true>
   80    20    >   IS_EQUAL                                                 !1, 'SubjectCRS'
         21      > JMPZ                                                     ~16, ->36
   81    22    >   INIT_FCALL_BY_NAME                                       'mysql_query'
         23        ROPE_INIT                                     5  ~18     'SELECT+%2A+FROM+UsfCourses+where+%27'
         24        ROPE_ADD                                      1  ~18     ~18, !1
         25        ROPE_ADD                                      2  ~18     ~18, '%27+%3D+%27'
         26        ROPE_ADD                                      3  ~18     ~18, !2
         27        ROPE_END                                      4  ~17     ~18, '%27'
         28        SEND_VAL_EX                                              ~17
         29        DO_FCALL                                      0  $21     
         30        ASSIGN                                           ~22     !4, $21
         31      > JMPNZ_EX                                         ~22     ~22, ->36
         32    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         33        DO_FCALL                                      0  $23     
         34      > EXIT                                                     $23
         35*       BOOL                                             ~22     <true>
   83    36    >   BOOL                                             ~24     !0
         37      > JMPZ                                                     ~24, ->45
   84    38    >   INIT_FCALL_BY_NAME                                       'mysql_query'
         39        ROPE_INIT                                     3  ~26     '+SELECT+C.%2A+FROM+StudentCourses+S_C%2C+users+S%2C+UsfCourses+C+%0A%09%09%09WHERE+S.StudentID+%3D+%27'
   85    40        ROPE_ADD                                      1  ~26     ~26, !0
         41        ROPE_END                                      2  ~25     ~26, '%27+AND+S_C.CourseID+%3D+C.CourseID'
         42        SEND_VAL_EX                                              ~25
         43        DO_FCALL                                      0  $28     
   84    44        ASSIGN                                                   !4, $28
   88    45    >   INIT_FCALL_BY_NAME                                       'mysql_num_rows'
         46        SEND_VAR_EX                                              !4
         47        DO_FCALL                                      0  $30     
         48        ASSIGN                                                   !5, $30
   90    49        IS_SMALLER                                               0, !5
         50      > JMPZ                                                     ~32, ->136
   91    51    > > JMP                                                      ->130
   92    52    >   INIT_FCALL                                               'array_push'
         53        FETCH_DIM_W                                      $33     !3, 'CourseID'
         54        SEND_REF                                                 $33
         55        FETCH_DIM_R                                      ~34     !6, 'CourseID'
         56        SEND_VAL                                                 ~34
         57        DO_ICALL                                                 
   93    58        INIT_FCALL                                               'array_push'
         59        FETCH_DIM_W                                      $36     !3, 'College'
         60        SEND_REF                                                 $36
         61        FETCH_DIM_R                                      ~37     !6, 'College'
         62        SEND_VAL                                                 ~37
         63        DO_ICALL                                                 
   94    64        INIT_FCALL                                               'array_push'
         65        FETCH_DIM_W                                      $39     !3, 'Department'
         66        SEND_REF                                                 $39
         67        FETCH_DIM_R                                      ~40     !6, 'Department'
         68        SEND_VAL                                                 ~40
         69        DO_ICALL                                                 
   95    70        INIT_FCALL                                               'array_push'
         71        FETCH_DIM_W                                      $42     !3, 'CRN'
         72        SEND_REF                                                 $42
         73        FETCH_DIM_R                                      ~43     !6, 'CRN'
         74        SEND_VAL                                                 ~43
         75        DO_ICALL                                                 
   96    76        INIT_FCALL                                               'array_push'
         77        FETCH_DIM_W                                      $45     !3, 'SubjectCRS'
         78        SEND_REF                                                 $45
         79        FETCH_DIM_R                                      ~46     !6, 'SubjectCRS'
         80        SEND_VAL                                                 ~46
         81        DO_ICALL                                                 
   97    82        INIT_FCALL                                               'array_push'
         83        FETCH_DIM_W                                      $48     !3, 'Section'
         84        SEND_REF                                                 $48
         85        FETCH_DIM_R                                      ~49     !6, 'Section'
         86        SEND_VAL                                                 ~49
         87        DO_ICALL                                                 
   98    88        INIT_FCALL                                               'array_push'
         89        FETCH_DIM_W                                      $51     !3, 'Title'
         90        SEND_REF                                                 $51
         91        FETCH_DIM_R                                      ~52     !6, 'Title'
         92        SEND_VAL                                                 ~52
         93        DO_ICALL                                                 
   99    94        INIT_FCALL                                               'array_push'
         95        FETCH_DIM_W                                      $54     !3, 'Building'
         96        SEND_REF                                                 $54
         97        FETCH_DIM_R                                      ~55     !6, 'Building'
         98        SEND_VAL                                                 ~55
         99        DO_ICALL                                                 
  100   100        INIT_FCALL                                               'array_push'
        101        FETCH_DIM_W                                      $57     !3, 'Room'
        102        SEND_REF                                                 $57
        103        FETCH_DIM_R                                      ~58     !6, 'Room'
        104        SEND_VAL                                                 ~58
        105        DO_ICALL                                                 
  101   106        INIT_FCALL                                               'array_push'
        107        FETCH_DIM_W                                      $60     !3, 'Instructor'
        108        SEND_REF                                                 $60
        109        FETCH_DIM_R                                      ~61     !6, 'Instructor'
        110        SEND_VAL                                                 ~61
        111        DO_ICALL                                                 
  102   112        INIT_FCALL                                               'array_push'
        113        FETCH_DIM_W                                      $63     !3, 'Campus'
        114        SEND_REF                                                 $63
        115        FETCH_DIM_R                                      ~64     !6, 'Campus'
        116        SEND_VAL                                                 ~64
        117        DO_ICALL                                                 
  103   118        INIT_FCALL                                               'array_push'
        119        FETCH_DIM_W                                      $66     !3, 'Time'
        120        SEND_REF                                                 $66
        121        FETCH_DIM_R                                      ~67     !6, 'Time'
        122        SEND_VAL                                                 ~67
        123        DO_ICALL                                                 
  104   124        INIT_FCALL                                               'array_push'
        125        FETCH_DIM_W                                      $69     !3, 'Days'
        126        SEND_REF                                                 $69
        127        FETCH_DIM_R                                      ~70     !6, 'Days'
        128        SEND_VAL                                                 ~70
        129        DO_ICALL                                                 
   91   130    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_array'
        131        SEND_VAR_EX                                              !4
        132        DO_FCALL                                      0  $72     
        133        ASSIGN                                           ~73     !6, $72
        134      > JMPNZ                                                    ~73, ->52
  106   135    > > RETURN                                                   !3
  109   136    > > RETURN                                                   <false>
  110   137*     > RETURN                                                   null

End of function getcourses

Function isuserexisted:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 16
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  isUserExisted
number of ops:  18
compiled vars:  !0 = $email, !1 = $result, !2 = $no_of_rows
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  117     0  E >   RECV                                             !0      
  118     1        INIT_FCALL_BY_NAME                                       'mysql_query'
          2        ROPE_INIT                                     3  ~4      'SELECT+email+from+users+WHERE+email+%3D+%27'
          3        ROPE_ADD                                      1  ~4      ~4, !0
          4        ROPE_END                                      2  ~3      ~4, '%27'
          5        SEND_VAL_EX                                              ~3
          6        DO_FCALL                                      0  $6      
          7        ASSIGN                                                   !1, $6
  119     8        INIT_FCALL_BY_NAME                                       'mysql_num_rows'
          9        SEND_VAR_EX                                              !1
         10        DO_FCALL                                      0  $8      
         11        ASSIGN                                                   !2, $8
  120    12        IS_SMALLER                                               0, !2
         13      > JMPZ                                                     ~10, ->16
  122    14    > > RETURN                                                   <true>
         15*       JMP                                                      ->17
  125    16    > > RETURN                                                   <false>
  127    17*     > RETURN                                                   null

End of function isuserexisted

Function hashssha:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  hashSSHA
number of ops:  28
compiled vars:  !0 = $password, !1 = $salt, !2 = $encrypted, !3 = $hash
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  134     0  E >   RECV                                             !0      
  136     1        INIT_FCALL                                               'sha1'
          2        INIT_FCALL                                               'rand'
          3        DO_ICALL                                         $4      
          4        SEND_VAR                                                 $4
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !1, $5
  137     7        INIT_FCALL                                               'substr'
          8        SEND_VAR                                                 !1
          9        SEND_VAL                                                 0
         10        SEND_VAL                                                 10
         11        DO_ICALL                                         $7      
         12        ASSIGN                                                   !1, $7
  138    13        INIT_FCALL                                               'base64_encode'
         14        INIT_FCALL                                               'sha1'
         15        CONCAT                                           ~9      !0, !1
         16        SEND_VAL                                                 ~9
         17        SEND_VAL                                                 <true>
         18        DO_ICALL                                         $10     
         19        CONCAT                                           ~11     $10, !1
         20        SEND_VAL                                                 ~11
         21        DO_ICALL                                         $12     
         22        ASSIGN                                                   !2, $12
  139    23        INIT_ARRAY                                       ~14     !1, 'salt'
         24        ADD_ARRAY_ELEMENT                                ~14     !2, 'encrypted'
         25        ASSIGN                                                   !3, ~14
  140    26      > RETURN                                                   !3
  141    27*     > RETURN                                                   null

End of function hashssha

Function checkhashssha:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  checkhashSSHA
number of ops:  14
compiled vars:  !0 = $salt, !1 = $password, !2 = $hash
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  148     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  150     2        INIT_FCALL                                               'base64_encode'
          3        INIT_FCALL                                               'sha1'
          4        CONCAT                                           ~3      !1, !0
          5        SEND_VAL                                                 ~3
          6        SEND_VAL                                                 <true>
          7        DO_ICALL                                         $4      
          8        CONCAT                                           ~5      $4, !0
          9        SEND_VAL                                                 ~5
         10        DO_ICALL                                         $6      
         11        ASSIGN                                                   !2, $6
  152    12      > RETURN                                                   !2
  153    13*     > RETURN                                                   null

End of function checkhashssha

Function storecourse:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 26
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/fh6jG
function name:  storeCourse
number of ops:  28
compiled vars:  !0 = $StudentID, !1 = $CourseID, !2 = $result, !3 = $uid
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  155     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  157     2        INIT_FCALL_BY_NAME                                       'mysql_query'
          3        ROPE_INIT                                     5  ~5      'INSERT+INTO+StudentCourses%28StudentID%2C+CourseID%29+VALUES%28%27'
          4        ROPE_ADD                                      1  ~5      ~5, !0
          5        ROPE_ADD                                      2  ~5      ~5, '%27%2C+%27'
          6        ROPE_ADD                                      3  ~5      ~5, !1
          7        ROPE_END                                      4  ~4      ~5, '%27%29'
          8

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
154.63 ms | 1428 KiB | 25 Q