registry =& $registry; } // ################################################################### /** * (PHP 4) Constructor */ function Printer_CSS(&$registry) { $this->__construct($registry); } // ################################################################### /** * Adds a CSS information block to the array for later use * * @access public * * @param string Block title to display in thead * @param string CSS class/descriptor/element name * @param bool Show the link CSS information */ function add_block($title, $descriptor, $dolink) { if (isset($this->descriptors["$descriptor"])) { trigger_error('The descriptor `' . $descriptor . '` already exists', E_USER_WARNING); return; } $this->descriptors["$descriptor"] = array( 'title' => $title, 'descriptor' => $descriptor, 'dolink' => $dolink ); } // ################################################################### /** * Sets a master data key for a given descriptor and property * * @access public * * @param string Descriptor * @param string Property * @param string Value */ function set_master_data($descriptor, $property, $value) { $this->masterdata["$descriptor"]["$property"] = $value; } // ################################################################### /** * Sets a custom data key for a given descriptor and property * * @access public * * @param string Descriptor * @param string Property * @param string Value */ function set_custom_data($descriptor, $property, $value) { $this->customdata["$descriptor"]["$property"] = $value; } // ################################################################### /** * Generates the HTML needed to output the CSS editing blocks; this is * done in the form of using ISSO.Printer * * @access public */ function generate_blocks() { $print =& $this->registry->modules['printer']; $lang = array( 'standard_css_attributes' => $this->registry->modules['localize']->string('Standard CSS Attributes'), 'extra_css_attributes' => $this->registry->modules['localize']->string('Extra CSS Attributes'), 'links_normal' => $this->registry->modules['localize']->string('Normal CSS Links'), 'links_visited' => $this->registry->modules['localize']->string('Visited CSS Links'), 'links_hover' => $this->registry->modules['localize']->string('Hover CSS Links'), 'background' => $this->registry->modules['localize']->string('Background'), 'font_color' => $this->registry->modules['localize']->string('Font Color'), 'font_style' => $this->registry->modules['localize']->string('Font Style'), 'font_size' => $this->registry->modules['localize']->string('Font Size'), 'font_family' => $this->registry->modules['localize']->string('Font Family'), 'text_decoration' => $this->registry->modules['localize']->string('Text Decoration') ); foreach ($this->descriptors AS $descriptor) { $value = array(); $print->table_start(); $print->table_head($descriptor['title'] . ' (' . $descriptor['descriptor'] . ')'); $value['background'] = $this->fetch_value($descriptor['descriptor'], 'background'); $value['color'] = $this->fetch_value($descriptor['descriptor'], 'color'); $value['font_style'] = $this->fetch_value($descriptor['descriptor'], 'font-style'); $value['font_size'] = $this->fetch_value($descriptor['descriptor'], 'font-size'); $value['font_family'] = $this->fetch_value($descriptor['descriptor'], 'font-family'); $value['extra'] = $this->fetch_value($descriptor['descriptor'], 'extra'); $html = <<