Вход Регистрация
Файл: concrete5.7.5.6/concrete/single_pages/dashboard/users/search.php
Строк: 319
<?php if (is_object($user)) {
    
$token_validator Core::make('helper/validation/token');

    
$dh Core::make('helper/date'); /* @var $dh ConcreteCoreLocalizationServiceDate */
    
?>

    <style type="text/css">
        div[data-container=editable-fields] section {
            margin-bottom: 30px;
            position: relative;
            border-bottom: 1px solid #f1f1f1;
            padding-bottom: 30px;
            clear: both;
        }
    </style>

    <form action="<?php echo $view->action('update_status'$user->getUserID()) ?>" method="post">
        <?php echo $token_validator->output() ?>
        <div class="ccm-dashboard-header-buttons btn-group">
            <?php if (Config::get('concrete.user.registration.validate_email') == true && $canActivateUser) { ?>
                <?php if ($user->isValidated() < 1) { ?>
                    <button type="submit" name="task" value="validate"
                            class="btn btn-default"><?php echo t('Mark Email as Valid'?></button>
                <?php ?>
            <?php ?>

            <?php if ($canActivateUser) { ?>
                <?php if ($user->isActive()) { ?>
                    <button type="submit" name="task" value="deactivate"
                            class="btn btn-default"><?php echo t('Deactivate User'?></button>
                <?php } else { ?>
                    <button type="submit" name="task" value="activate"
                            class="btn btn-default"><?php echo t('Activate User'?></button>
                <?php ?>
            <?php ?>

            <?php if ($canSignInAsUser) { ?>
                <button type="submit" name="task" value="sudo"
                        class="btn btn-default"><?php echo t('Sign in As User'?></button>
            <?php ?>
            <?php if ($canDeleteUser) { ?>
                <button type="submit" name="task" value="delete" class="btn btn-danger"><?php echo t('Delete'?></button>
            <?php ?>
        </div>
    </form>


    <div data-container="editable-fields">

        <section>
            <div class="row">
                <div class="col-md-6">
                    <h4><?php echo t('Basic Details'?></h4>

                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Username'?></p></div>
                        <div class="col-md-8"><p><span <?php if ($canEditUserName) { ?>data-editable-field-type="xeditable"
                                                       data-url="<?php echo $view->action('update_username'$user->getUserID()) ?>"
                                                       data-type="text"
                                                       data-name="uName" <?php ?>><?php echo h($user->getUserName()) ?></span></p>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Email Address'?></p></div>
                        <div class="col-md-8"><p><span <?php if ($canEditEmail) { ?>data-editable-field-type="xeditable"
                                                       data-url="<?php echo $view->action('update_email'$user->getUserID()) ?>"
                                                       data-type="email"
                                                       data-name="uEmail"<?php ?>><?php echo h($user->getUserEmail()) ?></span></p>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Password'?></p></div>
                        <div class="col-md-8"><p><?php if ($canEditPassword) { ?><a href="#" class="btn btn-xs btn-default"
                                                                                 data-button="change-password"><?php echo t('Change'?></a><?php } else { ?>*********<?php ?>
                            </p></div>
                    </div>
                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Profile Picture'?></p></div>
                        <div class="col-md-8"><p>

                            <div <?php if ($canEditAvatar) { ?>data-editable-field-type="image"
                                 data-editable-field-inline-commands="true"
                                 data-url="<?php echo $view->action('update_avatar'$user->getUserID()) ?>"<?php ?>>
                                <ul class="ccm-edit-mode-inline-commands">
                                    <li><a href="#" data-editable-field-command="clear"><i
                                                class="fa fa-trash-o"></i></a></li>
                                </ul>
                    <span class="editable-image-wrapper">
                        <input type="file" id="file-avatar" name="avatar"/>
                        <div
                            class="editable-image-display"><?php echo $user->getUserAvatar()->output() ?></div>
                    </span>
                            </div>
                            </p>
                        </div>
                    </div>
                </div>

                <div class="col-md-6">
                    <h4><?php echo t('Account'?></h4>

                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Date Created'?></p></div>
                        <div class="col-md-8"><p><?php echo $dh->formatDateTime($user->getUserDateAdded()) ?></p></div>
                    </div>
                    <div class="row">
                        <div class="col-md-4"><p><?php echo t('Last IP Address'?></p></div>
                        <div class="col-md-8"><p><?php echo $user->getLastIPAddress() ?></p></div>
                    </div>
                    <?php if (ENABLE_USER_TIMEZONE) {
                        
$uTimezone $user->getUserTimezone();
                        if (empty(
$uTimezone)) {
                            
$uTimezone date_default_timezone_get();
                        }
                        
?>
                        <div class="row">
                            <div class="col-md-4"><p><?php echo t('Timezone'?></p></div>
                            <div class="col-md-8"><p><span
                                        <?php if ($canEditTimezone) { ?>data-editable-field-type="xeditable"
                                        data-source="<?php echo $view->action('get_timezones'?>"
                                        data-url="<?php echo $view->action('update_timezone'$user->getUserID()) ?>"
                                        data-type="select2" data-name="uTimezone"
                                        data-value="<?php echo h($uTimezone?>"<?php ?>><?php echo $dh->getTimezoneDisplayName($uTimezone?></span>
                                </p></div>
                        </div>
                    <?php ?>
                    <?php
                    $languages 
Localization::getAvailableInterfaceLanguages();
                    if (
count($languages) > 0) { ?>
                        <div class="row">
                            <div class="col-md-4"><p><?php echo t('Language'?></p></div>
                            <div class="col-md-8"><p><span
                                        <?php if ($canEditLanguage) { ?>data-editable-field-type="xeditable"
                                        data-source="<?php echo $view->action('get_languages'?>"
                                        data-url="<?php echo $view->action('update_language'$user->getUserID()) ?>"
                                        data-type="select"
                                        data-name="uDefaultLanguage"<?php ?>><?php echo h($user->getUserDefaultLanguage()); ?></span>
                                </p></div>
                        </div>
                    <?php ?>
                    <?php if (Config::get('concrete.user.registration.validate_email')) { ?>
                        <div class="row">
                            <div class="col-md-4"><p><?php echo t('Full Record'?></p></div>
                            <div class="col-md-8"><p><?php echo ($user->isFullRecord()) ? "Yes" "No" ?></p></div>
                        </div>
                        <div class="row">
                            <div class="col-md-4"><p><?php echo t('Email Validated'?></p></div>
                            <div class="col-md-8"><p><?php
                                    
switch ($user->isValidated()) {
                                        case 
'-1':
                                            print 
t('Unknown');
                                            break;
                                        case 
'0':
                                            print 
t('No');
                                            break;
                                        case 
'1':
                                            print 
t('Yes');
                                            break;
                                    } 
?></p></div>
                        </div>
                    <?php ?>

                    <h4><?php echo t('Groups'?></h4>

                    <div data-container="group-list"></div>

                    <?php
                    
if ($canAddGroup) { ?>
                        <hr>
                        <a class="btn btn-default btn-xs" data-button="assign-groups" dialog-width="640"
                           dialog-height="480" dialog-modal="true"
                           href="<?php echo URL::to('/ccm/system/dialogs/group/search'?>?filter=assign"
                           dialog-title="<?php echo t('Add Groups'?>" dialog-modal="false"><?php echo t('Add Group'?></a>
                    <?php ?>
                </div>

            </div>
        </section>

        <section>
            <h4><?php echo t('Other Attributes'?></h4>
            <?php Loader::element('attribute/editable_list', array(
                
'attributes' => $attributes,
                
'object' => $user,
                
'saveAction' => $view->action('update_attribute'$user->getUserID()),
                
'clearAction' => $view->action('clear_attribute'$user->getUserID()),
                
'permissionsArguments' => array('attributes' => $allowedEditAttributes),
                
'permissionsCallback' => function ($ak$permissionsArguments) {
                    return (
is_array($permissionsArguments['attributes']) && in_array($ak->getAttributeKeyID(), $permissionsArguments['attributes']));
                }
            )); 
?>
        </section>

    </div>

    <?php if ($canEditPassword) { ?>

        <div style="display: none">
            <div data-dialog="change-password" class="ccm-ui">
                <form data-dialog-form="change-password"
                      action="<?php echo $view->action('change_password'$user->getUserID()) ?>">
                    <?php echo $token_validator->output('change_password'?>

                    <div class="form-group">
                        <?php echo $form->label('uPassword't('Password')) ?>
                        <?php echo $form->password('uPassword', array('autocomplete' => 'off')) ?>
                    </div>

                    <div class="form-group">
                        <?php echo $form->label('uPasswordConfirm't('Confirm Password')) ?>
                        <?php echo $form->password('uPasswordConfirm', array('autocomplete' => 'off')) ?>
                    </div>

                    <div class="dialog-buttons">
                        <button class="btn btn-default pull-left"
                                data-dialog-action="cancel"><?php echo t('Cancel'?></button>
                        <button type="button" data-dialog-action="submit"
                                class="btn btn-primary pull-right"><?php echo t('Update'?></button>
                    </div>


                </form>
            </div>
        </div>
    <?php ?>

    <script type="text/template" data-template="user-add-groups">
        <% _.each(groups, function(group) { %>
        <div class="row" data-editable-field-inline-commands="true" data-group-id="<%=group.gID%>">
            <ul class="ccm-edit-mode-inline-commands">
                <li><a href="#" data-group-id="<%=group.gID%>" data-button="delete-group"><i class="fa fa-trash-o"></i></a>
                </li>
            </ul>
            <div class="col-md-6"><p><%=group.gDisplayName%></p></div>
            <div class="col-md-6"><p><%=group.gDateTimeEntered%></p></div>
        </div>
        <% }); %>
    </script>

    <script type="text/javascript">
        $(function () {

            var _addGroupsTemplate = _.template($('script[data-template=user-add-groups]').html());
            $('div[data-container=group-list]').append(
                _addGroupsTemplate({'groups': <?php echo $groupsJSON?>})
            );
            $('div[data-container=editable-fields]').concreteEditableFieldContainer({
                url: '<?php echo $view->action('save'$user->getUserID())?>',
                data: {
                    ccm_token: '<?php echo $token_validator->generate()?>'
                }
            });

            $('button[name=task][value=sudo]').on('click', function () {
                return confirm('<?php echo t("This will end your current session and sign you in as %s"$user->getUserName())?>');
            });

            $('button[name=task][value=delete]').on('click', function () {
                return confirm('<?php echo t("Are you sure you want to permanently remove this user?")?>');
            });
            ConcreteEvent.subscribe('SelectGroup', function (e, data) {
                $.concreteAjax({
                    url: "<?php echo URL::to('/ccm/system/user/add_group')?>",
                    data: {
                        gID: data.gID,
                        uID: '<?php echo $user->getUserID()?>',
                        ccm_token: '<?php echo $token_validator->generate('add_group'?>'
                    },
                    success: function (r) {

                        $('div[data-container=group-list]').append(
                            _addGroupsTemplate({'groups': r.groups})
                        );
                        _.each(r.groups, function (group) {
                            $('div[data-container=group-list] div[data-group-id=' + group.gID + ']').addClass('animated bounceIn');
                        });
                        jQuery.fn.dialog.closeTop();
                    }
                });
            });

            $('div[data-container=editable-fields]').on('click', 'a[data-button=change-password]', function () {
                $.fn.dialog.open({
                    element: 'div[data-dialog=change-password]',
                    title: '<?php echo t('Change Password')?>',
                    width: '280',
                    height: '220',
                    modal: true,
                    close: function () {
                        $(this).find('input[type=password]').val('');
                    }
                });
                return false;
            });

            $('div[data-container=editable-fields]').on('click', 'a[data-button=delete-group]', function () {
                $.concreteAjax({
                    url: "<?php echo URL::to('/ccm/system/user/remove_group')?>",
                    data: {
                        gID: $(this).attr('data-group-id'),
                        uID: '<?php echo $user->getUserID()?>',
                        ccm_token: '<?php echo $token_validator->generate('remove_group'?>'
                    },
                    success: function (r) {
                        $('div[data-container=group-list] div[data-group-id=' + r.group.gID + ']').queue(function () {
                            $(this).addClass('animated bounceOutLeft');
                            $(this).dequeue();
                        }).delay(500).queue(function () {
                            $(this).remove();
                            $(this).dequeue();
                        })
                        jQuery.fn.dialog.closeTop();
                    }
                });
                return false;
            });

            $('a[data-button=assign-groups]').dialog();

        });
    </script>
<?php } else {

    
$tp Loader::helper('concrete/user');
    if (
$tp->canAccessUserSearchInterface()) { ?>
        <div class="ccm-dashboard-content-full" data-search="users">
            <?php Loader::element('users/search', array('controller' => $searchController)) ?>
        </div>

        <div class="ccm-dashboard-header-buttons">
            <a href="<?php echo View::url('/dashboard/users/add'?>"
               class="btn btn-primary"><?php echo t("Add User"?></a>
        </div>

    <?php } else { ?>
        <p><?php echo t('You do not have access to user search. This setting may be changed in the access section of the dashboard settings page.'?></p>
    <?php ?>

<?php ?>
Онлайн: 2
Реклама