"Eins ist toll", "zwei" => "Zwei ist noch besser");
/* attribute list for save action */
var $ignore_account = FALSE;
var $attributes = array();
var $objectclasses = array("whatever");
var $list =array();
var $header =array();
var $Vendor = "";
function printerPPDSelectionDialog ($config, $dn= NULL,$list=false,$headers=false,$ppd=false)
{
plugin::plugin ($config, $dn);
$this->list = $list;
$this->header = $headers;
$this->depselect = $this->config->current['BASE'];
if(!isset($_SESSION['printerPPDSelectionDialog'])){
$_SESSION['printerPPDSelectionDialog']['regex'] = "*";
}
/* Order the manufacturers index */
ksort($this->header);
}
function execute()
{
/* Call parent execute */
plugin::execute();
/* Fill templating stuff */
$smarty= get_smarty();
$display= "";
$s_action = "none";
$regex = $_SESSION['printerPPDSelectionDialog']['regex'];
if(isset($_GET['search'])){
$regex = $_GET['search']."*";
}
if(isset($_POST['regex'])){
$regex= $_POST['regex'];
}
$regex = str_replace("**","*",$regex);
$_SESSION['printerPPDSelectionDialog']['regex'] = $regex;
/** Added **/
$list = array();
foreach($this->list as $cat => $ppds){
foreach($ppds as $ppd){
if(preg_match("/^".str_replace("*",".*",$regex)."/i",$ppd['ppd'])){
$list[$ppd['link']] = $ppd;
}
}
}
if((isset($_GET['act']))&&($_GET['act']=="open")) {
$this->Vendor = $_GET['id'];
}
$div = new divSelectBox("printerPPDSelectionDialog");
$div ->SetHeight(450);
$div ->SetSummary(_("Printer ppd selection."));
$linkopen = "%s";
$uselink = "%s";
if(empty($this->Vendor)){
foreach($this-> header as $key => $entry){
$div ->AddEntry (array(
array("string"=>sprintf($linkopen,$key,$key),"attach"=>"style='border-right:0px;'")
));
}
}else{
$div ->AddEntry (array(
array("string"=>sprintf($linkopen,"",".. ["._("back")."]"),"attach"=>"style='border-right:0px;'")
));
foreach($list as $key => $ppd){
if(preg_match("/^".$this->Vendor."/",$ppd['ppd'])){
$div ->AddEntry (array(
array("string"=>sprintf($uselink,$key,$ppd['ppd']),"attach"=>"style='border-right:0px;'")
));
}
}
}
$smarty->assign("List", $div -> DrawList());
$smarty->assign("search_image", get_template_path('images/search.png'));
$smarty->assign("launchimage", get_template_path('images/small_filter.png'));
$smarty->assign("tree_image", get_template_path('images/tree.png'));
$smarty->assign("alphabet", generate_alphabet());
$smarty->assign("apply", apply_filter());
$smarty->assign("regex", $regex);
$display.= $smarty->fetch(get_template_path('printerPPDSelectionDialog.tpl', TRUE,dirname(__FILE__)));
return($display);
}
function save_object()
{
}
function check(){
}
/* Save to LDAP */
function save()
{
return $this->selectedPPD;
}
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>