Seite 2 von 2

Verfasst: Mi 24. Aug 2005, 09:43
von sandra07
Hallo zusammen

Ich muss das Thema leider nochmals aufgreifen. Habe die Lifetime erhöht im Backend auf 2 Stunden (conlib/local.php), bei mir geht es auch problemlos. Aber mein Kunde schmeisst es anscheinend immer wieder raus, was mir auch unerklärlich ist. Danach ist der Artikel natürlich gesperrt und die con_inuse kann er natürlich nicht selber leeren.

Nun habe ich gesehen, dass es möglich ist, diese Blockierung rauszunehmen. Das wäre eine gute Möglichkeit, denn er ist der einzige, der die Website bearbeitet. Ich brauche also diese Blockierung nicht.

Auf der Thilo-Sommer Website http://www.thilo-sommer.de/PHPMyFAQ/ind ... =5&lang=de habe ich folgendes gefunden:
Alternativ kannst Du auch in Contenido eingreifen und das Locking umgehen. Allerdings verlierst Du damit auch die Funktion, daß Artikel während der Bearbeitung durch einen Redakteur für andere Redakteure gespeert ist.

Dazu ist es notwendig, daß die Funktionen lock() und unlock() in der conlib/db_mysql.inc sofort true zurück liefern. Hier ein Auszug aus der Datei:

Code: Alles auswählen

 /* public: table locking */
  function lock($table, $mode = "write") {
    return true; // wg. STRATO
   
    $query = "lock tables ";
    if (is_array($table)) {
      while (list($key,$value) = each($table)) {
        if (!is_int($key)) {
        // texts key are "read", "read local", "write", "low priority write"
          $query .= "$value $key, ";
        } else {
          $query .= "$value $mode, ";
        }
      }
      $query = substr($query,0,-2);
    } else {
      $query .= "$table $mode";
    }
    $res = $this->query($query);
   if (!$res) {
      $this->halt("lock() failed.");
      return 0;
    }
    return $res;
  }
  function unlock() {
    return true; // wg. STRATO
    $res = $this->query("unlock tables");
    if (!$res) {
      $this->halt("unlock() failed.");
    }
    return $res;
  }
Kann mir jemand weiterhelfen? Habe doch ein wenig Respekt hier mit wahrscheinlich zu wenig PHP-Kenntnissen einzugreifen.

Vielen Dank!

Verfasst: Mi 24. Aug 2005, 09:55
von timo
ähm LOCK TABLES hat mit der Sperrung der Artikel rein gar nichts zu tun...

Verfasst: Mi 24. Aug 2005, 10:23
von sandra07
Aha, was hab ich denn da falsch verstanden? Wie muss ich denn diese Aussage verstehen?

"Allerdings verlierst Du damit auch die Funktion, daß Artikel während der Bearbeitung durch einen Redakteur für andere Redakteure gespeert ist. "

Wie kann ich denn diese Artikelsperrung (in Bearbeitung) rauskriegen?

Besten Dank

Verfasst: Mi 24. Aug 2005, 13:24
von Beleuchtfix
Übrigens neues Einloggen eines Users nützt direkt nichts, da auch die Session abgespeichert ist, und er garantiert eine neue Session bekommt.

Gruß
Florian

Verfasst: Mi 24. Aug 2005, 13:35
von sandra07
Kann das sein, das noch keine Lösung in Sicht ist, zumindest für die Contenido Vers. 4.4.5? In 4.5 sollte dieses Problem ja nicht mehr auftreten.

Habe nun im ganzen Forum rumgesucht und nichts gefunden, was ohne Datenbankzugriff die Artikel wieder freigibt ...

Niemand eine Idee? :cry:

Verfasst: Mi 24. Aug 2005, 13:47
von Beleuchtfix
Schau mal in mein Modul con_code_delete
http://contenido.org/forum/viewtopic.ph ... ode+delete

Wenn du dann

Code: Alles auswählen

 $sql = "delete from ".$cfg['tab']['code']; 

Code: Alles auswählen

 $sql = "delete from ".$cfg['tab']['inuse'];

änderst und jeweils con_code im Text dur con_inuse änderst, kannst du es auch vom backend aus machen.

Viel Erfolg
Florian

Verfasst: Mi 24. Aug 2005, 15:33
von sandra07
Ich hatt wohl Tomaten auf den Augen, hab das Modul im Forum nicht gesehen.

Sorry und vielen Dank, super Modul und es klappt! :D

Verfasst: Mi 24. Aug 2005, 15:36
von timo
sandra07 hat geschrieben:"Allerdings verlierst Du damit auch die Funktion, daß Artikel während der Bearbeitung durch einen Redakteur für andere Redakteure gespeert ist. "
Das ist einfach eine falsche Aussage im FAQ-Eintrag.

Verfasst: Mi 24. Aug 2005, 16:01
von emergence
timo hat geschrieben:Das ist einfach eine falsche Aussage im FAQ-Eintrag.
ich hab den satz entfernt...