Toon bijdragen

Deze sectie stelt je in staat om alle bijdragen van dit lid te bekijken. Je kunt alleen de bijdragen zien waar je op dit moment toegang toe hebt.


Topics - xvilo

Pagina's: [1] 2 3 ... 25
1
Tutorials / macOS Sierra: Symbolen rangschikken in de menubalk
« Gepost op: november 14, 2016, 01:25:56 pm »
Eindelijk, vanaf macOS Sierra is het eindelijk mogelijk om alle symbolen in de menubalk te verplaatsen. Bijna alle, want het symbool om het berichtencentrum te openen kan niet worden verplaatst.

Hierdoor kun je zelf de indeling van de menubalk bepalen en volledig rangschikken naar eigen inzicht. Voorheen was het maar beperkt mogelijk om symbolen te verplaatsen. Vooral apps van derde konden niet worden verplaatst, dat is vanaf nu verleden tijd.

Alle symbolen rangschikken in de menubalk

• Druk de cmd⌘ toets in
• Klik op het symbool dat je wilt verplaatsen
• Blijf de klik en cmd⌘ toets indrukken
• Sleep het symbool naar de gewenste positie
• Laat zowel de cmd⌘ toets als de klik los

Alle symbolen in de macOS menubalk rangschikken




Het symbool is nu verplaatst, herhaal dit voor alle symbolen die je wilt voorzien van een nieuwe locatie. Wil je een symbool verwijderen uit de menubalk dan kun je tijdens het verplaatsen het symbool naar beneden slepen tot ongeveer halverwege je scherm. Laat dan los om het symbool te verwijderen.

Let op, dit verwijderen kan vaak alleen maar voor standaard macOS symbolen. Om het symbool weer te activeren moet je de instellingen van de functie in Systeemvoorkeuren. Bijvoorbeeld: Het wifi-symbool kun je weer activeren via  ▸ Systeemvoorkeuren ▸ Netwerk ▸ Toon wifistatus in menubalk.

2
Scripttalen / https met fopen
« Gepost op: november 11, 2016, 04:11:40 pm »
Hallo,

Deze week ben ik bezig geweest met een server transitite van ubuntu 14.04+apache2+magento etc naar 16.04+nginx+php7.0-fpm+magento.
Nu halen wij een externe XML op via een https link maar op de nieuwe server krijgen wij de volgende error:
2016/11/11 16:00:31 [error] 21757#21757: *636 FastCGI sent in stderr: "PHP message: PHP Warning:  SimpleXMLElement::__construct(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /var/www/magento/snippets/kiyoh-xml.php on line 9.

Als ik in de geladen php.ini file kijk staat `allow_url_fopen` op `On` of `1` (mocht niet helpen), maar de https wrapper blijft 'geblokkeerd' om de bovenstaande reden.

Wat mis ik hier? Word dit ergens anders weer overgeschreven?

//xvilo

3
Tutorials / iOS gratis owncloud app
« Gepost op: augustus 04, 2016, 12:13:35 am »
In deze tutorial leg ik uit je de OwnCloud app voor iOS gratis krijgt. Deze kost normaal €0,99 euro. Geen groot bedrag, maar wij als echt Nederlanders willen natuurlijk het onderste uit de kan halen.

Wat is ownCloud


ownCloud is een veilige en flexibele oplossing voor het synchroniseren en delen van bestanden via de cloud. Alle bestanden zijn beschikbaar via PC, laptop, tablet en smartphone. De cloud software is gebruiksvriendelijk en eenvoudig te installeren. Ook is uw data overal ter wereld beschikbaar vanaf uw internet browser, tablet of telefoon.

ownCloud is vergelijkbaar met Dropbox of Google drive. Er is echter één belangrijk verschil: ownCloud installeer je op je eigen server of PC. Daardoor ben je dus niet afhankelijk van buitenlandse wetgeving en weet je altijd zeker dat er geen gekke dingen met je data gebeuren!

ownCloud iOS app gratis


Gelukkig is ownCloud helemaal open-source[/kop] op [url=https://github.com/owncloud]GitHub. Daar is dan dus ook de broncode van de iOS app te vinden. Wat nu mogelijk is, is dat je de iOS app repository te clonen op je desktop en vervolgens met behulp van een Mac en Xcode de app te sideloaden. Dit is mogelijk vanaf iOS9. Als je een geregistreerde developer bent bij Apple kun je hem ook daarmee ondertekenen en er opzetten, je hebt dan geen last van de restrictie\'s die het sideloaden zonder developer account met zich mee brengen.

Een tweede optie is om de app van een derde partij te gebruiken, sommigen zijn gratis, maar een aantal zijn betaald. Door dat ownCloud opensource is maken derde partijen soms ook hun \'eigen\' app\'s die een directe kopie van de originele app zijn. Een van deze kopieën is de iOS app van STACK. STACK is 1000GB gratis online opslag van TransIP voor het gemakkelijk bewaren, synchroniseren en delen van al je bestanden. De app van STACK is gratis te downloaden vanuit de app store. Vul vervolgens de URL en inloggegevens in van jouw OwnCloud installatie en je hebt de betaalde iOS app helemaal gratis. (Dan wel met een stack branding en een paar kleine aanpassingen).

Zie hier een screenshot van mij waarbij ik op de officiële ownCloud en Stack app op dezelfde server ben ingelogd!


Als je een vraag hebt kun je deze in de reactie\'s achterlaten!

4
Client-side / Manipuleren en plaatsen van <template> tag met javascript
« Gepost op: juli 30, 2016, 03:01:14 pm »
Hallo,

Nog een vraag mbt het zelfde project. Ik wil graag dat mensen extra form items kunnen toevoegen.
Ik maak daarom gebruik van de <template> tag met daarin de code.

Voordat de code kan worden geplaatst moet er wat dom manipulatie plaats vinden. Het is namelijk een form array, en de items moeten dan natuurlijk een nieuwe hogere index krijgen.

Mijn template tag:
<template id="phonetemplate">
<li class="user-card--info-list__item">
<span>
<input placeholder="Type"  type="tel">
</span>
<input placeholder="Phone">
</li>
</template>

Wat er moet gebeuren is dat elke input binnen de template tag de name, ne[0][] krijgen, waarbij ne een variable is en 0 de index.
Er staat er al één in de html met 0 dus hij moet vanaf 1 beginnen. Ik ben al zo ver gekomen met Javascript:
var count = 1;
function addField(ta,te,ne){
console.log("Target: "+ta+" Template: "+te+" Name: "+ne)
var parser      = new DOMParser ();
var content  = parser.parseFromString (document.getElementById(te).innerHTML, "text/html");
var elements = content.getElementsByTagName("input");
Array.prototype.forEach.call(elements, (el)=>{
el.setAttribute("name", ne+'['+count+'][]');
});
console.log("HIER: "+content);
var original = document.getElementById(ta).append(content.getElementsByTagName("li"));
count++;
}

Nu ontstaan er 2 problemenHet eerste probleem is dat bij console.log("HIER: "+content); de variable elements wel de juiste aangepaste name hebben, maar content zelf niet.

Het 2e probleem is dat als ik content probeer te plaatsen in de parent (in dit geval aangeduid met ta) dan krijg ik niet de html code er in, maar komt er als text "[object HTMLCollection]" te staan.

Kan iemand zo vriendelijk zijn om mij te helpen met de 2 problemen? Alvast bedankt!

Groet,

xvilo

EDIT:
Eerste probleem is al opgelost, mar het probleem met "[object HTMLCollection]" nog niet

EDIT2:
Dankje @Thumb voor je verlossende google resultaat!

De boel is opgelost :D

5
Client-side / Dynamisch laden van pagina. Popstate
« Gepost op: juli 30, 2016, 12:11:56 pm »
Hallo,

Op dit moment heb ik een klein scriptje gemaakt die het mogelijk moet maken om een internet pagina dynamisch te laten navigeren.
In principe werkt het nu redelijk. Als iemand op de juiste link klikt word er een ajax request gedaan naar de pagina, haalt de html op en replaced deze in #datacontainer.
Daar bij word ook de URL mee veranderd zodat als iemand hem zou kopiëren plakken hij gelijk bij de juiste pagina uit komt.

Maar het probleem wat je nu krijgt is dat als iemand de back en forward knoppen in de browser gebruikt er eigenlijk niks gebeurt omdat we niet een pagina zijn opgeschoven.
Dit is te ondervangen met window.onpopstate. Vervolgens naar de URL te kijken en dan weer de nieuwe/oude content in te laden.

Het probleem waar ik nu tegen aanloop is dat de popstate maar 1 keer werkt en daarna niet meer verder terug gaat. Weet iemand wat ik hier vergeet/mis doe? Het is getest in Safari 10 en Chrome 54 (Alle bij op MacOS 10.12).

Mijn javascript code:
if(Modernizr.history){
var links = document.getElementsByClassName("ajax-load")

Array.prototype.forEach.call(links, (el)=>{ el.addEventListener('click', function(e){e.preventDefault(); loadContent(this.href);})});

function loadContent(hrefs){
_link = hrefs;
history.pushState(null, null, _link);
getContent(_link);
return false;
};

function getContent(link){
var xhr = new XMLHttpRequest();
xhr.open('GET', link+"#datacontainer");
xhr.send(null);
xhr.onreadystatechange = ()=>{
var DONE = 4; // readyState 4 means the request is done.
var OK = 200; // status 200 is a successful return.

if (xhr.readyState === DONE) {
    if (xhr.status === OK){
    //xhr.responseText
console.log("Request was O.K. 🎉")
var parser      = new DOMParser ();
var responseDoc = parser.parseFromString (xhr.responseText, "text/html");
document.getElementById('datacontainer').innerHTML = parser.parseFromString (xhr.responseText, "text/html").getElementById('datacontainer').innerHTML;
    } else {
    console.log('Error 😭: ' + xhr.status); // An error occurred during the request.
    }
}
    };
}

window.onpopstate =  function() {
_link = window.location.href;
console.log('popstate: '+ _link);
loadContent(_link);
}
}

Onderaan is de
window.onpopstate
die dan vervolgens opnieuw de laadContent() functie uitvoert...

6
Server-side / Wordpress query post unix timestamp ACF
« Gepost op: juli 12, 2016, 05:01:08 pm »
Hi,

Ik ben al een tijdje bezig met een Wordpress website en heb de werking er van een beetje veranderd om wat meer flexibiliteit te creeeren. Een van de modules binnen het thema is een agenda/kalender module. De archive pagina laat een overzicht per dag zien welke evenementen er zijn.

In de oude situatie was het gewoon een custom field met de datum geformat als Y-m-d maar nu is dit veranderd naar een unix timestamp met tijd.

Mijn oude code kon queryen op posts voor een bepaalde dag. In dit geval vandaag...
<?php
        $today = date('Y-m-d H:i:s');
        $newdate = date('Y-m-d', strtotime($today . " +{$i} day"));
        $args = array(
                'numberposts' => -1,
                'post_type' => 'post_type_agenda',
                'meta_key' => 'begin_datum_en_tijd',
                'orderby'       => 'begin_datum_en_tijd',
                'meta_query' => array(
                            array(
                                'key' => 'begin_datum_en_tijd',
'value' => $newdate,
'compare' => 'LIKE'
    )
     )
        );
        $the_query = new WP_Query( $args );

Maar nu is de tijd ook in de timestamp dus kan ik niet meer vergelijken met LIKE
Hoe zorg ik er voor dat de unixtimestamp is word omgezet naar het Y-m-d formaat alvorens te vergelijken?


7
Client-side / Div fixed position tot einde container
« Gepost op: juni 13, 2016, 10:29:24 am »
Hi,

Ik zou graag willen hebben dat als je scrolled een bepaalde div fixed word als hij tegen de bovenkant van de viewport aankomt, maar op zijn plaats blijft aan de onderkant van de parent container...
Voorbeeld is: http://www.apple.com/nl/shop/buy-iphone/iphone6s/5,5-inch-display-64gb-spacegrijs
Als je dan het koop menu even helemaal door loopt en vervolgens scrolled zie je dat de product thumbnail in beeld blijft tot de gedetailleerde informatie begint.

Is dit op een makkelijke manier op te lossen?

8
Client-side / Gebruik van Structured Data (aka Rich Snippets)
« Gepost op: april 25, 2016, 06:45:31 pm »
Hi,

Ik heb een vraag over het gebruik van Structured Data. Ik heb een blog waar ik dit in heb toegepast op de volgende manier:
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "NewsArticle",
  "headline": "Cultuurshocks in China",
  "image": {
    "@type": "ImageObject",
    "url": "https://domein.nl/wp-content/uploads/2016/03/11015205_911641065525213_5687903657970397564_n.jpg",
    "height": 800,
    "width": 800
  },
  "datePublished": "2015-05-21T00:00:00+00:00",
  "dateModified": "2016-04-13T18:48:26+00:00",
  "author": {
 
"@type": "Person",
    "name": "Elsa Hendriks"
  },
   "publisher": {
    "@type": "Organization",
    "name": "Naam van Blog",
    "logo": {
      "@type": "ImageObject",
      "url": "https://domein.nl/wp-content/uploads/2016/04/xxxxxxxgooglelogo.png",
      "width": "750",
      "height": "290"
    }
  },
  "description": "<p>Afgelopen twee weken heb ik mijn vriend opgezocht in China. Ik verwachte al grote cultuurshocks tegen te komen. En ja hoor. Even naar het toilet was al een hele happening. Als jij China op je lijstje hebt staan om ooit te bezoeken dan deel ik hier graag mijn cultuurshocks waar je je op kan voorbereiden.</p>
"
}
</script>

Dit is gewoon goed en word ook door Google opgepakt (yay!)
Maar moet ik dit ook op de archive pagina's doen (overzichten waar meerder blogs staan)? En hoe kan ik dan een canonical achtige url doorgeven zodat Google weet dat het geen duplicate is...

9
Scripttalen / Google Maps API
« Gepost op: april 04, 2016, 11:27:51 am »
Hallo,

Voor een site gebruiken we al een tijdje de Google Maps Embed code. Lekker makkelijk en kan door iedereen gebruikt worden.
Het gaat hier om locatie's dus een voorbeeld code is:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2416.983585202091!2d5.745744016486077!3d52.71444147985146!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47c887ca13dce845%3A0x9d88395da316b0f3!2sJongerencentrum+De+Klos!5e0!3m2!1sen!2suk!4v1459715100065" width="400px" height="400px"></iframe>
En in dit geval zie je een info kaartje links boven in met de info, een marker en alle andere standaard info..


Maar omdat de kaart op een donkere achtergrond wordt weergegeven zijn deze kleuren niet echt mooi. Ik heb met veel pijn en moeite een een beter 'design' gemaakt:


Maar wat ik niet voor elkaar krijg is om op een makkelijke manier een marker naar zo'n place aan te maken in de map met alle info e.d. ook zou het handig zijn als die automatisch vanaf de iframe embed url gemaakt kan worden... dus: https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2416.983585202091!2d5.745744016486077!3d52.71444147985146!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47c887ca13dce845%3A0x9d88395da316b0f3!2sJongerencentrum+De+Klos!5e0!3m2!1sen!2suk!4v1459715100065

Wat ik nu heb is:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>maps</title>
<style>
#map{
width: 800px;
height: 600px;
margin: 0 auto;
display: block;
}
</style>
<!--
            Deze pagina werkt locaal zonder API key. Wil je hem testen op een server/domein, dan heb je
            wel een API Key nodig. Deze is gratis en kun je makkelijk verkrijgen:
            https://developers.google.com/maps/documentation/javascript/tutorial#api_key

Nadat je bent geregistreerd en de api key hebt moet je API_KEY_HIER vervangen met je API KEY.
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_GOOGLE_API_KEY&sensor=false"></script>
        -->
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
        <script type="text/javascript">
            google.maps.event.addDomListener(window, 'load', init);
       
            function init() {
                var mapOptions = {
                    zoom: 12,
                    center: new google.maps.LatLng(52.702707, 5.809450),
                    styles: [{"featureType":"all","elementType":"labels.text.fill","stylers":[{"color":"#ffffff"}]},{"featureType":"all","elementType":"labels.text.stroke","stylers":[{"color":"#000000"},{"lightness":13}]},{"featureType":"administrative","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"administrative","elementType":"geometry.stroke","stylers":[{"color":"#144b53"},{"lightness":14},{"weight":1.4}]},{"featureType":"landscape","elementType":"all","stylers":[{"color":"#08304b"}]},{"featureType":"poi","elementType":"geometry","stylers":[{"color":"#0c4152"},{"lightness":5}]},{"featureType":"road.highway","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"road.highway","elementType":"geometry.stroke","stylers":[{"color":"#0b434f"},{"lightness":25}]},{"featureType":"road.arterial","elementType":"geometry.fill","stylers":[{"color":"#000000"}]},{"featureType":"road.arterial","elementType":"geometry.stroke","stylers":[{"color":"#0b3d51"},{"lightness":16}]},{"featureType":"road.local","elementType":"geometry","stylers":[{"color":"#000000"}]},{"featureType":"transit","elementType":"all","stylers":[{"color":"#146474"}]},{"featureType":"water","elementType":"all","stylers":[{"color":"#021019"}]}]
                };
                var mapElement = document.getElementById('map');
                var map = new google.maps.Map(mapElement, mapOptions);
                // maakt de marker...
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(52.702707, 5.809450),
                    map: map,
                    title: 'Snazzy!'
                });
            }
        </script>
</head>
<body>
<div id="map"></div>
</body>
</html>

alvast bedankt!

10
Tutorials / SPF Records en Spam
« Gepost op: maart 28, 2016, 04:32:25 pm »
SPF (Sender Policy Framework) records is een protocol waarmee gecontroleerd wordt of een e-mail van de rechtmatige server komt. Je kunt als het ware aangeven vanuit welke server jouw e-mails horen te komen. Als er in het DNS systeem wordt vastgesteld dat een e-mail niet van deze server komt wordt het niet doorgelaten. Je beschermt je domeinnaam en e-mailadressen dus tegen spam misbruik.

Vaak wordt er gedacht dat SPF records spam stoppen. Dat is dus niet helemaal waar, het is één van de oplossingen voor spam. SPF is gecreëerd door enthousiaste vrijwilligers in 2003. Het is dus geen product of service dat je bij een bedrijf kunt kopen. Omdat het pas in 2003 gemaakt is, wordt het als een relatief jonge technologie beschouwd. Het is dan ook behoorlijk ingewikkeld als je weinig kennis hebt van e-mail protocollen. SPF records zijn overigens niet hetzelfde als Sender ID’s, ze bestrijden allebei hetzelfde probleem. De een is niet beter dan de ander, maar ze werken op een andere manier. Bij Sender ID wordt een e-mail eerst binnengehaald om hem te controleren op een combinatie van velden (From, Sender, Resent-From, en Resent-Sender). Bij SPF Records wordt alleen gecontroleerd op het veld: ‘from’ maar in de meeste gevallen is dit voldoende.

Hoe stel je een SPF Record in?


Om een SPF Record in te stellen heb je allereerst toegang nodig tot je DNS systeem. Het instellen kan per host verschillen maar met de volgende tips zou het overal moeten lukken:

1) Log in bij je host en selecteer het domein waarvoor je een SPF Record in wil stellen.
2) Zoek naar de functie ‘DNS beheer’
3) Vervolgens zorg je ervoor dat je de volgende instellingen aanhoudt (combinaties zijn mogelijk):

v=spf1 a ~all
Hiermee geef je aan dat de mail verstuurd mag worden vanaf de hostingserver van je domeinserver. ~all geeft aan dat alle mailservers in het record jouw mail mogen versturen. Alle mails die hier buiten vallen worden zo automatisch aangemerkt als spam.

v=spf1 mx ~all
Alle mails die van de server komen waarop je ook mails ontvangt worden toegelaten.

v=spf1 a:mijndomein1.nl a: mijndomein2.nl ~all
Alle mails vanaf de server mijndomein1 en mijndomein2 mogen verstuurd worden.

v=spf1 include:mijnprovider.nl ~all
Alle mails van je eigen provider mogen verstuurd worden.

Hoe controleer je vervolgens of je SPF Record goed is ingesteld?


Uiteraard zijn hier handige tools voor ontwikkeld. De meest gebruiksvriendelijke is mail-tester.com. Bij deze tool stuur je een e-mail naar het e-mailadres wat getoond wordt op je scherm. Direct na het versturen klik je op de knop om je score te controleren en te zien of alles goed staat ingesteld. Gelukkig is deze tool simpel opgebouwd en wordt alles in normaal Nederlands uitgelegd.

Wil je liever wat meer technische informatie zien? Dan raad ik de tool van port25.com aan, stuur simpelweg een lege e-mail naar check-auth@verifier.port25.com. En je krijgt binnen enkele minuten een e-mail terug met daarin het resultaat.

Good to know


Veel grote diensten, zoals Gmail, maar veel schadelijker ABN-AMRO en Rabobank, gebruiken nog steeds niet de volledige bescherming van SPF. Hierdoor is het mogelijk dat mensen nog steeds phishing-mails krijgen namens deze bedrijven. Daarnaast moeten de records exact goed zijn om bescherming te bieden; bij foute records zullen veel mailservers de e-mails automatisch weigeren.
(bron: Wikipedia)

11
Tutorials / Een remote toevoegen in GIT
« Gepost op: maart 27, 2016, 06:48:19 pm »
Om een nieuwe remote toe te voegen in git moeten wij gebruik maken van het git remote add commando in de map waar je repository is opgeslagen.

Het git remote add commando heeft 2 argumenten nodig:

Je krijgt dan bijvoorbeeld:
git remote add origin https://github.com/user/repo.git

git remote add origin https://github.com/user/repo.git
# Stel de remote in

git remote -v
# Check of de remote goed is ingesteld.
origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)


Troubleshooting


Je kunt een van de volgende fouten tegen komen bij het toevoegen van een remote.

Remote name already exsists
Deze fout betekent dat je een remote probeert toe tevoegen waarvan de naam al bestaat.

git remote add origin https://github.com/octocat/Spoon-Knife
fatal: remote origin already exists.

Om dit te fixen kun je:

  • Een andere naam gebruiken voor de nieuwe remote
  • De bestaande remote hernoemen
  • De bestaande remote verwijderen

12
Server-side / PHP jaar kalender met week nummers
« Gepost op: maart 15, 2016, 11:23:54 pm »
Hallo,

Ik ben op dit moment bezig met een jaar kalender. Nu heb ik die goed (danku internet). Maar ik krijg de week nummers er niet in in...
Mijn code:
<?php
$months=array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
$current_month=date('n');
$current_year=date('Y');;
$year=date('Y');
$current_day=date('d');
$month=0;?>
<div class="calendar row">
<div class="col-xs-12"><?php echo $current_year ?></div>
<?php for ($row=1; $row<=3; $row++) {
for ($column=1; $column<=4; $column++) {
echo '<div class="month col-xs-12 col-sm-9 col-md-4 col-lg-4">';

$month++;

$first_day_in_month=date('w',mktime(0,0,0,$month,1,$current_year));
$month_days=date('t',mktime(0,0,0,$month,1,$current_year));

// in PHP, Sunday is the first day in the week with number zero (0)
// to make our calendar works we will change this to (7)
if ($first_day_in_month==0){
$first_day_in_month=7;
}
echo '<table>';
echo '<th colspan="7">'.$months[$month-1].'</th>';
echo '<tr class="days"><td>Mo</td><td>Tu</td><td>We</td><td>Th</td><td>Fr</td>';
echo '<td class="sat">Sa</td><td class="sun">Su</td></tr>';
echo '<tr>';
for($i=1; $i<$first_day_in_month; $i++) {
echo '<td> </td>';
}
for($day=1; $day<=$month_days; $day++) {
$pos=($day+$first_day_in_month-1)%7;
$class = (($day==$current_day) && ($month==$current_month) && ($current_year==$year)) ? 'today' : 'day';
$class .= ($pos==6) ? ' sat' : '';
$class .= ($pos==0) ? ' sun' : '';

echo '<td class="'.$class.'">'.$day.'</td>';
if ($pos==0) echo '</tr><tr>';
}
echo '</tr>';
echo '</table>';
echo '</div>';
}
}?>
</div>
output:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
<head>
    <title></title>
</head>

<body>
    <div class="calendar row">
        <div class="col-xs-12">
            2016
        </div>

        <div class="month col-xs-12 col-sm-9 col-md-4 col-lg-4">
            <table>
                <tbody>
                    <tr>
                        <th colspan="7">January</th>
                    </tr>

                    <tr class="days">
                        <td>Mo</td>

                        <td>Tu</td>

                        <td>We</td>

                        <td>Th</td>

                        <td>Fr</td>

                        <td class="sat">Sa</td>

                        <td class="sun">Su</td>
                    </tr>

                    <tr>
                        <td></td>

                        <td></td>

                        <td></td>

                        <td></td>

                        <td class="day">1</td>

                        <td class="day sat">2</td>

                        <td class="day sun">3</td>
                    </tr>

                    <tr>
                        <td class="day">4</td>

                        <td class="day">5</td>

                        <td class="day">6</td>

                        <td class="day">7</td>

                        <td class="day">8</td>

                        <td class="day sat">9</td>

                        <td class="day sun">10</td>
                    </tr>

                    <tr>
                        <td class="day">11</td>

                        <td class="day">12</td>

                        <td class="day">13</td>

                        <td class="day">14</td>

                        <td class="day">15</td>

                        <td class="day sat">16</td>

                        <td class="day sun">17</td>
                    </tr>

                    <tr>
                        <td class="day">18</td>

                        <td class="day">19</td>

                        <td class="day">20</td>

                        <td class="day">21</td>

                        <td class="day">22</td>

                        <td class="day sat">23</td>

                        <td class="day sun">24</td>
                    </tr>

                    <tr>
                        <td class="day">25</td>

                        <td class="day">26</td>

                        <td class="day">27</td>

                        <td class="day">28</td>

                        <td class="day">29</td>

                        <td class="day sat">30</td>

                        <td class="day sun">31</td>
                    </tr>

                    <tr>
                        <td></td>
                    </tr>
                </tbody>
            </table>
        </div>

<!-- etc etc etc voor elke maand -->

        <div class="month col-xs-12 col-sm-9 col-md-4 col-lg-4">
            <table>
                <tbody>
                    <tr>
                        <th colspan="7">December</th>
                    </tr>

                    <tr class="days">
                        <td>Mo</td>

                        <td>Tu</td>

                        <td>We</td>

                        <td>Th</td>

                        <td>Fr</td>

                        <td class="sat">Sa</td>

                        <td class="sun">Su</td>
                    </tr>

                    <tr>
                        <td></td>

                        <td></td>

                        <td></td>

                        <td class="day">1</td>

                        <td class="day">2</td>

                        <td class="day sat">3</td>

                        <td class="day sun">4</td>
                    </tr>

                    <tr>
                        <td class="day">5</td>

                        <td class="day">6</td>

                        <td class="day">7</td>

                        <td class="day">8</td>

                        <td class="day">9</td>

                        <td class="day sat">10</td>

                        <td class="day sun">11</td>
                    </tr>

                    <tr>
                        <td class="day">12</td>

                        <td class="day">13</td>

                        <td class="day">14</td>

                        <td class="day">15</td>

                        <td class="day">16</td>

                        <td class="day sat">17</td>

                        <td class="day sun">18</td>
                    </tr>

                    <tr>
                        <td class="day">19</td>

                        <td class="day">20</td>

                        <td class="day">21</td>

                        <td class="day">22</td>

                        <td class="day">23</td>

                        <td class="day sat">24</td>

                        <td class="day sun">25</td>
                    </tr>

                    <tr>
                        <td class="day">26</td>

                        <td class="day">27</td>

                        <td class="day">28</td>

                        <td class="day">29</td>

                        <td class="day">30</td>

                        <td class="day sat">31</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

Gewenste output mét weeknummers wat ik niet voor elkaar krijg:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
<head>
    <title></title>
</head>

<body>
    <div class="calendar row">
        <div class="col-xs-12">
            2016
        </div>

        <div class="month col-xs-12 col-sm-9 col-md-4 col-lg-4">
            <table>
                <tbody>
                    <tr>
                        <th colspan="7">January</th>
                    </tr>

                    <tr class="days">
                    <td>&nbsp;</td>
                   
                        <td>Mo</td>

                        <td>Tu</td>

                        <td>We</td>

                        <td>Th</td>

                        <td>Fr</td>

                        <td class="sat">Sa</td>

                        <td class="sun">Su</td>
                    </tr>

                    <tr>
                    <td class="week">52</td>

                        <td></td>

                        <td></td>

                        <td></td>

                        <td></td>

                        <td class="day">1</td>

                        <td class="day sat">2</td>

                        <td class="day sun">3</td>
                    </tr>

                    <tr>
                    <td class="week">1</td>

                        <td class="day">4</td>

                        <td class="day">5</td>

                        <td class="day">6</td>

                        <td class="day">7</td>

                        <td class="day">8</td>

                        <td class="day sat">9</td>

                        <td class="day sun">10</td>
                    </tr>

                    <tr>
                    <td class="week">2</td>

                        <td class="day">11</td>

                        <td class="day">12</td>

                        <td class="day">13</td>

                        <td class="day">14</td>

                        <td class="day">15</td>

                        <td class="day sat">16</td>

                        <td class="day sun">17</td>
                    </tr>

                    <tr>
                    <td class="week">3</td>

                        <td class="day">18</td>

                        <td class="day">19</td>

                        <td class="day">20</td>

                        <td class="day">21</td>

                        <td class="day">22</td>

                        <td class="day sat">23</td>

                        <td class="day sun">24</td>
                    </tr>

                    <tr>
                    <td class="week">4</td>

                        <td class="day">25</td>

                        <td class="day">26</td>

                        <td class="day">27</td>

                        <td class="day">28</td>

                        <td class="day">29</td>

                        <td class="day sat">30</td>

                        <td class="day sun">31</td>
                    </tr>

                    <tr>
                        <td></td>
                    </tr>
                </tbody>
            </table>
        </div>

<!-- etc etc etc voor elke maand -->

        <div class="month col-xs-12 col-sm-9 col-md-4 col-lg-4">
            <table>
                <tbody>
                    <tr>
                        <th colspan="7">December</th>
                    </tr>

                    <tr class="days">
                        <td>Mo</td>

                        <td>Tu</td>

                        <td>We</td>

                        <td>Th</td>

                        <td>Fr</td>

                        <td class="sat">Sa</td>

                        <td class="sun">Su</td>
                    </tr>

                    <tr>
                    <td class="week">48</td>

                        <td></td>

                        <td></td>

                        <td></td>

                        <td class="day">1</td>

                        <td class="day">2</td>

                        <td class="day sat">3</td>

                        <td class="day sun">4</td>
                    </tr>

                    <tr>
                    <td class="week">49</td>

                        <td class="day">5</td>

                        <td class="day">6</td>

                        <td class="day">7</td>

                        <td class="day">8</td>

                        <td class="day">9</td>

                        <td class="day sat">10</td>

                        <td class="day sun">11</td>
                    </tr>

                    <tr>
                    <td class="week">50</td>

                        <td class="day">12</td>

                        <td class="day">13</td>

                        <td class="day">14</td>

                        <td class="day">15</td>

                        <td class="day">16</td>

                        <td class="day sat">17</td>

                        <td class="day sun">18</td>
                    </tr>

                    <tr>
                    <td class="week">51</td>

                        <td class="day">19</td>

                        <td class="day">20</td>

                        <td class="day">21</td>

                        <td class="day">22</td>

                        <td class="day">23</td>

                        <td class="day sat">24</td>

                        <td class="day sun">25</td>
                    </tr>

                    <tr>
                    <td class="week">52</td>

                        <td class="day">26</td>

                        <td class="day">27</td>

                        <td class="day">28</td>

                        <td class="day">29</td>

                        <td class="day">30</td>

                        <td class="day sat">31</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

Ik hoop dat iemand mij hierbij wil helpen, ik heb me er al de hele avond over gebogen en weet het niet meer  :hmmm:

//xvilo

13
Tutorials / Zo pas je de Mac-helderheid en het volume extra nauwkeurig aan
« Gepost op: maart 12, 2016, 05:22:06 pm »
Op het toetsenbord van je Mac zijn vier knoppen aanwezig waarmee je het volume en de helderheid aan kunt passen. Zodra je een van deze toetsen indrukt verschijnt er een balk in beeld met blokjes die aangeven hoe hard het volume is of hoe helder je scherm verlicht wordt. Als je extra nauwkeurig deze balk wilt bedienen, kun je met een simpel trucje ook slechts een kwart blokje toevoegen.

Op het toetsenbord van je Mac zijn vier knoppen aanwezig waarmee je het volume en de helderheid aan kunt passen. Zodra je een van deze toetsen indrukt verschijnt er een balk in beeld met blokjes die aangeven hoe hard het volume is of hoe helder je scherm verlicht wordt. Als je extra nauwkeurig deze balk wilt bedienen, kun je met een simpel trucje ook slechts een kwart blokje toevoegen.

Zeker als je naar muziek luistert met een koptelefoon, is het verschil in volume tussen twee blokjes best groot. Een kwart blokje harder geluid zou in dat geval beter uitkomen, en hetzelfde geldt (in mindere mate) voor de helderheid van je scherm.

Zo pas je de helderheid en het volume met een kwart blokje aan



1) Houd de Shift en Option (alt) toetsen tegelijk ingedrukt.
2) Druk nu op een knop om het volume of de helderheid te verhogen of verlagen.
3) In de balk die nu in beeld verschijnt zul je zien dat het witte blokje slechts voor een kwart gevuld is.

Als je nu zonder andere toetsen ingedrukt te houden weer de volume- of helderheidsknoppen indrukt zal hij automatisch een volledig blokje vullen. Met dit trucje kun je het scherm van je Mac donkerder maken dan eerst het geval was, zonder daar een aparte app voor te installeren.

Vooral het lichtjes wijzigen van het volume zal voor veel mensen een uitkomst zijn. Ik luister regelmatig naar muziek met een koptelefoon, en ben dan genoodzaakt om het eerste blokje te kiezen om niet teveel afgeleid te worden, omdat twee blokken te hoog is. Een volume van anderhalf blokje is in dat geval perfect.

14
Tutorials / Handmatig je SSH Keys genereren in Mac OS X
« Gepost op: januari 27, 2016, 10:57:05 pm »
In deze tutorial leg ik je uit hoe je in OS X een SSH key kunt genereren met behulp van de Terminal applicatie. Hiermee kun je bijvoorbeeld password-less inloggen op je server of computer via een SSH-verbinding.

Over Terminal


De Terminal geeft jou een tekst based command line interface (CLI) tot de Unix shell van OS X.

Om OS X Terminal te openen volg je deze stappen
1. In Finder kies Hulpprogramma’s via het Ga menu.

2. Zoek hier naar de Terminal applicatie in het hulpprogramma’s venster.

3. Dubbel klik op Terminal.

Terminal opent een venster met de command line prompt en geeft de naam van je computer en gebruiker weer.

Genereer een SSH key


Een SSH Key bestaat uit een 2 bestanden (key pair). De ene is jouw private key, DIE JE NOOIT MOET DELEN MET IEMAND. De ander is je public key. Je hebt een public key nodig om in te kunnen loggen op je server of computer via SSH. Wanneer je je SSH keys genereert gebruik je ssh-keygen om je keys op een veile plek op te slaan.

Om SSH keys te genereren volg je deze stappen
1. Voer het volgende commando in Terminal uit:
ssh-keygen –t rsa
Dit start het proces om de keys te genereren. Wanneer je dit uitvoert vraagt ssh-keygen waar je de keys wilt opslaan.

2. Druk op ENTER om hem op de standaard locatie op te slaan (~/.ssh/). ssh-keygen zal je nu om een passphrase vragen.

3. Voer je passphrase in. Je kunt ook direct op ENTER drukken om geen wachtwoord te gebruiken. DIT IS NIET AANGERADEN!
LET OP: Er word je gevraagd om je passphrase nogmaals in te voeren ter bevestiging.

Nadat je dit hebt gedaan maakt het systeem je key pair aan. Dit kan de volgende output hebben:
Your identification has been saved in /Users/myname/.ssh/id_rsa.
Your public key has been saved in /Users/myname/.ssh/id_rsa.pub.
The key fingerprint is:
ae:89:72:0b:85:da:5a:f4:7c:1f:c2:43:fd:c6:44:38 myname@mymac.local
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|         .       |
|        E .      |
|   .   . o       |
|  o . . S .      |
| + + o . +       |
|. + o = o +      |
| o...o * o       |
|.  oo.o .        |
+-----------------+

Jouw private key is nu opgeslagen in het id_rsa bestand in the .ssh map en word gebruikt om je public key te verifiëren.

NOGMAALS: DEEL NOOIT JE PRIVATE KEY MET IEMAND ANDERS

Je public key is opgeslagen in het bestand id_rsa.pub. Deze kun je gebruiken om in te stellen op de server of andere computer.

15
Tutorials / Installeer een Spigot Minecraft server op Ubuntu 14.04 and 14.10
« Gepost op: januari 15, 2016, 03:58:21 pm »

DEZE TUTORIAL IS WIP


Wij gaan ook de Spigot Minecraft server comilieren (1.8.3 op het moment van schrijven) zodat je alle bukkit plugins óók kunt gebruiken!

Voorbereiding


  • Zorg er voor dat alles up-to-date is.
    • sudo apt-get update && sudo apt-get upgrade.
  • Installer GIT en Java.
    • sudo apt-get install git openjdk-7-jre-headless.
  • Voer java -version om er zeker van te zijn dat Java goed is geinstallerd. Je zult iets te zien krijgen als:
java version \"1.7.0_75\"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
  • Als je een IP tables firewall hebt aanstaan, voeg dan een exception toe aan je iptables.
    • sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT.
    Als je Minecraft op een andere poort wilt gebruiken, pas die aan. Gebruik je een andere firewall, configureer dan die.

Maak een Minecraft gebruiker


  • Maak een Minecraft gebruiker:
    • sudo adduser minecraft.
  • Login als de Minecraft user:
    • sudo su - minecraft.

Installeer Spigot


Download en compileer Spigot:
mkdir build
cd build
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar


Als de bouw klaar is, verplaats dan de resulterende .jar file naar je server map
mkdir ../server
cd ../server
mv ../build/spigot-1.*.jar spigot.jar


Wij gaan een paar scripts maken die er voor zorgen dat je server altijd aan is!
Bestand: /home/minecraft/server/wrapper.sh
#!/bin/bash
cd /home/minecraft/server;

java -XX:MaxPermSize=128M -Xms512M -Xmx900M -jar spigot.jar

Maak het bestand uitvoerbaar:
chmod +x /home/minecraft/server/wrapper.sh

Start SpigotMC voor de eerste keer:
java -Xms1024M -Xmx1024M -jar spigot.jar

Hij zal stoppen met het bericht
[INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.


Open het bestand eula.txt en zet de variable op true
Bestand: /home/minecraft/server/eula.txt
By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Fri Apr 17 17:02:15 UTC 2015
eula=true

Configureer SpigotMC om te starten bij boot


Ga uit de minecraft user:
exit

Open /etc/rc.local als root user of met sudo en voeg de volgende regel toe voor exit 0
su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh"
Deze regel zorgt er voor dat bij reboot er een screen sessie voor de gebruiker Minecraft word aangemaakt, hierin word SpigotMC gedraait.

Handmatig Spigot starten:
sudo su -l minecraft -c "screen -dmS minecraft /home/minecraft/server/wrapper.sh"
Om in het console te komen typ je screen -r als de minecraft user. (Let op: als je su gebruikt om als de user te in te loggen moet je eerst script /dev/null runnen voor dat je kunt attachen op de screen)

Om admin comando's te runnen moet je eerst op gebruikersnaam in het console in typen! Veel plezier met je nieuwe minecraft server

Pagina's: [1] 2 3 ... 25