<$rules> * @return * @access */ public function formatSieveScript( $rules ) { $require_fileinto = $require_flag = $require_reject = $require_vacation = $require_body = $require_imapflag = $vacation = $startswith = $endswith = false; $script_rules = $script_header = $script_criteria = ""; $i = 0; foreach( $rules as $name => $data ) { //if( $data['enabled'] ) //continue; $criteria = $data['criteria']; $action = $data['actions']; ($i >0) ? $script_match = 'els' : $script_match = ''; $data['isExact'] == 'false' ? $script_match .= 'if anyof (' : $script_match .= 'if allof ('; for ($j=0; $j': $criteria[$j]['operator'] = "over"; break; case '<': $criteria[$j]['operator'] = "under"; break; case '=': $criteria[$j]['operator'] = "is"; $criteria[$j]['value'] = "[\"" . $criteria[$j]['value'] . "\"]"; break; case '*': $criteria[$j]['operator'] = "contains"; $criteria[$j]['value'] = "[\"" . $criteria[$j]['value'] . "\"]"; break; case '^': $criteria[$j]['operator'] = "matches"; $criteria[$j]['value'] = "[\"" . $criteria[$j]['value'] . "*\"]"; $startswith = true; break; case '$': $criteria[$j]['operator'] = "matches"; $criteria[$j]['value'] = "[\"*" . $criteria[$j]['value'] . "\"]"; $endswith = true; break; /* TO-DO: Arrrumar regra do "não contém". */ case '!*': $criteria[$j]['operator'] = "contains"; $criteria[$j]['value'] = "[\"" . $criteria[$j]['value'] . "\"]"; break; } if ($criteria[$j]['field'] == "" || $criteria[$j]['field'] == "\"subject\"" || $startswith || $endswith) { $script_criteria .= $criteria[$j]['operator'] . " " . $criteria[$j]['field'] . " " . $criteria[$j]['value'] . ", "; $startswith = $endswith = false; } else $script_criteria .= $criteria[$j]['operator'] . " " . $criteria[$j]['field'] . " " . $criteria[$j]['value'] . ", "; } $script_criteria = substr($script_criteria,0,-2); if ($vacation == false) $script_criteria .= ")"; else $script_criteria = ""; $script_action = " {\r\n "; for ($k=0; $k <$script>