2015 m. rugsėjo 24 d., ketvirtadienis

Unikalūs SEO URL / SLUG

tarkime, jūs formuojate straipsnių URL iš straipsnių antraščių. Kyla poreikis išvengti vienodų URL jei bus du tokie pat straipsniai, pvz.: 'test-slug-1', 'test-slug-2' and 'test-slug-3'

Tam pagelbės funkcija

$slug = preg_replace("/-$/","",preg_replace('/[^a-z0-9]+/i', "-", strtolower($title)));
Just hit the database once, grab everything at once, chances are that's the biggest bottleneck.
$query = "SELECT * FROM $table_name WHERE  $field_name  LIKE '".$slug."%'";
Then put your results in an array (let's say $slugs)
//we only bother doing this if there is a conflicting slug already
if(mysqli_num_rows($result) !== 0 && in_array($slug, $slugs)){
    $max = 0;

    //keep incrementing $max until a space is found
    while(in_array( ($slug . '-' . ++$max ), $slugs) );

    //update $slug with the appendage
    $slug .= '-' . $max;
}
We use the in_array() checks as if the slug was my-slug the LIKE would also return rows such as
my-slug-is-awesome
my-slug-is-awesome-1
my-slug-rules
šaltinis: http://stackoverflow.com/questions/15971685/creating-unique-page-title-slugs-php

2015 m. rugpjūčio 28 d., penktadienis

php image classes

https://github.com/claviska/SimpleImage     php 5.3 + GD
http://imagine.readthedocs.org/en/latest/index.html php 5.3 GD/imagick
http://phpthumb.sourceforge.net/ php 4+/5 GD/imagick

imagick pamokos: http://www.phpro.org/tutorials/Imagick.html

PHP URL shortening functions

Integer konvertavimas.

Jigu tinka - ir _ simboliai

function encode($number) {
    return strtr(rtrim(base64_encode(pack('i', $number)), '='), '+/', '-_');
}
function decode($base64) {
    $number = unpack('i', base64_decode(str_pad(strtr($base64, '-_', '+/'), strlen($base64) % 4, '=')));
    return $number[1];
}

jeigu norima tik raidyno ir skaiciu

  1. function encode($val, $base=62, $chars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
  2. // can't handle numbers larger than 2^31-1 = 2147483647
  3. $str = '';
  4. do {
  5. $i = $val % $base;
  6. $str = $chars[$i] . $str;
  7. $val = ($val - $i) / $base;
  8. } while($val > 0);
  9. return $str;
  10. } 
  11. function decode($str, $base=62, $chars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
  12. $len = strlen($str);
  13. $val = 0;
  14. $arr = array_flip(str_split($chars));
  15. for($i = 0; $i < $len; ++$i) {
  16. $val += $arr[$str[$i]] * pow($base, $len-$i-1);
  17. }
  18. return $val;
  19. }


paprastam url konvertavimui

function base64url_encode($data) {
  return 
rtrim(strtr(base64_encode($data), '+/''-_'), '=');
}

function 
base64url_decode($data) {
  return 
base64_decode(str_pad(strtr($data'-_''+/'), strlen($data) % 4'='STR_PAD_RIGHT));

2015 m. rugpjūčio 24 d., pirmadienis

2015 m. rugpjūčio 19 d., trečiadienis

2015 m. rugpjūčio 11 d., antradienis

Word macro - visu paveikslu dydzio nuresetinimas i 100%

word uzseiviname naujausiu formatu kad nebutu vompability mode. Einame i view -> macro  ir sukuriame funkcija

  Sub AllGraphicsTo100()

      Dim ILS As Word.InlineShape
      Dim SHP As Word.shape

      For Each ILS In ActiveDocument.InlineShapes
        If ILS.Type = wdInlineShapePicture Or ILS.Type = wdInlineShapeLinkedPicture Then
            ILS.ScaleHeight = 100
            ILS.ScaleWidth = 100
        End If
      Next ILS

      For Each SHP In ActiveDocument.Shapes
        If SHP.Type = msoPicture Or SHP.Type = msoLinkedPicture Then
            SHP.ScaleHeight 1#, True
            SHP.ScaleWidth 1, True
        End If
      Next SHP

    End Sub