A_single_file_wiki_wifky2.png

[hack] ץ饰Υץ(1)

[Add this entry to hatena bookmark]

ץ饰μΤäȤ褯Ȥ롢 饤ץ饰ȥץ饰ΰҲ𤷤ޤ

֥ءץץ饰

HeeפȤܥɽޤ ܥ򲡲ȡܥβΥ󥿡 +1 ޤ

Hee.PNG (ϲʤΤDzޤ)

### 饤ץ饰ȥץ饰Ȥä
### ץץ饰֥ء
###
### Ȥ
###     ڡΤɤ ((hee)) Ƚ

package wifky::hee;

### ȯϥȤ򳰤ơٹ򶯲Ƥ
### (꡼˥ȥȤΤϡ
###  use strict ʤŤץХĶΤ)

# use strict; use warnings;


# ֥ءץܥɽ륤饤ץ饰
$::inline_plugin{'hee'} = sub {
    ### ڡ̾.
    my $pagename=$::form{p};

    ### ֥å = Ϥ HTML Ȥʤ.
    sprintf('<form action="%s" method="post">
             <input type="hidden" name="a" value="hee_commit">
             <input type="hidden" name="p" value="%s">
             <input type="submit" name="text" value="Hee%s" >
             </form>' 
         , &::enc($::postme)  # POST˻Ȥ CGIѥ
         , &::enc($pagename)  # եΥڡ̾
         , &::read_object($pagename,'hee_count') # źեե(hee_count)ɤ
    );
    # ؿ &::enc ϡ< > &  &lt; &gt; &amp; Ѵؿ
};


# ֥ءץܥ򲡤ȡa=hee_commit Ȥ CGI ѥ᡼ǡ
# wifky ƤӽФ롣κݡʲδؿ¹Ԥ롣

$::action_plugin{'hee_commit'} = sub {
    ### ڡ̾ ###
    my $pagename = $::form{p};

    ### ΥڡΥå򤫤
    ### θ塢Υ֥å¹Ԥ롣
    ### ֥åμ¹Ԥä顢å롣
    &::lockdo(
        sub{
            ### å򤫤Ƥ֤˥󥿡䤹 ###
            my $cnt = &::read_object( $pagename , 'hee_count') || 0;
            &::write_object( $pagename , 'hee_count' , ++$cnt );
        } 
        , $pagename
    );

    ### Wait or Click Here פȤɽơ
    ### ̤Υڡܤ롣
    ### (󥯥å󤪤ȡɤƤ⥫󥿤ʤ)
    &::transfer_page( $pagename );
};

|

Designed for @nifty.