Пример #1
0
 public function __construct(array $urlParams = array())
 {
     parent::__construct('weather', $urlParams);
     $container = $this->getContainer();
     /**
      * Core
      */
     $container->registerService('UserId', function (IContainer $c) {
         return \OCP\User::getUser();
     });
     /**
      * Database Layer
      */
     $container->registerService('CityMapper', function (IContainer $c) {
         return new CityMapper($c->query('ServerContainer')->getDb());
     });
     $container->registerService('SettingsMapper', function (IContainer $c) {
         return new SettingsMapper($c->query('ServerContainer')->getDb());
     });
     /**
      * Controllers
      */
     $container->registerService('CityController', function (IContainer $c) {
         return new CityController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('CityMapper'), $c->query('SettingsMapper'));
     });
     $container->registerService('SettingsController', function (IContainer $c) {
         return new SettingsController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('SettingsMapper'), $c->query('CityMapper'));
     });
     $container->registerService('WeatherController', function (IContainer $c) {
         return new WeatherController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('CityMapper'), $c->query('SettingsMapper'));
     });
 }
Пример #2
0
	public function __construct (array $urlParams=array()) {
		parent::__construct('ownnote', $urlParams);

		$container = $this->getContainer();

		/**
		 * Controllers
		 */
		$container->registerService('PageController', function(IContainer $c) {
			return new PageController(
				$c->query('AppName'), 
				$c->query('Request'),
				$c->query('UserId')
			);
		});

                $container->registerService('OwnnoteApiController', function($c){
                        return new OwnnoteApiController(
                                $c->query('AppName'),
                                $c->query('Request')
                        );
                });


		/**
		 * Core
		 */
		$container->registerService('UserId', function(IContainer $c) {
			return \OCP\User::getUser();
		});		
		
	}
 /**
  * @NoAdminRequired
  * @NoCSRFRequired
  */
 public function export()
 {
     $data = $this->data->export();
     $fileName = User::getUser() . ".csv";
     $Download = new DataDownloadResponse($data, $fileName, 'text/csv');
     return $Download;
 }
Пример #4
0
 public function __construct(array $urlParams = array())
 {
     parent::__construct('documents', $urlParams);
     $container = $this->getContainer();
     /**
      * Controllers
      */
     $container->registerService('UserController', function ($c) {
         return new UserController($c->query('AppName'), $c->query('Request'));
     });
     $container->registerService('SessionController', function ($c) {
         return new SessionController($c->query('AppName'), $c->query('Request'), $c->query('Logger'), $c->query('UserId'));
     });
     $container->registerService('DocumentController', function ($c) {
         return new DocumentController($c->query('AppName'), $c->query('Request'), $c->query('CoreConfig'), $c->query('L10N'), $c->query('UserId'));
     });
     $container->registerService('SettingsController', function ($c) {
         return new SettingsController($c->query('AppName'), $c->query('Request'), $c->query('CoreConfig'), $c->query('Logger'), $c->query('L10N'), $c->query('UserId'));
     });
     /**
      * Core
      */
     $container->registerService('Logger', function ($c) {
         return $c->query('ServerContainer')->getLogger();
     });
     $container->registerService('CoreConfig', function ($c) {
         return $c->query('ServerContainer')->getConfig();
     });
     $container->registerService('L10N', function ($c) {
         return $c->query('ServerContainer')->getL10N($c->query('AppName'));
     });
     $container->registerService('UserId', function () {
         return \OCP\User::getUser();
     });
 }
Пример #5
0
 public function __construct(array $urlParams = array())
 {
     parent::__construct('tasks', $urlParams);
     $container = $this->getContainer();
     /**
      * Controllers
      */
     $container->registerService('PageController', function ($c) {
         return new PageController($c->query('AppName'), $c->query('Request'), $c->query('UserId'));
     });
     $container->registerService('CollectionsController', function ($c) {
         return new CollectionsController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('L10N'), $c->query('Settings'));
     });
     $container->registerService('ListsController', function ($c) {
         return new ListsController($c->query('AppName'), $c->query('Request'), $c->query('UserId'));
     });
     $container->registerService('SettingsController', function ($c) {
         return new SettingsController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('Settings'));
     });
     $container->registerService('TasksController', function ($c) {
         return new TasksController($c->query('AppName'), $c->query('Request'), $c->query('UserId'));
     });
     /**
      * Core
      */
     $container->registerService('UserId', function ($c) {
         return \OCP\User::getUser();
     });
     $container->registerService('L10N', function ($c) {
         return $c->query('ServerContainer')->getL10N($c->query('AppName'));
     });
     $container->registerService('Settings', function ($c) {
         return $c->query('ServerContainer')->getConfig();
     });
 }
Пример #6
0
 public static function post_write_hook($params)
 {
     $user = \OCP\User::getUser();
     if (!empty($user)) {
         Trashbin::resizeTrash($user);
     }
 }
Пример #7
0
 /**
  * Returns a list of ACE's for this node.
  *
  * Each ACE has the following properties:
  *   * 'privilege', a string such as {DAV:}read or {DAV:}write. These are
  *     currently the only supported privileges
  *   * 'principal', a url to the principal who owns the node
  *   * 'protected' (optional), indicating that this ACE is not allowed to
  *      be updated.
  *
  * @return array
  */
 public function getACL()
 {
     $readprincipal = $this->getOwner();
     $writeprincipal = $this->getOwner();
     $createprincipal = $this->getOwner();
     $deleteprincipal = $this->getOwner();
     $uid = AddrBook::extractUserID($this->getOwner());
     //\OCP\Config::setUserValue($uid, 'contactsplus', 'syncaddrbook', $this->addressBookInfo['uri']);
     $readWriteACL = array(array('privilege' => '{DAV:}read', 'principal' => 'principals/' . \OCP\User::getUser(), 'protected' => true), array('privilege' => '{DAV:}write', 'principal' => 'principals/' . \OCP\User::getUser(), 'protected' => true));
     if ($uid !== \OCP\USER::getUser()) {
         $sharedAddressbook = \OCP\Share::getItemSharedWithBySource(ContactsApp::SHAREADDRESSBOOK, ContactsApp::SHAREADDRESSBOOKPREFIX . $this->addressBookInfo['id']);
         if ($sharedAddressbook) {
             if ($sharedAddressbook['permissions'] & \OCP\PERMISSION_CREATE && $sharedAddressbook['permissions'] & \OCP\PERMISSION_UPDATE && $sharedAddressbook['permissions'] & \OCP\PERMISSION_DELETE) {
                 return $readWriteACL;
             }
             if ($sharedAddressbook['permissions'] & \OCP\PERMISSION_CREATE) {
                 $createprincipal = 'principals/' . \OCP\USER::getUser();
             }
             if ($sharedAddressbook['permissions'] & \OCP\PERMISSION_READ) {
                 $readprincipal = 'principals/' . \OCP\USER::getUser();
             }
             if ($sharedAddressbook['permissions'] & \OCP\PERMISSION_UPDATE) {
                 $writeprincipal = 'principals/' . \OCP\USER::getUser();
             }
             if ($sharedAddressbook['permissions'] & \OCP\PERMISSION_DELETE) {
                 $deleteprincipal = 'principals/' . \OCP\USER::getUser();
             }
         }
     } else {
         return parent::getACL();
     }
     return array(array('privilege' => '{DAV:}read', 'principal' => $readprincipal, 'protected' => true), array('privilege' => '{DAV:}write-content', 'principal' => $writeprincipal, 'protected' => true), array('privilege' => '{DAV:}bind', 'principal' => $createprincipal, 'protected' => true), array('privilege' => '{DAV:}unbind', 'principal' => $deleteprincipal, 'protected' => true));
 }
Пример #8
0
 public function __construct(array $urlParams = array())
 {
     parent::__construct('bookmarks', $urlParams);
     $container = $this->getContainer();
     /**
      * Controllers
      * @param OC\AppFramework\Utility\SimpleContainer $c The Container instance
      *													 that handles the request
      */
     $container->registerService('WebViewController', function ($c) {
         return new WebViewController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('ServerContainer')->getURLGenerator(), $c->query('ServerContainer')->getDb());
     });
     $container->registerService('BookmarkController', function ($c) {
         return new BookmarkController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('ServerContainer')->getDb());
     });
     $container->registerService('TagsController', function ($c) {
         return new TagsController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('ServerContainer')->getDb());
     });
     $container->registerService('PublicController', function ($c) {
         return new PublicController($c->query('AppName'), $c->query('Request'), $c->query('ServerContainer')->getDb(), $c->query('ServerContainer')->getUserManager());
     });
     /**
      * Core
      */
     $container->registerService('UserId', function () {
         return \OCP\User::getUser();
     });
 }
 /**
  * @dataProvider prepareParametersData
  */
 public function testPrepareParameters($params, $filePosition, $stripPath, $highlightParams, $expected, $createFolder = '')
 {
     if ($createFolder !== '') {
         $this->view->mkdir('/' . \OCP\User::getUser() . '/files/' . $createFolder);
     }
     $this->assertEquals($expected, $this->parameterHelper->prepareParameters($params, $filePosition, $stripPath, $highlightParams));
 }
Пример #10
0
 public function __construct($imagePath, $user = null, $square = false)
 {
     if (!Filesystem::isValidPath($imagePath)) {
         return;
     }
     if (is_null($user)) {
         $this->view = Filesystem::getView();
         $this->user = \OCP\User::getUser();
     } else {
         $this->view = new View('/' . $user . '/files');
         $this->user = $user;
     }
     $this->useOriginal = (substr($imagePath, -4) === '.svg' or substr($imagePath, -5) === '.svgz');
     if ($this->useOriginal) {
         $this->path = $imagePath;
     } else {
         $galleryDir = \OC_User::getHome($this->user) . '/gallery/' . $this->user . '/';
         if (strrpos($imagePath, '.')) {
             $extension = substr($imagePath, strrpos($imagePath, '.') + 1);
             $image = substr($imagePath, 0, strrpos($imagePath, '.'));
         } else {
             $extension = '';
             $image = $imagePath;
         }
         if ($square) {
             $extension = 'square.' . $extension;
         }
         $this->path = $galleryDir . $image . '.' . $extension;
         if (!file_exists($this->path)) {
             $this->create($imagePath, $square);
         }
     }
 }
Пример #11
0
 public function __construct(array $urlParams = array())
 {
     parent::__construct('maps', $urlParams);
     $container = $this->getContainer();
     /**
      * Controllers
      */
     $container->registerService('PageController', function ($c) {
         return new PageController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('CacheManager'), $c->query('LocationManager'));
     });
     $container->registerService('LocationController', function ($c) {
         return new LocationController($c->query('AppName'), $c->query('Request'), $c->query('LocationManager'), $c->query('UserId'));
     });
     $container->registerService('CacheManager', function ($c) {
         return new CacheManager($c->query('ServerContainer')->getDb());
     });
     $container->registerService('LocationManager', function ($c) {
         return new LocationManager($c->query('ServerContainer')->getDb());
     });
     /**
      * Core
      */
     $container->registerService('UserId', function ($c) {
         return \OCP\User::getUser();
     });
     $container->registerService('Db', function () {
         return new Db();
     });
 }
Пример #12
0
 public function __construct($user = null, $addressBooksTableName = '*PREFIX*addressbook', $backendsTableName = '*PREFIX*addressbooks_backend', $dbBackend = null)
 {
     $this->user = $user ? $user : \OCP\User::getUser();
     $this->addressBooksTableName = $addressBooksTableName;
     $this->backendsTableName = $backendsTableName;
     $this->dbBackend = $dbBackend ? $dbBackend : new Backend\Database($user);
 }
Пример #13
0
function getShortcode($url) {
	$shortcode = '';
	$query = OCP\DB::prepare('SELECT shortcode FROM *PREFIX*shorten WHERE url=?');
	$results = $query->execute(Array($url))->fetchAll();
	if ($results) {
		foreach($results as $result) {
			$shortcode = $result['shortcode'];	
		}
	}
	if ($shortcode == "") {
		$shortcode = rand_chars(6);
		$found = true;
		while ($found) {
			$query = OCP\DB::prepare('SELECT id FROM *PREFIX*shorten WHERE shortcode=?');
			$results = $query->execute(Array($shortcode))->fetchAll();
			if (!$results) {
				$found = false;
				$uid = \OCP\User::getUser();
				$query = OCP\DB::prepare('INSERT INTO *PREFIX*shorten (uid, shortcode, url) VALUES (?,?,?)');
				$query->execute(Array($uid,$shortcode,$url));
				$id = OCP\DB::insertid('*PREFIX*shorten');
			} else
				$shortcode = rand_chars(6);
		}
	}
	return $shortcode;
}
Пример #14
0
 public function __construct()
 {
     $timeNow = time();
     //test
     $checkOffset = new \DateTime(date('d.m.Y', $timeNow), new \DateTimeZone(self::$tz));
     $calcSumWin = $checkOffset->getOffset();
     $this->nowTime = strtotime(date('d.m.Y H:i', $timeNow)) + $calcSumWin;
     if (\OC::$server->getSession()->get('public_link_token')) {
         $linkItem = \OCP\Share::getShareByToken(\OC::$server->getSession()->get('public_link_token', false));
         if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
             if ($linkItem['item_type'] === App::SHARECALENDAR) {
                 $sPrefix = App::SHARECALENDARPREFIX;
             }
             if ($linkItem['item_type'] === App::SHAREEVENT) {
                 $sPrefix = App::SHAREEVENTPREFIX;
             }
             if ($linkItem['item_type'] === App::SHARETODO) {
                 $sPrefix = App::SHARETODOPREFIX;
             }
             $itemSource = App::validateItemSource($linkItem['item_source'], $sPrefix);
             $rootLinkItem = Calendar::find($itemSource);
             $this->aCalendars[] = $rootLinkItem;
         }
     } else {
         if (\OCP\User::isLoggedIn()) {
             $this->aCalendars = Calendar::allCalendars(\OCP\User::getUser());
             $this->checkAlarm();
         }
     }
 }
 /**
  * Define your dependencies in here
  */
 public function __construct(array $urlParams = array())
 {
     parent::__construct('user_files_restore', $urlParams);
     $container = $this->getContainer();
     /**
      * Controllers
      */
     $container->registerService('PageController', function ($c) {
         return new PageController($c->query('AppName'), $c->query('Request'), $c->query('L10N'), $c->query('RequestService'), $c->query('UserId'));
     });
     $container->registerService('RequestController', function ($c) {
         return new RequestController($c->query('AppName'), $c->query('Request'), $c->query('L10N'), $c->query('RequestMapper'), $c->query('UserId'));
     });
     /**
      * Services
      */
     $container->registerService('RequestService', function ($c) {
         return new RequestService($c->query('RequestMapper'), $c->query('UserId'), $c->query('L10N'));
     });
     /**
      * Database Layer
      */
     $container->registerService('RequestMapper', function ($c) {
         return new RequestMapper($c->query('ServerContainer')->getDb(), $c->query('L10N'));
     });
     /**
      * Core
      */
     $container->registerService('UserId', function ($c) {
         return \OCP\User::getUser();
     });
     $container->registerService('L10N', function ($c) {
         return $c->query('ServerContainer')->getL10N($c->query('AppName'));
     });
 }
Пример #16
0
 function search($query)
 {
     $collection = new Collection(\OCP\User::getUser());
     $l = \OC_L10N::get('media');
     $app_name = (string) $l->t('Music');
     $artists = $collection->getArtists($query);
     $albums = $collection->getAlbums(0, $query);
     $songs = $collection->getSongs(0, 0, $query);
     $results = array();
     foreach ($artists as $artist) {
         $results[] = new \OC_Search_Result($artist['artist_name'], '', \OCP\Util::linkTo('media', 'index.php') . '#artist=' . urlencode($artist['artist_name']), $app_name);
     }
     foreach ($albums as $album) {
         $artist = $collection->getArtistName($album['album_artist']);
         $results[] = new \OC_Search_Result($album['album_name'], 'by ' . $artist, \OCP\Util::linkTo('media', 'index.php') . '#artist=' . urlencode($artist) . '&album=' . urlencode($album['album_name']), $app_name);
     }
     foreach ($songs as $song) {
         $minutes = floor($song['song_length'] / 60);
         $seconds = $song['song_length'] % 60;
         $artist = $collection->getArtistName($song['song_artist']);
         $album = $collection->getalbumName($song['song_album']);
         $results[] = new \OC_Search_Result($song['song_name'], "by {$artist}, in {$album} {$minutes}:{$seconds}", \OCP\Util::linkTo('media', 'index.php') . '#artist=' . urlencode($artist) . '&album=' . urlencode($album) . '&song=' . urlencode($song['song_name']), $app_name);
     }
     return $results;
 }
Пример #17
0
 /**
  * Sets up the backend
  *
  * @param string $addressBooksTableName
  * @param string $cardsTableName
  */
 public function __construct($userid = null, $options = array('addressBooksTableName' => '*PREFIX*contacts_addressbooks', 'cardsTableName' => '*PREFIX*contacts_cards', 'indexTableName' => '*PREFIX*contacts_cards_properties'))
 {
     $this->userid = $userid ? $userid : \OCP\User::getUser();
     $this->addressBooksTableName = $options['addressBooksTableName'];
     $this->cardsTableName = $options['cardsTableName'];
     $this->indexTableName = $options['indexTableName'];
     $this->addressBooks = array();
 }
 /**
  * @dataProvider prepareParametersData
  */
 public function testPrepareParameters($params, $filePosition, $stripPath, $highlightParams, $expected, $createFolder = '', $enableAvatars = true)
 {
     if ($createFolder !== '') {
         $this->view->mkdir('/' . \OCP\User::getUser() . '/files/' . $createFolder);
     }
     $this->config->expects($this->any())->method('getSystemValue')->with('enable_avatars', true)->willReturn($enableAvatars);
     $this->assertEquals($expected, $this->parameterHelper->prepareParameters($params, $filePosition, $stripPath, $highlightParams));
 }
Пример #19
0
 /**
  * @brief Check if the FirstRunWizard is enabled or not
  * @return bool
  */
 public static function isenabled()
 {
     $conf = \OCP\CONFIG::getUserValue(\OCP\User::getUser(), 'firstrunwizard', 'show', 1);
     if ($conf == 1) {
         return true;
     } else {
         return false;
     }
 }
Пример #20
0
 /**
  * Do security precheck
  * @param bool callcheck - whether security token check is needed
  * @return string userId of the currently logged in user
  */
 public static function preDispatch($callcheck = true)
 {
     if ($callcheck) {
         \OCP\JSON::callCheck();
     }
     \OCP\JSON::checkAppEnabled('documents');
     \OCP\JSON::checkLoggedIn();
     return \OCP\User::getUser();
 }
Пример #21
0
    private function registerServices()
    {
        $container = $this->getContainer();

        $container->registerService('StorageUsageRepository', function($c) {
            return new StorageUsageRepository(
                $c->query('ServerContainer')->getDb()
            );
        });
        $container->registerService('ChartConfigRepository', function($c) {
                return new ChartConfigRepository(
                    $c->query('ServerContainer')->getDb()
                );
            });
        $container->registerService('ChartDataProvider', function($c) {
            return new ChartDataProvider(
                $c->query('StorageUsageRepository')
            );
        });

        $container->registerService('ChartStorageUpdater', function($c) {
            return new ChartStorageUpdater(
                $c->query('ChartDataProvider')
            );
        });
        $container->registerService('ChartConfigService', function($c) {
            return new ChartConfigService(
                $c->query('ChartConfigRepository')
            );
        });
        $container->registerService('ChartService', function($c) {
                return new ChartService(
                    $c->query('ChartDataProvider'),
                    $c->query('ChartConfigService'),
                    \OCP\User::getUser()
                );
            });

        /**
         * Controllers
         */
        $container->registerService('ChartController', function($c) {
            return new ChartController(
                $c->query('AppName'),
                $c->query('Request'),
                $c->query('ChartService'),
                $c->query('ChartConfigService')
            );
        });
        $container->registerService('ChartApiController', function($c) {
            return new ChartApiController(
                $c->query('AppName'),
                $c->query('Request'),
                $c->query('ChartService')
            );
        });
    }
Пример #22
0
 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();
 }
Пример #23
0
 function __construct($userid = null, $addressBooks = null, $contacts = null)
 {
     $this->userid = $userid ? $userid : \OCP\User::getUser();
     $this->addressBooks = $addressBooks;
     $this->contacts = $contacts;
     if (is_null($this->addressBooks)) {
         $this->addressBooks = array(array('id' => 'foo', 'owner' => $userid, 'displayname' => 'd-name', 'permissions' => \OCP\PERMISSION_ALL));
         $this->contacts = array('foo' => array('123' => array('id' => '123', 'displayname' => 'Max Mustermann', 'carddata' => file_get_contents(__DIR__ . '/../../data/test1.vcf'))));
     }
 }
Пример #24
0
 public function __construct($user = null, $addressBooksTableName = '*PREFIX*addressbook', $backendsTableName = '*PREFIX*addressbooks_backend', $dbBackend = null)
 {
     $this->user = $user ? $user : \OCP\User::getUser();
     $this->addressBooksTableName = $addressBooksTableName;
     $this->backendsTableName = $backendsTableName;
     $this->dbBackend = $dbBackend ? $dbBackend : new Backend\Database($user);
     if (\OCP\Config::getAppValue('contacts', 'backend_ldap', "false") === "true") {
         self::$backendClasses['ldap'] = 'OCA\\Contacts\\Backend\\Ldap';
     }
 }
Пример #25
0
 public function __construct($user = null)
 {
     if (is_null($user)) {
         $user = \OCP\User::getUser();
     }
     $root = $user . '/files/';
     list($storage, $internalPath) = Filesystem::resolvePath($root);
     $this->fileview = new View($root);
     $this->cache = new Cache($storage);
 }
Пример #26
0
 public function __construct($returnstring)
 {
     $user_name = trim(\OCP\User::getDisplayName()) != '' ? \OCP\User::getDisplayName() : \OCP\User::getUser();
     $export_name = '"ownCloud Bookmarks (' . $user_name . ') (' . date('Y-m-d') . ').html"';
     $this->addHeader("Cache-Control", "private");
     $this->addHeader("Content-Type", " application/stream");
     $this->addHeader("Content-Length", strlen($returnstring));
     $this->addHeader("Content-Disposition", "attachment; filename=" . $export_name);
     $this->returnstring = $returnstring;
 }
Пример #27
0
 /**
  * Retrieves the contents of a trash bin directory.
  * @param string $dir path to the directory inside the trashbin
  * or empty to retrieve the root of the trashbin
  * @return array of files
  */
 public static function getTrashFiles($dir)
 {
     $result = array();
     $user = \OCP\User::getUser();
     if ($dir && $dir !== '/') {
         $view = new \OC_Filesystemview('/' . $user . '/files_trashbin/files');
         $dirContent = $view->opendir($dir);
         if ($dirContent === false) {
             return null;
         }
         if (is_resource($dirContent)) {
             while (($entryName = readdir($dirContent)) !== false) {
                 if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) {
                     $pos = strpos($dir . '/', '/', 1);
                     $tmp = substr($dir, 0, $pos);
                     $pos = strrpos($tmp, '.d');
                     $timestamp = substr($tmp, $pos + 2);
                     $result[] = array('id' => $entryName, 'timestamp' => $timestamp, 'mime' => $view->getMimeType($dir . '/' . $entryName), 'type' => $view->is_dir($dir . '/' . $entryName) ? 'dir' : 'file', 'location' => $dir);
                 }
             }
             closedir($dirContent);
         }
     } else {
         $query = \OC_DB::prepare('SELECT `id`,`location`,`timestamp`,`type`,`mime` FROM `*PREFIX*files_trash` WHERE `user` = ?');
         $result = $query->execute(array($user))->fetchAll();
     }
     $files = array();
     $id = 0;
     foreach ($result as $r) {
         $i = array();
         $i['id'] = $id++;
         $i['name'] = $r['id'];
         $i['date'] = \OCP\Util::formatDate($r['timestamp']);
         $i['timestamp'] = $r['timestamp'];
         $i['etag'] = $i['timestamp'];
         // dummy etag
         $i['mimetype'] = $r['mime'];
         $i['type'] = $r['type'];
         if ($i['type'] === 'file') {
             $fileinfo = pathinfo($r['id']);
             $i['basename'] = $fileinfo['filename'];
             $i['extension'] = isset($fileinfo['extension']) ? '.' . $fileinfo['extension'] : '';
         }
         $i['directory'] = $r['location'];
         if ($i['directory'] === '/') {
             $i['directory'] = '';
         }
         $i['permissions'] = \OCP\PERMISSION_READ;
         $i['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($r['mime']);
         $i['icon'] = \OCA\Files\Helper::determineIcon($i);
         $files[] = $i;
     }
     usort($files, array('\\OCA\\Files\\Helper', 'fileCmp'));
     return $files;
 }
Пример #28
0
 /**
  * store a new version of a file.
  */
 public function store($filename)
 {
     if (\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED) == 'true') {
         list($uid, $filename) = self::getUidAndFilename($filename);
         $files_view = new \OC_FilesystemView('/' . $uid . '/files');
         $users_view = new \OC_FilesystemView('/' . $uid);
         //check if source file already exist as version to avoid recursions.
         // todo does this check work?
         if ($users_view->file_exists($filename)) {
             return false;
         }
         // check if filename is a directory
         if ($files_view->is_dir($filename)) {
             return false;
         }
         // check filetype blacklist
         $blacklist = explode(' ', \OCP\Config::getSystemValue('files_versionsblacklist', Storage::DEFAULTBLACKLIST));
         foreach ($blacklist as $bl) {
             $parts = explode('.', $filename);
             $ext = end($parts);
             if (strtolower($ext) == $bl) {
                 return false;
             }
         }
         // we should have a source file to work with
         if (!$files_view->file_exists($filename)) {
             return false;
         }
         // check filesize
         if ($files_view->filesize($filename) > \OCP\Config::getSystemValue('files_versionsmaxfilesize', Storage::DEFAULTMAXFILESIZE)) {
             return false;
         }
         // check mininterval if the file is being modified by the owner (all shared files should be versioned despite mininterval)
         if ($uid == \OCP\User::getUser()) {
             $versions_fileview = new \OC_FilesystemView('/' . $uid . '/files_versions');
             $versionsFolderName = \OCP\Config::getSystemValue('datadirectory') . $versions_fileview->getAbsolutePath('');
             $matches = glob($versionsFolderName . '/' . $filename . '.v*');
             sort($matches);
             $parts = explode('.v', end($matches));
             if (end($parts) + Storage::DEFAULTMININTERVAL > time()) {
                 return false;
             }
         }
         // create all parent folders
         $dirname = dirname($filename);
         if (!$users_view->file_exists('/files_versions/' . $dirname)) {
             $users_view->mkdir('/files_versions/' . $dirname, 0700, true);
         }
         // store a new version of a file
         $users_view->copy('files' . $filename, 'files_versions' . $filename . '.v' . time());
         // expire old revisions if necessary
         Storage::expire($filename);
     }
 }
Пример #29
0
 public function __construct($user = false, array $urlParams = array())
 {
     parent::__construct(self::$appname, $urlParams);
     $container = $this->getContainer();
     // Add the FBID field
     CardDavBackend::$indexProperties[] = 'FBID';
     // Fix for userID
     if (!$user) {
         $this->user = \OCP\User::getUser();
     } else {
         $this->user = $user;
     }
     /**
      * CardDavBackend
      */
     $container->registerService('CardDavBackend', function (IContainer $c) {
         $db = $c->getServer()->getDatabaseConnection();
         $dispatcher = $c->getServer()->getEventDispatcher();
         $principal = new \OCA\DAV\Connector\Sabre\Principal($c->getServer()->getUserManager(), $c->getServer()->getGroupManager());
         return new CardDavBackend($db, $principal, $dispatcher);
     });
     /**
      * User home folder
      */
     $container->registerService('userHome', function (IContainer $c) {
         $datadir = \OCP\Config::getSystemValue('datadirectory');
         return $datadir . '/' . $this->user;
     });
     /**
      * Controller
      */
     $container->registerService('FacebookController', function (IContainer $c) {
         return new FacebookController($c->query('AppName'), $c->query('Request'), $c->query('OCP\\ICache'), $c->query('userHome'));
     });
     /**
      * Contacts
      */
     $container->registerService('Contacts', function (IContainer $c) {
         return new Contacts($c->query('FacebookController'), $c->query('CardDavBackend'), $this->user);
     });
     /**
      * PageController
      */
     $container->registerService('PageController', function (IContainer $c) {
         return new PageController($c->query('AppName'), $c->query('Request'), $c->query('Contacts'), $c->query('FacebookController'));
     });
     /**
      * ContactsController
      */
     $container->registerService('ContactsController', function (IContainer $c) {
         return new ContactsController($c->query('AppName'), $c->query('Request'), $c->query('Contacts'));
     });
 }
Пример #30
0
 /**
  * resolves reshares down to the last real share
  * @param array $linkItem
  * @return array file owner
  */
 public static function checkReShare($itemsource)
 {
     $getReshares = \OCP\DB::prepare("SELECT * FROM `*PREFIX*share` WHERE `item_source` = ?  AND `uid_owner` != ?  AND `item_type` =  ? AND `parent` != 'NULL' ");
     $items = $getReshares->execute(array($itemsource, \OCP\User::getUser(), self::ITEM_TYPE))->fetchAll();
     foreach ($items as $reshare) {
         $reshare['share_type'] = (int) $reshare['share_type'];
         if (isset($reshare['share_with']) && $reshare['share_with'] !== '') {
             $reshare['share_with_displayname'] = \OCP\User::getDisplayName($reshare['share_with']);
         }
         self::$sItems[$reshare['id']] = $reshare;
     }
 }