diff --git a/plugins/admin/systems/class_printerPPDDialog.inc b/plugins/admin/systems/class_printerPPDDialog.inc
index ab1b175258e6315454fa753bd165a1708bb059ee..f9f3ed2717412c8d9a8567df3639c8885488f3c4 100644 (file)
if(isset($_SESSION['config']->data['MAIN']['PPD_PATH'])){
$this->pathToPPD = $_SESSION['config']->data['MAIN']['PPD_PATH'];
- $this->pathToPPD= preg_replace("/\/*$/", "/", $this->pathToPPD);
+ $this->pathToPPD= preg_replace("/\/\//", "/", $this->pathToPPD);
+ if(!preg_match("/\/$/",$this->pathToPPD)){
+ $this->pathToPPD = $this->pathToPPD."/";
+ }
}else{
$this->pathToPPD = "";
}
$tmp3['link'] =$ppdname;
$tmp3['ppd'] =$res;
- print_a($tmp3);
-
$this->selectedPPD = $tmp3;
$this->getPrinterReload();
}
}
}
+ /* Div Selection */
+ if((isset($_GET['act']))&&($_GET['act']=="use")){
+ $hit = false;
+ foreach($this->ppdList as $vendor => $ppds ){
+ foreach($ppds as $name => $ppd){
+ if($ppd['link']==$_GET['id']){
+ $hit = true;
+ }
+ }
+ }
+ if($hit == true){
+ $this->selectedPPD['link'] = str_replace($this->pathToPPD,"",$_GET['id']);
+ $this->ppdConfig = false;
+ }
+ unset($this->dialog);
+ $this->dialog=NULL;
+
+ }
+
/* if a dialog is open, print the dialog instead of this class
*/
if($this->dialog!=NULL){
}
function save_ppd(){
- $this->ppdManager->saveProperties($this->pathToPPD.$this->selectedPPD['link'],$this->ppdConfig);
+ if($this->ppdManager){
+ $this->ppdManager->saveProperties($this->pathToPPD.$this->selectedPPD['link'],$this->ppdConfig);
+ }
}
/* Save to LDAP */
*/
$str = "none";
if(!empty($this->selectedPPD)){
- $str = $this->ppdManager->loadDescription($this->pathToPPD.$this->selectedPPD['link']);
+ $str = $this->ppdManager->loadDescription($this->pathToPPD."/".$this->selectedPPD['link']);
}
return($str) ;
}