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 . M4V_EXTENSION) ? M4V_EXTENSION : 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 . IMAGE_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($sFilesPath . $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  $sContents .= parseXml($aXmlTemplates['file'], $sId, $sGetFile, $sGetFile, $sImageFile, $aFile['Time'], $sSaveName);
120  break;
121 
125  case 'getList':
126  $sContents = makeGroup(video_getList($sId), "files");
127  break;
128 
129  case 'processFile':
130  $sTempFileName = $sId . TEMP_FILE_NAME;
131  $sTempFile = $sFilesPath . $sTempFileName . FLV_EXTENSION;
132  @unlink($sTempFile);
134  $sRecordedFileUrl = getRMSUrl($sServerApp, true) . $sStreamsFolder . $sFile . FLV_EXTENSION;
135 
136  $sContents = parseXml($aXmlTemplates['result'], "msgProcessingError", FAILED_VAL);
137  if(function_exists("curl_init")) {
138  $fTemp = fopen($sTempFile, "w");
139  $curl = curl_init();
140  curl_setopt($curl, CURLOPT_URL, $sRecordedFileUrl);
141  curl_setopt($curl, CURLOPT_FILE, $fTemp);
142  curl_setopt($curl, CURLOPT_HEADER, false);
143  curl_exec($curl);
144  curl_close($curl);
145  fclose($fTemp);
146  } else @copy($sRecordedFileUrl, $sTempFile);
147  if(file_exists($sTempFile))
148  @chmod($sTempFile, 0666);
149  if(file_exists($sTempFile) && filesize($sTempFile) > 0 && grabImages($sTempFile, $sFilesPath . $sTempFileName)) {
150  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
151  $sContents .= parseXml($aXmlTemplates['file'], "0", $GLOBALS['sFilesDir'] . $sTempFileName . FLV_EXTENSION, "", $GLOBALS['sFilesDir'] . $sTempFileName . IMAGE_EXTENSION, 0);
152  } else deleteTempFiles($sId);
153  break;
154 
158  case 'removeFile':
159  if($sFile == "")
160  $sContents = parseXml($aXmlTemplates['result'], "msgErrorDelete", FAILED_VAL);
161  elseif($sFile != "") {
162  $aFiles = explode(",", $sFile);
163  if(count($aFiles) > 0) {
164  for($i=0; $i<count($aFiles); $i++)
165  $bResult = deleteVideo($aFiles[$i]);
166  }
167  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
168  }
169  break;
170 
174  case 'uploadFile':
175  $sContents = uploadVideo($_FILES['Filedata']['tmp_name'], $sId);
176  $sContentsType = "other";
177  break;
178 
179  case 'initFile':
180  $sContents = initVideo($sId, $sTitle, $sCategory, $sTags, $sDesc);
181  $sContentsType = "other";
182  break;
183 
184  case 'publishRecordedFile':
186  $sContentsType = "other";
187  break;
188 
189  case 'removeTempFiles':
191  break;
192 
193  case 'screenshot':
194  $sPlayFile = $sFilesPath . $sId . (file_exists($sFilesPath . $sId . M4V_EXTENSION) ? M4V_EXTENSION : FLV_EXTENSION);
195  if(grabImages($sPlayFile, $sFilesPath . $sId, $sTime, true))
196  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
197  else $sContents = parseXml($aXmlTemplates['result'], "msgErrorScreenshot", FAILED_VAL);
198  break;
199 
200  case 'screenshotRecorder':
201  $sFile = $sFilesPath . $sId . TEMP_FILE_NAME;
202  $sPlayFile = $sFile . (file_exists($sFile . M4V_EXTENSION) ? M4V_EXTENSION : FLV_EXTENSION);
203  if(grabImages($sPlayFile, $sFile, $sTime, true))
204  $sContents = parseXml($aXmlTemplates['result'], "", SUCCESS_VAL);
205  else $sContents = parseXml($aXmlTemplates['result'], "msgErrorScreenshot", FAILED_VAL);
206  break;
207 
208  case 'updateFile':
209  $sCategoryUpdate = $sCategory == "0" ? "" : ", `Categories`='" . $sCategory . "'";
210  getResult("UPDATE `" . MODULE_DB_PREFIX . "Files` SET `Title`='" . $sTitle . "', `Tags`='" . $sTags . "', `Description`='" . $sDesc . "'" . $sCategoryUpdate . " WHERE `ID`='" . $sId . "' LIMIT 1");
212  break;
213 
217  case 'updateFileTime':
218  getResult("UPDATE `" . MODULE_DB_PREFIX . "Files` SET `Time`='" . $sTime . "' WHERE `ID`='" . $sId . "'");
219  $sContents = parseXml($aXmlTemplates['result'], TRUE_VAL);
220  break;
221 
222  case 'getToken':
223  $sToken = getToken($sId);
224  if(empty($sToken))
225  $sContents = parseXml($aXmlTemplates['result'], "msgFileNotFound", FAILED_VAL);
226  else
227  $sContents = parseXml($aXmlTemplates['result'], $sToken, SUCCESS_VAL);
228  break;
229 }
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
video_parseTags
video_parseTags($iId)
Definition: customFunctions.inc.php:13
$sContentsType
$sContentsType
Definition: XML.php:39
uploadVideo
uploadVideo($sFilePath, $sUserId, $isMoveUploadedFile=false, $sImageFilePath='', $sFileName='', $aFilesConfig=array())
Definition: functions.inc.php:99
$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
$sExt
$sExt
Definition: get_file.php:14
deleteTempFiles
deleteTempFiles($sUserId, $bSourceOnly=false, $aFilesConfig=array())
Definition: functions.inc.php:384
$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
initVideo
initVideo($sId, $sTitle, $sCategory, $sTags, $sDesc)
Definition: functions.inc.php:168
$sPassword
$sPassword
Definition: actions.inc.php:10
getRMSUrl
getRMSUrl($sApplication, $bHttp=false)
Definition: apiFunctions.inc.php:116
$sFile
$sFile
Definition: actions.inc.php:26
video_getList
video_getList($sId)
Definition: customFunctions.inc.php:47
$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
$sStreamsFolder
$sStreamsFolder
Definition: header.inc.php:14
parseXml
parseXml($aXmlTemplates)
Definition: apiFunctions.inc.php:15
deleteVideo
deleteVideo($sFile, $aFilesConfig=array())
Definition: functions.inc.php:405
$sServerApp
$sServerApp
Definition: header.inc.php:8
grabImages
grabImages($sInputFile, $sOutputFile, $iSecond=0, $bForse=false, $aFilesConfig=array())
Definition: functions.inc.php:320
publishRecordedVideo
publishRecordedVideo($sUserId, $sTitle, $sCategory, $sTags, $sDesc, $aFilesConfig=array())
Definition: functions.inc.php:139
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
getToken
getToken($sId)
Definition: functions.inc.php:429
$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
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