ajax calendar(PHP+JAVASCRIPT)

Click here to see the calendar

Result:

AJAX:

ajax.js

function HttpRequest(method,url){
this.method = method;
this.url = url;
this.init = CreateXMLHTTPObject;
this.self_url = self.location.href;
this.func = function () {};

this.go=function go(str_url){
self.location.href=str_url;
}

function CreateXMLHTTPObject(){
var xObject = null;
try {
xObject = new ActiveXObject(“Msxml2.xmlhttp.4.0″);
}
catch (e){
try{
xObject = new XMLHttpRequest();
if(xObject.overrideMimeType){
xObject.overrideMimeType(‘text/xml’);
}

}
catch (e){
try {
xObject = new ActiveXObject(“Msxml2.xmlhttp”);
}
catch (e) {
try {
xObject = new ActiveXObject(“Microsoft.xmlhttp”);
}
catch (e) {
alert(“Error: Unable to create XML HTTP object!”);
}
}
}
}
return xObject;
}

this.post = dopost;

function dopost(obj,func,param)
{
//alert(func);
//this.func = func;
obj.onreadystatechange = func;
obj.open(this.method, this.url, true);
obj.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded;charset=utf-8″);
obj.send(param);
}

this.utf16to8 = utf16to8;
function utf16to8(str) {
if(str==”){
return ”;
}
var out, i, len, c;

out = “”;
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0×0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0×80 | ((c >>  6) & 0x3F));
out += String.fromCharCode(0×80 | ((c >>  0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >>  6) & 0x1F));
out += String.fromCharCode(0×80 | ((c >>  0) & 0x3F));
}
}
return out;
}

this.$ = $;
function $(id){
return document.getElementById(id);
}

this.tagNameParam = tagNameParam
function tagNameParam(name,obj){
var objs = obj.getElementsByTagName(name);
var param = ”;
for (i=0;i<objs.length;i++){
param = param + objs.name+”=”+escape(utf16to8(Trim(objs.value)))+”&”;
}
return param;
}

this.form2param = form2param
function form2param( objs, ignore ) {
/**                     //getElementsByClass(‘test’)
* 调用方法: form2param(document.getElementsByTagName(‘*’), Array(‘submit’));
* param1: 一般不需要修改
* param2: 需要忽略的表单域名称
* retrun: 字符串
*/
var param = “”;

function add2param( str_param, tagName, value ) {
var param
if (str_param.length==0) {
return tagName+”=”+escape(utf16to8(value));
}
else {
return str_param+’&’+tagName+”=”+escape(utf16to8(value));
}
}

function arrayToObject(arr) {
var obj=new Object();
for (i=0; i<arr.length; i++) {
obj[arr[i]]=null;
}
return obj;
}

var tagnames = new Array(“input”, “textarea”, “select”);
var chkboxs = new Array(“checkbox”, “radio”);
var obj_tagnames = arrayToObject(tagnames);
var obj_ignore = arrayToObject(ignore);
var obj_chkboxs = arrayToObject(chkboxs);

for (var i=0; i<objs.length; i++) {
if (objs[i].tagName.toLowerCase() in obj_tagnames) {
if ( (!(objs[i].name.toLowerCase() in obj_ignore)) && ( objs[i].name.indexOf(‘save_’)==-1 ) ){
if (objs[i].type.toLowerCase() in obj_chkboxs) {
if (objs[i].checked) {
param = add2param(param, objs[i].name.toLowerCase(), objs[i].value);
}
}
else {
param = add2param(param, objs[i].name.toLowerCase(), objs[i].value);
}
}
}
}

return param;
}

this.checkboxToArray = function (form,tag){
var objs = form.getElementsByTagName(tag);
var param = null;
for (i=0;i<objs.length;i++ )
{
if(objs[i].type==”checkbox” && objs[i].checked){
param+=objs[i].name+”=”+escape(utf16to8(objs[i].value));
}
}
return param;
}

this.load = function( url ){
var ss = document.getElementsByTagName(“script”);
for( i=0;i<ss.length;i++ ){
if( ss[i].src && ss[i].src.indexOf( url ) != -1 ){
this.onsuccess();
return;
}
}
s = document.createElement(“script”);
s.type = “text/javascript”;
s.src = url;
var head = document.getElementsByTagName(“head”)[0];
head.appendChild(s);
var self = this;

s.onload = s.onreadystatechange = function(){
if( this.readyState && this.readyState == “loading” )
return;
self.onsuccess();
}
s.onerror = function(){
head.removeChild(s);
self.onfailure;
}
};

this.onsuccess = function(){};
this.onfailure = function(){};

//去掉字符串 的左边 空格
this.LTrim = LTrim ;
function LTrim(str){
var i;
for(i=0;i<str.length;i++)  {
if( str.charAt(i)!=” ” && str.charAt(i)!=null )
break;
}
str = str.substring(i,str.length);
return str;
};
//去掉字符串 的右边 空格
this.RTrim = RTrim ;
function RTrim(str){
var i;
for( i=str.length-1;i>=0;i– ){
if( str.charAt(i)!=” “&&str.charAt(i)!=null )
break;
}
str = str.substring(0,i+1);
return str;
};
//去掉字符串 的 左右边 空格
this.Trim = Trim ;
function Trim(str){
var trimRe = /^\s+|\s+$/g;
str = String(str).replace(trimRe,”");
return LTrim(RTrim(str));
};

//去掉字符串 的 左右边 空格
this.strReplace = strReplace ;
function strReplace( string ){
string = String.replace(/(^\s*)|(\s*$)/g,”");
return string ;
};

}

int_step = 0;

function show_loading() {
div_hint = document.getElementById(‘hint’);
if (!div_hint) {
var hint_text = “正在处理您的请求…”
div_hint = document.createElement(“div”);
div_hint.id = “hint”;
var div_hint_image = document.createElement(“div”);
div_hint_image.id = “hint_image”;
div_hint.appendChild(div_hint_image);
var img_loading = document.createElement(“img”);
img_loading.src = “/images/animated_loading.gif”;
img_loading.alt = hint_text;
div_hint_image.appendChild(img_loading);
var div_hint_text = document.createElement(“div”);
div_hint_text.id = “hint_text”;
div_hint.appendChild(div_hint_text);
var text_loading = document.createElement(“strong”);
text_loading.innerHTML = hint_text;
div_hint_text.appendChild(text_loading);
document.body.appendChild(div_hint);
}
else {
div_hint.style.display = “”;
}
}

function hide_loading() {
div_hint.style.display = “none”;
}

——————————————————————————–

(more…)

Share
Posted in JAVA SCRIPT, 网站. Tags: , , , . »

How to create a calendar by php?

<?php
function getCalendar($year,$month){

global $current_user;
$first_day = get_option(‘start_of_week’);
$first_of_month = gmmktime(0,0,0,$month,1,$year);
$per_line = 7;
$total_days = date(‘t’,strtotime(“$year-$month”));

//echo “$year-$month-2″;
//$first_day = date(‘N’,strtotime(“$year-$month-1″))
$line = 1;
for($i=1;$i<=$total_days;$i++){
$day = date(‘w’,strtotime(“$year-$month-$i”));
$array_data[$line][$day] = $i;
if($day==6){
$line++;
}
}
return $array_data;
}
$iid = $_REQUEST['iid'];
$did = “d_vfcalendar”;
$year= ($_REQUEST['year']==”")?date(“Y”,strtotime(“now”)):$_REQUEST['year'];
$month = ($_REQUEST['month']==”")?date(“n”,strtotime(“now”)):$_REQUEST['month'];
$calendar = getCalendar($year,$month);
$prev_month = date(“n”,strtotime(“$year-$month -1 month”));
$next_month = date(“n”,strtotime(“$year-$month +1 month”));
$prev_year = date(“Y”,strtotime(“$year-$month -1 month”));
$next_year = date(“Y”,strtotime(“$year-$month +1 month”));
$prev_month_name = date(“M”,strtotime(“$year-$month -1 month”));
$next_month_name = date(“M”,strtotime(“$year-$month +1 month”));

?>

(more…)

Share
Posted in 网站. Tags: , , , , . »

How to convert office document to picture

Ms Office doc =>pdf => picture (JPEG,PNG,etc..)

 

1. Install openoffice.org-headless,openoffice.org-calc,openoffice.org-writer,openoffice.org-draw,imagemagick.Under windows system, both imagemagick and ghost script were needed

2.Start openoffice  as service

#!/bin/bash
/usr/lib64/openoffice.org/program/soffice.bin -headless -nologo -norestore -accept=”socket,host=localhost,port=8100;urp;StarOffice.ServiceManage” &

3.DOWNLOAD JODConverter ,and start it

4.Convert doc to pdf

function convert2pdf($inputData,$inputType,$outputType=”application/pdf”){
 require_once ‘HTTP/Request.php’;
 $request = new HTTP_Request(“http://localhost:8080/convert/service“);
 $request->setMethod(“POST”);
 $request->addHeader(“Content-Type”, $inputType);
 $request->addHeader(“Accept”, $outputType);
 $request->setBody($inputData);
 $request->sendRequest();
 return $request->getResponseBody();
}

WARNING Install pear HTTP_Request First

# pear intall HTTP_Request

5.Convert pdf to picture

function convert2jpeg($pdffile,$dest){
 if(!file_exists($pdffile)){
  return;
 }
 exec(“convert -quality 70 -density 250 -geometry 25% $pdffile $dest”);
 $dir = dirname($dest);
 return $dir;
}

Share
Posted in ubuntu. Tags: , , , , , , , , , . »

只使用socket,纯属好玩!FTP,socket,passive,被动,被动ftp

直接使用socket,有原始,纯属好玩
目前不知道如何在php中使用多线程,所以无法实现在当前的进程中,创建一个线程,用来接收数据,但是换成其他语言,一定没有问题
<?php
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
socket_set_block($socket);
socket_connect ($socket, “192.168.1.10″,21);
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”user www\n”,strlen(“user www\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”pass alagazacom2612\n”,strlen(“pass alagazacom2612\n”));
echo(socket_read($socket,1024).”\n”);
socket_write($socket,”CDUP\n”,strlen(“CDUP\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”SYST\n”,strlen(“SYST\n”));
echo(socket_read($socket,4096).”\n”);
socket_write($socket,”PASV\n”,strlen(“PASV\n”));
echo($str=socket_read($socket,1024).”\n”);
$base = substr($str,strpos($str,”(“)-1,strlen($str)-2);
$base=str_replace(“(“, “”, $base);
$base=str_replace(“)”, “”, $base);
echo($base.”\n”);
$address = explode(“,”, $base);// Divide uma string em strings
print_r($address);
echo(“Set Port:\n”);
$m = $address[4];
$n = $address[5];
$port = intval($m)*256+intval($n);//生成被动ftp所需的接收用的端口号
echo($port.”\n”);
$socket_recv = socket_create_listen($port);
socket_connect($socket_recv, “192.168.1.20″,21);
socket_write($socket,”LIST\n”,strlen(“LIST\n”));
//socket_accept($socket_recv);
//remote_socket_client_handle($remote_fd);
echo(socket_read($socket_recv,1024).”\n”);
//
// Accepts a connection on a socket
//socket_bind($socket_recv,”192.168.1.100″,$port);// Binds a name to a socket
//socket_connect($socket_recv, “192.168.1.20″,20);// Initiates a connection on a socket
//echo(socket_read($socket_recv,1024).”\n”);
?>

Share
Posted in 网站. Tags: , . »

Oracle,blob,php,pdo,10g文件,图片,压缩,存放快速解决

使用oracle存储文件图片等数据,必须将文件数据存入数据库中blob对象中,如果你使用php进行此操作,那么必须使用事务 处理,否则无法解决,使用其它语言操作还没试验过!!此处使用pdo进行操作,如果要使用压缩,那么可以将压缩好的数据作为内容,装入blob
下文 提到的此方法,仅适用于php5之后的版本
<?
$sql = ”
insert into USER_INFO
(
USERIMG //这个字段是blob类型
)values(
EMPTY_BLOB()
)
RETURNING USERIMG INTO :blob //此处注意字段名
“;

foreach($param as $key=>$value){
$sql = str_replace(“:$key”,$value,$sql);
}
$conn->beginTransaction();
$statm = $conn->prepare($sql);
$statm->bindParam(“:blob”,$lob,PDO::PARAM_LOB); //绑定参数
//$lob = fopen(“c:/test.jpg”,”rb”); //可以直接使用文件资源
$lob = $param['al_userimg']; //也可以直接使用从文件中读出的数据,甚至可以是压缩的文件
$statm->execute();
$conn->commit(); //提交后文件会进入数据库,保证没有错,输出的时候指定好头

?>

Share
Posted in 数据库. Tags: , , , , . »