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, $phoneNumber) { $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, phone, name, email, encrypted_password, salt, created_at) VALUES('$uuid', '$phoneNumber', '$name', '$email', '$encrypted_password', '$salt', NOW())") or die(mysql_error()); // check for successful store if ($result) { // return user details return $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 Array**/ $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($user == true){ $result = mysql_query(" SELECT * FROM StudentCourses S_C, users S, UsfCourses C WHERE S.StudentID = '$user' AND S_C.CourseID = C.CourseID AND S_C.StudentID = S.StudentID")or die(mysql_error()); } else if($selectionKey =='CRN'){ $result = mysql_query("SELECT * FROM UsfCourses where $selectionKey = '$selectionValue'") or die(mysql_error()); } else { $result = mysql_query("SELECT * FROM UsfCourses where $selectionKey = '$selectionValue'") or die(mysql_error()); } if ($result->mysql_num_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; } return false; //course was not found } /** * 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) { $uid = mysql_insert_id(); // last inserted id $result = mysql_query("SELECT * FROM StudentCourses WHERE StudentClassID = $uid"); 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/hLBnY
function name:  (null)
number of ops:  1
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  212     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/hLBnY
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/hLBnY
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 = 47) Position 1 = 35, Position 2 = 39
Branch analysis from position: 35
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 40, Position 2 = 42
Branch analysis from position: 40
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/hLBnY
function name:  storeUser
number of ops:  44
compiled vars:  !0 = $name, !1 = $email, !2 = $password, !3 = $phoneNumber, !4 = $uuid, !5 = $hash, !6 = $encrypted_password, !7 = $salt, !8 = $result
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   25     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
   26     4        INIT_FCALL                                               'uniqid'
          5        SEND_VAL                                                 ''
          6        SEND_VAL                                                 <true>
          7        DO_ICALL                                         $9      
          8        ASSIGN                                                   !4, $9
   27     9        INIT_METHOD_CALL                                         'hashSSHA'
         10        SEND_VAR_EX                                              !2
         11        DO_FCALL                                      0  $11     
         12        ASSIGN                                                   !5, $11
   28    13        FETCH_DIM_R                                      ~13     !5, 'encrypted'
         14        ASSIGN                                                   !6, ~13
   29    15        FETCH_DIM_R                                      ~15     !5, 'salt'
         16        ASSIGN                                                   !7, ~15
   30    17        INIT_FCALL_BY_NAME                                       'mysql_query'
         18        ROPE_INIT                                    13  ~18     'INSERT+INTO+users%28unique_id%2C+phone%2C+name%2C+email%2C+encrypted_password%2C+salt%2C+created_at%29+VALUES%28%27'
         19        ROPE_ADD                                      1  ~18     ~18, !4
         20        ROPE_ADD                                      2  ~18     ~18, '%27%2C+%27'
         21        ROPE_ADD                                      3  ~18     ~18, !3
         22        ROPE_ADD                                      4  ~18     ~18, '%27%2C+%27'
         23        ROPE_ADD                                      5  ~18     ~18, !0
         24        ROPE_ADD                                      6  ~18     ~18, '%27%2C+%27'
         25        ROPE_ADD                                      7  ~18     ~18, !1
         26        ROPE_ADD                                      8  ~18     ~18, '%27%2C+%27'
         27        ROPE_ADD                                      9  ~18     ~18, !6
         28        ROPE_ADD                                     10  ~18     ~18, '%27%2C+%27'
         29        ROPE_ADD                                     11  ~18     ~18, !7
         30        ROPE_END                                     12  ~17     ~18, '%27%2C+NOW%28%29%29'
         31        SEND_VAL_EX                                              ~17
         32        DO_FCALL                                      0  $25     
         33        ASSIGN                                           ~26     !8, $25
         34      > JMPNZ_EX                                         ~26     ~26, ->39
         35    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         36        DO_FCALL                                      0  $27     
         37      > EXIT                                                     $27
         38*       BOOL                                             ~26     <true>
   32    39    > > JMPZ                                                     !8, ->42
   34    40    > > RETURN                                                   !8
         41*       JMP                                                      ->43
   36    42    > > RETURN                                                   <false>
   38    43*     > 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/hLBnY
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
-------------------------------------------------------------------------------------
   43     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   44     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>
   46    14    >   INIT_FCALL_BY_NAME                                       'mysql_num_rows'
         15        SEND_VAR_EX                                              !2
         16        DO_FCALL                                      0  $13     
         17        ASSIGN                                                   !3, $13
   47    18        IS_SMALLER                                               0, !3
         19      > JMPZ                                                     ~15, ->37
   48    20    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_array'
         21        SEND_VAR_EX                                              !2
         22        DO_FCALL                                      0  $16     
         23        ASSIGN                                                   !2, $16
   49    24        FETCH_DIM_R                                      ~18     !2, 'salt'
         25        ASSIGN                                                   !4, ~18
   50    26        FETCH_DIM_R                                      ~20     !2, 'encrypted_password'
         27        ASSIGN                                                   !5, ~20
   51    28        INIT_METHOD_CALL                                         'checkhashSSHA'
         29        SEND_VAR_EX                                              !4
         30        SEND_VAR_EX                                              !1
         31        DO_FCALL                                      0  $22     
         32        ASSIGN                                                   !6, $22
   53    33        IS_EQUAL                                                 !5, !6
         34      > JMPZ                                                     ~24, ->36
   55    35    > > RETURN                                                   !2
         36    > > JMP                                                      ->38
   59    37    > > RETURN                                                   <false>
   61    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 = 15, Position 2 = 19
Branch analysis from position: 15
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 19
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 54, Position 2 = 139
Branch analysis from position: 54
1 jumps found. (Code = 42) Position 1 = 133
Branch analysis from position: 133
2 jumps found. (Code = 44) Position 1 = 138, Position 2 = 55
Branch analysis from position: 138
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 55
2 jumps found. (Code = 44) Position 1 = 138, Position 2 = 55
Branch analysis from position: 138
Branch analysis from position: 55
Branch analysis from position: 139
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 20
2 jumps found. (Code = 43) Position 1 = 22, Position 2 = 37
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
1 jumps found. (Code = 42) Position 1 = 51
Branch analysis from position: 51
Branch analysis from position: 37
2 jumps found. (Code = 47) Position 1 = 47, Position 2 = 51
Branch analysis from position: 47
1 jumps found. (Code = 79) Position 1 = -2
Branch analysis from position: 51
filename:       /in/hLBnY
function name:  getCourses
number of ops:  141
compiled vars:  !0 = $user, !1 = $selectionKey, !2 = $selectionValue, !3 = $temp, !4 = $result, !5 = $row
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   64     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   67     3        ASSIGN                                                   !3, <array>
   72     4        ASSIGN                                                   !4, null
   73     5        BOOL                                             ~8      !0
          6      > JMPZ                                                     ~8, ->20
   74     7    >   INIT_FCALL_BY_NAME                                       'mysql_query'
          8        ROPE_INIT                                     3  ~10     '+SELECT+%2A+FROM+StudentCourses+S_C%2C+users+S%2C+UsfCourses+C+%0A%09%09%09WHERE+S.StudentID+%3D+%27'
   75     9        ROPE_ADD                                      1  ~10     ~10, !0
         10        ROPE_END                                      2  ~9      ~10, '%27+AND+S_C.CourseID+%3D+C.CourseID+AND+S_C.StudentID+%3D+S.StudentID'
         11        SEND_VAL_EX                                              ~9
         12        DO_FCALL                                      0  $12     
   74    13        ASSIGN                                           ~13     !4, $12
         14      > JMPNZ_EX                                         ~13     ~13, ->19
   75    15    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         16        DO_FCALL                                      0  $14     
         17      > EXIT                                                     $14
         18*       BOOL                                             ~13     <true>
         19    > > JMP                                                      ->51
   76    20    >   IS_EQUAL                                                 !1, 'CRN'
         21      > JMPZ                                                     ~15, ->37
   77    22    >   INIT_FCALL_BY_NAME                                       'mysql_query'
         23        ROPE_INIT                                     5  ~17     'SELECT+%2A+FROM+UsfCourses+where+'
         24        ROPE_ADD                                      1  ~17     ~17, !1
         25        ROPE_ADD                                      2  ~17     ~17, '+%3D+%27'
         26        ROPE_ADD                                      3  ~17     ~17, !2
         27        ROPE_END                                      4  ~16     ~17, '%27'
         28        SEND_VAL_EX                                              ~16
         29        DO_FCALL                                      0  $20     
         30        ASSIGN                                           ~21     !4, $20
         31      > JMPNZ_EX                                         ~21     ~21, ->36
         32    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         33        DO_FCALL                                      0  $22     
         34      > EXIT                                                     $22
         35*       BOOL                                             ~21     <true>
         36    > > JMP                                                      ->51
   79    37    >   INIT_FCALL_BY_NAME                                       'mysql_query'
         38        ROPE_INIT                                     5  ~24     'SELECT+%2A+FROM+UsfCourses+where+'
         39        ROPE_ADD                                      1  ~24     ~24, !1
         40        ROPE_ADD                                      2  ~24     ~24, '+%3D+%27'
         41        ROPE_ADD                                      3  ~24     ~24, !2
         42        ROPE_END                                      4  ~23     ~24, '%27'
         43        SEND_VAL_EX                                              ~23
         44        DO_FCALL                                      0  $27     
         45        ASSIGN                                           ~28     !4, $27
         46      > JMPNZ_EX                                         ~28     ~28, ->51
         47    >   INIT_FCALL_BY_NAME                                       'mysql_error'
         48        DO_FCALL                                      0  $29     
         49      > EXIT                                                     $29
         50*       BOOL                                             ~28     <true>
   82    51    >   FETCH_OBJ_R                                      ~30     !4, 'mysql_num_rows'
         52        IS_SMALLER                                               0, ~30
         53      > JMPZ                                                     ~31, ->139
   83    54    > > JMP                                                      ->133
   84    55    >   INIT_FCALL                                               'array_push'
         56        FETCH_DIM_W                                      $32     !3, 'CourseID'
         57        SEND_REF                                                 $32
         58        FETCH_DIM_R                                      ~33     !5, 'CourseID'
         59        SEND_VAL                                                 ~33
         60        DO_ICALL                                                 
   85    61        INIT_FCALL                                               'array_push'
         62        FETCH_DIM_W                                      $35     !3, 'College'
         63        SEND_REF                                                 $35
         64        FETCH_DIM_R                                      ~36     !5, 'College'
         65        SEND_VAL                                                 ~36
         66        DO_ICALL                                                 
   86    67        INIT_FCALL                                               'array_push'
         68        FETCH_DIM_W                                      $38     !3, 'Department'
         69        SEND_REF                                                 $38
         70        FETCH_DIM_R                                      ~39     !5, 'Department'
         71        SEND_VAL                                                 ~39
         72        DO_ICALL                                                 
   87    73        INIT_FCALL                                               'array_push'
         74        FETCH_DIM_W                                      $41     !3, 'CRN'
         75        SEND_REF                                                 $41
         76        FETCH_DIM_R                                      ~42     !5, 'CRN'
         77        SEND_VAL                                                 ~42
         78        DO_ICALL                                                 
   88    79        INIT_FCALL                                               'array_push'
         80        FETCH_DIM_W                                      $44     !3, 'SubjectCRS'
         81        SEND_REF                                                 $44
         82        FETCH_DIM_R                                      ~45     !5, 'SubjectCRS'
         83        SEND_VAL                                                 ~45
         84        DO_ICALL                                                 
   89    85        INIT_FCALL                                               'array_push'
         86        FETCH_DIM_W                                      $47     !3, 'Section'
         87        SEND_REF                                                 $47
         88        FETCH_DIM_R                                      ~48     !5, 'Section'
         89        SEND_VAL                                                 ~48
         90        DO_ICALL                                                 
   90    91        INIT_FCALL                                               'array_push'
         92        FETCH_DIM_W                                      $50     !3, 'Title'
         93        SEND_REF                                                 $50
         94        FETCH_DIM_R                                      ~51     !5, 'Title'
         95        SEND_VAL                                                 ~51
         96        DO_ICALL                                                 
   91    97        INIT_FCALL                                               'array_push'
         98        FETCH_DIM_W                                      $53     !3, 'Building'
         99        SEND_REF                                                 $53
        100        FETCH_DIM_R                                      ~54     !5, 'Building'
        101        SEND_VAL                                                 ~54
        102        DO_ICALL                                                 
   92   103        INIT_FCALL                                               'array_push'
        104        FETCH_DIM_W                                      $56     !3, 'Room'
        105        SEND_REF                                                 $56
        106        FETCH_DIM_R                                      ~57     !5, 'Room'
        107        SEND_VAL                                                 ~57
        108        DO_ICALL                                                 
   93   109        INIT_FCALL                                               'array_push'
        110        FETCH_DIM_W                                      $59     !3, 'Instructor'
        111        SEND_REF                                                 $59
        112        FETCH_DIM_R                                      ~60     !5, 'Instructor'
        113        SEND_VAL                                                 ~60
        114        DO_ICALL                                                 
   94   115        INIT_FCALL                                               'array_push'
        116        FETCH_DIM_W                                      $62     !3, 'Campus'
        117        SEND_REF                                                 $62
        118        FETCH_DIM_R                                      ~63     !5, 'Campus'
        119        SEND_VAL                                                 ~63
        120        DO_ICALL                                                 
   95   121        INIT_FCALL                                               'array_push'
        122        FETCH_DIM_W                                      $65     !3, 'Time'
        123        SEND_REF                                                 $65
        124        FETCH_DIM_R                                      ~66     !5, 'Time'
        125        SEND_VAL                                                 ~66
        126        DO_ICALL                                                 
   96   127        INIT_FCALL                                               'array_push'
        128        FETCH_DIM_W                                      $68     !3, 'Days'
        129        SEND_REF                                                 $68
        130        FETCH_DIM_R                                      ~69     !5, 'Days'
        131        SEND_VAL                                                 ~69
        132        DO_ICALL                                                 
   83   133    >   INIT_FCALL_BY_NAME                                       'mysql_fetch_array'
        134        SEND_VAR_EX                                              !4
        135        DO_FCALL                                      0  $71     
        136        ASSIGN                                           ~72     !5, $71
        137      > JMPNZ                                                    ~72, ->55
   98   138    > > RETURN                                                   !3
  100   139    > > RETURN                                                   <false>
  101   140*     > 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/hLBnY
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
-------------------------------------------------------------------------------------
  108     0  E >   RECV                                             !0      
  109     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
  110     8        INIT_FCALL_BY_NAME                                       'mysql_num_rows'
          9        SEND_VAR_EX                                              !1
         10        DO_FCALL                                      0  $8      
         11        ASSIGN                                                   !2, $8
  111    12        IS_SMALLER                                               0, !2
         13      > JMPZ                                                     ~10, ->16
  113    14    > > RETURN                                                   <true>
         15*       JMP                                                      ->17
  116    16    > > RETURN                                                   <false>
  118    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/hLBnY
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
-------------------------------------------------------------------------------------
  125     0  E >   RECV                                             !0      
  127     1        INIT_FCALL                                               'sha1'
          2        INIT_FCALL                                               'rand'
          3        DO_ICALL                                         $4      
          4        SEND_VAR                                                 $4
          5        DO_ICALL                                         $5      
          6        ASSIGN                                                   !1, $5
  128     7        INIT_FCALL                                               'substr'
          8        SEND_VAR                                                 !1
          9        SEND_VAL                                                 0
         10        SEND_VAL                                                 10
         11        DO_ICALL                                         $7      
         12        ASSIGN                                                   !1, $7
  129    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
  130    23        INIT_ARRAY                                       ~14     !1, 'salt'
         24        ADD_ARRAY_ELEMENT                                ~14     !2, 'encrypted'
         25        ASSIGN                                                   !3, ~14
  131    26      > RETURN                                                   !3
  132    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/hLBnY
function name:  checkhashSSHA
number of ops:  14
compiled vars:  !0 = $salt, !1 = $password, !2 = $hash
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  139     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  140     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
  141    12      > RETURN                                                   !2
  142    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/hLBnY
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
-------------------------------------------------------------------------------------
  144     0  E >   RECV                                             !0      
          1        RECV                                             !1      
  146     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

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
259.4 ms | 1428 KiB | 26 Q