public function start($params) { exec("pgrep ffmpeg", $pids); if (empty($pids)) { $query = "SELECT video.guid FROM video LEFT JOIN file ON video.video_guid=file.guid WHERE (video.processed != 'true' && video.processed != 'processing' && video.video_type = 'upload');"; $results = Dbase::getResultsArray($query); foreach ($results as $result) { $video_guid = $result['guid']; $video = getEntity($video_guid, true); if (is_a($video, "SocialApparatus\\Video")) { $file_guid = $video->video_guid; if (!file_exists(SITEDATAPATH . "videos/{$file_guid}/video.mp4")) { $file = getEntity($file_guid, true); FileSystem::makePath(SITEDATAPATH . "videos/" . $file_guid, 0777); $file_location = $file->file_location; exec("pgrep ffmpeg", $pids); if (empty($pids)) { if (file_exists($file_location)) { $target_dir = SITEDATAPATH . "videos/" . $file->guid . "/"; ini_set('max_execution_time', 3000); $ffmpeg = \FFMpeg\FFMpeg::create(array('ffmpeg.binaries' => Setting::get("ffmpeg_ffmprobe_executable_path") . "/ffmpeg", 'ffprobe.binaries' => Setting::get("ffmpeg_ffmprobe_executable_path") . "/ffprobe", 'timeout' => 7200, 'ffmpeg.threads' => 6)); $oldmask = umask(0); $video->proccessed = "processing"; $video->save(); $video_file = $ffmpeg->open($file_location); $video_file->frame(\FFMpeg\Coordinate\TimeCode::fromSeconds(10))->save($target_dir . 'frame.jpg'); $video_file->filters()->resize(new \FFMpeg\Coordinate\Dimension(320, 240))->synchronize(); $video_file->save(new \FFMpeg\Format\Video\X264('libfdk_aac', 'libx264'), $target_dir . 'video.mp4')->save(new \FFMpeg\Format\Video\WebM(), $target_dir . 'video.webm')->save(new \FFMpeg\Format\Video\Ogg(), $target_dir . 'video.ogv'); $video = getEntity($video_guid); $video->processed = "true"; $video->save(); umask($oldmask); $user_guid = $video->owner_guid; $message = "Your video has been processed."; $link = $video->getURL(); notifyUser("video_processed", $video->guid, NULL, $user_guid); continue; } else { $video->processed = "true"; $video->save(); } } } else { $video->processed = "true"; $video->save(); } } } } }
function pluginAutoloader($className) { $filename = str_replace("SocialApparatus\\", "", $className); $filename = ucfirst($filename) . ".php"; $query = "SELECT * FROM `plugin` WHERE `status` = 'enabled' ORDER BY `plugin_order`"; $plugins = Dbase::getResultsArray($query); if (is_array($plugins) && !empty($plugins)) { foreach ($plugins as $plugin) { $file = $plugin['name']; if (file_exists(SITEPATH . "plugins/{$file}/classes/{$filename}")) { require_once SITEPATH . "plugins/{$file}/classes/{$filename}"; return true; } if (file_exists(SITEPATH . "plugins/{$file}/{$filename}")) { require_once SITEPATH . "plugins/{$file}/{$filename}"; return true; } if (file_exists(SITEPATH . "core_plugins/{$file}/classes/{$filename}")) { require_once SITEPATH . "core_plugins/{$file}/classes/{$filename}"; return true; } if (file_exists(SITEPATH . "core_plugins/{$file}/{$filename}")) { require_once SITEPATH . "core_plugins/{$file}/{$filename}"; return true; } } } $files = glob(SITEPATH . "classes/*/*.php"); foreach ($files as $file) { $filename = str_replace("SocialApparatus\\", "", $className); $filename = ucfirst($filename) . ".php"; $basename = basename($file); if ($basename == $filename) { require_once $file; } } }
function getDbaseResultsArray($query) { return Dbase::getResultsArray($query); }
* Dissemination of this information or reproduction of this material is strictly forbidden * unless prior written permission is obtained from SocialApparatus. * * Contact Shane Barron admin@socia.us for more information. */ namespace SocialApparatus; denyDirect(); $content = NULL; $tables = Dbase::getAllTables(false); foreach ($tables as $key => $name) { if ($name != "entities") { $purge_url = addTokenToURL(getSiteURL() . "action/purgeTable/{$name}"); $delete_url = addTokenToURL(getSiteURL() . "action/deleteTable/{$name}"); $query = "SELECT COUNT(*) FROM `{$name}`"; $results = Dbase::getResultsArray($query); if ($results) { $records = $results[0]['COUNT(*)']; $buttons = "<a href='{$purge_url}' class='btn btn-warning btn-xs confirm'>Purge</a>"; if ($name != "User") { $buttons .= "<a href='{$delete_url}' class='btn btn-danger btn-xs confirm'>Delete</a>"; } $content .= <<<HTML <tr> <td>{$name}</td> <td>{$records}</td> <td>{$buttons}</td> </tr> HTML; }
static function getTypeFromGuid($guid) { $query = "SELECT `type` FROM `entities` WHERE `guid` = '{$guid}'"; $results = Dbase::getResultsArray($query); if (!empty($results)) { $result = $results[0]; return $result['type']; } else { return false; } }