Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?php
        // Settings
        require_once "../connect2.php";
        
        // Web Verzeichnis, welches unkonvertierte Bilder enthält
        $dir            = '/web/apache/culina.de/images/directory/4/';
        
        // Webrechte und Bildspezifische einstellungen, zu finden in den Websettings
        $stdSettings = "Bild2:;300;400;kl;120;120;mini;40;40";
        
        // Image Typen die konvertiert werden können!
        $iTypes         = "(.gif)|(.jpg)|(.png)";
        
        $pMessage       = "<strong>Preview Command for converting: %s</strong><hr><br>";
        $cMessage       = "<strong>Converting Image: %s</strong><hr><br>";
        $useDB          = "content_management";
        
if ($PHP_AUTH_USER=='admin') 
{       
        if ($_POST['ID']) 
        {
                $sql = "SELECT * FROM $useDB.webs WHERE ID = ".$_POST['ID'];
                $webDefault = mysql_query ($sql) or mail("markus@weban.de","Fehler in imageConverter.php","Benutzer: ".$PHP_AUTH_USER."\n".mysql_errno().": ".mysql_error()."<hr>$sql<hr>","from: content-management");
                $defaultSettings = mysql_fetch_assoc($webDefault);
        
                $sql = "SELECT * FROM $useDB.webs_properties WHERE $useDB.webs_properties.webs= ".$_POST['ID'];
                $result = mysql_query ($sql) or print(mysql_error()."<hr>".$sql);
                while ($web_settings=mysql_fetch_assoc($result)) 
                {
                        foreach(array_keys($web_settings) AS $elem) 
                        {
                                $webResult[$web_settings['ID']] = $web_settings['Bezeichnung'];
                        }
                }
        }       
        
?>
<form name="imageConvert" action="<?=$self;?>" method="POST">
  <table border="1" cellspacing="0" cellpadding="2" align="center">
    <tr> 
      <td colspan="2" class="links">Bild Konverter</td>
    </tr>
    <tr>
      <td valign="top" class="links">Datenbank: </td>
      <td class="rechts">

        <select name="ID" size="5" OnChange="document.imageConvert.submit();">
     <?php
                $sql = "SELECT * FROM $useDB.webs ORDER by datenbank ASC";
                $websResult = mysql_query ($sql) or mail("markus@weban.de","Fehler in imageConverter.php","Benutzer: ".$PHP_AUTH_USER."\n".mysql_errno().": ".mysql_error()."<hr>$sql<hr>","from: content-management");

                while ($db=mysql_fetch_assoc($websResult)) 
                {
                        if ( !empty($db['datenbank']) ) 
                                $buffer[] = $db;
                }
                
                //$buffer = array_reverse($buffer);

                foreach($buffer AS $db) {
          ?>
          <option value="<?= $db['ID'] ?>" <?= ($db['ID']==$_POST['ID']) ? 'selected': '' ?>>
            <?= $db['datenbank'] ?>
          </option>
      <?php
                }
          ?>
        </select>
      </td>
    </tr>
    <tr> 
      <td class="links">Webpfad: </td>
      <td class="rechts"> 
        <input name="webpath" type="text" onFocus="this.select();" value="/web/apache/<?= str_replace("_",".",$defaultSettings ['datenbank']) ?>" size="40">
        <br />
        <label>
        <select name="imagePath" id="imagePath">
          <option value="images/Bild_1/" selected="selected"<?= ($_POST['imagePath']=='images/Bild_1/' || !$_POST['imagePath']) ? ' selected="selected"' : '' ?>>Bild 1</option>
          <option value="images/Bild_2/"<?= ($_POST['imagePath']=='images/Bild_2/') ? ' selected="selected"' : '' ?>>Bild 2</option>
          <option value="images/Bild_3/"<?= ($_POST['imagePath']=='images/Bild_3/') ? ' selected="selected"' : '' ?>>Bild 3</option>
          <option value="images/directory/1/"<?= ($_POST['imagePath']=='images/directory/1/') ? ' selected="selected"' : '' ?>>Directory Bild 1</option>
          <option value="images/directory/2/"<?= ($_POST['imagePath']=='images/directory/2/') ? ' selected="selected"' : '' ?>>Directory Bild 2</option>
          <option value="images/directory/3/"<?= ($_POST['imagePath']=='images/directory/3/') ? ' selected="selected"' : '' ?>>Directory Bild 3</option>
          <option value="images/directory/4/"<?= ($_POST['imagePath']=='images/directory/4/') ? ' selected="selected"' : '' ?>>Directory Bild 4</option>
        </select>
        </label>
      </td>
    </tr>
    <tr> 
      <td valign="top" class="links">WebSettings: <br>
      </td>
      <td class="rechts" valign="top"> 
      <?php
                if (is_array($webResult)) {
                        foreach (array_keys($webResult) AS $setting) {
          ?>
        <?= $setting ?> <input name="settingText" type="text" value="<?=$webResult[$setting];?>" size="40">
        <input name="setting" type="radio" value="<?= $setting ?>" <?= ($_POST['setting']==$setting) ? 'checked': '' ?>/><br />
      <?php
                        }
                }
          ?>
      </td>
    </tr>
    <tr>
      <td valign="top" class="links">Preview:<br />
      </td>
      <td class="rechts" valign="top">
        <input name="preview" type="checkbox" value="true"<?= ($_POST['preview']=='true' || !$_POST['preview']) ? ' checked': '' ?>/>
        <br />
      </td>
    </tr>
    <tr> 
      <td align="right" colspan="2" class="links"> 
        <input type="submit" name="Abschicken" value="Abschicken" OnClick="document.imageConvert.submit();">
        <input type="reset" name="Zur&uuml;cksetzen" value="Zur&uuml;cksetzen">
      </td>
    </tr>
  </table>
</form>
<?php
        $_POST['preview']= $_POST['preview']=='true' ? true : false;
        
        if($_POST['setting'] && $_POST['webpath']) {
                $dir  = $_POST['webpath']."/".$_POST['imagePath'];
                $Pfad = $dir;
                $d = dir($dir);
                while (false !== ($files = $d->read())) {
                    if (eregi($iTypes, $files)) {
                                $image = $dir.$files;
                                $image_name = $files;
                                
                                printf(($_POST['preview']=='true') ? $pMessage : $cMessage,$image);
                                
                                // $Imagenummer extrahieren
                                $Imagenummer=explode("_",$elem); 
                                $Imagenummer=$Imagenummer[1];
                                $DatenID = "bild".$Imagenummer;
                                $web_rechte[modul_name][tool_name][$DatenID] = $webResult[$_POST['setting']];
                                $Imagedaten = array_chunk(explode(";", $web_rechte[modul_name][tool_name][$DatenID]),3);
                                $Imagedaten[0][0] = "";
                                /* 
                                        Imagedaten möglich Werte:
                                                0: Titel des Feldes
                                                1: max. Breite für Bild1 (original)
                                                2: max. Höhe für Bild1 (original)
                                                
                                                3: Pfad für Bild 
                                                4: max. Breite für Bild 
                                                5: max. Höhe für Bild
                        
                                                ...
                                                ...
                                                ...
                                */
                                // Höhe und Breite des Bildes bestimmen
                                $imgsize = GetImageSize ($image);
                                // $imgsize[0] $imgsize[1]
                                $executed = 0;
                                foreach($Imagedaten as $ImagedatenSet)
                                {
                                        if ($ImagedatenSet[0] != "") {$ImagedatenSet[0].="/";}
                                        // ---- Hier wird abgefragt ob das Bild verkleinert werden soll ---- //
                                        if (count($ImagedatenSet) == 3)
                                        {
                                                //if (($imgsize[0] > $ImagedatenSet[1]) or ($imgsize[1] > $ImagedatenSet[2]))
                                                //{
                                                $procCommand="convert -scale ".$ImagedatenSet[1]."x".$ImagedatenSet[2]." ".$image." ".$Pfad.$ImagedatenSet[0].$image_name;
                                                if ($_POST['preview']) {
                                                        echo $procCommand."<br>";
                                                        // 
                                                } else{
                                                        echo $procCommand."<br>";
                                                        $procHandle = popen ($procCommand, "r");
                                                        while ($return = fread($procHandle,4096)) {
                                                                echo nl2br($return);
                                                        }
                                                        $executed++;
                                                        /*
                                                        if($executed == 3) 
                                                                exit();
                                                        */
                                                }
                                                //}
                                                //else
                                                //{
                                                        //copy($image,$Pfad.$ImagedatenSet[0].$image_name);
                                                //}
                                        }
                                        else
                                        {
                                                //copy($image,$Pfad.$ImagedatenSet[0].$image_name);
                                        }
                                } // end foreach
                                echo "<br><hr>";
                        } // End If ereg
                } // End While
                $d->close();
        }
}
?>