Seditio Source
Root |
./othercms/ips_4.3.4/applications/core/modules/admin/membersettings/profilefields.php
<?php
/**
 * @brief        Profile Fields and Settings
 * @author        <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
 * @copyright    (c) Invision Power Services, Inc.
 * @license        https://www.invisioncommunity.com/legal/standards/
 * @package        Invision Community
 * @since        09 Apr 2013
 */

namespace IPS\core\modules\admin\membersettings;

/* To prevent PHP errors (extending class does not exist) revealing path */
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
   
header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
    exit;
}

/**
 * Profile Fields and Settings
 */
class _profilefields extends \IPS\Node\Controller
{
   
/**
     * Node Class
     */
   
protected $nodeClass = '\IPS\core\ProfileFields\Group';

   
/**
     * Execute
     *
     * @return    void
     */
   
public function execute()
    {
        \
IPS\Dispatcher::i()->checkAcpPermission( 'profilefields_manage' );
       
parent::execute();
    }

   
/**
     * Get Root Buttons
     *
     * @return    array
     */
   
public function _getRootButtons()
    {
       
$nodeClass = $this->nodeClass;
       
        if (
$nodeClass::canAddRoot() )
        {
           
$add = array(
               
'icon'    => 'plus',
               
'title'    => 'add',
               
'link'    => $this->url->setQueryString( 'do', 'form' ),
               
'data'    => ( $nodeClass::$modalForms ? array( 'ipsDialog' => '', 'ipsDialog-title' => \IPS\Member::loggedIn()->language()->addToStack('add') ) : array() )
            );

            return array(
'add' => $add );
        }

        return array();
    }
}