| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- namespace zin;
- $isEdit = !empty($knowledgeLib);
- $selectedGroups = array();
- $selectedUsers = array();
- if($isEdit && !empty($knowledgeLib->groups)) $selectedGroups = array_filter(explode(',', trim($knowledgeLib->groups, ',')));
- if($isEdit && !empty($knowledgeLib->users)) $selectedUsers = array_filter(explode(',', trim($knowledgeLib->users, ',')));
- jsVar('isEdit', $isEdit);
- jsVar('selectedGroups', $selectedGroups);
- jsVar('selectedUsers', $selectedUsers);
- if($isEdit)
- {
- $name = $knowledgeLib->name;
- $desc = $knowledgeLib->desc;
- $acl = $knowledgeLib->acl;
- }
- else
- {
- $name = '';
- $desc = '';
- $acl = $type === 'my' ? 'private' : 'open';
- }
- $aclOptions = array();
- $importAclOptions = array();
- if (!$isEdit || $knowledgeLib->importType == 'custom')
- {
- $aclOptions = $type === 'my'
- ? array(
- 'private' => $lang->ai->knowledgeLibs->myPrivateAccess
- )
- : array(
- 'open' => $lang->ai->knowledgeLibs->teamPublicAccess,
- 'private' => $lang->ai->knowledgeLibs->teamPrivateAccess
- );
- }
- else
- {
- $importAclOptions = $type === 'my'
- ? array(
- 'default' => $lang->ai->knowledgeLibs->myPrivateAccess
- )
- : array(
- 'default' => $knowledgeLib->importType == 'doclib' ? $lang->ai->knowledgeLibs->defaultAccess : $lang->ai->knowledgeLibs->teamPublicAccess
- );
- }
- $labelWidth = common::checkNotCN() ? '200px' : '100px';
- $aclFormRow = null;
- if(!empty($aclOptions))
- {
- $aclFormRow = formRow(
- formGroup(
- set::label($lang->ai->knowledgeLibs->acl),
- set::labelWidth($labelWidth),
- set::control('radioList'),
- set::name('acl'),
- set::items($aclOptions),
- set::value($acl),
- on::change('toggleWhiteListBox')
- )
- );
- }
- $importAclFormRow = null;
- if(!empty($importAclOptions))
- {
- $importAclFormRow = formRow(
- formGroup(
- set::label($lang->ai->knowledgeLibs->acl),
- set::labelWidth($labelWidth),
- set::control('radioList'),
- set::name('acl'),
- set::items($importAclOptions),
- set::value('default')
- )
- );
- }
- $whiteListBox = null;
- if(!empty($aclOptions) && in_array('private', array_keys($aclOptions)))
- {
- $groups = $this->loadModel('group')->getPairs();
- $groupItems = array();
- foreach($groups as $groupID => $groupName)
- {
- $groupItems[] = array('text' => $groupName, 'value' => $groupID, 'keys' => $groupName);
- }
- $users = $this->loadModel('user')->getPairs('noletter|noempty|noclosed');
- $userItems = array();
- foreach($users as $account => $realname)
- {
- $userItems[] = array('text' => $realname, 'value' => $account, 'keys' => $realname);
- }
- $whiteListBoxClass = ($type == 'team' && $acl == 'private') ? '' : 'hidden';
- $extraClass = common::checkNotCN() ? ' not-cn' : '';
- $whiteListBox = formRow(
- setID('whiteListBox'),
- setClass($whiteListBoxClass . $extraClass),
- formGroup(
- set::label($lang->ai->knowledgeLibs->whiteList),
- set::labelWidth($labelWidth),
- div(
- setClass('w-full check-list'),
- div(
- setClass('w-full'),
- inputGroup(
- $lang->ai->knowledgeLibs->group,
- picker(
- set::name('groups[]'),
- set::items($groupItems),
- set::multiple(true),
- set::value($selectedGroups)
- )
- )
- ),
- div(
- setClass('w-full'),
- userPicker(
- set::label($lang->ai->knowledgeLibs->user),
- set::items($userItems),
- set::value($selectedUsers)
- )
- )
- )
- )
- );
- }
- formPanel(
- set::id('createKnowledgeLibForm'),
- set::title($title),
- set::submitBtnText($lang->save),
- formRow(
- formGroup(
- set::label($lang->ai->knowledgeLibs->knowledgeLibName),
- set::labelWidth($labelWidth),
- set::name('name'),
- set::required(true),
- set::control(array('control' => 'input', 'maxlength' => 255)),
- set::value($name)
- )
- ),
- formRow(
- formGroup(
- set::label($lang->ai->knowledgeLibs->knowledgeLibDesc),
- set::labelWidth($labelWidth),
- set::control(array('control' => 'textarea', 'rows' => 4)),
- set::name('desc'),
- set::placeholder($lang->ai->knowledgeLibs->knowledgeLibDescPlaceholder),
- set::value($desc)
- )
- ),
- $aclFormRow,
- $importAclFormRow,
- $whiteListBox
- );
|