Plugin Directory

Changeset 3239108


Ignore:
Timestamp:
02/12/2025 05:34:12 AM (14 months ago)
Author:
itpathsolutions
Message:

1.2.8

*Release Date 12 February 2025*

  • Fix - Documentation Page Updates
  • Fix - Minor fixes and updates
  • Enhancement - More API Support added
Location:
contact-form-to-any-api
Files:
43 added
6 edited

Legend:

Unmodified
Added
Removed
  • contact-form-to-any-api/trunk/README.txt

    r3230241 r3239108  
    55Tested up to: 6.7
    66Requires PHP: 7.4
    7 Stable tag: 1.2.7
     7Stable tag: 1.2.8
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    196196== Changelog ==
    197197
     198= 1.2.8 =
     199
     200*Release Date 12 February 2025*
     201
     202* Fix - Documentation Page Updates
     203* Fix - Minor fixes and updates
     204* Enhancement - More API Support added
     205
    198206= 1.2.7 =
    199207
  • contact-form-to-any-api/trunk/admin/class-cf7-to-any-api-admin.php

    r3230241 r3239108  
    710710            array(&$this,'cf7anyapi_render_dashboard_widget') // Callback function to display content
    711711        );
     712
     713        // Reorder the widget to appear at the top
     714        global $wp_meta_boxes;
     715
     716        // Move your widget to the top of the 'normal' dashboard area
     717        $widget = $wp_meta_boxes['dashboard']['normal']['core']['cf7anyapi_dashboard_widget'];
     718        unset($wp_meta_boxes['dashboard']['normal']['core']['cf7anyapi_dashboard_widget']);
     719   
     720        // Reinsert it at the top
     721        $wp_meta_boxes['dashboard']['normal']['core'] = array_merge(
     722            array('cf7anyapi_dashboard_widget' => $widget),
     723            $wp_meta_boxes['dashboard']['normal']['core']
     724        );
    712725    }
    713726
     
    762775        //set_transient($cache_key, $count, HOUR_IN_SECONDS);
    763776        return $count;
     777    }   
     778
     779    // Function to add additional links in plugin meta area of plugin listing page
     780    public function cf7anyapi_add_plugin_links($links, $file) {
     781       
     782        if ($file == 'contact-form-to-any-api/cf7-to-any-api.php') {
     783            $new_links = array(
     784                '<a href="https://www.contactformtoapi.com/#contact_us" target="_blank">Support</a>',               
     785                '<a href="https://www.contactformtoapi.com/pricing/#pricing" target="_blank">Upgrade To PRO</a>',   
     786                '<a href="https://www.contactformtoapi.com/pricing/#oauth" target="_blank">OAuth 2.0 Customization</a>',           
     787                '<a href="https://www.contactformtoapi.com/pricing/#crm" target="_blank">Supported CRM/API</a>',
     788                '<a href="https://wordpress.org/plugins/connect-wpform-to-any-api/" target="_blank">Connect WPForm to Any API</a>'
     789            );
     790
     791            // Merge new links with existing ones
     792            $links = array_merge($links, $new_links);
     793        }
     794        return $links;
    764795    }
    765796}
  • contact-form-to-any-api/trunk/admin/css/cf7-to-any-api-admin.css

    r3157545 r3239108  
    44 */
    55
    6 .dt-button{
     6 .dt-button{
    77    height: auto;
    88    width: 10%;
     
    6969    box-shadow: 0px 6px 10px rgb(0 0 0 / 20%);
    7070}
    71 .post-type-cf7_to_any_api .cf7anyapi_full_width textarea{
    72     display: flex;
    73     width: 100%;
    74     height: 150px;
     71.post-type-cf7_to_any_api .cf7anyapi_full_width textarea#cf7anyapi_json_format{
     72    display: flex;
     73    width: 100%;
     74    min-height: 150px;
    7575    box-shadow: 0px 6px 10px rgb(0 0 0 / 20%);
    7676}
     
    208208    margin: 12px;
    209209}
    210 .cf7_to_any_api_page_cf7anyapi_docs .nav-pills .nav-link.active{
    211     background-color: #2271b1 !important;
    212 }
     210/* .cf7_to_any_api_page_cf7anyapi_docs .nav-pills .nav-link.active{
     211    background-color: #2271b1 ;
     212}  */
     213.cf7_to_any_api_page_cf7anyapi_docs .cf7anyapi_doc, .cf7_to_any_api_page_cf7anyapi_docs .cf7anyapi_doc p{
     214/*    font-size: 17px;*/
     215    font-size:14px;
     216
    213217.cf7_to_any_api_page_cf7anyapi_docs .cf7anyapi_doc{
    214     font-size: 17px;
    215     padding: 40px;
    216 
     218        padding: 40px;
     219}
    217220.cf7_to_any_api_page_cf7anyapi_docs .row{
    218221    margin-top: 25px;
    219     border: 1px solid #ccc;
    220 }
    221 .cf7_to_any_api_page_cf7anyapi_docs .col-2.tab{
    222     border: 1px solid #ccc;
     222    border: 1px solid #e0e0e0;
     223}
     224.cf7_to_any_api_page_cf7anyapi_docs .column-tab-nav.tab{
     225    border: 1px solid #e0e0e0;
    223226    padding: 0px;
    224     background-color: #eeebe6;
    225 }
    226 .cf7_to_any_api_page_cf7anyapi_docs .nav.flex-column.nav-pills a:hover {
     227    /* background-color: #eeebe6; */
     228}
     229/* .cf7_to_any_api_page_cf7anyapi_docs .nav.flex-column.nav-pills a:hover {
    227230    background-color: #ddd;
    228   }
    229 .cf7_to_any_api_page_cf7anyapi_docs .col-7.tab{
    230     border: 1px solid #ccc;
    231     padding: 20px;
    232 }
     231    } */
    233232.cf7_to_any_api_page_cf7anyapi_docs .col-3.image{
    234233    padding-left: inherit;
     
    277276    padding: 20px;
    278277}
    279 .cf7-any-api-modal input[type="radio"]:checked ~ textarea {
     278.cf7-any-api-modal textarea {
    280279    display: block;
    281280    width: 100%;
     
    284283    height: 100px;
    285284}
    286 .cf7-any-api-modal .reason textarea{
     285/* .cf7-any-api-modal .reason textarea{
    287286    display: none;
    288 }
     287} */
    289288.cf7-any-api-modal .cf7-any-api-modal-header h4 {
    290289    margin: 0;
     
    323322    color: #515962;
    324323}
    325 ul#cf7-any-api-list li.reason.email span {
     324
     325ul#cf7-any-api-list li.reason.email span,
     326ul#cf7-any-api-list li.reason.feedback span{
    326327    font-weight: 700;
    327328    margin-right: 32px;
     
    333334    margin-bottom: 13px;
    334335}
     336
     337.cf7anyapi_activate_license_error{
     338    color: red;
     339    font-size: 18px;
     340    font-weight: 600;
     341}
     342
     343.loader_wrap {
     344    position: relative;
     345    display: flex;
     346    align-items: center;
     347}
     348img.cf7anyapi_activate_license_loader {
     349    max-width: 30px;
     350    margin-left: 15px;
     351}
     352.cf7anyapi_license_tbl{
     353    align-items: center;
     354}
     355.cf7anyapi_license_tbl .cf7anyapi_tbl_row .cf7anyapi_tbl_license_input input{
     356    width: 500px;
     357    height: 37px;
     358    margin-bottom: 10px;
     359}
     360
     361.cf7anyapi_license_tbl .cf7anyapi_tbl_row {
     362    display: flex;
     363    align-items: baseline;
     364    justify-content: center;
     365   
     366}
     367.cf7anyapi_license_tbl .cf7anyapi_tbl_row .cf7anyapi_tbl_data{
     368    font-size: 15px;
     369    padding-right:10px ;
     370}
     371
     372.cf7anyapi_full_width .label_with_beautify{
     373    display: flex;
     374    justify-content: space-between;
     375}
     376
     377#json_beautify_click, #json_sample{
     378    color: #2271b1;
     379    margin-top: 5px;
     380    font-weight: 400;
     381}
     382
     383.promo_banner_main {
     384    display: flex;
     385    align-items: center;
     386    justify-content: center;
     387    position: fixed;
     388    top: 0;
     389    left: 0;
     390    width: 100%;
     391    height: 100%;
     392    background-color: rgba(0, 0, 0, 0.7);
     393}
     394.promp_banner {
     395    margin: 20px;
     396    border-radius: 5px;
     397    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
     398}
     399.promo_img {
     400    max-width: 600px;
     401    width: 100%;
     402    position: relative;
     403}
     404.promo_img span.close {
     405    position: absolute;
     406    top: -48px;
     407    right: -5px;
     408    opacity: 1;
     409    cursor: pointer;
     410}
     411.promo_img span.close svg {
     412    width: 50px;
     413    height: 50px;
     414}
     415.promo_img img {
     416    width: 100%;
     417}
     418#cf7anyapi_header_request{
     419    height: 150px;
     420}
     421#cf7anyapi-map-fields .cf7anyapi_map_field span {
     422    font-weight: 600;
     423    margin: 0px 4px;
     424}
     425
     426div#cf7anyapi-map-fields {
     427    margin: 0  0 15px 0;
     428}
     429
     430#cf7anyapi_confing_add_setting {
     431    flex-wrap: wrap;
     432    flex-direction: row;
     433    gap:20px;
     434}
     435#cf7anyapi_confing_add_setting .cf7anyapi_field {
     436    width: calc(50% - 10px);
     437}
     438#cf7anyapi_confing_add_setting select{
     439    height: auto;
     440    min-height: 100px;
     441    max-height: 200px;
     442}
     443#cf7anyapi_confing_add_setting h3 {
     444    width: 100%;
     445    font-size: 24px;
     446    margin: 0em;
     447}
     448#cf7anyapi_json_format{
     449    line-height: 1.3;
     450}
     451.cf7_to_any_api_page_cf7anyapi_setting .form-table th{ width: 340px; }
     452
    335453.pro_feature_list, .pro_crm_list { list-style: disc;margin-left: 30px; }
    336454p.pro_tab_description { font-size: 17px; line-height: 24px; }
     
    339457.get_pro_version a{ font-size: 18px;background: #000;padding: 10px 20px;color:#fff;text-decoration: none;border-radius: 20px; }
    340458.get_pro_version:hover a{ background:#172646;text-decoration: none;color:#fff; }
     459
    341460/* CF7 documentation CSS */
     461/* Popup CSS  */
    342462.cf7_to_any_api_page_cf7anyapi_logs #the-list td.form_data.column-form_data {
    343463    overflow: auto;
     
    345465    height: 100%;
    346466}
    347 .cf7anyapi_logs td.log.column-log pre, .cf7anyapi_logs .column-form_data pre {
     467.cf7anyapi_logs td.log.column-log pre, .cf7anyapi_logs .column-form_data pre, .cf7anyapi_logs .column-api_sent_data pre {
    348468    white-space: pre-wrap;
    349469    margin: 0;
     
    381501    box-sizing: border-box;
    382502}
     503
     504/* New Css */
     505.tab-pane pre {
     506    background: #eee;
     507    padding: 10px;
     508    border-radius: 5px;
     509    overflow-x: auto;
     510}
     511.tab-pane ul {
     512    margin: 20px 0;
     513    padding-left: 40px;
     514}
     515.tab-pane ol ul, .tab-pane ul {
     516    list-style-type: circle;
     517    list-style-type: disclosure-closed;
     518}
     519.tab-pane ol li::marker {
     520    font-weight: bolder;
     521}
     522.tab-pane ul li::marker {
     523    color: #015e8c;
     524}
     525.tab-pane li {
     526    margin-bottom: 10px;
     527}
     528.tab-pane code {
     529    background: #f4f4f4;
     530    padding: 2px 4px;
     531    border-radius: 4px;
     532    color: #c7254e;
     533}
     534.tab-pane .tab-title {
     535    background: #e5f1f8;
     536    border-bottom: 4px solid #007cba;
     537    padding: 10px;
     538    margin: 20px 0;
     539    border-radius: 5px;
     540}
     541.cf7anyapi_doc .nav.nav-pills .nav-link {
     542    color: #007cba;
     543    background-color: transparent;
     544    display: grid;
     545    align-items: center;
     546    grid-template-columns: 48px auto;
     547    border-right: none;
     548    border-bottom: 1px solid #e0e0e0;
     549    border-radius: 0;
     550    padding: 12px 16px;
     551    font-size: 14px;
     552    font-weight: 600;
     553    box-shadow: inset 5px 0 0 0 transparent;
     554}
     555.cf7anyapi_doc .nav.nav-pills .nav-link:hover{
     556    background-color: #f6f7f7;
     557}
     558.cf7anyapi_doc .nav.nav-pills .nav-link:focus {
     559    box-shadow: none;
     560}
     561
     562.cf7anyapi_doc .nav.nav-pills .nav-link.active {
     563    box-shadow: inset 5px 0 0 0 #007cba;
     564    transition: box-shadow .1s linear;
     565    background-color: #007ab81a;
     566}
     567.tab-index {
     568    border-radius: 50%;
     569    width: 32px;
     570    height: 32px;
     571    border: 1px solid #007cba;
     572}
     573.tab-index:after {   
     574    color: var(--wp-admin-theme-color);
     575    font-weight: 700;
     576    justify-content: center;
     577    display: flex;
     578    align-items: center;
     579    height: 100%;
     580    width: 100%;
     581}
     582.tab-index-1 .tab-index:after {
     583    content: "1";
     584}
     585.tab-index-2 .tab-index:after {
     586    content: "2";
     587}
     588.tab-index-3 .tab-index:after {
     589    content: "3";
     590}
     591.tab-index-4 .tab-index:after {
     592    content: "4";
     593}
     594.tab-index-5 .tab-index:after {
     595    content: "5";
     596}
     597.tab-index-6 .tab-index:after {
     598    content: "6";
     599}
     600.tab-index-7 .tab-index:after {
     601    content: "7";
     602}
     603.tab-index-8 .tab-index:after {
     604    content: "8";
     605}
     606.tab-pane h5 {
     607    text-align: center;
     608    margin-bottom: 30px;
     609    font-size: 26px;
     610}
     611.tab-content a{
     612    color: #007cba;
     613}
     614.tab-content a:focus, .tab-content a:hover{
     615    color: #007cba;
     616    box-shadow: none;
     617    text-decoration: none;
     618}
     619.tab-pane .iframe-wrap {
     620    text-align: center;
     621    width: 90%;
     622    margin: 40px auto;
     623}
     624.tab-pane .iframe-wrap iframe, .tab-pane img{
     625    box-shadow: 0px 6px 10px #00000033;
     626    border-radius: 10px;
     627}
     628.get_pro_version-btn {
     629    margin-top: 40px;
     630}
     631.get_pro_version-btn a {
     632    font-size: 20px;
     633    font-weight: 700;
     634    background: #e5f1f8;
     635    color: #212529;
     636    border-bottom: 4px solid #007cba;
     637    padding: 10px 30px;
     638    border-radius: 5px;
     639    text-decoration: none !important;
     640}
     641.get_pro_version-btn a:hover{
     642    color: #212529;
     643    box-shadow: none;
     644}
     645.get_pro_version-btn a:focus{
     646    box-shadow: none;
     647}
     648ul.pro_crm_list {
     649    column-count: 2;
     650}
     651/* Popup CSS  */
    383652@media screen and (max-width: 1500px){
    384653   
     
    397666    }
    398667}
     668
     669
  • contact-form-to-any-api/trunk/admin/partials/cf7-to-any-api-admin-display-docs.php

    r3230241 r3239108  
    55    <h3><?php esc_html_e( 'CF7 To Any API Documentation', 'contact-form-to-any-api' ); ?></h3>   
    66    <div class="row">
    7     <div class="col-2 tab">
     7    <div class="col-xl-2 col-lg-3 col-md-3 col-12 tab column-tab-nav">
    88        <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
    9         <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true"><?php esc_html_e( 'How to configure', 'contact-form-to-any-api' ); ?></a>
    10         <a class="nav-link" id="v-pills-video-tab" data-toggle="pill" href="#v-pills-video" role="tab" aria-controls="v-pills-video" aria-selected="false"><?php esc_html_e( 'Video for configuration', 'contact-form-to-any-api' ); ?></a>
    11         <a class="nav-link" id="v-pills-logs-tab" data-toggle="pill" href="#v-pills-logs" role="tab" aria-controls="v-pills-logs" aria-selected="false"><?php esc_html_e( 'Logs', 'contact-form-to-any-api' ); ?></a>
    12         <a class="nav-link" id="v-pills-entries-tab" data-toggle="pill" href="#v-pills-entries" role="tab" aria-controls="v-pills-entries" aria-selected="false"><?php esc_html_e( 'Entries', 'contact-form-to-any-api' ); ?></a>
    13         <a class="nav-link" id="v-pills-json-format-tab" data-toggle="pill" href="#v-pills-json-format" role="tab" aria-controls="v-pills-json-format" aria-selected="false"><?php esc_html_e( 'Supported JSON Format', 'contact-form-to-any-api' ); ?></a>
    14         <a class="nav-link" id="v-pills-cf7-hidden-field-tab" data-toggle="pill" href="#v-pills-cf7-hidden-field" role="tab" aria-controls="v-pills-cf7-hidden-field" aria-selected="false"><?php esc_html_e( 'CF7 Hidden Fields', 'contact-form-to-any-api' ); ?></a>
    15         <a class="nav-link" id="v-pills-pro-tab" data-toggle="pill" href="#v-pills-pro" role="tab" aria-controls="v-pills-pro" aria-selected="false"><?php esc_html_e( 'Contact form to any API PRO', 'contact-form-to-any-api' ); ?></a>
    16         <a class="nav-link" id="v-pills-contact-us-tab" data-toggle="pill" href="#v-pills-contact-us" role="tab" aria-controls="v-pills-contact-us" aria-selected="false"><?php esc_html_e( 'Contact Us', 'contact-form-to-any-api' ); ?></a>
     9        <a class="nav-link active tab-index-1" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true"><div class="tab-index"></div><?php esc_html_e( 'How to configure', 'contact-form-to-any-api' ); ?></a>
     10        <a class="nav-link tab-index-2" id="v-pills-video-tab" data-toggle="pill" href="#v-pills-video" role="tab" aria-controls="v-pills-video" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Video for configuration', 'contact-form-to-any-api' ); ?></a>
     11        <a class="nav-link tab-index-3" id="v-pills-logs-tab" data-toggle="pill" href="#v-pills-logs" role="tab" aria-controls="v-pills-logs" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Logs', 'contact-form-to-any-api' ); ?></a>
     12        <a class="nav-link tab-index-4" id="v-pills-entries-tab" data-toggle="pill" href="#v-pills-entries" role="tab" aria-controls="v-pills-entries" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Entries', 'contact-form-to-any-api' ); ?></a>
     13        <a class="nav-link tab-index-5" id="v-pills-json-format-tab" data-toggle="pill" href="#v-pills-json-format" role="tab" aria-controls="v-pills-json-format" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Supported JSON Format', 'contact-form-to-any-api' ); ?></a>
     14        <a class="nav-link tab-index-6" id="v-pills-cf7-hidden-field-tab" data-toggle="pill" href="#v-pills-cf7-hidden-field" role="tab" aria-controls="v-pills-cf7-hidden-field" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'CF7 Hidden Fields', 'contact-form-to-any-api' ); ?></a>
     15        <a class="nav-link tab-index-7" id="v-pills-pro-tab" data-toggle="pill" href="#v-pills-pro" role="tab" aria-controls="v-pills-pro" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Contact form to any API PRO', 'contact-form-to-any-api' ); ?></a>
     16        <a class="nav-link tab-index-8" id="v-pills-contact-us-tab" data-toggle="pill" href="#v-pills-contact-us" role="tab" aria-controls="v-pills-contact-us" aria-selected="false"><div class="tab-index"></div><?php esc_html_e( 'Contact Us', 'contact-form-to-any-api' ); ?></a>
    1717        </div>
    1818    </div>
    19     <div class="col-7 tab">
     19    <div class="col-xl-10 col-lg-9 col-md-9 col-12 tab column-tab-content">
    2020        <div class="tab-content" id="v-pills-tabContent">
    2121        <!-- cf7 API -->
    2222        <div class="tab-pane fade show active cf7anyapi_full_width" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">
    23             <h5><?php esc_html_e( 'CF7 to any API', 'contact-form-to-any-api' ); ?></h5>
    24             <ol>
    25                 <li><?php esc_html_e( 'Click add new CF7 API and give the suitable API title', 'contact-form-to-any-api' ); ?></li>
    26                 <li><?php esc_html_e( 'Please select a form which you would like to connect with API', 'contact-form-to-any-api' ); ?></li>
    27                 <li><?php esc_html_e( 'Enter your CRM/API URL in API URL field', 'contact-form-to-any-api' ); ?></li>
    28                     <p><?php esc_html_e( 'Ex. https://api.mailbluster.com/api/leads/', 'contact-form-to-any-api' ); ?></p>
    29                 <li><?php esc_html_e( 'Add header request like below', 'contact-form-to-any-api' ); ?></li>
    30                
    31             <code>
    32         <pre>
    33     Authorization: MY_API_KEY
    34     Authorization: Bearer xxxxxxx
    35     Authorization: Basic xxxxxx
    36     Content-Type: application/json
    37         </pre>
    38             </code>
    39             <p><b><?php esc_html_e( 'Authorization having Username & Password with Base64 ?', 'contact-form-to-any-api' ); ?></br>
    40                <?php
    41                echo wp_kses( 'To convert online <a href="https://www.base64encode.net/" target="_blank">click here</a> and put it in the header.', array('a' => array('href' => array(), 'target' => array() ) ) );?></b></p>
    42                
    43             <b><?php esc_html_e( 'Example', 'contact-form-to-any-api' ); ?></b><code>
    44                 <pre>
    45     Authorization: Basic ' . base64_encode( YOUR_USERNAME . ':' . YOUR_PASSWORD )
    46     Content-Type: application/json
    47                 </pre>
    48             </code>
    49             <b><?php esc_html_e( 'After convert put it on header like below', 'contact-form-to-any-api' ); ?></b>
    50             <code>
    51                 <pre>
    52     Authorization: Basic c2FsdXRlLXZldGVyYW5zLWFwaSA6IDBjd1NURENTcE91MUNOQXFVRFFmajdN
    53     Content-Type: application/json
    54                 </pre>
    55             </code>
    56             <ol>
    57                 <li><?php esc_html_e( 'Then you have to select your Input Type JSON OR GET/POST', 'contact-form-to-any-api' ); ?></li>
    58                 <li><?php esc_html_e( 'Select your API Method POST or GET', 'contact-form-to-any-api' ); ?></li>
    59                 <li><?php esc_html_e( 'Map your Fields with your API KEYS', 'contact-form-to-any-api' ); ?> </li>
    60                 <li><?php esc_html_e( 'Save your API configuration', 'contact-form-to-any-api' ); ?> </li>
    61             </ol>
     23            <h5 class="tab-title"><?php esc_html_e( 'Guide to Adding a New CF7 API Integration', 'contact-form-to-any-api' ); ?></h5>
     24
     25            <h5 class="text-left"><?php esc_html_e( 'Steps to Configure the API:', 'contact-form-to-any-api' ); ?></h5>
     26
     27            <ol>
     28                <li>
     29                    <strong><?php esc_html_e( 'Add a New CF7 API', 'contact-form-to-any-api' ); ?></strong>
     30                    <ul>
     31                        <li><?php esc_html_e( 'Click on', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'Add New CF7 API', 'contact-form-to-any-api' ); ?></strong>.</li>
     32                        <li><?php esc_html_e( 'Provide a suitable title for your API in the', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'API Title', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'field.', 'contact-form-to-any-api' ); ?></li>
     33                    </ul>
     34                </li>
     35
     36                <li>
     37                    <strong><?php esc_html_e( 'Select the Form', 'contact-form-to-any-api' ); ?></strong>
     38                    <ul>
     39                        <li><?php esc_html_e( 'Choose the Contact Form 7 form you want to connect with the API from the dropdown list.', 'contact-form-to-any-api' ); ?></li>
     40                    </ul>
     41                </li>
     42
     43                <li>
     44                    <strong><?php esc_html_e( 'Enter the API URL', 'contact-form-to-any-api' ); ?></strong>
     45                    <ul>
     46                        <li><?php esc_html_e( 'Input the URL for your CRM or API in the', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'API URL', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'field.', 'contact-form-to-any-api' ); ?></li>
     47                        <li><?php esc_html_e( 'Example:', 'contact-form-to-any-api' ); ?>
     48                            <pre>
     49  <?php esc_html_e( 'https://api.mailbluster.com/api/leads/', 'contact-form-to-any-api' ); ?>
     50                            </pre>
     51                        </li>
     52                    </ul>
     53                </li>
     54
     55                <li>
     56                    <strong><?php esc_html_e( 'Add Header Requests', 'contact-form-to-any-api' ); ?></strong>
     57                    <ul>
     58                        <li><?php esc_html_e( 'Include the necessary headers for the API in the', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'Header Request', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'field. Examples:', 'contact-form-to-any-api' ); ?></li>
     59                        <pre>
     60  Authorization: MY_API_KEY
     61  Authorization: Bearer xxxxxxx
     62  Authorization: Basic xxxxxx
     63  Content-Type: application/json</pre>
     64                    </ul>
     65                </li>
     66
     67                <li>
     68                    <strong><?php esc_html_e( 'Authorization with Username and Password (Base64 Encoding)', 'contact-form-to-any-api' ); ?></strong>
     69                    <ul>
     70                        <li>
     71                            <div>
     72                                <?php echo wp_kses(
     73                                    __( 'If your API requires a username and password, convert them to <strong>Base64</strong> format. You can use an online Base64 converter to achieve this.', 'contact-form-to-any-api' ),
     74                                    array( 'strong' => array() )
     75                                ); ?>
     76                            </div>
     77                            <pre>  Authorization: Basic ' . base64_encode(YOUR_USERNAME . ':' . YOUR_PASSWORD)</pre>
     78                        </li>
     79                        <li>
     80                            <?php esc_html_e( 'Add the converted string in the header:', 'contact-form-to-any-api' ); ?>
     81                            <pre>
     82  Authorization: Basic c2FsdXRlLXZldGVyYW5zLWFwaSA6IDBjd1NURENTcE91MUNOQXFVRFFmajdN
     83  Content-Type: application/json</pre>
     84                        </li>
     85                    </ul>
     86                </li>
     87
     88                <li>
     89                    <strong><?php esc_html_e( 'Select Input Type', 'contact-form-to-any-api' ); ?></strong>
     90                    <ul>
     91                        <li><?php esc_html_e( 'Choose your input type:', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'JSON', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'or', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'GET/POST', 'contact-form-to-any-api' ); ?></strong>.</li>
     92                    </ul>
     93                </li>
     94
     95                <li>
     96                    <strong><?php esc_html_e( 'Select API Method', 'contact-form-to-any-api' ); ?></strong>
     97                    <ul>
     98                        <li><?php esc_html_e( 'Specify the HTTP method your API uses:', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'POST', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'or', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'GET', 'contact-form-to-any-api' ); ?></strong>.</li>
     99                    </ul>
     100                </li>
     101
     102                <li>
     103                    <strong><?php esc_html_e( 'Map Fields', 'contact-form-to-any-api' ); ?></strong>
     104                    <ul>
     105                        <li><?php esc_html_e( 'Map the form fields to the corresponding API keys provided by your API documentation.', 'contact-form-to-any-api' ); ?></li>
     106                    </ul>
     107                </li>
     108
     109                <li>
     110                    <strong><?php esc_html_e( 'Save Configuration', 'contact-form-to-any-api' ); ?></strong>
     111                    <ul>
     112                        <li><?php esc_html_e( 'Click on', 'contact-form-to-any-api' ); ?> <strong><?php esc_html_e( 'Save', 'contact-form-to-any-api' ); ?></strong> <?php esc_html_e( 'to store your API configuration.', 'contact-form-to-any-api' ); ?></li>
     113                    </ul>
     114                </li>
     115            </ol>
     116
     117            <p><?php esc_html_e( 'By following these steps, you can successfully connect your Contact Form 7 forms to external APIs.', 'contact-form-to-any-api' ); ?></p>
     118
    62119        </div>
    63120        <!-- Logs -->
    64121        <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-logs" role="tabpanel" aria-labelledby="v-pills-logs-tab">
    65         <h5><?php esc_html_e( 'Logs', 'contact-form-to-any-api' ); ?></h5>
     122        <h5 class="tab-title"><?php esc_html_e( 'Logs', 'contact-form-to-any-api' ); ?></h5>
    66123            <ol>
    67124                <li><?php echo wp_kses(__( 'After submitting data you can see your data in <b>Logs</b> tab.', 'contact-form-to-any-api' ), array('b' => array()) ); ?></li>
    68125                <li><?php esc_html_e( 'You can see your API logs and its data which is submitted by user', 'contact-form-to-any-api' ); ?></li>
    69126                <li><?php echo wp_kses(__( 'You can see your <b>API response too</b>.', 'contact-form-to-any-api' ), array('b' => array() ) ); ?></li>
    70                 <?php esc_html_e( 'Ex. ', 'contact-form-to-any-api' ); ?><img src="<?php echo esc_url( plugin_dir_url( __DIR__ ).'images/logs.png' ); ?>" alt="logs list" style="height:100%; width:100%;">
     127                <p><?php esc_html_e( 'Example: ', 'contact-form-to-any-api' ); ?></p><img src="<?php echo esc_url( plugin_dir_url( __DIR__ ).'images/logs.png' ); ?>" alt="logs list" style="height:100%; width:100%;">
    71128            </ol>
    72129        </div>
     
    74131        <!-- entries -->
    75132        <div class="tab-pane fade" id="v-pills-entries" role="tabpanel" aria-labelledby="v-pills-entries-tab">
    76         <h5><?php esc_html_e( 'Entries', 'contact-form-to-any-api' ); ?></h5>
     133        <h5 class="tab-title"><?php esc_html_e( 'Entries', 'contact-form-to-any-api' ); ?></h5>
    77134            <ol>
    78135                <li><?php esc_html_e( 'Select the form and its data will display.', 'contact-form-to-any-api' ); ?></li>               
    79136                <li> <?php echo wp_kses(__( 'You can download your data in <b>CSV</b>, <b>Excel</b>, <b>PDF</b> and also you can <b>Print</b> your data.', 'contact-form-to-any-api' ), array('b' => array() ) ); ?></li>
    80                 <?php esc_html_e( 'Ex. ', 'contact-form-to-any-api' ); ?><img src="<?php echo esc_url( plugin_dir_url( __DIR__ ).'images/entries.png');?>" alt="entries list" style="height:100%; width:100%;">
     137                <p><?php esc_html_e( 'Example: ', 'contact-form-to-any-api' ); ?></p><img src="<?php echo esc_url( plugin_dir_url( __DIR__ ).'images/entries.png');?>" alt="entries list" style="height:100%; width:100%;">
    81138            </ol>
    82139           
     
    85142        <!-- Supported JSON Format -->
    86143        <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-json-format" role="tabpanel" aria-labelledby="v-pills-json-format-tab">
    87         <h5><?php esc_html_e( 'Supported JSON format', 'contact-form-to-any-api' ); ?></h5>
     144        <h5 class="tab-title"><?php esc_html_e( 'Supported JSON format', 'contact-form-to-any-api' ); ?></h5>
    88145            <ol>
    89146                <li><b><?php esc_html_e( 'Supported JSON format by Free Version', 'contact-form-to-any-api' ); ?></b></br>
    90                 <code>
     147
    91148            <pre>
    92     {
    93         Firstname : "your-first-name",
    94         Lastname : "your-last-name",
    95         Email : "your-email",
    96         Phone : "your-phone"
    97     }
    98             </pre>
    99                 </code>
     149  {
     150      Firstname : "your-first-name",
     151      Lastname  : "your-last-name",
     152      Email     : "your-email",
     153      Phone     : "your-phone"
     154  }         </pre>
     155
    100156                    </li>
    101157
    102158                    <li><?php echo wp_kses(__( '<b>Nested JSON Format Required </b><a href="https://www.contactformtoapi.com/pricing/#pricing" class="cf7_to_any_api_doc_link" target="_blank"><strong>Pro Version</strong></a>', 'contact-form-to-any-api' ), array('b' => array(), 'a' => array('href' => array(), 'class' => array(), 'target' => array() ), 'strong' => array() ) ); ?></br>
    103                     <code>
    104159            <pre>
    105     {
    106         Firstname : "your-first-name",
    107         Lastname : "your-last-name",
    108         Email : "your-email",
    109         Phone : {
    110                    office-number :  "9898989898",
    111                    helpline-number :  "1800-125-125"
    112                 }
    113     }
    114             </pre>
    115                 </code>
    116 
    117                 <h5><?php echo wp_kses(__( '<b>Your API has Nested or Multilevel format of json ?? Don\'t worry our development team can customize our plugin as per your need</b> <a target="_blank" href="https://www.itpathsolutions.com/contact-us/">Click here to contact us</a>', 'contact-form-to-any-api' ), array('b' => array(), 'a' => array('href' => array(), 'target' => array() ) ) ); ?></h5>
     160  {
     161      Firstname : "your-first-name",
     162      Lastname  : "your-last-name",
     163      Email     : "your-email",
     164      Phone     : {
     165                    office-number   : "9898989898",
     166                    helpline-number : "1800-125-125"
     167                   }
     168  }         </pre>
     169
     170                    <h5 class="mt-5 mb-2"><?php echo wp_kses(__('<b>Your API has Nested or Multilevel format of JSON?</b>','contact-form-to-any-api'), array('b' => array())); ?></h5>
     171                    <h5><?php echo wp_kses(__('<b> Don\'t worry, our development team can customize our plugin as per your need.</b><p class="get_pro_version-btn"><a target="_blank" href="https://www.contactformtoapi.com/#contact_us">Click here to contact us</a></p>','contact-form-to-any-api'), array('b' => array(),'p' => array('class' => array()),'a' => array('href' => array(), 'target' => array()))); ?></h5>
    118172                </li>
    119173            </ol>
     
    121175        <!-- CF7 Hidden field -->
    122176         <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-cf7-hidden-field" role="tabpanel" aria-labelledby="v-pills-cf7-hidden-field">
    123             <h5><?php esc_html_e( 'How to use CF7 Hidden fields', 'contact-form-to-any-api' ); ?></h5><br>
    124             <p class="pro_tab_description"><?php esc_html_e( 'Hidden field without value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id]</strong></p>
    125             <p class="pro_tab_description"><?php esc_html_e( 'Hidden field with Default value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id default "12345"]</strong></p>
    126             <p class="pro_tab_description"><?php esc_html_e( 'Hidden field with fix/static value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id "12345"]</strong></p>
    127             <p class="pro_tab_description"><?php esc_html_e( 'Hidden field is important part whenver we want to send data to API. Many API has parameter that need to send with static value in that case we can create hidden field and put static value and simply Map Hidden field with API mapping Key', 'contact-form-to-any-api' ); ?></p>
     177            <h5 class="tab-title"><?php esc_html_e( 'How to use CF7 Hidden fields', 'contact-form-to-any-api' ); ?></h5><br>
     178            <ul>
     179                <li><p class="pro_tab_description"><?php esc_html_e( 'Hidden field without value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id]</strong></p></li>
     180                <li><p class="pro_tab_description"><?php esc_html_e( 'Hidden field with Default value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id default "12345"]</strong></p></li>
     181                <li><p class="pro_tab_description"><?php esc_html_e( 'Hidden field with fix/static value: ', 'contact-form-to-any-api' ); ?><strong>[hidden tracking-id "12345"]</strong></p></li>
     182                <li><p class="pro_tab_description"><?php esc_html_e( 'Hidden field is important part whenver we want to send data to API. Many API has parameter that need to send with static value in that case we can create hidden field and put static value and simply Map Hidden field with API mapping Key', 'contact-form-to-any-api' ); ?></p></li>
     183            </ul>
    128184         </div>
    129185        <!-- video tutorial -->
    130         <div class="tab-pane fade cf7anyapi_full_width tab" id="v-pills-video" role="tabpanel" aria-labelledby="v-pills-video-tab">
    131             <h5><?php esc_html_e( 'CF7 to any API video tutorial', 'contact-form-to-any-api' ); ?></h5>
    132             <iframe width="550" height="330" src="https://www.youtube.com/embed/1K-JdXwDH_k" title="<?php esc_attr_e( 'YouTube video player', 'contact-form-to-any-api' ); ?>" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
     186        <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-video" role="tabpanel" aria-labelledby="v-pills-video-tab">
     187            <h5 class="tab-title"><?php esc_html_e( 'CF7 to any API video tutorial', 'contact-form-to-any-api' ); ?></h5>
     188            <div class="iframe-wrap embed-responsive embed-responsive-16by9">
     189                <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/1K-JdXwDH_k" title="<?php esc_attr_e( 'YouTube video player', 'contact-form-to-any-api' ); ?>" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
     190            </div>
    133191        </div>
    134192
     
    136194          <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-pro" role="tabpanel" aria-labelledby="v-pills-pro-tab">
    137195          <p class="pro_tab_description"><?php esc_html_e( 'Still not convinced? Here is the list of features that shows how Contact Form to Any API is the best plugin to connect any contact form with your CRM or any other third party services.', 'contact-form-to-any-api' ); ?></p>
    138              <h5 class="pro_tab_title"><?php esc_html_e( 'Pro Version Features:', 'contact-form-to-any-api' ); ?></h5>
     196             <h5 class="pro_tab_title tab-title"><?php esc_html_e( 'Pro Version Features:', 'contact-form-to-any-api' ); ?></h5>
    139197             <ul class="pro_feature_list">
    140198                 <li><?php esc_html_e( 'Support Multi Level or Any Format of JSON', 'contact-form-to-any-api' ); ?></li>
     
    150208             </ul>
    151209         
    152              <h5 class="pro_tab_title"><?php esc_html_e( 'Supported CRM/API:', 'contact-form-to-any-api' ); ?></h5>
     210             <h5 class="pro_tab_title tab-title"><?php esc_html_e( 'Supported CRM/API:', 'contact-form-to-any-api' ); ?></h5>
    153211             <ul class="pro_crm_list">
    154212                 <li><?php esc_html_e( 'Sage CRM', 'contact-form-to-any-api' ); ?></li>
     
    184242             </ul>
    185243
    186              <p class="get_pro_version"><a href="https://www.contactformtoapi.com/pricing/#pricing" target="_blank"><?php esc_html_e( 'Get Pro Version', 'contact-form-to-any-api' ); ?></a></p>
     244             <p class="get_pro_version-btn text-center"><a href="https://www.contactformtoapi.com/pricing/#pricing" target="_blank"><?php esc_html_e( 'Get Pro Version', 'contact-form-to-any-api' ); ?></a></p>
    187245          </div>
    188246       
    189247         <!-- contact us -->
    190248         <div class="tab-pane fade cf7anyapi_full_width" id="v-pills-contact-us" role="tabpanel" aria-labelledby="v-pills-contact-us-tab">
    191         <h5><?php esc_html_e( 'Contact Us', 'contact-form-to-any-api' ); ?></h5><br>
     249            <h5 class="tab-title"><?php esc_html_e( 'Contact Us', 'contact-form-to-any-api' ); ?></h5><br>
    192250           <h5><?php echo wp_kses(__( 'Email : <a href="mailto:support@contactformtoapi.com">support@contactformtoapi.com</a>', 'contact-form-to-any-api' ), array('a' => array('href' => array() ) ) ); ?></h5>
    193            <p><?php echo wp_kses(__( 'Need Help with Plugin Integration ? <a target="_blank" href="https://www.contactformtoapi.com/#contact_us">Click to Connect us</a>', 'contact-form-to-any-api' ), array('a' => array('href' => array(), 'target' => array() ) ) ); ?></p>
     251           <p class="text-center"><?php echo wp_kses(__( 'Need Help with Plugin Integration ? <b><a target="_blank" href="https://www.contactformtoapi.com/#contact_us">Click to Connect us</a></b>', 'contact-form-to-any-api' ), array('b' => array(), 'a' => array('href' => array(), 'target' => array() ) ) ); ?></p>
    194252        </div>
    195253        </div>
    196254    </div>
    197     <div class="col-3 image">
     255    <!-- <div class="col-3 image">
    198256        <div class="tab-content" id="v-pills-tabContent">
    199257        <a href="https://www.contactformtoapi.com/#contact_us" target="_blank">
     
    204262        </a>
    205263        </div>
    206     </div>
     264    </div> -->
    207265    <!-- contact-us image -->
    208     <div class="contact_us contact_image">
     266    <!-- <div class="contact_us contact_image">
    209267        <a href="https://www.contactformtoapi.com/#contact_us" target="_blank">
    210268            <img src="<?php echo esc_url(CF7_CURL_DOMAIN.'/cf7-imges/bottom_image.jpg');?>" alt="" style="width:100%;">
    211269        </a>
    212     </div>
     270    </div> -->
    213271   
    214272    </div>
  • contact-form-to-any-api/trunk/cf7-to-any-api.php

    r3230241 r3239108  
    1717 * Plugin URI:        https://wordpress.org/plugins/contact-form-to-any-api/
    1818 * Description:       Send CF7 Lead/Data to CRM or Any REST API.
    19  * Version:           1.2.7
     19 * Version:           1.2.8
    2020 * Author:            IT Path Solutions
    2121 * Author URI:        https://www.itpathsolutions.com/
     22 * Requires Plugins:  contact-form-7
    2223 * License:           GPL-2.0+
    2324 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
    2425 * Text Domain:       contact-form-to-any-api
    2526 * Domain Path:       /languages
     27 *
    2628 */
    2729
     
    3638 * Rename this for your plugin and update it as you release new versions.
    3739 */
    38 define( 'CF7_TO_ANY_API_VERSION', '1.2.7' );
     40define( 'CF7_TO_ANY_API_VERSION', '1.2.8' );
    3941
    4042define( 'CF7_CURL_DOMAIN', 'https://www.contactformtoapi.com' );
  • contact-form-to-any-api/trunk/includes/class-cf7-to-any-api.php

    r3230241 r3239108  
    177177        // Admin Widget add
    178178        $this->loader->add_action('wp_dashboard_setup', $plugin_admin, 'cf7anyapi_add_dashboard_widget');
     179        // Plugin links
     180        $this->loader->add_filter('plugin_row_meta', $plugin_admin, 'cf7anyapi_add_plugin_links', 10, 2);   
     181
    179182    }
    180183
Note: See TracChangeset for help on using the changeset viewer.