background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

51 

 

1. 

// Return true if the the user is an editor to the project

 

2. 

function

 validate_edit_rights

(

$editors

){

 

3. 

  if

(

$this

->

type

==

'1'

){

 

4. 

    $valid

 

=

 

true

;

 

 

5. 

  }

else

{

 

6. 

    $valid

 

=

 

false

;

 

 

7. 

    foreach

(

$editors

 

as

 

$editor

){

 

8. 

      if

(

 

$editor

[

'username'

]

 

==

 

$this

->

username

){

 

9. 

        $valid

 

=

 

true

;

 

10. 

     }

 

11. 

   }

 

12. 

 }

 

13. 

 return

 

$valid

;

 

14. 

}

 

 

Κώδικας 16: User.php - Η μέθοδος επαλήθευσης δικαιωμάτων συγγραφέα 

Η δεύτερη μέθοδος αποσκοπεί στην επαλήθευση δικαιωμάτων συγγραφέα του χρήστη σε ένα 
έργο.  Έχει  τον  ίδιο  πίνακα  ως  είσοδο  και  λειτουργεί  με  τον  ίδιο  τρόπο  με  την  διαφορά  ότι 
ελέγχουμε  εάν  ο  χρήστης  υπάρχει  στον  πίνακα  χωρίς  να  εξετάζουμε  τα  συγκεκριμένα 
δικαιώματα  (Κώδικας  16).  Έτσι  επιβεβαιώνουμε  ότι  ο  χρήστης  είναι  συγγραφέας  και 
επιστρέφουμε  αληθές  ή  ψευδές  αντίστοιχα.  Όπως  γίνεται  φανερό  η  κλάση  “User”  μας 
προσφέρει κάποιες χρήσιμες λειτουργίες αλλά έχει σχεδιαστεί κυρίως για την υποστήριξη ενός 
πολυπλοκότερου  συστήματος  χρηστών.  Στοχεύει  στην  διευκόλυνση  πιθανής  μελλοντικής 
επέκτασης  στον  τρόπο  που  αντιμετωπίζεται  κάθε  χρήστης  και  στην  διεύρυνση  των 
δικαιωμάτων πρόσβασης σε διάφορες λειτουργίες από διαφορετικά επίπεδα χρηστών. 

Τέλος,  βλέπουμε  την  κλάση  “General”  που  βρίσκεται  στο  αρχείο  “General.php”.  Η 

κλάση  αυτή  αποτελείται  από  ένα  σύνολο  λειτουργιών  γενικής  χρήσης  που  δεν 
κατηγοριοποιούνται  αλλού.  Ένα  αντικείμενο  αυτής  της  κλάσης  αποτελεί  ουσιαστικά  μία 
βιβλιοθήκη  επέκτασης  προσαρμοσμένη  για  την  εφαρμογή  που  αναπτύξαμε.  Ενδεικτικά, 
κάποιες από τις μεθόδους που προσφέρει η κλάση “General” είναι η “extract_file” που εξάγει 
αρχεία  από  ένα  συμπιεσμένο  αρχείο  και  δημιουργεί  τις  κατάλληλες  σειρές  στην  βάση 
δεδομένων  (Κώδικας  17,  γραμμές  1-23),  η  “send_email”  που  δέχεται  το  μήνυμα,  τίτλο  και 
διεύθυνση e-mail ως είσοδο αναλαμβάνει την αποστολή του αντίστοιχου e-mail (Κώδικας 17, 
γραμμές 26-29) και η “create_short_code” που μετατρέπει μία συμβολοσειρά  σε έγκυρο όνομα 
αρχείου ή καταλόγου (Κώδικας 18).