示例#1
0
 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;
 }
示例#2
0
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 .= '&nbsp;-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 .= '&nbsp;-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 .= '&nbsp;&nbsp;' . $b[$i] . ($e[$i] > 1 ? '<sup>' . $e[$i] . '</sup>' : '');
        }
        addmsg(INFO, $r . '&nbsp;=' . $m);
    }
    if ($tqwe == 0) {
        $r = '<' . $r . '>';
    }
    return $r;
}