From eb6b3e5f229e018fbdeb15df287294e4996ca326 Mon Sep 17 00:00:00 2001 From: Yannick Warnier Date: Wed, 22 Mar 2017 23:10:11 -0500 Subject: [PATCH] Minor - Code style --- plugin/pens/chamilo_pens.php | 457 ++++++++++++++++++----------------- 1 file changed, 238 insertions(+), 219 deletions(-) diff --git a/plugin/pens/chamilo_pens.php b/plugin/pens/chamilo_pens.php index 20c32af0c6..34e78d7e27 100755 --- a/plugin/pens/chamilo_pens.php +++ b/plugin/pens/chamilo_pens.php @@ -1,26 +1,26 @@ . */ - - /** + +/** * ChamiloPens - * + * * This file provides the ChamiloPens class - * + * * @author Guillaume Viguier-Just * @licence http://www.gnu.org/licenses/gpl.txt */ @@ -30,219 +30,238 @@ require_once __DIR__ . '/lib/pens.php'; /** * ChamiloPens - * + * * Model class that stores a PENS request made to a Chamilo server into the database - * + * * @author Guillaume Viguier-Just * @licence http://www.gnu.org/licenses/gpl.txt */ -class ChamiloPens extends Plugin { - /** - * Database table to be used - */ - const TABLE_NAME = "plugin_pens"; - - /** - * Id of the object - * @var int - */ - protected $_id = null; - - /** - * PENS Version to be used. Currently, the only valid value is 1.0.0. Required. - * @var string - */ - protected $_pens_version = null; - - /** - * Package type being used. The only valid values are aicc-pkg, scorm-pif, ims-qti. Required - * @var string - */ - protected $_package_type = null; - - /** - * Package type version. Required - * @var string - */ - protected $_package_type_version = null; - - /** - * Package format. The only valid values are zip, url, jar, war and xml. Required - * @var string - */ - protected $_package_format = null; - - /** - * Package id. Requires a valid URI according to RFC 2396. Required - * @var string - */ - protected $_package_id = null; - - /** - * Name or ID for client submitting the content package to the target system. Required. - * @var string - */ - protected $_client = null; - - /** - * Unstructured character string that may be used to transfer vendor-specific data such as processing hints or deployment information. Optional. - * @var string - */ - protected $_vendor_data = null; - - /** - * Package name - * @var string - */ - protected $_package_name = null; - - /** - * Date of creation - * @var DateTime - */ - protected $_created_at = null; - - /** - * Update date - * @var DateTime - */ - protected $_updated_at = null; - - /** - * Constructor. Takes a PENSRequest as an argument - * - * @param PENSRequest Request - */ - public function __construct($request) { - if($request instanceof PENSRequest) { - $this->_id = 0; - $this->_pens_version = $request->getPensVersion(); - $this->_package_type = $request->getPackageType(); - $this->_package_type_version = $request->getPackageTypeVersion(); - $this->_package_format = $request->getPackageFormat(); - $this->_package_id = $request->getPackageId(); - $this->_client = $request->getClient(); - $this->_vendor_data = $request->getVendorData(); - $this->_package_name = $request->getFilename(); - } else if(is_array($request)) { - $this->_id = $request['id']; - $this->_pens_version = $request['pens_version']; - $this->_package_type = $request['package_type']; - $this->_package_type_version = $request['package_type_version']; - $this->_package_format = $request['package_format']; - $this->_package_id = $request['package_id']; - $this->_client = $request['client']; - $this->_vendor_data = $request['vendor_data']; - $this->_package_name = $request['package_name']; - $this->_created_at = new DateTime($request['created_at'], new DateTimeZone('UTC')); - if(!empty($request['updated_at'])) { - $this->_updated_at = new DateTime($request['updated_at'], new DateTimeZone('UTC')); - } - } - } - - /** - * Saves the object in the DB - */ - public function save() { - $clean_package_type_version = Database::escape_string($this->_package_type_version); - $clean_package_id = Database::escape_string($this->_package_id); - $clean_client = Database::escape_string($this->_client); - $clean_vendor_data = Database::escape_string($this->_vendor_data); - $created_at = api_get_utc_datetime(); - $table = Database::get_main_table(ChamiloPens::TABLE_NAME); - $sql_query = "INSERT INTO $table (pens_version, package_type, package_type_version, package_format, package_id, client, vendor_data, package_name, created_at) VALUES (" . - "'". $this->_pens_version. "', " . - "'".$this->_package_type. "', " . - "'".$clean_package_type_version. "', " . - "'".$this->_package_format. "', " . - "'".$clean_package_id. "', " . - "'".$clean_client."', " . - "'".$clean_vendor_data."', " . - "'".$this->_package_name."', " . - "'".$created_at."') ON DUPLICATE KEY UPDATE " . - "pens_version = VALUES(pens_version), ". - "package_type = VALUES(package_type), ". - "package_type_version = VALUES(package_type_version), ". - "package_format = VALUES(package_format), ". - "client = VALUES(client), ". - "vendor_data = VALUES(vendor_data), ". - "package_name = VALUES(package_name), ". - "updated_at = '".$created_at."';"; - Database::query($sql_query); - } - - /** - * Returns a ChamiloPens object, based on package id - * - * @param string Package id - */ - public static function findByPackageId($package_id) { - $table = Database::get_main_table(ChamiloPens::TABLE_NAME); - $sql_query = "SELECT * FROM $table WHERE package_id = '".$package_id."';"; - $results = Database::query($sql_query); - $number = Database::num_rows($results); - if($number == 1) { - $obj = Database::fetch_assoc($results); - return new ChamiloPens($obj); - } else { - return null; - } - } - - /** - * Returns an array of all the objects of the DB - * - * @return array Array of ChamiloPens objects - */ - public static function findAll() { - $table = Database::get_main_table(ChamiloPens::TABLE_NAME); - $sql_query = "SELECT * FROM $table ORDER BY created_at;"; - $results = Database::query($sql_query); - $return = array(); - while($assoc = Database::fetch_assoc($results)) { - $return[] = new ChamiloPens($assoc); - } - return $return; - } - - public function getId() { - return $this->_id; - } - - public function getPensVersion() { - return $this->_pens_version; - } - - public function getPackageType() { - return $this->_package_type; - } - - public function getPackageTypeVersion() { - return $this->_package_type_version; - } - - public function getPackageFormat() { - return $this->_package_format; - } - - public function getPackageId() { - return $this->_package_id; - } - - public function getClient() { - return $this->_client; - } - - public function getVendorData() { - return $this->_vendor_data; - } - - public function getPackageName() { - return $this->_package_name; - } - - public function getCreatedAt() { - return $this->_created_at; - } +class ChamiloPens extends Plugin +{ + /** + * Database table to be used + */ + const TABLE_NAME = "plugin_pens"; + + /** + * Id of the object + * @var int + */ + protected $_id = null; + + /** + * PENS Version to be used. Currently, the only valid value is 1.0.0. Required. + * @var string + */ + protected $_pens_version = null; + + /** + * Package type being used. The only valid values are aicc-pkg, scorm-pif, ims-qti. Required + * @var string + */ + protected $_package_type = null; + + /** + * Package type version. Required + * @var string + */ + protected $_package_type_version = null; + + /** + * Package format. The only valid values are zip, url, jar, war and xml. Required + * @var string + */ + protected $_package_format = null; + + /** + * Package id. Requires a valid URI according to RFC 2396. Required + * @var string + */ + protected $_package_id = null; + + /** + * Name or ID for client submitting the content package to the target system. Required. + * @var string + */ + protected $_client = null; + + /** + * Unstructured character string that may be used to transfer vendor-specific data such as processing hints or deployment information. Optional. + * @var string + */ + protected $_vendor_data = null; + + /** + * Package name + * @var string + */ + protected $_package_name = null; + + /** + * Date of creation + * @var DateTime + */ + protected $_created_at = null; + + /** + * Update date + * @var DateTime + */ + protected $_updated_at = null; + + /** + * Constructor. Takes a PENSRequest as an argument + * @param object $request Request + * @return ChamiloPens + */ + public function __construct($request) + { + if ($request instanceof PENSRequest) { + $this->_id = 0; + $this->_pens_version = $request->getPensVersion(); + $this->_package_type = $request->getPackageType(); + $this->_package_type_version = $request->getPackageTypeVersion(); + $this->_package_format = $request->getPackageFormat(); + $this->_package_id = $request->getPackageId(); + $this->_client = $request->getClient(); + $this->_vendor_data = $request->getVendorData(); + $this->_package_name = $request->getFilename(); + } else { + if (is_array($request)) { + $this->_id = $request['id']; + $this->_pens_version = $request['pens_version']; + $this->_package_type = $request['package_type']; + $this->_package_type_version = $request['package_type_version']; + $this->_package_format = $request['package_format']; + $this->_package_id = $request['package_id']; + $this->_client = $request['client']; + $this->_vendor_data = $request['vendor_data']; + $this->_package_name = $request['package_name']; + $this->_created_at = new DateTime($request['created_at'], new DateTimeZone('UTC')); + if (!empty($request['updated_at'])) { + $this->_updated_at = new DateTime($request['updated_at'], new DateTimeZone('UTC')); + } + } + } + } + + /** + * Saves the object in the DB + * @return void + */ + public function save() + { + $clean_package_type_version = Database::escape_string($this->_package_type_version); + $clean_package_id = Database::escape_string($this->_package_id); + $clean_client = Database::escape_string($this->_client); + $clean_vendor_data = Database::escape_string($this->_vendor_data); + $created_at = api_get_utc_datetime(); + $table = Database::get_main_table(ChamiloPens::TABLE_NAME); + $sql_query = "INSERT INTO $table (pens_version, package_type, package_type_version, package_format, package_id, client, vendor_data, package_name, created_at) VALUES (" . + "'" . $this->_pens_version . "', " . + "'" . $this->_package_type . "', " . + "'" . $clean_package_type_version . "', " . + "'" . $this->_package_format . "', " . + "'" . $clean_package_id . "', " . + "'" . $clean_client . "', " . + "'" . $clean_vendor_data . "', " . + "'" . $this->_package_name . "', " . + "'" . $created_at . "') ON DUPLICATE KEY UPDATE " . + "pens_version = VALUES(pens_version), " . + "package_type = VALUES(package_type), " . + "package_type_version = VALUES(package_type_version), " . + "package_format = VALUES(package_format), " . + "client = VALUES(client), " . + "vendor_data = VALUES(vendor_data), " . + "package_name = VALUES(package_name), " . + "updated_at = '" . $created_at . "';"; + Database::query($sql_query); + } + + /** + * Returns a ChamiloPens object, based on package id + * + * @param string $package_id Package id + * @return ChamiloPens|null + */ + public static function findByPackageId($package_id) + { + $table = Database::get_main_table(ChamiloPens::TABLE_NAME); + $sql_query = "SELECT * FROM $table WHERE package_id = '" . $package_id . "';"; + $results = Database::query($sql_query); + $number = Database::num_rows($results); + if ($number == 1) { + $obj = Database::fetch_assoc($results); + return new ChamiloPens($obj); + } else { + return null; + } + } + + /** + * Returns an array of all the objects of the DB + * + * @return array Array of ChamiloPens objects + */ + public static function findAll() + { + $table = Database::get_main_table(ChamiloPens::TABLE_NAME); + $sql_query = "SELECT * FROM $table ORDER BY created_at;"; + $results = Database::query($sql_query); + $return = array(); + while ($assoc = Database::fetch_assoc($results)) { + $return[] = new ChamiloPens($assoc); + } + return $return; + } + + public function getId() + { + return $this->_id; + } + + public function getPensVersion() + { + return $this->_pens_version; + } + + public function getPackageType() + { + return $this->_package_type; + } + + public function getPackageTypeVersion() + { + return $this->_package_type_version; + } + + public function getPackageFormat() + { + return $this->_package_format; + } + + public function getPackageId() + { + return $this->_package_id; + } + + public function getClient() + { + return $this->_client; + } + + public function getVendorData() + { + return $this->_vendor_data; + } + + public function getPackageName() + { + return $this->_package_name; + } + + public function getCreatedAt() + { + return $this->_created_at; + } }