Gentics Portal.Node PHP API
 All Classes Namespaces Functions Variables Pages
SavePageLink.php
1 <?php
2 /**
3  * Created by JetBrains PhpStorm.
4  * User: Andrey
5  * Date: 5/23/13
6  * Time: 12:45 PM
7  * To change this template use File | Settings | File Templates.
8  *
9  * This widget creates special link for page. When user clicks on it then page with parametrs remembered in database.
10  */
11 
12 class SavePageLink extends BaseWidget
13 {
14 
15  /**
16  * Title of the remembered page
17  *
18  * @var string
19  **/
20  public $title;
21 
22  /**
23  * Id of the remembered page
24  *
25  * @var string
26  **/
27  public $page_id;
28 
29  /**
30  * Link text
31  *
32  * @var string
33  **/
34  public $text = 'Remember this page';
35 
36  /**
37  * Additional parameters,
38  * contains additional values which will be stored in database. Example how to retrive them is in file views/manage/shareRemembered.php
39  *
40  * @var string
41  **/
42  public $additional = array();
43 
44  /**
45  * Whether redirect user back to the $url or to the HTTP_REFERER
46  *
47  * @var string
48  **/
49  public $back_to_referer = false;
50 
51  /**
52  * Url of the remembered page
53  *
54  * @var string
55  **/
56  public $url;
57  /**
58  * Render widget
59  *
60  * @return void
61  **/
62  public function run()
63  {
64  if(!isset($this->url)){
65  $this->url = Yii::app()->createAbsoluteUrl(Yii::app()->request->requestUri);
66  }
67  if(!isset($this->title)){
68  $this->title = Yii::app()->request->requestUri;
69  }
70 
71  $data = array(
72  'url'=> $this->url,
73  'title'=> $this->title,
74  'page_id'=> $this->page_id,
75  'additional' => serialize($this->additional),
76  'back_to_referer' => $this->back_to_referer ? true : false,
77  );
78  $data['key'] = Yii::app()->getModule('remember')->sign(serialize($data));
79 
80  echo CHtml::link(RememberModule::t($this->text), Yii::app()->createUrl('/remember/manage/add', $data));
81  }
82 }