我的nginx vhost配置就在这里
server {
listen *:80;
server_name collab.example.com;
access_log /var/log/nginx/ac.access.log;
error_log /var/log/nginx/ac.error.log;
set $root_path /usr/share/nginx/html/collabs/public;
root $root_path;
index index.html index.htm index.php router.php;
charset utf-8;
if (!-e $request_filename) {
rewrite ^/assets/(.*)$ /assets/$1 last;
rewrite ^/avatars/(.*)$ /avatars/$1 last;
rewrite ^/wallpapers/(.*)$ /wallpapers/$1 last;
rewrite ^/verify-existence$ /verify.php last;
rewrite ^/proxy.php$ /proxy.php last;
rewrite ^/api/v([0-9]*)/(.*)$ /api.php?path_info=$2&api_version=$1 last;
rewrite ^$ /router.php last;
rewrite ^(.*) /router.php?path_info=$1 last;
}
location ~ ^/(assets|avatars|wallpapers)/ {
root $root_path;
}
location = /robots.txt {
allow …Run Code Online (Sandbox Code Playgroud) 好的,所以我从Internet Explorer获得这个奇怪的意外响应,同时用smartyin 测试文件上传php.
这里我的文件上传(view)简化为主要问题的智能代码,对于那些没有使用activecollab的人Router::assemble来说,只是形成一个带有从MVC读取的参数的URL.
界面http://iforce.co.nz/i/23bgy0fj.1cc.png
<div id="xero_invoice_manager_api">
{form action=Router::assemble('xero_invoice_manager_api') method=post id="xero_invoice_manager" enctype="multipart/form-data"}
<div class="content_stack_wrapper">
<input type="file" name="file_1" /><br/>
<input type="file" name="file_2" /><br/>
{wrap_buttons}
{submit success_event="api_updated" }Authenticate{/submit}
{/wrap_buttons}
{/form}
</div></div>
Run Code Online (Sandbox Code Playgroud)
这是我的jquery view.
App.Wireframe.Events.bind('api_event_finished.content', function(event, settings) {
App.Wireframe.Flash.success(App.lang('Xero Invoice Manager has saved/uploaded your Xero API data.'));
});
Run Code Online (Sandbox Code Playgroud)
这是我的简化控制器(我发现问题是smarty而不是php).
//api view
function api(){
if ( $this->request->isSubmitted()) {
$this->response->respondWithData(true);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的控制器上传发生..
//api view
function api(){
$this->assignSmarty();
if ($this->request->isSubmitted()) {
$this->XeroAuthUpdate(); //update everything
if(isset($_FILES)){
$file_manager …Run Code Online (Sandbox Code Playgroud) 我正在使用activecollab自定义模块的权限,并且在尝试调用静态方法的函数时收到此错误消息,但不知道为什么;请帮忙,真的很讨人喜欢..
Parse error: parse error, expecting `T_PAAMAYIM_NEKUDOTAYIM' in D:\wamp\www\activecollab\public\activecollab\3.0.9\modules\projectcomrequest\models\Projectcomrequests.class.php on line 130
Run Code Online (Sandbox Code Playgroud)
我在模型文件中执行的代码是:
class Projectrequests extends DataManager {
...
....
function getPermissionValue($name){
$roles = Roles::find();
foreach($roles as $role) {
if($role->getPermissionValue($name))
return true;
else
return false;
}
static function canAccess() {
if(self::getPermissionValue('can_use_project_request')) return true;
return false;
} // canAccess
...
..
}
Run Code Online (Sandbox Code Playgroud)
以此调用控制器:
echo Projectrequests::canAccess();
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过此调用获取 API 令牌:
curl -H "Content-Type: application/json" -X POST -d '{"username": "MY_EMAIL","password": "MY_PWD","client_name": "XXX","client_vendor": "XXX"}' https://app.activecollab.com/MY_ID/api/v1/issue-token
Run Code Online (Sandbox Code Playgroud)
但即使密码正确,我也会收到此回复:
{
"type":"ApiSubscriptionError",
"message":"Invalid password",
"code":3
}
Run Code Online (Sandbox Code Playgroud)
我正在按照https://labs.activecollab.com/nightly-activecollab-api/v1/authentication.html 上的说明操作
任何人都可以使用 Active Collab v5 API 吗?如果是这样,你能帮助找出问题吗?
我们目前使用activecollab和subversion,但我们想考虑使用Git或Hg来为我们提供分布式源代码控制.
是否有人进行此工作,以便修订可以链接到activecollab中的票证,就像它们用于SVN一样?
activecollab ×5
php ×2
api ×1
controller ×1
git ×1
git-svn ×1
hgsubversion ×1
jquery ×1
mercurial ×1
module ×1
nginx ×1
permissions ×1
smarty ×1