65 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Any Legacy AlternC Api should use this class as a parent 
 | |
|  * to be able to handle properly the access rights & error messages
 | |
|  *
 | |
|  * @author benjamin
 | |
|  */
 | |
| class Alternc_Api_Legacyobject {
 | |
| 
 | |
|     protected $admin; // m_admin instance
 | |
|     protected $cuid; // current user id
 | |
|     protected $isAdmin; // is it an Admin account?
 | |
|     protected $db; // PDO DB access to AlternC's database.
 | |
| 
 | |
|     const ERR_INVALID_ARGUMENT = 111201;
 | |
|     const ERR_ALTERNC_FUNCTION = 111202;
 | |
|     const ERR_NOT_FOUND = 111203;
 | |
| 
 | |
|     function __construct($service) {
 | |
|         global $admin, $cuid;
 | |
|         if (!($service instanceof Alternc_Api_Service)) {
 | |
|             throw new \Exception("Bad argument: service is not an Alternc_Api_Service", self::ERR_INVALID_ARGUMENT);
 | |
|         }
 | |
|         // We store the global $cuid to AlternC legacy classes
 | |
|         $this->db = $service->db;
 | |
|         $this->cuid = $cuid = $service->token->uid;
 | |
|         $this->isAdmin = $service->token->isAdmin;
 | |
|         // We use the global $admin from AlternC legacy classes
 | |
|         $this->admin = $admin;
 | |
|         // Set the legacy rights:
 | |
|         $this->admin->enabled = $this->isAdmin;
 | |
|     }
 | |
| 
 | |
|     /** return a proper Alternc_Api_Response from an error class and error string 
 | |
|      * from AlternC legacy class
 | |
|      */
 | |
|     protected function alterncLegacyErrorManager() {
 | |
|         global $err;
 | |
|         return new Alternc_Api_Response(array("code" => self::ERR_ALTERNC_FUNCTION, "message" => "[" . $err->clsid . "] " . $err->error));
 | |
|     }
 | |
| 
 | |
|     /** ensure that offset & count are set properly from $options.
 | |
|      */
 | |
|     protected function offsetAndCount($options, $max) {
 | |
|         $offset = -1;
 | |
|         $count = -1;
 | |
|         if (isset($options["count"]))
 | |
|             $count = intval($options["count"]);
 | |
|         if (isset($options["offset"]))
 | |
|             $offset = intval($options["offset"]);
 | |
|         if ($offset != -1 || $count != -1) {
 | |
|             if ($offset < 0 || $offset > $max)
 | |
|                 $offset = 0;
 | |
|             if ($count < 0 || $count > 1000)
 | |
|                 $count = 1000;
 | |
|         }
 | |
|         return array($offset, $count);
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 | |
| // Aternc_Api_Legacyobject 
 | |
| 
 |