getLang('panel_info').'\n';
$code_txt = 'text="'.$this->getLang('port_title').'"';
$code_url = $code_txt.',link="'.$this->getLang('port_url').'",target="_blank"';
// Samples for RJ, OF or Gbic ports
$rj01to04 = '\n01,01,PC01:color="lime",'.$code_url.'\n02,02,PC02:color="cyan",'.$code_txt.'\n03,03,PC03:color="blue"\n04,04:color="#FF0000"';
$rj05to10 = '\n05,05\n06,06\n07,07\n08,08\n09,09\n10,10';
$cl11se12 = '\n11,11:case=close,text="'.$this->getLang('port_close').'"\n12,12:case=serial,text="'.$this->getLang('port_serial').'"';
$rj13to16 = '\n13,13,PC13:color="teal",'.$code_url.'\n14,14,PC14:color="peru",'.$code_txt.'\n15,15,PC15:color="gold"\n16,16:color="#ABCDEF"';
$rj17to22 = '\n17,17\n18,18\n19,19\n20,20\n21,21\n22,22';
$of23gb24 = '\n23,23:case=of,text="'.$this->getLang('port_of').'"\n24,24:case=gbic,text="'.$this->getLang('port_gbic').'"';
$rj25to28 = '\n01,25,PC25:color="lime",'.$code_url.'\n02,26,PC26:color="cyan",'.$code_txt.'\n03,27,PC27:color="blue"\n04,28:color="#FF0000"';
$rj29to34 = '\n05,29\n06,30\n07,31\n08,32\n09,33\n10,34';
$cl35se36 = '\n11,35:case=close,text="'.$this->getLang('port_close').'"\n12,36:case=serial,text="'.$this->getLang('port_serial').'"';
$rj37to40 = '\n13,37,PC37:color="teal",'.$code_url.'\n14,38,PC38:color="peru",'.$code_txt.'\n15,39,PC39:color="gold"\n16,40:color="#ABCDEF"';
$rj41to46 = '\n17,41\n18,42\n19,43\n20,44\n21,45\n22,46';
$of47gb48 = '\n23,47:case=2of,text="'.$this->getLang('port_2of').'"\n24,48:case=gbic,text="'.$this->getLang('port_gbic').'"';
// Other default port
$rj11to16 = '\n11,11\n12,12\n13,13\n14,14\n15,15\n16,16';
$rj35to40 = '\n11,35\n12,36\n13,37\n14,38\n15,39\n16,40';
// Complete panel for 24 ports / 2x12 ports (1U or 2U)
$rj01_24a = $nb_of_rj.$rj01to04.$rj05to10.$rj11to16.$rj17to22.$of23gb24; // 1x24 ports
$rj01_24b = $nb_of_rj.$rj01to04.$rj05to10.$cl11se12.$rj13to16.$rj17to22.$of23gb24; // 2x12 ports
$rj25_48a = $nb_of_rj.$rj25to28.$rj29to34.$rj35to40.$rj41to46.$of47gb48; // 1x24 ports
$rj25_48b = $nb_of_rj.$rj25to28.$rj29to34.$cl35se36.$rj37to40.$rj41to46.$of47gb48; // 2x12 ports
// Create code for all panels
switch($TypePanel) {
case '24rj':
$code = '\n\n'.$code_msg.$rj01_24a;
$code.= '\n\n';
break;
case '1x24':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_1x24a').'\n'.$rj01_24a;
$code.= '\n\n';
break;
case '1x48':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_1x48a').'\n'.$rj01_24a;
$code.= '\n'.$rj25_48a.'\n\n';
break;
case '2x24':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_2x24a').'\n'.$rj01_24a;
$code.= '\n==text\n'.$this->getLang('name_2x24b').'\n'.$rj25_48a.'\n\n';
break;
case '2x12':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_2x12a').'\n'.$rj01_24b;
$code.= '\n\n';
break;
case '4x12':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_4x12a').'\n'.$rj01_24b;
$code.= '\n==text\n'.$this->getLang('name_4x12b').'\n'.$rj25_48b.'\n\n';
break;
case 'logo':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_logo').'\n'.$rj01_24a;
$code.= '\n\n';
break;
case 'ears':
$code = '\n\n'.$code_msg.'==text\n'.$this->getLang('name_ears').'\n'.$rj01_24a;
$code.= '\n\n';
break;
default :
$code = '';
break;
}
return $code;
}
function register(Doku_Event_Handler $controller){
$controller->register_hook('TOOLBAR_DEFINE', 'AFTER', $this, 'handle_toolbar', array ());
}
function handle_toolbar(&$event, $param) {
$event->data[] = array (
'type' => 'picker',
'title' => 'SwitchPanel',
'icon' => '../../plugins/switchpanel/pics/logo.png',
'list' => array(
array(
'type' => 'insert',
'title' => $this->getLang('panel_24rj'),
'icon' => '../../plugins/switchpanel/pics/panel_24rj.png',
'insert' => $this->getCodePanel('24rj'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_1x24'),
'icon' => '../../plugins/switchpanel/pics/panel_1x24.png',
'insert' => $this->getCodePanel('1x24'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_1x48'),
'icon' => '../../plugins/switchpanel/pics/panel_1x48.png',
'insert' => $this->getCodePanel('1x48'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_2x24'),
'icon' => '../../plugins/switchpanel/pics/panel_2x24.png',
'insert' => $this->getCodePanel('2x24'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_2x12'),
'icon' => '../../plugins/switchpanel/pics/panel_2x12.png',
'insert' => $this->getCodePanel('2x12'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_4x12'),
'icon' => '../../plugins/switchpanel/pics/panel_4x12.png',
'insert' => $this->getCodePanel('4x12'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_logo'),
'icon' => '../../plugins/switchpanel/pics/panel_logo.png',
'insert' => $this->getCodePanel('logo'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('panel_ears'),
'icon' => '../../plugins/switchpanel/pics/panel_24rj.png',
'insert' => $this->getCodePanel('ears'),
'block' => true
),
array(
'type' => 'insert',
'title' => $this->getLang('rj'),
'icon' => '../../plugins/switchpanel/pics/rj.png',
'insert' => 'XX,rj45:case=rj45\n',
'block' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('of'),
'icon' => '../../plugins/switchpanel/pics/of.png',
'insert' => 'XX,of:case=of\n',
'block' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('2of'),
'icon' => '../../plugins/switchpanel/pics/2of.png',
'insert' => 'XX,2of:case=2of\n',
'block' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('gbic'),
'icon' => '../../plugins/switchpanel/pics/gbic.png',
'insert' => 'XX,gbic:case=gbic\n',
'block' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('serial'),
'icon' => '../../plugins/switchpanel/pics/serial.png',
'insert' => 'XX,serial:case=serial\n',
'block' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('close'),
'icon' => '../../plugins/switchpanel/pics/close.png',
'insert' => 'XX,close:case=close\n',
'bolck' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('none'),
'icon' => '../../plugins/switchpanel/pics/none.png',
'insert' => 'XX:case=none\n',
'bolck' => false
),
array(
'type' => 'insert',
'title' => $this->getLang('syntax'),
'icon' => '../../plugins/switchpanel/pics/syntax.png',
'insert' => '\nIndex,Label:color="color|#rgb",case="rj45|of|2of|gbic|none|serial|close",text="Information",link="proto://url",target="page|_new|_blank"\n
\n',
'bolck' => false
)
)
);
}
}