/** * @brief returns true if and only if a user with the given uuid exists in the LDAP * @param string a unique user identifier * @return a boolean value */ public function uuidExists($uuid) { //check backend status if (!$this->enabled) { return false; } //check tables $query = \OCP\DB::prepare('SELECT COUNT(*) FROM *PREFIX*ldap_user_mapping WHERE owncloud_name = ?'); $result = $query->execute(array($uuid)); if (!\OCP\DB::isError($result)) { $count = $result->fetchAll(\PDO::FETCH_COLUMN, 0); if ($count[0] === 1) { return true; } } //check primary LDAP server $this->connect(); $uuid = $this->access->escapeFilterPart($uuid); $filter = \OCP\Util::mb_str_replace('%uid', $uuid, $this->access->connection->ldapLoginFilter, 'UTF-8'); $result = $this->access->fetchListOfUsers($filter, $this->connection->ldapUuidAttribute); if (count($result) === 1 && $result[0]['count'] === 1) { return true; } return false; }
/** * test if the mount point moves up if the parent folder no longer exists */ function testShareMountLoseParentFolder() { // share to user $fileinfo = $this->view->getFileInfo($this->folder); $result = \OCP\Share::shareItem('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2, 31); $statement = "UPDATE `*PREFIX*share` SET `file_target` = ? where `share_with` = ?"; $query = \OCP\DB::prepare($statement); $arguments = array('/foo/bar' . $this->folder, self::TEST_FILES_SHARING_API_USER2); $query->execute($arguments); $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); $result = $query->execute(); $shares = $result->fetchAll(); $this->assertSame(1, count($shares)); $share = reset($shares); $this->assertSame('/foo/bar' . $this->folder, $share['file_target']); self::loginHelper(self::TEST_FILES_SHARING_API_USER2); // share should have moved up $query = \OCP\DB::prepare('SELECT * FROM `*PREFIX*share`'); $result = $query->execute(); $shares = $result->fetchAll(); $this->assertSame(1, count($shares)); $share = reset($shares); $this->assertSame($this->folder, $share['file_target']); //cleanup self::loginHelper(self::TEST_FILES_SHARING_API_USER1); \OCP\Share::unshare('folder', $fileinfo['fileid'], \OCP\Share::SHARE_TYPE_USER, self::TEST_FILES_SHARING_API_USER2); $this->view->unlink($this->folder); }
/** * Handle user removal from ownCloud */ public static function notifyUserDeletion($args) { try { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('SELECT `pid`, `title` FROM `*PREFIX*collaboration_project` WHERE `pid` IN (SELECT DISTINCT(`pid`) FROM `*PREFIX*collaboration_works_on` WHERE `member`=?) AND `completed`=?'); $result = $query->execute(array($args['uid'], false)); $projs = $result->fetchAll(); if (count($projs) != 0) { $projects = $projs[0]['title']; $pids = $projs[0]['pid']; for ($i = 1; $i < count($projs); $i++) { $projects .= ', ' . $projs[$i]['title']; $pids .= ' ' . $projs[$i]['pid']; } OC_Collaboration_Post::createPost('Member Removed', 'Owncloud member \'' . $args['uid'] . '\' has been removed from owncloud and hence from the project(s) ' . $projects, OC_User::getUser(), NULL, 'Member removal', OC_Collaboration_Project::getMembersWorkingOnProjects(explode(' ', $pids)), true); } OC_Collaboration_Project::deleteMemberRole(NULL, $args['uid'], NULL, OC_User::getUser(), true); OC_Collaboration_Skillset::removeSkillsOfMember($args['uid']); OC_Collaboration_Post::removePostsByMember($args['uid'], true); \OCP\DB::commit(); OC_Log::write('collaboration', 'User deletion notification posted.', OCP\Util::INFO); } catch (\Exception $e) { OC_Log::write('collaboration', __METHOD__ . ', Exception: ' . $e->getMessage(), OCP\Util::DEBUG); return false; } }
public function delete($id) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit_comments ' . 'WHERE id = ?'); $query->execute(array($id)); \OCP\DB::commit(); }
protected function deleteTestActivities() { $query = DB::prepare('DELETE FROM `*PREFIX*activity` WHERE `app` = ?'); $query->execute(array('test')); $query = DB::prepare('DELETE FROM `*PREFIX*activity_mq` WHERE `amq_appid` = ?'); $query->execute(array('test')); }
/** * Background scanner main job * @return null */ public function run() { if (!$this->initFS()) { return; } // locate files that are not checked yet $dirMimetypeId = \OC::$server->getMimeTypeLoader()->getId('httpd/unix-directory'); $sql = 'SELECT `*PREFIX*filecache`.`fileid`, `*PREFIX*storages`.*' . ' FROM `*PREFIX*filecache`' . ' LEFT JOIN `*PREFIX*files_antivirus` ON `*PREFIX*files_antivirus`.`fileid` = `*PREFIX*filecache`.`fileid`' . ' JOIN `*PREFIX*storages` ON `*PREFIX*storages`.`numeric_id` = `*PREFIX*filecache`.`storage`' . ' WHERE `mimetype` != ?' . ' AND (`*PREFIX*storages`.`id` LIKE ? OR `*PREFIX*storages`.`id` LIKE ?)' . ' AND (`*PREFIX*files_antivirus`.`fileid` IS NULL OR `mtime` > `check_time`)' . ' AND `path` LIKE ?'; $stmt = \OCP\DB::prepare($sql, 5); try { $result = $stmt->execute(array($dirMimetypeId, 'local::%', 'home::%', 'files/%')); if (\OCP\DB::isError($result)) { \OCP\Util::writeLog('files_antivirus', __METHOD__ . 'DB error: ' . \OCP\DB::getErrorMessage($result), \OCP\Util::ERROR); return; } } catch (\Exception $e) { \OCP\Util::writeLog('files_antivirus', __METHOD__ . ', exception: ' . $e->getMessage(), \OCP\Util::ERROR); return; } $view = new \OC\Files\View('/'); while ($row = $result->fetchRow()) { $path = $view->getPath($row['fileid']); if (!is_null($path)) { $item = new Item($this->l10n, $view, $path, $row['fileid']); $scanner = $this->scannerFactory->getScanner(); $status = $scanner->scan($item); $status->dispatch($item, true); } } \OC_Util::tearDownFS(); }
public function getChildren($itemSource) { $children = array(); $parents = array($itemSource); $query = \OCP\DB::prepare('SELECT `id` FROM `*PREFIX*mimetypes` WHERE `mimetype` = ?'); $result = $query->execute(array('httpd/unix-directory')); if ($row = $result->fetchRow()) { $mimetype = $row['id']; } else { $mimetype = -1; } while (!empty($parents)) { $parents = "'" . implode("','", $parents) . "'"; $query = \OCP\DB::prepare('SELECT `fileid`, `name`, `mimetype` FROM `*PREFIX*filecache`' . ' WHERE `parent` IN (' . $parents . ')'); $result = $query->execute(); $parents = array(); while ($file = $result->fetchRow()) { $children[] = array('source' => $file['fileid'], 'file_path' => $file['name']); // If a child folder is found look inside it if ($file['mimetype'] == $mimetype) { $parents[] = $file['fileid']; } } } return $children; }
public function getstats() { $timeperiod = json_decode($_POST['accessstats']); $from_timestamp = date("Y-m-d 0:0:0", strtotime($timeperiod->from_date)); $to_timestamp = date("Y-m-d 23:59:59", strtotime($timeperiod->to_date)); $sql = 'SELECT id, time, username, path FROM `*PREFIX*accessstats_items` WHERE time >= ? and time <= ?'; error_log($from_timestamp); $query = \OCP\DB::prepare($sql); $query->bindparam(1, $from_timestamp); $query->bindparam(2, $to_timestamp); $result = $query->execute(); $data = "id,time,username,path\r\n"; while ($row = $result->fetchRow()) { $data .= "\"" . $row['id'] . "\",\"" . $row['time'] . "\",\"" . $row['username'] . "\",\"" . $row['path'] . "\"\r\n"; } header('Content-Description: File Transfer'); //header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=access_report.csv'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . strlen($data)); print $data; exit(0); }
function import() { switch ($this->appinfo->version) { default: // All versions of the app have had the same db structure, so all can use the same import function $query = $this->content->prepare('SELECT * FROM contacts_addressbooks WHERE userid = ?'); $results = $query->execute(array($this->olduid)); $idmap = array(); $app = new \OCA\Contacts\App($this->uid); while ($row = $results->fetchRow()) { // Import each addressbook $addressbookquery = \OCP\DB::prepare('INSERT INTO `*PREFIX*contacts_addressbooks` ' . '(`userid`, `displayname`, `uri`, `description`, `ctag`) VALUES (?, ?, ?, ?, ?)'); $addressbookquery->execute(array($this->uid, $row['displayname'], $row['uri'], $row['description'], $row['ctag'])); // Map the id $idmap[$row['id']] = \OCP\DB::insertid('*PREFIX*contacts_addressbooks'); // Make the addressbook active $addressbook = $app->getAddressBook('local', $idmap[$row['id']]); $addressbook->setActive(true); } // Now tags foreach ($idmap as $oldid => $newid) { $query = $this->content->prepare('SELECT * FROM contacts_cards WHERE addressbookid = ?'); $results = $query->execute(array($oldid)); while ($row = $results->fetchRow()) { // Import the contacts $contactquery = \OCP\DB::prepare('INSERT INTO `*PREFIX*contacts_cards` ' . '(`addressbookid`, `fullname`, `carddata`, `uri`, `lastmodified`) VALUES (?, ?, ?, ?, ?)'); $contactquery->execute(array($newid, $row['fullname'], $row['carddata'], $row['uri'], $row['lastmodified'])); } } // All done! break; } return true; }
/** * get the sha256 hash of the password needed for ampache * * @param array $params, parameters passed from OC_Hook */ public static function passwordChangeListener($params) { if (isset($params['uid']) and $params['password']) { $name = $params['uid']; $password = hash('sha256', $params['password']); $query = \OCP\DB::prepare("UPDATE `*PREFIX*media_users` SET `user_password_sha256` = ? WHERE `user_id` = ?"); $query->execute(array($password, $name)); } }
public function update(OtpUserData $OtpUserData) { $sql = 'UPDATE `' . $this->getTableName() . '` ' . 'SET `request_prefix_pin` =?,' . '`algorithm` =?,' . '`token_seed` =?,' . '`user_pin` =?,' . '`number_of_digits` =?,' . '`time_interval` =?,' . '`last_event` =?,' . '`last_login` =?,' . '`error_counter` =?,' . '`locked` =?,' . '`qrcode` =? ' . 'WHERE `user`=? '; //print_r($OtpUserData); $query = \OCP\DB::prepare($sql); $result = $query->execute(array($OtpUserData->getRequestPrefixPin(), $OtpUserData->getAlgorithm(), $OtpUserData->getTokenSeed(), $OtpUserData->getUserPin(), $OtpUserData->getNumberOfDigits(), $OtpUserData->getTimeInterval(), $OtpUserData->getLastEvent(), $OtpUserData->getLastLogin(), $OtpUserData->getErrorCounter(), $OtpUserData->getLocked(), $OtpUserData->getQrcode(), $OtpUserData->getUser())); //~ print_r($query);exit; return $result; }
public function setFileData($path, $width, $height) { $stmt = \OCP\DB::prepare('INSERT INTO `*PREFIX*pictures_images_cache` (`uid_owner`, `path`, `width`, `height`) VALUES (?, ?, ?, ?)'); $stmt->execute(array(\OCP\USER::getUser(), $path, $width, $height)); $ret = array('path' => $path, 'width' => $width, 'height' => $height); $dir = dirname($path); $this->cache[$dir][$path] = $ret; return $ret; }
public static function logRead($params) { //LOG: user, path, time // $logstring = \OCP\User::getUser().", ".$params['path'].", ".date("d-m-Y H:i:s"); $sql = "insert into `*PREFIX*accessstats_items` (`username`,`path`,`time`) values (?,?,?)"; \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare($sql); $result = $query->execute(array(\OCP\User::getUser(), $params['path'], time())); \OCP\DB::commit(); }
function tearDown() { $this->view->unlink($this->filename); $this->view->deleteAll($this->folder); self::$tempStorage = null; // clear database table $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share`'); $query->execute(); parent::tearDown(); }
public function getSetting($userId, $settingName) { $sql = 'SELECT value FROM ' . '*PREFIX*weather_config WHERE `user` = ? and `key` = ?'; $query = \OCP\DB::prepare($sql); $result = $query->execute(array($userId, $settingName)); if ($row = $result->fetchRow()) { return $row["value"]; } return 0; }
protected function tearDown() { self::loginHelper(self::TEST_FILES_SHARING_API_USER1); $this->view->unlink($this->filename); $this->view->deleteAll($this->folder); self::$tempStorage = null; // clear database table $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*share`'); $query->execute(); parent::tearDown(); }
public function migrate() { $sql = 'SELECT user_id, datakey, datavalue FROM ' . '*PREFIX*ocsms_user_datas WHERE datakey LIKE \'lastReadDate-%\''; $query = \OCP\DB::prepare($sql); $result = $query->execute(array()); while ($row = $result->fetchRow()) { $pn = preg_replace("#lastReadDate[-]#", "", $row["datakey"]); $this->setLast($row["user_id"], $pn, $row["datavalue"]); } $query = \OCP\DB::prepare("DELETE FROM *PREFIX*ocsms_user_datas WHERE datakey LIKE 'lastReadDate-%'"); $query->execute(array()); }
public function testTableTruncate() { $statement = \OCP\DB::prepare('INSERT INTO `*PREFIX*ldap_user_mapping` (`ldap_dn`, `owncloud_name`, `directory_uuid`) VALUES (?, ?, ?)'); $statement->execute(array('db01', 'oc1', '000-0000-0000')); $statement->execute(array('db02', 'oc2', '000-0000-0001')); $statement = \OCP\DB::prepare('SELECT count(*) FROM `*PREFIX*ldap_user_mapping`'); $result = $statement->execute(); $this->assertEquals(2, $result->fetchOne()); Helper::clearMapping('user'); $result = $statement->execute(); $this->assertEquals(0, $result->fetchOne()); }
public function getKey($key) { try { $query = \OCP\DB::prepare("SELECT `value` FROM `*PREFIX*ocsms_config` WHERE `key` = ? AND `user` = ?"); $result = $query->execute(array($key, $this->user)); while ($row = $result->fetchRow()) { return $this->crypto->decrypt($row["value"]); } return false; } catch (DoesNotExistException $e) { return false; } }
public function delete($id) { \OCP\DB::beginTransaction(); // First delete comments in postits in the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit_comments ' . 'WHERE postit_id IN (SELECT id FROM *PREFIX*ownboard_postit ' . 'WHERE category_id = ?)'); $query->execute(array($id)); // Next delete postits in the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_postit ' . 'WHERE category_id = ?'); $query->execute(array($id)); // Then delete the category $query = \OCP\DB::prepare('DELETE FROM *PREFIX*ownboard_category ' . 'WHERE id = ?'); $query->execute(array($id)); \OCP\DB::commit(); }
/** * delete a key * test: curl http://login:passwd@oc/core/ocs/v1.php/privatedata/deleteattribute/testy/123 --data "post=1" * @param array $parameters The OCS parameter * @return \OC_OCS_Result */ public static function delete($parameters) { $user = OC_User::getUser(); if (!isset($parameters['app']) or !isset($parameters['key'])) { //key and app are NOT optional here return new OC_OCS_Result(null, 101); } $app = addslashes(strip_tags($parameters['app'])); $key = addslashes(strip_tags($parameters['key'])); // delete in DB $query = \OCP\DB::prepare('DELETE FROM `*PREFIX*privatedata` WHERE `user` = ? AND `app` = ? AND `key` = ? '); $query->execute(array($user, $app, $key)); return new OC_OCS_Result(null, 100); }
public function create($userId, $name) { \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*weather_city ' . '(user_id, name) VALUES (?,?)'); $query->execute(array($userId, $name)); \OCP\DB::commit(); $sql = 'SELECT max(id) as maxid FROM ' . '*PREFIX*weather_city WHERE user_id = ? and name = ?'; $query = \OCP\DB::prepare($sql); $result = $query->execute(array($userId, $name)); if ($row = $result->fetchRow()) { return $row['maxid']; } return null; }
public function dropTableEncryption() { $tableName = $this->tableName; if (!\OC_DB::tableExists($tableName)) { return; } $sql = "select `uid`, max(`recovery_enabled`) as `recovery_enabled`, min(`migration_status`) as `migration_status` from `*PREFIX*{$tableName}` group by `uid`"; $query = \OCP\DB::prepare($sql); $result = $query->execute(array())->fetchAll(); foreach ($result as $row) { \OC_Preferences::setValue($row['uid'], 'files_encryption', 'recovery_enabled', $row['recovery_enabled']); \OC_Preferences::setValue($row['uid'], 'files_encryption', 'migration_status', $row['migration_status']); } \OC_DB::dropTable($tableName); }
public function getOpsAfter($esId, $seq) { if ($seq == "") { $seq = -1; } $query = \OCP\DB::prepare(' SELECT `opspec` FROM ' . self::DB_TABLE . ' WHERE `es_id`=? AND `seq`>? ORDER BY `seq` ASC '); $result = $query->execute(array($esId, $seq)); return $result->fetchAll(); }
protected function setUp() { parent::setUp(); $this->originalWEBROOT = \OC::$WEBROOT; \OC::$WEBROOT = ''; \OC_User::createUser('activity-api-user1', 'activity-api-user1'); \OC_User::createUser('activity-api-user2', 'activity-api-user2'); $activities = array(array('affectedUser' => 'activity-api-user1', 'subject' => 'created_self', 'subjectparams' => array('/A/B.txt'), 'type' => 'file_created'), array('affectedUser' => 'activity-api-user1', 'subject' => 'deleted_by', 'subjectparams' => array('/A/B.txt', 'Deleter'), 'type' => 'file_deleted')); $queryActivity = \OCP\DB::prepare('INSERT INTO `*PREFIX*activity`(`app`, `subject`, `subjectparams`, `message`, `messageparams`, `file`, `link`, `user`, `affecteduser`, `timestamp`, `priority`, `type`)' . ' VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )'); $loop = 0; foreach ($activities as $activity) { $queryActivity->execute(array('files', $activity['subject'], serialize($activity['subjectparams']), '', serialize(array()), 'file', 'link', 'user', $activity['affectedUser'], time() + $loop, IExtension::PRIORITY_MEDIUM, $activity['type'])); $loop++; } }
public function create($categoryId, $title) { $now = date("Y-m-d H:i:s"); \OCP\DB::beginTransaction(); $query = \OCP\DB::prepare('INSERT INTO *PREFIX*ownboard_postit' . '(title, category_id, last_update) VALUES (?,?,?)'); $query->execute(array($title, $categoryId, $now)); \OCP\DB::commit(); $sql = 'SELECT max(id) FROM ' . '*PREFIX*ownboard_postit WHERE category_id = ? and title = ? ' . 'and last_update = ?'; $query = \OCP\DB::prepare($sql); $result = $query->execute(array($categoryId, $title, $now)); if ($row = $result->fetchRow()) { return array("id" => $row['max'], "last_update" => $now); } return null; }
protected function setUp() { parent::setUp(); $this->originalWEBROOT = \OC::$WEBROOT; \OC::$WEBROOT = ''; \OC::$server->getUserManager()->createUser('activity-api-user1', 'activity-api-user1'); \OC::$server->getUserManager()->createUser('activity-api-user2', 'activity-api-user2'); $activities = array(array('affectedUser' => 'activity-api-user1', 'subject' => 'subject1', 'subjectparams' => array('/A/B.txt'), 'type' => 'type1'), array('affectedUser' => 'activity-api-user1', 'subject' => 'subject2', 'subjectparams' => array('/A/B.txt', 'User'), 'type' => 'type2')); $queryActivity = \OCP\DB::prepare('INSERT INTO `*PREFIX*activity`(`app`, `subject`, `subjectparams`, `message`, `messageparams`, `file`, `link`, `user`, `affecteduser`, `timestamp`, `priority`, `type`)' . ' VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )'); $loop = 0; foreach ($activities as $activity) { $queryActivity->execute(array('app1', $activity['subject'], json_encode($activity['subjectparams']), '', json_encode([]), 'file', 'link', 'user', $activity['affectedUser'], time() + $loop, IExtension::PRIORITY_MEDIUM, $activity['type'])); $loop++; } }
/** * Create a flag set to false for each existing account * @param OutputInterface $output */ protected function Init($output) { try { \OCP\DB::beginTransaction(); $sql = "INSERT INTO *PREFIX*preferences\n (SELECT uid, 'user_set_password', 'show', 0 FROM oc_users)\n ON duplicate key UPDATE configvalue = 0"; $stmt = \OCP\DB::prepare($sql); $rowCount = $stmt->execute(); \OCP\DB::commit(); $this->consoleDisplay(' flags have been initialized to "false".'); } catch (\Exception $e) { // rollBack not implemented in \OCP\DB! (ownCloud 7.0.5) $conn = \OCP\DB::getConnection(); $conn->rollBack(); $this->consoleDisplay('Fatal error: ' . $e->getMessage(), self::ERROR); } }
/** * Reset the flag to true for all accounts * @param OutputInterface $output */ protected function reset($output) { try { \OCP\DB::beginTransaction(); $sql = "UPDATE *PREFIX*preferences\n SET configvalue = 1\n WHERE appid = 'user_set_password' AND configkey = 'show'"; $stmt = \OCP\DB::prepare($sql); $rowCount = $stmt->execute(); \OCP\DB::commit(); $this->consoleDisplay(' flags have been resetted to "true".'); } catch (\Exception $e) { // rollBack not implemented in \OCP\DB! (ownCloud 7.0.5) $conn = \OCP\DB::getConnection(); $conn->rollBack(); $this->consoleDisplay('Fatal error: ' . $e->getMessage(), self::ERROR); } }
public static function Add($URL) { try { self::Load(); $URL = urldecode($URL); if (Tools::CheckURL($URL)) { if (preg_match('/^https{0,1}:\\/\\/www\\.youtube\\.com\\/watch\\?v=.*$/', $URL) == 1) { $YouTube = new YouTube(self::$YTDLBinary, $URL); if (!is_null(self::$ProxyAddress) && self::$ProxyPort > 0 && self::$ProxyPort <= 65536) { $YouTube->SetProxy(self::$ProxyAddress, self::$ProxyPort); } $VideoData = $YouTube->GetVideoData(); if (!isset($VideoData['VIDEO']) || !isset($VideoData['FULLNAME'])) { return array('ERROR' => true, 'MESSAGE' => 'UnabletoretrievetrueYouTubevideoURL'); } $DL = array('URL' => $VideoData['VIDEO'], 'FILENAME' => Tools::CleanString($VideoData['FULLNAME']), 'PROTO' => 'Video'); } else { $DL = array('URL' => $URL, 'FILENAME' => Tools::CleanString(substr($URL, strrpos($URL, '/') + 1)), 'PROTO' => strtoupper(substr($URL, 0, strpos($URL, ':')))); } $OPTIONS = array('dir' => self::$AbsoluteDownloadsFolder, 'out' => $DL['FILENAME']); if (!is_null(self::$ProxyAddress) && self::$ProxyPort > 0 && self::$ProxyPort <= 65536) { $OPTIONS['all-proxy'] = rtrim(self::$ProxyAddress, '/') . ':' . self::$ProxyPort; if (!is_null(self::$ProxyUser) && !is_null(self::$ProxyPasswd)) { $OPTIONS['all-proxy-user'] = self::$ProxyUser; $OPTIONS['all-proxy-passwd'] = self::$ProxyPasswd; } } $AddURI = Aria2::AddUri(array($DL['URL']), $OPTIONS); if (isset($AddURI['result']) && !is_null($AddURI['result'])) { $SQL = 'INSERT INTO `*PREFIX*ocdownloader_queue` (`UID`, `GID`, `FILENAME`, `PROTOCOL`, `IS_CLEANED`, `STATUS`, `TIMESTAMP`) VALUES (?, ?, ?, ?, ?, ?, ?)'; if (self::$DbType == 1) { $SQL = 'INSERT INTO *PREFIX*ocdownloader_queue ("UID", "GID", "FILENAME", "PROTOCOL", "IS_CLEANED", "STATUS", "TIMESTAMP") VALUES (?, ?, ?, ?, ?, ?, ?)'; } $Query = \OCP\DB::prepare($SQL); $Result = $Query->execute(array(self::$CurrentUID, $AddURI['result'], $DL['FILENAME'], strcmp($DL['PROTO'], 'Video') == 0 ? 'YT ' . (string) self::$L10N->t('Video') : $DL['PROTO'], 1, 1, time())); return array('ERROR' => false, 'FILENAME' => $DL['FILENAME']); } else { return array('ERROR' => true, 'MESSAGE' => 'ReturnedGIDisnullIsAria2crunningasadaemon'); } } else { return array('ERROR' => true, 'MESSAGE' => 'InvalidURL'); } } catch (Exception $E) { return array('ERROR' => true, 'MESSAGE' => 'Unabletolaunchthedownload'); } }