| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- <?php
- /**
- * 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();
- $isActivePublicList = false;
- foreach($lists as $contactList)
- {
- $selected = $listID == $contactList->id;
- if($contactList->account == $app->user->account)
- {
- $myContactList[] = array('text' => $contactList->listName, 'url' => createLink('my', 'manageContacts', "listID=$contactList->id"), 'selected' => $selected);
- }
- else if($contactList->public)
- {
- $publicContactList[] = array('text' => $contactList->listName, 'url' => createLink('my', 'manageContacts', "listID=$contactList->id"), 'selected' => $selected);
- if($selected) $isActivePublicList = true;
- }
- }
- $userList = array();
- if(!empty($list->userList))
- {
- foreach(explode(',', $list->userList) as $account) $userList[] = zget($users, $account);
- }
- div
- (
- setClass('canvas shadow ring rounded mx-auto no-shadow-in-modal'),
- style::maxWidth(1200),
- div
- (
- setID('manageContacts'),
- setClass('row'),
- cell
- (
- setClass('col flex-none p-4 gap-3 w-48 items-stretch'),
- div(setClass('text-gray'), $lang->my->contactList),
- btn
- (
- set::type('primary-pale'),
- set::icon('plus'),
- set::url('my', 'manageContacts'),
- setData('load', '#contactPanel'),
- setClass('w-full'),
- $lang->my->createContacts
- ),
- tabs
- (
- setID('contactTab'),
- tabPane(set::title($lang->my->myContact), set::active(!$isActivePublicList), simpleList(set::items($myContactList))),
- tabPane(set::title($lang->my->publicContact), set::active($isActivePublicList), simpleList(set::items($publicContactList)))
- )
- ),
- divider(),
- cell
- (
- setID('contactPanel'),
- setClass('flex-1 px-8 pb-8'),
- div
- (
- set('class', 'panel-title text-lg flex w-full py-6'),
- $label,
- !empty($tip) ? array
- (
- span
- (
- setClass('flex text-warning'),
- icon('info')
- ),
- span
- (
- setClass('text-gray text-base font-normal'),
- $tip
- )
- ) : null
- ),
- ($mode == 'create' || $mode == 'edit') ? form
- (
- set::actions(array()),
- $listID ? null : on::init()->removeClass('#contactTab .selected', 'selected'),
- formRow
- (
- formGroup
- (
- set::width('1/2'),
- set::required(true),
- 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),
- set::required(true),
- picker
- (
- set::multiple(true),
- set::name('userList[]'),
- set::items($users),
- set::maxItemsCount($config->maxCount),
- 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' && common::hasPriv('my', 'deleteContacts')) ? 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))
- ),
- item
- (
- set::name($lang->usercontact->account),
- zget($users, $list->account)
- ),
- item
- (
- ($mode == 'adminView' && common::hasPriv('my', 'deleteContacts')) ? btn
- (
- setClass('btn ajax-submit ml-4 px-6'),
- set::type('danger'),
- setData('url', createLink('my', 'deleteContacts', "listID=$listID")),
- setData('confirm', $lang->user->contacts->confirmDelete),
- $lang->delete
- ): null
- )
- )
- )
- )
- );
|