Cheetah
ChPhotosPageView.php
Go to the documentation of this file.
1 <?php
2 
8 ch_import('ChWsbPageView');
9 
10 require_once('ChPhotosCmts.php');
11 require_once('ChPhotosSearch.php');
12 
14 {
17 
18  var $oModule;
20  var $oConfig;
21  var $oDb;
22  var $oSearch;
23 
24  function __construct (&$oShared, &$aFileInfo, $sPage = 'ch_photos_view')
25  {
26  parent::__construct($sPage);
27  $this->aFileInfo = $aFileInfo;
28  $this->iProfileId = &$oShared->_iProfileId;
29 
30  $this->oModule = $oShared;
31  $this->oTemplate = $oShared->_oTemplate;
32  $this->oConfig = $oShared->_oConfig;
33  $this->oDb = $oShared->_oDb;
34  $this->oSearch = new ChPhotosSearch();
35  $this->oTemplate->addCss('view.css');
36  ch_import ('ChWsbViews');
37  new ChWsbViews($this->oConfig->getMainPrefix(), $this->aFileInfo['medID']);
38  }
39 
41  {
42  $sCode = null;
43  $sMainPrefix = $this->oConfig->getMainPrefix();
44 
45  ch_import('ChWsbSubscription');
47  $aButton = $oSubscription->getButton($this->iProfileId, $sMainPrefix, '', (int)$this->aFileInfo['medID']);
48  $sCode .= $oSubscription->getData();
49 
50  ch_import('ChWsbAlbums');
51  $sProfileAlbumUri = ChWsbAlbums::getAbumUri($this->oConfig->getGlParam('profile_album_name'), $this->iProfileId);
52 
53  $aReplacement = array(
54  'favorited' => $this->aFileInfo['favorited'] == false ? '' : 'favorited',
55  'featured' => (int)$this->aFileInfo['Featured'],
56  'featuredCpt' => '',
57  'approvedCpt' => '',
58  'approvedAct' => '',
59  'moduleUrl' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri(),
60  'fileUri' => $this->aFileInfo['medUri'],
61  'fileKey' => $this->aFileInfo['Hash'],
62  'fileExt' => $this->aFileInfo['medExt'],
63  'iViewer' => $this->iProfileId,
64  'ID' => (int)$this->aFileInfo['medID'],
65  'Owner' => (int)$this->aFileInfo['medProfId'],
66  'OwnerName' => $this->aFileInfo['NickName'],
67  'AlbumUri' => $this->aFileInfo['albumUri'],
68  'Tags' => ch_php_string_apos($this->aFileInfo['medTags']),
69  'TitleAvatar' => $this->aFileInfo['medProfId'] == $this->iProfileId && 'sys_avatar' == getParam('sys_member_info_thumb') ? _t('_' . $sMainPrefix . '_set_as_avatar') : '',
70  'SetAvatarCpt' => $this->aFileInfo['medProfId'] == $this->iProfileId && $sProfileAlbumUri == $this->aFileInfo['albumUri'] && 'ch_photos_thumb' == getParam('sys_member_info_thumb') ? _t('_' . $sMainPrefix . '_set_as_avatar') : '',
71  'sbs_' . $sMainPrefix . '_title' => $aButton['title'],
72  'sbs_' . $sMainPrefix . '_script' => $aButton['script'],
73  'shareCpt' => $this->oModule->isAllowedShare($this->aFileInfo) ? _t('_Share') : '',
74  'cropCpt' => $this->oModule->isAllowedEdit($this->aFileInfo) && $this->aFileInfo['medProfId'] == $this->iProfileId ? _t('_ch_photos_crop_action') : '',
75  );
76  if (isAdmin($this->iProfileId)) {
77  $sMsg = $aReplacement['featured'] > 0 ? 'un' : '';
78  $aReplacement['featuredCpt'] = _t('_' . $sMainPrefix . '_action_' . $sMsg . 'feature');
79  }
80  if ($this->oModule->isAllowedApprove($this->aFileInfo)) {
81  $sMsg = '';
82  $iAppr = 1;
83  if ($this->aFileInfo['Approved'] == 'approved')
84  {
85  $sMsg = 'de';
86  $iAppr = 0;
87  }
88  $aReplacement['approvedCpt'] = _t('_' . $sMainPrefix . '_admin_' . $sMsg . 'activate');
89  $aReplacement['approvedAct'] = $iAppr;
90  }
91 
92  $aReplacement['repostCpt'] = $aReplacement['repostScript'] = '';
93  if(ChWsbRequest::serviceExists('wall', 'get_repost_js_click')) {
94  $sCode .= ChWsbService::call('wall', 'get_repost_js_script');
95 
96  $aReplacement['repostCpt'] = _t('_Repost');
97  $aReplacement['repostScript'] = ChWsbService::call('wall', 'get_repost_js_click', array($this->iProfileId, $sMainPrefix, 'add', (int)$this->aFileInfo['medID']));
98  }
99 
100  $sActionsList = $GLOBALS['oFunctions']->genObjectsActions($aReplacement, $sMainPrefix);
101  if(is_null($sActionsList))
102  return '';
103 
104  return $sCode . $sActionsList;
105  }
106 
108  {
109  return $this->oTemplate->getFileAuthor($this->aFileInfo);
110  }
111 
113  {
114  $oAlbum = new ChWsbAlbums($this->oConfig->getMainPrefix());
115  $aAlbum = $oAlbum->getAlbumInfo(array('fileId' => $this->aFileInfo['albumId']));
116  $aAlbum['show_as_list'] = true;
117 
118  return array($this->oSearch->displayAlbumUnit($aAlbum), array(), array(), false);
119  }
120 
122  {
123  $this->oSearch->clearFilters(array('activeStatus', 'albumType', 'allow_view', 'album_status'), array('albumsObjects', 'albums'));
124  $bLike = getParam('useLikeOperator');
125  if ($bLike != 'on') {
126  $aRel = array($this->aFileInfo['medTitle'], $this->aFileInfo['medDesc'], $this->aFileInfo['medTags'], $this->aFileInfo['Categories']);
127  $sKeywords = getRelatedWords($aRel);
128  if (!empty($sKeywords)) {
129  $this->oSearch->aCurrent['restriction']['keyword'] = array(
130  'value' => $sKeywords,
131  'field' => '',
132  'operator' => 'against'
133  );
134  }
135  } else {
136  $sKeywords = $this->aFileInfo['medTitle'].' '.$this->aFileInfo['medTags'];
137  $aWords = explode(' ', $sKeywords);
138  foreach (array_unique($aWords) as $iKey => $sValue) {
139  if (strlen($sValue) > 2) {
140  $this->oSearch->aCurrent['restriction']['keyword'.$iKey] = array(
141  'value' => trim(addslashes($sValue)),
142  'field' => '',
143  'operator' => 'against'
144  );
145  }
146  }
147  }
148  $this->oSearch->aCurrent['restriction']['id'] = array(
149  'value' => $this->aFileInfo['medID'],
150  'field' => $this->oSearch->aCurrent['ident'],
151  'operator' => '<>',
152  'paramName' => 'fileID'
153  );
154  $this->oSearch->aCurrent['sorting'] = 'score';
155  $iLimit = (int)$this->oConfig->getGlParam('number_related');
156  $iLimit = $iLimit == 0 ? 2 : $iLimit;
157 
158  $this->oSearch->aCurrent['paginate']['perPage'] = $iLimit;
159  $sCode = $this->oSearch->displayResultBlock();
160  $aBottomMenu = array();
161  $bWrap = true;
162  if ($this->oSearch->aCurrent['paginate']['totalNum'] > 0) {
163  $sCode = $GLOBALS['oFunctions']->centerContent($sCode, '.sys_file_search_unit');
164  $aBottomMenu = $this->oSearch->getBottomMenu('category', 0, $this->aFileInfo['Categories']);
165  $bWrap = '';
166  }
167  return array($sCode, array(), $aBottomMenu, $bWrap);
168  }
169 
171  {
172  $this->oTemplate->addCss('cmts.css');
173 
174  $oCmtsView = new ChPhotosCmts($this->oConfig->getMainPrefix(), $this->aFileInfo['medID']);
175  if (!$oCmtsView->isEnabled())
176  return '';
177 
178  return $oCmtsView->getCommentsFirst();
179  }
180 
182  {
183  $oVotingView = new ChTemplVotingView($this->oConfig->getMainPrefix(), $this->aFileInfo['medID']);
184  $iWidth = (int)$this->oConfig->getGlParam('file_width');
185  if ($this->aFileInfo['prevItem'] > 0)
186  $aPrev = $this->oDb->getFileInfo(array('fileId'=>$this->aFileInfo['prevItem']), true, array('medUri', 'medTitle'));
187  if ($this->aFileInfo['nextItem'] > 0)
188  $aNext = $this->oDb->getFileInfo(array('fileId'=>$this->aFileInfo['nextItem']), true, array('medUri', 'medTitle'));
189  $aUnit = array(
190  'pic' => $this->oSearch->getImgUrl($this->aFileInfo['Hash'], 'file'),
191  'width' => $iWidth,
192  'fileTitle' => $this->aFileInfo['medTitle'],
193  'fileDescription' => nl2br($this->aFileInfo['medDesc']),
194  'rate' => $oVotingView->isEnabled() ? $oVotingView->getBigVoting(1, $this->aFileInfo['Rate']): '',
195  'favInfo' => $this->oDb->getFavoritesCount($this->aFileInfo['medID']),
196  'viewInfo' => $this->aFileInfo['medViews'],
197  'albumUri' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'browse/album/' . $this->aFileInfo['albumUri'] . '/owner/' . $this->aFileInfo['NickName'],
198  'albumCaption' => $this->aFileInfo['albumCaption'],
199  'ch_if:prev' => array(
200  'condition' => $this->aFileInfo['prevItem'] > 0,
201  'content' => array(
202  'linkPrev' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'view/' . $aPrev['medUri'],
203  'titlePrev' => $aPrev['medTitle'],
204  'percent' => $this->aFileInfo['nextItem'] > 0 ? 50 : 100,
205  )
206  ),
207  'ch_if:next' => array(
208  'condition' => $this->aFileInfo['nextItem'] > 0,
209  'content' => array(
210  'linkNext' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'view/' . $aNext['medUri'],
211  'titleNext' => $aNext['medTitle'],
212  'percent' => $this->aFileInfo['prevItem'] > 0 ? 50 : 100,
213  )
214  ),
215  );
216 
217  $sCode = $this->oTemplate->parseHtmlByName('view_unit.html', $aUnit);
218  return array($sCode, array(), array(), false);
219  }
220 
222  {
223  return $this->oTemplate->getFileInfoMain($this->aFileInfo);
224  }
225 
227  {
228  if(!$this->oModule->isAllowedShare($this->aFileInfo))
229  return '';
230 
231  $sUrl = CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'view/' . $this->aFileInfo['medUri'];
232  $sTitle = $this->aFileInfo['medTitle'];
233  $sImgUrl = $this->oSearch->getImgUrl($this->aFileInfo['Hash'], 'file');
234 
235  ch_import('ChTemplSocialSharing');
237  'img_url' => $sImgUrl,
238  'img_url_encoded' => rawurlencode($sImgUrl),
239  ));
240  return array($sCode, array(), array(), false);
241  }
242 
243  function getBlockCode_Crop ()
244  {
245  $this->oTemplate->addCss(array(
246  'crop.css',
247  'plugins/croppic/css/|croppic.css',
248  ));
249 
250  $this->oTemplate->addJs(array(
251  'croppic/js/croppic.min.js',
252  ));
253 
254  $aVars = array(
255  'crop_url' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'crop_perform/' . $this->aFileInfo['medID'],
256  'preload_image' => $this->oSearch->getImgUrl($this->aFileInfo['Hash'], 'original'),
257  'url' => CH_WSB_URL_ROOT . $this->oConfig->getBaseUri() . 'view/' . $this->aFileInfo['medUri'],
258  'title' => $this->aFileInfo['medTitle'],
259  );
260  $sCode = $this->oTemplate->parseHtmlByName('crop.html', $aVars);
261 
262  return $sCode;
263  }
264 }
ChPhotosPageView\$iProfileId
$iProfileId
Definition: ChPhotosPageView.php:15
ChPhotosSearch
Definition: ChPhotosSearch.php:11
ChWsbSocialSharing\getInstance
static getInstance()
Definition: ChWsbSocialSharing.php:50
ChPhotosPageView\getBlockCode_FileAuthor
getBlockCode_FileAuthor()
Definition: ChPhotosPageView.php:107
ChPhotosPageView\getBlockCode_Crop
getBlockCode_Crop()
Definition: ChPhotosPageView.php:243
ChWsbPageView
Definition: ChWsbPageView.php:99
ChWsbRequest\serviceExists
static serviceExists($mixedModule, $sMethod, $sClass="Module")
Definition: ChWsbRequest.php:70
$aUnit
$aUnit
Definition: short_profile_info.php:31
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
ChPhotosPageView\$aFileInfo
$aFileInfo
Definition: ChPhotosPageView.php:16
$sUrl
$sUrl
Definition: cart.php:15
ChPhotosPageView\getBlockCode_ActionList
getBlockCode_ActionList()
Definition: ChPhotosPageView.php:40
php
$sMsg
$sMsg
Definition: actions.inc.php:22
ChWsbSubscription\getInstance
static getInstance()
Definition: ChWsbSubscription.php:67
ChPhotosPageView\getBlockCode_MainFileInfo
getBlockCode_MainFileInfo()
Definition: ChPhotosPageView.php:221
ChPhotosPageView\$oModule
$oModule
Definition: ChPhotosPageView.php:18
ChPhotosPageView\getBlockCode_ViewAlbum
getBlockCode_ViewAlbum()
Definition: ChPhotosPageView.php:112
isAdmin
isAdmin()
Definition: index.php:649
ChPhotosPageView\$oSearch
$oSearch
Definition: ChPhotosPageView.php:22
ChPhotosPageView\getBlockCode_ViewFile
getBlockCode_ViewFile()
Definition: ChPhotosPageView.php:181
ChPhotosPageView
Definition: ChPhotosPageView.php:14
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
$sTitle
$sTitle
Definition: actions.inc.php:13
ChWsbAlbums
Definition: ChWsbAlbums.php:9
ChWsbViews
Definition: ChWsbViews.php:38
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
ChPhotosPageView\getBlockCode_RelatedFiles
getBlockCode_RelatedFiles()
Definition: ChPhotosPageView.php:121
ch_php_string_apos
ch_php_string_apos($mixedInput)
Definition: utils.inc.php:1340
ChPhotosCmts
Definition: ChPhotosCmts.php:11
$aVars
$aVars
Definition: license.php:101
ChPhotosPageView\$oTemplate
$oTemplate
Definition: ChPhotosPageView.php:19
ChPhotosPageView\getBlockCode_ViewComments
getBlockCode_ViewComments()
Definition: ChPhotosPageView.php:170
ChPhotosPageView\__construct
__construct(&$oShared, &$aFileInfo, $sPage='ch_photos_view')
Definition: ChPhotosPageView.php:24
ChPhotosPageView\$oConfig
$oConfig
Definition: ChPhotosPageView.php:20
getRelatedWords
getRelatedWords(&$aInfo)
Definition: utils.inc.php:1451
ChPhotosPageView\getBlockCode_SocialSharing
getBlockCode_SocialSharing()
Definition: ChPhotosPageView.php:226
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
ChWsbService\call
static call($mixed, $sMethod, $aParams=array(), $sClass='Module')
Definition: ChWsbService.php:32
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
ChPhotosPageView\$oDb
$oDb
Definition: ChPhotosPageView.php:21
ChTemplVotingView
Definition: ChTemplVotingView.php:14
ChWsbPageView\$sCode
$sCode
Definition: ChWsbPageView.php:102
$GLOBALS
$GLOBALS['iAdminPage']
Definition: advanced_settings.php:10
ChWsbAlbums\getAbumUri
static getAbumUri($sName, $iUserId)
Definition: ChWsbAlbums.php:50
$oSubscription
$oSubscription
Definition: notifies.php:28