O pv2c, s.r.o.

Spoločnosť pv2c, s.r.o. bola založená v roku 2001.

Dôvodom založenia vlastnej firmy bola naša nespokojnosť s existujúcimi softvérovými produktami. Všetci sme už mali skúsenosti s prácou pre veľké a stredne veľké spoločnosti, na programátorských a administrátorských miestach. Tam sme sa presvedčili, že o zásadných veciach väčšinou rozhodujú ľudia bez potrebných vedomostí a skúseností. Aj samotné produkty sú prevažne donekonečna upravované a rozširované programy staré niekoľko rokov. Hlavnou prácou na nich je hľadanie a opravovanie chýb.

Je nám jasné, že nič nemôže byť dokonalé. Napriek tomu sa ešte stále idealisticky nazdávame, že je možné vytvoriť naozaj kvalitný softvér. Od začiatku navrhovaný čo najuniverzálnejšie a s čo najmenšími obmedzeniami. Čo najlepšie konfigurovateľný, modulárny a viacvrstvový. Používajúci otvorené štandardy a prevádzkovaný hlavne na systémoch s otvoreným kódom.

S takýmto softvérom sa nemôže stať, že pri neočakávane rýchlom raste firmy prestane stačiť a treba prechádzať na iný. V prípade potreby zmeny rozhrania (alebo jeho výzoru) ho netreba celý prerábať. Nie je závislý na žiadnom konkrétnom produkte nejakej komerčnej firmy. Zmena jedného parametra (napríklad spôsob výpočtu, alebo sadzby DPH) nevyžaduje komplikované (a drahé) upravovanie kódu. Možnosť nových výstupných formátov (napríklad WML pre WAP) je samozrejmosťou. Je maximálne prispôsobený konkrétnym požiadavkám používateľa a nenúti ho kupovať doplnkové aplikácie vyžadované funkciami, ktoré vlastne nepotrebuje.

Nevýhodou takéhoto prístupu je o niečo dlhšia fáza vývoja a prispôsobovania (konfigurácie). Za to sa vám ale odmení bezproblémovou a spoľahlivou prevádzkou. Opačný prípad, čiže kúpiť „jednoduchý“ produkt a následne s ním mať celý čas problémy, sa nám zdá menej výhodný...

Ak sa chcete sami presvedčiť, nakoľko sa nám tento cieľ podarilo splniť, pozrite sa na naše služby a produkty.

Pbatenghyngvbaf Lbh ner n bofreinag jro unpxre Vs Lbh jnag n wbo va bhe pbzcnal cyrnfr znvy gb gbhtuthl ng ci2p qbg fx Unir n avpr qnl
Jsme v rejži. 
		-- Pu Yi
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }
        
    function perr($msg, $level)
    {
        echo $msg;
    }

    function readcsv_get_entity($fh, $sep = ';')
    {
        $entity = array();
        $attr = '';
        $eoe = false;

        while((! feof($fh)) && (! $eoe))
        {
            $ch = fgetc($fh);
            switch($ch)
            {
                case "\r":
                    break;
                case "\n":
                    $eoe = true;
                case $sep:
                    array_push($entity, $attr);
                    $attr = '';
                    break;
                case '"':
                    $ch = '';
                    while((! feof($fh)) && $ch != '"')
                    {
                        $ch = fgetc($fh);
                        $attr .= $ch;
                    }
                    $attr = rtrim($attr, '"');
                    break;
                default:
                    $attr .= $ch;
            }
        }

        if(feof($fh) && ($entity || $attr))
        {
            array_push($entity, $attr);
        }
        elseif(feof($fh))
        {
            $entity = false;
        }

        return $entity;
    }

    function readcsv_parsecsv($filename)
    {
        $ret = false;
        $sep = ';';
        $line = '';
        $line_num = 0;
        $cells = array();
        $names = array();

        $fh = fopen($filename, 'r');
        if(! $fh)
        {
            perr('Failed to open file \''
                . $file . "'\n", 8);
        }
        else
        {
        $line = '';
        while(! feof($fh))
        {
        $entity = readcsv_get_entity($fh, $sep);

        if($entity)
        {
        if($line_num == 0)
        {
        foreach($entity as $name)
        {
            array_push($names, trim($name, '"'));
        }
        }
        else
        {
        foreach($entity as $index => $val)
        {
        if(isset($names[$index]))
        {
            $cells[$line_num][$names[$index]]
                = trim($val, '"');
        }
        else
        {
            array_push($cells[$line_num],
                trim($val, '"'));
        }                            
        }
        }
        $line_num ++;
        }
        }
        fclose($fh);
        }

        return $ret;
    }