Cheetah
ChWsbFilesConfig.php
Go to the documentation of this file.
1 <?php
2 
8 require_once('ChWsbConfig.php');
9 
11 {
12  var $sPrefix;
13  //sys_options parameters
15  // array of possible file's endings
16  var $aFilePostfix = array();
17  // array of shared file's memberships
19 
21 
23 
25 
26  var $aFilesConfig = array();
27 
31  function __construct ($aModule)
32  {
33  parent::__construct($aModule);
34 
35  $this->sPrefix = 'ch_' . $this->getUri();
36  $this->isPermalinkEnabled = getParam($this->sPrefix . '_permalinks') == 'on';
37 
38  $this->aDefaultAlbums = array('profile_album_name');
39  }
40 
41  function initConfig()
42  {
43  foreach ($this->aFilesConfig as $k => $a)
44  $this->aFilePostfix[$k] = $a['postfix'];
45  }
46 
51  function getUploaders ()
52  {
53  if ($this->aUploaders)
54  return $this->aUploaders;
55 
56  // uploaders list with the following keys:
57  // 'title' - uploader title
58  // 'action' - uploader action name, action name must be passed with the submitted form as well as 'action'
59  // 'form' - uploader class method to get the uploader form, or service call array to get the form
60  // 'handle' - uploader class method to handle uploader form, or service call array to process form upload
61  $this->aUploaders = array(
62  'html5' => array(
63  'title' => '_sys_txt_uploader_html5',
64  'action' => 'accept_html5',
65  'form' => 'getUploadHtml5File',
66  'handle' => 'serviceAcceptHtml5File',
67  ),
68  'regular' => array(
69  'title' => '_' . $this->sPrefix . '_regular',
70  'action' => 'accept_upload',
71  'form' => 'getUploadFormFile',
72  'handle' => 'serviceAcceptFile',
73  ),
74  'record' => array(
75  'title' => '_' . $this->sPrefix . '_record',
76  'action' => 'accept_record',
77  'form' => 'getRecordFormFile',
78  'handle' => 'serviceAcceptRecordFile',
79  ),
80  'embed' => array(
81  'title' => '_' . $this->sPrefix . '_embed',
82  'action' => 'accept_embed',
83  'form' => 'getEmbedFormFile',
84  'handle' => 'serviceAcceptEmbedFile',
85  ),
86  );
87 
88  $oAlert = new ChWsbAlerts($this->getMainPrefix(), 'uploaders_init', 0, getLoggedId(), array('uploaders' => &$this->aUploaders, 'config' => $this));
89  $oAlert->alert();
90 
91  return $this->aUploaders;
92  }
93 
94  function getUploadersMethods ()
95  {
96  $aUploaders = $this->getUploaders ();
97  $a = array();
98  foreach ($aUploaders as $k => $r)
99  $a[$k] = $r['form'];
100  return $a;
101  }
102 
103  function getFilesPath ()
104  {
105  return $this->getHomePath() . 'data/files/';
106  }
107 
108  function getFilesUrl ()
109  {
110  return $this->getHomeUrl(). 'data/files/';
111  }
112 
113  function getGlParam ($sPseud)
114  {
115  $sName = array_key_exists($sPseud, $this->aGlParams) ? $this->aGlParams[$sPseud] : $this->getMainPrefix() . '_' .$sPseud;
116  return getParam($sName);
117  }
118 
119  function getMainPrefix ()
120  {
121  return $this->sPrefix;
122  }
123 
124  function getActionArray ()
125  {
126  $sPref = '_' . $this->sPrefix . '_admin_';
127  return array(
128  'action_activate' => array(
129  'caption' => $sPref . 'activate',
130  'method' => 'adminApproveFile'
131  ),
132  'action_deactivate' => array(
133  'caption' => $sPref . 'deactivate',
134  'method' => 'adminDisapproveFile'
135  ),
136  'action_featured' => array(
137  'caption' => $sPref . 'feature',
138  'method' => 'adminMakeFeatured'
139  ),
140  'action_unfeatured' => array(
141  'caption' => $sPref . 'unfeature',
142  'method' => 'adminMakeUnfeatured'
143  ),
144  'action_delete' => array(
145  'caption' => $sPref . 'delete',
146  'method' => '_deleteFile'
147  ),
148  );
149  }
150 
152  {
153  $sPref = 'album_';
154  return array(
155  $sPref . 'edit' => array('type' => 'submit', 'value' => _t('_Edit')),
156  $sPref . 'delete' => array('type' => 'submit', 'value' => _t('_Delete')),
157  $sPref . 'organize' => array('type' => 'submit', 'value' => _t('_' . $this->sPrefix . '_organize_objects')),
158  $sPref . 'add_objects' => array('type' => 'submit', 'value' => _t('_' . $this->sPrefix . '_add_objects')),
159  );
160  }
161 
162  function getUploaderSwitcher ($sLink = '')
163  {
164  $aAllUploaders = $this->getAllUploaderArray($sLink);
165  $aList = array_values($this->getUploaderList());
166  $aChoosen = array();
167  foreach ($aAllUploaders as $sKey => $aValue) {
168  if (in_array($sKey, $aList))
169  $aChoosen[_t($sKey)] = $aValue;
170  }
171  return $aChoosen;
172  }
173 
175  {
176  if (!($sAllowed = $this->getGlParam('allowed_exts')))
177  return true;
178 
179  $aExts = preg_split('/[\s,;]/', $sAllowed);
180  return in_array($sExt, $aExts);
181  }
182 
183  function checkAllowedExtsByFilename ($sFilename)
184  {
185  $sExt = pathinfo($sFilename, PATHINFO_EXTENSION);
186  return $this->checkAllowedExts(strtolower($sExt));
187  }
188 
189  function getUploaderList ()
190  {
191  $aUploaders = $this->getUploaders();
192  $aAllTypes = array_keys($this->getUploaders());
193  $sData = getParam($this->sPrefix . '_uploader_switcher');
194  if (strlen($sData) > 0)
195  $aAllTypes = explode(',', $sData);
196 
197  $aItems = array();
198  foreach ($aAllTypes as $sValue) {
199  if (isset($aUploaders[$sValue]))
200  $aItems[$sValue] = $aUploaders[$sValue]['title'];
201  }
202  return $aItems;
203  }
204 
205  function getAllUploaderArray ($sLink = '')
206  {
207  $aUploaders = $this->getUploaders ();
208  $a = array();
209  foreach ($aUploaders as $k => $r) {
210  $a[$r['title']] = array (
211  'active' => $_GET['mode'] == $k ? true : false,
212  'href' => $sLink . '&mode=' . $k,
213  );
214  }
215  return $a;
216  }
217 
218  function getDefaultAlbums($bProcessed = false, $aReplacement = array())
219  {
220  if(!$bProcessed)
221  return $this->aDefaultAlbums;
222 
223  $aResult = array();
224  foreach($this->aDefaultAlbums as $sAlbum)
225  $aResult[] = str_replace(array_keys($aReplacement), array_values($aReplacement), $this->getGlParam($sAlbum));
226 
227  return $aResult;
228  }
229 }
ChWsbFilesConfig\checkAllowedExts
checkAllowedExts($sExt)
Definition: ChWsbFilesConfig.php:174
ChWsbFilesConfig\$aFilesConfig
$aFilesConfig
Definition: ChWsbFilesConfig.php:26
ChWsbFilesConfig\__construct
__construct($aModule)
Definition: ChWsbFilesConfig.php:31
ChWsbFilesConfig\$aUploaders
$aUploaders
Definition: ChWsbFilesConfig.php:24
ChWsbFilesConfig\getFilesUrl
getFilesUrl()
Definition: ChWsbFilesConfig.php:108
$aModule
$aModule
Definition: classifieds.php:21
$aResult
$aResult
Definition: index.php:19
$oAlert
$oAlert
Definition: embed.php:15
ChWsbFilesConfig\getUploadersMethods
getUploadersMethods()
Definition: ChWsbFilesConfig.php:94
ChWsbFilesConfig\getUploaders
getUploaders()
Definition: ChWsbFilesConfig.php:51
php
$sExt
$sExt
Definition: get_file.php:14
ChWsbFilesConfig\getUploaderSwitcher
getUploaderSwitcher($sLink='')
Definition: ChWsbFilesConfig.php:162
ChWsbFilesConfig\getAllUploaderArray
getAllUploaderArray($sLink='')
Definition: ChWsbFilesConfig.php:205
ChWsbAlerts
Definition: ChWsbAlerts.php:39
$_GET
$_GET['debug']
Definition: index.php:67
getParam
getParam($sParamName, $bUseCache=true)
Definition: db.inc.php:130
ChWsbConfig\getHomePath
getHomePath()
Definition: ChWsbConfig.php:91
ChWsbFilesConfig\getDefaultAlbums
getDefaultAlbums($bProcessed=false, $aReplacement=array())
Definition: ChWsbFilesConfig.php:218
getLoggedId
getLoggedId()
Definition: profiles.inc.php:32
ChWsbFilesConfig\getFilesPath
getFilesPath()
Definition: ChWsbFilesConfig.php:103
ChWsbFilesConfig\$aGlParams
$aGlParams
Definition: ChWsbFilesConfig.php:14
ChWsbFilesConfig\getGlParam
getGlParam($sPseud)
Definition: ChWsbFilesConfig.php:113
ChWsbFilesConfig\checkAllowedExtsByFilename
checkAllowedExtsByFilename($sFilename)
Definition: ChWsbFilesConfig.php:183
ChWsbFilesConfig\$sPrefix
$sPrefix
Definition: ChWsbFilesConfig.php:12
ChWsbFilesConfig\$aMemActions
$aMemActions
Definition: ChWsbFilesConfig.php:18
ChWsbFilesConfig\$aDefaultAlbums
$aDefaultAlbums
Definition: ChWsbFilesConfig.php:22
_t
_t($key, $arg0="", $arg1="", $arg2="")
Definition: languages.inc.php:509
ChWsbConfig\getHomeUrl
getHomeUrl()
Definition: ChWsbConfig.php:124
ChWsbConfig
Definition: ChWsbConfig.php:38
ChWsbFilesConfig\getMainPrefix
getMainPrefix()
Definition: ChWsbFilesConfig.php:119
ChWsbFilesConfig\initConfig
initConfig()
Definition: ChWsbFilesConfig.php:41
ChWsbFilesConfig\$aFilePostfix
$aFilePostfix
Definition: ChWsbFilesConfig.php:16
ChWsbFilesConfig\getAlbumMainActionsArray
getAlbumMainActionsArray()
Definition: ChWsbFilesConfig.php:151
ChWsbFilesConfig\getActionArray
getActionArray()
Definition: ChWsbFilesConfig.php:124
ChWsbFilesConfig\getUploaderList
getUploaderList()
Definition: ChWsbFilesConfig.php:189
ChWsbFilesConfig
Definition: ChWsbFilesConfig.php:11
ChWsbConfig\getUri
getUri()
Definition: ChWsbConfig.php:104
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
$sName
$sName
Definition: ChWsbAdminTools.php:853
ChWsbFilesConfig\$isPermalinkEnabled
$isPermalinkEnabled
Definition: ChWsbFilesConfig.php:20