Owncloud postCreate/post_create 挂钩未在共享文件夹上为其他用户执行
Owncloud postCreate/post_create hooks not executing for other users on shared folders
我们正在开发一个 OwnCloud 应用程序,我们试图跟踪将文件上传到特定文件夹的用户。挂钩正在为管理员工作,但当另一个用户上传到共享文件夹时挂钩没有执行。这是权限问题吗?
我们的挂钩注册码。我们尝试了两种挂钩系统,但结果相同。
public function register() {
\OCP\Util::connectHook('OC_Filesystem', 'post_create', 'OCA\FileActivities\Controller\UserHooks', 'onFileCreate');
$reference = $this;
$callback = function (Node $node) use($reference) {
$reference->onPostCreate($node);
};
$this->fileManager->listen('\OC\Files', 'postCreate', $callback);
}
好的,对于任何搜索相同答案的人来说,我明白了。如下
在你的app.php
namespace OCA\xxxxxxxxxx\AppInfo;
$app = new Application();
$app->registerFilesActivity();
在你的 lib/AppInfo/
namespace OCA\XXXXXXXXXXXX\AppInfo;
use \OCP\AppFramework\App;
use \OCA\XXXXXXXXXXXX\Controller\UserHooks;
use OCP\IContainer;
use OCP\Util;
class Application extends App {
public function __construct(array $urlParams=array()){
parent::__construct('viewfinance', $urlParams);
$container = $this->getContainer();
$container->registerService('UserHooks', function($c) {
return new UserHooks(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserSession'),
$c->query('ServerContainer')->getRootFolder()
);
});
$container->registerService('UserSession', function($c) {
return $c->query('ServerContainer')->getUserSession();
});
}
/**
* Register the hooks for filesystem operations
*/
public function registerFilesActivity() {
Util::connectHook('OC_Filesystem', 'post_create', 'OCA\FileActivities\Controller\UserHooks', 'onFileCreate');
}
}
这个文档说的不是很清楚,查了几个其他类似功能的app,才弄明白。
我们正在开发一个 OwnCloud 应用程序,我们试图跟踪将文件上传到特定文件夹的用户。挂钩正在为管理员工作,但当另一个用户上传到共享文件夹时挂钩没有执行。这是权限问题吗?
我们的挂钩注册码。我们尝试了两种挂钩系统,但结果相同。
public function register() {
\OCP\Util::connectHook('OC_Filesystem', 'post_create', 'OCA\FileActivities\Controller\UserHooks', 'onFileCreate');
$reference = $this;
$callback = function (Node $node) use($reference) {
$reference->onPostCreate($node);
};
$this->fileManager->listen('\OC\Files', 'postCreate', $callback);
}
好的,对于任何搜索相同答案的人来说,我明白了。如下
在你的app.php
namespace OCA\xxxxxxxxxx\AppInfo;
$app = new Application();
$app->registerFilesActivity();
在你的 lib/AppInfo/
namespace OCA\XXXXXXXXXXXX\AppInfo;
use \OCP\AppFramework\App;
use \OCA\XXXXXXXXXXXX\Controller\UserHooks;
use OCP\IContainer;
use OCP\Util;
class Application extends App {
public function __construct(array $urlParams=array()){
parent::__construct('viewfinance', $urlParams);
$container = $this->getContainer();
$container->registerService('UserHooks', function($c) {
return new UserHooks(
$c->query('AppName'),
$c->query('Request'),
$c->query('UserSession'),
$c->query('ServerContainer')->getRootFolder()
);
});
$container->registerService('UserSession', function($c) {
return $c->query('ServerContainer')->getUserSession();
});
}
/**
* Register the hooks for filesystem operations
*/
public function registerFilesActivity() {
Util::connectHook('OC_Filesystem', 'post_create', 'OCA\FileActivities\Controller\UserHooks', 'onFileCreate');
}
}
这个文档说的不是很清楚,查了几个其他类似功能的app,才弄明白。