WordPress.org

Plugin Directory

Changeset 418408


Ignore:
Timestamp:
08/02/11 21:09:35 (3 years ago)
Author:
tlovett1
Message:
 
Location:
custom-contact-forms
Files:
3 added
18 edited

Legend:

Unmodified
Added
Removed
  • custom-contact-forms/tags/4.7.0.0/css/custom-contact-forms-admin.css

    r418396 r418408  
    600600} 
    601601 
    602 #message { margin-bottom:9px; height: 196px; width: 95%; } 
     602#message { margin-bottom:9px; } 
     603#message-textarea { height: 196px; width: 95%; margin-bottom:9px; } 
  • custom-contact-forms/tags/4.7.0.0/custom-contact-forms-admin.php

    r418396 r418408  
    18541854                        <?php _e("Your Message:", 'custom-contact-forms'); ?> 
    18551855                        </label> 
    1856                         <textarea id="message" name="message"></textarea> 
     1856                        <textarea id="message-textarea" name="message"></textarea> 
    18571857                      </li> 
    18581858                    </ul> 
  • custom-contact-forms/trunk/css/custom-contact-forms-admin.css

    r387684 r418408  
    11#customcontactforms-admin { 
    22    vertical-align:top; 
    3     margin:1em 0 30px 25px; 
    4     overflow:visible; 
    5     min-width:1020px; 
     3    margin:1em 15px 0px 0px; 
     4     
    65} 
    76#customcontactforms-admin .plugin-header { 
    87    clear:both; 
    9     padding:0; 
    10     margin:0; 
    11     width:100%; 
    12     display:block; 
    13     height:60px; 
     8    height:50px; 
    149    background:url(../images/admin-icon.png) no-repeat 0px 10px; 
    1510} 
     
    2116    display:block; padding:0; 
    2217} 
    23 #customcontactforms-admin .plugin-header input { 
     18#customcontactforms-admin .plugin-header .links { 
    2419    float:right; 
    25     display:block; 
    2620    clear:none; 
    27     margin-top:.9em; 
    28 } 
    29 #customcontactforms-admin .plugin-header input.quick-start-button { color:red; margin-right:65px; } 
     21    margin-top:25px; 
     22} 
     23#customcontactforms-admin .plugin-header input.quick-start-button { color:red; margin-right:5px; } 
    3024#customcontactforms-admin .plugin-header input.usage-popover-button { 
    3125    margin-right:10px; 
     
    5246} 
    5347#customcontactforms-admin label { font-weight:bold; } 
    54 #customcontactforms-admin input, textarea, select { 
    55     font-size:1em; 
    56 } 
     48 
    5749#customcontactforms-admin .inside { 
    5850    padding:5px 10px 10px 10px; 
     
    6153    margin:0 0 7px 0; 
    6254    height:25px; 
    63     padding: 7px 0 0 9px; 
     55    padding: 7px 0 0 7px; 
    6456} 
    6557#customcontactforms-admin #instructions { 
     
    7062} 
    7163#customcontactforms-admin #contact-author { 
    72     float:left; 
    73     width:380px; 
    74     margin:5px 1em 1em 6px; 
    75 } 
     64 
     65} 
     66 
     67#contact-author ul { float:left; margin-right:15px; } 
     68#contact-author ul.message { clear:both; float:none; } 
    7669 
    7770#customcontactforms-admin #custom-html { 
    78     float:left; 
    79     width:520px; 
    80     margin:5px 1em 1em 6px; 
     71     
    8172} 
    8273#customcontactforms-admin #custom-html p { margin: 0; padding:0; } 
    8374#customcontactforms-admin #custom-html #custom_html_textarea { 
    84     width:495px; 
     75    width:80%; 
     76    margin-top:10px; 
    8577    height:250px; 
    8678} 
     
    9587#customcontactforms-admin .rate-me { 
    9688    background-color:#FFFEEB; 
    97     width:920px; 
    9889    border:1px solid #cccccc; 
    9990    padding:7px; 
    10091    display:block; 
    10192    height:30px; 
     93    font-size:13px; 
    10294    clear:both; 
    10395    text-align:center; 
    104     margin:.5em 0 .8em 5px; 
     96    margin:.5em 5px .8em 5px; 
    10597    -moz-border-radius:11px; 
    10698    -webkit-border-radius:11px; 
     
    108100} 
    109101 
    110 #customcontactforms-admin .rate-me a { font-weight:bold; width:auto; margin-left:20px; display:block; float:left; text-decoration:none; margin:6px 0 10px 0; } 
     102#customcontactforms-admin .rate-me a { font-weight:bold; width:auto; margin-left:20px;font-size:13px; display:block; float:left; text-decoration:none; margin:6px 0 10px 0; } 
    111103#customcontactforms-admin .rate-me input[type=image] { float:right; } 
    112104 
    113105#customcontactforms-admin .action-complete { 
    114106    background-color:#2bd604; 
    115     width:920px; 
    116107    border:1px solid #333; 
    117108    padding:7px 7px 1px 7px; 
     
    122113    font-weight:bold; 
    123114    text-align:center; 
    124     margin:.5em 0 .8em 5px; 
     115    margin:.5em 5px .8em 5px; 
    125116    -moz-border-radius:11px; 
    126117    -webkit-border-radius:11px; 
     
    154145 
    155146#customcontactforms-admin #form-submissions-table { 
    156     clear:both; 
    157     width:1000px; 
     147     
    158148} 
    159149#customcontactforms-admin  .genesis { 
    160150    text-align:center; 
    161151    background-color:#FFFEEB; 
    162     width:920px; 
    163152    border:1px solid #cccccc; 
    164153    display:block; 
    165154    height:30px; 
     155    color: #21759B; 
     156    font-size:13px; 
    166157    font-weight:bold; 
    167158    text-decoration:none; 
    168159    padding:7px 7px 7px 7px; 
    169     margin:.5em 0 .8em 5px; 
     160    margin:.5em 5px .8em 5px; 
     161    -moz-border-radius:11px; 
     162    -webkit-border-radius:11px; 
     163    border-radius:11px; line-height:normal; 
     164} 
     165#customcontactforms-admin  .genesis span { color:red; font-weight:bold; } 
     166 
     167#customcontactforms-admin  .checkbox-warning { 
     168    text-align:center; 
     169    background-color:#FF3333; 
     170    border:1px solid #ff0000; 
     171    display:block; 
     172    height:auto; 
     173    color: #fff; 
     174    font-size:13px; 
     175    font-weight:bold; 
     176    text-decoration:none; 
     177    padding:7px 7px 7px 7px; 
     178    margin:.5em 5px .8em 5px; 
     179    -moz-border-radius:11px; 
     180    -webkit-border-radius:11px; 
     181    border-radius:11px; line-height:normal; 
     182} 
     183#customcontactforms-admin  .checkbox-warning span { font-weight:bold; } 
     184 
     185#customcontactforms-admin form.blog-horizontal-form { 
     186    background-color:#FFFEEB; 
     187    border:1px solid #cccccc; 
     188    padding:7px; 
     189    display:block; 
     190    height:30px; 
     191    font-size:13px; 
     192    text-align:center; 
     193    margin:.5em 5px .8em 5px; 
    170194    -moz-border-radius:11px; 
    171195    -webkit-border-radius:11px; 
    172196    border-radius:11px; 
    173     font-size:11px; 
    174197    line-height:normal; 
    175198} 
    176 #customcontactforms-admin  .genesis span { color:red; font-weight:bold; } 
    177  
    178 #customcontactforms-admin form.blog-horizontal-form { 
    179     background-color:#FFFEEB; 
    180     width:920px; 
    181     border:1px solid #cccccc; 
    182     padding:7px; 
    183     display:block; 
    184     height:30px; 
    185     text-align:center; 
    186     margin:.5em 0 .8em 5px; 
    187     -moz-border-radius:11px; 
    188     -webkit-border-radius:11px; 
    189     border-radius:11px; 
    190     font-size:11px; 
    191     line-height:normal; 
    192 } 
     199 
     200 
    193201 
    194202#customcontactforms-admin form.blog-horizontal-form input[type=text] { width:100px; } 
     
    209217 
    210218#customcontactforms-admin #import, #customcontactforms-admin #export { 
    211     clear:both; 
    212     width:1000px; 
    213     margin:20px 1em 1em 5px; 
     219     
    214220} 
    215221#customcontactforms-admin #export input { margin:7px; } 
     
    219225#customcontactforms-admin #import ul { margin:6px; } 
    220226#customcontactforms-admin #import ul li { width:130px; float:left; } 
    221 #customcontactforms-admin #import ul li label { font-size:.9em; } 
     227#customcontactforms-admin #import ul li label { } 
    222228#customcontactforms-admin #import input[type=checkbox] { margin-left:9px; } 
    223229#customcontactforms-admin #import p { padding:0 0 5px 0; margin:0; } 
    224230 
    225231#customcontactforms-admin #manage-field-options table { 
    226     font-size:1em; 
    227232    margin: 0 0 5px 14px; 
    228233    width:95%; 
     
    231236#customcontactforms-admin #manage-field-options table thead,  
    232237#customcontactforms-admin #manage-field-options table tfoot { 
    233     background-color:#f4f4f4; 
     238    background-color:#eee; 
    234239} 
    235240#customcontactforms-admin #manage-field-options table thead th, 
     
    238243    float:left; 
    239244    clear:left; 
    240     width:530px; 
    241     margin:20px 1em 1em 1em; 
     245    width:49%; 
    242246} 
    243247#customcontactforms-admin #create-field-options { 
    244248    float:left; 
    245249    clear:none; 
    246     width:420px; 
    247     margin:20px 1em 1em 5px; 
    248 } 
    249  
    250 #customcontactforms-admin #field-options .evenrow-field-options div  { background-color:#f9f9f9; } 
    251 #customcontactforms-admin #field-options .evenrow-field-options { background-color:#f9f9f9; } 
     250    width:49%; 
     251    margin:0 0em 1em 10px; 
     252} 
     253 
     254#customcontactforms-admin #field-options .evenrow-field-options div  { background-color:#f0f0f0; } 
     255#customcontactforms-admin #field-options .evenrow-field-options { background-color:#f0f0f0; } 
    252256 
    253257.ccf-style-example { 
     
    268272} 
    269273#customcontactforms-admin #configure-mail { 
    270     clear:both; 
    271     width:1000px; 
    272     margin:20px 1em 1em 5px; 
    273274} 
    274275#customcontactforms-admin #configure-mail p { padding:0; margin:0; } 
     
    277278#customcontactforms-admin #configure-mail ul.right { margin-left:48%; width:48%; } 
    278279#customcontactforms-admin #create-styles { 
    279     clear:both; 
    280     width:1000px; 
    281     margin:20px 1em 1em 5px; 
     280     
    282281} 
    283282#customcontactforms-admin #create-styles .inside,  
     
    286285#customcontactforms-admin #create-styles .style_right { width:48%; margin-left:51%; clear:none } 
    287286#customcontactforms-admin #plugin-news { 
    288     clear:both; 
    289     width:1000px; 
    290     margin:20px 1em 1em 5px; 
    291 } 
    292 #customcontactforms-admin #plugin-news ul li.first { border-bottom:1px dashed #666; } 
     287     
     288} 
     289#customcontactforms-admin #plugin-news ul li a { color: #21759B; line-height:normal; font-family: Georgia,"Times New Roman","Bitstream Charter",Times,serif; 
     290    font-size: 13px; text-decoration:none; } 
     291     
     292#customcontactforms-admin #plugin-news ul li .date { color: #999999; font-size: 12px; padding-left: 3px; } 
     293#customcontactforms-admin #plugin-news ul li .news-content p { margin-top:0; padding-top:0; } 
     294#customcontactforms-admin #plugin-news ul li .news-header { margin-bottom:5px; } 
    293295#customcontactforms-admin #manage-styles { 
    294     width:1000px; 
    295296} 
    296297#customcontactforms-admin #manage-styles td { border:0; } 
     
    302303} 
    303304#customcontactforms-admin #general-settings { 
    304     clear:both; 
    305     width:1000px; 
    306     margin:20px 1em 1em 5px; 
     305     
    307306} 
    308307#customcontactforms-admin #general-settings .gleft { float:left; width:48%; clear:none; } 
     
    319318} 
    320319#customcontactforms-admin #create-fields { 
    321     float:left; 
    322     clear:left; 
    323     width:450px; 
    324     margin:0 1em 1em 5px; 
    325 } 
     320     
     321} 
     322#customcontactforms-admin #create-fields .left { float:left; width:48%; } 
     323#customcontactforms-admin #create-fields .right { margin-left:50%; } 
     324#customcontactforms-admin #create-fields .file-fields { display:none; } 
    326325#customcontactforms-admin #create-forms { 
    327     float:left; 
    328     width:500px; 
    329     border-left:1px solid #ccc; 
    330     margin:0 1em 1em 1em; 
    331 } 
    332 #customcontactforms-admin #create-forms .inside div p { 
    333     font-size:.8em; 
    334 } 
     326     
     327} 
     328#customcontactforms-admin #create-forms .left { float:left; width:48%; } 
     329#customcontactforms-admin #create-forms .right { width:48%; margin-left:50%; } 
     330 
    335331#customcontactforms-admin #create-forms .role{ display:inline; padding-left:5px; } 
    336332#customcontactforms-admin #create-fields .attach, #customcontactforms-admin #create-forms .attach { margin-top:6px; } 
     
    340336} 
    341337#customcontactforms-admin #manage-fields { 
    342     width:1000px; 
     338     
    343339} 
    344340#customcontactforms-admin #manage-fields td { border:0; } 
    345341#customcontactforms-admin #manage-fields .row-one {  
    346     margin-bottom:15px; 
     342    margin-bottom:0px; 
     343} 
     344#customcontactforms-admin #manage-fields .row-two {  
     345    margin-top:6px; 
    347346} 
    348347#customcontactforms-admin #manage-fields .row-one label { margin-right:4px; } 
     
    360359} 
    361360#customcontactforms-admin #manage-forms { 
    362     width:1000px; 
    363     margin-right:10px; 
    364361} 
    365362#customcontactforms-admin   .fattach  { 
    366     margin:6px; 
     363    margin:20px 6px 6px 6px; 
    367364    clear:both; 
    368365    -moz-border-radius:6px; 
     
    386383#customcontactforms-admin #manage-forms td { border:0; } 
    387384#customcontactforms-admin #manage-fixed-fields { 
    388     width:1000px; 
     385     
    389386} 
    390387#customcontactforms-admin #manage-fixed-fields td { border:0; } 
     
    420417#customcontactforms-admin #plugin-nav  { 
    421418    clear:both; 
    422     max-width:1000px; 
    423 } 
    424 #customcontactforms-admin #plugin-nav { text-align:center; border-bottom:1px #ccc dashed; margin:0 0 10px 0; padding:0 0 6px 0; } 
    425 #customcontactforms-admin #plugin-nav li  { 
    426     border-right:1px solid #666; display:inline; padding:0 8px 0 8px; 
    427 } 
    428 #customcontactforms-admin #plugin-nav li.last  { 
    429     border-right:none; 
    430419} 
    431420/* CCF Install Popover -------------------------------- */ 
     
    445434.ccf-popover div.popover-body ul ul { margin:0px 0px 2px 30px; padding:0; list-style-type:disc; border-top:none; } 
    446435.ccf-popover div.popover-body ul li { margin-left:20px; } 
    447 .ccf-popover div.popover-body p { padding:8px; font-size:1em; text-align:left; } 
     436.ccf-popover div.popover-body p { padding:8px; text-align:left; } 
    448437.ccf-popover div.popover-body form { width:100%; text-align:center; } 
    449438.ccf-popover div.popover-body .insert-default-content-button { 
     
    587576#customcontactforms-admin form.blog-horizontal-form { 
    588577    background-color:#FFFEEB; 
    589     width:920px; 
    590578    border:1px solid #cccccc; 
    591579    padding:7px; 
     
    593581    height:30px; 
    594582    text-align:center; 
    595     margin:.5em 0 .8em 5px; 
     583    margin:.5em 5px .8em 5px; 
    596584    -moz-border-radius:11px; 
    597585    -webkit-border-radius:11px; 
     
    601589#customcontactforms-admin form.blog-horizontal-form span { font-weight:bold; padding-right:4px; } 
    602590 
     591.ui-tabs .ui-tabs-panel { 
     592    background: none repeat scroll 0 0 transparent; 
     593    border-width: 0; 
     594    display: block; 
     595    padding: 1em 5px 5px 5px; 
     596} 
     597 
     598.ui-widget-content { 
     599    border: 0px solid #AAAAAA; 
     600} 
     601 
     602#message { margin-bottom:9px; } 
     603#message-textarea { height: 196px; width: 95%; margin-bottom:9px; } 
  • custom-contact-forms/trunk/css/custom-contact-forms-dashboard.css

    r338070 r418408  
    33    margin:0 0 15px 0; 
    44} 
    5 #ccf-dashboard thead tr th { text-align:left; padding-left:2px; padding-bottom:7px; } 
     5#ccf-dashboard thead tr th { text-align:left; padding-left:2px; padding-bottom:7px; color: #8F8F8F; 
     6    font-size: 14px; 
     7    border-bottom:1px solid #ececec; 
     8    font-weight:400; } 
     9 
    610#ccf-dashboard  tr { margin:0; } 
    711#ccf-dashboard  td { margin:0; padding: 3px;} 
  • custom-contact-forms/trunk/css/custom-contact-forms-standards.css

    r336413 r418408  
    1111.ccf-floatright { float:right; } 
    1212.form-extra-options-table { margin:0 auto 0 auto; } 
    13 .ccf-evenrow { background-color:#f5f5f5; } 
     13.ccf-evenrow { background-color:#f0f0f0; } 
    1414.ccf-alignright { text-align:right; } 
    1515.ccf-alignleft { text-align:right; } 
  • custom-contact-forms/trunk/custom-contact-forms-admin.php

    r394291 r418408  
    6060                $settings['import_saved_submissions'] = ($_POST['ccf_import_saved_submissions'] == 1) ? true : false; 
    6161                $settings['mode'] = ($_POST['ccf_clear_import']) ? 'clear_import' : 'merge_import'; 
     62                print_r($_FILES); 
    6263                $transit->importFromFile($_FILES['import_file'], $settings); 
    6364                ccf_utils::redirect('options-general.php?page=custom-contact-forms'); 
     
    107108            if (!is_wp_error($rss) ) { 
    108109                $maxitems = $rss->get_item_quantity(5); 
    109                 $rss_items = $rss->get_items(0, 1);  
    110                 $rss_items2 = $rss->get_items(1, $maxitems);  
     110                $rss_items = $rss->get_items(0, $maxitems);  
    111111            } 
    112112            ?> 
     
    115115                else 
    116116                foreach ( $rss_items as $item ) : ?> 
    117                 <li class="first"> 
    118                     <a href='<?php echo $item->get_permalink(); ?>' 
    119                     title='<?php echo __('Posted', 'custom-contact-forms'). ' '.$item->get_date('j F Y | g:i a'); ?>'> 
    120                     <?php echo $item->get_title(); ?></a><br /> 
    121                     <?php echo $item->get_content(); ?> 
     117                <li> 
     118                    <div class="news-header"> 
     119                        <a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a> <span class="date"><?php echo $item->get_date('j F, Y'); ?></span> 
     120                    </div> 
     121                    <div class="news-content"> 
     122                        <?php echo $item->get_content(); ?> 
     123                    </div> 
    122124                </li> 
    123125                <?php endforeach; ?> 
    124                 <?php if ($maxitems == 0) echo ''; 
    125                 else 
    126                 foreach ( $rss_items2 as $item ) : ?> 
    127                 <li> 
    128                     <a href='<?php echo $item->get_permalink(); ?>' 
    129                     title='<?php echo __('Posted', 'custom-contact-forms') . ' '.$item->get_date('j F Y | g:i a'); ?>'> 
    130                     <?php echo $item->get_title(); ?></a><br /> 
    131                 </li> 
    132                 <?php endforeach; ?> 
     126                 
    133127            </ul> 
    134128        <?php 
     
    177171         
    178172        function insertAdminScripts() { 
    179             $js_version = '2.0.0'; 
     173            $js_version = '2.0.1'; 
    180174            $admin_options = parent::getAdminOptions(); 
    181175            $js_lang = array( 
     
    188182                'expand' => __('Expand', 'custom-contact-forms'), 
    189183                'click_to_confirm' => __('Click to Confirm', 'custom-contact-forms'), 
     184                'selected_tab' => ($_POST['selected_tab']) ? $_POST['selected_tab'] : 0, 
    190185                'delete_confirm' => __('Are you sure you want to delete this', 'custom-contact-forms'), 
    191186                'error' => __('An error has occured. Please try again later.', 'custom-contact-forms'), 
     
    311306        } 
    312307         
     308        function rateMeForm() { 
     309            ?> 
     310            <form class="rate-me" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
     311                <input type="hidden" name="cmd" value="_s-xclick"> 
     312                <input type="hidden" name="hosted_button_id" value="TXYVDCH955V28"> 
     313                <a href="http://wordpress.org/extend/plugins/custom-contact-forms" title="<?php _e("Rate This Plugin", 'custom-contact-forms'); ?>"> 
     314                <?php _e("We need your help to continue development! Please <span>rate this plugin</span> to show your support.", 'custom-contact-forms'); ?></a> 
     315                <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
     316                <img alt="Donate to Custom Contact Forms plugin" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
     317            </form> 
     318            <?php 
     319        } 
     320         
    313321        function printAdminPage() { 
    314322            $admin_options = parent::getAdminOptions(); 
     323            $show_checkbox_warning = false; 
    315324            if ($admin_options['show_install_popover'] == 1) { 
    316325                $admin_options['show_install_popover'] = 0; 
     326                $show_checkbox_warning = true; 
    317327                ?> 
    318328                <script type="text/javascript" language="javascript"> 
     
    346356                    <?php _e("Custom Contact Forms", 'custom-contact-forms'); ?> 
    347357                </h2> 
    348                 <input type="button" class="quick-start-button" value="<?php _e("Quick Start Guide", 'custom-contact-forms'); ?>" /> 
    349                 <input type="button" class="usage-popover-button" value="<?php _e("Plugin Usage Manual", 'custom-contact-forms'); ?>" /> 
     358                <div class="links"> 
     359                    <a href="javascript:void(0)" class="quick-start-button">Quick Start Guide</a> - <a href="javascript:void(0)" class="usage-popover-button">Plugin Usage Manual</a> 
     360                </div> 
    350361              </div> 
     362              <div id="ccf-tabs"> 
    351363              <ul id="plugin-nav"> 
    352                 <li><a href="#create-fields"><?php _e("Create Fields", 'custom-contact-forms'); ?></a></li> 
    353                 <li><a href="#create-forms"><?php _e("Create Forms", 'custom-contact-forms'); ?></a></li> 
    354                 <li><a href="#manage-fields"><?php _e("Manage Fields", 'custom-contact-forms'); ?></a></li> 
    355                 <li><a href="#manage-fixed-fields"><?php _e("Manage Fixed Fields", 'custom-contact-forms'); ?></a></li> 
    356                 <li><a href="#manage-forms"><?php _e("Manage Forms", 'custom-contact-forms'); ?></a></li> 
    357                 <li><a href="#create-styles"><?php _e("Create Styles", 'custom-contact-forms'); ?></a></li> 
    358                 <li><a href="#manage-styles"><?php _e("Manage Styles", 'custom-contact-forms'); ?></a></li> 
    359                 <li><a href="#manage-field-options"><?php _e("Manage Field Options", 'custom-contact-forms'); ?></a></li> 
    360                 <li><a href="#contact-author"><?php _e("Suggest a Feature", 'custom-contact-forms'); ?></a></li> 
    361                 <li><a href="#contact-author"><?php _e("Bug Report", 'custom-contact-forms'); ?></a></li> 
    362                 <li><a href="#custom-html"><?php _e("Custom HTML Forms", 'custom-contact-forms'); ?></a></li> 
    363                 <li class="last"><a href="#plugin-news"><?php _e("Plugin News", 'custom-contact-forms'); ?></a></li> 
     364                <li><a href="#forms"><?php _e("Forms", 'custom-contact-forms'); ?></a></li> 
     365                <li><a href="#fields"><?php _e("Fields", 'custom-contact-forms'); ?></a></li> 
     366                <li><a href="#field-options"><?php _e("Field Options", 'custom-contact-forms'); ?></a></li> 
     367                <li><a href="#styles"><?php _e("Styles", 'custom-contact-forms'); ?></a></li> 
     368                <li><a href="#support"><?php _e("Support", 'custom-contact-forms'); ?></a></li> 
     369                <li><a href="#advanced"><?php _e("Advanced", 'custom-contact-forms'); ?></a></li> 
     370                <li><a href="#news"><?php _e("News", 'custom-contact-forms'); ?></a></li> 
    364371              </ul> 
    365               <div style="text-align:center"><a target="_blank" href="http://www.shareasale.com/r.cfm?b=256143&u=481196&m=25929&urllink=&afftrack="><img src="http://www.shareasale.com/image/25929/728x90.png" alt="Scribe. SEO Made Simple." border="0"></a> 
    366               </div><a class="genesis" href="http://www.shareasale.com/r.cfm?b=241369&u=481196&m=28169&urllink=&afftrack="><?php _e('Custom Contact Forms works best with any of the 20+ ', 'custom-contact-forms'); ?><span><?php _e('Genesis', 'custom-contact-forms'); ?></span> <?php _e('Wordpress child themes. The', 'custom-contact-forms'); ?> <span><?php _e('Genesis Framework', 'custom-contact-forms'); ?></span> <?php _e('empowers you to quickly and easily build incredible websites with WordPress.', 'custom-contact-forms'); ?></a> 
     372              <a class="genesis" href="http://www.shareasale.com/r.cfm?b=241369&u=481196&m=28169&urllink=&afftrack="><?php _e('Custom Contact Forms works best with any of the 20+ ', 'custom-contact-forms'); ?><span><?php _e('Genesis', 'custom-contact-forms'); ?></span> <?php _e('Wordpress child themes. The', 'custom-contact-forms'); ?> <span><?php _e('Genesis Framework', 'custom-contact-forms'); ?></span> <?php _e('empowers you to quickly and easily build incredible websites with WordPress.', 'custom-contact-forms'); ?></a> 
    367373             
    368374            <form class="blog-horizontal-form" method="post" action="http://www.aweber.com/scripts/addlead.pl"> 
     
    380386            </form> 
    381387             
     388            <?php if ($show_checkbox_warning) { ?> 
     389            <div class="checkbox-warning"> 
     390                <span>ATTENTION:</span> Custom Contact Forms 4.7 changes the way checkbox fields work. In order to make use of checkboxes, as of 4.7, you must attach field options to your checkbox fields. Upon upgrading to version 4.7, your old checkbox fields will not work until you create field options and attach them. 
     391            </div> 
     392            <?php } ?> 
     393             
    382394            <?php if (!empty($this->action_complete)) { ?> 
    383             <div class="action-complete"> 
    384                 <?php echo $this->action_complete; ?> 
     395            <div id="message" class="updated below-h2"> 
     396                <p><?php echo $this->action_complete; ?></p> 
    385397            </div> 
    386398            <?php } ?> 
    387  
    388               <a name="create-fields"></a> 
     399            <div id="fields"> 
     400                 
    389401              <div id="create-fields" class="postbox"> 
    390402                <h3 class="hndle"><span> 
     
    393405                <div class="inside"> 
    394406                  <form id="ccf-create-field" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    395                     <ul> 
     407                  <input type="hidden" name="selected_tab" value="fields" /> 
     408                    <ul class="left"> 
    396409                      <li> 
    397410                        <label for="field_slug">* 
     
    414427                        <?php _e("Field Type:", 'custom-contact-forms'); ?> 
    415428                        </label> 
    416                         <select name="object[field_type]"> 
     429                        <select name="object[field_type]" class="field-type-selector"> 
    417430                          <option>Text</option> 
    418431                          <option>Date</option> 
     432                          <option>File</option> 
    419433                          <option>Textarea</option> 
    420434                          <option>Hidden</option> 
     
    445459                        <?php _e("0 for no limit; only applies to Text fields", 'custom-contact-forms'); ?> 
    446460                      </li> 
     461                    </ul> 
     462                    <ul class="right"> 
    447463                      <li> 
    448464                        <label for="field_required">* 
     
    484500                        <?php _e("If a user leaves this field blank and the field is required, this error message will be shown. A generic default will show if left blank.", 'custom-contact-forms'); ?> 
    485501                      </li> 
     502                      <li class="file-fields"> 
     503                        <label for="field_max_upload_size"> 
     504                        <?php _e("Max File Size Allowed:", 'custom-contact-forms'); ?> 
     505                        </label> 
     506                        <input name="object[field_max_upload_size]" value="5000" type="text" /> <?php _e('KB', 'custom-contact-forms'); ?> 
     507                        <br /> 
     508                        <?php _e("If a user tries to upload a file larger than the max upload size, an error message will be displayed.", 'custom-contact-forms'); ?> 
     509                      </li> 
     510                      <li class="file-fields"> 
     511                        <label for="field_allowed_file_extensions"> 
     512                        <?php _e("Allowed File Extensions for Upload:", 'custom-contact-forms'); ?> 
     513                        </label> 
     514                        <input name="object[field_allowed_file_extensions]" type="text" /> 
     515                        <br /> 
     516                        <?php _e("If a user tries to upload a file with an extension not in this list, an error will be shown. Separate file extensions with a comma. Ex: doc, jpg, jpeg, txt", 'custom-contact-forms'); ?> 
     517                      </li> 
    486518                      <li> 
    487519                        <input type="hidden" name="object[user_field]" value="1" /> 
     
    495527                </div> 
    496528              </div> 
    497               <a name="create-forms"></a> 
    498               <div id="create-forms" class="postbox"> 
    499                 <h3 class="hndle"><span> 
    500                   <?php _e("Create A Form", 'custom-contact-forms'); ?> 
    501                   </span></h3> 
    502                 <div class="inside"> 
    503                   <form id="ccf-create-form" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    504                     <ul> 
    505                       <li> 
    506                         <label for="object[form_slug]">* 
    507                         <?php _e("Form Slug:", 'custom-contact-forms'); ?> 
    508                         </label> 
    509                         <input type="text" maxlength="100" name="object[form_slug]" /> 
    510                         <br /> 
    511                         <?php _e("This is just a unique way for CCF to refer to your form. Must be unique from other slugs and contain only underscores and alphanumeric characters.", 'custom-contact-forms'); ?> 
    512                       </li> 
    513                       <li> 
    514                         <label for="object[form_title]"> 
    515                         <?php _e("Form Title:", 'custom-contact-forms'); ?> 
    516                         </label> 
    517                         <input type="text" maxlength="200" name="object[form_title]" /> 
    518                         <?php _e("This text is displayed above the form as the heading.", 'custom-contact-forms'); ?> 
    519                       </li> 
    520                       <li> 
    521                         <label for="object[form_action]"> 
    522                         <?php _e("Form Style:", 'custom-contact-forms'); ?> 
    523                         </label> 
    524                         <select name="object[form_style]" class="form_style_input"> 
    525                           <?php echo $style_options; ?> 
    526                         </select> 
    527                         (<a href="#create-styles"><?php _e("Click to create a style", 'custom-contact-forms'); ?></a>)</li> 
    528                       <li> 
    529                         <label for="object[submit_button_text]"> 
    530                         <?php _e("Submit Button Text:", 'custom-contact-forms'); ?> 
    531                         </label> 
    532                         <input type="text" maxlength="200" name="object[submit_button_text]" /> 
    533                       </li> 
    534                       <li> 
    535                         <label for="object[form_email]"> 
    536                         <?php _e("Form Destination Email:", 'custom-contact-forms'); ?> 
    537                         </label> 
    538                         <input type="text" name="object[form_email]" /> 
    539                         <br /> 
    540                         <?php _e("Will receive all submissions from this form; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
    541                       </li> 
    542                       <li> 
    543                         <label for="object[form_email_subject]"> 
    544                         <?php _e("Form Email Subject:", 'custom-contact-forms'); ?> 
    545                         </label> 
    546                         <input type="text" name="object[form_email_subject]" /> 
    547                         <br /> 
    548                         <?php _e("When submitted and configured accordingly, the form will send an email with this subject.", 'custom-contact-forms'); ?> 
    549                       </li> 
    550                       <li> 
    551                         <label for="object[form_email_name]"> 
    552                         <?php _e("Form Email Name:", 'custom-contact-forms'); ?> 
    553                         </label> 
    554                         <input type="text" name="object[form_email_name]" /> 
    555                         <br /> 
    556                         <?php _e("When submitted and configured accordingly, the form will send an email with this as the email 'from name'.", 'custom-contact-forms'); ?> 
    557                       </li> 
    558                       <li> 
    559                         <label for="object[form_success_message]"> 
    560                         <?php _e("Form Success Message:", 'custom-contact-forms'); ?> 
    561                         </label> 
    562                         <input type="text" name="object[form_success_message]" /> 
    563                         <br /> 
    564                         <?php _e("Will be displayed in a popover when the form is filled out successfully when no custom success page is specified; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
    565                       </li> 
    566                       <li> 
    567                         <label for="object[form_success_title]"> 
    568                         <?php _e("Form Success Message Title:", 'custom-contact-forms'); ?> 
    569                         </label> 
    570                         <input type="text" name="object[form_success_title]" /> 
    571                         <br /> 
    572                         <?php _e("Will be displayed in a popover when the form is filled out successfully when no custom success page is specified; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
    573                       </li> 
    574                       <li> 
    575                         <label for="object[form_thank_you_page]"> 
    576                         <?php _e("Custom Success URL:", 'custom-contact-forms'); ?> 
    577                         </label> 
    578                         <input type="text" name="object[form_thank_you_page]" /> 
    579                         <br /> 
    580                         <?php _e("If this is filled out, users will be sent to this page when they successfully fill out this form. If it is left blank, a popover showing the form's 'success message' will be displayed on form success.", 'custom-contact-forms'); ?> 
    581                       </li> 
    582                       <li> 
    583                       <label for="form_access"><?php _e('Who Can View This Form:', ''); ?></label> 
    584                              
    585                             <?php 
    586                             $roles = parent::getRolesArray(); 
    587                             $i = 0; 
    588                             foreach ($roles as $role) { 
    589                                 if ($i == 3) echo '<br />'; 
    590                                 ?> 
    591                                 <div class="role"> 
    592                                  <input type="checkbox" checked="checked" name="object[form_access][]" value="<?php echo $role; ?>" />  
    593                                  <?php echo $role; ?> 
    594                                 </div> 
    595                                 <?php 
    596                                 $i++; 
    597                             } 
    598                             ?><br /> 
    599                             <?php _e('Choose which types of users should be able to view this form.', 'custom-contact-forms'); ?> 
    600                       </li> 
    601                       <li> 
    602                         <input type="hidden" name="object_type" value="form" /> 
    603                         <input type="submit" class="create-button" value="<?php _e("Create Form", 'custom-contact-forms'); ?>" name="object_create" /> 
    604                       </li> 
    605                       <li class="attach"><span class="ccf-red">*</span> <?php _e('You should go to the form manager below to attach fields to this form after you create it.', 'custom-contact-forms'); ?></li> 
    606                     </ul> 
    607                   </form> 
    608                 </div> 
    609               </div> 
    610               <a name="manage-fields"></a> 
    611               <h3 class="manage-h3"> 
     529               
     530              <h3 class="manage-h3"> 
    612531                <?php _e("Manage User Fields", 'custom-contact-forms'); ?> 
    613532              </h3> 
    614533              <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     534              <input type="hidden" name="selected_tab" value="fields" /> 
    615535              <table class="widefat post" id="manage-fields" cellspacing="0"> 
    616536                <thead> 
     
    632552            if ($fields[$i]->user_field == 0) { $z--; continue; } 
    633553            $attached_options = parent::getAttachedFieldOptionsArray($fields[$i]->id); 
    634             $field_types = '<option>Text</option><option>Date</option><option>Textarea</option><option>Hidden</option><option>Checkbox</option><option>Radio</option><option>Dropdown</option>'; 
     554            $field_types = '<option>Text</option><option>Date</option><option>File</option><option>Textarea</option><option>Hidden</option><option>Checkbox</option><option>Radio</option><option>Dropdown</option>'; 
    635555            $field_types = str_replace('<option>'.$fields[$i]->field_type.'</option>',  '<option selected="selected">'.$fields[$i]->field_type.'</option>', $field_types); 
    636556             
     
    652572                        </option> 
    653573                      </select></td> 
    654                     <td><?php if ($fields[$i]->field_type == 'Dropdown' || $fields[$i]->field_type == 'Radio') { ?> 
     574                    <td><?php if ($fields[$i]->field_type == 'Dropdown' || $fields[$i]->field_type == 'Radio' || $fields[$i]->field_type == 'Checkbox') { ?> 
    655575                      <b>-</b> 
    656576                      <?php } else { ?> 
     
    662582                      <span class="fields-options-expand"></span> 
    663583                  </tr> 
    664                   <?php $show_field_options = ($fields[$i]->field_type == 'Radio' || $fields[$i]->field_type == 'Dropdown') ? true : false; ?> 
     584                  <?php $show_field_options = ($fields[$i]->field_type == 'Radio' || $fields[$i]->field_type == 'Dropdown' || $fields[$i]->field_type == 'Checkbox') ? true : false; ?> 
    665585                  <tr class="row-field-<?php echo $fields[$i]->id; ?> <?php if ($z % 2 == 1) echo 'ccf-evenrow'; ?>"> 
    666586                    <td class="fields-extra-options" colspan="8"> 
     
    681601                        </label> 
    682602                        <input type="text" class="ccf-width200" name="objects[<?php echo $i; ?>][values][field_error]" value="<?php echo $fields[$i]->field_error; ?>" />  
    683                         </div> 
     603                      </div> 
     604                      <?php if ($fields[$i]->field_type == 'File') { ?> 
     605                      <div class="row-two"> 
     606                        <a href="javascript:void(0)" class="toollink" title="<?php _e('If a user tries to upload a file greater than the value in this field, an error will be shown. Upload size is in KB. If this is left blank or set to 0, then there will be no maximum file size for this field.', 'custom-contact-forms'); ?>">(?)</a> 
     607                        <label for="field_max_upload_size"><?php _e("Max Upload Size", 'custom-contact-forms'); ?></label> 
     608                        <input type="text" class="ccf-width100" name="objects[<?php echo $i; ?>][values][field_max_upload_size]" value="<?php echo $fields[$i]->field_max_upload_size; ?>" /><?php _e('KB', 'custom-contact-forms'); ?> 
     609                        <a href="javascript:void(0)" class="toollink" title="<?php _e('If a user tries to upload a file with an extension not in this list, an error will be shown. If this is left blank, then all file extensions will be accepted. Separate file extensions with a comma. Ex: doc, jpg, jpeg, bmp, gif, txt', 'custom-contact-forms'); ?>">(?)</a> 
     610                        <label for="field_allowed_file_extensions"><?php _e("Allowed File Extensions", 'custom-contact-forms'); ?></label> 
     611                        <input type="text" class="ccf-width200" name="objects[<?php echo $i; ?>][values][field_allowed_file_extensions]" value="<?php $exts = unserialize($fields[$i]->field_allowed_file_extensions); echo (!empty($exts)) ? @implode(', ', $exts) : ''; ?>" /> 
     612                      </div> 
     613                      <?php } ?> 
    684614                      <?php  
    685615            if ($show_field_options) { ?> 
     
    757687              </select> <input type="submit" name="object_bulk_apply" class="bulk-apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
    758688              </form> 
    759               <a name="manage-fixed-fields"></a> 
    760               <h3 class="manage-h3"> 
     689               
     690              <h3 class="manage-h3"> 
    761691                <?php _e("Manage Fixed Fields", 'custom-contact-forms'); ?> 
    762692              </h3> 
    763693              <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     694              <input type="hidden" name="selected_tab" value="fields" /> 
    764695              <table class="widefat post" id="manage-fixed-fields" cellspacing="0"> 
    765696                <thead> 
     
    825756                  </tr> 
    826757                  <tr class="row-field-<?php echo $fields[$i]->id; ?> <?php if ($z % 2 == 0) echo 'ccf-evenrow'; ?>"> 
    827                     <td class="fixed-fields-extra-options" colspan="8"><label for="field_class"> 
     758                    <td class="fixed-fields-extra-options" colspan="8"> 
    828759                      <a href="javascript:void(0)" class="toollink" title="<?php _e('If you manage a .CSS file for your theme, you could create a class in that file and add it to this field. If the form attaching this field is using a "Form Style" other than the default, styles inherited from the "Field Class" might be overwritten.', 'custom-contact-forms'); ?>">(?)</a> 
     760                      <label for="field_class"> 
    829761                      <?php _e('Field Class:', 'custom-contact-forms'); ?> 
    830762                      </label> 
     
    868800              </select> <input type="submit" class="bulk-apply" name="object_bulk_apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
    869801              </form> 
    870               <a name="manage-field-options"></a> 
    871               <div id="manage-field-options" class="postbox"> 
     802              </div> 
     803               
     804              <div id="forms"> 
     805              <div id="create-forms" class="postbox"> 
    872806                <h3 class="hndle"><span> 
    873                   <?php _e("Manage Field Options", 'custom-contact-forms'); ?> 
     807                  <?php _e("Create A Form", 'custom-contact-forms'); ?> 
    874808                  </span></h3> 
    875809                <div class="inside"> 
    876                       <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    877                        
    878                       <table cellpadding="0" cellspacing="0"> 
    879                         <thead> 
    880                           <tr> 
    881                             <th><input class="checkall" type="checkbox" /></th> 
    882                             <th><?php _e("Slug", 'custom-contact-forms'); ?></th> 
    883                             <th><?php _e("Label", 'custom-contact-forms'); ?></th> 
    884                             <th><?php _e("Value", 'custom-contact-forms'); ?></th> 
    885                             <th><?php _e("Is Dead", 'custom-contact-forms'); ?></th> 
    886                           </tr> 
    887                         </thead> 
    888                         <tfoot> 
    889                           <tr> 
    890                             <th><input class="checkall" type="checkbox" /></th> 
    891                             <th><?php _e("Slug", 'custom-contact-forms'); ?></th> 
    892                             <th><?php _e("Label", 'custom-contact-forms'); ?></th> 
    893                             <th><?php _e("Value", 'custom-contact-forms'); ?></th> 
    894                             <th><?php _e("Is Dead", 'custom-contact-forms'); ?></th> 
    895                           </tr> 
    896                         </tfoot> 
    897                         <tbody> 
    898                         <?php 
    899                 $options = parent::selectAllFieldOptions(1); 
    900                 $option_count = count($options); 
    901                 $i = 0; 
    902                 foreach ($options as $option) { 
    903                 ?> 
    904                         <tr class="row-field_option-<?php echo $option->id; ?> <?php if ($i % 2 == 1) echo 'evenrow-field-options'; ?>"> 
    905                             <td><input type="checkbox" class="object-check" name="objects[<?php echo $i; ?>][object_do]" value="1" /> </td> 
    906                             <td><input type="hidden" name="objects[<?php echo $i; ?>][object_type]" value="field_option" /> 
     810                  <form id="ccf-create-form" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     811                  <input value="forms" name="selected_tab" type="hidden" /> 
     812                    <ul class="left"> 
     813                      <li> 
     814                        <label for="object[form_slug]">* 
     815                        <?php _e("Form Slug:", 'custom-contact-forms'); ?> 
     816                        </label> 
     817                        <input type="text" maxlength="100" name="object[form_slug]" /> 
     818                        <br /> 
     819                        <?php _e("This is just a unique way for CCF to refer to your form. Must be unique from other slugs and contain only underscores and alphanumeric characters.", 'custom-contact-forms'); ?> 
     820                      </li> 
     821                      <li> 
     822                        <label for="object[form_title]"> 
     823                        <?php _e("Form Title:", 'custom-contact-forms'); ?> 
     824                        </label> 
     825                        <input type="text" maxlength="200" name="object[form_title]" /> 
     826                        <?php _e("This text is displayed above the form as the heading.", 'custom-contact-forms'); ?> 
     827                      </li> 
     828                      <li> 
     829                        <label for="object[form_action]"> 
     830                        <?php _e("Form Style:", 'custom-contact-forms'); ?> 
     831                        </label> 
     832                        <select name="object[form_style]" class="form_style_input"> 
     833                          <?php echo $style_options; ?> 
     834                        </select></li> 
     835                      <li> 
     836                        <label for="object[submit_button_text]"> 
     837                        <?php _e("Submit Button Text:", 'custom-contact-forms'); ?> 
     838                        </label> 
     839                        <input type="text" maxlength="200" name="object[submit_button_text]" /> 
     840                      </li> 
     841                      <li> 
     842                        <label for="object[form_email]"> 
     843                        <?php _e("Form Destination Email:", 'custom-contact-forms'); ?> 
     844                        </label> 
     845                        <input type="text" name="object[form_email]" /> 
     846                        <br /> 
     847                        <?php _e("Will receive all submissions from this form; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
     848                      </li> 
     849                      <li> 
     850                        <label for="object[form_email_subject]"> 
     851                        <?php _e("Form Email Subject:", 'custom-contact-forms'); ?> 
     852                        </label> 
     853                        <input type="text" name="object[form_email_subject]" /> 
     854                        <br /> 
     855                        <?php _e("When submitted and configured accordingly, the form will send an email with this subject.", 'custom-contact-forms'); ?> 
     856                      </li> 
     857                      <li> 
     858                        <label for="object[form_email_name]"> 
     859                        <?php _e("Form Email Name:", 'custom-contact-forms'); ?> 
     860                        </label> 
     861                        <input type="text" name="object[form_email_name]" /> 
     862                        <br /> 
     863                        <?php _e("When submitted and configured accordingly, the form will send an email with this as the email 'from name'.", 'custom-contact-forms'); ?> 
     864                      </li> 
     865                    </ul> 
     866                    <ul class="right"> 
     867                      <li> 
     868                        <label for="object[form_success_message]"> 
     869                        <?php _e("Form Success Message:", 'custom-contact-forms'); ?> 
     870                        </label> 
     871                        <input type="text" name="object[form_success_message]" /> 
     872                        <br /> 
     873                        <?php _e("Will be displayed in a popover when the form is filled out successfully when no custom success page is specified; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
     874                      </li> 
     875                      <li> 
     876                        <label for="object[form_success_title]"> 
     877                        <?php _e("Form Success Message Title:", 'custom-contact-forms'); ?> 
     878                        </label> 
     879                        <input type="text" name="object[form_success_title]" /> 
     880                        <br /> 
     881                        <?php _e("Will be displayed in a popover when the form is filled out successfully when no custom success page is specified; if left blank it will use the default specified in general settings.", 'custom-contact-forms'); ?> 
     882                      </li> 
     883                      <li> 
     884                        <label for="object[form_thank_you_page]"> 
     885                        <?php _e("Custom Success URL:", 'custom-contact-forms'); ?> 
     886                        </label> 
     887                        <input type="text" name="object[form_thank_you_page]" /> 
     888                        <br /> 
     889                        <?php _e("If this is filled out, users will be sent to this page when they successfully fill out this form. If it is left blank, a popover showing the form's 'success message' will be displayed on form success.", 'custom-contact-forms'); ?> 
     890                      </li> 
     891                      <li> 
     892                      <label for="form_access"><?php _e('Who Can View This Form:', ''); ?></label> 
    907893                             
    908                             <input class="object-id" type="hidden" name="objects[<?php echo $i; ?>][object_id]" value="<?php echo $option->id; ?>" /> 
    909                              
    910                             <input type="text" maxlength="20" name="<?php ?>objects[<?php echo $i; ?>][values][option_slug]" value="<?php echo $option->option_slug; ?>" class="ccf-width50" /></td> 
    911                             <td><input type="text" name="objects[<?php echo $i; ?>][values][option_label]" value="<?php echo $option->option_label; ?>" class="ccf-width100" /></td> 
    912                             <td><input type="text" name="objects[<?php echo $i; ?>][values][option_value]" value="<?php echo $option->option_value; ?>" class="ccf-width100" /></td> 
    913                             <td><select name="objects[<?php echo $i; ?>][values][option_dead]"><option value="0"><?php _e('No', 'custom-contact-forms'); ?></option><option <?php if ($option->option_dead == 1) echo 'selected="selected"'; ?> value="1"><?php _e('Yes', 'custom-contact-forms'); ?></option></select></td> 
    914                            
    915                         </tr> 
    916                         <?php 
    917                 $i++; 
    918                 } if (empty($options)) { 
    919                 ?> 
    920                         <tr> 
    921                           <td class="ccf-center"><?php _e("No field options have been created.", 'custom-contact-forms'); ?></td> 
    922                         </tr> 
    923                         <?php 
    924                 } 
    925                 ?> 
    926                         </tbody> 
    927                       </table> 
    928                       <select class="bulk-dropdown" name="object_bulk_action"> 
    929                       <option value="0"><?php _e('Bulk Actions', 'custom-contact-forms'); ?></option> 
    930                 <option value="edit"><?php _e('Save', 'custom-contact-forms'); ?></option> 
    931                 <option value="delete"><?php _e('Delete', 'custom-contact-forms'); ?></option></select>  
    932                       <input type="submit" class="bulk-apply" name="object_bulk_apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
    933                       </form> 
     894                            <?php 
     895                            $roles = parent::getRolesArray(); 
     896                            $i = 0; 
     897                            foreach ($roles as $role) { 
     898                                if ($i == 3) echo '<br />'; 
     899                                ?> 
     900                                <div class="role"> 
     901                                 <input type="checkbox" checked="checked" name="object[form_access][]" value="<?php echo $role; ?>" />  
     902                                 <?php echo $role; ?> 
     903                                </div> 
     904                                <?php 
     905                                $i++; 
     906                            } 
     907                            ?><br /> 
     908                            <?php _e('Choose which types of users should be able to view this form.', 'custom-contact-forms'); ?> 
     909                      </li> 
     910                      <li> 
     911                        <input type="hidden" name="object_type" value="form" /> 
     912                        <input type="submit" class="create-button" value="<?php _e("Create Form", 'custom-contact-forms'); ?>" name="object_create" /> 
     913                      </li> 
     914                      <li class="attach"><span class="ccf-red">*</span> <?php _e('You should go to the form manager to attach fields to this form after you create it.', 'custom-contact-forms'); ?></li> 
     915                    </ul> 
     916                  </form> 
    934917                </div> 
    935               </div> 
    936                
    937               <div id="create-field-options" class="postbox"> 
    938                 <h3 class="hndle"><span> 
    939                   <?php _e("Create A Field Option", 'custom-contact-forms'); ?> 
    940                   </span></h3> 
    941                 <div class="inside"> 
    942                       <form id="ccf-create-field-option" method="post" action="<?php echo $_SERVER['REQUEST_URI']?>"> 
    943                         <ul> 
    944                           <li> 
    945                             <label for="object[option_slug]">* 
    946                             <?php _e("Option Slug:", 'custom-contact-forms'); ?> 
    947                             </label> 
    948                             <input maxlength="20" type="text" name="object[option_slug]" /> 
    949                             <br /> 
    950                             <?php _e("Used to identify this option, solely for admin purposes; must be unique, and contain only letters, numbers, and underscores. Example: 'slug_one'", 'custom-contact-forms'); ?> 
    951                           </li> 
    952                           <li> 
    953                             <label for="object[option_label]">* 
    954                             <?php _e("Option Label:", 'custom-contact-forms'); ?> 
    955                             </label> 
    956                             <input type="text" name="object[option_label]" /> 
    957                             <br /> 
    958                             <?php _e("This is what is shown to the user in the dropdown or radio field. Example: 'United States'", 'custom-contact-forms'); ?> 
    959                           </li> 
    960                           <li> 
    961                             <label for="object[option_value]"> 
    962                             <?php _e("Option Value:", 'custom-contact-forms'); ?> 
    963                             </label> 
    964                             <input type="text" name="object[option_value]" /> <a href="javascript:void(0)" class="toollink" title="<?php _e("This is the actual value of the option which is not shown to the user. This can be the same thing as the label. An example pairing of label => value is: 'The color green' => 'green' or 'Yes' => '1'.", 'custom-contact-forms'); ?>">(?)</a> 
    965                             <br /> 
    966                             <?php _e('This is the actual value of the option which is not shown to the user. This can be the same thing as the label. An example pairing of label => value is: "The color green" => "green" or "Yes" => "1".', 'custom-contact-forms'); ?> 
    967                           </li> 
    968                           <li> 
    969                             <label for="object[option_dead]"><?php _e("Is Dead Option:", 'custom-contact-forms'); ?></label> 
    970                             <select name="object[option_dead]"><option value="0"><?php _e('No', 'custom-contact-forms'); ?></option><option value="1"><?php _e('Yes', 'custom-contact-forms'); ?></option></select> 
    971                             <a href="javascript:void(0)" class="toollink" title="<?php _e("A dead option is something like 'Please Select One'. This is a useful tool for required dropdown fields. If a dead option is submitted by a user for a required dropdown field, then the user will have to go back and fill out the field again.", 'custom-contact-forms'); ?>">(?)</a> 
    972                           </li> 
    973                           <li> 
    974                             <input name="object_type" type="hidden" value="field_option" /> 
    975                             <input type="submit" class="object-action" name="object_create" value="<?php _e("Create Field Option", 'custom-contact-forms'); ?>" /> 
    976                            
    977                           </li> 
    978                         </ul> 
    979                       </form> 
    980                   </div> 
    981               </div> 
    982               <form class="rate-me" action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
    983                 <input type="hidden" name="cmd" value="_s-xclick"> 
    984                 <input type="hidden" name="hosted_button_id" value="TXYVDCH955V28"> 
    985                 <a href="http://wordpress.org/extend/plugins/custom-contact-forms" title="<?php _e("Rate This Plugin", 'custom-contact-forms'); ?>"> 
    986                 <?php _e("We need your help to continue development! Please <span>rate this plugin</span> to show your support.", 'custom-contact-forms'); ?></a> 
    987                 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"> 
    988                 <img alt="Donate to Custom Contact Forms plugin" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"> 
    989               </form> 
    990                
    991               <a name="manage-forms"></a> 
    992               <h3 class="manage-h3"> 
     918              </div> 
     919               
     920              <h3 class="manage-h3"> 
    993921                <?php _e("Manage Forms", 'custom-contact-forms'); ?> 
    994922              </h3> 
    995923              <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     924              <input type="hidden" name="selected_tab" value="forms" /> 
    996925              <table class="widefat post" id="manage-forms" cellspacing="0"> 
    997926                <thead> 
     
    10741003                              <input name="objects[<?php echo $i; ?>][values][form_pages]" type="text" class="ccf-width75" value="<?php echo $forms[$i]->form_pages; ?>" /></td> 
    10751004                            <input name="objects[<?php echo $i; ?>][values][form_access_update]" type="hidden" value="1" /></td> 
    1076                             <a href="javascript:void(0)" class="toollink" title="<?php _e("If you want to show this form to only certain types of users, you can uncheck boxes accordingly. To show this form to anyone, check all the boxes. This will only take effect if 'Form Access Capabilities' is enabled in general settings.", 'custom-contact-forms'); ?>">(?)</a>  
    1077                             <label for="form_access">Can View Form:</label> 
     1005                            <a href="javascript:void(0)" class="toollink" title="<?php _e("If you want to show this form to only certain types of users, you can uncheck boxes accordingly. To show this form to anyone, check all the boxes. This will only take effect if 'Form Access Capabilities' is enabled in general settings.", 'custom-contact-forms'); ?>">(?)</a>&nbsp; 
     1006                            <label for="form_access">Can View Form:</label>&nbsp; 
    10781007                             
    10791008                            <?php 
     
    11681097              <input type="submit" name="object_bulk_apply" class="bulk-apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
    11691098              </form> 
     1099              </div> 
     1100               
     1101               
     1102              <div id="field-options"> 
     1103              <div id="manage-field-options" class="postbox"> 
     1104                <h3 class="hndle"><span> 
     1105                  <?php _e("Manage Field Options", 'custom-contact-forms'); ?> 
     1106                  </span></h3> 
     1107                <div class="inside"> 
     1108                      <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     1109                      <input type="hidden" name="selected_tab" value="field-options" /> 
     1110                      <table cellpadding="0" cellspacing="0"> 
     1111                        <thead> 
     1112                          <tr> 
     1113                            <th><input class="checkall" type="checkbox" /></th> 
     1114                            <th><?php _e("Slug", 'custom-contact-forms'); ?></th> 
     1115                            <th><?php _e("Label", 'custom-contact-forms'); ?></th> 
     1116                            <th><?php _e("Value", 'custom-contact-forms'); ?></th> 
     1117                            <th><?php _e("Is Dead", 'custom-contact-forms'); ?></th> 
     1118                          </tr> 
     1119                        </thead> 
     1120                        <tfoot> 
     1121                          <tr> 
     1122                            <th><input class="checkall" type="checkbox" /></th> 
     1123                            <th><?php _e("Slug", 'custom-contact-forms'); ?></th> 
     1124                            <th><?php _e("Label", 'custom-contact-forms'); ?></th> 
     1125                            <th><?php _e("Value", 'custom-contact-forms'); ?></th> 
     1126                            <th><?php _e("Is Dead", 'custom-contact-forms'); ?></th> 
     1127                          </tr> 
     1128                        </tfoot> 
     1129                        <tbody> 
     1130                        <?php 
     1131                $options = parent::selectAllFieldOptions(1); 
     1132                $option_count = count($options); 
     1133                $i = 0; 
     1134                foreach ($options as $option) { 
     1135                ?> 
     1136                        <tr class="row-field_option-<?php echo $option->id; ?> <?php if ($i % 2 == 1) echo 'evenrow-field-options'; ?>"> 
     1137                            <td><input type="checkbox" class="object-check" name="objects[<?php echo $i; ?>][object_do]" value="1" /> </td> 
     1138                            <td><input type="hidden" name="objects[<?php echo $i; ?>][object_type]" value="field_option" /> 
     1139                             
     1140                            <input class="object-id" type="hidden" name="objects[<?php echo $i; ?>][object_id]" value="<?php echo $option->id; ?>" /> 
     1141                             
     1142                            <input type="text" maxlength="20" name="<?php ?>objects[<?php echo $i; ?>][values][option_slug]" value="<?php echo $option->option_slug; ?>" class="ccf-width50" /></td> 
     1143                            <td><input type="text" name="objects[<?php echo $i; ?>][values][option_label]" value="<?php echo $option->option_label; ?>" class="ccf-width100" /></td> 
     1144                            <td><input type="text" name="objects[<?php echo $i; ?>][values][option_value]" value="<?php echo $option->option_value; ?>" class="ccf-width100" /></td> 
     1145                            <td><select name="objects[<?php echo $i; ?>][values][option_dead]"><option value="0"><?php _e('No', 'custom-contact-forms'); ?></option><option <?php if ($option->option_dead == 1) echo 'selected="selected"'; ?> value="1"><?php _e('Yes', 'custom-contact-forms'); ?></option></select></td> 
     1146                           
     1147                        </tr> 
     1148                        <?php 
     1149                $i++; 
     1150                } if (empty($options)) { 
     1151                ?> 
     1152                        <tr> 
     1153                          <td class="ccf-center"><?php _e("No field options have been created.", 'custom-contact-forms'); ?></td> 
     1154                        </tr> 
     1155                        <?php 
     1156                } 
     1157                ?> 
     1158                        </tbody> 
     1159                      </table> 
     1160                      <select class="bulk-dropdown" name="object_bulk_action"> 
     1161                      <option value="0"><?php _e('Bulk Actions', 'custom-contact-forms'); ?></option> 
     1162                <option value="edit"><?php _e('Save', 'custom-contact-forms'); ?></option> 
     1163                <option value="delete"><?php _e('Delete', 'custom-contact-forms'); ?></option></select>  
     1164                      <input type="submit" class="bulk-apply" name="object_bulk_apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
     1165                      </form> 
     1166                </div> 
     1167              </div> 
     1168               
    11701169               
    1171               <a name="create-styles"></a> 
     1170              <div id="create-field-options" class="postbox"> 
     1171                <h3 class="hndle"><span> 
     1172                  <?php _e("Create A Field Option", 'custom-contact-forms'); ?> 
     1173                  </span></h3> 
     1174                <div class="inside"> 
     1175                      <form id="ccf-create-field-option" method="post" action="<?php echo $_SERVER['REQUEST_URI']?>"> 
     1176                      <input type="hidden" name="selected_tab" value="field-options" /> 
     1177                        <ul> 
     1178                          <li> 
     1179                            <label for="object[option_slug]">* 
     1180                            <?php _e("Option Slug:", 'custom-contact-forms'); ?> 
     1181                            </label> 
     1182                            <input maxlength="20" type="text" name="object[option_slug]" /> 
     1183                            <br /> 
     1184                            <?php _e("Used to identify this option, solely for admin purposes; must be unique, and contain only letters, numbers, and underscores. Example: 'slug_one'", 'custom-contact-forms'); ?> 
     1185                          </li> 
     1186                          <li> 
     1187                            <label for="object[option_label]">* 
     1188                            <?php _e("Option Label:", 'custom-contact-forms'); ?> 
     1189                            </label> 
     1190                            <input type="text" name="object[option_label]" /> 
     1191                            <br /> 
     1192                            <?php _e("This is what is shown to the user in the dropdown or radio field. Example: 'United States'", 'custom-contact-forms'); ?> 
     1193                          </li> 
     1194                          <li> 
     1195                            <label for="object[option_value]"> 
     1196                            <?php _e("Option Value:", 'custom-contact-forms'); ?> 
     1197                            </label> 
     1198                            <input type="text" name="object[option_value]" /> <a href="javascript:void(0)" class="toollink" title="<?php _e("This is the actual value of the option which is not shown to the user. This can be the same thing as the label. An example pairing of label => value is: 'The color green' => 'green' or 'Yes' => '1'.", 'custom-contact-forms'); ?>">(?)</a> 
     1199                            <br /> 
     1200                            <?php _e('This is the actual value of the option which is not shown to the user. This can be the same thing as the label. An example pairing of label => value is: "The color green" => "green" or "Yes" => "1".', 'custom-contact-forms'); ?> 
     1201                          </li> 
     1202                          <li> 
     1203                            <label for="object[option_dead]"><?php _e("Is Dead Option:", 'custom-contact-forms'); ?></label> 
     1204                            <select name="object[option_dead]"><option value="0"><?php _e('No', 'custom-contact-forms'); ?></option><option value="1"><?php _e('Yes', 'custom-contact-forms'); ?></option></select> 
     1205                            <a href="javascript:void(0)" class="toollink" title="<?php _e("A dead option is something like 'Please Select One'. This is a useful tool for required dropdown fields. If a dead option is submitted by a user for a required dropdown field, then the user will have to go back and fill out the field again.", 'custom-contact-forms'); ?>">(?)</a> 
     1206                          </li> 
     1207                          <li> 
     1208                            <input name="object_type" type="hidden" value="field_option" /> 
     1209                            <input type="submit" class="object-action" name="object_create" value="<?php _e("Create Field Option", 'custom-contact-forms'); ?>" /> 
     1210                           
     1211                          </li> 
     1212                        </ul> 
     1213                      </form> 
     1214                  </div> 
     1215              </div> 
     1216              </div> 
     1217               
     1218               
     1219              <div id="styles"> 
    11721220              <div id="create-styles" class="postbox"> 
    11731221                <h3 class="hndle"><span> 
     
    11791227                  </p> 
    11801228                  <form id="ccf-create-style" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     1229                  <input type="hidden" name="selected_tab" value="styles" /> 
    11811230                    <ul class="style_left"> 
    11821231                      <li> 
     
    14721521              </h3> 
    14731522              <form class="ccf-edit-ajax" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     1523              <input type="hidden" name="selected_tab" value="styles" /> 
    14741524              <table class="widefat post" id="manage-styles" cellspacing="0"> 
    14751525                <thead> 
     
    17381788              <input type="submit" name="object_bulk_apply" class="bulk-apply" value="<?php _e('Apply', 'custom-contact-forms'); ?>" /> <img src="<?php echo plugins_url(); ?>/custom-contact-forms/images/wpspin_light.gif" width="16" height="16" class="loading-img" /> 
    17391789              </form> 
    1740               <a name="contact-author"></a> 
     1790              </div> 
     1791              <div id="support"> 
    17411792              <div id="contact-author" class="postbox"> 
    17421793                <h3 class="hndle"><span> 
     
    17451796                <div class="inside"> 
    17461797                  <form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
     1798                  <input type="hidden" name="selected_tab" value="support" /> 
    17471799                    <ul> 
    17481800                      <li> 
     
    17581810                        <input id="email" type="text" value="<?php echo get_option('admin_email'); ?>" name="email" maxlength="100" /> 
    17591811                      </li> 
     1812                    </ul> 
     1813                    <ul> 
    17601814                      <li> 
    17611815                        <label for="host"> 
     
    17631817                        </label> 
    17641818                        <input id="host" type="text" name="host" maxlength="150" /> 
    1765                       </li> 
    1766                       <li> 
    1767                         <label for="message">* 
    1768                         <?php _e("Your Message:", 'custom-contact-forms'); ?> 
    1769                         </label> 
    1770                         <textarea id="message" name="message"></textarea> 
    17711819                      </li> 
    17721820                      <li> 
     
    17861834                        </select> 
    17871835                      </li> 
     1836                    </ul> 
     1837                    <ul> 
    17881838                      <li> 
    17891839                        <label for="ccf-version"> 
     
    17991849                      </li> 
    18001850                    </ul> 
     1851                    <ul class="message"> 
     1852                      <li> 
     1853                        <label for="message">* 
     1854                        <?php _e("Your Message:", 'custom-contact-forms'); ?> 
     1855                        </label> 
     1856                        <textarea id="message-textarea" name="message"></textarea> 
     1857                      </li> 
     1858                    </ul> 
    18011859                    <p> 
    18021860                      <input type="submit" name="contact_author" value="<?php _e("Send Message", 'custom-contact-forms'); ?>" /> 
     
    18051863                </div> 
    18061864              </div> 
    1807               <a name="custom-html"></a> 
     1865              </div> 
     1866               
     1867              <div id="advanced"> 
    18081868              <div id="custom-html" class="postbox"> 
    18091869                <h3 class="hndle"><span> 
     
    18241884&lt;input type=&quot;hidden&quot; name=&quot;required_fields&quot; value=&quot;field_name1, field_name2&quot; /&gt; 
    18251885 
    1826 &lt;!-- <?php _e("Paste all this code into a page or post and edit it to your liking. It is recommended you only use this feature if you are experienced with HTML. The destination_email  
    1827 field specifies where emails will be sent on successful submission; you can have the form send to multiple addresses by separating email's with semi-colons (i.e. email@google.com; email2@google.com).  
    1828 The success_message field will add a popover containing the message when the form is completed successfully, the thank_you_page field will force  
    1829 the user to be redirected to that specific page on successful form completion. The required_fields hidden field is optional; to use it seperate  
    1830 the field names you want required by commas. Remember to use underscores instead of spaces in field names!", 'custom-contact-forms'); ?> --&gt; 
     1886&lt;!-- <?php _e("Paste all this code into a page or post and edit it to your liking. It is recommended you only use this feature if you are experienced with HTML. The destination_email field specifies where emails will be sent on successful submission; you can have the form send to multiple addresses by separating email's with semi-colons (i.e. email@google.com; email2@google.com). The success_message field will add a popover containing the message when the form is completed successfully, the thank_you_page field will force the user to be redirected to that specific page on successful form completion. The required_fields hidden field is optional; to use it separate the field names you want required by commas. Remember to use underscores instead of spaces in field names!", 'custom-contact-forms'); ?> --&gt; 
    18311887 
    18321888&lt;/form&gt;</textarea> 
    18331889                </div> 
    18341890              </div> 
    1835               <a name="plugin-news"></a> 
     1891              </div> 
     1892               
     1893              <div id="news"> 
    18361894              <div id="plugin-news" class="postbox"> 
    18371895                <h3 class="hndle"><span> 
     
    18421900                </div> 
    18431901              </div> 
     1902              </div> 
     1903              <?php $this->rateMeForm(); ?> 
    18441904              <?php $this->insertUsagePopover(); ?> 
    18451905              <?php $this->insertQuickStartPopover(); ?> 
     1906              </div> 
    18461907            </div> 
    18471908<?php 
     
    18721933                    <?php _e("Custom Contact Forms", 'custom-contact-forms'); ?> 
    18731934                </h2> 
    1874                 <input type="button" class="quick-start-button" value="<?php _e("Quick Start Guide", 'custom-contact-forms'); ?>" /> 
    1875                 <input type="button" class="usage-popover-button" value="<?php _e("Plugin Usage Manual", 'custom-contact-forms'); ?>" /> 
    1876               </div> 
     1935                <div class="links"> 
     1936                    <a href="javascript:void(0)" class="quick-start-button">Quick Start Guide</a> - <a href="javascript:void(0)" class="usage-popover-button">Plugin Usage Manual</a> 
     1937                </div> 
     1938              </div> 
    18771939              <a class="genesis" href="http://www.shareasale.com/r.cfm?b=241369&u=481196&m=28169&urllink=&afftrack=">Custom Contact Forms works best with any of the 20+ <span>Genesis</span> Wordpress child themes. The <span>Genesis Framework</span> empowers you to quickly and easily build incredible websites with WordPress.</a> 
    18781940             
     
    18911953            </form> 
    18921954            <?php if (!empty($this->action_complete)) { ?> 
    1893             <div class="action-complete"> 
    1894                 <?php echo $this->action_complete; ?> 
     1955            <div id="message" class="updated below-h2"> 
     1956                <p><?php echo $this->action_complete; ?></p> 
    18951957            </div> 
    18961958            <?php } ?> 
     
    19422004                        <li> 
    19432005                          <div><?php echo $item_key; ?></div> 
    1944                           <p><?php echo $item_value; ?></p> 
     2006                          <p><?php echo $data->parseUserData($item_value); ?></p> 
    19452007                        </li> 
    19462008                        <?php 
     
    20142076                    <?php _e("Custom Contact Forms", 'custom-contact-forms'); ?> 
    20152077                </h2> 
    2016                 <input type="button" class="quick-start-button" value="<?php _e("Quick Start Guide", 'custom-contact-forms'); ?>" /> 
    2017                 <input type="button" class="usage-popover-button" value="<?php _e("Plugin Usage Manual", 'custom-contact-forms'); ?>" /> 
    2018               </div> 
     2078                <div class="links"> 
     2079                    <a href="javascript:void(0)" class="quick-start-button">Quick Start Guide</a> - <a href="javascript:void(0)" class="usage-popover-button">Plugin Usage Manual</a> 
     2080                </div> 
     2081              </div> 
    20192082              <a class="genesis" href="http://www.shareasale.com/r.cfm?b=241369&u=481196&m=28169&urllink=&afftrack=">Custom Contact Forms works best with any of the 20+ <span>Genesis</span> Wordpress child themes. The <span>Genesis Framework</span> empowers you to quickly and easily build incredible websites with WordPress.</a> 
    20202083             
     
    20342097             
    20352098            <?php if (!empty($this->action_complete)) { ?> 
    2036             <div class="action-complete"> 
    2037                 <?php echo $this->action_complete; ?> 
     2099            <div id="message" class="updated below-h2"> 
     2100                <p><?php echo $this->action_complete; ?></p> 
    20382101            </div> 
    20392102            <?php } ?> 
     
    21742237                        <?php _e("Within each form in the form manager, you can specify the page id's on which that form will be used. If you set this to 'Yes', the plugin will only include CSS and JS files on pages/posts where a CCF form is inserted. If this is set to 'No', CSS and JS files for this plugin will be included on every page of your site except in the admin area.", 'custom-contact-forms'); ?> 
    21752238                      </li> 
    2176                        
    21772239                    </ul> 
    21782240                    <ul class="gright"> 
     
    22382300                      </li> 
    22392301                      <li> 
    2240                         <label for="author_link"> 
    2241                         <?php _e("Hide Plugin Author Link in Code:", 'custom-contact-forms'); ?> 
    2242                         </label> 
    2243                         <select name="settings[author_link]"> 
    2244                           <option value="1"> 
    2245                           <?php _e("Yes", 'custom-contact-forms'); ?> 
    2246                           </option> 
    2247                           <option <?php if ($admin_options['author_link'] == 0) echo 'selected="selected"'; ?> value="0"> 
    2248                           <?php _e("No", 'custom-contact-forms'); ?> 
    2249                           </option> 
    2250                         </select> 
    2251                       </li> 
    2252                       <li> 
    22532302                        <label for="admin_ajax"> 
    22542303                        <?php _e("Fancy Admin AJAX Abilities:", 'custom-contact-forms'); ?> 
     
    22902339                      <li class="descrip"> 
    22912340                        <?php _e("The form access manager within each form allows you to control who can view your form. However, that will take effect on any of your forms unless this is enabled.", 'custom-contact-forms'); ?> 
     2341                      </li> 
     2342                      <li> 
     2343                        <label for="max_file_upload_size"> 
     2344                        <?php _e("Maximum File Upload Size:", 'custom-contact-forms'); ?> 
     2345                        </label> 
     2346                        <input name="settings[max_file_upload_size]" class="ccf-width75" type="text" value="<?php echo $admin_options['max_file_upload_size']; ?>" /> <?php _e("MB"); ?> 
     2347                           
     2348                      </li> 
     2349                      <li class="descrip"> 
     2350                        <?php _e("When creating file fields, you can specify maximum upload sizes for each individual field. This setting lets you set an overall cap for security reasons. It is recommended you leave this at 10 MB.", 'custom-contact-forms'); ?> 
    22922351                      </li> 
    22932352                      <li class="show-widget"><b> 
     
    23572416                </div> 
    23582417              </div> 
    2359               <a name="import-export"></a> 
    23602418              <div id="export" class="postbox"> 
    23612419                <h3 class="hndle"><span> 
     
    23792437                <div class="inside"> 
    23802438                  <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
    2381                     <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
     2439                     
    23822440                    <p> 
    23832441                      <?php _e("Browse to a CCF .sql export file to import Custom Contact Form data from another Wordpress installation to this one. Pressing the 'Clear and Import' button deletes all current data and then imports the selected file; this will not work for merging to data!. Clearing all CCF data before importing prevents any conflicts from occuring. Before you attempt an import, you should always download a backup, by clicking the 'Export All' button.", 'custom-contact-forms'); ?> 
  • custom-contact-forms/trunk/custom-contact-forms-front.php

    r390266 r418408  
    99        var $form_errors = array(); 
    1010        var $error_return; 
     11        var $form_uploads = array(); 
    1112        var $current_form; 
    1213        var $current_thank_you_message; 
     
    1415        function frontInit() { 
    1516            ccf_utils::startSession(); 
     17            //print_r($_SESSION); 
    1618            $this->processForms(); 
    1719        } 
     
    8284         
    8385        function insertDatePickerScripts() { 
    84             //wp_enqueue_script('jquery-ui-widget'); //, plugins_url() . '/custom-contact-forms/js/jquery.ui.widget.js'); 
    8586            wp_enqueue_script('jquery-ui-datepicker', plugins_url() . '/custom-contact-forms/js/jquery.ui.datepicker.js', array('jquery-ui-core', 'jquery-ui-widget')); 
    86             wp_enqueue_script('ccf-datepicker', plugins_url() . '/custom-contact-forms/js/custom-contact-forms-datepicker.js', '1.0'); 
     87            wp_enqueue_script('ccf-datepicker', plugins_url() . '/custom-contact-forms/js/custom-contact-forms-datepicker.js', '1.2'); 
    8788        } 
    8889         
     
    136137            } 
    137138            return $content; 
    138             /* 
    139             $matches = array(); 
    140             preg_match_all('/\[customcontact form=([0-9]+)\]/si', $content, $matches); 
    141             $matches_count = count($matches[0]); 
    142             for ($i = 0; $i < $matches_count; $i++) { 
    143                 $this_form = parent::selectForm($matches[1][$i]); 
    144                 if ($this_form == false) 
    145                     $form_replace = ''; 
    146                 if (!$this->userCanViewForm($this_form)) 
    147                     $form_replace = __("You don't have the proper permissions to view this form.", 'custom-contact-forms'); 
    148                 else 
    149                     $form_replace = $this->getFormCode($this_form); 
    150                 $content = str_replace($matches[0][$i], $form_replace, $content); 
    151             } 
    152             return $content;*/ 
    153139        } 
    154140         
     
    228214            $form_title = ccf_utils::decodeOption($form->form_title, 1, 1); 
    229215            $action = (!empty($form->form_action)) ? $form->form_action : $_SERVER['REQUEST_URI']; 
    230             $out .= '<form id="'.$form_id.'" method="'.$form_method.'" action="'.$action.'" class="'.$style_class.'">' . "\n"; 
     216            $file_upload_form = ''; 
     217            //$out .= '<form id="'.$form_id.'" method="'.$form_method.'" action="'.$action.'" class="'.$style_class.'">' . "\n"; 
    231218            $out .= ccf_utils::decodeOption($form->custom_code, 1, 1) . "\n"; 
    232219            if (!empty($form_title) && !$is_widget_form) $out .= '<h4 id="h4-' . $form->id . '-' . $form_key . '">' . $form_title . '</h4>' . "\n"; 
     
    244231                $tooltip_class = (empty($field->field_instructions)) ? '' : 'ccf-tooltip-field'; 
    245232                if ($admin_options['enable_widget_tooltips'] == 0 && $is_widget_form) $instructions = ''; 
    246                 if ($_SESSION['fields'][$field->field_slug]) { 
     233                if ($_SESSION['ccf_fields'][$field->field_slug]) { 
    247234                    if ($admin_options['remember_field_values'] == 1) 
    248                         $field_value = $_SESSION['fields'][$field->field_slug]; 
     235                        $field_value = $_SESSION['ccf_fields'][$field->field_slug]; 
    249236                } if ($field->field_slug == 'captcha') { 
    250237                    $out .= '<div>' . "\n" . $this->getCaptchaCode($field, $form->id) . "\n" . '</div>' . "\n"; 
    251238                } elseif ($field->field_slug == 'usaStates') { 
     239                    $field->field_value = $field_value; 
    252240                    $out .= '<div>' . "\n" . $this->getStatesCode($field, $form->id) . "\n" . '</div>' . "\n"; 
    253241                } elseif ($field->field_slug == 'allCountries') { 
     242                    $field->field_value = $field_value; 
    254243                    $out .= '<div>' . "\n" . $this->getCountriesCode($field, $form->id) . "\n" . '</div>' . "\n"; 
    255244                } elseif ($field->field_slug == 'resetButton') { 
     
    258247                    $maxlength = (empty($field->field_maxlength) or $field->field_maxlength <= 0) ? '' : ' maxlength="'.$field->field_maxlength.'"'; 
    259248                    $out .= '<div>'."\n".'<label for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'. $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>'."\n".'<input class="'.$field->field_class.' '.$tooltip_class.'" '.$instructions.' '.$input_id.' type="text" name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'" value="'.$field_value.'"'.$maxlength.''.$code_type.'>'."\n".'</div>' . "\n"; 
     249                } elseif ($field->field_type == 'File') { 
     250                    $file_upload_form = ' enctype="multipart/form-data" '; 
     251                    $out .= '<div>'."\n".'<label for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'. $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>'."\n".'<input class="'.$field->field_class.' '.$tooltip_class.'" '.$instructions.' '.$input_id.' type="file" name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'" value="'.$field_value.'"'.$code_type.'>'."\n".'</div>' . "\n"; 
    260252                } elseif ($field->field_type == 'Date') { 
    261253                    $maxlength = (empty($field->field_maxlength) or $field->field_maxlength <= 0) ? '' : ' maxlength="'.$field->field_maxlength.'"'; 
     
    263255                } elseif ($field->field_type == 'Hidden') { 
    264256                    $hiddens .= '<input type="hidden" name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'" value="'.$field_value.'" '.$input_id.''.$code_type.'>' . "\n"; 
    265                 } elseif ($field->field_type == 'Checkbox') { 
     257                } /*elseif ($field->field_type == 'Checkbox') { 
    266258                    $out .= '<div>'."\n".'<input class="'.$field->field_class.' '.$tooltip_class.'" '.$instructions.' type="checkbox" name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'" value="'.ccf_utils::decodeOption($field->field_value, 1, 1).'" '.$input_id.''.$code_type.'> '."\n".'<label class="checkbox" for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">' . $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>'."\n".'</div>' . "\n"; 
    267                 } elseif ($field->field_type == 'Textarea') { 
     259                }*/ elseif ($field->field_type == 'Textarea') { 
    268260                    $out .= '<div>'."\n".'<label for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'. $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>'."\n".'<textarea class="'.$field->field_class.' '.$tooltip_class.'" '.$instructions.' '.$input_id.' rows="5" cols="40" name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'.$field_value.'</textarea>'."\n".'</div>' . "\n"; 
    269261                } elseif ($field->field_type == 'Dropdown') { 
     
    272264                    foreach ($options as $option_id) { 
    273265                        $option = parent::selectFieldOption($option_id); 
    274                         $option_sel = ($field->field_value == $option->option_slug) ? ' selected="selected"' : ''; 
     266                        $option_sel = (($field_value == $option->option_label || $field_value == $option->option_value) && !empty($field_value)) ? ' selected="selected"' : ''; 
    275267                        $option_value = (!empty($option->option_value)) ? ' value="' . $option->option_value . '"' : ''; 
    276268                        // Weird way of marking a state dead. TODO: Find another way. 
     
    287279                    foreach ($options as $option_id) { 
    288280                        $option = parent::selectFieldOption($option_id); 
    289                         $option_sel = ($field->field_value == $option->option_slug) ? ' checked="checked"' : ''; 
     281                        $option_sel = (($field_value == $option->option_label || $field_value == $option->option_value) && !empty($field_value)) ? ' checked="checked"' : ''; 
    290282                        $field_options .= '<div><input'.$option_sel.' class="'.$field->field_class.' '.$tooltip_class.'" type="radio" '.$instructions.' name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'" value="'.ccf_utils::decodeOption($option->option_value, 1, 1).'"'.$code_type.'> <label class="select" for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">' . ccf_utils::decodeOption($option->option_label, 1, 1) . '</label></div>' . "\n"; 
    291283                    } 
    292284                    $field_label = (!empty($field->field_label)) ? '<label for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'. $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>' : ''; 
    293285                    if (!empty($options)) $out .= '<div>'."\n".$field_label."\n".$field_options."\n".'</div>' . "\n"; 
    294                 } 
    295             } 
     286                } elseif ($field->field_type == 'Checkbox') { 
     287                    $field_options = ''; 
     288                    $options = parent::getAttachedFieldOptionsArray($field->id); 
     289                    $z = 0; 
     290                    foreach ($options as $option_id) { 
     291                        $option = parent::selectFieldOption($option_id); 
     292                        $field_value_array = (!is_array($field_value)) ? array() : $field_value; 
     293                        $option_sel = (in_array($option->option_label, $field_value_array) || in_array($option->option_value, $field_value_array)) ? ' checked="checked"' : ''; 
     294                        $check_value = (empty($option->option_value)) ? $option->option_label : ccf_utils::decodeOption($option->option_value, 1, 1); 
     295                        $field_options .= '<div><input'.$option_sel.' class="'.$field->field_class.' '.$tooltip_class.'" type="checkbox" '.$instructions.' name="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'['.$z.']" value="'.$check_value.'"'.$code_type.'> <label class="select" for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">' . ccf_utils::decodeOption($option->option_label, 1, 1) . '</label></div>' . "\n"; 
     296                        $z++; 
     297                    } 
     298                    $field_label = (!empty($field->field_label)) ? '<label for="'.ccf_utils::decodeOption($field->field_slug, 1, 1).'">'. $req .ccf_utils::decodeOption($field->field_label, 1, 1).'</label>' : ''; 
     299                    if (!empty($options)) $out .= '<div>'."\n".$field_label."\n".$field_options."\n".'</div>' . "\n"; 
     300                } 
     301            } 
     302            if (!empty($file_upload_form)) 
     303                $out = '<input type="hidden" name="MAX_FILE_SIZE" value="'.($admin_options['max_file_upload_size'] * 1000 * 1000).'" />' . "\n" . $out; 
     304            $out = '<form id="'.$form_id.'" method="'.$form_method.'" action="'.$action.'" class="'.$style_class.'"'.$file_upload_form.'>' . "\n" . $out; 
    296305            $submit_text = (!empty($form->submit_button_text)) ? ccf_utils::decodeOption($form->submit_button_text, 1, 0) : 'Submit'; 
    297306            $out .= '<input name="form_page" value="'.$_SERVER['REQUEST_URI'].'" type="hidden"'.$code_type.'>'."\n".'<input type="hidden" name="fid" value="'.$form->id.'"'.$code_type.'>'."\n".$hiddens."\n".'<input type="submit" id="submit-' . $form->id . '-'.$form_key.'" class="submit" value="' . $submit_text . '" name="customcontactforms_submit"'.$code_type.'>'; 
     
    321330                $form_styles .= '</style>' . "\n"; 
    322331            } 
    323              
    324332            return $form_styles . $out; 
    325333        } 
     
    333341            } 
    334342            return $array; 
     343        } 
     344         
     345        function processFileUpload($field) { 
     346            $errors = array(); 
     347            if (empty($_FILES[$field->field_slug])) $errors[] = __('Any error occured while uploading ' . $field->field_slug . '.', 'custom-contact-forms'); 
     348            $admin_options = parent::getAdminOptions(); 
     349            if ($field->field_max_upload_size > 0 && $_FILES[$field->field_slug]['size'] > ($field->field_max_upload_size * 1000)) $errors[] = __(basename($_FILES[$field->field_slug]['name']) . ' is too large of a file. The maximum file size for that field is ' . $field->field_max_upload_size . ' KB.', 'custom-contact-forms'); 
     350            $allowed_exts = unserialize($field->field_allowed_file_extensions); 
     351            $ext = preg_replace('/.*\.(.*)/i', '$1', basename($_FILES[$field->field_slug]['name'])); 
     352            if (!in_array($ext, $allowed_exts)) $errors[] = __($ext . ' is an invalid file extension.', 'custom-contact-forms'); 
     353            if (!empty($errors)) return $errors; 
     354             
     355            // create necessary directories 
     356            if (!is_dir(ABSPATH."wp-content/plugins/custom-contact-forms/uploads/".date("Y"))) 
     357                mkdir(ABSPATH."wp-content/plugins/custom-contact-forms/uploads/".date("Y")); 
     358            if (!is_dir(ABSPATH . "wp-content/plugins/custom-contact-forms/uploads/".date("Y")."/".date("m"))) 
     359                mkdir(ABSPATH . "wp-content/plugins/custom-contact-forms/uploads/".date("Y")."/".date("m")); 
     360             
     361            // check if file already exists 
     362            $file_name = preg_replace('/(.*)\..*/i', '$1', basename($_FILES[$field->field_slug]['name'])); 
     363            $file_name_addon = "."; 
     364            $i = 1; 
     365            while (file_exists( ABSPATH . "wp-content/plugins/custom-contact-forms/uploads/".date("Y")."/".date("m")."/" . $file_name . $file_name_addon . $ext)) { 
     366                $file_name_addon = ' ('.$i.').'; 
     367                $i++; 
     368            } 
     369            $target_path = ABSPATH . "wp-content/plugins/custom-contact-forms/uploads/".date("Y")."/".date("m")."/" . $file_name . $file_name_addon . $ext; 
     370            $this->form_uploads[$field->field_slug] = ABSPATH . "wp-content/plugins/custom-contact-forms/uploads/".date("Y")."/".date("m")."/" . $file_name . $file_name_addon . $ext; 
     371            if(!move_uploaded_file($_FILES[$field->field_slug]['tmp_name'], $target_path)) { 
     372                // Error! 
     373                $errors[] = __('Any error occured while uploading ' . $field->field_slug . '.', 'custom-contact-forms'); 
     374            } 
     375            return $errors; 
    335376        } 
    336377         
     
    405446                $admin_options = parent::getAdminOptions(); 
    406447                $fields = parent::getAttachedFieldsArray($_POST['fid']); 
     448                $post_time = time(); 
    407449                $form = parent::selectForm($_POST['fid']); 
    408450                $checks = array(); 
    409451                $reply = ($_POST['fixedEmail']) ? $_POST['fixedEmail'] : NULL; 
    410452                $fixed_subject = ($_POST['emailSubject']) ? $_POST['emailSubject'] : NULL; 
    411                 $cap_name = 'captcha_' . $_POST['fid']; 
     453                $cap_name = 'ccf_captcha_' . $_POST['fid']; 
    412454                foreach ($fields as $field_id) { 
    413455                    $field = parent::selectField($field_id, ''); 
     
    438480                    } else { 
    439481                        $field_error_label = (empty($field->field_label)) ? $field->field_slug : $field->field_label; 
    440                         if ($field->field_required == 1 && !empty($_POST[$field->field_slug])) { 
    441                             if ($field->field_type == 'Dropdown' || $field->field_type == 'Radio') { 
     482                        if ($field->field_required == 1 && $field->field_type != 'File' && !empty($_POST[$field->field_slug])) { 
     483                            if ($field->field_type == 'Dropdown' || $field->field_type == 'Radio' || $field->field_type == 'Checkbox') { 
    442484                                // TODO: find better way to check for a dead state 
    443485                                if ($_POST[$field->field_slug] == CCF_DEAD_STATE_VALUE) { 
     
    447489                                } 
    448490                            } 
    449                         } elseif ($field->field_required == 1 && empty($_POST[$field->field_slug])) { 
     491                        } elseif ($field->field_required == 1 && $field->field_type != 'File' && empty($_POST[$field->field_slug])) { 
    450492                            if (empty($field->field_error)) 
    451493                                $this->setFormError($field->field_slug, $lang['field_blank'] . '"'.$field_error_label.'"'); 
    452494                            else $this->setFormError($field->field_slug, $field->field_error); 
     495                        } else { 
     496                            // file field required and not found 
     497                            if ($field->field_required == 1 && $field->field_type == 'File' && empty($_FILES[$field->field_slug]['name'])) { 
     498                                if (empty($field->field_error)) 
     499                                    $this->setFormError($field->field_slug, $lang['field_blank'] . '"'.$field_error_label.'"'); 
     500                                else $this->setFormError($field->field_slug, $field->field_error); 
     501                            } 
     502                            //file field found 
     503                            elseif ($field->field_type == 'File' && !empty($_FILES[$field->field_slug]['name'])) { 
     504                                $upload_result = $this->processFileUpload($field, $post_time); 
     505                                foreach ($upload_result as $err) { 
     506                                    $this->setFormError($field->field_slug, $err); 
     507                                } 
     508                            } 
    453509                        } 
    454510                    } if ($field->field_type == 'Checkbox') 
     
    458514                $data_array = array(); 
    459515                foreach ($_POST as $key => $value) { 
    460                     $_SESSION['fields'][$key] = $value; 
     516                    $_SESSION['ccf_fields'][$key] = $value; 
     517                    //if (is_array($value)) $value = implode(', ', $value); 
     518                    $val2 = (is_array($value)) ? implode(', ', $value) : $value; 
    461519                    $field = parent::selectField('', $key); 
    462520                    if (!array_key_exists($key, $GLOBALS['ccf_fixed_fields']) || $key == 'fixedEmail' || $key == 'usaStates' || $key == 'fixedWebsite'|| $key == 'emailSubject' || $key == 'allCountries') { 
    463521                        $mail_field_label = (empty($field->field_label)) ? $field->field_slug : $field->field_label; 
    464                         $body .= htmlspecialchars($mail_field_label) . ': ' . htmlspecialchars($value) . "<br />\n"; 
     522                        $body .= htmlspecialchars($mail_field_label) . ' - ' . htmlspecialchars($val2) . "<br />\n"; 
    465523                        $data_array[$key] = $value; 
     524                         
    466525                    } if (in_array($key, $checks)) { 
    467526                        $checks_key = array_search($key, $checks); 
    468527                        unset($checks[$checks_key]); 
    469528                    } 
     529                } foreach ($this->form_uploads as $name => $upload) { 
     530                    $file_url = preg_replace('/^.*(\/custom-contact-forms\/.*)$/i', plugins_url() . '$1', $upload); 
     531                    if (!array_key_exists($name, $GLOBALS['ccf_fixed_fields'])) $data_array[$name] = '[file link="'.$file_url.'"]'.basename($upload).'[/file]'; 
    470532                } foreach ($checks as $check_key) { 
    471533                    $field = parent::selectField('', $check_key); 
    472534                    $lang['not_checked'] = __('Not Checked', 'custom-contact-forms'); 
    473535                    $data_array[$check_key] = $lang['not_checked']; 
    474                     $body .= ucwords(str_replace('_', ' ', htmlspecialchars($field->field_label))) . ': ' . $lang['not_checked'] . "\n"; 
     536                    $body .= ucwords(str_replace('_', ' ', htmlspecialchars($field->field_label))) . ' - ' . $lang['not_checked'] . "<br />\n"; 
    475537                } 
    476538                $errors = $this->getAllFormErrors(); 
    477539                if (empty($errors)) { 
    478540                    ccf_utils::load_module('export/custom-contact-forms-user-data.php'); 
    479                     unset($_SESSION['captcha_' . $_POST['fid']]); 
    480                     unset($_SESSION['fields']); 
    481                     $data_object = new CustomContactFormsUserData(array('data_array' => $data_array, 'form_page' => $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], 'form_id' => $form->id, 'data_time' => time())); 
     541                    unset($_SESSION['ccf_captcha_' . $_POST['fid']]); 
     542                    unset($_SESSION['ccf_fields']); 
     543                    $data_object = new CustomContactFormsUserData(array('data_array' => $data_array, 'form_page' => $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'], 'form_id' => $form->id, 'data_time' => $post_time)); 
    482544                    parent::insertUserData($data_object); 
    483545                    if ($admin_options['email_form_submissions'] == '1') { 
     
    505567                                $mail->AddAddress($em); 
    506568                        } 
     569                        foreach ($this->form_uploads as $file_upload) { 
     570                            $mail->AddAttachment($file_upload); 
     571                        } 
    507572                        if ($reply != NULL && $this->validEmail($reply)) 
    508573                            $mail->From = $reply; 
     
    523588                } 
    524589                unset($_POST); 
     590                $_POST = array(); 
    525591            } 
    526592        } 
  • custom-contact-forms/trunk/custom-contact-forms-utils.php

    r387516 r418408  
    7676                            'datePicker' => __("This field displays a text box that when clicked pops up an interactive calender.'", 'custom-contact-forms'), 
    7777                            'allCountries' => __("This is a dropdown field showing countries. If you want a country initially selected, enter it in 'Initial Value.'", 'custom-contact-forms'), 
    78                             'resetButton' => __("This field lets users reset all form fields to their initial values. This will be inserted next to the submit button.", 'custom-contact-forms') 
     78                            'resetButton' => __("This field lets users reset all form fields to their initial values. This will be inserted next to the submit button.", 'custom-contact-forms'), 
     79                            'MAX_FILE_SIZE' => '' 
    7980                            ); 
    8081        } 
  • custom-contact-forms/trunk/custom-contact-forms.php

    r394291 r418408  
    44    Plugin URI: http://taylorlovett.com/wordpress-plugins 
    55    Description: Guaranteed to be 1000X more customizable and intuitive than Fast Secure Contact Forms or Contact Form 7. Customize every aspect of your forms without any knowledge of CSS: borders, padding, sizes, colors. Ton's of great features. Required fields, form submissions saved to database, captchas, tooltip popovers, unlimited fields/forms/form styles, import/export, use a custom thank you page or built-in popover with a custom success message set for each form. 
    6     Version: 4.6.0.1 
     6    Version: 4.7.0.0 
    77    Author: Taylor Lovett 
    88    Author URI: http://www.taylorlovett.com 
     
    5252            $admin_email = get_option('admin_email'); 
    5353            $customcontactAdminOptions = array('show_widget_home' => 1, 'show_widget_pages' => 1, 'show_widget_singles' => 1, 'show_widget_categories' => 1, 'show_widget_archives' => 1, 'default_to_email' => $admin_email, 'default_from_email' => $admin_email, 'default_from_name' => 'Custom Contact Forms', 'default_form_subject' => __('Someone Filled Out Your Contact Form!', 'custom-contact-forms'),  
    54             'remember_field_values' => 0, 'author_link' => 1, 'enable_widget_tooltips' => 1, 'mail_function' => 'default', 'form_success_message_title' => __('Successful Form Submission', 'custom-contact-forms'), 'form_success_message' => __('Thank you for filling out our web form. We will get back to you ASAP.', 'custom-contact-forms'), 'enable_jquery' => 1, 'code_type' => 'XHTML', 
     54            'remember_field_values' => 0, 'enable_widget_tooltips' => 1, 'mail_function' => 'default', 'form_success_message_title' => __('Successful Form Submission', 'custom-contact-forms'), 'form_success_message' => __('Thank you for filling out our web form. We will get back to you ASAP.', 'custom-contact-forms'), 'enable_jquery' => 1, 'code_type' => 'XHTML', 
    5555            'show_install_popover' => 0, 'email_form_submissions' => 1, 'enable_dashboard_widget' => 1, 'admin_ajax' => 1, 'smtp_host' => '', 'smtp_encryption' => 'none', 'smtp_authentication' => 0, 'smtp_username' => '', 'smtp_password' => '', 'smtp_port' => '', 'default_form_error_header' => __('You filled out the form incorrectly.', 'custom-contact-forms'),  
    56             'default_form_bad_permissions' => __("You don't have the proper permissions to view this form.", 'custom-contact-forms'), 'enable_form_access_manager' => 0, 'dashboard_access' => 2, 'form_page_inclusion_only' => 0); // default general settings 
     56            'default_form_bad_permissions' => __("You don't have the proper permissions to view this form.", 'custom-contact-forms'), 'enable_form_access_manager' => 0, 'dashboard_access' => 2, 'form_page_inclusion_only' => 0, 'max_file_upload_size' => 10); // default general settings 
    5757            $customcontactOptions = get_option($this->getAdminOptionsName()); 
    5858            if (!empty($customcontactOptions)) { 
  • custom-contact-forms/trunk/image.php

    r336413 r418408  
    1313if (!session_id()) 
    1414    session_start(); 
    15 $captcha_name = 'captcha_' . $_GET['fid']; 
     15$captcha_name = 'ccf_captcha_' . $_GET['fid']; 
    1616if (!$_SESSION[$captcha_name]) 
    1717    $_SESSION[$captcha_name] = $str; 
  • custom-contact-forms/trunk/js/custom-contact-forms-admin.js

    r387684 r418408  
    8282        opacity: 1.0                             
    8383    }); 
     84     
     85     
     86    $j("#customcontactforms-admin #create-fields .field-type-selector").change(function () { 
     87        $j("#customcontactforms-admin #create-fields .field-type-selector option:selected").each(function () { 
     88            if ($j(this).text() == "File") { 
     89                $j("#customcontactforms-admin #create-fields .file-fields").fadeIn("slow"); 
     90            } else { 
     91                $j("#customcontactforms-admin #create-fields .file-fields").hide();  
     92            } 
     93        }); 
     94    }).trigger('change'); 
     95 
     96    var $tabs = $j( "#customcontactforms-admin #ccf-tabs" ).tabs(); 
     97    if (ccfLang.selected_tab != 0) $tabs.tabs('select', '#' + ccfLang.selected_tab); 
     98     
    8499}); 
  • custom-contact-forms/trunk/modules/db/custom-contact-forms-activate-db.php

    r390266 r418408  
    199199            if (!$this->columnExists('form_pages', CCF_FORMS_TABLE)) 
    200200                $wpdb->query("ALTER TABLE `" . CCF_FORMS_TABLE . "` ADD `form_pages` VARCHAR(400) NOT NULL"); 
     201            if (!$this->columnExists('field_max_upload_size', CCF_FIELDS_TABLE)) 
     202                $wpdb->query("ALTER TABLE `" . CCF_FIELDS_TABLE . "` ADD `field_max_upload_size` INT( 11 ) NOT NULL"); 
     203            if (!$this->columnExists('field_allowed_file_extensions', CCF_FIELDS_TABLE)) 
     204                $wpdb->query("ALTER TABLE `" . CCF_FIELDS_TABLE . "` ADD `field_allowed_file_extensions` TEXT NOT NULL"); 
     205                 
    201206            $wpdb->query("ALTER TABLE `" . CCF_FORMS_TABLE . "` CHANGE `form_email` `form_email` TEXT NOT NULL"); 
    202207            $wpdb->query("ALTER TABLE `" . CCF_FORMS_TABLE . "` CHANGE `form_fields` `form_fields` TEXT NOT NULL"); 
  • custom-contact-forms/trunk/modules/db/custom-contact-forms-db.php

    r390266 r418408  
    2525        } 
    2626         
    27         function insertField($field, $fixed = false) { 
     27        function insertField($field, $fixed = false, $skip_encode = array('field_allowed_file_extensions')) { 
    2828            global $wpdb; 
    2929            if (empty($field) or empty($field['field_slug']) or (array_key_exists($this->formatSlug($field['field_slug']), $GLOBALS['ccf_fixed_fields']) && !$fixed) or $this->fieldSlugExists($this->formatSlug($field['field_slug']))) 
    3030                return false; 
    3131            $field['field_slug'] = $this->formatSlug($field['field_slug']); 
     32            if (isset($field['field_allowed_file_extensions'])) 
     33                $field['field_allowed_file_extensions'] = $this->formatFileExtensions($field['field_allowed_file_extensions']); 
    3234            foreach ($field as $key => $value) 
    33                 if (!is_array($value)) 
     35                if (!is_array($value) && !in_array($key, $skip_encode)) 
    3436                    $field[$key] = ccf_utils::encodeOption($value); 
    3537            $wpdb->insert(CCF_FIELDS_TABLE, $field); 
     
    98100        } 
    99101         
    100         function updateField($field, $fid, $skip_encode = array('field_options')) { 
     102        function updateField($field, $fid, $skip_encode = array('field_options', 'field_allowed_file_extensions')) { 
    101103            global $wpdb; 
    102104            if (!empty($field['field_slug'])) { 
     
    107109            } if (isset($field['field_options'])) 
    108110                $field['field_options'] = serialize(array_unique($field['field_options'])); 
     111            if (isset($field['field_allowed_file_extensions'])) 
     112                $field['field_allowed_file_extensions'] = $this->formatFileExtensions($field['field_allowed_file_extensions']); 
    109113            foreach ($field as $key => $value) 
    110114                if (!in_array($key, $skip_encode)) 
     
    356360            $slug = preg_replace('/[^a-z_ A-Z0-9\s]/', '', $slug); 
    357361            return str_replace(' ', '_', $slug);     
     362        } 
     363         
     364        function formatFileExtensions($str) { 
     365            $str = str_replace('.', '', $str); 
     366            $str = str_replace(' ', '', $str); 
     367            $arr = explode(',', $str); 
     368            foreach ($arr as $k => $v) { 
     369                if (empty($v)) unset($arr[$k]); 
     370            } 
     371            return serialize($arr); 
    358372        } 
    359373         
  • custom-contact-forms/trunk/modules/db/custom-contact-forms-default-db.php

    r390266 r418408  
    1616            $field_slugs = array('name' => 'ccf_name', 'message' => 'ccf_message', 
    1717            'phone' => 'ccf_phone', 'google' => 'ccf_google', 'date' => 'ccf_schedule_date', 'contact_method' => 'ccf_contact_method'); 
    18             $option_slugs = array('email' => 'ccf_email', 'phone' => 'ccf_phone', 'nocontact' => 'ccf_no_contact', 'pleaseselect' => 'please_select'); 
     18            $option_slugs = array('email' => 'ccf_email', 'phone' => 'ccf_phone', 'yes' => 'ccf_yes', 'nocontact' => 'ccf_no_contact', 'pleaseselect' => 'please_select'); 
    1919            $form_slugs = array('contact_form' => 'ccf_contact_form'); 
    2020            if ($overwrite) { 
     
    4949            $phone_option = array('option_slug' => $option_slugs['phone'], 'option_label' => __('By Phone', 'custom-contact-forms')); 
    5050            $nocontact_option = array('option_slug' => $option_slugs['nocontact'], 'option_label' => __('Do Not Contact Me', 'custom-contact-forms')); 
     51            $yes_option = array('option_slug' => $option_slugs['yes'], 'option_label' => __('Yes, I did.', 'custom-contact-forms')); 
    5152            $contact_form = array('form_slug' => $form_slugs['contact_form'], 'form_title' => __('Contact Form', 'custom-contact-forms'), 'form_method' => 'Post', 
    5253            'submit_button_text' => __('Send Message', 'custom-contact-forms'), 'form_email' => get_option('admin_email'), 'form_success_message' => __('Thank you for filling out our contact form. We will contact you very soon by the way you specified.', 'custom-contact-forms'), 
     
    5960            $contact_method_field_id = parent::insertField($contact_method_field); 
    6061            $email_option_id = parent::insertFieldOption($email_option); 
     62            $yes_option_id = parent::insertFieldOption($yes_option); 
    6163            $pleaseselect_option_id = parent::insertFieldOption($email_option); 
    6264            $phone_option_id = parent::insertFieldOption($phone_option); 
     
    6769            parent::addFieldOptionToField($phone_option_id, $contact_method_field_id); 
    6870            parent::addFieldOptionToField($nocontact_option_id, $contact_method_field_id); 
     71            parent::addFieldOptionToField($yes_option_id, $google_field_id); 
    6972            parent::addFieldToForm($name_field_id, $contact_form_id); 
    7073            parent::addFieldToForm($website_field->id, $contact_form_id); 
  • custom-contact-forms/trunk/modules/export/custom-contact-forms-user-data.php

    r336413 r418408  
    3838            foreach ($data_array as $key => $value) { 
    3939                $key = ccf_utils::encodeOption($key); 
    40                 $value = ccf_utils::encodeOption($value); 
     40                if (!is_array($value)) 
     41                    $value = ccf_utils::encodeOption($value); 
     42                else { 
     43                    $value = ccf_utils::encodeOptionArray($value); 
     44                    $value = implode(', ', $value); 
     45                } 
    4146                $encoded_data .= 's:'.strlen($key).':"'.$key.'";'; 
    4247                $encoded_data .= 's:'.strlen($value).':"'.$value.'";'; 
     
    6772        function strstrb($h, $n){ 
    6873            return array_shift(explode($n, $h, 2)); 
     74        } 
     75         
     76        function parseUserData($data) { 
     77            if (preg_match('/\[file[ ]*link=("|&quot;).*?("|&quot;)\].*?\[\/[ ]*file\]/is', $data)) { 
     78                $data = preg_replace('/\[file[ ]*link=("|&quot;)(.*?)("|&quot;)\](.*?)\[\/[ ]*file\]/is', '<a href="$2" title="'.__('View File Upload', 'custom-contact-forms').'">$4</a>', $data); 
     79            } 
     80            return $data; 
    6981        } 
    7082         
  • custom-contact-forms/trunk/modules/usage_popover/custom-contact-forms-usage-popover.php

    r390266 r418408  
    6868          </li> 
    6969          <li><span> 
     70            <?php _e("File:", 'custom-contact-forms'); ?> 
     71            </span> 
     72            <div> 
     73              <input type="file" class="ccf-width200" /> <?php _e("This is a file field. Attaching on of these to your forms allows users to send files to you (files are also stored on your server). You can set a max upload size as well as limit the allowed file types.", 'custom-contact-forms'); ?> 
     74            </div> 
     75          </li> 
     76          <li><span> 
    7077            <?php _e("Textarea:", 'custom-contact-forms'); ?> 
    7178            </span> 
  • custom-contact-forms/trunk/modules/widget/custom-contact-forms-dashboard.php

    r388054 r418408  
    113113                                <li> 
    114114                                  <div><?php echo $item_key; ?></div> 
    115                                   <p><?php echo $item_value; ?></p> 
     115                                  <p><?php echo $data->parseUserData($item_value); ?></p> 
    116116                                </li> 
    117117                                <?php 
     
    120120                            </ul> 
    121121                            <div class="separate"></div> 
    122                             <a href="admin.php?page=ccf-saved-form-submissions"><?php _e('View All Submissions', 'custom-contact-forms'); ?></a> 
     122                            <a class="button" href="admin.php?page=ccf-saved-form-submissions"><?php _e('View All Submissions', 'custom-contact-forms'); ?></a> 
    123123                        </div> 
    124124                    </td> 
  • custom-contact-forms/trunk/readme.txt

    r394615 r418408  
    44Tags: contact form, web form, custom contact form, custom forms, captcha form, contact fields, form mailers 
    55Requires at least: 2.8.1 
    6 Tested up to: 3.1.3 
    7 Stable tag: 4.6.0.1 
     6Tested up to: 3.2.1 
     7Stable tag: 4.7.0.0 
    88 
    99Gauranteed to be the most customizable and intuitive contact form plugin for Wordpress. 
     
    1515Special Features: 
    1616------------------ 
    17 Custom Contact Forms 4.6 will revolutionize the idea of a Wordpress plugin. 
    18  
    19 *   __NEW__ Saved Form Submission dashboard widget! 
    20 *   __NEW__ - All form submissions saved and displayed in admin panel as well as emailed to you 
    21 *   __NEW__ - Instantly attach a dropdown with all the countries or all the US States - new fixed fields 
     17Custom Contact Forms 4.7 will revolutionize the idea of a Wordpress plugin. 
     18 
     19*   __NEW__ File Upload Fields 
     20*   __NEW__ Redesigned admin panel 
    2221*   __NEW__ - Option to only include JQuery and CSS and pages that actually use your forms 
    2322*   __NEW__ - Date field that when click displays a stylish calender popover 
     23*   Saved Form Submission dashboard widget! 
     24*   Instantly attach a dropdown with all the countries or all the US States - new fixed fields 
    2425*   Import and export forms/fields/styles/etc. with ease! 
     26*   All form submissions saved and displayed in admin panel as well as emailed to you 
    2527*   This plugin can now be translated in to different languages. 
    2628*   Error messages can be customized for each field 
     
    3133*   __NEW__ - a dashboard widget that displays the latest form submissions 
    3234*   Custom Contact Forms now uses PHPMailer and thus supports STMP and SSL 
    33 *   __NEW__ Have your contact forms send mail to multiple email addresses 
     35*   Have your contact forms send mail to multiple email addresses 
    3436*   Create text fields, textareas, checkboxs, and dropdown fields! 
    3537*   Custom HTML Forms Feature - if you are a web developer you can write your own form html and __use this plugin simply to process your form requests__. Comes with a few useful features. 
     
    6163Restrictions/Requirements: 
    6264------------------------- 
    63 *   Works with Wordpress 2.8.1+, WPMU, and BuddyPress (Wordpress 3.0+ is highly recommended) 
     65*   Works with Wordpress 2.8.1+ 
    6466*   PHP 5 
    6567*   PHP register_globals and safe_mode should be set to "Off" (this is done in your php.ini file) 
     
    140142 
    141143== Changelog == 
     144 
     145= 4.7.0.0 = 
     146*   All files have been changed! 
     147 
    142148= 4.6.0.1 = 
    143149*   custom-contact-forms-admin.php - -1 bug fixed in IE 
Note: See TracChangeset for help on using the changeset viewer.