function html_right()
 {
     extract(tep_load('defs'));
     extract(tep_ref('box_array'), EXTR_OVERWRITE | EXTR_REFS);
     $result = $this->display_solo_box();
     if ($result) {
         $box_array = array();
         return $result;
     }
     if ($cDefs->gtext_id && $this->options['text_pages']) {
         $cText = new gtext_front();
         $zones_array = $cText->get_zone_entries($cDefs->gtext_id);
         if (count($zones_array)) {
             $result = $this->display_ingtext_box();
             if ($result) {
                 $box_array = array();
             }
             return $result;
         }
     }
     if ($cDefs->abstract_id) {
         $cSuper = new super_front();
         $zone_class = $cSuper->get_zone_class($cDefs->abstract_id);
         switch ($zone_class) {
             case 'image_zones':
                 if ($this->options['image_collections'] == 1) {
                     $zones_array = $cSuper->get_parent_zones($cDefs->abstract_id);
                     if (count($zones_array)) {
                         $this->display_filter_box();
                         $box_array = array();
                         return true;
                     }
                 }
                 break;
             case 'generic_zones':
                 if ($this->options['text_collections'] == 1) {
                     $zones_array = $cSuper->get_parent_zones($cDefs->abstract_id);
                     if (count($zones_array)) {
                         $this->display_filter_box();
                         $box_array = array();
                         return true;
                     }
                 }
                 break;
             default:
                 break;
         }
     }
     return false;
 }
 function html_left()
 {
     global $current_gtext_id, $current_abstract_id, $box_array;
     if ($current_gtext_id && $this->options['text_pages']) {
         $cText = new gtext_front();
         $zones_array = $cText->get_zone_entries($current_gtext_id);
         if (count($zones_array)) {
             $result = $this->display_ingtext_box();
             if ($result) {
                 $box_array = array();
             }
             return $result;
         }
     }
     if ($current_abstract_id) {
         $cSuper = new super_front();
         $zone_class = $cSuper->get_zone_class($current_abstract_id);
         switch ($zone_class) {
             case 'image_zones':
                 if ($this->options['image_collections'] == 1) {
                     $zones_array = $cSuper->get_parent_zones($current_abstract_id);
                     if (count($zones_array)) {
                         $this->display_filter_box();
                         $box_array = array();
                         return true;
                     }
                 }
                 break;
             case 'generic_zones':
                 if ($this->options['text_collections'] == 1) {
                     $zones_array = $cSuper->get_parent_zones($current_abstract_id);
                     if (count($zones_array)) {
                         $this->display_filter_box();
                         $box_array = array();
                         return true;
                     }
                 }
                 break;
             default:
                 break;
         }
     }
     return false;
 }
Exemple #3
0
 function get_mixed_css_tree($id, &$max_drop, &$max_width)
 {
     $sub_array = array();
     $count = $swidth = 0;
     $cSuper = new super_front();
     $super_entries = $cSuper->get_entries($id, true);
     if (!count($super_entries)) {
         return $sub_array;
     }
     foreach ($super_entries as $key => $value) {
         $value['sub_alt_title'] = strtoupper($value['sub_alt_title']);
         $tmp_value = str_replace(' ', '', $value['sub_alt_title']);
         $awidth = tep_string_length($tmp_value) * 9 + 16;
         $value['sub_alt_title'] = htmlspecialchars(stripslashes($value['sub_alt_title']));
         if ($awidth > $max_width) {
             $string_length = (int) ($max_width / 9);
             $value['sub_alt_title'] = substr($value['sub_alt_title'], 0, $string_length) . '...';
             $awidth = $max_width;
         }
         if ($awidth > $swidth) {
             $swidth = $awidth;
         }
         $zone_class = $cSuper->get_zone_class($key);
         $script = FILENAME_COLLECTIONS;
         switch ($zone_class) {
             case 'image_zones':
                 $process_function = 'tep_get_image_css_tree';
                 break;
             case 'super_zones':
                 $process_function = 'tep_get_mixed_css_tree';
                 break;
             default:
                 $process_function = 'tep_get_text_css_tree';
                 break;
         }
         $sub_array[] = '<div class="css_sub floater"[<<<MAX_WIDTH>>>]><a href="' . tep_href_link($script, 'abz_id=' . $value['subzone_id']) . '">' . $value['sub_alt_title'] . '</a></div>' . "\n";
         $count++;
         if ($count > $max_drop) {
             $max_drop = $count;
             //$max_width = $swidth;
             //return $sub_array;
         }
     }
     $max_width = $swidth;
     return $sub_array;
 }
echo $abstract_array['abstract_zone_desc'];
?>
</div>
<?php 
$zones_array = $cSuper->get_entries($current_abstract_id);
// Setup the best fit arrays
$length_array = array();
for ($i = 0, $j = DEFAULT_COLUMN_SUPER_SPLIT; $i < $j; $i++) {
    $length_array[] = 0;
    $content_array[] = '';
}
foreach ($zones_array as $id => $zone) {
    if (!$cSuper->is_enabled($id)) {
        continue;
    }
    $zone_class = $cSuper->get_zone_class($id);
    $module = DIR_WS_MODULES . $zone_class . '_mod.php';
    $module_class = $zone_class . '_mod';
    if (file_exists($module)) {
        require_once $module;
        $cModule = new $module_class($id);
        $result = $cModule->output();
        // Execute a simple best fit routine to balance the columns
        $index = key($length_array);
        $length_array[$index] += tep_string_length(strip_tags($result));
        $content_array[$index] .= '<div class="splitColumn">' . $result . '</div>' . "\n";
        asort($length_array, SORT_NUMERIC);
    }
}
?>
        <div class="cleaner" style="padding-top: 4px;">