Cheetah
All Classes Namespaces Files Functions Variables Pages
actions.inc.php
Go to the documentation of this file.
1 <?php
2 
8 $sId = isset($_REQUEST['id']) ? (int)$_REQUEST['id'] : 0;
9 $sPassword = isset($_REQUEST['password']) ? process_db_input($_REQUEST['password']) : "";
10 $sFile = isset($_REQUEST['file']) ? process_db_input($_REQUEST['file']) : "0";
11 $sTitle = isset($_REQUEST['title']) ? process_db_input($_REQUEST['title']) : "Untitled";
12 $sTags = isset($_REQUEST['tags']) ? process_db_input($_REQUEST['tags']) : "";
13 $sDesc = isset($_REQUEST['desc']) ? process_db_input($_REQUEST['desc']) : "";
14 $sTime = isset($_REQUEST['time']) ? (int)$_REQUEST['time'] : 0;
15 
16 $sSkin = isset($_REQUEST['skin']) ? process_db_input($_REQUEST['skin']) : "";
17 $sLanguage = isset($_REQUEST['language']) ? process_db_input($_REQUEST['language']) : "english";
18 
19 switch ($sAction) {
20  case 'getPlugins':
21  $sFolder = "/plugins/";
22  $sContents = "";
23  $sPluginsPath = $sModulesPath . $sModule . $sFolder;
24  if(is_dir($sPluginsPath)) {
25  if($rDirHandle = opendir($sModulesPath . $sModule . $sFolder))
26  while(false !== ($sPlugin = readdir($rDirHandle)))
27  if(strpos($sPlugin, ".swf") === strlen($sPlugin)-4)
28  $sContents .= parseXml(array(1 => '<plugin><![CDATA[#1#]]></plugin>'), $sModulesUrl . $sModule . $sFolder . $sPlugin);
29  closedir($rDirHandle);
30  }
31  $sContents = makeGroup($sContents, "plugins");
32  break;
33 
37  case 'getSkins':
38  $sContents = printFiles($sModule, "skins", false, true);
39  break;
40 
44  case 'setSkin':
45  setCurrentFile($sModule, $sSkin, "skins");
46  break;
47 
51  case 'getLanguages':
52  $sContents = printFiles($sModule, "langs", false, true);
53  break;
54 
58  case 'setLanguage':
60  break;
61 
65  case 'userAuthorize':
66  $sUser = isset($_REQUEST['user']) ? process_db_input($_REQUEST['user']) : "";
67  $sOwner = empty($sId) ? $sUser : getValue("SELECT `Owner` FROM `" . MODULE_DB_PREFIX . "Files` WHERE `ID`='" . $sId . "'");
68 
69  if($sOwner == $sUser && loginUser($sUser, $sPassword) == TRUE_VAL)
70  $sContents = parseXml($aXmlTemplates['result'], TRUE_VAL);
71  else $sContents = parseXml($aXmlTemplates['result'], "msgAuthorizingUserError");
72  break;
73 
77  case 'config':
78  $sFileName = $sModulesPath . $sModule . "/xml/config.xml";
79  $rHandle = fopen($sFileName, "rt");
80  $sContents = fread($rHandle, filesize($sFileName)) ;
81  fclose($rHandle);
82  $sContents = str_replace("#screenshotWidth#", SCREENSHOT_WIDTH, $sContents);
83  $sContents = str_replace("#screenshotHeight#", SCREENSHOT_HEIGHT, $sContents);
84  $sContents = str_replace("#filesUrl#", $sModuleUrl, $sContents);
85  $sContents = str_replace("#serverUrl#", getRMSUrl($sServerApp), $sContents);
86  break;
87 
88  case 'getFile':
89  $aFile = getArray("SELECT * FROM `" . MODULE_DB_PREFIX . "Files` WHERE `ID` = '" . $sId . "' LIMIT 1");
90  $sPlayFile = $sId . MP3_EXTENSION;
91  $sGetFile = "get_file.php?id=" . $sId . "&token=" . getMp3Token($sId);
92  $sSaveName = $aFile['Title'] . MP3_EXTENSION;
93 
94  $sMessage = "";
95  $sStatus = FAILED_VAL;
96  switch($aFile['Status']) {
97  case STATUS_PENDING:
98  case STATUS_PROCESSING:
99  $sMessage = "msgFileNotProcessed";
100  break;
101  case STATUS_DISAPPROVED:
102  if (!isAdmin()) {
103  $sMessage = "msgFileNotApproved";
104  break;
105  }
106  case STATUS_APPROVED:
107  if(file_exists($sFilesPathMp3 . $sPlayFile)) {
108  $sStatus = SUCCESS_VAL;
109  break;
110  }
111  case STATUS_FAILED:
112  default:
113  $sMessage = "msgFileNotFound";
114  break;
115  }
116 
118  if($sStatus == SUCCESS_VAL) {
119  $sImageFile = $GLOBALS['sFilesDir'] . $sId . SCREENSHOT_EXT;
120  $bScreenshot = file_exists($sModuleUrl . $sImageFile) && filesize($sModuleUrl . $sImageFile) > 0;
121  if(!$bScreenshot) {
122  $aFilesConfig = ChWsbService::call('sounds', 'get_files_config');
123  $sImageFile = $GLOBALS['sFilesDir'] . $aFilesConfig['browse']['fallback'];
124  }
125  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
126  $sContents .= parseXml($aXmlTemplates['file'], $sId, $sGetFile, $sGetFile, $sImageFile, $aFile['Time'], $bScreenshot ? TRUE_VAL : FALSE_VAL, $sSaveName);
127  }
128  break;
129 
130  case 'getList':
131  $sContents = makeGroup(mp3_getList($sId), "files");
132  break;
133 
134  case 'processFile':
135  $sTempFileName = $sId . TEMP_FILE_NAME;
136  $sTempFile = $sFilesPathMp3 . $sTempFileName;
137  @unlink($sTempFile);
139  $sRecordedFileUrl = getRMSUrl($sServerApp, true) . $sStreamsFolder . $sFile . ".flv";
140 
141  $sContents = parseXml($aXmlTemplates['result'], "msgProcessingError", FAILED_VAL);
142  if(function_exists("curl_init")) {
143  $fTemp = fopen($sTempFile, "w");
144  $curl = curl_init();
145  curl_setopt($curl, CURLOPT_URL, $sRecordedFileUrl);
146  curl_setopt($curl, CURLOPT_FILE, $fTemp);
147  curl_setopt($curl, CURLOPT_HEADER, false);
148  curl_exec($curl);
149  curl_close($curl);
150  fclose($fTemp);
151  } else @copy($sRecordedFileUrl, $sTempFile);
152 
153  if(file_exists($sTempFile) && filesize($sTempFile) > 0 && convertMain($sId, false)) {
154  @unlink($sTempFile);
155  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
156  $sContents .= parseXml($aXmlTemplates['file'], "0", $sId . TEMP_FILE_NAME . MP3_EXTENSION);
157  } else deleteTempMp3s($sId);
158  break;
159 
163  case 'removeFiles':
164  if($sFile == "")
165  $sContents = parseXml($aXmlTemplates['result'], "msgErrorDelete", FAILED_VAL);
166  elseif($sFile != "") {
167  $aFiles = explode(",", $sFile);
168  if(count($aFiles) > 0) {
169  for($i=0; $i<count($aFiles); $i++)
170  $bResult = deleteFile($aFiles[$i]);
171  }
172  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
173  }
174  break;
175 
179  case 'uploadFile':
180  $sContents = uploadMusic($_FILES['Filedata']['tmp_name'], $sId, $sFile);
181  $sContentsType = "other";
182  break;
183 
184  case 'initFile':
185  $sContents = initFile($sId, $sTitle, $sCategory, $sTags, $sDesc);
186  $sContentsType = "other";
187  break;
188 
189  case 'publishRecordedFile':
191  $sContentsType = "other";
192  break;
193 
194  case 'removeTempFiles':
196  break;
197 
201  case 'updateFileTime':
202  getResult("UPDATE `" . MODULE_DB_PREFIX . "Files` SET `Time`='" . $sTime . "' WHERE `ID`='" . $sId . "'");
203  $sContents = parseXml($aXmlTemplates['result'], TRUE_VAL);
204  break;
205 
206  case 'screenshot':
207  //--- Prepare data ---//
208  $iWidth = isset($_REQUEST['width']) ? (int)$_REQUEST['width'] : 0;
209  $iHeight = isset($_REQUEST['height']) ? (int)$_REQUEST['height'] : 0;
210  $sData = isset($_REQUEST['data']) ? process_db_input($_REQUEST['data']) : "";
211  $aImageData = explode(',', $sData);
212  $iLength = count($aImageData);
213  for($i=0; $i<$iLength; $i++)
214  $aImageData[$i] = base_convert($aImageData[$i], 36, 10);
215  if($iLength != $iWidth * $iHeight || !function_exists("imagecreatetruecolor"))
216  break;
217 
218  //--- Create Image Resource ---//
219  $rImage = @imagecreatetruecolor($iWidth, $iHeight);
220  for ($i = 0, $y = 0; $y < $iHeight; $y++ )
221  for ( $x = 0; $x < $iWidth; $x++, $i++)
222  @imagesetpixel ($rImage, $x, $y, $aImageData[$i]);
223 
224  //--- Save image file ---//
225  $sUser = process_db_input($_REQUEST['user']);
226  if(empty($sId))
227  $sId = $sUser . TEMP_FILE_NAME;
228 
229  $aFilesConfig = ChWsbService::call('sounds', 'get_files_config');
230  foreach ($aFilesConfig as $a) {
231  if (!isset($a['image']) || !$a['image'])
232  continue;
233  $sFileName = $sFilesPathMp3 . $sId . $a['postfix'];
234  @imagejpeg($rImage, $sFileName, 95);
235  if (isset($a['w']) && $a['w'])
236  imageResize($sFileName, $sFileName, $a['w'], isset($a['h']) && $a['h'] ? $a['h'] : $a['w'], true, isset($a['square']) && $a['square']);
237  }
238 
239  break;
240 
241  case 'getToken':
243  if(empty($sToken))
244  $sContents = parseXml($aXmlTemplates['result'], "msgFileNotFound", FAILED_VAL);
245  else
246  $sContents = parseXml($aXmlTemplates['result'], $sToken, SUCCESS_VAL);
247  break;
248 }
process_db_input
process_db_input($sText, $iStripTags=0)
Definition: utils.inc.php:256
$sFilesPathMp3
global $sFilesPathMp3
Definition: ChWsbCronMp3.php:19
$sMessage
$sMessage
Definition: actions.inc.php:17
$sToken
$sToken
Definition: get_file.php:13
$sContentsType
$sContentsType
Definition: XML.php:39
convertMain
convertMain($sId)
Definition: functions.inc.php:101
$sModulesUrl
$sModulesUrl
Definition: header.inc.php:52
publishRecordedFile
publishRecordedFile($sUserId, $sTitle, $sCategory, $sTags, $sDesc)
Definition: functions.inc.php:51
php
getValue
getValue($sQuery)
Definition: db.inc.php:59
$sModule
if(!file_exists($sRayHeaderPath)) $sModule
Definition: index.php:14
setCurrentFile
setCurrentFile($sModule, $sFile, $sFolder="langs")
Definition: apiFunctions.inc.php:212
initFile
initFile($sId, $sTitle, $sCategory, $sTags, $sDesc)
Definition: functions.inc.php:79
$sModulesPath
$sModulesPath
Definition: header.inc.php:53
isAdmin
isAdmin()
Definition: index.php:649
$sLanguage
$sLanguage
Definition: actions.inc.php:19
copy
and that you are informed that you can do these things To protect your we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it For if you distribute copies of the whether gratis or for a you must give the recipients all the rights that we gave you You must make sure that receive or can get the source code If you link other code with the you must provide complete object files to the so that they can relink them with the library after making changes to the library and recompiling it And you must show them these terms so they know their rights We protect your rights with a two step which gives you legal permission to copy
Definition: license.txt:50
$sPassword
$sPassword
Definition: actions.inc.php:10
getRMSUrl
getRMSUrl($sApplication, $bHttp=false)
Definition: apiFunctions.inc.php:116
$sFile
$sFile
Definition: actions.inc.php:26
$sTime
$sTime
Definition: actions.inc.php:14
$sTitle
$sTitle
Definition: actions.inc.php:13
$sFolder
$sFolder
Definition: index.php:15
$_REQUEST
$_REQUEST['action']
Definition: cmd.php:11
$sTags
$sTags
Definition: actions.inc.php:12
getMp3Token
getMp3Token($sId)
Definition: functions.inc.php:211
deleteFile
deleteFile($sFile)
Definition: functions.inc.php:195
$bResult
$bResult
Definition: get_file.php:11
$sStreamsFolder
$sStreamsFolder
Definition: header.inc.php:14
deleteTempMp3s
deleteTempMp3s($sUserId, $bSourceOnly=false)
Definition: functions.inc.php:175
parseXml
parseXml($aXmlTemplates)
Definition: apiFunctions.inc.php:15
$sServerApp
$sServerApp
Definition: header.inc.php:8
makeGroup
makeGroup($sXmlContent, $sXmlGroup="ray")
Definition: apiFunctions.inc.php:32
$aXmlTemplates
$aXmlTemplates
Definition: xmlTemplates.inc.php:8
$sId
$sId
Definition: actions.inc.php:8
$sSkin
$sSkin
Definition: actions.inc.php:18
mp3_getList
mp3_getList($sId)
Definition: customFunctions.inc.php:51
$sContents
$sContents
Definition: XML.php:38
$sAction
$sAction
Definition: categories.php:274
uploadMusic
uploadMusic($sFilePath, $sUserId, $sFileName, $bUploaded=true)
Definition: functions.inc.php:8
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
imageResize
imageResize( $srcFilename, $dstFilename, $sizeX, $sizeY, $forceJPGOutput=false, $isSquare=false)
Definition: images.inc.php:29
ChWsbService\call
static call($mixed, $sMethod, $aParams=array(), $sClass='Module')
Definition: ChWsbService.php:32
$sDesc
$sDesc
Definition: actions.inc.php:21
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
loginUser
loginUser($sName, $sPassword, $bLogin=false)
Definition: customFunctions.inc.php:19
getArray
getArray($sQuery)
Definition: db.inc.php:52
$sStatus
$sStatus
Definition: actions.inc.php:11
printFiles
printFiles($sModule, $sFolder="langs", $bGetDate=false, $bGetNames=false)
Definition: apiFunctions.inc.php:224
$GLOBALS
$GLOBALS['iAdminPage']
Definition: advanced_settings.php:10
$sUser
$sUser
Definition: r.php:13
getResult
getResult($sQuery)
Definition: db.inc.php:45