| 1 | <?php |
| 2 | |
| 3 | function smarty_function_merge_arrays($params,&$smarty) { |
| 4 | |
| 5 | $array1=$params['array1']; |
| 6 | $array2=$params['array2']; |
| 7 | $sort_by=$params['sort_by']; |
| 8 | $orderby=$params['orderby']; |
| 9 | if ($orderby=='asc') $order=SORT_ASC; |
| 10 | elseif ($orderby=='desc') $order=SORT_DESC; |
| 11 | else $order=SORT_DESC; |
| 12 | |
| 13 | $index1=count($array1)-1; |
| 14 | $array1_last=$array1[$index1]['node_created']; |
| 15 | $array1_last_time=$array1_last." GMT"; |
| 16 | |
| 17 | $index2=count($array2)-1; |
| 18 | $array2_last=$array2[$index2]['node_created']; |
| 19 | $array2_last_time=$array2_last." GMT"; |
| 20 | |
| 21 | $array2_first=$array2[0]['node_created']; |
| 22 | $array2_first_time=$array2_first." GMT"; |
| 23 | |
| 24 | $array1_first=$array1[0]['node_created']; |
| 25 | $array1_first_time=$array1_first." GMT"; |
| 26 | |
| 27 | |
| 28 | $array=array_merge($array1,$array2); |
| 29 | |
| 30 | if ($sort_by=='thread') { |
| 31 | $i=0; |
| 32 | for($i=0; $i<count($array); $i++){ |
| 33 | if ($order==SORT_DESC) $sortarr[]=count($array[$i]['node_vector']).";".$array[$i]['node_vector'].";".$array[$i]['node_id'].";z"; |
| 34 | if ($order==SORT_ASC) $sortarr[]=count($array[$i]['node_vector']).";".$array[$i]['node_vector'].";".$array[$i]['node_id']; |
| 35 | } |
| 36 | array_multisort($sortarr,$order,$array); |
| 37 | } |
| 38 | |
| 39 | else { |
| 40 | $i=0; |
| 41 | for($i=0; $i<count($array); $i++) { |
| 42 | $sortarr[]=$array[$i][$sort_by]; |
| 43 | } |
| 44 | array_multisort($sortarr,$order,$array); |
| 45 | } |
| 46 | |
| 47 | |
| 48 | $smarty->assign('merged',$array); |
| 49 | |
| 50 | } |
| 51 | ?> |