merge sandbox to trunk for 1.4.3.1

git-svn-id: http://xe-core.googlecode.com/svn/trunk@7659 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
zero 2010-08-25 06:19:21 +00:00
parent 289973781a
commit 200d63636c
195 changed files with 8166 additions and 3576 deletions

View file

@ -914,7 +914,7 @@
if($this->allow_rewrite) {
$var_keys = array_keys($get_vars);
asort($var_keys);
$target = implode('.',$var_keys);
$target = implode('.', $var_keys);
switch($target) {
case 'vid' : $query = $get_vars['vid']; break;
case 'mid' : $query = $get_vars['mid']; break;
@ -927,6 +927,8 @@
case 'document_srl.mid.vid' : $query = $get_vars['vid'].'/'.$get_vars['mid'].'/'.$get_vars['document_srl']; break;
case 'entry.mid.vid' : $query = $get_vars['vid'].'/'.$get_vars['mid'].'/entry/'.$get_vars['entry']; break;
case 'act.document_srl.key.vid' : $query = $get_vars['act']=='trackback'?$get_vars['vid'].'/'.$get_vars['document_srl'].'/'.$get_vars['key'].'/'.$get_vars['act']:''; break;
case 'act.mid' : $query = (in_array($get_vars['act'], array('rss', 'atom', 'api'))) ? $get_vars['mid'].'/'.$get_vars['act'] : ''; break;
case 'act.mid.vid' : $query = (in_array($get_vars['act'], array('rss', 'atom', 'api'))) ? $get_vars['vid'].'/'.$get_vars['mid'].'/'.$get_vars['act']:''; break;
}
}

View file

@ -22,6 +22,7 @@
var $port = 33000; ///< db server port
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $cutlen = 12000; ///< 큐브리드의 최대 상수 크기(스트링이 이보다 크면 '...'+'...' 방식을 사용해야 한다
var $comment_syntax = '/* %s */';
/**
* @brief cubrid에서 사용될 column type
@ -335,7 +336,6 @@
// 만약 테이블 이름이 sequence라면 serial 생성
if($table_name == 'sequence') {
$query = sprintf('create serial "%s" start with 1 increment by 1 minvalue 1 maxvalue 10000000000000000000000000000000000000 nocycle;', $this->prefix.$table_name);
return $this->_query($query);
}
@ -374,13 +374,13 @@
break;
}
if($default && (!is_numeric($default) || $default[0] == "+")) $default = "'".$default."'";
if(isset ($default) && ($type == 'varchar' || $type == 'char')) $default = "'".$default."'";
$column_schema[] = sprintf('"%s" %s%s %s %s',
$name,
$this->column_type[$type],
$size?'('.$size.')':'',
$default?"default ".$default:'',
isset($default)?"default ".$default:'',
$notnull?'not null':''
);
@ -788,6 +788,7 @@
}
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
$data = $this->_fetch($result);
@ -943,6 +944,7 @@
}
}
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
$buff = new Object();

View file

@ -19,6 +19,7 @@
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $idx_no = 0; // 인덱스 생성시 사용할 카운터
var $comment_syntax = '/* %s */';
/**
* @brief firebird에서 사용될 column type
@ -865,6 +866,7 @@
$query .= ";";
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
if(!$this->transaction_started) @ibase_rollback($this->fd);
@ -971,7 +973,7 @@
}
$query .= ";";
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
if(!$this->transaction_started) @ibase_rollback($this->fd);

View file

@ -16,6 +16,7 @@
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $param = array();
var $comment_syntax = '/* %s */';
/**
* @brief mssql 에서 사용될 column type
@ -369,7 +370,7 @@
$this->column_type[$type],
!in_array($type,array('number','text'))&&$size?'('.$size.')':'',
$primary_key?'primary key':'',
$default?"default '".$default."'":'',
isset($default)?"default '".$default."'":'',
$notnull?'not null':'null',
$auto_increment?'identity(1,1)':''
);
@ -702,6 +703,7 @@
if($output->list_count['value']) $query = sprintf('select top %d %s', $output->list_count['value'], $query);
else $query = "select ".$query;
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
@ -835,6 +837,7 @@
$query = sprintf('select top %d %s from %s %s %s %s %s', $list_count, $columns, implode(',',$table_list), implode(' ',$left_join), $condition, $group, $order);
}
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {

View file

@ -18,6 +18,7 @@
var $password = NULL; ///< password
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $comment_syntax = '/* %s */';
/**
* @brief mysql에서 사용될 column type
@ -348,7 +349,7 @@
$name,
$this->column_type[$type],
$size?'('.$size.')':'',
$default?"default '".$default."'":'',
isset($default)?"default '".$default."'":'',
$notnull?'not null':'',
$auto_increment?'auto_increment':''
);
@ -574,6 +575,8 @@
// list_count를 사용할 경우 적용
if($output->list_count['value']) $query = sprintf('%s limit %d', $query, $output->list_count['value']);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
@ -652,6 +655,8 @@
}
$query = sprintf('%s limit %d, %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
$buff = new Object();

View file

@ -18,6 +18,7 @@
var $password = NULL; ///< password
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE설치 가능)
var $comment_syntax = '/* %s */';
/**
* @brief mysql에서 사용될 column type
@ -357,7 +358,7 @@
$name,
$this->column_type[$type],
$size?'('.$size.')':'',
$default?"default '".$default."'":'',
isset($default)?"default '".$default."'":'',
$notnull?'not null':'',
$auto_increment?'auto_increment':''
);
@ -585,6 +586,7 @@
// list_count를 사용할 경우 적용
if($output->list_count['value']) $query = sprintf('%s limit %d', $query, $output->list_count['value']);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
@ -663,7 +665,8 @@
}
$query = sprintf('%s limit %d, %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
$buff = new Object();

View file

@ -18,6 +18,7 @@
var $password = NULL; ///< password
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $comment_syntax = '/* %s */';
/**
* @brief mysql에서 사용될 column type
@ -337,7 +338,7 @@
$name,
$this->column_type[$type],
$size?'('.$size.')':'',
$default?"default '".$default."'":'',
isset($default)?"default '".$default."'":'',
$notnull?'not null':'',
$auto_increment?'auto_increment':''
);
@ -564,6 +565,7 @@
// list_count를 사용할 경우 적용
if($output->list_count['value']) $query = sprintf('%s limit %d', $query, $output->list_count['value']);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
@ -642,6 +644,7 @@
}
$query = sprintf('%s limit %d, %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {
$buff = new Object();

View file

@ -23,6 +23,7 @@ class DBPostgresql extends DB
var $password = null; ///< password
var $database = null; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE설치 가능)
var $comment_syntax = '/* %s */';
/**
* @brief postgresql에서 사용될 column type
@ -457,7 +458,7 @@ class DBPostgresql extends DB
$size = 0;
$column_schema[] = sprintf('%s %s%s %s %s', $name, $this->column_type[$type], $size ?
'(' . $size . ')' : '', $default ? "default '" . $default . "'" : '', $notnull ?
'(' . $size . ')' : '', isset($default) ? "default '" . $default . "'" : '', $notnull ?
'not null' : '');
if ($primary_key)
@ -757,6 +758,7 @@ class DBPostgresql extends DB
$query .= ' order by ' . implode(',', $index_list);
}
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if ($this->isError())
return;
@ -865,6 +867,7 @@ class DBPostgresql extends DB
}
$query = sprintf('%s offset %d limit %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if ($this->isError()) {

View file

@ -15,6 +15,7 @@
**/
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE설치 가능)
var $comment_syntax = '/* %s */';
/**
* @brief sqlite 에서 사용될 column type
@ -334,7 +335,7 @@
$size?'('.$size.')':'',
$notnull?'NOT NULL':'',
$primary_key?'PRIMARY KEY':'',
$default?"DEFAULT '".$default."'":'',
isset($default)?"DEFAULT '".$default."'":'',
$auto_increment?'AUTOINCREMENT':''
);
}
@ -591,6 +592,7 @@
// list_count를 사용할 경우 적용
if($output->list_count['value']) $query = sprintf('%s limit %d', $query, $output->list_count['value']);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) return;
@ -686,6 +688,7 @@
}
$query = sprintf('%s limit %d, %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$result = $this->_query($query);
if($this->isError()) {

View file

@ -13,6 +13,7 @@
**/
var $database = NULL; ///< database
var $prefix = 'xe'; ///< XE에서 사용할 테이블들의 prefix (한 DB에서 여러개의 XE 설치 가능)
var $comment_syntax = '/* %s */';
/**
* PDO 사용시 필요한 변수들
@ -359,7 +360,7 @@
$size?'('.$size.')':'',
$notnull?'NOT NULL':'',
$primary_key?'PRIMARY KEY':'',
$default?"DEFAULT '".$default."'":''
isset($default)?"DEFAULT '".$default."'":''
);
}
@ -634,6 +635,7 @@
// list_count를 사용할 경우 적용
if($output->list_count['value']) $query = sprintf('%s limit %d', $query, $output->list_count['value']);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$this->_prepare($query);
$data = $this->_execute();
if($this->isError()) return;
@ -734,6 +736,8 @@
// 쿼리 실행
$query = sprintf('%s limit %d, %d', $query, $start_count, $list_count);
$query .= (__DEBUG_QUERY__&1 && $output->query_id)?sprintf(' '.$this->comment_syntax,$this->query_id):'';
$this->_prepare($query);
if($this->isError()) {

View file

@ -23,10 +23,16 @@
var $header = '';
var $eol = '';
var $references = '';
var $additional_params = null;
function Mail() { }
function setAdditionalParams($additional_params)
{
$this->additional_params = $additional_params;
}
function addAttachment($filename, $orgfilename)
{
$this->attachments[$orgfilename] = $filename;
@ -221,7 +227,7 @@
$this->references?("References: <".$this->references.">".$this->eol."In-Reply-To: <".$this->references.">".$this->eol):""
);
$headers .= $this->header;
if($this->additional_params) return mail($this->getReceiptor(), $this->getTitle(), $this->body, $headers, $this->additional_params);
return mail($this->getReceiptor(), $this->getTitle(), $this->body, $headers);
}