Автор: Vladimir

Экстремист с Евромайдана дорвался до пианино.
Вот такие в Украине экстремисты...
Видео сделано под стенами КМДА 24.01.2014

Автор: Vadym

При использовании модуля пагинации (pagination) в kohana 3.2 столкнулся с неприятным нюансом:

модуль не формировал правильные ссылки.

Имея роут прописанный в bootstrap.php вида:

1
2
3
4
5
6
7
8
Route::set('catalog', 'catalog(/(/
)(/
.html))')
->defaults(array(
'directory'  => 'index',
'action' => 'index',
'controller' => 'catalog',
));

где <page> используется для постраничной навигации, я получал все ссылки с одинаковым путем:

http://site/catalog/category/n

где n - номер страницы, который не выводился

Проблема оказалась в модуле https://github.com/kohana/pagination входившем ранее в ядро kohanы, он прекрасно работает до версии 3.1., но в kohana 3.2 он не работает.

Для версии 3.2 необходимо использовать модуль пагинации находящийся по ссылке:
https://github.com/kloopko/kohana-pagination

Автор: Vladimir

Скрипт приведен с учетом изменения строки запроса Google в сентябре 2011.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
 
//Google PR START
function StrToNum($Str, $Check, $Magic)
{
    $Int32Unit = 4294967296;
 
    $length = strlen($Str);
    for ($i = 0; $i < $length; $i++) {
        $Check *= $Magic;
 
        if ($Check >= $Int32Unit) {
            $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
 
            $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
        }
        $Check += ord($Str{$i});
    }
    return $Check;
}
function HashURL($String)
{
    $Check1 = StrToNum($String, 0x1505, 0x21);
    $Check2 = StrToNum($String, 0, 0x1003F);
 
    $Check1 >>= 2;
    $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
    $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
    $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);
 
    $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 &
0xF0F );
    $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) |
($Check2 & 0xF0F0000 );
 
    return ($T1 | $T2);
}
function CheckHash($Hashnum)
{
    $CheckByte = 0;
    $Flag = 0;
 
    $HashStr = sprintf('%u', $Hashnum) ;
    $length = strlen($HashStr);
 
    for ($i = $length - 1;  $i >= 0;  $i --) {
        $Re = $HashStr{$i};
        if (1 === ($Flag % 2)) {
            $Re += $Re;
            $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;
    }
 
    $CheckByte %= 10;
    if (0 !== $CheckByte) {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) ) {
            if (1 === ($CheckByte % 2)) {
                $CheckByte += 9;
            }
            $CheckByte >>= 1;
        }
    }
 
    return '7'.$CheckByte.$HashStr;
}
 
 
function getpagerank($url) {
 
$fp = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30);
if (!$fp) {} 
else 
{
$out = "GET /tbr?features=Rank&sourceid=navclient-ff&client=navclient-auto-ff&ch=" . CheckHash(HashURL($url)) . "&q=info:" . $url . " HTTP/1.1\r\n";
 
$out .= "Host: toolbarqueries.google.com\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big;
 Windows XP 5.1)\r\n";
$out .= "Connection: Close\r\n\r\n";
 
   fwrite($fp, $out);
 
while (!feof($fp)) 
{
$data = fgets($fp, 128);
$pos = strpos($data, "Rank_");
if($pos === false){} 
    else
    {
     $pagerank = substr($data, $pos + 9);
    }
}
 
fclose($fp);
 
}
return $pagerank;
}
 
?>
 
 
<?
//Yandex TIC START
function getTIC($url)
{
            $str=file('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url);
            if ($str==false)
            {
                        $ans=false;
            }
            else
            {
                        $is_find=preg_match("/value=\"(.\d*)\"/", join("",$str), $tic);
 
                        if ($is_find<1)
                        {
                                   $ans=0;
                        }
                        else
                        {
                                   $ans=$tic[1];
                        }
            }
 
 
            return $ans;
}
?>

Инклюдите в свой код этот скрипт и вызываете:

<?php 
 
$url = 'http://site.com';
getpagerank($url);
 
?>

Код проверен - 100% полностью рабочий!

Автор: Vadym

kohana


Столкнулся с тем, что на некоторых хостингах  не работает роутинг у kohana. Я использую Kohana 3.2 с включенным .htaccess и отключенным index.php в url.

На главную страницу попадаем без проблем, а вот при попытке перейти по внутренним ссылкам выдает следующую ошибку:

No input file specified .

При этом все роутинги прописаны правильно. На локальном хостинге все работает корректно.

Поиск в сети дает различные варианты, ниже приведен тот, которым я решил эту проблему.

Пишем в .htaccess

RewriteRule .* index.php/$0 [PT,L]

меняем на

RewriteRule .* index.php?kohana_uri=$0 [PT,L,QSA]
Автор: Vladimir

Недавно в связи со сменой дисков перестали работать некоторые программы, которые были установлены по умолчанию для определенного типа файлов.

Решается следующим образом:

1. В консоли - regedit (редактирование реестра).

2. Затем в реестре находим HKEY_CLASSES_ROOT\Applications\

3. Далее ищем свою программу, которые не работает по дефолту. Как правильно, подменю:
shell -> open ->command и дальше видим путь к своей программе - меняем его на правильный и все.

У меня все заработало.

1 2 3 4 5 6 7 8 9  
Подписка по e-mail и RSS
rss

Подписаться по e-mail:

Поиск
Категории