Version 4.0.13.1
This commit is contained in:
1 parent
f9e857d255
commit
c6a86f0d9b
7517 files changed
+597400
-668041
No files matched your search
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
/**
|
||||
* @brief Customization AJAX actions
|
||||
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
|
||||
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
|
||||
* @license http://www.invisionpower.com/legal/standards/
|
||||
* @package IPS Social Suite
|
||||
* @since 07 May 2013
|
||||
* @version SVN_VERSION_NUMBER
|
||||
*/
|
||||
|
||||
namespace IPS\cms\modules\admin\pages;
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
/**
|
||||
* Members AJAX actions
|
||||
*/
|
||||
class _ajax extends \IPS\Dispatcher\Controller
|
||||
{
|
||||
/**
|
||||
* Return a CSS or HTML menu
|
||||
*
|
||||
* @return html
|
||||
*/
|
||||
public function loadMenu()
|
||||
{
|
||||
$request = array(
|
||||
't_location' => ( isset( \IPS\Request::i()->t_location ) ) ? \IPS\Request::i()->t_location : null,
|
||||
't_group' => ( isset( \IPS\Request::i()->t_group ) ) ? \IPS\Request::i()->t_group : null,
|
||||
't_key' => ( isset( \IPS\Request::i()->t_key ) ) ? \IPS\Request::i()->t_key : null,
|
||||
't_type' => ( isset( \IPS\Request::i()->t_type ) ) ? \IPS\Request::i()->t_type : 'templates',
|
||||
);
|
||||
|
||||
switch( $request['t_type'] )
|
||||
{
|
||||
default:
|
||||
case 'template':
|
||||
$flag = \IPS\cms\Templates::RETURN_ONLY_TEMPLATE;
|
||||
break;
|
||||
case 'js':
|
||||
$flag = \IPS\cms\Templates::RETURN_ONLY_JS;
|
||||
break;
|
||||
case 'css':
|
||||
$flag = \IPS\cms\Templates::RETURN_ONLY_CSS;
|
||||
break;
|
||||
}
|
||||
|
||||
$templates = \IPS\cms\Templates::buildTree( \IPS\cms\Templates::getTemplates( $flag + \IPS\cms\Templates::RETURN_DATABASE_ONLY ) );
|
||||
|
||||
$current = new \IPS\cms\Templates;
|
||||
|
||||
if ( ! empty( $request['t_key'] ) )
|
||||
{
|
||||
try
|
||||
{
|
||||
$current = \IPS\cms\Templates::load( $request['t_key'] );
|
||||
}
|
||||
catch( \OutOfRangeException $ex )
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'templates' )->menu( $templates, $current, $request );
|
||||
}
|
||||
|
||||
/**
|
||||
* Return HTML template as JSON
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function loadTemplate()
|
||||
{
|
||||
$t_location = \IPS\Request::i()->t_location;
|
||||
$t_key = \IPS\Request::i()->t_key;
|
||||
|
||||
if ( $t_location === 'block' and $t_key === '_default_' and isset( \IPS\Request::i()->block_key ) )
|
||||
{
|
||||
/* Find it from the normal template system */
|
||||
$plugin = \IPS\Widget::load( \IPS\Application::load( \IPS\Request::i()->block_app ), \IPS\Request::i()->block_key, uniqid() );
|
||||
|
||||
$location = $plugin->getTemplateLocation();
|
||||
|
||||
$templateBits = \IPS\Theme::master()->getRawTemplates( $location['app'], $location['location'], $location['group'], \IPS\Theme::RETURN_ALL );
|
||||
$templateBit = $templateBits[ $location['app'] ][ $location['location'] ][ $location['group'] ][ $location['name'] ];
|
||||
|
||||
$templateBit['template_content'] = htmlentities( $templateBit['template_content'], \IPS\HTMLENTITIES, 'UTF-8', TRUE );
|
||||
|
||||
$templateArray = array(
|
||||
'template_id' => $templateBit['template_id'],
|
||||
'template_key' => 'template_' . $templateBit['template_name'] . '.' . $templateBit['template_id'],
|
||||
'template_title' => $templateBit['template_name'],
|
||||
'template_desc' => null,
|
||||
'template_content' => $templateBit['template_content'],
|
||||
'template_location' => null,
|
||||
'template_group' => null,
|
||||
'template_container' => null,
|
||||
'template_rel_id' => null,
|
||||
'template_user_created' => null,
|
||||
'template_user_edited' => null,
|
||||
'template_params' => $templateBit['template_data']
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
if ( is_numeric( $t_key ) )
|
||||
{
|
||||
$template = \IPS\cms\Templates::load( $t_key, 'template_id' );
|
||||
}
|
||||
else
|
||||
{
|
||||
$template = \IPS\cms\Templates::load( $t_key );
|
||||
}
|
||||
}
|
||||
catch( \OutOfRangeException $ex )
|
||||
{
|
||||
\IPS\Output::i()->json( array( 'error' => true ) );
|
||||
}
|
||||
|
||||
if ( $template !== null )
|
||||
{
|
||||
$templateArray = array(
|
||||
'template_id' => $template->id,
|
||||
'template_key' => $template->key,
|
||||
'template_title' => $template->title,
|
||||
'template_desc' => $template->desc,
|
||||
'template_content' => htmlentities( $template->content, \IPS\HTMLENTITIES, 'UTF-8', TRUE ),
|
||||
'template_location' => $template->location,
|
||||
'template_group' => $template->group,
|
||||
'template_container' => $template->container,
|
||||
'template_rel_id' => $template->rel_id,
|
||||
'template_user_created' => $template->user_created,
|
||||
'template_user_edited' => $template->user_edited,
|
||||
'template_params' => $template->params
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ( \IPS\Request::i()->show == 'json' )
|
||||
{
|
||||
\IPS\Output::i()->json( $templateArray );
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Output::i()->sendOutput( \IPS\Theme::i()->getTemplate( 'global', 'core' )->blankTemplate( \IPS\Theme::i()->getTemplate( 'templates', 'cms', 'admin' )->viewTemplate( $templateArray ) ), 200, 'text/html', \IPS\Output::i()->httpHeaders );
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user