Cheetah
ChWsbTextTemplate.php
Go to the documentation of this file.
1 <?php
2 
8 ch_import('ChWsbModuleTemplate');
9 
11 {
12  var $_oModule;
13 
16 
17  function __construct(&$oConfig, &$oDb)
18  {
19  parent::__construct($oConfig, $oDb);
20  $this->_aTemplates = array('comments');
21 
22  $this->_oModule = null;
23  $this->oPaginate = null;
24  $this->sCssPrefix = '';
25  }
26 
27  function setModule(&$oModule)
28  {
29  $this->_oModule = $oModule;
30 
31  $this->oPaginate = new ChWsbPaginate(array(
32  'page_url' => 'javascript:void(0);',
33  'start' => 0,
34  'per_page' => $this->_oConfig->getPerPage(),
35  'per_page_step' => 2,
36  'per_page_interval' => 3,
37  'on_change_page' => $this->_oConfig->getJsObject() . '.changePage({start}, {per_page})'
38  ));
39  }
40 
41  function displayAdminBlock($aParams)
42  {
43  $oSearchResult = $aParams['search_result_object'];
44  unset($aParams['search_result_object']);
45 
46  $sModuleUri = $this->_oConfig->getUri();
47  $aButtons = array(
48  $sModuleUri . '-publish' => _t('_' . $sModuleUri . '_lcaption_publish'),
49  $sModuleUri . '-unpublish' => _t('_' . $sModuleUri . '_lcaption_unpublish'),
50  $sModuleUri . '-featured' => _t('_' . $sModuleUri . '_lcaption_featured'),
51  $sModuleUri . '-unfeatured' => _t('_' . $sModuleUri . '_lcaption_unfeatured'),
52  $sModuleUri . '-delete' => _t('_' . $sModuleUri . '_lcaption_delete')
53  );
54 
55  $aResult = array(
56  'include_css' => $this->addCss(array('view.css', 'cmts.css'), true),
57  'include_js_content' => $this->getViewJs(),
58  'filter' => $oSearchResult->showAdminFilterPanel($this->_oDb->unescape($aParams['filter_value']), $sModuleUri . '-filter-txt', $sModuleUri . '-filter-chb', $sModuleUri . '-filter'),
59  'content' => $this->displayList($aParams),
60  'control' => $oSearchResult->showAdminActionsPanel($this->sCssPrefix . '-view-admin', $aButtons, $sModuleUri . '-ids')
61  );
62 
63  return $this->addJs(array('main.js'), true) . $this->parseHtmlByName('admin.html', $aResult);
64  }
65  function displayBlockInfo($aEntry, $sFields = '')
66  {
67  $aAuthor = getProfileInfo($aEntry['author_id']);
68 
69  return $this->parseHtmlByName('entry_info.html', array (
70  'author_unit' => get_member_thumbnail($aAuthor['ID'], 'none', true),
71  'date' => getLocaleDate($aEntry['date'], CH_WSB_LOCALE_DATE_SHORT),
72  'date_ago' => defineTimeInterval($aEntry['date'], false),
73  'cats' => $this->parseCategories($aEntry['categories']),
74  'tags' => $this->parseTags($aEntry['tags']),
75  'fields' => $sFields,
76  ));
77  }
78  function displayBlock($aParams)
79  {
80  $bShowEmpty = isset($aParams['show_empty']) ? $aParams['show_empty'] : true;
81 
82  $aResult = array(
83  'include_js_content' => $this->getViewJs(),
84  'content' => $this->displayList($aParams),
85  );
86 
87  if(!$bShowEmpty && empty($aResult['content']))
88  return "";
89 
90  $this->addJs(array('main.js'));
91  $this->addCss(array('view.css'));
92  return $this->parseHtmlByName('view.html', $aResult);
93  }
94  function displayList($aParams)
95  {
96  $sSampleType = $aParams['sample_type'];
97  $iViewerType = $aParams['viewer_type'];
98  $iStart = isset($aParams['start']) ? (int)$aParams['start'] : -1;
99  $iPerPage = isset($aParams['count']) ? (int)$aParams['count'] : -1;
100  $bShowEmpty = isset($aParams['show_empty']) ? $aParams['show_empty'] : true;
101 
102  $sModuleUri = $this->_oConfig->getUri();
103  $aEntries = $this->_oDb->getEntries($aParams);
104  if(empty($aEntries))
105  return $bShowEmpty ? MsgBox(_t('_' . $sModuleUri . '_msg_no_results')) : "";
106 
107  $sBaseUri = CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri();
108  $sJsMainObject = $this->_oConfig->getJsObject();
109 
110  $sList = '';
111  foreach($aEntries as $aEntry)
112  $sList .= $this->displayItem($aParams, $aEntry);
113 
114  $sPaginate = '';
115  if(!in_array($sSampleType, array('id', 'uri', 'view', 'search_unit'))) {
116  if(!empty($sSampleType))
117  $this->_updatePaginate($aParams);
118 
119  $sPaginate = $this->oPaginate->getPaginate($iStart, $iPerPage);
120  }
121 
122  return $this->parseHtmlByName('list.html', array(
123  'sample' => $sSampleType,
124  'list' => $sList,
125  'paginate' => $sPaginate,
126  'loading' => LoadingBox($sModuleUri . '-' . $sSampleType . '-loading')
127  ));
128  }
129  function displayItem($aParams, &$aEntry)
130  {
131  $sSampleType = $aParams['sample_type'];
132  $iViewerType = $aParams['viewer_type'];
133  $bAdminPanel = $iViewerType == CH_TD_VIEWER_TYPE_ADMIN && ((isset($aParams['admin_panel']) && $aParams['admin_panel']) || $sSampleType == 'admin');
134 
135  $sModuleUri = $this->_oConfig->getUri();
136  $sLKLinkEdit = _t('_' . $sModuleUri . '_lcaption_edit');
137 
138  $aTmplVars = array(
139  'id' => $this->_oConfig->getSystemPrefix() . $aEntry['id'],
140  'caption' => str_replace("$", "&#36;", $aEntry['caption']),
141  'class' => !in_array($sSampleType, array('view')) ? ' ' . $this->sCssPrefix . '-text-snippet ' : '',
142  'date' => defineTimeInterval($aEntry['when_uts']),
143  'content' => str_replace("$", "&#36;", $aEntry['content']),
144  'link' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() . 'view/' . $aEntry['uri'],
145  'ch_if:checkbox' => array(
146  'condition' => $bAdminPanel,
147  'content' => array(
148  'id' => $aEntry['id']
149  ),
150  ),
151  'ch_if:status' => array(
152  'condition' => $iViewerType == CH_TD_VIEWER_TYPE_ADMIN,
153  'content' => array(
154  'status' => _t('_' . $sModuleUri . '_status_' . $aEntry['status'])
155  ),
156  ),
157  'ch_if:featured' => array(
158  'condition' => $iViewerType == CH_TD_VIEWER_TYPE_ADMIN && (int)$aEntry['featured'] == 1,
159  'content' => array(),
160  ),
161  'ch_if:edit_link' => array (
162  'condition' => $iViewerType == CH_TD_VIEWER_TYPE_ADMIN,
163  'content' => array(
164  'edit_link_url' => CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() . 'admin/' . $aEntry['uri'],
165  'edit_link_caption' => $sLKLinkEdit,
166  )
167  )
168  );
169 
170  return $this->parseHtmlByName('item.html', $aTmplVars);
171  }
172  function getViewJs($bWrap = false)
173  {
174  $sJsMainClass = $this->_oConfig->getJsClass();
175  $sJsMainObject = $this->_oConfig->getJsObject();
176  ob_start();
177 ?>
178  var <?=$sJsMainObject; ?> = new <?=$sJsMainClass; ?>({
179  sSystem: '<?=$this->_oConfig->getSystemPrefix(); ?>',
180  sActionUrl: '<?=CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri(); ?>',
181  sObjName: '<?=$sJsMainObject; ?>',
182  sAnimationEffect: '<?=$this->_oConfig->getAnimationEffect(); ?>',
183  iAnimationSpeed: '<?=$this->_oConfig->getAnimationSpeed(); ?>'
184  });
185 <?php
186  $sContent = ob_get_clean();
187  return $bWrap ? $this->_wrapInTagJsCode($sContent) : $sContent;
188  }
189  function getPageCode(&$aParams)
190  {
191  global $_page;
193 
194  $iIndex = isset($aParams['index']) ? (int)$aParams['index'] : 0;
195  $_page['name_index'] = $iIndex;
196  $_page['js_name'] = isset($aParams['js']) ? $aParams['js'] : '';
197  $_page['css_name'] = isset($aParams['css']) ? $aParams['css'] : '';
198  $_page['extra_js'] = isset($aParams['extra_js']) ? $aParams['extra_js'] : '';
199 
200  check_logged();
201 
202  if(isset($aParams['content']))
203  foreach($aParams['content'] as $sKey => $sValue)
204  $_page_cont[$iIndex][$sKey] = $sValue;
205 
206  if(isset($aParams['title']['page']))
207  $this->setPageTitle($aParams['title']['page']);
208  if(isset($aParams['title']['block']))
209  $this->setPageMainBoxTitle($aParams['title']['block']);
210 
211  if(isset($aParams['breadcrumb']))
212  $GLOBALS['oTopMenu']->setCustomBreadcrumbs($aParams['breadcrumb']);
213 
214  PageCode($this);
215  }
216  function getPageCodeAdmin(&$aParams)
217  {
218  global $_page;
220 
221  $iIndex = isset($aParams['index']) ? (int)$aParams['index'] : 9;
222  $_page['name_index'] = $iIndex;
223  $_page['js_name'] = isset($aParams['js']) ? $aParams['js'] : '';
224  $_page['css_name'] = isset($aParams['css']) ? $aParams['css'] : '';
225  $_page['header'] = isset($aParams['title']['page']) ? $aParams['title']['page'] : '';
226 
227  if(isset($aParams['content']))
228  foreach($aParams['content'] as $sKey => $sValue)
229  $_page_cont[$iIndex][$sKey] = $sValue;
230 
231  PageCodeAdmin();
232  }
233 
234  // ======================= tags/cat parsing functions
235 
236  function parseTags ($s)
237  {
238  return $this->_parseAnything ($s, ',', CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() . 'tag/');
239  }
240 
241  function parseCategories ($s)
242  {
243  ch_import ('ChWsbCategories');
244  return $this->_parseAnything ($s, CATEGORIES_DIVIDER, CH_WSB_URL_ROOT . $this->_oConfig->getBaseUri() . 'category/');
245  }
246 
247  protected function _updatePaginate($aParams)
248  {
249  switch($aParams['sample_type']) {
250  default:
251  $this->oPaginate->setCount($this->_oDb->getCount($aParams));
252  $this->oPaginate->setOnChangePage($this->_oConfig->getJsObject() . '.changePage({start}, {per_page}, \'' . $aParams['sample_type'] . '\')');
253  }
254  }
255 }
ChWsbTextTemplate\parseCategories
parseCategories($s)
Definition: ChWsbTextTemplate.php:241
$oModule
if(! @isAdmin()) $oModule
Definition: admin.php:25
ChWsbTextTemplate\$oPaginate
$oPaginate
Definition: ChWsbTextTemplate.php:14
ChWsbTextTemplate\displayList
displayList($aParams)
Definition: ChWsbTextTemplate.php:94
ChWsbTextTemplate\getViewJs
getViewJs($bWrap=false)
Definition: ChWsbTextTemplate.php:172
LoadingBox
LoadingBox($sName)
Definition: design.inc.php:185
MsgBox
MsgBox($sText, $iTimer=0)
Definition: design.inc.php:175
check_logged
check_logged()
Definition: admin.inc.php:238
ChWsbTextTemplate\_updatePaginate
_updatePaginate($aParams)
Definition: ChWsbTextTemplate.php:247
defineTimeInterval
defineTimeInterval($iTime, $bAutoDateConvert=true, $bShort=false)
Definition: utils.inc.php:831
ChWsbTextTemplate\displayBlockInfo
displayBlockInfo($aEntry, $sFields='')
Definition: ChWsbTextTemplate.php:65
$_page
$_page['name_index']
Definition: about_us.php:13
ch_import
ch_import($sClassName, $aModule=array())
Definition: utils.inc.php:1218
$aResult
$aResult
Definition: index.php:19
$_page_cont
$_page_cont[$_ni]['page_main_code']
Definition: about_us.php:24
ChWsbTemplate\addCss
addCss($mixedFiles, $bDynamic=false)
Definition: ChWsbTemplate.php:1114
php
ChWsbTextTemplate\parseTags
parseTags($s)
Definition: ChWsbTextTemplate.php:236
ChWsbTextTemplate\$_oModule
$_oModule
Definition: ChWsbTextTemplate.php:12
$iPerPage
else $iPerPage
Definition: browse.php:61
CATEGORIES_DIVIDER
const CATEGORIES_DIVIDER
Definition: ChWsbCategories.php:10
ChWsbTemplate\_wrapInTagJsCode
_wrapInTagJsCode($sCode)
Definition: ChWsbTemplate.php:1102
ChWsbTextTemplate\displayBlock
displayBlock($aParams)
Definition: ChWsbTextTemplate.php:78
$iIndex
$iIndex
Definition: bottom_menu_compose.php:142
get_member_thumbnail
get_member_thumbnail($ID, $float, $bGenProfLink=false, $sForceSex='visitor', $aOnline=array())
Definition: design.inc.php:165
ChWsbTextTemplate\getPageCodeAdmin
getPageCodeAdmin(&$aParams)
Definition: ChWsbTextTemplate.php:216
$oDb
global $oDb
Definition: db.inc.php:39
ChWsbTextTemplate\$sCssPrefix
$sCssPrefix
Definition: ChWsbTextTemplate.php:15
ChWsbPaginate
Definition: ChWsbPaginate.php:69
ChWsbTextTemplate\__construct
__construct(&$oConfig, &$oDb)
Definition: ChWsbTextTemplate.php:17
global
if(!defined("GLOBAL_MODULE")) define("GLOBAL_MODULE" global
Definition: header.inc.php:25
PageCodeAdmin
PageCodeAdmin($oTemplate=null)
Definition: admin_design.inc.php:45
$sContent
$sContent
Definition: bottom_menu_compose.php:169
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
PageCode
PageCode($oTemplate=null)
Definition: design.inc.php:91
CH_WSB_LOCALE_DATE_SHORT
const CH_WSB_LOCALE_DATE_SHORT
Definition: utils.inc.php:15
ChWsbTextTemplate\getPageCode
getPageCode(&$aParams)
Definition: ChWsbTextTemplate.php:189
ChWsbTextTemplate
Definition: ChWsbTextTemplate.php:11
ChWsbTextTemplate\displayAdminBlock
displayAdminBlock($aParams)
Definition: ChWsbTextTemplate.php:41
$s
$s
Definition: embed.php:13
ChWsbTemplate\addJs
addJs($mixedFiles, $bDynamic=false)
Definition: ChWsbTemplate.php:999
ChWsbModuleTemplate
Definition: ChWsbModuleTemplate.php:11
getProfileInfo
getProfileInfo($iProfileID=0, $checkActiveStatus=false, $forceCache=false)
Definition: profiles.inc.php:249
ChWsbTemplate\setPageMainBoxTitle
setPageMainBoxTitle($sTitle)
Definition: ChWsbTemplate.php:416
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
ChWsbTextTemplate\setModule
setModule(&$oModule)
Definition: ChWsbTextTemplate.php:27
getLocaleDate
getLocaleDate($sTimestamp='', $iCode=CH_WSB_LOCALE_DATE_SHORT)
Definition: utils.inc.php:70
ChWsbModuleTemplate\_parseAnything
_parseAnything($s, $sDiv, $sLinkStart, $sClassName='')
Definition: ChWsbModuleTemplate.php:94
ChWsbTemplate\setPageTitle
setPageTitle($sTitle)
Definition: ChWsbTemplate.php:407
CH_TD_VIEWER_TYPE_ADMIN
const CH_TD_VIEWER_TYPE_ADMIN
Definition: ChWsbTextData.php:10
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
ChWsbTextTemplate\displayItem
displayItem($aParams, &$aEntry)
Definition: ChWsbTextTemplate.php:129
ChWsbTemplate\parseHtmlByName
parseHtmlByName($sName, $aVariables, $mixedKeyWrapperHtml=null, $sCheckIn=CH_WSB_TEMPLATE_CHECK_IN_BOTH)
Definition: ChWsbTemplate.php:660
$GLOBALS
$GLOBALS['iAdminPage']
Definition: advanced_settings.php:10