include_once ($_CFG['path_to_cms'].'core/libraries/free_filter.class/free_filter.class.php');
$free_filter = new free_filter($identifier);
$free_filter->add_element("Client name","name","text");
$free_filter->add_element("Client ID","id","number");
$free_filter->add_element("Clients creation date","created","datums", $cell_type);
$types = array(1=>"VIP", 2=>"Normal");
$free_filter->add_element("Clients type","type","select", $types);
$SQL_string = $free_filter->generate_sql_string();
$OUT_filter = $free_filter->generate_filter_form();
echo $SQL_string;
echo $OUT_filter;
$identifier - unikalnij identifikator , skazhem "aaaa"
$cell_type v elemente "datums" - 0 esli tip polja INT i 1 esli DATE
Dobavlenije svoih sobstvennih funkcij:
$free_filter->add_element("Client ID","id","number");
$free_filter->add_function("id", "myfunction");
function myfunction($value, $POST, $key, $znak, $elements) {
return 'ROUND('.$value.')'.$znak.''.$POST['number'][$key];
}
$free_filter->add_function("id", "myfunction");
function myfunction($value, $POST, $key, $znak, $elements) {
return 'ROUND('.$value.')'.$znak.''.$POST['number'][$key];
}
$groups = array();
$mysql_res = mysql_query("SELECT * FROM _mod_wbg_emails_groups ORDER by title_rus");
while($arr = mysql_fetch_assoc($mysql_res)){
$groups[$arr['id']] = $arr['title_rus'];
}
$free_filter->add_element("Группа","groups", "select", $groups);
$free_filter->add_function("groups", "myfunction");
function myfunction($value, $POST, $key, $znak, $elements) {
switch ($znak){
case "=" : $znak = " REGEXP"; break;
case "<>" : $znak = " NOT REGEXP"; break;
}
return ''.$value.''.$znak." '(^|,)".$POST['dropdown_selected'][$key]."($|,)'";
}
$mysql_res = mysql_query("SELECT * FROM _mod_wbg_emails_groups ORDER by title_rus");
while($arr = mysql_fetch_assoc($mysql_res)){
$groups[$arr['id']] = $arr['title_rus'];
}
$free_filter->add_element("Группа","groups", "select", $groups);
$free_filter->add_function("groups", "myfunction");
function myfunction($value, $POST, $key, $znak, $elements) {
switch ($znak){
case "=" : $znak = " REGEXP"; break;
case "<>" : $znak = " NOT REGEXP"; break;
}
return ''.$value.''.$znak." '(^|,)".$POST['dropdown_selected'][$key]."($|,)'";
}
Основные базовые классы