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;
         }
     }
 }
예제 #3
0
function getDbaseResultsArray($query)
{
    return Dbase::getResultsArray($query);
}
예제 #4
0
 * 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;
        }
예제 #5
0
 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;
     }
 }