css default modifications
authorPierre Habouzit <madcoder@debian.org>
Thu, 11 Sep 2003 11:58:42 +0000 (11:58 +0000)
committerPierre Habouzit <madcoder@debian.org>
Thu, 11 Sep 2003 11:58:42 +0000 (11:58 +0000)
bd context switching

philter/philter/css/default.css
philter/philter/include/filter.inc.php
philter/philter/include/form_emails.inc.php
philter/philter/include/form_filter.inc.php
philter/philter/include/philter.inc.php
philter/philter/include/plugin.inc.php
philter/philter/include/rule.inc.php
philter/philter/index.php
philter/philter/install.d/header.inc.php
philter/philter/locales/philter.en.inc.php
philter/philter/locales/philter.fr.inc.php

index 9d1b45b..305819e 100644 (file)
@@ -9,10 +9,14 @@
 body {
     color: black;
     background-color: white;
+    width: 800px;
+    margin-left: auto;
+    margin-right: auto;
 }
 
 table {
     border: 1px solid #dddddd;
+    background-color: #eeeeee;
 }
 
 table th {
@@ -20,16 +24,6 @@ table th {
     color: white;
 }
 
-table table th {
-    background-color: #0000b0;
-    color: white;
-}
-
-table table table th {
-    background-color: #0000d0;
-    color: white;
-}
-
 /********** BICOL **********/
 
 table.bicol tr {
@@ -56,6 +50,8 @@ div.rubrique {
     border-top: 1px solid #000080;
     border-bottom: 1px solid #000080;
     background: #cccccc;
+    margin-top: 2em;
+    margin-bottom: 2em;
 }
 /********************************************************************************
 * $id: header.inc.php,v 1.2 2003/08/03 16:02:41 madcoder exp $
index e5b2188..4e362f4 100644 (file)
@@ -12,12 +12,15 @@ class Filter {
     var $rules;
     /** user id */
     var $uid;
+    /** tmp.bd or not */
+    var $bd;
     
     function Filter($_uid) {
+        global $philter;
         $this->uid = $_uid;
         $this->rules = array();
 
-        $sql = mysql_query("SELECT rank,rid,flags,name FROM rules WHERE uid='$_uid' ORDER BY rank");
+        $sql = mysql_query("SELECT rank,rid,flags,name FROM ".bd()."rules WHERE uid='$_uid' ORDER BY rank");
         while(list($_rank,$_rid,$_flags,$_name) = mysql_fetch_row($sql)) {
             $this->rules[$_rid] = new Rule($_rank,$_flags,$_name);
             $this->rules[$_rid]->sql_get_matches($_uid,$_rid);
@@ -53,7 +56,7 @@ class Filter {
         $this->rules[$_rid]->sql_clean($this->uid, $_rid);
         unset($this->rules[$_rid]);
 
-        mysql_query("UPDATE rules SET rank=rank-1 WHERE uid='{$this->uid}' and rank>$rk");
+        mysql_query("UPDATE ".bd()."rules SET rank=rank-1 WHERE uid='{$this->uid}' and rank>$rk");
     }
 
     function new_rule_id() {
index 9ffda48..323d406 100644 (file)
@@ -1,3 +1,27 @@
+<?php
+if(count($_POST)) {                             // a FORM has been submitted
+    if(isset($_POST['global'])) {               //      FORM global
+        foreach($philter->config['global_plugins'] as $id=>$g_plugin)
+            if(isset($_POST['global'][$id]))
+                $filter->set_global_data($id,$_POST['global'][$id]);
+        $filter->rules[0]->sql_store(get_user_id(),0);
+    }
+    if(isset($_POST['emails']))                 //      FORM emails
+        if(!$mail_pool->handle_form())
+            echo "<p style=\"color:red;\">".$philter->error()."</p>\n";
+
+    if(!empty($_POST['order']['action']))       //      FORM order
+        if($_POST['order']['action']=='submit') {
+            foreach($filter->rules as $id=>$rule)
+                if(isset($_POST['order'][$id]))
+                    $filter->rules[$id]->move_to($_POST['order'][$id], $filter->uid, $id);
+            uasort($filter->rules, 'rule_cmp');
+        } elseif($_POST['order']['action']=='delete' && !empty($_POST['order']['select'])) {
+            $filter->delete_rule($_POST['order']['select']);
+            $_POST['order']['select'] = min(count($filter->rules),$_POST['order']['select']);
+        }
+}
+?>
 <div class="rubrique"><?php i18n('global_title'); ?></div>
 <?php
 i18n('global_help');
@@ -29,7 +53,7 @@ echo $mail_pool->to_form();
 ?>
 <div class="rubrique"><?php i18n('filter_adv'); ?></div>
 <?php i18n('filter_adv_txt'); ?>
-<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
+<form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post">
 <center>
     <input type="submit" value='<?php i18n('filter_adv') ?>' name='set_adv' />
 </center>
index 0c84863..03c9584 100644 (file)
@@ -1,3 +1,10 @@
+<?php
+if(!empty($_POST['rule']))
+    if(!$filter->handle_form())
+        echo "<p style=\"color:red;\">".$philter->error()."</p>\n";
+
+require("include/js_factory.inc.php");
+?>
 <br />
 <div class="rubrique"><?php i18n('filter_title'); ?></div>
 <?php
@@ -71,6 +78,13 @@ i18n('filter_help');
 </tr>
 </table>
 
+<form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post">
+<center>
+    <input type="submit" value='<?php i18n('filter_valid') ?>' name="filter_valid" />
+    <input type="submit" value='<?php i18n('filter_cancel') ?>' name="filter_cancel" />
+</center>
+</form>
+
 <script type="text/javascript">
     createRuleForm();
 </script>
index 74ef94d..3b89bff 100644 (file)
@@ -11,6 +11,7 @@ require_once("include/core.inc.php");
 
 function i18n($_index) { global $philter; echo $philter->i18n($_index); }
 function _i18n($_index) { global $philter; return $philter->i18n($_index); }
+function bd() { global $philter; return ($philter->is_advanced() ? 'tmp_' : ''); }
 
 /** Philter base configuration class
  * This is the base class of Philter.
@@ -36,9 +37,9 @@ class Philter {
         $this->err = "";
     }
 
+    function is_advanced() { return isset($_SESSION['philter_adv']); }
     function set_advanced() { $_SESSION['philter_adv'] = true; }
     function del_advanced() { unset($_SESSION['philter_adv']); }
-    function is_advanced() { return isset($_SESSION['philter_adv']); }
 
     /** returns the i18n string
      * @param   $_index   the index of the string
index 1f3bdfc..6d4f237 100644 (file)
@@ -66,7 +66,7 @@ class ActionPlugin extends Plugin {
     function ActionPlugin() { $this->Plugin(); }
     
     function sql_store($_uid, $_rid, $_data) {
-        mysql_query("INSERT INTO actions SET uid='$_uid',rid='$_rid',pid='{$_data[0]}',data='{$_data[1]}'");
+        mysql_query("INSERT INTO ".bd()."actions SET uid='$_uid',rid='$_rid',pid='{$_data[0]}',data='{$_data[1]}'");
     }
 }
 
@@ -82,9 +82,9 @@ class MatchPlugin extends Plugin {
 
     function sql_store($_uid, $_rid, $_data) {
         if($this->global)
-            mysql_query("INSERT INTO matches SET uid='$_uid',rid='0',pid='{$_data[0]}',data='{$_data[1]}'");
+            mysql_query("INSERT INTO ".bd()."matches SET uid='$_uid',rid='0',pid='{$_data[0]}',data='{$_data[1]}'");
         else
-            mysql_query("INSERT INTO matches SET uid='$_uid',rid='$_rid',pid='{$_data[0]}',data='{$_data[1]}'");
+            mysql_query("INSERT INTO ".bd()."matches SET uid='$_uid',rid='$_rid',pid='{$_data[0]}',data='{$_data[1]}'");
     }
 
     /** true if the plugin is used as global rule
index 9123b29..402b198 100644 (file)
@@ -51,8 +51,9 @@ class Rule {
         $left_joins = "";
         foreach($philter->config['action_plugins'] as $plug)
             $left_joins .= $plug->sql_get();
-        
-        $sql = mysql_query("SELECT * FROM actions WHERE actions.uid='$_uid' AND actions.rid='$_rid' ".$left_joins);
+       
+        $bd = bd()."actions";
+        $sql = mysql_query("SELECT * FROM $bd WHERE $bd.uid='$_uid' AND $bd.rid='$_rid' ".$left_joins);
         
         while($t = mysql_fetch_assoc($sql))
             $this->actions[] = $philter->config['action_plugins'][$t['pid']]->sql_to_data($t);
@@ -65,7 +66,8 @@ class Rule {
         foreach($philter->config['match_plugins'] as $plug)
             $left_joins .= $plug->sql_get();
         
-        $sql = mysql_query("SELECT * FROM matches WHERE matches.uid='$_uid' AND matches.rid='$_rid' ".$left_joins);
+        $bd = bd()."matches";
+        $sql = mysql_query("SELECT * FROM $bd WHERE $bd.uid='$_uid' AND $bd.rid='$_rid' ".$left_joins);
        
         if($_rid)
             while($t = mysql_fetch_assoc($sql))
@@ -79,7 +81,7 @@ class Rule {
         if($this->rank == $_new_rank)
             return;
         $this->rank = $_new_rank;
-        mysql_query("UPDATE rules SET rank='$_new_rank' WHERE uid='$_uid' AND rid='$_rid'");
+        mysql_query("UPDATE ".bd()."rules SET rank='$_new_rank' WHERE uid='$_uid' AND rid='$_rid'");
     }
 
     function to_string() {
@@ -89,9 +91,9 @@ class Rule {
     function sql_clean($_uid, $_rid) {
         global $philter;
 
-        mysql_query("DELETE FROM rules WHERE uid='$_uid' AND rid='$_rid'");
-        mysql_query("DELETE FROM actions WHERE uid='$_uid' AND rid='$_rid'");
-        mysql_query("DELETE FROM matches WHERE uid='$_uid' AND rid='$_rid'");
+        mysql_query("DELETE FROM ".bd()."rules WHERE uid='$_uid' AND rid='$_rid'");
+        mysql_query("DELETE FROM ".bd()."actions WHERE uid='$_uid' AND rid='$_rid'");
+        mysql_query("DELETE FROM ".bd()."matches WHERE uid='$_uid' AND rid='$_rid'");
         foreach($philter->config['action_plugins'] as $plug)
             $plug->sql_clean($_uid, $_rid);
         foreach($philter->config['match_plugins'] as $plug)
@@ -108,7 +110,7 @@ class Rule {
 
         $this->sql_clean($_uid,$_rid);
 
-        mysql_query("INSERT INTO rules SET uid='$_uid',rid='$_rid',rank='{$this->rank}',flags='$flags',name='{$this->name}'");
+        mysql_query("INSERT INTO ".bd()."rules SET uid='$_uid',rid='$_rid',rank='{$this->rank}',flags='$flags',name='{$this->name}'");
 
         if($_rid) {
             foreach($this->matches as $match)
index e8022de..0754965 100644 (file)
@@ -11,40 +11,46 @@ require("include/header.inc.php");
 require("include/philter.inc.php");
 require("include/config.inc.php");
 
-if(isset($_POST['set_adv']))
+function clean_tmp($_uid) {
+    mysql_query("DELETE FROM tmp_rules WHERE uid='$_uid'");
+    mysql_query("DELETE FROM tmp_actions WHERE uid='$_uid'");
+    mysql_query("DELETE FROM tmp_matches WHERE uid='$_uid'");
+}
+
+function to_tmp($_uid) {
+    clean_tmp($_uid);
+    mysql_query("INSERT INTO tmp_rules SELECT * FROM rules WHERE uid='$_uid'");
+    mysql_query("INSERT INTO tmp_actions SELECT * FROM actions WHERE uid='$_uid'");
+    mysql_query("INSERT INTO tmp_matches SELECT * FROM matches WHERE uid='$_uid'");
+}
+
+function to_main($_uid) {
+    mysql_query("DELETE FROM tmp_rules WHERE uid='$_uid'");
+    mysql_query("DELETE FROM tmp_actions WHERE uid='$_uid'");
+    mysql_query("DELETE FROM tmp_matches WHERE uid='$_uid'");
+    mysql_query("INSERT INTO rules SELECT * FROM tmp_rules WHERE uid='$_uid'");
+    mysql_query("INSERT INTO actions SELECT * FROM tmp_actions WHERE uid='$_uid'");
+    mysql_query("INSERT INTO matches SELECT * FROM tmp_matches WHERE uid='$_uid'");
+    clean_tmp($_uid);
+}
+
+if(isset($_POST['set_adv']) && !$philter->is_advanced()) {
     $philter->set_advanced();
+    to_tmp(get_user_id());
+}
 
-$mail_pool = new EmailPool(get_user_id());
-$filter = new Filter(get_user_id());
+if(isset($_POST['filter_valid']) && $philter->is_advanced()) {
+    $philter->del_advanced();
+    to_main(get_user_id());
+}
 
-if(count($_POST)) {                             // a FORM has been submitted
-    if(isset($_POST['global'])) {               //      FORM global
-        foreach($philter->config['global_plugins'] as $id=>$g_plugin)
-            if(isset($_POST['global'][$id]))
-                $filter->set_global_data($id,$_POST['global'][$id]);
-        $filter->rules[0]->sql_store(get_user_id(),0);
-    }
-    if(isset($_POST['emails']))                 //      FORM emails
-        if(!$mail_pool->handle_form())
-            echo "<p style=\"color:red;\">".$philter->error()."</p>\n";
-
-    if(!empty($_POST['order']['action']))       //      FORM order
-        if($_POST['order']['action']=='submit') {
-            foreach($filter->rules as $id=>$rule)
-                if(isset($_POST['order'][$id]))
-                    $filter->rules[$id]->move_to($_POST['order'][$id], $filter->uid, $id);
-            uasort($filter->rules, 'rule_cmp');
-        } elseif($_POST['order']['action']=='delete' && !empty($_POST['order']['select'])) {
-            $filter->delete_rule($_POST['order']['select']);
-            $_POST['order']['select'] = min(count($filter->rules),$_POST['order']['select']);
-        }
-
-    if(!empty($_POST['rule']))                  //      FORM rule
-        if(!$filter->handle_form())
-            echo "<p style=\"color:red;\">".$philter->error()."</p>\n";
+if(isset($_POST['filter_cancel']) && $philter->is_advanced()) {
+    $philter->del_advanced();
+    clean_tmp(get_user_id());
 }
 
-require("include/js_factory.inc.php");
+$mail_pool = new EmailPool(get_user_id());
+$filter = new Filter(get_user_id());
 
 if($philter->is_advanced())
     require("include/form_filter.inc.php");
index ff0863a..0e3fa79 100644 (file)
@@ -16,6 +16,8 @@ function is_auth() {
     return false;
 }
 
+session_start();
+
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
index 4149a5a..a3aa215 100644 (file)
@@ -30,6 +30,8 @@ $philter->config['i18n'] = Array(
     'filter_adv_txt' => 'Click here to have access to the advanced filtering options. <strong>Be
         careful :</strong> thie functionnality is designed for advanced users and could lead to
         mail losses',
+    'filter_valid' => 'Validate',
+    'filter_cancel' => 'Cancel',
     'filter_title' => 'Individuals Rules',
     'filter_list_title' => 'Filter List',
     'filter_err_empty' => 'You cannot add an empty rule',
index c4f2c5b..2612eb3 100644 (file)
@@ -40,6 +40,8 @@ $philter->config['i18n'] = Array(
         ici et en cliquant sur Ajouter.</p>',
     
     'filter_adv' => 'Interface avancée',
+    'filter_valid' => 'Valider',
+    'filter_cancel' => 'Annuler',
     'filter_adv_txt' => 'Clique sur le bouton suivant pour avoir accès aux options avancées de
         filtrage de mails. <strong>attention :</strong> cette fonctionnalité est réservée à des
         utilisateurs avancés, et peut être la source de perte de mails',