Fixes in imagefield,datefield and added support for fulltext indexes

This commit is contained in:
Antonio de la Rosa 2016-11-26 02:10:07 +01:00
parent 65dd012728
commit 6578e20c25
5 changed files with 55 additions and 3 deletions

View file

@ -183,6 +183,9 @@ function update_table()
Webmodel::$arr_sql_unique=array();
Webmodel::$arr_sql_set_unique=array();
Webmodel::$arr_sql_fulltext=array();
Webmodel::$arr_sql_set_fulltext=array();
$arr_etable=array();
$query=SQLClass::webtsys_query("show tables");
@ -292,6 +295,16 @@ function update_table()
}
//Check if fulltext for mysql
if(Webmodel::$model[$key]->components[$field]->fulltext==true && $keys[$field]=='')
{
Webmodel::$arr_sql_fulltext[$key][$field]=' ALTER TABLE `'.$key.'` ADD FULLTEXT (`'.$field.'`)';
Webmodel::$arr_sql_set_fulltext[$key][$field]='';
}
//Check if unique
if(Webmodel::$model[$key]->components[$field]->unique==true && $keys[$field]=='')
@ -319,7 +332,7 @@ function update_table()
}
if(!isset(Webmodel::$model[$key]->components[$field]->related_model) && $keys[$field]!='' && Webmodel::$model[$key]->components[$field]->indexed==false && Webmodel::$model[$key]->components[$field]->unique!=true)
if(!isset(Webmodel::$model[$key]->components[$field]->related_model) && $keys[$field]!='' && Webmodel::$model[$key]->components[$field]->indexed==false && Webmodel::$model[$key]->components[$field]->unique!=true && Webmodel::$model[$key]->components[$field]->fulltext!=true)
{
echo "---Delete index for ".$field." from ".$key."\n";
@ -459,6 +472,25 @@ function update_table()
}
}
//Create Fulltext index...
foreach(Webmodel::$arr_sql_fulltext as $model_name => $arr_index)
{
foreach(Webmodel::$arr_sql_fulltext[$model_name] as $key_data => $sql_index)
{
echo "---Creating fulltext for ".$key_data." on model ".$model_name."\n";
$query=SQLClass::webtsys_query($sql_index);
if(Webmodel::$arr_sql_set_fulltext[$model_name][$key_data]!='')
{
$query=SQLClass::webtsys_query(Webmodel::$arr_sql_set_fulltext[$model_name][$key_data]);
}
}
}
}
function load_id_model_related($foreignkeyfield)

View file

@ -79,7 +79,18 @@ class DateField extends PhangoField {
settype($arr_time[2], 'integer');
//$final_value=PhaTime\DateTime::obtain_timestamp(mktime (0, 0, 0, $arr_time[1], $arr_time[0], $arr_time[2] ));
$value=date(PhaTime\DateTime::$sql_format_time, mktime(0, 0, 0, $arr_time[1], $arr_time[2], $arr_time[0]));
if(strlen($arr_time[2])==2)
{
$value=date(PhaTime\DateTime::$sql_format_time, mktime(0, 0, 0, $arr_time[1], $arr_time[2], $arr_time[0]));
}
else
{
$value=date(PhaTime\DateTime::$sql_format_time, mktime(0, 0, 0, $arr_time[1], $arr_time[0], $arr_time[2]));
}
/*
if($final_value===false)

View file

@ -179,7 +179,7 @@ class ImageField extends PhangoField {
if($max_size>0)
{
$image->fit($max_size);
$image->resize( $max_size, null, function ($constraint) {$constraint->aspectRatio();});
}

View file

@ -31,6 +31,12 @@ class PhangoField {
public $unique=0;
/**
* Property used for set this field how fulltext value in the database table.
*/
public $fulltext=0;
/**
* The name of the model where this component or field live
*/

View file

@ -369,6 +369,9 @@ class Webmodel {
static public $arr_sql_unique=array();
static public $arr_sql_set_unique=array();
static public $arr_sql_fulltext=array();
static public $arr_sql_set_fulltext=array();
/**
* Simple property for save models in object mode
*/