本文整理汇总了PHP中Companies::getOwnerCompany方法的典型用法代码示例。如果您正苦于以下问题:PHP Companies::getOwnerCompany方法的具体用法?PHP Companies::getOwnerCompany怎么用?PHP Companies::getOwnerCompany使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Companies
的用法示例。
在下文中一共展示了Companies::getOwnerCompany方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initCompany
/**
* Init company based on subdomain
*
* @access public
* @param string
* @return null
* @throws Error
*/
private function initCompany()
{
$company = Companies::getOwnerCompany();
if (!$company instanceof Company) {
throw new OwnerCompanyDnxError();
}
// if
// check the cache if available
$owner = null;
if (GlobalCache::isAvailable()) {
$owner = GlobalCache::get('owner_company_creator', $success);
}
if (!$owner instanceof User) {
$owner = $company->getCreatedBy();
// Update cache if available
if ($owner instanceof User && GlobalCache::isAvailable()) {
GlobalCache::update('owner_company_creator', $owner);
}
}
if (!$owner instanceof User) {
throw new AdministratorDnxError();
}
// if
$this->setCompany($company);
}
示例2: initCompany
/**
* Init company based on subdomain
*
* @access public
* @param string
* @return null
* @throws Error
*/
private function initCompany()
{
$company = Companies::getOwnerCompany();
if (!$company instanceof Company) {
throw new OwnerCompanyDnxError();
}
// if
if (!$company->getCreatedBy() instanceof User) {
throw new AdministratorDnxError();
}
// if
$this->setCompany($company);
}
示例3: initCompany
/**
* Init company based on subdomain
*
* @access public
* @param string
* @return null
* @throws Error
*/
private function initCompany()
{
trace(__FILE__, 'initCompany()');
$company = Companies::getOwnerCompany();
trace(__FILE__, 'initCompany() - company check');
if (!$company instanceof Company) {
throw new OwnerCompanyDnxError();
}
// if
trace(__FILE__, 'initCompany() - admin check');
if (!$company->getCreatedBy() instanceof User) {
throw new AdministratorDnxError();
}
// if
trace(__FILE__, 'initCompany() - setCompany()');
$this->setCompany($company);
}
示例4: can_assign_task
/**
* Tells whether a user can assign a task to another user or company in a workspace.
*
* @param $user User to which to check permissions
* @param $workspace
* @param $assignee
* @return boolean
*/
function can_assign_task(User $user, Project $workspace, $assignee)
{
if (!$assignee instanceof User && !$assignee instanceof Company) {
return true;
}
if ($assignee instanceof Company) {
$company = $assignee;
} else {
if ($assignee->getId() == $user->getId()) {
return true;
}
// alow user to assign to himself
$company = $assignee->getCompany();
}
$is_owner = $company->getId() == Companies::getOwnerCompany()->getId();
$permissions = ProjectUsers::getByUserAndProject($workspace, $user);
if ($permissions instanceof ProjectUser) {
if ($is_owner) {
if ($permissions->getCanAssignToOwners()) {
return true;
}
} else {
if ($permissions->getCanAssignToOther()) {
return true;
}
}
}
$groups = GroupUsers::getGroupsByUser($user->getId());
if (is_array($groups) && count($groups) > 0) {
//user belongs to at least one group
foreach ($groups as $group) {
$permissions = ProjectUsers::getByUserAndProject($workspace, $group);
if ($permissions instanceof ProjectUser) {
if ($is_owner) {
if ($permissions->getCanAssignToOwners()) {
return true;
}
} else {
if ($permissions->getCanAssignToOther()) {
return true;
}
}
}
}
}
return false;
}
示例5: complete_installation
/**
* Finish the installation - create owner company and administrator
*
* @param void
* @return null
*/
function complete_installation()
{
if (Companies::getOwnerCompany() instanceof Company) {
die('Owner company already exists');
// Somebody is trying to access this method even if the user already exists
}
// if
$this->setLayout('complete_install');
$form_data = array_var($_POST, 'form');
tpl_assign('form_data', $form_data);
if (array_var($form_data, 'submitted') == 'submitted') {
try {
$admin_password = trim(array_var($form_data, 'admin_password'));
$admin_password_a = trim(array_var($form_data, 'admin_password_a'));
if (trim($admin_password) == '') {
throw new Error(lang('password value required'));
}
// if
if ($admin_password != $admin_password_a) {
throw new Error(lang('passwords dont match'));
}
// if
DB::beginWork();
Users::delete();
// clear users table
Companies::delete();
// clear companies table
// Create the administrator user
$administrator = new User();
$administrator->setId(1);
$administrator->setUsername(array_var($form_data, 'admin_username'));
$administrator->setEmail(array_var($form_data, 'admin_email'));
$administrator->setPassword($admin_password);
$administrator->setIsAdmin(true);
$administrator->setAutoAssign(true);
$administrator->save();
// Create the contact for administrator
$administrator_contact = new Contact();
$administrator_contact->setId(1);
$administrator_contact->setCompanyId(1);
$administrator_contact->setEmail(array_var($form_data, 'admin_email'));
$administrator_contact->setUserId($administrator->getId());
$administrator_contact->setDisplayName($administrator->getUsername());
$administrator_contact->save();
// Create a company
$company = new Company();
$company->setId(1);
$company->setClientOfId(0);
$company->setName(array_var($form_data, 'company_name'));
$company->setCreatedById(1);
$company->save();
DB::commit();
$this->redirectTo('access', 'login');
} catch (Exception $e) {
tpl_assign('error', $e);
DB::rollback();
}
// try
}
// if
}
示例6: complete_installation
/**
* Finish the installation - create owner company and administrator
*
* @param void
* @return null
*/
function complete_installation()
{
if (Companies::getOwnerCompany() instanceof Company) {
die('Owner company already exists');
// Somebody is trying to access this method even if the user already exists
}
// if
$form_data = array_var($_POST, 'form');
tpl_assign('form_data', $form_data);
if (array_var($form_data, 'submited') == 'submited') {
try {
$admin_password = trim(array_var($form_data, 'admin_password'));
$admin_password_a = trim(array_var($form_data, 'admin_password_a'));
if (trim($admin_password) == '') {
throw new Error(lang('password value required'));
}
// if
if ($admin_password != $admin_password_a) {
throw new Error(lang('passwords dont match'));
}
// if
DB::beginWork();
Users::delete();
// clear users table
Companies::delete();
// clear companies table
// Create the administrator user
$administrator = new User();
$administrator->setId(1);
$administrator->setCompanyId(1);
$administrator->setUsername(array_var($form_data, 'admin_username'));
$administrator->setEmail(array_var($form_data, 'admin_email'));
$administrator->setPassword($admin_password);
$administrator->setCanEditCompanyData(true);
$administrator->setCanManageConfiguration(true);
$administrator->setCanManageSecurity(true);
$administrator->setCanManageWorkspaces(true);
$administrator->setCanManageContacts(true);
$administrator->setCanManageTemplates(true);
$administrator->setCanManageReports(true);
$administrator->setCanManageTime(true);
$administrator->setCanAddMailAccounts(true);
$administrator->setAutoAssign(false);
$administrator->setPersonalProjectId(1);
$administrator->setType('admin');
$administrator->save();
$group = new Group();
$group->setName('administrators');
$group->setAllPermissions(true);
$group->setId(Group::CONST_ADMIN_GROUP_ID);
$group->save();
$group_user = new GroupUser();
$group_user->setGroupId(Group::CONST_ADMIN_GROUP_ID);
$group_user->setUserId($administrator->getId());
$group_user->save();
$project = new Project();
$project->setId(1);
$project->setP1(1);
$project->setName(new_personal_project_name($administrator->getUsername()));
$project->setDescription(lang('files'));
$project->setCreatedById($administrator->getId());
$project->save();
$project_user = new ProjectUser();
$project_user->setProjectId($project->getId());
$project_user->setUserId($administrator->getId());
$project_user->setCreatedById($administrator->getId());
$project_user->setAllPermissions(true);
$project_user->save();
// Create a company
$company = new Company();
$company->setId(1);
$company->setClientOfId(0);
$company->setName(array_var($form_data, 'company_name'));
$company->setCreatedById(1);
$company->save();
DB::commit();
$this->redirectTo('access', 'login');
} catch (Exception $e) {
tpl_assign('error', $e);
DB::rollback();
}
// try
}
// if
}