altRobots
/robotigs/icons/actuator.pngActuatoren
/robotigs/icons/printboards.pngAlgemeen
/robotigs/icons/chassis.pngChassis
/robotigs/icons/florigs.pngFlorigs
/robotigs/icons/interfacing.gifInterfacing
/robotigs/icons/microphone_icon.pngMuziek
/robotigs/icons/musicKey_icon.pngMuzikanten
/robotigs/icons/shield.pngSchildjes
/sys/icons/sensors.pngSensors
/robotigs/icons/languages.pngTalen
/robotigs/icons/battery.pngVoedingen
/sys/icons/microController.pngµControllers
altContact
PostgreSQL"); echo ("  "); } ?>  "); /* echo (""); echo (" "); //Show pencil as button */ ?> alt  

Deze pagina is verouderd. Ga naar de vernieuwde pagina.

"); $counter = 0; $aantal = str_word_count($pict_list, 0, "0123456789"); $lijst = str_word_count($pict_list, 1, "0123456789"); while($counter < $aantal){ $pictkey = $lijst[$counter]; $qryy1 = ("SELECT * FROM illustrations WHERE ill_id = $pictkey ;"); $resulty1 = pg_query($con1, $qryy1); while($row = pg_fetch_array($resulty1)){ //Fields accesible by their name foreach( $row AS $key => $val ){ $$key = stripslashes( $val ); } } $image = ("/robotigs/documentatie/plaatjes/$ill_name"); $pictfull = str_replace('_small', '', $image); //Pictfull=biggest version $alt = ("Just wait till your 57...."); $txtname = get_txt($con1, 18, $koekje[2], $ill_id); //Robot illustrations subtitles echo (""); echo (''. $alt .'
'); $nummer = $counter + 1; $txtAfb = get_txt($con1, 9, $koekje[2], 3865); //Pic Afb if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo ("$txtAfb $nummer: "); echo ("$txtname"); echo ("
"); echo ("Ontkoppelen "); if ($counter==0){ echo ("Up "); }else{ echo ("Up "); } if ($nummer == $aantal){ echo ("Down"); }else{ echo ("Down"); } }else{ //Else of if Meaning the current useer is logged in echo ("$txtAfb $nummer: $txtname"); } echo ('

'); //End of this picture $counter++; //Prepair for next picture } echo (''); //All pictures are printed } //End of if there are 1 or more pictures to be printed ---------------------- ?>

Vorige: Apache2 Home Volgende: PHP

PostgreSQL (wiki, homepage) is een zeer krachtige database.
  • Diversen
  • Voor het database management volgen we eerst sudo apt-get install pgadmin3. Dit kan nu worden gestart met pgadmin3. Hiermee kan nu op de localhost worden ingelogd in de database.

    1. postgresql.conf
    2. Default luistert PostgreSQL enkel naar aanvragen van de localhost. Dit is voldoende om PostgreSQL te kunnen installeren. Wij willen echter administratie kunnen voeren van zowel ons eigen netwerk als ook van buitenaf. Om te luisteren naar alle aanvragen doe:
      sudo gedit /etc/postgresql/11/main/postgresql.conf
      Voeg daar in op de juiste plaats:
      listen_addresses = `*`
      Let op dat bovenstaande regel niet rechtstreeks kan worden gekopieerd omdat de enkele haakjes niet kloppen. Na een:
      sudo service postgresql restart
      zal de server naar alle inkomende aanvragen luisteren.

    3. pg_hba.conf
    4. Het pg_hba.conf bestand regelt de toegang tot de database (hba betekent host based authentication). Standaard kunnen enkel gebruikers op de localhost inloggen in de database. Dit is bijzonder veilig en onhandig voor het beheer. Default bevat pg_hba.conf de volgende regels:
      TYPE    DATABASE        USER            ADDRESS                 METHOD
      local   all             all                                     peer
      host    all             all             127.0.0.1/32            md5
      host    all             all             ::1/128                 md5
      local   replication     all                                     peer
      host    replication     all             127.0.0.1/32            md5
      host    replication     all             ::1/128                 md5
      
      Wijzig de bovenstaande bestaande configuratie niet want die is al tot een minimum beperkt. Voeg enkel regels toe met:
      sudo gedit /etc/postgresql/11/main/pg_hba.conf
      Om alle gebruikers op ons lokale netwerk toe te staan voeg de onderstaande regel toe aan het einde:
      # Toegevoegd zodat machines van het eigen lokale netwerk kunnen inloggen 
      host    all             all             192.168.2.0/24          trust
      
      Daarentegen is de onderstaande regel gelijk aan het openzetten van alle deuren:
      # Toegevoegd zodat machines altijd en overal contact kunnen maken
      host    all             all             all                     trust
      Na een
      sudo service postgresql restart
      worden de veranderde instellingen actief.

      Note 1: Remote TCP/IP connections will not be possible unless the server is started with an appropriate value for the listen_addresses configuration parameter, since the default behavior is to listen for TCP/IP connections only on the local loopback address localhost.

      Note 2: Since the pg_hba.conf records are examined sequentially for each connection attempt, the order of the records is significant. Typically, earlier records will have tight connection match parameters and weaker authentication methods, while later records will have looser match parameters and stronger authentication methods. For example, one might wish to use trust authentication for local TCP/IP connections but require a password for remote TCP/IP connections. In this case a record specifying trust authentication for connections from 127.0.0.1 would appear before a record specifying password authentication for a wider range of allowed client IP addresses.

  • Installatie PostgreSQL
  • Er bestaat een uitgebreide uitleg van de installatie onder Ubuntu (Ubuntu en Digital Ocean). Het volgende is een samenvatting. Doe in een terminalvenster:
    1. sudo apt update
    2. Dit brengt alle bestaande programma`s op de laatste stand.
    3. sudo apt install postgresql postgresql-contrib
    4. Installeert de meest actuele versie van PostgreSQL. Op dit moment psql (PostgreSQL) 11.1 (Ubuntu 11.1-3.pgdg18.04+1) feb 2019 (psql -V).
      Verdere utilities worden geinstalleerd met: apt-cache search postgres. Mei 2018 versie 10.3-1 geïnstalleerd (psql -V).
    5. sudo -u postgres psql template1
    6. Voorbereiding password aanmaken. Wijzig het password en sla het op.
      • quit Verlaat template1
      • sudo -u postgres createdb data Maakt een database aan
      • sudo nautilusNodig om een restore uit te voeren
      • Restore pgsqldatabu from the backup to /var/lib/postgresql/
      • Close Nautilus
      • sudo -u postgres psql -d template1 -f /var/lib/pgsql/pgsqldatabu
      Deze procedure heeft de data teruggezet in de database en deze ook geactiveerd. De database is nu klaar voor gebruik.

  • Upgrade PostgreSQL
  • Kijk op de homepage van PgSQL voor de laatste release. Voor de geïnstalleerde release kijk met: psql -V
    1. Huidige versie
    2. psql -Vpsql (PostgreSQL) 11.1 (Ubuntu 11.1-3.pgdg18.04+1) feb 2019. Deze versie wordt ondersteund tot 9 november 2023, final release. Kijk op de homepage van PgSQL voor de laatste release.
    3. Upgrade
    4. Nog documenteren in dit systeem. Major upgrades (bijvoorbeeld van 10 naar 11) zijn arbeidsintensief en vormen een klein risico.
      1. Maak een backup
      2. Maak een backup van de PostgreSQL database. Dit is altijd verstandig maar was bij de upgrade van 10 naar 11 eigenlijk niet nodig omdat hij met dezelfde dataset verder kan werken.
        sudo -u postgres pg_dumpall -p 5432 > /var/www/html/login/backup/pgsqldatabu
      3. Upgrade
      4. Voordat een upgrade wordt uitgevoerd moet de database tijdelijk worden stopgezet.
        sudo service apache2 stop
        sudo apt-get install postgresql-11
        sudo service apache2 start

Vorige: Apache2 Home Volgende: PHP

$val ){ $$key = stripslashes( $val ); } $jaar = substr($changeddate,0,4); $maand = substr($changeddate,5,2); $dag = substr($changeddate,8,2); $lastupdate = ("$jaar $maand $dag"); $prtsrttxt = get_txt($con1, 26, 1, $idsrtodd); $jaar = substr($createddate,0,4); $maand = substr($createddate,5,2); $dag = substr($createddate,8,2); $create_stamp = ("$dag $maand $jaar"); //GENERAL INFO FOR EVERY USER ************************************************** echo ("

"); echo (""); if ($codetext) { //Code like KY-026 or NA-41 echo (""); } //End of if ($codetext) $tmp = get_txt($con1, 9, $koekje[2], 3741); //Fieldname at screen if ($prijseurinclbtw > 0){ //Show price indication $prijs_formatted = number_format($prijseurinclbtw / 100, 2, ',', '.'); echo (""); echo (""); } //End of if ($prijseurinclbtw > 0) if ($sketchtext) { //Link to OWN SOFTWARE $tmp = get_txt($con1, 9, $koekje[2], 3738); //Fieldname at screen echo (""); } //End of if ($sketchtext) $tmp = get_txt($con1, 9, $koekje[2], 3744); //Fieldname at screen if ($pinouttext) { //Pinout echo (""); } $tmp = get_txt($con1, 9, 1, 3735); //Fieldname at screen $tmp2 = get_txt($con1, 26, 1, $row4[16]); //Group name in its language echo (""); if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates $tmp = get_txt($con1, 9, $koekje[2], 3918); //Fieldname at screen LANGUAGE if ($row4[26] == 1) {$imgname = "nederland.png";} if ($row4[26] == 2) {$imgname = "deutschland.png";} if ($row4[26] == 3) {$imgname = "uk.png";} if ($row4[26] == 4) {$imgname = "france.png";} echo (""); $tmp = get_txt($con1, 9, $row4[27], 3919); //Fieldname at screen $statuskey = get_status_key($con1, $status); $tmp2 = get_txt($con1, 61, $koekje[2], $statuskey); //Fieldname at screen echo (""); } $tmp = get_txt($con1, 9, 1, 3966); //Fieldname at screen echo (""); echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3923); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate if ($koekje[0]>0 and $koekje[3]>0){ //User is logged in and translates echo (" (edit)"); } echo ("Algemene informatie test
"); $tmp = get_txt($con1, 9, $koekje[2], 3739); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //Class for colour }else{ //So you are not allowed to translate echo $tmp; //Show screenname of this field in user language } //End of If you want to translate this fieldname at screen echo (" "); if ($codelink) { echo ("$codetext"); }else{ echo ("$codetext"); } //End of if ($pinoutlink) echo ("
$tmp  "); if ($urlprijs){ echo ("€  $prijs_formatted"); }else{ echo ("€  $prijs_formatted"); } //End of if ($urlprijs > "") echo ("
$tmp  "); if ($sketchlink) { echo ("$sketchtext"); }else{ echo ("$sketchtext"); } //End of if ($sketchlink) echo ("
$tmp  "); if ($pinoutlink) { echo ("$pinouttext"); }else{ echo ("$pinouttext"); } //End of if ($pinoutlink) echo ("
$tmp  "); //MENU GROUP echo (""); echo ("$tmp2
$tmp"); echo ("flag.gif"); echo ("
$tmp  "); //STATUS echo ("$status $tmp2
$tmp  "); //LAST CHANGED $tmp = substr($changeddate, 0, 10); echo ("$tmp

"); return; //////////////////////////////////////////////////////////////////////////////// function get_status_key($con, $num){ $qry = ("SELECT id FROM status WHERE nr = $num ;"); $result = pg_query($con, $qry); $row = pg_fetch_array($result); return ("$row[0]"); } 0 AND software.rstid = 2 AND tblsystext.lanid = $koekje[2] AND tblsystext.txlid = 19 ORDER BY sftname ASC , controller ASC ;"); $result = pg_query($con1, $qry2); if (pg_num_rows($result)>0) { //Only if at least 1 program exists echo ('

'); echo (""); while($col = pg_fetch_array($result)){ $col[0] = ("$col[0]"); echo (""); echo (""); echo (""); if ($koekje[0] > 0 and $koekje[3]>0){ //User is logged in and translates echo (""); } echo (''); } echo ('
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3922); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$col[2]  $col[0]"); echo ("(Edit)
'); } ?> 0){ if ($header == 0) { echo ("

"); echo (""); $header++; } //End of if ($header == 0) echo (""); echo (""); } } if ($header > 0){ echo ("
"); //Header $tmp = get_txt($con1, 9, $koekje[2], 3879); //Fieldname at screen if ($koekje[3]=="1") { //If this user wants to translate then echo ("$tmp"); //If desired }else{ echo ("$tmp"); } //Else just show if no need to translate echo ("
$colbpp[2]"); //Show software van deze bot $qry=("SELECT software_basedir FROM farmbotversie WHERE id = $colbpp[0];"); $result = pg_query($con1, $qry); $col = pg_fetch_array ($result ,0); $dir1 = "/var/www/html/robotigs/software/$col[0]"; $arr1 = glob($dir1, GLOB_ONLYDIR); if (isset($arr1[0])){ $folder = $arr1[0]; $countertmp = 0; echo ("
    "); foreach (scandir($folder, 1) as $filename) { if ($filename<>"." AND $filename <>".."){ if ($countertmp == 0){ $countertmp++; } //End of if ($countertmp == 0) $tmp = "/"; $dir = substr($folder, 14) ."/"; $link = $tmp .$dir .$filename; $showname = substr($filename, 0 ,-4); echo ("
  • "); echo "$showname"; echo ("
  • "); } //End of if ($filename<>"." AND $filename <>".."){ } //End of foreach (scandir($folder, 1) as $filename) echo ("
      "); } //End of if (isset($arr1[0])) echo ("
"); } ?>
Warning: include(/var/www/html/robotigs/includes/wishlistperpart.php): Failed to open stream: No such file or directory in /var/www/html/robotigs/includes/parts_header.php on line 128

Warning: include(): Failed opening '/var/www/html/robotigs/includes/wishlistperpart.php' for inclusion (include_path='.:/usr/share/php') in /var/www/html/robotigs/includes/parts_header.php on line 128