break; case 'itunes': //ok show_duo($items, $site, $y, $m, $d); break; case 'wearehunted': //ok show_duo($items, $site, $y, $m, $d); break; case 'twitter': //ok show_duo($items, $site, $y, $m, $d); break; case 'wordpress': //ok show_lines($items, $site, $y, $m, $d); break; } /* //For XML if ( $domains[$site]['type'] == 'xml' ) { $file_content = file_get_contents($feedUrl); if($file_content) { $xml = simplexml_load_string($file_content, null, LIBXML_NOCDATA); if($xml !== false) { show_site ( $site, $xml, $item_number ); }
function lint($text, $verbosity) { /* input: $text : text to analyse $verbosity : [0,1,2] debug level (0 no debug info, 2 max verbosity es.: result = lint($text,0); cyclomatic complexity increase for each token: if : number of logical conditions (es. if ($a && $b) {} determines an increment of two) elseif : number of logical conditions else : 0 case : 1 default : 1 while : number of logical conditions for : 1 foreach : 1 try : 1 */ // configurations $only_code = 0; // [0,1] 0 -> also show line numbers $max_lines = 10000; // max number of lines to show $parameters = array(); $parameters['list_begin_end_tokens'] = array('if', 'else', 'elseif', 'try', 'catch', 'while', 'do', 'for', 'foreach'); $parameters['list_mid_tokens'] = array('else', 'elseif', 'catch'); // check input if (empty($text)) { die('Insert some text!'); } if (!in_array($verbosity, range(0, 2))) { stampa('0: no debug info'); stampa('1: show some debug info'); stampa('2: show all debug info'); stampa(' '); die('Wrong value for "verbosity"!'); } // parse input (treat the text as one file) $list_files = array($text); // iterate for each file $list_result = array(); for ($i_file = 0; $i_file < count($list_files); $i_file++) { $text = $list_files[$i_file]; // just print file content if ($verbosity) { stampa(sprintf('%3d)', $i_file)); } if ($verbosity) { stampa(sprintf('Text Reading...')); } $temp_result = read_phptext($text); $list_lines_in = $temp_result[0]; $list_numlines_in = $temp_result[1]; if ($verbosity >= 2) { show_lines($list_lines_in, $list_numlines_in, array_fill(0, count($list_numlines_in), 0), $only_code, $max_lines); } // all text but php code is filtered out: // // $a=1; /* comment1 */ echo($a) // comment 2 // becomes // $a=1; // echo($a) // if ($verbosity) { stampa('Code Filtering...'); } $temp_result = filter_text($list_lines_in, $list_numlines_in); $list_lines_code = $temp_result[0]; $list_numlines_code = $temp_result[1]; if ($verbosity >= 2) { show_lines($list_lines_code, $list_numlines_code, array_fill(0, count($list_numlines_code), 0), $only_code, $max_lines); } // every line is split into separate tokens (the separator is ";"): // // $a=1;echo($a) // becomes // $a=1; // echo($a) // if ($verbosity) { stampa('Code Splitting...'); } $temp_result = parse_mfile($list_lines_code, $list_numlines_code, $parameters['list_begin_end_tokens']); $list_lines_split = $temp_result[0]; $list_numlines_split = $temp_result[1]; if ($verbosity >= 2) { show_lines($list_lines_split, $list_numlines_split, array_fill(0, count($list_numlines_split), 0), $only_code, $max_lines); } // each line is reassembled, trying to have one instruction for each line, without blank spaces, and no // simple instructions (for example: if (true) disp('true') --> if (true) {disp('true')}) if ($verbosity) { stampa('Code Reassembling...'); } $temp_result = reassemble_mfile($list_lines_split, $list_numlines_split, $parameters); $list_lines_out = $temp_result[0]; $list_numlines_out = $temp_result[1]; if ($verbosity >= 2) { show_lines($list_lines_out, $list_numlines_out, array_fill(0, count($list_numlines_out)), $only_code, $max_lines); } if ($verbosity) { stampa('Code Indenting...'); } $temp_result = indent_mfile($list_lines_out, $list_numlines_out); $list_indent_out = $temp_result[0]; $lista_functions = $temp_result[1]; $lista_function_names = $temp_result[2]; $list_lines_out = $temp_result[3]; $indent_mccount = $temp_result[4]; $temp_result = check_unused_functions($lista_functions, $lista_function_names); $lista_functions = $temp_result[0]; $is_script = $temp_result[1]; if ($verbosity >= 2) { show_lines($list_lines_out, $list_numlines_out, $list_indent_out, $only_code, $max_lines, $indent_mccount); } $res_lint = show_functions($lista_functions, $verbosity); $result = array(); $result['lines_in'] = array('lines' => $list_lines_in, 'numlines' => $list_numlines_in); $result['lines_split'] = array('lines' => $list_lines_split, 'numlines' => $list_numlines_split); $result['lines_out'] = array('lines' => $list_lines_out, 'numlines' => $list_numlines_out, 'list_indent_out' => $list_indent_out, 'indent_mccount' => $indent_mccount); $result['lista_functions'] = $lista_functions; $result['res_lint'] = $res_lint; $list_result[$i_file] = $result; } // end for $i_file // end return $list_result; }