* Fix bug #23870#23868.
This commit is contained in:
@@ -362,6 +362,7 @@ class doc extends control
|
||||
$this->view->objectType = $objectType;
|
||||
$this->view->objectID = $objectID;
|
||||
$this->view->libID = $libID;
|
||||
$this->view->lib = $lib;
|
||||
$this->view->libs = $libs;
|
||||
$this->view->gobackLink = $gobackLink;
|
||||
$this->view->libName = $this->dao->findByID($libID)->from(TABLE_DOCLIB)->fetch('name');
|
||||
@@ -832,19 +833,21 @@ class doc extends control
|
||||
* @param int $doclibID
|
||||
* @param string $acl open|custom|private
|
||||
* @param string $control user|group
|
||||
* @param int $docID
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
public function ajaxGetWhitelist($doclibID, $acl = '', $control = '')
|
||||
public function ajaxGetWhitelist($doclibID, $acl = '', $control = '', $docID = 0)
|
||||
{
|
||||
$doclib = $this->doc->getLibById($doclibID);
|
||||
$users = $this->user->getPairs('noletter|noempty|noclosed');
|
||||
$selectedUser = $doclib->users;
|
||||
$doclib = $this->doc->getLibById($doclibID);
|
||||
$doc = $this->doc->getById($docID);
|
||||
$users = $this->user->getPairs('noletter|noempty|noclosed');
|
||||
$selectedUser = $docID ? $doc->users : $doclib->users;
|
||||
$selectedGroup = $docID ? $doc->groups : $doclib->groups;
|
||||
|
||||
if($control == 'group')
|
||||
{
|
||||
$groups = $this->loadModel('group')->getPairs();
|
||||
$selectedGroup = $doclib->groups;
|
||||
$groups = $this->loadModel('group')->getPairs();
|
||||
if($doclib->acl == 'custom')
|
||||
{
|
||||
foreach($groups as $groupID => $group)
|
||||
|
||||
@@ -89,58 +89,6 @@ function loadDocModule(libID)
|
||||
loadWhitelist(libID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load whitelist by libID.
|
||||
*
|
||||
* @param int $libID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadWhitelist(libID)
|
||||
{
|
||||
var groupLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=group');
|
||||
var userLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=user');
|
||||
$.post(groupLink, function(groups)
|
||||
{
|
||||
if(!(groups == 'default' || groups == 'private'))
|
||||
{
|
||||
$('#groups').replaceWith(groups);
|
||||
$('#groups_chosen').remove();
|
||||
$('#groups').chosen();
|
||||
}
|
||||
});
|
||||
|
||||
$.post(userLink, function(users)
|
||||
{
|
||||
if(users != 'default')
|
||||
{
|
||||
if(users == 'private')
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').addClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').addClass('hidden');
|
||||
$('#aclprivate').prop('checked', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').removeClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').removeClass('hidden');
|
||||
|
||||
$('#users').replaceWith(users);
|
||||
$('#users_chosen').remove();
|
||||
$('#whiteListBox .picker').remove();
|
||||
if($('#users option').length < maxCount)
|
||||
{
|
||||
$('#users').chosen();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#users').picker();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set cookie of browse type and reload.
|
||||
*
|
||||
|
||||
@@ -101,3 +101,56 @@ function initPage(type)
|
||||
$('#urlBox').hide();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load whitelist by libID.
|
||||
*
|
||||
* @param int $libID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadWhitelist(libID)
|
||||
{
|
||||
var groupLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=group');
|
||||
var userLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=user');
|
||||
$.post(groupLink, function(groups)
|
||||
{
|
||||
if(!(groups == 'default' || groups == 'private'))
|
||||
{
|
||||
$('#groups').replaceWith(groups);
|
||||
$('#groups_chosen').remove();
|
||||
$('#groups').chosen();
|
||||
}
|
||||
});
|
||||
|
||||
$.post(userLink, function(users)
|
||||
{
|
||||
if(users != 'default')
|
||||
{
|
||||
if(users == 'private')
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').addClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').addClass('hidden');
|
||||
$('#whiteListBox').addClass('hidden');
|
||||
$('#aclprivate').prop('checked', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').removeClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').removeClass('hidden');
|
||||
|
||||
$('#users').replaceWith(users);
|
||||
$('#users_chosen').remove();
|
||||
$('#whiteListBox .picker').remove();
|
||||
if($('#users option').length < maxCount)
|
||||
{
|
||||
$('#users').chosen();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#users').picker();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -125,3 +125,56 @@ function saveDraft()
|
||||
var link = createLink('doc', 'ajaxSaveDraft', 'docID=' + docID);
|
||||
$.post(link, {content: content});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load whitelist by libID.
|
||||
*
|
||||
* @param int $libID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadWhitelist(libID)
|
||||
{
|
||||
var groupLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=group' + '&docID=' + docID);
|
||||
var userLink = createLink('doc', 'ajaxGetWhitelist', 'libID=' + libID + '&acl=&control=user' + '&docID=' + docID);
|
||||
$.post(groupLink, function(groups)
|
||||
{
|
||||
if(!(groups == 'default' || groups == 'private'))
|
||||
{
|
||||
$('#groups').replaceWith(groups);
|
||||
$('#groups_chosen').remove();
|
||||
$('#groups').chosen();
|
||||
}
|
||||
});
|
||||
|
||||
$.post(userLink, function(users)
|
||||
{
|
||||
if(users != 'default')
|
||||
{
|
||||
if(users == 'private')
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').addClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').addClass('hidden');
|
||||
$('#whiteListBox').addClass('hidden');
|
||||
$('#aclprivate').prop('checked', true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#aclopen').parent('.radio-inline').removeClass('hidden');
|
||||
$('#aclcustom').parent('.radio-inline').removeClass('hidden');
|
||||
|
||||
$('#users').replaceWith(users);
|
||||
$('#users_chosen').remove();
|
||||
$('#whiteListBox .picker').remove();
|
||||
if($('#users option').length < maxCount)
|
||||
{
|
||||
$('#users').chosen();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#users').picker();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ $("a[href^='###']").click(function()
|
||||
<tr>
|
||||
<th><?php echo $lang->doclib->control;?></th>
|
||||
<td colspan='2'>
|
||||
<?php echo html::radio('acl', $lang->doc->aclList, 'open', "onchange='toggleAcl(this.value, \"doc\")'");?>
|
||||
<?php echo html::radio('acl', $lang->doc->aclList, $lib->acl, "onchange='toggleAcl(this.value, \"doc\")'");?>
|
||||
<span class='text-info' id='noticeAcl'><?php echo $lang->doc->noticeAcl['doc']['open'];?></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
Reference in New Issue
Block a user