Webprofis is een Forum waarin je vragen kunt stellen die webgerelateerd zijn. Heb je vragen over of problemen met je Webpagina, HTML, CSS, Javascript, PHP of andere client of serverside scriptingtalen? Stel ze dan gerust op dit forum. Op dit forum zijn een aantal vrijwilligers actief die u graag met uw vragen willen helpen en u waar mogelijk een passend antwoord aanbieden. Hebt u zelf veel ervaring en kennis met betrekking tot het bovenstaande? U bent van harte welkom om uw kennis met anderen te delen!

We hopen dat eenieder op dit Forum een leerzame ervaring mag opdoen.

Team Webprofis

Upgrade eigen cms

in CMS Posts: 732
Hoe kun je eenvoudig vanuit een cms (update fucntie) er voor zorgen dat in een cms bijvoorbeeld de functions.php wordt geupdate.
Dat hij bijvoorbeeld de functions.php vanaf een adres download, en dan een upgrade doet uitvoeren.

Nu moet ik veel handmatig doen bij diverse domeinen die met het cms werken, maar stel er is een update dan krijgt de persoon een melding klikt op update en de rest gaast va zelf.

Suggesties zijn welkom,.
If it's not fun, you're not doing it right!

Reacties

  • bewerkt wo 14 okt 2015
    PMPosts: 415
    Nog nooit gedaan of hoeven doen, dus dit is maar een eerste hersenspinsel van me!

    Je zou sowieso moeten aangeven/ontdekken wanneer een file een update is of moet krijgen.
    Dus je zult in je functions.php een stukje text moeten hebben die dit aangeeft.
    Bijv:

    <?php
    //DO NOT EDIT ANYTHING IN THIS FILE BLAH
    //functions.php version ~2~
    $version = 2;

    //etc
    Je weet nu locaal al door gewoon $version uit te lezen, dat de huidig versie 2 is.
    Nu moet je nog weten of er een update is, dus je zou naar jouw server een request moeten doen (fopen, fread of file get contents) en daarna bv middels een preg match de waarde tussen de tildes te vinden ~2~

    Zodra de huidige dus lager is, de locale functions.php updaten met (fwrite) het resultaat van de fopen/fread of file_get_contents.

    Nu wil je natuurlijk ook niet dat er elke keer een request en preg_match plaatsvind, dus je zult wel iets moeten inbakken dat dit pas gebeurd zodra je "check for updates" aanklikt ;-)

    Nogmaals, dis is maar een eerste hersenspinseltje :p
  • PMPosts: 732
    Momenteel ben ik zover dat er via een klik op een button op een domein wordt gekeken in een file met daar in vermelde versies.
    Deze versies worden door middel van een functie vergeleken met de huidige versie.
    Indien er een nieuwe versie beschikbaar is wordt deze als een versie.zip gedownload en weggeschreven in een update map.

    Tevens komt er als vermelding dat de update is gedownload, en indien alles succesvol verloopt wordt er een upgrade button weergegeven.

    Tot heden werkt alles goed.

    Alleen nu zit ik juist even te kijken hoe ik het beste die upgrade kan uitvoeren?

    Dacht zelf, als men op upgraden klik dat er een functie wordt uitgevoerd die het zip bestand doet uitpakken.
    In dit zip bestand staat dan een upgrade.php waar de betreffende updates in worden uitgevoerd, denk aan het overschrijven van een bepaald bestand.

    Hoe zou ik nu het beste die upgrade.php kunnen uitvoeren ?

    Is volgende mogelijk en realistisch:


    function upgrade( $version ) {
    $zip = zip_open( $path , 'update-'.$version.'.php' );
    if( file_exists( $path, 'upgrade.php' ) {
    // En dan hier de upgrade.php uitvoeren ?
    }
    }
    If it's not fun, you're not doing it right!
  • Nu ben ik niet zo van code's schrijven en daarom maak ik graag gebruik van Joomla. Deze heeft, net als Wordpress, een automatische update melder. Na de mededeling is het dan klikken op de knop Updaten en Joomla word bijgewerkt tot de laatste versie.
    Nu is Joomla gratis dus kan je niet daarin kijken hoe zij de updatefunctie hebben gecodeerd?
    Dekjam website techniek
    http://www.dekjam.nl
    KvK: 57623503
  • PMPosts: 732
    Ik maak liever mijn eigen cms omdat ik dan zelf kan bepalen wat ik wel en niet wil, en een groot nadeel als je iets extra's wilt dan zit je weer met plugins van derde waar je geen invloed op hebt.

    Bv. die update melder loopt op de achtergrond zonder dat je hier iets op kan inbrengen.
    Een update knop, dan kan de gebruiker zelf bepalen of hij wil updaten ;)

    Ik probeer het eenvoudig en doeltreffende te houden, daarom liever mijn eigen cms'sje
    If it's not fun, you're not doing it right!
  • Hij zegt ook niet dat je het moet overnemen, maar kijken hoe hun het doen om er evt idee??n uit op te doen.
  • PMPosts: 732
    Verkeerd gelezen :( "excuus Dekjam"

    Maar is alweer geregeld, en van het een komt het ander.
    Upgraden leuk werkt goed, maar tja nu eerste backup maken ;)

    En zo zit je dan weer vastgehouden aan je stoel achter de monitors :)
    If it's not fun, you're not doing it right!
Login of Registreer om te reageren.