bei dem Versuch einen Mandanten zu kopieren, bricht das Script bei den Templates mit folgender Meldung ab:
Vielleicht hat jemand eine Idee?Standard
Newsletter
$db->Record[3] is not set
tried to change table :con_template
Gruß
SIL
Code: Alles auswählen
// change $db Record by name
//
// modify values of $db record by name
// $table specifies the table name
// $valueArray must be an Array with
// syntax $valueArray["fieldname"] = "new value";
//
// @author horwath@dayside.net
function changeDbRecord($table, $valueArray) {
    global $db, $db2;
    // $db2 muss hier verwendet werden !!
    $values = $db2->metadata($table);
    // get field names and position
    $pos = 0;
    foreach ($values as $key) {
        $thisPosition[$key["name"]] = $pos;
        $pos++;
    }
    if ($pos==0) {
        echo "no field names found in table";
        die();
    }
    // modify $db->Record[]
    foreach ($valueArray as $name => $value) {
        if (!isset($thisPosition[$name])) {
            echo "sorry this $name does not exist in definied table<br>\n";
            echo "available fields in table: <b>".$table."</b><br>\n";
            echo "<pre>";
            print_r($thisPosition);
            echo "</pre>";
            die();
        } else {
            if (!isset($db->Record[$thisPosition[$name]])) {
               echo "no value stored in \$db->Record[".$thisPosition[$name]."]<br>";
               echo "you should check table: '".$table."' ,field:'".$name."'<br>";
               echo "skipping setting value to: '".$value."'<br>";
               echo "DB Record:";
               echo "<pre>";
               print_r($db->Record);
               echo "</pre>";
            } else {
               // change field value
               $db->Record[$thisPosition[$name]] = $value;
            }
        }
    }
}Da kann ich emergence nur zustimmen, ich mache es genau auf diese Weise.emergence hat geschrieben: ein server übergreifendes kopieren auf basis dieses scripts
da würd ich einfach nur empfehlen einen dump(test server) ohne die tabellen con_code und con_client zu erzeugen und beim server(live server) einzuspielen...
Code: Alles auswählen
// read out next free id
function getSequenceId($table) {
    global $db2, $cfg;
    $sql= "SELECT nextid FROM ".$cfg['sql']['sqlprefix']."_sequence"." where seq_name = '$table'";
    $db2->query($sql);
    if ($db2->next_record()) {
        return ($db2->f("nextid") + 1);
    } else {
        msg($table,"missing in con_sequence");
        return 0;
    }
}http://www.contenido.org/forum/viewtopi ... 3416#93416Gugro hat geschrieben:Gibt es eine funktionsfähige Version für 4.6.x ??