Files
vidok.com/libraries/grid/grid-edit.php
2024-11-21 14:26:28 +01:00

71 lines
2.2 KiB
PHP

<?php
class gridEdit
{
protected $dir;
public $title;
public $id = 'g-edit';
public $post_action = null;
public $form_html_src = null;
public $external_code = null;
public $params = null;
public $buttons = null;
public $id_param = null;
public $include_plugins = false;
public $default_buttons = true;
public $persist_edit = false;
public $form = true;
public $gdb_opt = array(
'database_type' => 'mysql',
'database_name' => 'db_name',
'server' => 'db_host',
'username' => 'db_user',
'password' => 'db_pass',
'port' => 'db_port'
);
function __construct() {
$this -> dir = dirname( __FILE__ );
}
public function connectToDb()
{
return new gdb( [
'database_type' => $this -> gdb_opt['database_type'],
'database_name' => $this -> gdb_opt['database_name'],
'server' => $this -> gdb_opt['server'],
'username' => $this -> gdb_opt['username'],
'password' => $this -> gdb_opt['password'],
'port' => $this -> gdb_opt['port'],
'charset' => 'utf8'
] );
}
public function convertString( $string, $row )
{
$out = $string;
preg_match_all( '/\[[a-zA-Z0-9_]*\]/', $string, $results_tmp1 );
if ( is_array( $results_tmp1[0] ) ) foreach ( $results_tmp1[0] as $row_tmp1 )
{
preg_match_all( '/[a-zA-Z0-9_]*/', $row_tmp1, $results_tmp2 );
if ( is_array( $results_tmp2[0] ) ) foreach ( $results_tmp2[0] as $row_tmp2 )
if ( $row_tmp2 )
$out = str_replace( '[' . $row_tmp2 . ']', $row[ $row_tmp2 ], $out );
}
return $out;
}
public function draw()
{
$_SESSION[ 'g-edit-' . $this -> id ] = $this;
$values = get_object_vars( $this );
$view = new gridView( $this -> dir . '/templates/' );
$view -> values = $values;
return $view -> render( 'edit-simple' );
}
}