Seiten

Posts mit dem Label UFZ werden angezeigt. Alle Posts anzeigen
Posts mit dem Label UFZ werden angezeigt. Alle Posts anzeigen

Donnerstag, 15. April 2010

HTML/Javascript: Framegröße an Inhalte anpassen

Das folgende Beispiel kann genutzt werden, wenn man die Framegröße automatisch an wechselnde Inhaltgrößen anpassen möchte. Ein Anwendungsfall wären die UFZ-Adventskalender, welche sich als Popup öffnen und Kalender unterschiedlicher Größe zeigen. Frames sind hier deshalb eingesetzt weil sich das Menü zum Wechseln der Kalender in einem solchen befindet (siehe Screenshots).

Download komplettes Beispiel komplettes Beispiel

Dienstag, 9. März 2010

COMA: Linkicons und Glossarlinks setzen

Um z.B. in AJAX-Responses nachträglich die Glossarlinks und Linkicons zu setzen, kann man nachfolgende COMA-Funktion nutzen:
$html = "HTML mit Glossarbegriffen und Hyperlinks";
$root_pid = 28;
$html = linkicon_glossar_parser($html, $root_pid); 
Der Parameter $root_pid entscheidet über das Setzen der Glossarlinks (Knoten 1 JA, Knoten 9 NEIN ?).

Zu ersetzende Linkicons müssen in einem DIV mit der ID content stehen (nicht valide da ID dann doppelt)!

COMA: Makroparser aufrufen

Um z.B. Makros in AJAX-Responses zu parsen, kann man nachfolgende COMA-Funktion nutzen:
$html = "HTML mit einem Makro (§fgetpic_9908§)";
$html = ersetze_funktionstemplates
        (
          $conn, $sprache, $code, $html,
          $baum, $adm, $su, $pub
        );

Mittwoch, 3. März 2010

COMA: Cron-Job einrichten

Als erstes erstellt man das Makro, welches per Cron aufgerufen werden soll.
Danach sucht man sich in der Datenbank die Tabelle W_CJ.
In die Spalte CJ_FKT trägt man den Namen des Makros ein.
Der Eintrag in die Spalte CJ_EXE besteht aus 4 Ziffern, die ersten beiden geben die volle Stunde an, in der das Makro gestartet wird (00 - 23).
Die beiden letzten stehen für den Tag im Monat an dem man das Makro ausführen möchte (01 - 31), 00 steht dabei für täglich.
In der Spalte CJ_LAST_EXE wird das Datum gesetzt an dem der Job zum letzten Mal ausgeführt wurde.

Mittwoch, 20. Januar 2010

COMA: Angemeldeten User ermitteln

SELECT a.lid, b.login_name FROM web.wsess a, web.wlogin b WHERE sid = $sess_id AND a.lid = b.lid

COMA: Bild dynamisch erzeugen

Hier als Makro umgesetzt, welches so aufgerufen wird:
[§fcreatePic§]

function createPic()  {

  if(isset($_REQUEST['getpic']) &&
    Header("Content-type: image/jpeg");
    $width = "300";
    $height = "50";
    // neues Bild erzeugen
    $image = ImageCreateTrueColor($width, $height);
    // Farben definieren
    $col1 = ImageColorAllocate($image, 255, 255, 200);
    $col2 = ImageColorAllocate($image, 0, 0, 0);
    // Hintergrund mit Farbe füllen
    ImageFill($image, 0, 0, $col1);
    // Text dazu
    ImageString ($image, 5, 20, 20,
                 "Coded bei FIAE", $col2);
    // Grafik ausgeben
    ImageJPEG($image);
    // Speicher wieder frei geben
    ImageDestroy($image);
  }
  else  {
    return "<img src=\"{$_SERVER["REQUEST_URI"]}&getpic\">";
  }
}

Dienstag, 19. Januar 2010

COMA: Oracle-Blob als Image-Stream

Hier als Makro umgesetzt, welches z.B. so aufgerufen wird:
[§fpicStream_13404§]
Als Parameter wird die gewünschte Bild-ID übergeben.

function picStream($conn, $param)  {

  if(isset($_REQUEST['getpic']) &&
     is_numeric($param))  {

    $sql = "select pics_blob from web.wpics
            where pics_id=$param";
    $stmt = OCIparse($conn, $sql) ;
    OCIExecute($stmt,OCI_DEFAULT) ;
    $check = OCIFetchInto($stmt, $row, OCI_ASSOC);
    if($check == 1)
      echo $row["PICS_BLOB"]->load(); 
  }
  else  {
    return "<img src=\"{$_SERVER["REQUEST_URI"]}&getpic\">";
  }
}

Donnerstag, 14. Januar 2010

COMA: LDAP per PHP durchsuchen

function search_user_ldap($string)  {

  $filter =
  "(&
     // aktiviert, deaktiviert, alle
     (nsrole=*roleself*)
     (objectclass=ufzperson)
     // Attribut nach dem wir suchen (sn=Surname)
     (sn=".$string."*)
  )";
  // Attribute die geliefert werden sollen
  $attr = array("sn");
  // Menge der Suchergebnisse (0=unbegrenzt)
  $count = 0;
  // Ergebnisarray
  $search = array();
  
  if(cldap_Search("", &$search, $filter, $attr, $count))  {

    $search = cldap_DeleteCount($search, 1);

    foreach($search as $val)  {
      $ret[] = $val[$attr[0]][0];
    }
  }
  return $ret;
}

COMA: Oracle-Tabellen zwischen Instanzen kopieren

Mit den nachfolgenden SQL-Anweisungen lassen sich mit einem Tool wie dem SQLDeveloper, Tabellen zwischen zwei verschiedenen Oracle-Instanzen kopieren, gültige Verbindungen zu den Instanzen vorrausgesetzt. Ausgangspunkt im SQLDeveloper ist jeweils die Zielinstanz.

Beispiel 1: von SERVICE nach INTERNET

create table WEB.WTR_UFZ
as select * from WEB.WTR_UFZ@testsystem

Beispiel 2: von INTERNET nach SERVICE

create table WEB.WTR_UFZ
as select * from WEB.WTR_UFZ@internet