Files
EasySoft-ZenTaoPMS/module/my/ui/managecontacts.html.php
T
2023-10-27 16:27:38 +08:00

195 lines
6.0 KiB
PHP

<?php
declare(strict_types=1);
/**
* The managecontacts view file of my module of ZenTaoPMS.
* @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
* @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
* @author Yuting Wang <wangyuting@easycorp.ltd>
* @package my
* @link https://www.zentao.net
*/
namespace zin;
$listID = isset($list->id) ? $list->id : 0;
$myContactList = array();
$publicContactList = array();
foreach($lists as $contactList)
{
if($contactList->account == $app->user->account)
{
$myContactList[] = li
(
setClass('contact ellipsis pl-2 ' . ($listID == $contactList->id ? 'active' : '')),
set('data-id', $contactList->id),
$contactList->listName
);
}
else if($contactList->public)
{
$publicContactList[] = li
(
setClass('contact ellipsis pl-2'),
set('data-id', $contactList->id),
$contactList->listName
);
}
}
$userList = array();
if(!empty($list->userList))
{
foreach(explode(',', $list->userList) as $account) $userList[] = zget($users, $account);
}
panel
(
set::shadow(false),
setClass('panel-form px-4 mx-auto size-lg'),
on::click('#createContact', 'createContact'),
on::click('.contact', 'getContact'),
div
(
setID('manageContacts'),
setClass('w-full flex'),
cell
(
set::width('180px'),
setClass('border-r overflow-hidden'),
div
(
setClass('border-b py-3 pr-4'),
div(span(setClass('text-gray'), $lang->my->contactList)),
div
(
setClass('pt-3'),
a
(
setID('createContact'),
setClass('btn primary-pale bd-primary w-full'),
icon('plus'),
$lang->my->createContacts
)
)
),
tabs
(
setID('contactTab'),
setClass('pr-4'),
tabPane
(
set::key('my'),
set::title($lang->my->myContact),
set::active(true),
ul($myContactList)
),
tabPane
(
set::key('public'),
set::title($lang->my->publicContact),
ul($publicContactList)
)
)
),
cell
(
setID('contactPanel'),
setClass('flex-1 px-8'),
div
(
set('class', 'panel-title text-lg flex w-full py-6'),
$label,
$mode == 'edit' ? array
(
span
(
setClass('text-warning'),
icon('info')
),
span
(
setClass('text-gray text-base font-normal'),
$lang->my->manageSelf
)
) : null
),
($mode == 'create' || $mode == 'edit') ? form
(
set::actions(array()),
formRow
(
formGroup
(
set::width('1/2'),
set::label($lang->user->contacts->listName),
input
(
set::name('listName'),
set::value(!empty($list->listName) ? $list->listName : '')
)
)
),
formRow
(
formGroup
(
set::label($lang->user->contacts->selectedUsers),
picker
(
set::multiple(true),
set::name('userList[]'),
set::items($users),
set::value(!empty($list->userList) ? $list->userList : '')
)
)
),
formRow
(
formGroup
(
set::label(''),
set::width('1/1'),
checkbox
(
set::name('public'),
set::value(1),
set::checked(!empty($list->public)),
set::text($lang->my->shareContacts)
)
)
),
formRow
(
setClass('form-actions'),
formGroup
(
set::label(''),
button(setClass('btn primary'), set::type('submit'), $lang->save),
$mode == 'edit' ? button
(
setClass('btn ajax-submit ml-4'),
setData('url', createLink('my', 'deleteContacts', "listID=$listID")),
setData('confirm', $lang->user->contacts->confirmDelete),
$lang->delete
): null
)
)
) : tableData
(
item
(
set::name($lang->user->contacts->listName),
$list->listName
),
item
(
set::name($lang->user->contacts->userList),
implode($lang->comma, array_filter($userList))
)
)
)
)
);
render();