123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390 |
- <?php
- /* For licensing terms, see /license.txt */
- /**
- * Link class definition
- * @package chamilo.link
- */
- /**
- * Init
- */
- namespace Link;
- /**
- * Model for Link/Urls
- *
- *
- * @author Laurent Opprecht <laurent@opprecht.info> for the Univesity of Genevas
- * @license /license.txt
- */
- class Link
- {
- /**
- * @return \Entity\Repository\LinkRepository
- */
- public static function repository()
- {
- return \Entity\Repository\LinkRepository::instance();
- }
- /**
- * @return \Entity\Link
- */
- public static function create($data = null)
- {
- return new self($data);
- }
- function __construct($data = null)
- {
- if ($data) {
- foreach ($this as $key => $value) {
- if (isset($data->{$key})) {
- $this->{$key} = $data->{$key};
- }
- }
- }
- }
- function __get($name)
- {
- $f = array($this, "get_$name");
- return call_user_func($f);
- }
- function __isset($name)
- {
- $f = array($this, "get_$name");
- return is_callable($f);
- }
- function __set($name, $value)
- {
- $f = array($this, "set_$name");
- if (!is_callable($f)) {
- return;
- }
- call_user_func($f, $value);
- }
- /**
- * @var integer $c_id
- */
- protected $c_id;
- /**
- * @var integer $id
- */
- protected $id;
- /**
- * @var text $url
- */
- protected $url;
- /**
- * @var string $title
- */
- protected $title;
- /**
- * @var text $description
- */
- protected $description;
- /**
- * @var integer $category_id
- */
- protected $category_id;
- /**
- * @var integer $display_order
- */
- protected $display_order;
- /**
- * @var string $on_homepage
- */
- protected $on_homepage;
- /**
- * @var string $target
- */
- protected $target;
- /**
- * @var integer $session_id
- */
- protected $session_id;
- protected $visibility = 0;
- /**
- * Set c_id
- *
- * @param integer $value
- * @return Link
- */
- public function set_c_id($value)
- {
- $this->c_id = $value;
- return $this;
- }
- /**
- * Get c_id
- *
- * @return integer
- */
- public function get_c_id()
- {
- return $this->c_id;
- }
- /**
- * Set id
- *
- * @param integer $value
- * @return Link
- */
- public function set_id($value)
- {
- $this->id = $value;
- return $this;
- }
- /**
- * Get id
- *
- * @return integer
- */
- public function get_id()
- {
- return $this->id;
- }
- /**
- * Set url
- *
- * @param text $value
- * @return Link
- */
- public function set_url($value)
- {
- $this->url = $value;
- return $this;
- }
- /**
- * Get url
- *
- * @return text
- */
- public function get_url()
- {
- return $this->url;
- }
- /**
- * Set title
- *
- * @param string $value
- * @return Link
- */
- public function set_title($value)
- {
- $this->title = $value;
- return $this;
- }
- /**
- * Get title
- *
- * @return string
- */
- public function get_title()
- {
- return $this->title;
- }
- /**
- * Set description
- *
- * @param text $value
- * @return Link
- */
- public function set_description($value)
- {
- $this->description = $value;
- return $this;
- }
- /**
- * Get description
- *
- * @return text
- */
- public function get_description()
- {
- return $this->description;
- }
- /**
- * Set category_id
- *
- * @param integer $value
- * @return Link
- */
- public function set_category_id($value)
- {
- $this->category_id = $value;
- return $this;
- }
- /**
- * Get category_id
- *
- * @return integer
- */
- public function get_category_id()
- {
- return $this->category_id;
- }
- /**
- * Set display_order
- *
- * @param integer $value
- * @return Link
- */
- public function set_display_order($value)
- {
- $this->display_order = $value;
- return $this;
- }
- /**
- * Get display_order
- *
- * @return integer
- */
- public function get_display_order()
- {
- return $this->display_order;
- }
- /**
- * Set on_homepage
- *
- * @param string $value
- * @return Link
- */
- public function set_on_homepage($value)
- {
- $this->on_homepage = $value;
- return $this;
- }
- /**
- * Get on_homepage
- *
- * @return string
- */
- public function get_on_homepage()
- {
- return $this->on_homepage;
- }
- /**
- * Set target
- *
- * @param string $value
- * @return Link
- */
- public function set_target($value)
- {
- $this->target = $value;
- return $this;
- }
- /**
- * Get target
- *
- * @return string
- */
- public function get_target()
- {
- return $this->target;
- }
- /**
- * Set session_id
- *
- * @param integer $value
- * @return Link
- */
- public function set_session_id($value)
- {
- $this->session_id = $value;
- return $this;
- }
- /**
- * Get session_id
- *
- * @return integer
- */
- public function get_session_id()
- {
- return $this->session_id;
- }
- public function get_visibility()
- {
- return (int) $this->visibility;
- }
- public function set_visibility($value)
- {
- $this->visibility = (int) $value;
- return $this;
- }
- public function is_visible()
- {
- return $this->get_visibility() == 1;
- }
- public function is_hidden()
- {
- return $this->get_visibility() == 0;
- }
- public function validate()
- {
- $url = $this->get_url();
- if (empty($url)) {
- return false;
- }
- if (!in_array('curl', get_loaded_extensions())) {
- true;
- }
-
- $defaults = array(
- CURLOPT_URL => $url,
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_HEADER => 0,
- CURLOPT_NOBODY => true,
- CURLOPT_TIMEOUT => 4,
- CURLOPT_RETURNTRANSFER => false
- );
- $ch = curl_init();
- curl_setopt_array($ch, $defaults);
- $result = curl_exec($ch);
- curl_close($ch);
- return $result;
- }
- }
|