This commit is contained in:
Paminger
2016-05-02 00:36:59 +02:00
parent b52ffa8974
commit a6d708a763
3 changed files with 104 additions and 2 deletions
+2
View File
@@ -7,4 +7,6 @@ $config['fhc_acl'] = array
'public.tbl_person' => 'basis/person',
'public.tbl_prestudent' => 'basis/person',
'public.tbl_organisationseinheit' => 'basis/organisationseinheit'
,
'public.tbl_sprache' => 'admin'
);
+46
View File
@@ -115,5 +115,51 @@ class ModelTest extends FHC_Controller
echo 'Error: ',$res->error, ', Code: ',$res->code,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
$this->load->model('core/Sprache_model');
// Insert Sprache
$data = array
(
'sprache' => 'test',
'bezeichnung' => "{'testsprache'}",
'locale' => 'te_TE',
'content' => false
);
$res = $this->Sprache_model->insert($data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->code,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id = $data['sprache'];
var_dump($res);
// Update Sprache
$data = array
(
'index' => 4,
'bezeichnung' => "{'TestSprache', 'TestLanguage', 'TestSpanisch'}",
'content' => true
);
$res = $this->Sprache_model->update($id, $data);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->code,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
$id=$res->retval; //echo $id;
// Load Sprache
$res = $this->Sprache_model->load($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->code,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
{
$result = $res->retval->result_object();
var_dump($this->Sprache_model->pgArrayPhp($result[0]->bezeichnung));
}
// Delete Sprache
$res = $this->Sprache_model->delete($id);
if ($res->error)
echo 'Error: ',$res->error, ', Code: ',$res->code,' -> ',$res->msg,': ',$res->retval,'<br/>';
else
var_dump($res->retval);
}
}
+56 -2
View File
@@ -110,8 +110,10 @@ class DB_Model extends FHC_Model
return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl[$this->dbTable], FHC_MODEL_ERROR);
// DB-SELECT
if ($this->db->get_where($this->dbTable, array($this->pk => $id)))
return $this->_success($id);
$result = $this->db->get_where($this->dbTable, array($this->pk => $id));
//var_dump($result);
if ($result)
return $this->_success($result);
else
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
@@ -141,6 +143,58 @@ class DB_Model extends FHC_Model
return $this->_error($this->db->error(), FHC_DB_ERROR);
}
/** ---------------------------------------------------------------
* Convert PG-Array to PHP-Array
*
* @param integer config.php error code numbers
* @return array
*/
public function pgArrayPhp($s,$start=0,&$end=NULL)
{
if (empty($s) || $s[0]!='{') return NULL;
$return = array();
$br = 0;
$string = false;
$quote='';
$len = strlen($s);
$v = '';
for($i=$start+1; $i<$len;$i++)
{
$ch = $s[$i];
if (!$string && $ch=='}')
{
if ($v!=='' || !empty($return))
$return[] = $v;
$end = $i;
break;
}
else
if (!$string && $ch=='{')
$v = $this->pgArrayPhp($s,$i,$i);
else
if (!$string && $ch==',')
{
$return[] = $v;
$v = '';
}
else
if (!$string && ($ch=='"' || $ch=="'"))
{
$string = TRUE;
$quote = $ch;
}
else
if ($string && $ch==$quote && $s[$i-1]=="\\")
$v = substr($v,0,-1).$ch;
else
if ($string && $ch==$quote && $s[$i-1]!="\\")
$string = FALSE;
else
$v .= $ch;
}
return $return;
}
/** ---------------------------------------------------------------
* Invalid ID
*