Архив

Архив раздела ‘Web’
13 февраля 2012 Нет комментариев

Взято с 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/

Categories: PHP, Web Tags: ,
19 октября 2011 Нет комментариев

Таблица 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/>";
Categories: PHP, Web Tags: ,
6 сентября 2011 Нет комментариев

Чего-то там поменялось)) Можно указать конечное значение. И сообщает о завершении алертом.

<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>&nbsp;<input type="text" id="lid" value="1" />&nbsp;
<label for="endid">Stop at:</label>&nbsp;<input type="text" id="endid" value="1" />&nbsp;
<label for="timer">Interval:</label>&nbsp;<input type="text" id="timer" value="3" /><br/>
<input type="button" id="go" value="Start" onclick="StartScript();" />&nbsp;
<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>
Categories: Javascript, Web Tags:

http://saintist.ru/2011/04/21/firefoxstabs-com-zarazhaet-sajty/

Categories: Web Tags:
15 октября 2010 1 комментарий

При проверке на валидность кода с Doctype: XHTML 1.0 Transitional

<marquee scrollamount='3'>Текст</marquee>

получаем следующую ошибку:
element "marquee" undefined
Решение:

<script type='text/javascript'>
  <!--
   document.write("<marquee scrollamount='3'>Текст</marquee>");
   -->
</script>
Categories: Web Tags: ,

Допустим мы имеем хостинг-аккаунт на 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/

Categories: Web Tags:
21 апреля 2010 Нет комментариев

СКАЧАТЬ (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
Читать далее…

Categories: Unix, Web Tags: ,