mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-29 07:12:15 +09:00
issue 2460, sort layout on layout list
git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@11231 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
d40c1a8c55
commit
9e65afbc7a
2 changed files with 66 additions and 1 deletions
|
|
@ -101,6 +101,8 @@
|
|||
$layout_list[$item->layout][] = $item;
|
||||
}
|
||||
|
||||
usort($layout_list, array($this, 'sortLayoutInstance'));
|
||||
|
||||
Context::set('layout_list', $layout_list);
|
||||
|
||||
$this->setTemplateFile('layout_all_instance_list');
|
||||
|
|
@ -109,6 +111,22 @@
|
|||
$security->encodeHTML('layout_list..');
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort layout instance by layout name, instance name
|
||||
*/
|
||||
function sortLayoutInstance($a, $b)
|
||||
{
|
||||
$aTitle = strtolower($a['title']);
|
||||
$bTitle = strtolower($b['title']);
|
||||
|
||||
if($aTitle == $bTitle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ($aTitle < $bTitle) ? -1 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display list of pc layout instance
|
||||
* @return void|Object (void : success, Object : fail)
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
$searched_count = count($searched_list);
|
||||
if(!$searched_count) return;
|
||||
|
||||
natcasesort($searched_list);
|
||||
// natcasesort($searched_list);
|
||||
// Return information for looping searched list of layouts
|
||||
$list = array();
|
||||
for($i=0;$i<$searched_count;$i++) {
|
||||
|
|
@ -152,6 +152,11 @@
|
|||
// Get information of the layout
|
||||
$layout_info = $this->getLayoutInfo($layout, null, $layout_type);
|
||||
|
||||
if(!$layout_info)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($withAutoinstallInfo)
|
||||
{
|
||||
// get easyinstall remove url
|
||||
|
|
@ -170,9 +175,37 @@
|
|||
}
|
||||
$list[] = $layout_info;
|
||||
}
|
||||
|
||||
usort($list, array($this, 'sortLayoutByTitle'));
|
||||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sort layout by title
|
||||
*/
|
||||
function sortLayoutByTitle($a, $b)
|
||||
{
|
||||
if(!$a->title)
|
||||
{
|
||||
$a->title = $a->layout;
|
||||
}
|
||||
|
||||
if(!$b->title)
|
||||
{
|
||||
$b->title = $b->layout;
|
||||
}
|
||||
|
||||
$aTitle = strtolower($a->title);
|
||||
$bTitle = strtolower($b->title);
|
||||
|
||||
if($aTitle == $bTitle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return ($aTitle < $bTitle) ? -1 : 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a count of layout
|
||||
* @param string $layoutType (P : PC, M : Mobile)
|
||||
|
|
@ -238,6 +271,7 @@
|
|||
// Read the xml file for module skin information
|
||||
if(!$xml_file) $xml_file = sprintf("%sconf/info.xml", $layout_path);
|
||||
if(!file_exists($xml_file)) {
|
||||
$layout_info->title = $layout;
|
||||
$layout_info->layout = $layout;
|
||||
$layout_info->path = $layout_path;
|
||||
$layout_info->layout_title = $layout_title;
|
||||
|
|
@ -254,6 +288,7 @@
|
|||
if(file_exists($cache_file)&&filemtime($cache_file)>filemtime($xml_file)) {
|
||||
@include($cache_file);
|
||||
|
||||
|
||||
if($layout_info->extra_var && $vars) {
|
||||
foreach($vars as $key => $value) {
|
||||
if(!$layout_info->extra_var->{$key} && !$layout_info->{$key}) {
|
||||
|
|
@ -261,6 +296,12 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$layout_info->title)
|
||||
{
|
||||
$layout_info->title = $layout;
|
||||
}
|
||||
|
||||
return $layout_info;
|
||||
}
|
||||
// If no cache file exists, parse the xml and then return the variable.
|
||||
|
|
@ -490,6 +531,12 @@
|
|||
$buff = '<?php if(!defined("__ZBXE__")) exit(); '.$buff.' ?>';
|
||||
FileHandler::writeFile($cache_file, $buff);
|
||||
if(file_exists($cache_file)) @include($cache_file);
|
||||
|
||||
if(!$layout_info->title)
|
||||
{
|
||||
$layout_info->title = $layout;
|
||||
}
|
||||
|
||||
return $layout_info;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue