Взято с http://www.som3on3.com/programming/php/php-bing-translate-api/
<?php
define('BING_API', 'YOUR_API_KEY');
function loadData($url, $ref = false) {
$chImg = curl_init($url);
curl_setopt($chImg, CURLOPT_RETURNTRANSFER, true);
curl_setopt($chImg, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0) Gecko/20100101 Firefox/4.0");
if ($ref) {
curl_setopt($chImg, CURLOPT_REFERER, $ref);
}
$curl_scraped_data = curl_exec($chImg);
curl_close($chImg);
return $curl_scraped_data;
}
function translate($text, $from = 'en', $to = 'fr') {
$data = loadData('http://api.bing.net/json.aspx?AppId=' . BING_API . '&Sources=Translation&Version=2.2&Translation.SourceLanguage=' . $from . '&Translation.TargetLanguage=' . $to . '&Query=' . urlencode($text));
$translated = json_decode($data);
if (sizeof($translated) > 0) {
if (isset($translated->SearchResponse->Translation->Results[0]->TranslatedTerm)) {
return $translated->SearchResponse->Translation->Results[0]->TranslatedTerm;
} else {
return false;
}
} else {
return false;
}
}
?>
Использование:
<?php
echo translate('Hello World', 'en', 'fr');
?>
Еще по теме: http://habrahabr.ru/blogs/javascript/133940/
Таблица MYSQL:
CREATE TABLE IF NOT EXISTS `sessions` (
`id` int(11) NOT NULL auto_increment,
`id_session` varchar(256) NOT NULL,
`up_date` datetime NOT NULL,
`user` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
counter.php (Подключаем для каждой страницы):
$id_session=session_id();
$ro=mysql_query("SELECT * FROM sessions WHERE id_session ='".$id_session."'");
if($ro) {
if(mysql_num_rows($ro)>0) {
$upd=mysql_query("UPDATE sessions SET up_date=NOW(), user='".$_SESSION['username']."' WHERE id_session ='".$id_session."'");
}
else {
$into=mysql_query("INSERT INTO sessions (id_session, up_date, user) VALUES ('".$id_session."',NOW(),'".$_SESSION['username']."')");
}
}
$del=mysql_query("DELETE FROM sessions WHERE up_date<NOW()-INTERVAL '15' MINUTE");
function CountOnlineUsers($ifguest){
$q=mysql_query("SELECT COUNT(*)FROM sessions WHERE user".$ifguest);
if(mysql_num_rows($q)>0) {
return mysql_result($q,0);
}
}
$lang_stat=array(
'online_all'=>'Онлайн всего: ',
'online_guest'=>'Гостей: ',
'online_user'=>'Пользователей: '
);
online.php (Подключаем там, где надо):
$guests=CountOnlineUsers("=''");
$users=CountOnlineUsers("!=''");
$all=$guests+$users;
echo $lang_stat['online_all'].$all."<br/>";
echo $lang_stat['online_guest'].$guests."<br/>";
echo $lang_stat['online_user'].$users."<br/>";
Чего-то там поменялось)) Можно указать конечное значение. И сообщает о завершении алертом.
<html>
<head>
<style type="text/css">
* {
margin: 10px;
}
body {
color: #505050;
font-size: 22px;
}
input {
border: 1px solid #ccc;
color: #505050;
font-size: 22px;
}
iframe {
border: 10px solid #3e6093;
}
label:hover {
text-decoration: underline;
}
#go {
color: #4fad51;
}
#br {
color: #e03c42;
}
</style>
</head>
<body>
<iframe id="edboframe" width="1100px" border="1" height="400px" src=""></iframe><br/>
<label for="lid">Start with:</label> <input type="text" id="lid" value="1" />
<label for="endid">Stop at:</label> <input type="text" id="endid" value="1" />
<label for="timer">Interval:</label> <input type="text" id="timer" value="3" /><br/>
<input type="button" id="go" value="Start" onclick="StartScript();" />
<input type="button" id="br" value="Stop" onclick="StopScript();" /><br/>
<script type="text/javascript">
function StartScript() {
var ed=document.getElementById('edboframe');
var id=document.getElementById('lid');
var to=document.getElementById('timer');
var end=document.getElementById('endid');
var next=(id.value*1)+1;
if (next<=end.value) {
ed.src='http://10.61.9.15/lists_abiturients/?id='+next+'&action=edboup';
id.value=next;
setTimeout(StartScript,to.value*1000);
}
else {
alert('Successfully completed');
}
}
function StopScript() {
var to=document.getElementById('timer');
to.value=9999;
}
</script>
</body>
</html>
http://saintist.ru/2011/04/21/firefoxstabs-com-zarazhaet-sajty/
При проверке на валидность кода с Doctype: XHTML 1.0 Transitional
<marquee scrollamount='3'>Текст</marquee>
получаем следующую ошибку:
element "marquee" undefined
Решение:
<script type='text/javascript'>
<!--
document.write("<marquee scrollamount='3'>Текст</marquee>");
-->
</script>
Допустим мы имеем хостинг-аккаунт на 1 домен без прав создавать дополнительные домены, но с возможностью создавать определенное количество или неограниченное количество паркованных доменов. Домены паркуются на корневой каталог веб-содержимого, т.е. public_html и изменить это мы не можем (если бы могли, то можно было бы парковать разные домены на public_html/site1, public_html/site2 и т.д. и проблема бы решилась сама собой).
Используя mod_rewrite:
В корне (public_html) в файле .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site1.*
RewriteRule ^(.*)$ /site1/$1 [L]
RewriteCond %{HTTP_HOST} ^site2.*
RewriteRule ^(.*)$ /site2/$1 [L]
Также в папках site1 и site2 файлы .htaccess с содержимым
RewriteEngine on
Подробнее: Например основной наш домен primary.com
Паркуем домены site1.ru и site2.ru
В корне сайта primary.com есть еще папки site1 и site2 с соответствующими сайтами.
Теперь например когда запрашиваемый URL будет содержать site1 будет открываться содержимое папки /site1, т.е. site1.ru = primary.com/site1/
СКАЧАТЬ (ZIP, ~2.3КБ)
С помощью этого web-интерфейса редактируется список, на который предполагается включать/отключать инет.
Предпогагается, что у нас есть установленный и настроенный squid, со строчкой в squid.conf:
acl user_list src "/usr/local/etc/squid/users"
для которого потом каким-то образом определяются права доступа к инету.
Файлы будут находиться, например, в /usr/home/public_html/username/squid/
ln -s /usr/home/public_html/username/squid/userlist /usr/local/etc/squid/users
Читать далее…