85 lines
2.5 KiB
PHP
85 lines
2.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* [Discuz!] (C)2001-2099 Comsenz Inc.
|
|
* This is NOT a freeware, use is subject to license terms
|
|
*
|
|
* $Id: Application.php 25813 2011-11-22 10:07:48Z zhengqingpeng $
|
|
*/
|
|
|
|
if(!defined('IN_DISCUZ')) {
|
|
exit('Access Denied');
|
|
}
|
|
|
|
class Cloud_Service_Server_Application extends Cloud_Service_Server_Restful {
|
|
|
|
protected static $_instance;
|
|
|
|
public static function getInstance() {
|
|
|
|
if (!(self::$_instance instanceof self)) {
|
|
self::$_instance = new self();
|
|
}
|
|
|
|
return self::$_instance;
|
|
}
|
|
|
|
public function onApplicationUpdate($appId, $appName, $version, $displayMethod, $displayOrder = null, $userPanelArea = null, $canvasTitle = null, $isFullscreen = null, $displayUserPanel = null, $additionalStatus = null) {
|
|
|
|
$row = C::t('common_myapp')->fetch($appId);
|
|
$result = true;
|
|
if ($row['appname'] != $appName) {
|
|
$fields = array('appname' => $appName);
|
|
$result = C::t('home_userapp')->update_by_uid_appid(0, $appId, $fields);
|
|
|
|
require_once libfile('function/cache');
|
|
updatecache('userapp');
|
|
}
|
|
|
|
$displayMethod = ($displayMethod == 'iframe') ? 1 : 0;
|
|
$this->refreshApplication($appId, $appName, $version, $userPanelArea, $canvasTitle, $isFullscreen, $displayUserPanel, $displayMethod, null, null, $displayOrder, $additionalStatus);
|
|
return $result;
|
|
}
|
|
|
|
public function onApplicationRemove($appIds) {
|
|
|
|
$result = C::t('home_userapp')->delete_by_uid_appid(0, $appIds);
|
|
C::t('home_userappfield')->delete_by_uid_appid(0, $appIds);
|
|
|
|
C::t('common_myapp')->delete($appIds);
|
|
|
|
require_once libfile('function/cache');
|
|
updatecache(array('userapp', 'myapp'));
|
|
|
|
return $result;
|
|
}
|
|
|
|
public function onApplicationSetFlag($applications, $flag) {
|
|
$flag = ($flag == 'disabled') ? -1 : ($flag == 'default' ? 1 : 0);
|
|
$appIds = array();
|
|
if ($applications && is_array($applications)) {
|
|
foreach($applications as $application) {
|
|
$this->refreshApplication($application['appId'], $application['appName'], null, null, null, null, null, null, null, $flag, null, null);
|
|
$appIds[] = $application['appId'];
|
|
}
|
|
}
|
|
|
|
if ($flag == -1) {
|
|
|
|
C::t('home_feed')->delete_by_icon($appIds);
|
|
|
|
C::t('home_userapp')->delete_by_uid_appid(0, $appIds);
|
|
C::t('home_userappfield')->delete_by_uid_appid(0, $appIds);
|
|
|
|
C::t('common_myinvite')->delete_by_appid($appIds);
|
|
C::t('home_notification')->delete_by_type($appIds);
|
|
}
|
|
|
|
require_once libfile('function/cache');
|
|
updatecache('userapp');
|
|
|
|
$result = true;
|
|
return $result;
|
|
}
|
|
|
|
} |