Cheetah
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("#filesUrl#", $sModuleUrl, $sContents);
83  $sContents = str_replace("#serverUrl#", getRMSUrl($sServerApp), $sContents);
84  break;
85 
86  case 'getFile':
87  $aFile = getArray("SELECT * FROM `" . MODULE_DB_PREFIX . "Files` WHERE `ID` = '" . $sId . "' LIMIT 1");
88  $sExt = file_exists($sFilesPath . $sId . VC_M4V_EXTENSION) ? VC_M4V_EXTENSION : VC_FLV_EXTENSION;
89  $sPlayFile = $sId . $sExt;
90  $sGetFile = "get_file.php?id=" . $sId . "&token=" . _getToken($sId);
91  $sSaveName = $aFile['Title'] . $sExt;
92  $sImageFile = $GLOBALS['sFilesDir'] . $sId . VC_IMAGE_EXTENSION;
93 
94  $sMessage = "";
95  $sStatus = FAILED_VAL;
96  switch($aFile['Status']) {
97  case VC_STATUS_DISAPPROVED:
98  $sMessage = "msgFileNotApproved";
99  break;
100  case VC_STATUS_PENDING:
101  case VC_STATUS_PROCESSING:
102  $sMessage = "msgFileNotProcessed";
103  break;
104  case VC_STATUS_APPROVED:
105  if(file_exists($sFilesPath . $sPlayFile)) {
106  $sStatus = SUCCESS_VAL;
107  break;
108  }
109  case VC_STATUS_FAILED:
110  default:
111  $sMessage = "msgFileNotFound";
112  break;
113  }
114 
116  if($sStatus == SUCCESS_VAL)
117  $sContents .= parseXml($aXmlTemplates['file'], $sId, $sGetFile, $sGetFile, $sImageFile, $aFile['Time'], $sSaveName);
118  break;
119 
123  case 'getList':
124  $sContents = makeGroup("", "files");
125  break;
126 
127  case 'processFile':
128  $sTempFileName = $sId . VC_TEMP_FILE_NAME;
129  $sTempFile = $sFilesPath . $sTempFileName . VC_FLV_EXTENSION;
130  @unlink($sTempFile);
132  $sRecordedFileUrl = getRMSUrl($sServerApp, true) . $sStreamsFolder . $sFile . VC_FLV_EXTENSION;
133 
134  $sContents = parseXml($aXmlTemplates['result'], "msgProcessingError", FAILED_VAL);
135  if(function_exists("curl_init")) {
136  $fTemp = fopen($sTempFile, "w");
137  $curl = curl_init();
138  curl_setopt($curl, CURLOPT_URL, $sRecordedFileUrl);
139  curl_setopt($curl, CURLOPT_FILE, $fTemp);
140  curl_setopt($curl, CURLOPT_HEADER, false);
141  curl_exec($curl);
142  curl_close($curl);
143  fclose($fTemp);
144  } else @copy($sRecordedFileUrl, $sTempFile);
145  @chmod($sTempFile, 0666);
146 
147  if(file_exists($sTempFile) && filesize($sTempFile) > 0 && _grabImages($sTempFile, $sFilesPath . $sTempFileName)) {
148  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
149  $sContents .= parseXml($aXmlTemplates['file'], "0", $GLOBALS['sFilesDir'] . $sTempFileName . VC_FLV_EXTENSION, "", $GLOBALS['sFilesDir'] . $sTempFileName . VC_IMAGE_EXTENSION, 0);
150  } else _deleteTempFiles($sId);
151  break;
152 
156  case 'removeFile':
157  if($sFile == "")
158  $sContents = parseXml($aXmlTemplates['result'], "msgErrorDelete", FAILED_VAL);
159  elseif($sFile != "") {
160  $aFiles = explode(",", $sFile);
161  if(count($aFiles) > 0) {
162  for($i=0; $i<count($aFiles); $i++)
163  $bResult = _deleteFile($aFiles[$i]);
164  }
165  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
166  }
167  break;
168 
172  case 'uploadFile':
173  $sContents = uploadFile($_FILES['Filedata']['tmp_name'], $sId);
174  $sContentsType = "other";
175  break;
176 
177  case 'initFile':
178  $sContents = initVideoFile($sId, $sTitle, $sCategory, $sTags, $sDesc);
179  $sContentsType = "other";
180  break;
181 
182  case 'publishRecordedFile':
184  $sContentsType = "other";
185  break;
186 
187  case 'removeTempFiles':
189  break;
190 
191  case 'screenshot':
192  $sPlayFile = $sFilesPath . $sId . (file_exists($sFilesPath . $sId . VC_M4V_EXTENSION) ? VC_M4V_EXTENSION : VC_FLV_EXTENSION);
193  if(_grabImages($sPlayFile, $sFilesPath . $sId, $sTime, true))
194  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
195  else $sContents = parseXml($aXmlTemplates['result'], "msgErrorScreenshot", FAILED_VAL);
196  break;
197 
198  case 'screenshotRecorder':
199  $sFile = $sFilesPath . $sId . VC_TEMP_FILE_NAME;
200  $sPlayFile = $sFile . (file_exists($sFile . VC_M4V_EXTENSION) ? VC_M4V_EXTENSION : VC_FLV_EXTENSION);
201  if(_grabImages($sPlayFile, $sFile, $sTime, true))
202  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
203  else $sContents = parseXml($aXmlTemplates['result'], "msgErrorScreenshot", FAILED_VAL);
204  break;
205 
206  case 'updateFile':
207  $sCategoryUpdate = $sCategory == "0" ? "" : ", `Categories`='" . $sCategory . "'";
208  getResult("UPDATE `" . MODULE_DB_PREFIX . "Files` SET `Title`='" . $sTitle . "', `Tags`='" . $sTags . "', `Description`='" . $sDesc . "'" . $sCategoryUpdate . " WHERE `ID`='" . $sId . "' LIMIT 1");
209  break;
210 
214  case 'updateFileTime':
215  getResult("UPDATE `" . MODULE_DB_PREFIX . "Files` SET `Time`='" . $sTime . "' WHERE `ID`='" . $sId . "'");
216  $sContents = parseXml($aXmlTemplates['result'], TRUE_VAL);
217  break;
218 
219  case 'post':
220  $sSystem = isset($_REQUEST['system']) ? process_db_input($_REQUEST['system']) : "";
221  $sAuthor = isset($_REQUEST['author']) ? process_db_input($_REQUEST['author']) : "";
222  $sParent = isset($_REQUEST['parent']) ? process_db_input($_REQUEST['parent']) : "";
223  $sMood = isset($_REQUEST['mood']) ? process_db_input($_REQUEST['mood']) : "";
224 
225  $sContents = "";
227  if($sResult)
228  $sContents = post($sSystem, $sId, $sAuthor, $sParent, $sMood, $sResult);
229  $sContentsType = "text";
230  break;
231 
232  case 'getToken':
234  if(empty($sToken))
235  $sContents = parseXml($aXmlTemplates['result'], "msgFileNotFound", FAILED_VAL);
236  else
237  $sContents = parseXml($aXmlTemplates['result'], $sToken, SUCCESS_VAL);
238  break;
239 }
process_db_input
process_db_input($sText, $iStripTags=0)
Definition: utils.inc.php:256
$sMessage
$sMessage
Definition: actions.inc.php:17
$sToken
$sToken
Definition: get_file.php:13
$sContentsType
$sContentsType
Definition: XML.php:39
publishRecordedVideoFile
publishRecordedVideoFile($sUserId)
Definition: functions.inc.php:44
$sResult
$sResult
Definition: advanced_settings.php:26
post
post($sTable, $sId, $sAuthor, $sParent, $sMood, $sFileId)
Definition: customFunctions.inc.php:8
$sModulesUrl
$sModulesUrl
Definition: header.inc.php:52
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
_getToken
_getToken($sId)
Definition: functions.inc.php:264
$sExt
$sExt
Definition: get_file.php:14
_deleteTempFiles
_deleteTempFiles($sUserId, $bSourceOnly=false)
Definition: functions.inc.php:222
$sModulesPath
$sModulesPath
Definition: header.inc.php:53
$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
initVideoFile
initVideoFile($sId, $sTitle, $sCategory, $sTags, $sDesc)
Definition: functions.inc.php:62
$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
$bResult
$bResult
Definition: get_file.php:11
_deleteFile
_deleteFile($sFile)
Definition: functions.inc.php:240
$sStreamsFolder
$sStreamsFolder
Definition: header.inc.php:14
_grabImages
_grabImages($sInputFile, $sOutputFile, $iSecond=0, $bForse=false)
Definition: functions.inc.php:201
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
$sFilesPath
$sFilesPath
Definition: header.inc.php:10
$sContents
$sContents
Definition: XML.php:38
$sAction
$sAction
Definition: categories.php:274
empty
Attr AllowedRel this is empty
Definition: Attr.AllowedRel.txt:7
$sDesc
$sDesc
Definition: actions.inc.php:21
uploadFile
uploadFile($sFilePath, $sUserId)
Definition: functions.inc.php:22
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