function links2wp($links = '') { // General Housekeeping global $wpdb; $count = 0; // Deal with the links if (is_array($links)) { echo '<p>' . __('Importing Links...') . '<br /><br /></p>'; foreach ($links as $link) { $count++; extract($link); if ($title != "") { if ($cinfo = is_term(csc($title), 'link_category')) { $category = $cinfo['term_id']; } else { $category = wp_insert_term($wpdb->escape(csc($title)), 'link_category'); $category = $category['term_id']; } } else { $linkname = $wpdb->escape(csc($label)); $description = $wpdb->escape(csc($title)); if ($linfo = link_exists($linkname)) { $ret_id = wp_insert_link(array('link_id' => $linfo, 'link_url' => $href, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description)); } else { $ret_id = wp_insert_link(array('link_url' => $url, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description)); } $dclinks2wplinks[$link_id] = $ret_id; } } add_option('dclinks2wplinks', $dclinks2wplinks); echo '<p>'; printf(__('Done! <strong>%s</strong> links or link categories imported'), $count); echo '<br /><br /></p>'; return true; } echo __('No Links to Import!'); return false; }
function cac_func($f, $s, $tqwe = 0) { global $pi; $tma = 'Too many arguments'; $tfa = 'Too few arguments'; $a = explode(',', $s); $c = count($a); if ($tqwe == 0) { for ($i = 0; $i < $c; ++$i) { $a[$i] = substr($a[$i], 1, strlen($a[$i]) - 2); } } if ($f == 'count') { $r = $c; } elseif ($f == 'gcdr') { if ($a[1] == 0) { $r = $a[0]; } else { $r = cac_func('gcdr', $a[1] . ',' . (bc() ? bcmod($a[0], $a[1]) : $a[0] % $a[1]), 1); } } elseif ($f == 'root') { $r = pow($a[0], 1 / $a[1]); } elseif ($f == 'gcd') { $q = $a[0]; for ($i = 1; $i < $c; ++$i) { $q = cac_func('gcdr', $q . ',' . $a[$i], 1); } $r = $q; } elseif ($f == 'lcmc') { $gcd = cac_func('gcdr', $s, 1); $r = bc() ? bcmul(bcdiv($a[0], $gcd), $a[1]) : $a[0] / $gcd * $a[1]; } elseif ($f == 'lcm') { $r = $a[0]; for ($i = 1; $i < $c; ++$i) { $r = cac_func('lcmc', $r . ',' . $a[$i], 1); } } elseif ($f == 'plus') { $r = bc() ? bcadd($a[0], $a[1]) : $a[0] + $a[1]; } elseif ($f == 'minus') { $r = bc() ? bcsub($a[0], $a[1]) : $a[0] - $a[1]; } elseif ($f == 'multiply') { $r = bc() ? bcmul($a[0], $a[1]) : $a[0] * $a[1]; } elseif ($f == 'divide') { if ($a[1] == 0) { addmsg(ERR, 'Divided by zero'); } $r = bc() ? bcdiv($a[0], $a[1]) : $a[0] / $a[1]; } elseif ($f == 'sum') { $r = 0; for ($i = 0; $i < $c; ++$i) { $r = bc() ? bcadd($r, $a[$i]) : $r + $a[$i]; } } elseif ($f == 'average') { $r = cac_func('sum', implode(',', $a), 1); $r = bc() ? bcdiv($r, $c) : $r / $c; } elseif ($f == 'avedev') { $ave = cac_func('average', implode(',', $a), 1); $r = '0'; if (bc()) { for ($i = 0; $i < $c; ++$i) { $tmp = bcsub($a[$i], $ave); if (substr($tmp, 0, 1) == '-') { $tmp = substr($tmp, 1); } $r = bcadd($r, $tmp); $r = bcdiv($r, $c); } } else { for ($i = 0; $i < $c; ++$i) { $tmp = $a[$i] + $ave; if ($tmp < 0) { $tmp *= -1; } $r += $tmp; $r /= $c; } } } elseif ($f == 'stdev') { $ave = cac_func('average', implode(',', $a), 1); $r = 0; for ($i = 0; $i < $c; ++$i) { $r = bc() ? bcadd($r, bcpow(bcsub($a[$i], $ave), '2')) : $r + pow($a[$i] - $ave, 2); } $r = bc() ? bcsqrt(bcdiv($r, $c - 1)) : sqrt($r / ($c - 1)); } elseif ($f == 'stdevp') { $ave = cac_func('average', implode(',', $a), 1); $r = 0; for ($i = 0; $i < $c; ++$i) { $r = bc() ? bcadd($r, bcpow(bcsub($a[$i], $ave), '2')) : $r + pow($a[$i] - $ave, 2); } $r = bc() ? bcsqrt(bcdiv($r, $c)) : sqrt($r / $c); } elseif ($f == 'min') { if ($a[0] > $a[1]) { $r = $a[1]; } else { $r = $a[0]; } } elseif ($f == 'max') { if ($a[0] > $a[1]) { $r = $a[0]; } else { $r = $a[1]; } } elseif ($f == 'fac') { if ($c > 1) { addmsg(WARN, $tma); } if (floor($a[0]) != $a[0]) { addmsg(ERR, 'Argument should be an integer'); } $i = 1; for ($j = 1; $j <= $a[0]; ++$j) { if (bc()) { $i = bcmul($i, $j); } else { $i *= $j; } } $r = $i; } elseif ($f == 'c') { if ($c > 2) { addmsg(WARN, $tma); } if ($c < 2) { addmsg(WARN, $tfa); } $r = cac_func('fac', $a[0], 1) / cac_func('fac', $a[1], 1) / cac_func('fac', cac_func('minus', $a[0] . ',' . $a[1], 1), 1); } elseif ($f == 'abs') { for ($i = 0; $i < $c; ++$i) { if (substr($a[$i], 0, 1) == '-') { $a[$i] = substr($a[$i], 1); } } $r = implode(',', $a); } elseif ($f == 'ceil') { for ($i = 0; $i < $c; ++$i) { $a[$i] = ceil($a[$i]); } $r = implode(',', $a); } elseif ($f == 'floor') { for ($i = 0; $i < $c; ++$i) { $a[$i] = floor($a[$i]); } $r = implode(',', $a); } elseif ($f == 'round') { if ($c > 2) { addmsg(WARN, $tma); $r = 0; } if ($c == 1) { $a[1] = 0; } $r = round($a[0], $a[1]); } elseif ($f == 'radians') { $r = bc() ? bcdiv(bcmul($a[0], $pi), 180) : $a[0] * $pi / 180; } elseif ($f == 'degrees') { $r = bc() ? bcdiv(bcmul($a[0], 180), $pi) : $a[0] * 180 / $pi; } elseif ($f == 'log') { if ($c > 2) { addmsg(WARN, $tma); $r = 0; } if ($c == 1) { $a[1] = '10'; } $r = log($a[0], $a[1]); } elseif ($f == 'ln') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = log($a[0]); } elseif ($f == 'pow') { if ($c > 2) { addmsg(WARN, $tma); $r = 0; } if ($c < 2) { addmsg(WARN, $tma); $r = 0; } if (strpos($a[1], '.') === false) { $r = bc() ? bcpow($a[0], $a[1]) : pow($a[0], $a[1]); } else { $r = pow($a[0], $a[1]); } } elseif ($f == 'sqrt') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = bc() ? bcsqrt($a[0]) : sqrt($a[0]); } elseif ($f == 'exp') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = exp($a[0]); } elseif ($f == 'mod') { if ($c > 2) { addmsg(WARN, $tma); $r = 0; } if ($c < 2) { addmsg(WARN, $tfa); $r = 0; } $r = bc() ? bcmod($a[0], $a[1]) : $a[0] % $a[1]; } elseif ($f == 'sin') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = sin($a[0]); } elseif ($f == 'cos') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = cos($a[0]); } elseif ($f == 'tan') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = tan($a[0]); } elseif ($f == 'cot') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = cot($a[0]); } elseif ($f == 'sec') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = sec($a[0]); } elseif ($f == 'csc') { if ($c > 1) { addmsg(WARN, $tma); $r = 0; } $r = csc($a[0]); } elseif ($f == 'analyze') { if ($c > 1) { addmsg(WARN, $tma); } $r = $a[0]; $t = $r; $b = array(); $e = array(); $z = 0; $i = 2; $m = ''; if (bc()) { if (substr($r, 0, 1) == '-') { $m .= ' -1'; $t = bcmul($t, '-1'); } while ($t != '1') { if (bcmod($t, $i) == '0') { $z = count($b); $t = bcdiv($t, $i); $b[$z] = $i; $e[$z] = 1; } while (bcmod($t, $i) == '0') { ++$e[$z]; $t = bcdiv($t, $i); } $i = bcadd($i, 1); } } else { if (substr($r, 0, 1) == '-') { $m .= ' -1'; $t *= -1; } while ($t != 1) { $bak = $t; if ($t % $i == 0) { $z = count($b); $t /= $i; $b[$z] = $i; $e[$z] = 1; } while ($t % $i == 0) { ++$e[$z]; $t = $t / $i; } ++$i; if ($bak == $t) { addmsg(ERR, 'The number might be too large.'); break; } } } for ($i = 0; $i <= $z; ++$i) { $b[$i] = preg_replace('/\\.0+$/', '', $b[$i]); $m .= ' ' . $b[$i] . ($e[$i] > 1 ? '<sup>' . $e[$i] . '</sup>' : ''); } addmsg(INFO, $r . ' =' . $m); } if ($tqwe == 0) { $r = '<' . $r . '>'; } return $r; }