Index: branches/5.1.x/constants.php =================================================================== diff -u -N -r12918 -r13095 --- branches/5.1.x/constants.php (.../5.0.x/constants.php) (revision 12918) +++ branches/5.1.x/constants.php (.../5.1.x/constants.php) (revision 13095) @@ -1,6 +1,6 @@ - - in-link/designs/section - in-link/designs/detail - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/designs/.smsignore =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/designs/.smsignore (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/designs/.smsignore (revision 0) @@ -1 +0,0 @@ -.*\.tpl \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/designs/section.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/designs/section.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/designs/section.tpl (revision 0) @@ -1,96 +0,0 @@ - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - - -
-
- -
-
- - - -
-
- - - - - - () - - - - - - - - -
- - -
- -
-
- - - - - -
- - - - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/my_account/my_links.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/my_account/my_links.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/my_account/my_links.tpl (revision 0) @@ -1,62 +0,0 @@ - - - - - - - - - - - - -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - () - - - - - - - img/s.gif" width="1" height="10" alt="" />
- - - -
- - -
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/my_account/my_items.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/my_account/my_items.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/my_account/my_items.elm.tpl (revision 0) @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/new_links.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/new_links.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/new_links.tpl (revision 0) @@ -1,65 +0,0 @@ - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - () - - - - - - - - -
- - -
-
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/cancel_enhancement_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/cancel_enhancement_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/cancel_enhancement_confirm.tpl (revision 0) @@ -1,87 +0,0 @@ - - - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - - -
- - - - - - - - - - - - -
-

-
- -
-
- - " /> - - " /> -
-
-
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_link.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_link.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_link.tpl (revision 0) @@ -1,102 +0,0 @@ - - - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - - - - - -

-
- -
"> - - - - - - - - - - - - - -
43"> -
img/s.gif" width="1" height="1" alt="" />
-
- - - - - -
- - - - " no_editing="1"/> - " no_editing="1"/> - - - - - -
-
-
-
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement_confirm.tpl (revision 0) @@ -1,92 +0,0 @@ - - - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - - -
- - - - - - - - - - - - -
-

-
- -
-
- - - " /> - - - " /> - - - " /> -
-
-
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/enhance_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - -

- "> -
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/extend_enhancement.tpl (revision 0) @@ -1,94 +0,0 @@ - - - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - - - - - - - - - - - -
- : - - -
- : - - -
-
- - - ');" value=""/> - - - -
- , - "> - - - ');" value="" no_editing="1"/> -
-
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/enhancements/enhancement_details.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/enhancements/enhancement_details.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/enhancements/enhancement_details.tpl (revision 0) @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - : -
- - -
-
-
- - : -
- - - : -
-
-
- -
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/link_paid.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/link_paid.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/link_paid.tpl (revision 0) @@ -1,490 +0,0 @@ - - - - - - - - - -
-
- -
-
- -
-
- -
-
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
- img/link_icon.gif" width="16" height="23" alt="" /> - - - - " target="_blank"> - - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
- - - : , - : , - : , - : , - : - -
- - - - - - -
- - " class="thickbox" rel="link-images" title=""> -
-
- -
-
-
- - -

- - img/ic_removefromfav.gif" width="11" height="10" alt="" /> - - img/ic_addtofav.gif" width="11" height="10" alt="" /> "> - - -
-
- - - - - - -
- " class="thickbox" rel="link-images" title=""> - " title="" alt="" border="0" />
-
-
- img/s.gif" width="8" height="1" alt="" /> -
- - - -
-

-
- - - - - - - - - - -
-

-
- - -
- - - - - - - -
tab-bottom-line tab-bottom-line "> - - - - - - - - - - - - - - - - - - - - - -
inactive-tabactive-tab"> -   - inactive-tabactive-tab"> -  
- -
tab-bottom-content tab-bottom-content "> - - - -
style="display:none" - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- img/s.gif" width="3" height="1" alt=""/>
-
- img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- : - - -
-
img/s.gif" width="3" height="1" alt=""/>
-
- -
-
img/s.gif" width="3" height="1" alt=""/>
-
-
- - - - - - - - - - - -
-
-
- - - -
display:none"> -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
- - - - - - " class="input-text" style="" value=""> - - " class="input-text" style="" value=""/> - - - "/> -
- - - -
-
- - " alt=""/>
- img/s.gif" width="1" height="5" alt=""/>
- " value="" tabindex="" style=""> - "/> -
- - - - "/> - "/> -
-
-
-
- - -
- - - - - -
- -
- - - - - - - - () - - - - -
- - -
- -
- -
- - - - - - - - - -
-
- - - - -
- - - - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/hot_links.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/hot_links.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/hot_links.tpl (revision 0) @@ -1,67 +0,0 @@ - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - () - - - - - - - - -
- - -
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/modify_link.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/modify_link.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/modify_link.tpl (revision 0) @@ -1,122 +0,0 @@ - - - - - - - - - - -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - - - - *

- - - - - - img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" />

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "> - - - - - - - - - "/> - "/> - -
-
- -
-
- -
- - - - () - - "> - - "> - -
-
- - -
-
- -
-
-
- - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/search_results.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/search_results.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/search_results.tpl (revision 0) @@ -1,98 +0,0 @@ - - - - - - - - - - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
-
- - - -
-
- -
-
- - - - - () - - - - - - - - - -
- Did you mean: -
-
- - - - - - -
  • -
    - - -
    -

    Narrow Search By

    -
      - -
    -
    -
    -
    - - - - - - - -
    - - -
    -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/add_review_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/add_review_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/add_review_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - -

    - "> -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/pop_links.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/pop_links.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/pop_links.tpl (revision 0) @@ -1,65 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - () - - - - - - - - -
    - - -
    -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/.smsignore =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/.smsignore (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/.smsignore (revision 0) @@ -1,3 +0,0 @@ -link_detail\.tpl -link_paid\.tpl -link_standard\.tpl \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/pick_links.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/pick_links.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/pick_links.tpl (revision 0) @@ -1,65 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - () - - - - - - - - -
    - - -
    -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/modify_pending_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/modify_pending_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/modify_pending_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - -

    - "> -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/modify_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/modify_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/modify_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - -

    - "> -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/link_standard.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/link_standard.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/link_standard.tpl (revision 0) @@ -1,490 +0,0 @@ - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - -
    - img/link_icon.gif" width="16" height="23" alt="" /> - - - - " target="_blank"> - - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - - : , - : , - : , - : , - : - -
    - - - - - - -
    - - " class="thickbox" rel="link-images" title=""> -
    -
    - -
    -
    -
    - - -

    - - img/ic_removefromfav.gif" width="11" height="10" alt="" /> - - img/ic_addtofav.gif" width="11" height="10" alt="" /> "> - - -
    -
    - - - - - - -
    - " class="thickbox" rel="link-images" title=""> - " title="" alt="" border="0" />
    -
    -
    - img/s.gif" width="8" height="1" alt="" /> -
    - - - -
    -

    -
    - - - - - - - - - - -
    -

    -
    - - -
    - - - - - - - -
    tab-bottom-line tab-bottom-line "> - - - - - - - - - - - - - - - - - - - - - -
    inactive-tabactive-tab"> -   - inactive-tabactive-tab"> -  
    - -
    tab-bottom-content tab-bottom-content "> - - - -
    style="display:none" - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - img/s.gif" width="3" height="1" alt=""/>
    -
    - img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - : - - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    - -
    -
    img/s.gif" width="3" height="1" alt=""/>
    -
    -
    - - - - - - - - - - - -
    -
    -
    - - - -
    display:none"> -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    - - - - - - " class="input-text" style="" value=""> - - " class="input-text" style="" value=""/> - - - "/> -
    - - - -
    -
    - - " alt=""/>
    - img/s.gif" width="1" height="5" alt=""/>
    - " value="" tabindex="" style=""> - "/> -
    - - - - "/> - "/> -
    -
    -
    -
    - - -
    - - - - - -
    - -
    - - - - - - - - () - - - - -
    - - -
    - -
    - -
    - - - - - - - - - -
    -
    - - - - -
    - - - - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/link_detail.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/link_detail.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/link_detail.tpl (revision 0) @@ -1,8 +0,0 @@ - - - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/add_review.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/add_review.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/add_review.tpl (revision 0) @@ -1,152 +0,0 @@ - - - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - - - -
    - - - - - - -
    - img/link_icon.gif" width="16" height="23" alt="" /> - - - - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - - : , - : , - : , - : , - : - -
    - - - - - - -
    - - " class="thickbox" rel="link-images" title=""> -
    -
    - -
    -
    -
    - " onclick="open_window('', 'new_window', '800', '600');"/>

    - -

    - - img/ic_removefromfav.gif" width="11" height="10" alt="" /> - - img/ic_addtofav.gif" width="11" height="10" alt="" /> "> - - -
    -
    -
    - -
    - -
    - - - - - - - - - - - - -
    - - - - *

    - - - - - - img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" />

    - -
    - - - - - - - - " /> - -
    -
    -
    - - -
    -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/suggest_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/suggest_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/suggest_confirm.tpl (revision 0) @@ -1,47 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - -

    - "> -
    -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/add_review_pending_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/add_review_pending_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/add_review_pending_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - -

    - "> -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/suggest_link.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/suggest_link.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/suggest_link.tpl (revision 0) @@ -1,111 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - - - - *

    - - - - - - img/grey_pix.gif" width="100%" height="1" align="absmiddle" alt="" />

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - "> - - - - - - - - - - "/> - "/> - -


    - -
    -
    - - - - - -
    -
    -
    - - -
    -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/links/suggest_pending_confirm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/links/suggest_pending_confirm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/links/suggest_pending_confirm.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    -
    - - - -
    -
    - -
    -
    - - - - - - -

    - "> -
    - -
    -
    -
    - - \ No newline at end of file Index: branches/5.1.x/themes/advanced/in-link/img/menu_links.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/themes/advanced/in-link/img/ic_mylinks46.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.0.x/themes/advanced/in-link/inc/googlemaps.js =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/inc/googlemaps.js (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/inc/googlemaps.js (revision 0) @@ -1,29 +0,0 @@ -google.load("maps", "2.x"); - -// Call this function when the page has been loaded -function initialize() { - map = new google.maps.Map2(document.getElementById("map")); - map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13); - map.addControl(new GSmallMapControl()); - map.addControl(new GMapTypeControl()); -} - -var map = false; -function showaddress(addr,addrInfo) { - if (!map) initialize(); - geocoder = new google.maps.ClientGeocoder(); - geocoder.getLatLng( - addr, - function(point) { - if (!point) { - alert(addr + " not found"); - } else { - map.setCenter(point, 13); - var marker = new GMarker(point); - map.clearOverlays(); - map.addOverlay(marker); - marker.openInfoWindowHtml(addrInfo); - } - } - ); -} \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/inc/styles.css =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/inc/styles.css (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/inc/styles.css (revision 0) @@ -1 +0,0 @@ -/* --- Listing Element Styles --- */ Index: branches/5.0.x/themes/advanced/in-link/elements/html_head.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/html_head.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/html_head.elm.tpl (revision 0) @@ -1,11 +0,0 @@ -inc/styles.css" type="text/css" /> - - - - - - - - - - Index: branches/5.0.x/themes/advanced/in-link/elements/visit_link.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/visit_link.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/visit_link.elm.tpl (revision 0) @@ -1 +0,0 @@ - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/sorting.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/sorting.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/sorting.elm.tpl (revision 0) @@ -1,42 +0,0 @@ - - - - - -
    - :  |  : - - : -
    -img/s.gif" width="1" height="4" alt="" />
    -img/grey_pix.gif" width="100%" height="1" alt="" />
    -
    - - - - - -
    -
    - : - - - - " value="" /> - -
    - -img/s.gif" width="1" height="10" alt="" />
    \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/content_boxes/search_results.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/content_boxes/search_results.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/content_boxes/search_results.elm.tpl (revision 0) @@ -1,27 +0,0 @@ - - - - - () - - - - - - - -
    - -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - - - img/s.gif" width="1" height="5" alt="" />
    - ">... -
    - - -
    \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/content_boxes/related_items.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/content_boxes/related_items.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/content_boxes/related_items.elm.tpl (revision 0) @@ -1,6 +0,0 @@ - - - - -
    - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/content_boxes/home_page_items.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/content_boxes/home_page_items.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/content_boxes/home_page_items.elm.tpl (revision 0) @@ -1,21 +0,0 @@ - - - - - - - - - - - -
    - - -
    - ">...
    -
    -
    - - -
    \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/content_boxes/my_favorites.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/content_boxes/my_favorites.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/content_boxes/my_favorites.elm.tpl (revision 0) @@ -1,21 +0,0 @@ - - - - - - () - - - - - - -
    - - - - - - -
    - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/links.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/links.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/links.elm.tpl (revision 0) @@ -1,244 +0,0 @@ - - - - - -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - -
    - -
    -
    - " title=""> -
    - " class="text-title"> - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - : , - : , - : , - : , - : - - - - - - -
    - - img/ic_removefromfav.gif" width="11" height="10" alt="" /> - - img/ic_addtofav.gif" width="11" height="10" alt="" /> "> - - -  |  - - img/reviews.gif" width="14" height="10" alt="" /> "> - -

    - - img/s.gif" width="1" height="4" alt="" />
    - - - -
    - -
    - - - - - - img/link_icon.gif" width="16" height="23" alt="" /> - " class="text-title"> - - - - - - - -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - -
    - " title="">
    -
    - "> (OrgId: ) - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - : , - : , - : , - : , - : -
    - - :
    - - - -

    - - - - - - - - - - - - - - - - -
    - img/ic_details.gif" width="14" height="13" alt="" /> "> - -  |  img/ic_edit.gif" width="11" height="10" alt="" /> "> - -  |  img/ic_edit.gif" width="11" height="10" alt="" /> - - "> - - "> - - -  |  img/ic_delete.gif" width="11" height="10" alt="" /> " onclick="return confirm('');"> -
    -
    - -
    - - - - - - "> - - - - - - - - - - - - - -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - -
    - -
    -
    - " title=""> -
    - " class="text-title"> - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - :
    - : , - : , - : , - : -

    -
    - -
    - - - - - -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - -
    - -
    -
    - " title=""> -
    - " class="text-title"> - - img/icon_hot.gif" alt=""/> - img/icon_new.gif" alt=""/> - img/icon_popular.gif" alt=""/> - img/icon_pick.gif" alt=""/> - img/icon_favorite.gif" alt=""/> - - -
    - - : , - : , - : , - : , - : - - - - - - -
    - - img/ic_removefromfav.gif" width="11" height="10" alt="" /> - - img/ic_addtofav.gif" width="11" height="10" alt="" /> "> - - -  |  - - img/reviews.gif" width="14" height="10" alt="" /> "> - - -
    - -
    - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/quick_search.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/quick_search.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/quick_search.elm.tpl (revision 0) @@ -1,30 +0,0 @@ - - - - -
    "> - - - - -
    - -
    - -
    - !" /> - - -
    \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/new.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/new.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/new.elm.tpl (revision 0) @@ -1,18 +0,0 @@ - - - - - "> () - - - - - - "> - - - - -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pick.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pick.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pick.elm.tpl (revision 0) @@ -1,18 +0,0 @@ - - - - - "> () - - - - - - "> - - - - -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pop.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pop.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/pop.elm.tpl (revision 0) @@ -1,18 +0,0 @@ - - - - - "> () - - - - - - "> - - - - -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/hot.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/hot.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/hot.elm.tpl (revision 0) @@ -1,18 +0,0 @@ - - - - - "> () - - - - - - "> - - - - -
    - - \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/side_boxes/action_box.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/side_boxes/action_box.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/side_boxes/action_box.elm.tpl (revision 0) @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - "> - - - -
    - - "> -
    Index: branches/5.0.x/themes/advanced/in-link/elements/.smsignore =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/.smsignore (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/.smsignore (revision 0) @@ -1 +0,0 @@ -.*\.xml\.tpl \ No newline at end of file Index: branches/5.0.x/themes/advanced/in-link/elements/enhancements.elm.tpl =================================================================== diff -u -N --- branches/5.0.x/themes/advanced/in-link/elements/enhancements.elm.tpl (revision 12746) +++ branches/5.0.x/themes/advanced/in-link/elements/enhancements.elm.tpl (revision 0) @@ -1,51 +0,0 @@ - - - - - - - 43"> -
    img/s.gif" width="1" height="1" alt="" />
    - - - - - - " value="" checked="checked"/> - - - " onclick="return open_window(this.href, 'listing_details', 545, 420);"> - - - - - - - - - - - - - - - - -
    - - - - - " name="" id="_" value=""> - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/install/prerequisites.php =================================================================== diff -u -N --- branches/5.0.x/in-link/install/prerequisites.php (revision 12746) +++ branches/5.0.x/in-link/install/prerequisites.php (revision 0) @@ -1,79 +0,0 @@ -_toolkit =& $instance; - } - - /** - * Checks minimal version, that could be upgradeable - * - * @param string $mode when called mode {install, standalone, upgrade) - */ - function CheckPrerequisites($versions, $mode) - { - $errors = Array (); - - if ($mode == 'standalone') { - if (!$this->Application->isModuleEnabled('In-Portal')) { - $errors[] = 'Please install or enable "In-Portal" module first'; - } - } - - if ($mode == 'upgrade') { - $sql = 'SELECT Version - FROM ' . TABLE_PREFIX . 'Modules - WHERE Name = "In-Portal"'; - $inportal_version = $this->Conn->GetOne($sql); - - if ($inportal_version === false) { - // only, when In-Portal was installed - return $errors; - } - - $min_version = '4.3.1'; - - $current_version = $this->_toolkit->ConvertModuleVersion($inportal_version); - $needed_version = $this->_toolkit->ConvertModuleVersion($min_version); - if ($current_version < $needed_version) { - $errors[] = 'Please upgrade "In-Portal" to version ' . $min_version; - } - } - - return $errors; - } - } \ No newline at end of file Index: branches/5.0.x/in-link/install/.htaccess =================================================================== diff -u -N --- branches/5.0.x/in-link/install/.htaccess (revision 12746) +++ branches/5.0.x/in-link/install/.htaccess (revision 0) @@ -1 +0,0 @@ -deny from all \ No newline at end of file Index: branches/5.0.x/in-link/install/module_info.xml =================================================================== diff -u -N --- branches/5.0.x/in-link/install/module_info.xml (revision 12746) +++ branches/5.0.x/in-link/install/module_info.xml (revision 0) @@ -1,6 +0,0 @@ - - - In-Link - Directory Management - in-link/install/img/icon_directory_management.gif - \ No newline at end of file Index: branches/5.0.x/in-link/install/install_data.sql =================================================================== diff -u -N --- branches/5.0.x/in-link/install/install_data.sql (revision 12746) +++ branches/5.0.x/in-link/install/install_data.sql (revision 0) @@ -1,305 +0,0 @@ -INSERT INTO ConfigurationAdmin VALUES ('Link_SortField', 'la_Text_Links', 'la_link_sortfield_prompt', 'select', '', 'Name=la_Link_Name,Description=la_Link_Description,Url=la_Link_URL,CreatedOn=la_opt_CreatedOn,Hits=la_Link_Hits,CachedRating=la_opt_Rating,SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM CustomField WHERE (Type = 4) AND (IsSystem = 0)', 10.01, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_SortOrder', 'la_Text_Links', 'la_link_sortfield_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.01, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_SortField2', 'la_Text_Links', 'la_link_sortfield2_prompt', 'select', '', 'Name=la_Link_Name,Description=la_Link_Description,Url=la_Link_URL,CreatedOn=la_opt_CreatedOn,Hits=la_Link_Hits,CachedRating=la_opt_Rating,SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM CustomField WHERE (Type = 4) AND (IsSystem = 0)', 10.02, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_SortOrder2', 'la_Text_Links', 'la_link_sortfield2_prompt', 'select', '', 'asc=la_common_ascending,desc=la_common_descending', 10.02, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('Perpage_Links', 'la_Text_Links', 'la_link_perpage_prompt', 'text', '', '', 10.03, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_NewDays', 'la_Text_Links', 'la_link_newdays_prompt', 'text', '', '', 10.05, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_MinPopRating', 'la_Text_Links', 'la_fld_Link_MinPopRating', 'text', '', '', 10.06, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_MaxHotNumber', 'la_Text_Links', 'la_fld_Link_MaxHotNumber', 'text', '', '', 10.08, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_EnhancedLinks', 'la_Text_Links', 'la_link_EnhancedLinks', 'checkbox', '', '', 10.09, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_AllowFreeListings', 'la_Text_Links', 'la_link_AllowFreeListings', 'checkbox', '', '', 10.1, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_ShowPick', 'la_Text_Links', 'la_link_editorspick_prompt', 'checkbox', '', '', 10.11, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_UrlStatus', 'la_Text_Links', 'la_link_urlstatus_prompt', 'checkbox', '', '', 10.12, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_ReviewsSort', 'la_Text_Reviews', 'la_link_sortreviews_prompt', 'select', '', 'ReviewText=la_opt_CommentText,CreatedOn=la_opt_CreatedOn', 20.01, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_ReviewsOrder', 'la_Text_Reviews', 'la_link_sortreviews_prompt', 'select', '', 'asc=la_common_Ascending,desc=la_common_Descending', 20.01, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_ReviewsSort2', 'la_Text_Reviews', 'la_link_sortreviews2_prompt', 'select', '', 'ReviewText=la_opt_CommentText,CreatedOn=la_opt_CreatedOn', 20.02, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_ReviewsOrder2', 'la_Text_Reviews', 'la_link_sortreviews2_prompt', 'select', '', 'asc=la_common_Ascending,desc=la_common_Descending', 20.02, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('Link_MinPopVotes', 'la_Text_Links', 'la_fld_Link_MinPopVotes', 'text', '', '', 10.07, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Perpage_LinkReviews', 'la_Text_Reviews', 'la_review_perpage_prompt', 'text', NULL, NULL, 20.03, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Perpage_LinkReviews_Short', 'la_Text_Reviews', 'la_review_perpage_short_prompt', 'text', NULL, NULL, 20.04, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Perpage_Links_Short', 'la_Text_Links', 'la_link_perpage_short_prompt', 'text', '', '', 10.04, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_Name', 'la_Text_Link_Search', 'la_Link_Name', 'checkbox', '', '', 2, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_Description', 'la_Text_Link_Search', 'la_Link_Description', 'checkbox', '', '', 1, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_Url', 'la_Text_Link_Search', 'la_Link_Url', 'checkbox', '', '', 5, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_CreatedOn', 'la_Text_Link_Search', 'la_Link_CreatedOn', 'checkbox', '', '', 5, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_Hits', 'la_Text_Link_Search', 'la_Link_Hits', 'checkbox', '', '', 6, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_CatchedRating', 'la_Text_Link_Search', 'la_Link_CatchedRating', 'checkbox', '', '', 7, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_CatchedVotesQty', 'la_Text_Link_Search', 'la_Link_CatchedVotesQty', 'checkbox', '', '', 8, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_Link_CatchedReviewsQty', 'la_Text_Link_Search', 'la_Link_CatchedReviewsQty', 'checkbox', '', '', 9, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('link_ReviewDelay_Value', 'la_Text_Links', 'la_prompt_DupReviews', 'text', '', 'style="width: 50px;"', 10.13, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('link_ReviewDelay_Interval', 'la_Text_Links', 'la_prompt_DupReviews', 'select', '', '1=la_opt_Sec,60=la_opt_Min,3600=la_opt_Hour,86400=la_opt_Day,604800=la_opt_Week,2419200=la_opt_Month,29030400=la_opt_Year', 10.13, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('link_RatingDelay_Value', 'la_Text_Links', 'la_prompt_DupRating', 'text', '', 'style="width: 50px;"', 10.14, 1, 1); -INSERT INTO ConfigurationAdmin VALUES ('link_RatingDelay_Interval', 'la_Text_Links', 'la_prompt_DupRating', 'select', '', '1=la_opt_Sec,60=la_opt_Min,3600=la_opt_Hour,86400=la_opt_Day,604800=la_opt_Week,2419200=la_opt_Month,29030400=la_opt_Year', 10.14, 2, 1); -INSERT INTO ConfigurationAdmin VALUES ('l_CategoryTemplate', 'la_section_Templates', 'la_fld_CategoryTemplate', 'text', '', '', 30.01, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_ItemTemplate', 'la_section_Templates', 'la_fld_ItemTemplate', 'text', '', '', 30.02, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_MaxImageCount', 'la_section_ImageSettings', 'la_config_MaxImageCount', 'text', '', '', 40.01, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_ThumbnailImageWidth', 'la_section_ImageSettings', 'la_config_ThumbnailImageWidth', 'text', '', '', 40.02, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_ThumbnailImageHeight', 'la_section_ImageSettings', 'la_config_ThumbnailImageHeight', 'text', '', '', 40.03, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_FullImageWidth', 'la_section_ImageSettings', 'la_config_FullImageWidth', 'text', '', '', 40.04, 0, 0); -INSERT INTO ConfigurationAdmin VALUES ('l_FullImageHeight', 'la_section_ImageSettings', 'la_config_FullImageHeight', 'text', '', '', 40.05, 0, 0); - -INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Keyword_links', 'la_config_SearchRel_DefaultKeyword', 'la_text_keyword', 'text', NULL, NULL, 0, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Pop_links', 'la_config_DefaultPop', 'la_text_popularity', 'text', NULL, NULL, 0, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Rating_links', 'la_config_DefaultRating', 'la_prompt_Rating', 'text', NULL, NULL, 0, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('SearchRel_Increase_links', 'la_config_DefaultIncreaseImportance', 'la_text_increase_importance', 'text', NULL, NULL, 0, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('Search_ShowMultiple_links', 'la_config_ShowMultiple', 'la_Text_MultipleShow', 'text', NULL, NULL, 0, 0, 1); - -INSERT INTO ConfigurationAdmin VALUES ('l_MaxCategories', 'la_Text_Links', 'la_fld_MaxCategories', 'text', NULL, NULL, 10.15, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('l_EnableGoogleMaps', 'la_Text_Links', 'la_fld_LinkEnableGoogleMaps', 'checkbox', NULL, NULL, 10.16, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('l_GoogleMapsAPIKey', 'la_Text_Links', 'la_fld_LinkGoogleMapsAPIKey', 'text', NULL, NULL, 10.17, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('l_EnableLinkContactForm', 'la_Text_Links', 'la_config_EnableLinkContactForm', 'checkbox', NULL, NULL, 10.18, 0, 1); -INSERT INTO ConfigurationAdmin VALUES ('ReciprocalLinkChecking', 'la_Text_Links', 'la_config_ReciprocalLinkChecking', 'checkbox', NULL, NULL, 10.19, 0, 0); - -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Links', '10', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_SortField', 'Name', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_SortOrder', 'asc', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_SortField2', 'Description', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_SortOrder2', 'desc', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_NewDays', '100', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_MinPopRating', '5', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_MaxHotNumber', '5', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_EnhancedLinks', '0', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_AllowFreeListings', '1', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_ShowPick', '1', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_UrlStatus', '', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_ReviewsSort', 'CreatedOn', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_ReviewsOrder', 'desc', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_ReviewsSort2', 'ReviewText', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_ReviewsOrder2', 'asc', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_MinPopVotes', '20', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_LinkId', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Name', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Description', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Url', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_CreatedOn', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Hits', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_CatchedRating', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_CatchedVotesQty', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_CatchedReviewsQty', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_ReviewById', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Priority', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_Status', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_EditorsPick', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_ResourceId', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_HotItem', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_PopItem', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_Link_NewItem', '1', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'link_ReviewDelay_Value', '1', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'link_ReviewDelay_Interval', '2419200', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'link_RatingDelay_Value', '1', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'link_RatingDelay_Interval', '2419200', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_Root', '{LinkCatId}', 'In-Portal', ''); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_Links_Short', '3', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_Highlight_OpenTag', '', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_Highlight_CloseTag', '', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LinkReviews_Short', '3', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Perpage_LinkReviews', '10', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_CategoryTemplate', '/in-link/designs/section', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_ItemTemplate', 'in-link/designs/detail', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_MaxImageCount', 5, 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_ThumbnailImageWidth', 120, 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_ThumbnailImageHeight', 120, 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_FullImageWidth', 450, 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_FullImageHeight', 450, 'In-Link', 'in-link:configuration_output'); - -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Keyword_links', '90', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Pop_links', '5', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Rating_links', '5', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'SearchRel_Increase_links', '30', 'In-Link', 'in-link:configuration_search'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Search_ShowMultiple_links', '0', 'In-Link', 'in-link:configuration_search'); - -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'StartValidationTime', '0', 'In-Link', ''); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'LastExpirationTime', '0', 'In-Link', ''); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'Link_RatingToPop', '5', 'In-Link', 'in-link:configuration_output'); - -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_MaxCategories', '3', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_EnableGoogleMaps', '0', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_GoogleMapsAPIKey', '', 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'l_EnableLinkContactForm', 1, 'In-Link', 'in-link:configuration_output'); -INSERT INTO ConfigurationValues VALUES (DEFAULT, 'ReciprocalLinkChecking', '0', 'In-Link', 'in-link:configuration_output'); - -INSERT INTO Events VALUES(DEFAULT, 'LINK.ADD', NULL, 1, 1, NULL, 'In-Link', 'la_event_link.add', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ADD', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.add', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ADD.PENDING', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.add.pending', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ADD.PENDING', NULL, 1, 1, NULL, 'In-Link', 'la_event_link.add.pending', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY', NULL, 1, 1, NULL, 'In-Link', 'la_event_link.modify', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.modify', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY.PENDING', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.modify.pending', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY.PENDING', NULL, 1, 1, NULL, 'In-Link', 'la_event_link.modify.pending', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY.APPROVE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.modify.approve', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.MODIFY.DENY', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.modify.deny', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.APPROVE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.approve', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.DENY', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.deny', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.ADD', NULL, 1, 1, NULL, 'In-Link', 'la_event_link.review.add', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.ADD', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.add', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.ADD.PENDING', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.add.pending', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.ADD.PENDING', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.add.pending', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.APPROVE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.approve', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.DENY', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.deny', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.APPROVE', NULL, 0, 0, NULL, 'In-Link', 'la_event_link.link.enhance.approve', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.APPROVE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.approve', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.DENY', NULL, 0, 0, NULL, 'In-Link', 'la_event_link.link.enhance.deny', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.DENY', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.deny', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.EXPIRE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.expire', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.EXPIRE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.expire', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.EXTEND', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.extend', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.EXTEND', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.extend', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEW', NULL, 0, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEW', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEW.FAILED', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew_failed', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEW.FAILED', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew_failed', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.CANCEL', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew_cancel', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.CANCEL', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renew_cancel', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEWAL.NOTICE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renewal_notice', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.ENHANCE.RENEWAL.NOTICE', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.enhance.renewal_notice', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.CONTACTFORM', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.contactform', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.CONTACTFORM', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.link.contactform', 0); -INSERT INTO Events VALUES(DEFAULT, 'LINK.RECIPROCAL.CHECK.FAILED', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.reciprocal.check.failed', 1); -INSERT INTO Events VALUES(DEFAULT, 'LINK.VALIDATION.RESULTS', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.validation.results', 1); - -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkAddress', 'lu_fld_LinkAddress', 0, 'la_section_BusinessLocation', 'la_fld_LinkAddress', 'text', 'size="40"', '', 1, 1, 0, 0); -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkCity', 'lu_fld_LinkCity', 0, 'la_section_BusinessLocation', 'la_fld_LinkCity', 'text', 'size="40"', '', 2, 1, 0, 0); -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkZipCode', 'lu_fld_LinkZipCode', 0, 'la_section_BusinessLocation', 'la_fld_LinkZipCode', 'text', NULL, '', 4, 1, 0, 0); -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkState', 'lu_fld_LinkState', 0, 'la_section_BusinessLocation', 'la_fld_LinkState', 'select', '=+||SELECT DestAbbr AS OptionValue, DestName AS OptionName FROM StdDestinations WHERE DestType = 2 AND (DestParentId = 225 OR DestParentId = 38) ORDER BY DestParentId DESC, DestAbbr ASC', '', 3, 1, 0, 0); -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkCountry', 'lu_fld_LinkCountry', 0, 'la_section_BusinessLocation', 'la_fld_LinkCountry', 'select', '=+||SELECT DestAbbr AS OptionValue, DestName AS OptionName FROM StdDestinations WHERE DestType = 1 ORDER BY DestAbbr ASC', '', 5, 1, 0, 0); -INSERT INTO CustomField VALUES (DEFAULT, 4, 'LinkPhone', 'lu_fld_LinkPhone', 0, 'la_section_BusinessLocation', 'la_fld_LinkPhone', 'text', NULL, '', 6, 1, 0, 0); - -INSERT INTO ItemTypes VALUES (4, 'In-Link', 'l', 'Link', 'Name', 'CreatedById', 'Hits', 'CachedRating', 'la_ItemTab_Links', 1, 'in-link/admin/addlink.php', 'clsLink', 'Link'); - -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.ADD', 'lu_PermName_Link.Add_desc', 'lu_PermName_Link.Add_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.VIEW', 'lu_PermName_Link.View_desc', 'lu_PermName_Link.View_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.ADD.PENDING', 'lu_PermName_Link.Add.Pending_desc', 'lu_PermName_Link.Add.Pending_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.MODIFY', 'lu_PermName_Link.Modify_desc', 'lu_PermName_Link.Modify_desc', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.DELETE', 'lu_PermName_Link.Delete_desc', 'lu_PermName_Link.Delete_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.RATE', 'lu_PermName_Link.Rate_desc', 'lu_PermName_Link.Rate_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.REVIEW', 'lu_PermName_Link.Review_desc', 'lu_PermName_Link.Review_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.REVIEW.PENDING', 'lu_PermName_Link.Review_Pending_desc', ' lu_PermName_Link.Review_Pending_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.MODIFY.PENDING', 'lu_PermName_Link.Modify.Pending_desc', 'lu_PermName_Link.Modify.Pending_desc', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.OWNER.MODIFY', 'lu_PermName_Link.Owner.Modify_desc', 'lu_PermName_Link.Owner.Modify_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.OWNER.MODIFY.PENDING', 'lu_PermName_Link.Owner.Modify.Pending_desc', 'lu_PermName_Link.Owner.Modify.Pending_error', 'In-Link'); -INSERT INTO PermissionConfig VALUES (DEFAULT, 'LINK.OWNER.DELETE', 'lu_PermName_Link.Owner.Delete_desc', 'lu_PermName_Link.Owner.Delete_error', 'In-Link'); - -INSERT INTO SearchConfig VALUES ('Link', 'OrgId', 0, 0, 'lu_fielddesc_link_orgid', 'lu_field_orgid', 'In-Link', 'la_text_link', 19, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'NewItem', 0, 1, 'lu_fielddesc_link_newitem', 'lu_field_newitem', 'In-Link', 'la_text_link', 18, DEFAULT, 0, 'boolean', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'PopItem', 0, 1, 'lu_fielddesc_link_popitem', 'lu_field_popitem', 'In-Link', 'la_text_link', 17, DEFAULT, 0, 'boolean', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'HotItem', 0, 1, 'lu_fielddesc_link_hotitem', 'lu_field_hotitem', 'In-Link', 'la_text_link', 16, DEFAULT, 0, 'boolean', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'ResourceId', 0, 1, 'lu_fielddesc_link_resourceid', 'lu_field_resourceid', 'In-Link', 'la_text_link', 15, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'EditorsPick', 0, 1, 'lu_fielddesc_link_editorspick', 'lu_field_editorspick', 'In-Link', 'la_text_link', 14, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Status', 0, 0, 'lu_fielddesc_link_status', 'lu_field_status', 'In-Link', 'la_text_link', 13, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Priority', 0, 0, 'lu_fielddesc_link_priority', 'lu_field_priority', 'In-Link', 'la_text_link', 12, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'ModifiedById', 0, 0, 'lu_fielddesc_link_modifiedbyid', 'lu_field_modifiedbyid', 'In-Link', 'la_text_link', 11, DEFAULT, 0, 'text', 'PortalUser.Login', '{ForeignTable}.PortalUserId={LocalTable}.ModifiedById', NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'CreatedById', 0, 0, 'lu_fielddesc_link_createdbyid', 'lu_field_createdbyid', 'In-Link', 'la_text_link', 10, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'CachedReviewsQty', 0, 0, 'lu_fielddesc_link_cachedreviewsqty', 'lu_field_cachedreviewsqty', 'In-Link', 'la_text_link', 9, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'CachedVotesQty', 0, 0, 'lu_fielddesc_link_cachedvotesqty', 'lu_field_cachedvotesqty', 'In-Link', 'la_text_link', 8, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'LinkId', 0, 1, 'lu_fielddesc_link_linkid', 'lu_field_linkid', 'In-Link', 'la_text_link', 0, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Name', 1, 1, 'lu_fielddesc_link_name', 'lu_field_name', 'In-Link', 'la_text_link', 1, DEFAULT, 1, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Description', 1, 1, 'lu_fielddesc_link_description', 'lu_field_description', 'In-Link', 'la_text_link', 2, DEFAULT, 1, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Url', 1, 1, 'lu_fielddesc_link_url', 'lu_field_url', 'In-Link', 'la_text_link', 3, DEFAULT, 2, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'CreatedOn', 0, 1, 'lu_fielddesc_link_createdon', 'lu_field_createdon', 'In-Link', 'la_text_link', 4, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Modified', 0, 1, 'lu_fielddesc_link_modified', 'lu_field_modified', 'In-Link', 'la_text_link', 5, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'Hits', 0, 1, 'lu_fielddesc_link_hits', 'lu_field_hits', 'In-Link', 'la_text_link', 6, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); -INSERT INTO SearchConfig VALUES ('Link', 'CachedRating', 0, 0, 'lu_fielddesc_link_cachedrating', 'lu_field_cachedrating', 'In-Link', 'la_text_link', 7, DEFAULT, 0, 'text', NULL, NULL, NULL, NULL, NULL, NULL, NULL); - -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) as LinkCount FROM <%prefix%>Link WHERE Status=1', NULL, 'la_prompt_ActiveLinks', 0, 1); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS TotalLinks FROM <%prefix%>Link', NULL, 'la_prompt_TotalLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS ActiveLinks FROM <%prefix%>Link WHERE Status = 1', NULL, 'la_prompt_ActiveLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS PendingLinks FROM <%prefix%>Link WHERE Status = 2', NULL, 'la_prompt_PendingLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS DisabledLinks FROM <%prefix%>Link WHERE Status = 0', NULL, 'la_prompt_DisabledLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS NewLinks FROM <%prefix%>Link WHERE (NewItem = 1) OR ( (UNIX_TIMESTAMP() - CreatedOn) <= <%m:config name="Link_NewDays"%>*86400 AND (NewItem = 2) )', NULL, 'la_prompt_NewLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) FROM <%prefix%>Link WHERE EditorsPick = 1', NULL, 'la_prompt_EditorsPickLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS HotLinks FROM <%prefix%>Link WHERE (HotItem = 1) OR (Hits >= <%m:config name="Link_MaxHotNumber"%> AND (HotItem = 2) )', NULL, 'la_prompt_HotLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) AS PopularLinks FROM <%prefix%>Link WHERE (PopItem = 1) OR ( (CachedRating >= <%link:hit_count type="top"%>) AND <%link:hit_count type="top"%> AND (PopItem = 2) )', NULL, 'la_prompt_PopularLinks', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT <%m:post_format field="AVG(CachedRating)" type="currency" precision="2"%> FROM <%prefix%>Link WHERE CachedRating > 0', NULL, 'la_prompt_LinksAverageRating', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT MAX(Hits) AS MaxLinksHits FROM <%prefix%>Link', NULL, 'la_prompt_MaxLinksHits', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT MAX(CachedVotesQty) AS MaxLinksVotes FROM <%prefix%>Link', NULL, 'la_prompt_MaxLinksVotes', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT <%m:post_format field="MAX(CreatedOn)" type="date"%> FROM <%prefix%>Link', NULL, 'la_prompt_NewestLinkDate', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT <%m:post_format field="MAX(Modified)" type="date"%> FROM <%prefix%>Link', NULL, 'la_prompt_LastLinkUpdate', 0, 2); -INSERT INTO StatItem VALUES (DEFAULT, 'In-Link', 'SELECT COUNT(*) FROM <%prefix%>ItemReview WHERE Module = \'<%modules:get_current%>\'', NULL, 'la_prompt_LinkReviews', 0, 2); - -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.VIEW', 14, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.VIEW', 14, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.VIEW', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'FAVORITES', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.VIEW', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.ADD.PENDING', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.RATE', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.REVIEW', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY.PENDING', 12, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.VIEW', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'FAVORITES', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.ADD', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.VIEW', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.RATE', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.REVIEW', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY.PENDING', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.DELETE', 13, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.VIEW', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.ADD', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.DELETE', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'CATEGORY.MODIFY', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'FAVORITES', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.ADD', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.VIEW', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.MODIFY', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.DELETE', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.RATE', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.REVIEW', 11, 1, 0, {LinkCatId}); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.ADD', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.VIEW', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.ADD.PENDING', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.MODIFY', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.DELETE', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.RATE', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.REVIEW', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.REVIEW.PENDING', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.MODIFY.PENDING', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.MODIFY.PENDING', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'LINK.OWNER.DELETE', 15, 0, 0, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:links.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:setting_folder.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_output.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_output.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_search.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_search.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_email.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_email.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_custom.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_custom.add', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_custom.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:configuration_custom.delete', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:duplicate_checker.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:duplicate_checker.add', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:duplicate_checker.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:duplicate_checker.delete', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:validation_list.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:validation_list.add', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:validation_list.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.add', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.delete', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.advanced:approve', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:paid_listings.advanced:decline', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:listing_types.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:listing_types.add', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:listing_types.edit', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:listing_types.delete', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:link_validation.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:link_validation.advanced:continue', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:link_validation.advanced:restart', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:link_validation.advanced:validate', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:link_validation.advanced:reset', 11, 1, 1, 0); - -INSERT INTO ImportScripts VALUES (DEFAULT, 'Links from CSV file [In-Link]', '', 'l', 'In-Link', '', 'CSV', '1'); - -INSERT INTO CustomField VALUES (DEFAULT, 1, 'l_ItemTemplate', 'la_fld_cust_l_ItemTemplate ', 0, 'la_title_SystemCF', 'la_fld_cust_l_ItemTemplate ', 'text', NULL, '', 0, 0, 1, 0); - -INSERT INTO Counters VALUES (DEFAULT, 'linkhits_count', 'SELECT ROUND(SUM(Hits)) FROM <%PREFIX%>Link', NULL, NULL, '300', '0', '|Link|'); - -INSERT INTO Modules VALUES ('In-Link', 'in-link/', 'l', DEFAULT, 1, 1, 'in-link/', 2, NULL); Index: branches/5.0.x/in-link/install/install_order.txt =================================================================== diff -u -N --- branches/5.0.x/in-link/install/install_order.txt (revision 12746) +++ branches/5.0.x/in-link/install/install_order.txt (revision 0) @@ -1 +0,0 @@ -102 \ No newline at end of file Index: branches/5.0.x/in-link/install/english.lang =================================================================== diff -u -N --- branches/5.0.x/in-link/install/english.lang (revision 12746) +++ branches/5.0.x/in-link/install/english.lang (revision 0) @@ -1,254 +0,0 @@ - - m/d/Yg:i Am/d/Yg:i:s A.,utf-8http://docs.in-portal.org/eng/index.php2 - - QWN0aW9ucyBVcG9uIEV4cGlyYXRpb24= - QWN0aW9ucyBVcG9uIFB1cmNoYXNl - RHVwbGljYXRlcw== - RXhwaXJlcyBPbg== - TGluaw== - T3duZXI= - TGlzdGluZyBUeXBl - UGVuZGluZyBSZW5ld2Fs - RW5hYmxlZCBPbg== - VmFsaWRhdGVkIE9u - VmFsaWRhdGlvbiBDb2Rl - RW5hYmxlIExpbmsgQ29udGFjdCBGb3Jtcw== - UmVjaXByb2NhbCBMaW5rIENoZWNraW5n - RGVjcmVhc2UgQnk= - RG9uJ3QgQ2hhbmdl - TGluayBDb250YWN0IEZvcm0= - TGluayBlbmhhbmNlbWVudCBzdWJtaXR0ZWQ= - TGluayBlbmhhbmNlbWVudCBhcHByb3ZlZA== - TGluayBlbmhhbmNlbWVudCBkZW5pZWQ= - TGluayBlbmhhbmNlbWVudCBleHBpcmVk - TGluayBlbmhhbmNlbWVudCByZW5ld2FsIHN1Ym1pdHRlZA== - TGluayBlbmhhbmNlbWVudCBleHRlbmRlZA== - TGluayBlbmhhbmNlbWVudCBpcyBhYm91dCB0byBleHBpcmU= - TGluayBlbmhhbmNlbWVudCBjYW5jZWxsZWQ= - TGluayBlbmhhbmNlbWVudCByZW5ld2FsIGZhaWxlZA== - TW9kaWZ5IExpbms= - UmVjaXByb2NhbCBDaGVjayBGYWlsZWQ= - TGluayBDb21tZW50IEFkZGVk - TGluayBDb21tZW50IFBlbmRpbmc= - TGluayBDb21tZW50IEFwcHJvdmVk - TGluayBDb21tZW50IERlY2xpbmVk - TGluayBWYWxpZGF0aW9uIFJlc3VsdHM= - QWRkaXRpb25hbCBTZWN0aW9u - TGluayBJdGVtIFRlbXBsYXRl - RW5hYmxlIFB1cmNoYXNpbmc= - RXhwaXJhdGlvbiBEYXRl - QWRkcmVzcw== - Q2l0eQ== - Q291bnRyeQ== - RW5hYmxlIEdvb2dsZSBNYXBz - R29vZ2xlIE1hcHMgQVBJIEtleQ== - TGluayBOYW1l - TGluayBPd25lcg== - UGhvbmU= - U3RhdGU= - TGluayBTdGF0dXM= - WmlwIGNvZGU= - TWF4aW11bSBudW1iZXIgb2YgSE9UIGxpbmtz - TWluaW11bSByYXRpbmcgdG8gY29uc2lkZXIgbGluayBQT1A= - TWluaW11bSBudW1iZXIgb2Ygdm90ZXMgdG8gY29uc2lkZXIgbGluayBQT1A= - SUQ= - TGlzdGluZyBUeXBl - RGVzY3JpcHRpb24= - SUQ= - TmFtZQ== - UGVuZGluZyBSZW5ld2Fs - UHVyY2hhc2UgRGF0ZQ== - UmVjaXByb2NhbCBMaW5rIFN0YXR1cw== - UmVjdXJyaW5n - UmVuZXdhbCBSZW1pbmRlcg== - UHJvZHVjdCBOYW1l - SW4tTGluaw== - SW5jcmVhc2UgQnk= - TGlua3M= - QWxsb3cgRnJlZSBMaXN0aW5ncw== - RW5oYW5jZWQgTGlzdGluZ3M= - YW5kIHRoZW4gYnk= - U29ydCBDb21tZW50cyBieQ== - R3JvdXBpbmcgQnk= - Tm90IENoZWNrZWQ= - Tm8= - UGVuZGluZyBSZW5ld2Fs - QWN0aXZlIExpbmtz - RGlzYWJsZWQgTGlua3M= - RWRpdG9yJ3MgUGljayBMaW5rcw== - SG90IExpbmtz - VG90YWwgTGluayBDb21tZW50cw== - QXZlcmFnZSBSYXRpbmcgb2YgTGlua3M= - TWF4aW11bSBIaXRzIG9mIGEgTGluaw== - TWF4aW11bSBWb3RlcyBvZiBhIExpbms= - TmV3IExpbmtz - UGVuZGluZyBMaW5rcw== - UG9wdWxhciBMaW5rcw== - VG90YWwgTGlua3M= - TG9jYXRpb24= - TGluaw== - T3JpZ2luYWwgVmFsdWVz - U2V0IEVxdWFsIFRv - UmVzZXQ= - RHVwbGljYXRlIENoZWNrZXI= - TGlua3M= - TGluayBWYWxpZGF0aW9u - TGlzdGluZ3M= - TGlzdGluZyBUeXBlcw== - UGFpZCBMaXN0aW5ncw== - U2hvcHBpbmcgQ2FydCBFbnRyeQ== - TGlua3M= - UGFpZCBMaXN0aW5n - TGlzdGluZyBUeXBl - U2hvcHBpbmcgQ2FydCBJdGVt - QWRkaW5nIExpbms= - QWRkaW5nIExpc3Rpbmc= - QWRkaW5nIExpc3RpbmcgVHlwZQ== - RHVwbGljYXRlIExpbmtz - RWRpdGluZyBMaW5r - RWRpdGluZyBMaXN0aW5n - RWRpdGluZyBMaXN0aW5nIFR5cGU= - SW1wb3J0IExpbmtz - RGlyZWN0b3J5 - TGlua3M= - TGlua3MgRXhwb3J0 - TmV3IExpbms= - TmV3IExpc3Rpbmc= - TmV3IExpc3RpbmcgVHlwZQ== - UGFpZCBMaXN0aW5ncw== - TGlzdGluZyBUeXBlcw== - U2hvcHBpbmcgQ2FydCBFbnRyeQ== - Q29udGludWUgTGluayBWYWxpZGF0aW9u - TWVyZ2U= - TmV3IEZpbGU= - TmV3IExpc3Rpbmc= - TmV3IExpc3RpbmcgVHlwZQ== - TmV3IFBhaWQgTGlzdGluZw== - U3RhcnQgTmV3IFZhbGlkYXRpb24= - UmVzZXQgVmFsaWRhdGlvbiBTdGF0dXM= - VXNlIGdyaWQgdG8gQXBwcm92ZSAvIERlY2xpbmU= - WW91IGFyZSBhYm91dCB0byBjYW5jZWwgeW91ciBsaW5rIGVuaGFuY2VtZW50Lg== - WW91IGFyZSBhYm91dCB0byBleHRlbmQgeW91ciBsaW5rIGVuaGFuY2VtZW50Lg== - Q2FuY2VsIEVuaGFuY2VtZW50 - RW5oYW5jZQ== - RW5oYW5jZSBMaW5r - RXh0ZW5kIC8gQ2FuY2VsIEVuaGFuY2VtZW50 - RXh0ZW5kIEVuaGFuY2VtZW50 - UmF0ZSB0aGlzIGxpbms= - Q29tbWVudCB0aGlzIExpbms= - VmlzaXQgTGluaw== - QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNhbmNlbCB5b3VyIGVuaGFuY2VkIGxpbms/IFRoZSBsaXN0aW5nIHR5cGUgd2lsbCBiZSByZXNldCB0byByZWd1bGFyLg== - Q2hvb3NlIExpc3RpbmcgVHlwZQ== - RHVyYXRpb24= - QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGUgbGluaz8NClRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUu - TWFuYWdlIHlvdXIgTGlua3MgaGVyZQ== - RW5oYW5jZW1lbnQgc2V0IHRvIHJlbmV3IGF1dG9tYXRpY2FsbHkgb24= - QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGV4dGVuZCB5b3VyIGxpbmsgZW5oYW5jZW1lbnQ/ - QWRkcmVzcw== - Q2l0eQ== - Q291bnRyeQ== - UGhvbmU= - U3RhdGU= - WmlwIGNvZGU= - RW5oYW5jZW1lbnQgZXhwaXJlcyBvbg== - TGlzdGluZyBUeXBl - TGlzdGluZyBUeXBl - VXJs - RnJlZSBMaXN0aW5n - R29vZ2xlIE1hcHM= - VGhhbmsgeW91IQ== - TGluayBOYW1lIEEgdG8gWg== - TGluayBOYW1lIFogdG8gQQ== - TGlua3MgdXBkYXRlZA== - WW91ciBpbmZvcm1hdGlvbiByZXF1ZXN0IGhhcyBiZWVuIHNlbnQgb3V0LiA8YnIvPjxici8+WW91J2xsIGJlIGNvbnRhY3RlZCBzaG9ydGx5IQ== - UmVxdWVzdCBJbmZvcm1hdGlvbg== - TXkgTGlua3M= - Tm8gTGluayBFbmhhbmNtZW50cyBjdXJyZW50bHkgYXZhaWxhYmxl - Tm8gTGlua3M= - QWZ0ZXIgc2VsZWN0aW5nIGxpc3RpbmcgdHlwZSBpdCB3aWxsIGJlIGFkZGVkIHRvIHlvdXIgc2hvcHBpbmcgY2FydC4gT25jZSB5b3UgY29tcGxldGUgY2hlY2tvdXQgYW5kIHlvdXIgb3JkZXIgaXMgYXBwcm92ZWQgeW91ciBsaW5rIHN0YXR1cyB3aWxsIGJlIHVwZ3JhZGVkLiBZb3Ugd2lsbCBiZSBub3RpZmllZCBieSBlbWFpbCB3aGVuIHRoaXMgaXMgZG9uZS4= - cGVuZGluZw== - Q29tbWVudCBMaW5r - TGluayBEZXRhaWxz - U29ydCBMaW5rcyBCeQ== - U3VnZ2VzdCBMaW5r - VGhhbmsgeW91IGZvciBjb21tZW50aW5nIG9uIHRoaXMgbGluay4= - VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgY29tbWVudCBmb3IgdGhpcyBsaW5rIC0gaXQncyBwZW5kaW5nIGZvciBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= - WW91ciBsaW5rIGhhcyBiZWVuIGVuaGFuY2VkLg== - WW91ciBMaW5rIGhhcyBiZWVuIG1vZGlmaWVk - VGhhbmsgeW91IGZvciB1cGRhdGluZyB5b3VyIGxpbmsuIFlvdXIgbW9kaWZpY2F0aW9ucyBhcmUgd2FpdGluZyBmb3IgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwu - TXkgTGlua3M= - Tm8gcGVybWlzc2lvbnMgdG8gY29tbWVudCBvbiB0aGlzIGxpbmsu - Tm8gcGVybWlzc2lvbnMgdG8gcGVyZm9ybSBtb2RpZnkgdGhlIGxpbms= - Tm8gcGVybWlzc2lvbnMgdG8gc3VnZ2VzdCBsaW5rIGludG8gdGhlIGN1cnJlbnQgY2F0ZWdvcnk= - VGhhbmsgeW91IGZvciB1cGRhdGluZyB5b3VyIGxpbmsu - VGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgbGluay4gQ3VycmVudGx5IGl0J3Mgd2FpdGluZyBmb3IgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWw= - TGluayBDb21tZW50IEFkZGVk - TGluayBDb21tZW50IFBlbmRpbmc= - RW5oYW5jZW1lbnQgQ2FuY2VsbGF0aW9uIENvbmZpcm1hdGlvbg== - RW5oYW5jZW1lbnQgRXh0ZW50aW9uIENvbmZpcm1hdGlvbg== - RW5oYW5jZSBMaW5r - RW5oYW5jZW1lbnQgRGV0YWlscw== - RXh0ZW5kIC8gQ2FuY2VsIExpbmsgRW5oYW5jZW1lbnQ= - RmF2b3JpdGUgTGlua3M= - SG90IExpbmtz - TGluayBEZXRhaWxz - TGlua3M= - TGlua3MgU2VhcmNoIFJlc3VsdHM= - TW9kaWZ5IExpbms= - TGluayBNb2RpZmllZA== - UGVuZGluZyBMaW5rIENvbmZpcm1hdGlvbg== - TXkgTGlua3M= - TmV3IExpbmtz - RWRpdG9yJ3MgUGljayBMaW5rcw== - UG9wdWxhciBMaW5rcw== - Q29tbWVudCB0aGlzIExpbms= - U3VnZ2VzdCBMaW5r - QWRkIExpbmsgQ29uZmlybWF0aW9u - UGVuZGluZyBMaW5rIENvbmZpcm1hdGlvbg== - dG8gY2FuY2VsIGxpbmsgZW5oYW5jZW1lbnQ= - VG90YWwgTGlua3M= - - - U3ViamVjdDogTmV3IExpbmsgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPiIgLSBBZGRlZAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgbGluayB0byBvdXIgd2Vic2l0ZSE8YnIvPjxici8+DQoNCkxpbmsgZGV0YWlsIGFyZSBsaXN0ZWQgYmVsb3c6PGJyLz48YnIvPg0KDQpMaW5rIE5hbWU6IDxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjxici8+DQo8aW5wMjptX2lmIGNoZWNrPSJsX0ZpZWxkIiBuYW1lPSJVcmwiPg0KTGluayBXZWJzaXRlOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IlVybCIvPjxici8+DQo8L2lucDI6bV9pZj4NCjxpbnAyOm1faWYgY2hlY2s9ImxfRmllbGQiIG5hbWU9IkRlc2NyaXB0aW9uIj4NCkRlc2NyaXB0aW9uOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IkRlc2NyaXB0aW9uIi8+PGJyLz4NCjwvaW5wMjptX2lmPg0KPGJyLz48YnIvPg0KDQpZb3UgY2FuIHZpZXcgeW91ciBsaW5rIGhlcmUgPGEgaHJlZj0iPGlucDI6bF9MaW5rTGluayB0ZW1wbGF0ZT0iX19kZWZhdWx0X18iLz4iPjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjwvYT4= - U3ViamVjdDogTmV3IExpbmsgaGFzIGJlZW4gU3VibWl0dGVkCgpBIG5ldyBMaW5rIGhhcyBiZWVuIHN1Ym1pdHRlZCB0byB0aGUgd2Vic2l0ZSBieSA8aW5wMjpsX0ZpZWxkIG5hbWU9IlVzZXJOYW1lIi8+Ljxici8+PGJyLz4NCg0KTGluayBOYW1lOiA8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz48YnIvPg0KPGlucDI6bV9pZiBjaGVjaz0ibF9GaWVsZCIgbmFtZT0iVXJsIj4NCkxpbmsgV2Vic2l0ZTogPGlucDI6bF9GaWVsZCBuYW1lPSJVcmwiLz48YnIvPg0KPC9pbnAyOm1faWY+DQo8aW5wMjptX2lmIGNoZWNrPSJsX0ZpZWxkIiBuYW1lPSJEZXNjcmlwdGlvbiI+DQpEZXNjcmlwdGlvbjogPGlucDI6bF9GaWVsZCBuYW1lPSJEZXNjcmlwdGlvbiIvPjxici8+DQo8L2lucDI6bV9pZj4NCjxici8+PGJyLz4NCg0KWW91IGNhbiB2aWV3IGl0IGhlcmUgPGEgaHJlZj0iPGlucDI6bF9MaW5rTGluayB0ZW1wbGF0ZT0iX19kZWZhdWx0X18iLz4iPjxpbnAyOjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjwvYT4NCg== - U3ViamVjdDogWW91ciBMaW5rICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGlzIFBlbmRpbmcKClRoYW5rIHlvdSBmb3Igc3VibWl0dGluZyB5b3VyIExpbmsuPGJyLz48YnIvPg0KDQpDdXJyZW50bHkgaXQncyBwZW5kaW5nIGZvciBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC48YnIvPjxici8+DQoNCllvdSdsbCBiZSBjb250YWN0ZWQgZGlyZWN0bHkgYnkgZW1haWwuPGJyLz48YnIvPg0KDQpMaW5rIE5hbWU6IDxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjxici8+DQo8aW5wMjptX2lmIGNoZWNrPSJsX0ZpZWxkIiBuYW1lPSJVcmwiPg0KTGluayBXZWJzaXRlOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IlVybCIvPjxici8+DQo8L2lucDI6bV9pZj4NCjxpbnAyOm1faWYgY2hlY2s9ImxfRmllbGQiIG5hbWU9IkRlc2NyaXB0aW9uIj4NCkRlc2NyaXB0aW9uOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IkRlc2NyaXB0aW9uIi8+PGJyLz4NCjwvaW5wMjptX2lmPg0KPGJyLz48YnIvPg0KDQo= - U3ViamVjdDogTmV3IExpbmsgIGhhcyBiZWVuIFN1Ym1pdHRlZCBhbmQgUGVuZGluZyEKCk5ldyBsaW5rIGhhcyBiZWVuIHN1Ym1pdHRlZCBhbmQgaXMgcGVuZGluZyBmb3IgYWRtaW5pc3RyYXRpdmUgYXBwcm92YWwuPGJyLz48YnIvPg0KDQpMaW5rIE5hbWU6IDxpbnAyOjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjxici8+DQo8aW5wMjptX2lmIGNoZWNrPSJsX0ZpZWxkIiBuYW1lPSJVcmwiPg0KTGluayBXZWJzaXRlOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IlVybCIvPjxici8+DQo8L2lucDI6bV9pZj4NCjxpbnAyOm1faWYgY2hlY2s9ImxfRmllbGQiIG5hbWU9IkRlc2NyaXB0aW9uIj4NCkRlc2NyaXB0aW9uOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IkRlc2NyaXB0aW9uIi8+PGJyLz4NCjwvaW5wMjptX2lmPg0KPGJyLz48YnIvPg0KDQpQbGVhc2UgcHJvY2VlZCB0byB0aGUgQWRtaW5pc3RyYXRpdmUgQ29uc29sZSB0byBhcHByb3ZlIG9yIGRlbnkgdGhpcyBsaW5rPGJyLz48L2JyPg== - U3ViamVjdDogWW91ciBMaW5rICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIC0gQXBwcm92ZWQhCgpZb3VyIExpbmsgaGFzIGJlZW4gQXBwcm92ZWQhPGJyIC8+DQo8YnIgLz4NCkxpbmsgTmFtZTogPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+PGJyIC8+DQo8YnIgLz4NCllvdSBjYW4gdmlldyBpdCBoZXJlIDxhIGhyZWY9IjxpbnAyOmxfTGlua0xpbmsgdGVtcGxhdGU9Il9fZGVmYXVsdF9fIi8+Ij48aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz48L2E+ - U3ViamVjdDogIlJlcXVlc3QgSW5mb3JtYXRpb24iIGZvcm0gc3VibWl0dGVkCgpEZWFyIEJ1c2luZXNzIE93bmVyLDxiciAvPg0KPGJyIC8+DQomcXVvdDtSZXF1ZXN0IEluZm9ybWF0aW9uJnF1b3Q7IGZvcm0gaGFzIGJlZW4gc3VibWl0dGVkIGZvciA8aW5wMjptX3BhcmFtIG5hbWU9InRvX2xpbmtuYW1lIi8+PGJyIC8+DQo8YnIgLz4NCjxociBub3NoYWRlPSIiIHdpZHRoPSIxMDAlIiAvPg0KPGJyIC8+DQo8dGFibGU+DQogICAgPHRib2R5Pg0KICAgICAgICA8dHI+DQogICAgICAgICAgICA8dGQ+RnVsbCBuYW1lOjwvdGQ+DQogICAgICAgICAgICA8dGQ+PGlucDI6bV9wYXJhbSBuYW1lPSJmcm9tX25hbWUiIC8+PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkPkUtbWFpbDo8L3RkPg0KICAgICAgICAgICAgPHRkPjxhIGhyZWY9Im1haWx0bzo8aW5wMjptX3BhcmFtIG5hbWU9ImZyb21fZW1haWwiIC8+Ij48aW5wMjptX3BhcmFtIG5hbWU9ImZyb21fZW1haWwiIC8+PC9hPjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDx0cj4NCiAgICAgICAgICAgIDx0ZD5TdWJqZWN0OjwvdGQ+DQogICAgICAgICAgICA8dGQ+PGlucDI6bV9wYXJhbSBuYW1lPSJmcm9tX3N1YmplY3QiIC8+PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkPlF1ZXN0aW9uczo8L3RkPg0KICAgICAgICAgICAgPHRkPjxpbnAyOm1fcGFyYW0gbmFtZT0ibWVzc2FnZSIvPiA8L3RkPg0KICAgICAgICA8L3RyPg0KICAgIDwvdGJvZHk+DQo8L3RhYmxlPg0KPGJyIC8+DQo8aHIgbm9zaGFkZT0iIiB3aWR0aD0iMTAwJSIgLz4NCjxiciAvPg== - U3ViamVjdDogSW5mb3JtYXRpb24gUmVxdWVzdCBmb3IgIjxpbnAyOm1fcGFyYW0gbmFtZT0idG9fbGlua25hbWUiIC8+IiBzdWJtaXR0ZWQKCkRlYXIgQWRtaW5pc3RyYXRvciw8YnIvPjxici8+DQoNCiJSZXF1ZXN0IEluZm9ybWF0aW9uIiBmb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCBmb3IgIjxpbnAyOm1fcGFyYW0gbmFtZT0idG9fbGlua25hbWUiIC8+Ijxici8+PGJyLz4NCg0KPGhyIHdpZHRoPSIxMDAlIiBub3NoYWRlPjxici8+DQoNCjx0YWJsZT4NCjx0cj4NCjx0ZD5GdWxsIG5hbWU6PC90ZD4NCjx0ZD48aW5wMjptX3BhcmFtIG5hbWU9ImZyb21fbmFtZSIgLz48L3RkPg0KPC90cj4NCg0KPHRyPg0KPHRkPkUtbWFpbDo8L3RkPg0KPHRkPjxpbnAyOm1fcGFyYW0gbmFtZT0iZnJvbV9lbWFpbCIgLz48L3RkPg0KPC90cj4NCg0KPHRyPg0KPHRkPlN1YmplY3Q6PC90ZD4NCjx0ZD48aW5wMjptX3BhcmFtIG5hbWU9ImZyb21fc3ViamVjdCIgLz48L3RkPg0KPC90cj4NCg0KPHRyPg0KPHRkPlF1ZXN0aW9uczo8L3RkPg0KPHRkPg0KPGJsb2NrcXVvdGU+DQo8aW5wMjptX3BhcmFtIG5hbWU9Im1lc3NhZ2UiLz4NCjwvYmxvY2txdW90ZT4NCjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxicj48aHIgd2lkdGg9IjEwMCUiIG5vc2hhZGU+PGJyPg0K - U3ViamVjdDogWW91ciBMaW5rICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGhhcyBiZWVuIGRlbmllZAoKU29ycnksIGJ1dCBzdWJtaXR0ZWQgYnkgeW91IExpbmsgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPiIgaGFzIGJlZW4gZGVuaWVkPGJyPjxicj4NCg0KUGxlYXNlIGZlZWwgZnJlZSB0byBzdWJtaXQgYWdhaW4uPGJyPg== - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZWNlaXZlZCBhbmQgUGVuZGluZwoKRGVhciA8aW5wMjp1Li1pdGVtX0ZpZWxkIG5hbWU9IkZpcnN0TmFtZSIgLz4gPGlucDI6dS4taXRlbV9GaWVsZCBuYW1lPSJMYXN0TmFtZSIgLz4sPGJyLz48YnIvPg0KDQpUaGFuayB5b3UgZm9yIHN1Ym1pdHRpbmcgbGluayBlbmhhbmNlbWVudCByZXF1ZXN0LiBZb3Ugd2lsbCBiZSBub3RpZmllZCBvbmNlIHlvdXIgbGluayBlbmhhbmNlbWVudCBpcyBwcm9jZXNzZWQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBzdWJtaXR0ZWQKCkEgdXNlciBoYXMgc3VibWl0dGVkIGEgbGluayBlbmhhbmNlbWVudCByZXF1ZXN0Ljxici8+PGJyLz4NCg0KUGxlYXNlIHByb2NlZWQgdG8gYWRtaW5pc3RyYXRpdmUgY29uc29sZSB0byByZXZpZXcgaXQu - U3ViamVjdDogWW91ciBMaW5rIGVuaGFuY2VtZW50IGZvciA8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiIC8+IC0gQXBwcm92ZWQhCgpEZWFyIDxpbnAyOnUuLWl0ZW1fRmllbGQgbmFtZT0iRmlyc3ROYW1lIiAvPiA8aW5wMjp1Li1pdGVtX0ZpZWxkIG5hbWU9Ikxhc3ROYW1lIiAvPiw8YnIvPjxici8+DQoNCllvdXIgcmVjZW50IGxpbmsgZW5oYW5jZW1lbnQgcmVxdWVzdCBoYXMgYmVlbiBhcHByb3ZlZC4gVGhhbmsgeW91IQ0K - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBpcyBBcHByb3ZlZAoKTGluayBlbmhhbmNlbWVudCBmb3IgPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IGFzIGJlZW4gYXBwcm92ZWQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gQ2FuY2VsZWQKCkRlYXIgPGlucDI6dS4taXRlbV9GaWVsZCBuYW1lPSJGaXJzdE5hbWUiIC8+IDxpbnAyOnUuLWl0ZW1fRmllbGQgbmFtZT0iTGFzdE5hbWUiIC8+LDxici8+PGJyLz4NCg0KWW91ciBsaW5rIGVuaGFuY2VtZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgb24gPGlucDI6Y29uZl9Db25maWdWYWx1ZSBuYW1lPSJTaXRlX05hbWUiLz4gaGFzIGJlZW4gY2FuY2VsZWQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gQ2FuY2VsZWQhCgpMaW5rIEVuaGFuY2VtZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgaGFzIGJlZW4gY2FuY2VsZWQh - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiAtIERlbmllZAoKRGVhciA8aW5wMjp1Li1pdGVtX0ZpZWxkIG5hbWU9IkZpcnN0TmFtZSIgLz4gPGlucDI6dS4taXRlbV9GaWVsZCBuYW1lPSJMYXN0TmFtZSIgLz4sPGJyLz48YnIvPg0KDQpTb3JyeSwgYnV0IHlvdXIgcmVjZW50IGxpbmsgZW5oYW5jZW1lbnQgcmVxdWVzdCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGhhcyBiZWVuIGRlbmllZC4= - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBoYXMgYmVlbiBEZW5pZWQKCkxpbmsgZW5oYW5jZW1lbnQgZm9yIDxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4gaGFzIGJlZW4gZGVuaWVkLg== - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gRXhwaXJlZAoKRGVhciA8aW5wMjp1Li1pdGVtX0ZpZWxkIG5hbWU9IkZpcnN0TmFtZSIgLz4gPGlucDI6dS4taXRlbV9GaWVsZCBuYW1lPSJMYXN0TmFtZSIgLz4sPGJyLz48YnIvPg0KDQpZb3VyIGVuaGFuY2VkIGxpbmsgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGF0IDxpbnAyOmNvbmZfQ29uZmlnVmFsdWUgbmFtZT0iU2l0ZV9OYW1lIi8+IGhhcyBleHBpcmVkLjxici8+PGJyLz4NCg0KSWYgeW91IHdhbnQgdG8gcmVuZXcgeW91ciBlbmhhbmNlZCBsaW5rLCBwbGVhc2UgcmUtc3VibWl0IGxpbmsgZW5oYW5jZW1lbnQgcmVxdWVzdC4= - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gRXhwaXJlZAoKRW5oYW5jZWQgbGluayA8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiIC8+IGhhcyBleHBpcmVkLg== - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZW5ld2FsIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgLSBTdWJtaXR0ZWQKCkRlYXIgPGlucDI6dS4taXRlbV9GaWVsZCBuYW1lPSJGaXJzdE5hbWUiIC8+IDxpbnAyOnUuLWl0ZW1fRmllbGQgbmFtZT0iTGFzdE5hbWUiIC8+LA0KDQpUaGFuayB5b3UgZm9yIHN1Ym1pdHRpbmcgbGluayBlbmhhbmNlbWVudCByZW5ld2FsIHJlcXVlc3QgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiIC8+Ii48YnIvPjxici8+DQoNCllvdSB3aWxsIGJlIG5vdGlmaWVkIHNob3J0bHkgb25jZSB5b3UgcmVxdWVzdCBpcyBwcm9jZXNzZWQuDQoNCg== - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZW5ld2FsIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgLSBTdWJtaXR0ZWQKCkxpbmsgZW5oYW5jZW1lbnQgcmVuZXdhbCByZXF1ZXN0IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgaGFzIGJlZW4gc3VibWl0dGVkIGJ5IHVzZXIuPGJyLz48YnIvPg0KDQpQbGVhc2UgcHJvY2VlZCB0byB0aGUgQWRtaW5pc3RyYXRpdmUgQ29uc29sZSB0byByZXZpZXcgaXQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gRXh0ZW5kZWQhCgpEZWFyIDxpbnAyOnUuLWl0ZW1fRmllbGQgbmFtZT0iRmlyc3ROYW1lIiAvPiA8aW5wMjp1Li1pdGVtX0ZpZWxkIG5hbWU9Ikxhc3ROYW1lIiAvPiw8YnIvPjxici8+DQoNCllvdSBsaW5rIGVuaGFuY2VtZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgb24gPGlucDI6Y29uZl9Db25maWdWYWx1ZSBuYW1lPSJTaXRlX05hbWUiLz4gaGFzIGJlZW4gZXh0ZW5kZWQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIC0gRXh0ZW5kZWQhCgpMaW5rIGVuaGFuY2VtZW50IGhhcyBiZWVuIGV4dGVuZGVkIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZW5ld2FsIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgLSBGYWlsZWQKCkxpbmsgRW5oYW5jZW1lbnQgUmVuZXdhbCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGhhcyBmYWlsZWQgb24gb24gPGlucDI6Y29uZl9Db25maWdWYWx1ZSBuYW1lPSJTaXRlX05hbWUiLz4u - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZW5ld2FsIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgLSBGYWlsZWQKCkxpbmsgRW5oYW5jZW1lbnQgUmVuZXdhbCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGhhcyBmYWlsZWQu - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBSZW5ld2FsIG5vdGljZSBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iCgpEZWFyIDxpbnAyOnVfRmllbGQgbmFtZT0iRmlyc3ROYW1lIiAvPiA8aW5wMjp1X0ZpZWxkIG5hbWU9Ikxhc3ROYW1lIiAvPiw8YnIvPjxici8+DQoNCllvdXIgbGluayBlbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIG9uIDxpbnAyOmNvbmZfQ29uZmlnVmFsdWUgbmFtZT0iU2l0ZV9OYW1lIi8+IGlzIGFib3V0IHRvIGV4cGlyZS48YnIvPjxici8+DQoNClBsZWFzZSBsb2dpbiB0byB5b3VyIGFjY291bnQgdG8gcmVuZXcgeW91ciBsaW5rIGVuaGFuY2VtZW50Lg== - U3ViamVjdDogTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGlzIGFib3V0IHRvIEV4cGlyZSEKClRoaXMgaXMgYW4gZW1haWwgbm90aWZpY2F0aW9uIHRoYXQgTGluayBFbmhhbmNlbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGlzIGFib3V0IHRvIEV4cGlyZS48YnIvPjxici8+DQo= - U3ViamVjdDogWW91ciBMaW5rICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiIC8+IiBoYXMgYmVlbiBVcGRhdGVkCgpUaGFuayB5b3UgZm9yIHVwZGF0aW5nIHlvdXIgTGluayBkZXRhaWxzLg0KDQpZb3VyIExpbmsgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGhhcyBiZWVuIG1vZGlmaWVk - U3ViamVjdDogTGluayAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgaGFzIGJlZW4gTW9kaWZpZWQKCkxpbmsgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGhhcyBiZWVuIG1vZGlmaWVkIHRvIHRoZSB1c2VyLg0K - U3ViamVjdDogWW91ciBNb2RpZmljYXRpb25zIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIiAvPiIgYXBwcm92ZWQKCllvdXIgTW9kaWZpY2F0aW9ucyBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIgLz4iIGxpbmsgd2VyZSBhcHByb3ZlZC4= - U3ViamVjdDogWW91ciBNb2RpZmljYXRpb25zIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiAtIERlY2xpbmVkCgpZb3VyIG1vZGlmaWNhdGlvbnMgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGxpbmsgd2VyZSBkZWNsaW5lZC4= - U3ViamVjdDogTGluayBNb2RpZmljYXRpb25zIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBwZW5kaW5nCgpUaGFuayB5b3UsPGJyPjxicj4NCg0KWW91ciBsaW5rIG1vZGlmaWNhdGlvbnMgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGFyZSBwZW5kaW5nIGZvciBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= - U3ViamVjdDogTGluayBNb2RpZmljYXRpb25zIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBwZW5kaW5nIGFwcHJvdmFsCgpNb2RpZmljYXRpb25zIGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBsaW5rIGFyZSBwZW5kaW5nIGZvciBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbC4= - U3ViamVjdDogQ2hlY2sgZm9yIFJlY2lwcm9jYWwvQmFjayBMaW5rIG9uICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGlzIEZhaWxlZAoKQ2hlY2sgZm9yIFJlY2lwcm9jYWwvQmFjayBsaW5rIGlzIEZhaWxlZCBmb3I6PGJyLz48YnIvPg0KDQpMaW5rIElkOiA8aW5wMjpsX0ZpZWxkIG5hbWU9IkxpbmtJZCIvPjxici8+DQpMaW5rIE5hbWU6IDxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPjxici8+DQpMaW5rIFdlYnNpdGU6IDxhIGhyZWY9IjxpbnAyOmxfRmllbGQgbmFtZT0iVXJsIi8+Ij48aW5wMjpsX0ZpZWxkIG5hbWU9IlVybCIvPjwvYT48YnIvPg0K - U3ViamVjdDogWW91ciBDb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBTdWJtaXR0ZWQKClRoYW5rIHlvdSwgeW91ciBjb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBoYXMgYmVlbiBhZGRlZCB0byB0aGUgd2Vic2l0ZS4= - U3ViamVjdDogTmV3IENvbW1lbnQgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGxpbmsgc3VibWl0dGVkCgpOZXcgY29tbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPiIgbGluayBoYXMgYmVlbiBzdWJtaXR0ZWQu - U3ViamVjdDogWW91ciBDb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiBsaW5rIGlzIHBlbmRpbmcKClRoYW5rIHlvdSBmb3Igc3VibWl0dGluZyB5b3VyIGNvbW1lbnQgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iLjxicj48YnI+DQoNCkN1cnJlbnRseSBpdCdzIHBlbmRpbmcgZm9yIGFkbWluaXN0cmF0aXZlIGFwcHJvdmFsIGFuZCB3aWxsIGJlIHB1Ymxpc2hlZCBzaG9ydGx5Lg== - WC1NYWlsZXI6IEluLVBvcnRhbApTdWJqZWN0OiBZb3VyIENvbW1lbnQgZm9yICI8aW5wMjpsX0ZpZWxkIG5hbWU9Ik5hbWUiLz4iIGxpbmsgaXMgcGVuZGluZyBbYWRtaW5dCgpUaGFuayB5b3UgZm9yIHN1Ym1pdHRpbmcgeW91ciBjb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+Ii48YnI+PGJyPg0KDQpDdXJyZW50bHkgaXQncyBwZW5kaW5nIGZvciBhZG1pbmlzdHJhdGl2ZSBhcHByb3ZhbCBhbmQgd2lsbCBiZSBwdWJsaXNoZWQgc2hvcnRseS4= - U3ViamVjdDogWW91ciBDb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiAtIFB1Ymxpc2hlZAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHlvdXIgY29tbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPiIuPGJyLz48YnIvPg0KDQpJdCdzIGFscmVhZHkgcHVibGlzaGVkIG9uIHRoZSB3ZWJzaXRlIQ== - U3ViamVjdDogWW91ciBDb21tZW50IGZvciAiPGlucDI6bF9GaWVsZCBuYW1lPSJOYW1lIi8+IiAtIERlY2xpbmVkCgpTb3JyeSwgYnV0IHlvdXIgY29tbWVudCBmb3IgIjxpbnAyOmxfRmllbGQgbmFtZT0iTmFtZSIvPiIgbGluayBoYXMgYmVlbiBkZWNsaW5lZC4= - U3ViamVjdDogTGluayBWYWxpZGF0aW9uIFJlc3VsdHMgKDxpbnAyOmxhbmcuY3VycmVudF9DdXJyZW50RGF0ZSBmb3JtYXQ9ImQtTS1ZIi8+KQoKTGluayBWYWxpZGF0aW9uIENvbXBsZXRlZCBvbiA8aW5wMjpsYW5nLmN1cnJlbnRfQ3VycmVudERhdGUgZm9ybWF0PSJkLU0tWSIvPiBhdCA8aW5wMjpsYW5nLmN1cnJlbnRfQ3VycmVudERhdGUgZm9ybWF0PSJIOmk6cyIvPjxiciAvPjxiciAvPg0KDQo8aW5wMjpsaW5rLXZhbGlkYXRpb24uaW52YWxpZF9Jbml0TGlzdCBwZXJfcGFnZT0iLTEiLz4NCjxpbnAyOm1faWYgY2hlY2s9ImxpbmstdmFsaWRhdGlvbi5pbnZhbGlkX1RvdGFsUmVjb3JkcyI+DQoJVGhlZXNlIGxpbmtzIHdlcmUgbWFya2VkIGFzIGludmFsaWQgZHVyaW5nIHZhbGlkYXRpb24gcHJvY2Vzczo8YnIgLz4NCg0KCTxpbnAyOm1fRGVmaW5lRWxlbWVudCBuYW1lPSJsaW5rX2VsZW1lbnQiPg0KCQk8bGk+DQoJCQk8aW5wMjpGaWVsZCBuYW1lPSJMaW5rTmFtZSIvPiAoPGlucDI6Q2F0ZWdvcnlOYW1lLz4pDQoJCTwvbGk+DQoJPC9pbnAyOm1fRGVmaW5lRWxlbWVudD4NCg0KCTx1bD4NCgkJPGlucDI6bGluay12YWxpZGF0aW9uLmludmFsaWRfUHJpbnRMaXN0IHJlbmRlcl9hcz0ibGlua19lbGVtZW50Ii8+DQoJPC91bD4NCjxpbnAyOm1fZWxzZS8+DQoJQWxsIGxpbmtzIGFwcGVhciB0byBiZSB2YWxpZC4NCjwvaW5wMjptX2lmPg== - - - \ No newline at end of file Index: branches/5.0.x/in-link/install/install_schema.sql =================================================================== diff -u -N --- branches/5.0.x/in-link/install/install_schema.sql (revision 12746) +++ branches/5.0.x/in-link/install/install_schema.sql (revision 0) @@ -1,145 +0,0 @@ -CREATE TABLE Link ( - LinkId int(11) NOT NULL auto_increment, - Name varchar(255) NOT NULL default '', - l1_Name varchar(255) NOT NULL default '', - l2_Name varchar(255) NOT NULL default '', - l3_Name varchar(255) NOT NULL default '', - l4_Name varchar(255) NOT NULL default '', - l5_Name varchar(255) NOT NULL default '', - AutomaticFilename tinyint(3) unsigned NOT NULL default '1', - Description text, - l1_Description text, - l2_Description text, - l3_Description text, - l4_Description text, - l5_Description text, - MetaKeywords varchar(255) default NULL, - MetaDescription text, - Url varchar(255) NOT NULL default '', - CreatedOn int(10) unsigned default NULL, - Modified int(10) unsigned default NULL, - Expire int(10) unsigned default NULL, - Hits double(20,6) NOT NULL default '0.000000', - CachedRating varchar(10) NOT NULL default '0', - CachedVotesQty int(11) NOT NULL default '0', - CachedReviewsQty int(11) NOT NULL default '0', - CreatedById int(11) NOT NULL default '-1', - ModifiedById int(11) NOT NULL default '-1', - Priority int(11) NOT NULL default '0', - `Status` tinyint(4) NOT NULL default '2', - EditorsPick tinyint(4) NOT NULL default '0', - ResourceId int(11) default NULL, - HotItem tinyint(4) NOT NULL default '2', - PopItem tinyint(4) NOT NULL default '2', - NewItem tinyint(4) NOT NULL default '2', - OrgId int(11) default NULL, - CustomTemplate varchar(255) NOT NULL default '', - ReciprocalLinkFound tinyint(3) unsigned NOT NULL default '0', - PRIMARY KEY (LinkId), - UNIQUE KEY ResourceId (ResourceId), - KEY sorting (Priority,Name), - KEY Hits (Hits), - KEY Name (Name), - KEY l1_Name (l1_Name), - KEY l2_Name (l2_Name), - KEY l3_Name (l3_Name), - KEY l4_Name (l4_Name), - KEY l5_Name (l5_Name), - KEY Description (Description(5)), - KEY l1_Description (l1_Description(5)), - KEY l2_Description (l2_Description(5)), - KEY l3_Description (l3_Description(5)), - KEY l4_Description (l4_Description(5)), - KEY l5_Description (l5_Description(5)), - KEY EditorsPick (EditorsPick), - KEY CreatedOn (CreatedOn), - KEY Modified (Modified,CreatedOn), - KEY `Status` (`Status`), - KEY HotItem (HotItem), - KEY PopItem (PopItem), - KEY NewItem (NewItem) -); - -CREATE TABLE LinkValidation ( - LinkValidationId int(11) NOT NULL AUTO_INCREMENT, - LinkId int(11) NOT NULL DEFAULT '0', - ValidationTime int(11) DEFAULT NULL, - ValidationCode varchar(50) DEFAULT NULL, - ValidationStatus tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (LinkValidationId), - UNIQUE KEY LinkId (LinkId), - KEY ValidationStatus (ValidationStatus), - KEY ValidationTime (ValidationTime) -); - -CREATE TABLE Listings ( - ListingId int(11) NOT NULL auto_increment, - ListingTypeId int(11) default '0', - ItemResourceId int(11) default NULL, - PurchasedOn int(11) default NULL, - ExpiresOn int(11) default NULL, - `Status` TINYINT(4) UNSIGNED NOT NULL DEFAULT '2', - PendingRenewal tinyint(4) NOT NULL default '0', - RenewalReminderSent tinyint(4) NOT NULL default '0', - PRIMARY KEY (ListingId), - KEY ListingTypeId (ListingTypeId), - KEY ItemResourceId (ItemResourceId), - KEY PurchasedOn (PurchasedOn), - KEY ExpiresOn (ExpiresOn), - KEY Status (Status), - KEY RenewalReminderSent (RenewalReminderSent) -); - -CREATE TABLE ListingTypes ( - ListingTypeId int(11) NOT NULL AUTO_INCREMENT, - `Name` varchar(255) NOT NULL DEFAULT '', - Description text, - Duration int(11) NOT NULL DEFAULT '0', - DurationType int(11) NOT NULL DEFAULT '0', - OnPurchaseEdPick tinyint(4) NOT NULL DEFAULT '3', - OnPurchaseNew tinyint(4) NOT NULL DEFAULT '3', - OnPurchasePop tinyint(4) NOT NULL DEFAULT '3', - OnPurchaseHot tinyint(4) NOT NULL DEFAULT '3', - OnPurchasePriorityAction tinyint(4) NOT NULL DEFAULT '0', - OnPurchasePriorityValue tinyint(4) NOT NULL DEFAULT '1', - OnPurchaseAddToCatEnabled tinyint(4) NOT NULL DEFAULT '0', - OnPurchaseAddToCat int(11) NOT NULL DEFAULT '0', - OnPurchaseCustomTemplate varchar(255) NOT NULL DEFAULT '', - OnPurchaseStatus tinyint(4) NOT NULL DEFAULT '3', - OnExpireEdPick tinyint(4) NOT NULL DEFAULT '3', - OnExpireNew tinyint(4) NOT NULL DEFAULT '3', - OnExpirePop tinyint(4) NOT NULL DEFAULT '3', - OnExpireHot tinyint(4) NOT NULL DEFAULT '3', - OnExpirePriorityAction tinyint(4) NOT NULL DEFAULT '0', - OnExpirePriorityValue tinyint(4) NOT NULL DEFAULT '1', - OnExpireRemoveFromCatEnabled tinyint(4) NOT NULL DEFAULT '0', - OnExpireRemoveFromCat int(11) NOT NULL DEFAULT '0', - OnExpireCustomTemplate varchar(255) NOT NULL DEFAULT '', - OnExpireStatus tinyint(4) NOT NULL DEFAULT '3', - RenewalReminder int(11) NOT NULL DEFAULT '0', - EnableBuying tinyint(4) NOT NULL DEFAULT '0', - ShopCartName varchar(255) DEFAULT NULL, - Price double DEFAULT NULL, - Recurring tinyint(4) NOT NULL DEFAULT '0', - VirtualProductId int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (ListingTypeId), - KEY VirtualProductId (VirtualProductId) -); - -CREATE TABLE LinkCustomData ( - CustomDataId int(11) NOT NULL auto_increment, - ResourceId int(10) unsigned NOT NULL default '0', - KEY ResourceId (ResourceId), - PRIMARY KEY (CustomDataId) -); - -CREATE TABLE LinkVisits ( - VisitId int(11) NOT NULL AUTO_INCREMENT, - ResourceId int(11) DEFAULT NULL, - PortalUserId int(11) NOT NULL DEFAULT '0', - VisitTimestamp int(11) DEFAULT NULL, - PRIMARY KEY (VisitId), - KEY ResourceId (ResourceId), - KEY PortalUserId (PortalUserId), - KEY VisitTimestamp (VisitTimestamp) -); Index: branches/5.0.x/in-link/install/remove_schema.sql =================================================================== diff -u -N --- branches/5.0.x/in-link/install/remove_schema.sql (revision 12746) +++ branches/5.0.x/in-link/install/remove_schema.sql (revision 0) @@ -1,6 +0,0 @@ -DROP TABLE Link; -DROP TABLE LinkValidation; -DROP TABLE Listings; -DROP TABLE ListingTypes; -DROP TABLE LinkCustomData; -DROP TABLE LinkVisits; \ No newline at end of file Index: branches/5.0.x/in-link/install/img/.htaccess =================================================================== diff -u -N --- branches/5.0.x/in-link/install/img/.htaccess (revision 12746) +++ branches/5.0.x/in-link/install/img/.htaccess (revision 0) @@ -1 +0,0 @@ -allow from all \ No newline at end of file Index: branches/5.1.x/in-link/install/img/icon_directory_management.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.0.x/in-link/install/upgrades.php =================================================================== diff -u -N --- branches/5.0.x/in-link/install/upgrades.php (revision 12746) +++ branches/5.0.x/in-link/install/upgrades.php (revision 0) @@ -1,141 +0,0 @@ -_toolkit =& $instance; - } - - /** - * Changes table structure, where multilingual fields of TEXT type are present - * - * @param string $mode when called mode {before, after) - */ - function Upgrade_5_0_0($mode) - { - if ($mode == 'after') { - $root_category = $this->Application->findModule('Name', 'In-Link', 'RootCat'); - - $sql = 'UPDATE ' . $this->Application->getUnitOption('c', 'TableName') . ' - SET UseMenuIconUrl = 1, MenuIconUrl = "in-link/img/menu_links.gif" - WHERE ' . $this->Application->getUnitOption('c', 'IDField') . ' = ' . $root_category; - $this->Conn->Query($sql); - - $this->_updateDetailTemplate('l', 'inlink/detail', 'in-link/designs/detail'); - - // copy link name and description to their multilingual equivalents - $this->_copyToMultilingual(); - } - } - - /** - * Copy link values from normal fields to multilingual - * - */ - function _copyToMultilingual() - { - $fields = Array ('Name', 'Description'); - $primary_language = $this->Application->GetDefaultLanguageId(); - - $set_clause = Array (); - foreach ($fields as $field) { - $set_clause[] = 'l' . $primary_language . '_' . $field . ' = ' . $field; - } - - $sql = 'UPDATE ' . TABLE_PREFIX . 'Link - SET ' . implode(', ', $set_clause); - $this->Conn->Query($sql); - } - - /** - * Replaces deprecated detail template design with new one - * - * @param string $prefix - * @param string $from_template - * @param string $to_template - */ - function _updateDetailTemplate($prefix, $from_template, $to_template) - { - $sql = 'SELECT CustomFieldId - FROM ' . TABLE_PREFIX . 'CustomField - WHERE FieldName = "' . $prefix . '_ItemTemplate"'; - $custom_field_id = $this->Conn->GetOne($sql); - - $ml_formatter =& $this->Application->recallObject('kMultiLanguage'); - /* @var $ml_formatter kMultiLanguage */ - - $field = $ml_formatter->LangFieldName('cust_' . $custom_field_id, true); - - $sql = 'UPDATE ' . TABLE_PREFIX . 'CategoryCustomData - SET ' . $field . ' = "' . $to_template . '" - WHERE ' . $field . ' = "' . $from_template . '"'; - $this->Conn->Query($sql); - } - - /** - * Update to 5.0.1 - * - * @param string $mode when called mode {before, after) - */ - function Upgrade_5_0_1($mode) - { - if ($mode == 'after') { - $this->_updateDetailTemplate('l', 'in-link/designs/detail', 'in-link/links/link_detail'); - - // delete old events - $events_to_delete = Array ( 'LINK.OWNER.MODIFY.PENDING', 'LINK.OWNER.MODIFY' ); - - $sql = 'SELECT EventId FROM ' . TABLE_PREFIX . 'Events - WHERE Event IN ("' . implode('","', $events_to_delete) . '")'; - $event_ids = $this->Conn->GetCol($sql); - - if ($event_ids) { - $sql = 'DELETE FROM ' . TABLE_PREFIX . 'EmailMessage - WHERE EventId IN (' . implode(',', $event_ids) . ')'; - $this->Conn->Query($sql); - - $sql = 'DELETE FROM ' . TABLE_PREFIX . 'Events - WHERE EventId IN (' . implode(',', $event_ids) . ')'; - $this->Conn->Query($sql); - - $sql = 'DELETE FROM ' . TABLE_PREFIX . 'Phrase - WHERE Phrase IN ("la_event_link.owner.modify", "la_event_link.owner.modify.pending")'; - $this->Conn->Query($sql); - } - } - } - - } \ No newline at end of file Index: branches/5.0.x/in-link/install/upgrades.sql =================================================================== diff -u -N --- branches/5.0.x/in-link/install/upgrades.sql (revision 12746) +++ branches/5.0.x/in-link/install/upgrades.sql (revision 0) @@ -1,58 +0,0 @@ -# ===== v 4.3.9 ===== -INSERT INTO Events VALUES (DEFAULT, 'LINK.VALIDATION.RESULTS', NULL, 1, 0, 'In-Link', 'la_event_link.validation.results', 1); - -INSERT INTO ImportScripts VALUES (DEFAULT, 'Links from CSV file [In-Link]', '', 'l', 'In-Link', '', 'CSV', '1'); - -UPDATE CustomField -SET ValueList = '=+||SELECT DestAbbr AS OptionValue, DestName AS OptionName FROM StdDestinations WHERE DestType = 2 AND (DestParentId = 225 OR DestParentId = 38) ORDER BY DestParentId DESC, DestAbbr ASC' -WHERE FieldName = 'LinkState'; - -UPDATE CustomField -SET ValueList = '=+||SELECT DestAbbr AS OptionValue, DestName AS OptionName FROM StdDestinations WHERE DestType = 1 ORDER BY DestAbbr ASC' -WHERE FieldName = 'LinkCountry'; - -# ===== v 5.0.0 ===== -INSERT INTO Counters VALUES (DEFAULT, 'linkhits_count', 'SELECT ROUND(SUM(Hits)) FROM <%PREFIX%>Link', NULL, NULL, '300', '0', '|Link|'); -UPDATE Category SET Template = '/in-link/designs/section' WHERE Template = 'inlink/index'; -UPDATE Category SET CachedTemplate = '/in-link/designs/section' WHERE CachedTemplate = 'inlink/index'; - -UPDATE ConfigurationValues SET VariableValue = '/in-link/designs/section' WHERE VariableName = 'l_CategoryTemplate'; -UPDATE ConfigurationValues SET VariableValue = 'in-link/designs/detail' WHERE VariableName = 'l_ItemTemplate'; - -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:links.view', 11, 1, 1, 0); -INSERT INTO Permissions VALUES (DEFAULT, 'in-link:setting_folder.view', 11, 1, 1, 0); -DELETE FROM Permissions WHERE Permission LIKE 'in-link:inlink_general.%'; - -UPDATE Events SET Description = 'la_event_link.owner.modify' WHERE Description = 'la_event_link.modify.modify'; -UPDATE Events SET Description = 'la_event_link.owner.modify.pending' WHERE Description = 'la_event_link.modify.modify.pending'; - -UPDATE Phrase SET Module = 'In-Link' WHERE ((Phrase LIKE '%Links%' OR Phrase LIKE '%Listing%') AND (Module = 'Core') AND Phrase NOT IN ('la_section_QuickLinks')); - -UPDATE Phrase SET Module = 'In-Link', PhraseType = 1 WHERE ( (Phrase LIKE '%Validation%' OR Phrase LIKE 'la_title_In-Link') AND (Module = 'Core') AND Phrase NOT IN ('la_ValidationEmail', 'la_prompt_validation')); - -# ===== v 5.0.1 ===== -UPDATE ConfigurationValues SET VariableValue = 'in-link/links/link_detail' WHERE VariableName = 'l_ItemTemplate'; - -UPDATE ConfigurationAdmin SET ValueList = 'ReviewText=la_opt_CommentText,CreatedOn=la_opt_CreatedOn' -WHERE VariableName IN ('Link_ReviewsSort', 'Link_ReviewsSort2'); - -UPDATE ConfigurationAdmin SET ValueList = 'ASC=la_common_Ascending,DESC=la_common_Descending' -WHERE VariableName IN ('Link_ReviewsOrder', 'Link_ReviewsOrder2'); - -UPDATE ConfigurationAdmin SET ValueList = 'Name=la_Link_Name,Description=la_Link_Description,Url=la_Link_URL,CreatedOn=la_opt_CreatedOn,Hits=la_Link_Hits,CachedRating=la_opt_Rating,SELECT Prompt AS OptionName, CONCAT("cust_", FieldName) AS OptionValue FROM CustomField WHERE (Type = 4) AND (IsSystem = 0)' -WHERE VariableName IN ('Link_SortField', 'Link_SortField2'); - -UPDATE ConfigurationAdmin -SET ValueList = '1=la_opt_Sec,60=la_opt_Min,3600=la_opt_Hour,86400=la_opt_Day,604800=la_opt_Week,2419200=la_opt_Month,29030400=la_opt_Year' -WHERE VariableName IN ('link_ReviewDelay_Interval', 'link_RatingDelay_Interval'); - -UPDATE CustomField SET FieldLabel = 'la_fld_cust_l_ItemTemplate', Prompt = 'la_fld_cust_l_ItemTemplate' WHERE FieldName = 'l_ItemTemplate'; - -INSERT INTO Events VALUES(DEFAULT, 'LINK.REVIEW.ADD.PENDING', NULL, 1, 0, NULL, 'In-Link', 'la_event_link.review.add.pending', 1); - -UPDATE ConfigurationAdmin SET ValueList = 'style="width: 50px;"' WHERE VariableName IN ('link_ReviewDelay_Value', 'link_RatingDelay_Value'); - -# ===== v 5.0.2-B1 ===== -ALTER TABLE ListingTypes CHANGE Description Description text NULL; -ALTER TABLE LinkValidation CHANGE ValidationTime ValidationTime INT NULL DEFAULT NULL; -ALTER TABLE LinkVisits CHANGE VisitTimestamp VisitTimestamp INT(11) NULL DEFAULT NULL; \ No newline at end of file Index: branches/5.0.x/in-link/constants.php =================================================================== diff -u -N --- branches/5.0.x/in-link/constants.php (revision 12746) +++ branches/5.0.x/in-link/constants.php (revision 0) @@ -1,29 +0,0 @@ -toolkit; - /* @var $toolkit kInstallToolkit */ - } - - $application =& kApplication::Instance(); - $application->Init(); - - if ($application->RecallVar('user_id') != -1) { - die('restricted access!'); - } - - $category =& $toolkit->createModuleCategory('Directory', 'Link Directory', '/in-link/designs/section', 'in-link/img/menu_links.gif'); - - $toolkit->RunSQL('/' . $module_folder . '/install/install_schema.sql'); - $toolkit->RunSQL('/' . $module_folder . '/install/install_data.sql', '{LinkCatId}', $category->GetID()); - $toolkit->ImportLanguage('/' . $module_folder . '/install/english'); - - $toolkit->SetModuleRootCategory($module_folder, $category->GetID()); - - $toolkit->linkCustomFields($module_folder, 'l', 4); // to create Custom Fields for Links - $toolkit->linkCustomFields('KERNEL', 'c', 1); // to create ItemTemplate custom field - $toolkit->setModuleItemTemplate($category, 'l', 'in-link/links/link_detail'); - - $toolkit->finalizeModuleInstall($module_folder, true); \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/import.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/import.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/import.tpl (revision 0) @@ -1,229 +0,0 @@ - - - - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - -
    - " id="_1" checked value="1" /> - - - - " id="" onclick="check_radio('_1');"> -
    - " id="_2" checked value="2" /> - - - - -
    -
    - - - - - - - - - - - -
    - " id="btn_move_up" onclick="move_options_up('', 1)" class="button"> - " id="btn_move_down" onclick="move_options_down('', 1)" class="button">
    -
    -

    :
    - - " value="" /> - - ', '')" class="button">
    -
    - ', ''); select_sort('');" class="button"> -
    - -
    -
    - - - ', 'ImportCategory', null, 'OnSaveSettings');"> -
    - - - - - - - - - - -
    - checked name="" id="_1" value="1" /> - - -
    - checked name="" id="_2" value="2" /> - - - - - -
    -
    -
    - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/export_progress.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/export_progress.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/export_progress.tpl (revision 0) @@ -1,14 +0,0 @@ - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_edit.tpl (revision 0) @@ -1,113 +0,0 @@ - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - - -
    -
    - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_tabs.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_tabs.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_tabs.tpl (revision 0) @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_type_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_type_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_type_edit.tpl (revision 0) @@ -1,307 +0,0 @@ - - - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " value="" /> - - - - ', '', null, 'OnPreSaveListingType');"> - - - - - - - - - - - - - - - - - -
    - " id="" value="" tabindex="" size="5"> - -
    - " id="" value="" tabindex="" size="5"> - -
       - - - - - -
    - - - -
    -
      - - - - - -
    - - - -
    -
      - - - - - -
    - - - -
    -
      - - - - - -
    - - - -
    -
      - - - - - -
    - - - -
    -
      - - - - - -
    - - - -
    -
      - - - - - -
    - - " id="" value="" tabindex="" size="5"> - - - " id="" value="" tabindex="" size="5"> -
    -
      - - - - - -
    - " id="" value="" tabindex="" size="40"> - - " id="" value="" tabindex="" size="40"> -
    -
      - - - - - -
    - " name="" value=""> - " type="checkbox" id="_cb_" name="_cb_" onclick="update_checkbox(this, document.getElementById(''))"> - - - - - - - " name="" value=""> - " type="checkbox" id="_cb_" name="_cb_" onclick="update_checkbox(this, document.getElementById(''))"> - - - - - -
    -
    -
    - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_list.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_list.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/paid_listings/paid_listing_types_list.tpl (revision 0) @@ -1,54 +0,0 @@ - - - - - - - - - - - - -
    - -
    - - -   - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/paid_listings/paid_listings_list.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/paid_listings/paid_listings_list.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/paid_listings/paid_listings_list.tpl (revision 0) @@ -1,75 +0,0 @@ - - - - - - - - - - - - -
    - -
    - - -   - - - - "> - - - - "> - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/link_validation/link_validation_progress.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/link_validation/link_validation_progress.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/link_validation/link_validation_progress.tpl (revision 0) @@ -1,14 +0,0 @@ - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/link_validation/link_validation_list.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/link_validation/link_validation_list.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/link_validation/link_validation_list.tpl (revision 0) @@ -1,134 +0,0 @@ - - - - - - - - - - - -
    - -
    - - - - - - -
    - - - : "> - -
    - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/duplicate_checker.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/duplicate_checker.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/duplicate_checker.tpl (revision 0) @@ -1,73 +0,0 @@ - - - - - - - - - - - - - -
    - -
    - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/import_progress.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/import_progress.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/import_progress.tpl (revision 0) @@ -1,14 +0,0 @@ - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/catalog_tab.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/catalog_tab.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/catalog_tab.tpl (revision 0) @@ -1,55 +0,0 @@ - - - - - a_toolbar.AddButton( - new ToolBarButton( - 'in-link:new_link', - '', - add_item, - true - ) - ); - - - - - - - - - $Catalog.setItemCount('', ''); - - - - - - - - - - $Catalog.setItemCount('', ''); - $Catalog.setCurrentCategory('', ); - $Catalog.saveSearch('', '', ''); - - - - - Grids[''].AddAlternativeGrid('', true); - - Grids[''].SetDependantToolbarButtons( new Array('edit','delete','approve','decline','sep3','cut','copy','move_up','move_down','sep6')); - $Catalog.reflectPasteButton(); - $Catalog.setViewMenu(''); - - Grids[''].DblClick = function() {return false}; - - #separator# - - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/export.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/export.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/export.tpl (revision 0) @@ -1,126 +0,0 @@ - - - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - -
    - " onclick="move_options_up('', 1)" class="button"> - " onclick="move_options_down('', 1)" class="button">
    -
    -

    :
    - - " value="" /> - - ', '')" class="button">
    -
    - ', ''); select_sort('');" class="button"> -
    - -
    -
    - - - - - - - - - - - - - -
    - checked name="" id="_1" value="1" /> - - -
    - error"> *: - " id="" value="" size="2" maxlength="1" />
    - (will look like "Category:Sub-category:Sub-sub-category") - -
    - checked name="" id="_2" value="2" /> - -
    - (the fields will be titled Category1..CategoryN accordingly) -
    -
    -
    - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/category_properties.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/category_properties.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/category_properties.tpl (revision 0) @@ -1,2 +0,0 @@ - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/duplicate_checker/duplicate_link_view.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/duplicate_checker/duplicate_link_view.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/duplicate_checker/duplicate_link_view.tpl (revision 0) @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/relations_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/relations_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/relations_edit.tpl (revision 0) @@ -1,49 +0,0 @@ - - - - - - - - - - -
    - -
    - - - - - - -
    - - - - - - - - - - - - - -
    -
    - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/file_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/file_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/file_edit.tpl (revision 0) @@ -1,41 +0,0 @@ - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - -
    -
    - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_edit.tpl (revision 0) @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - -   -
    -
    - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_custom.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_custom.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_custom.tpl (revision 0) @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_categories.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_categories.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_categories.tpl (revision 0) @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_images.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_images.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_images.tpl (revision 0) @@ -1,107 +0,0 @@ - - - - - - - - - - - - - - - - -
    - -
    - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/images_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/images_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/images_edit.tpl (revision 0) @@ -1,60 +0,0 @@ - - - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - - - - - - - -
    -
    - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_relations.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_relations.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_relations.tpl (revision 0) @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - -"> -"> - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_reviews.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_reviews.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_reviews.tpl (revision 0) @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - - - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/review_edit.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/review_edit.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/review_edit.tpl (revision 0) @@ -1,60 +0,0 @@ - - - - - - - - - - -
    - -
    - - - - -
    - - - - - - - - - - - - - -
    -
    - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/inlink_redirect.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/inlink_redirect.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/inlink_redirect.tpl (revision 0) @@ -1 +0,0 @@ - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/links/links_files.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/links/links_files.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/links/links_files.tpl (revision 0) @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - -
    - -
    - - - - - \ No newline at end of file Index: branches/5.0.x/in-link/admin_templates/user_item_tab.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/user_item_tab.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/user_item_tab.tpl (revision 0) @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - $Catalog.setItemCount('', ''); - $Catalog.setCurrentCategory('', ); - $Catalog.saveSearch('', '', ''); - - - - Grids[''].SetDependantToolbarButtons( new Array('edit','delete')); - $Catalog.setViewMenu(''); - #separator# - - - - - - - - - \ No newline at end of file Index: branches/5.1.x/in-link/admin_templates/img/link_arrow.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_invalid_disabled.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_valid.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_valid_disabled.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_listing_type.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_link.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_links.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_valid_pend.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_link_pending.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_not_validated.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_link_new.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_invalid_pend.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_not_validated_disabled.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_link_disabled.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_invalid.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/itemicons/icon16_not_validated_pend.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_conf_directory.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_links.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_duplicate_checker.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_settings_in-link.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_validate.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/icons/icon24_paid_listings.png =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_restart.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_link_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_merge_links.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_listing_type.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_link.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_listing_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_restart_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_continue_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_continue.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_reset_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_reset_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_listing_type_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_merge_links_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_link_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_merge_links_f3.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_new_listing.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_continue_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_reset.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.1.x/in-link/admin_templates/img/toolbar/tool_validate_restart_f2.gif =================================================================== diff -u -N -r12746 -r13095 Binary files differ Index: branches/5.0.x/in-link/admin_templates/export_finish.tpl =================================================================== diff -u -N --- branches/5.0.x/in-link/admin_templates/export_finish.tpl (revision 12746) +++ branches/5.0.x/in-link/admin_templates/export_finish.tpl (revision 0) @@ -1,43 +0,0 @@ - - - - - - - - - - -
    - -
    - -
    - - - - - - - - - - - -
    - -   - "> -
    -
    - - \ No newline at end of file Index: branches/5.0.x/in-link/units/.htaccess =================================================================== diff -u -N --- branches/5.0.x/in-link/units/.htaccess (revision 12746) +++ branches/5.0.x/in-link/units/.htaccess (revision 0) @@ -1 +0,0 @@ -deny from all \ No newline at end of file Index: branches/5.0.x/in-link/units/link_validation/link_validation_tp.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/link_validation/link_validation_tp.php (revision 12746) +++ branches/5.0.x/in-link/units/link_validation/link_validation_tp.php (revision 0) @@ -1,58 +0,0 @@ -getObject($params); - - $url = $object->GetDBField($params['field']); - if (!preg_match('/^(http|ftp|mailto:)(.*)/U', $url)) { - $url = 'http://' . $url; - } - - return $url; - } - - /** - * Show CachedNavbar of current item primary category - * - * @param Array $params - * @return string - */ - function CategoryName($params) - { - // show category cachednavbar of - $object =& $this->getObject($params); - $category_id = isset($params['cat_id']) ? $params['cat_id'] : $object->GetDBField('CategoryId'); - - $category_path = $this->Application->getCache('category_paths', $category_id); - if ($category_path === false) { - // not chached - if ($category_id > 0) { - - $cached_navbar = preg_replace('/^(Content&\|&|Content)/i', '', $object->GetDBField('CachedNavbar')); - $category_path = trim($this->CategoryName( Array('cat_id' => 0) ).' > '.str_replace('&|&', ' > ', $cached_navbar), ' > '); - } - else { - $category_path = $this->Application->Phrase( $this->Application->ConfigValue('Root_Name') ); - } - $this->Application->setCache('category_paths', $category_id, $category_path); - } - return $category_path; - } - } \ No newline at end of file Index: branches/5.0.x/in-link/units/link_validation/link_validation_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/link_validation/link_validation_config.php (revision 12746) +++ branches/5.0.x/in-link/units/link_validation/link_validation_config.php (revision 0) @@ -1,182 +0,0 @@ - 'link-validation', - 'ItemClass' => Array ('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), - 'ListClass' => Array ('class' => 'kDBList', 'file' => '', 'build_event' => 'OnListBuild'), - 'EventHandlerClass' => Array ('class' => 'LinkValidationEventHandler', 'file' => 'link_validation_eh.php', 'build_event' => 'OnBuild'), - 'TagProcessorClass' => Array ('class' => 'LinkValidationTagProcessor', 'file' => 'link_validation_tp.php', 'build_event' => 'OnBuild'), - - 'AutoLoad' => true, - - 'Hooks' => Array ( - Array ( - 'Mode' => hAFTER, - 'Conditional' => true, - 'HookToPrefix' => 'l', - 'HookToSpecial' => '*', - 'HookToEvent' => Array('OnAfterConfigRead'), - 'DoPrefix' => '', - 'DoSpecial' => '*', - 'DoEvent' => 'OnPrepareLinkEditing', - ), - ), - - 'QueryString' => Array ( - 1 => 'id', - 2 => 'Page', - 3 => 'event', - 4 => 'mode', - ), - - 'RegularEvents' => Array ( - 'link_validation' => Array ('EventName' => 'OnCronValidation', 'RunInterval' => 3600*24, 'Type' => reAFTER), - ), - - 'IDField' => 'LinkValidationId', - - 'TableName' => TABLE_PREFIX.'LinkValidation', - - 'StatusField' => Array ('ValidationStatus', 'LinkStatus'), - - 'TitlePresets' => Array ( - 'link_validation_list' => Array ('prefixes' => Array ('link-validation_List'), 'format' => "!la_tab_LinkValidation!"), - 'link_validation_progress' => Array ('format' => '!la_tab_ValidatingLinks!'), - ), - - 'PermSection' => Array('main' => 'in-link:link_validation'), - - 'Sections' => Array ( - 'in-link:link_validation' => Array ( - 'parent' => 'in-link', - 'icon' => 'in-link:validate', - 'label' => 'la_tab_LinkValidation', - 'url' => Array('t' => 'in-link/link_validation/link_validation_list', 'pass' => 'm'), - 'permissions' => Array('view', 'advanced:continue', 'advanced:restart', 'advanced:validate', 'advanced:reset'), - 'priority' => 3, - 'type' => stTREE, - ), - ), - - 'FilterMenu' => Array ( - 'Groups' => Array( - Array('mode' => 'AND', 'filters' => Array('show_valid', 'show_invalid', 'show_not_validated'), 'type' => WHERE_FILTER), - ), - - 'Filters' => Array ( - 'show_valid' => Array ('label' =>'la_Text_Valid', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_VALID . ' OR %1$s.ValidationStatus IS NULL'), - 'show_invalid' => Array ('label' => 'la_Text_Invalid', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_INVALID . ' OR %1$s.ValidationStatus IS NULL'), - 'show_not_validated' => Array ('label' => 'la_Text_Not_Validated', 'on_sql' => '', 'off_sql' => '%1$s.ValidationStatus != ' . LINK_VALIDATION_NOT_VALIDATED . ' OR %1$s.ValidationStatus IS NOT NULL'), - ) - ), - - 'ListSQLs' => Array ( - '' => ' SELECT %1$s.* %2$s - FROM ' . TABLE_PREFIX . 'Link l - LEFT JOIN %1$s ON %1$s.LinkId = l.LinkId - LEFT JOIN ' . TABLE_PREFIX . 'CategoryItems ci ON ci.ItemResourceId = l.ResourceId - LEFT JOIN '.TABLE_PREFIX.'Category c ON c.CategoryId = ci.CategoryId', - ), - - 'ListSortings' => Array ( - '' => Array ( - 'Sorting' => Array ('LinkValidationId' => 'desc'), - ) - ), - - 'CalculatedFields' => Array ( - '' => Array ( - 'ForeignLinkId' => 'l.LinkId', - 'LinkName' => 'l.Name', - 'LinkUrl' => 'l.Url', - 'LinkCreatedOn' => 'l.CreatedOn', - 'LinkStatus' => 'l.Status', - 'LinkValidationStatus' => 'IF(%1$s.ValidationStatus IS NULL, ' . LINK_VALIDATION_NOT_VALIDATED . ', %1$s.ValidationStatus)', - - 'CategoryId' => 'ci.CategoryId', - ), - ), - - 'Fields' => Array ( - 'LinkValidationId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'LinkId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'ValidationTime' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => NULL), - 'ValidationCode' => Array ( - 'type' => 'string', - 'formatter' => 'kOptionsFormatter', 'options' => Array (200 => '200 OK', 301 => '301 Moved Permanently', 302 => '302 Found', 400 => '400 Bad Request', 403 => '403 Forbidden', 404 => '404 Not Found', 500 => '500 Internal Server Error'), - 'max_len' => 50, 'default' => NULL - ), - 'ValidationStatus' => Array ( - 'type' => 'int', - 'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Text_Not_Validated', 1 => 'la_Text_Valid', 2 => 'la_Text_Invalid'), 'use_phrases' => 1, - 'not_null' => 1, 'default' => 0 - ), - ), - - 'VirtualFields' => Array ( - 'ForeignLinkId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'LinkName' => Array('type' => 'string', /*'formatter' => 'kMultiLanguage',*/ 'not_null' => 1, 'max_len' => 255, 'default' => ''), - 'LinkUrl' => Array ('type' => 'string', 'not_null' => 1, 'default' => ''), - 'LinkCreatedOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'), - 'LinkStatus' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2), - 'LinkValidationStatus' => Array ( - 'type' => 'int', - 'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_Text_Not_Validated', 1 => 'la_Text_Valid', 2 => 'la_Text_Invalid'), 'use_phrases' => 1, - 'not_null' => 1, 'default' => 0 - ), - - // for category path drawing - 'CategoryId' => Array ('type' => 'int', 'default' => 0), - 'CachedNavbar' => Array ('type' => 'string', 'default' => ''), - ), - - 'Grids' => Array ( - 'Default' => Array ( - 'Icons' => Array ( - 'default' => 'icon16_link.png', - // for valid links - LINK_VALIDATION_VALID . '_' . STATUS_DISABLED => 'icon16_valid_disabled.gif', - LINK_VALIDATION_VALID . '_' . STATUS_ACTIVE => 'icon16_valid.gif', - LINK_VALIDATION_VALID . '_' . STATUS_PENDING => 'icon16_valid_pend.gif', - - // for invalid links - LINK_VALIDATION_INVALID . '_' . STATUS_DISABLED => 'icon16_invalid_disabled.gif', - LINK_VALIDATION_INVALID . '_' . STATUS_ACTIVE => 'icon16_invalid.gif', - LINK_VALIDATION_INVALID . '_' . STATUS_PENDING => 'icon16_invalid_pend.gif', - - // for not validated links - LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_DISABLED => 'icon16_not_validated_disabled.gif', - LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_ACTIVE => 'icon16_not_validated.gif', - LINK_VALIDATION_NOT_VALIDATED . '_' . STATUS_PENDING => 'icon16_not_validated_pend.gif', - - '_' . STATUS_DISABLED => 'icon16_not_validated_disabled.gif', - '_' . STATUS_ACTIVE => 'icon16_not_validated.gif', - '_' . STATUS_PENDING => 'icon16_not_validated_pend.gif', - ), - - 'Fields' => Array ( - 'ForeignLinkId' => Array ('title' => 'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'module' => 'In-Link', 'width' => 60, ), - 'LinkName' => Array ('title' => 'la_col_LinkName', 'data_block' => 'grid_link_name_td', 'filter_block' => 'grid_like_filter', 'first_chars' => 30, 'width' => 180, ), - 'LinkUrl' => Array ('title' => 'la_col_LinkUrl', 'data_block' => 'grid_url_td', 'filter_block' => 'grid_like_filter', 'width' => 200, ), - 'LinkValidationStatus' => Array ('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 87, ), - 'ValidationCode' => Array ('title' => 'la_col_ValidationCode', 'filter_block' => 'grid_options_filter', 'width' => 155, ), - 'ValidationTime' => Array ('title' => 'la_col_ValidatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ), - 'LinkCreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ), - ), - ), - ), - ); \ No newline at end of file Index: branches/5.0.x/in-link/units/link_validation/link_validation_eh.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/link_validation/link_validation_eh.php (revision 12746) +++ branches/5.0.x/in-link/units/link_validation/link_validation_eh.php (revision 0) @@ -1,544 +0,0 @@ - Array ('self' => 'advanced:reset',), - 'OnRestartValidation' => Array ('self' => 'advanced:restart',), - 'OnContinueValidation' => Array ('self' => 'advanced:continue',), - 'OnValidateSelected' => Array ('self' => 'advanced:validate',), - 'OnValidateProgress' => Array ('self' => 'advanced:validate|advanced:continue|advanced:restart|advanced:reset',), - 'OnCancelValidation' => Array ('self' => 'advanced:validate|advanced:continue|advanced:restart|advanced:reset',), - 'OnCronValidation' => Array ('self' => 'advanced:validate|advanced:continue|advanced:restart|advanced:reset',), - ); - - $this->permMapping = array_merge($this->permMapping, $permissions); - } - - function mapEvents() - { - parent::mapEvents(); - - $events_map = Array ( - 'OnApproveLinks' => 'iterateItems', - 'OnDeclineLinks' => 'iterateItems', - ); - - $this->eventMethods = array_merge($this->eventMethods, $events_map); - } - - /** - * Checks permissions of user - * - * @param kEvent $event - */ - function CheckPermission(&$event) - { - $check_events = Array ('OnApproveLinks', 'OnDeclineLinks', 'OnDeleteLinks'); - if (in_array($event->Name, $check_events)) { - $ids = $this->_getSelectedIds($event); - - $perm_value = true; - if ($ids) { - $perm_helper =& $this->Application->recallObject('PermissionsHelper'); - /* @var $perm_helper kPermissionsHelper */ - - $items = $perm_helper->GetCategoryItemData('l', $ids); - $check_method = $event->Name == 'OnDeleteLinks' ? 'DeleteCheckPermission' : 'ModifyCheckPermission'; - foreach ($items as $item_id => $item_data) { - if ($perm_helper->$check_method($item_data['CreatedById'], $item_data['CategoryId'], 'l') == 0) { - // one of items selected has no permission - $perm_value = false; - break; - } - } - - if (!$perm_value) { - $event->status = erPERM_FAIL; - } - } - - return $perm_value; - } - - return parent::CheckPermission($event); - } - - /** - * Adds calculates fields for category name - * - * @param kDBItem $object - * @param kEvent $event - */ - function prepareObject(&$object, &$event) - { - parent::prepareObject($object, $event); - - $object->addCalculatedField('CachedNavbar', 'c.l'.$this->Application->GetVar('m_lang').'_CachedNavbar'); - } - - /** - * Allows to show only invalid links - * - * @param kEvent $event - */ - function SetCustomQuery(&$event) - { - $object =& $event->getObject(); - /* @var $object kDBList */ - - $object->addFilter('primary_category_filter', 'ci.PrimaryCat = 1'); - - if ($event->Special == 'invalid') { - $object->addFilter('status_filter', '%1$s.ValidationStatus = ' . LINK_VALIDATION_INVALID); - } - } - - /** - * Restarts link validation process - * - * @param kEvent $event - */ - function OnRestartValidation(&$event) - { - $this->_resetValidation($event); - - $this->OnContinueValidation($event); - } - - /** - * Restarts link validation process - * - * @param kEvent $event - */ - function _resetValidation(&$event) - { - // 1. delete previous validation results - $sql = 'SELECT ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' - FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName'); - $ids = $this->Conn->GetCol($sql); - - if ($ids) { - $temp_handler =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - /* @var $temp_handler kTempTablesHandler */ - - $temp_handler->DeleteItems($event->Prefix, $event->Special, $ids); - } - } - - /** - * Validates only selected links - * - * @param kEvent $event - */ - function OnValidateSelected(&$event) - { - $link_ids = $this->_getSelectedIds($event); - if (!$link_ids) { - return ; - } - - $validation_data = Array ( - 'processed' => 0, - 'total' => count($link_ids), - 'items' => $link_ids, - ); - $this->Application->StoreVar($event->Prefix . '_status', serialize($validation_data)); - - $event->redirect = $this->Application->GetVar('progress_template'); - } - - /** - * Validates only links, that were not previously validated - * - * @param kEvent $event - */ - function OnContinueValidation(&$event) - { - $have_data = $this->_prepareValidation($event); - if ($have_data) { - $event->redirect = $this->Application->GetVar('progress_template'); - } - } - - /** - * Performs validation - * - * @param kEvent $event - * @param bool $from_ajax - */ - function _validate(&$event, $from_ajax = true) - { - $validation_data = unserialize( $this->Application->RecallVar($event->Prefix . '_status') ); - - $i = 0; - $link_ids = $validation_data['items']; - $per_page = count($link_ids) >= LINK_VALIDATION_PER_PAGE ? LINK_VALIDATION_PER_PAGE : count($link_ids); - - while ($i < $per_page) { - $this->_validateLink($link_ids[$i]); - $i++; - } - - // remove processed links from array - array_splice($link_ids, 0, LINK_VALIDATION_PER_PAGE); - - // store validation progress - $validation_data['processed'] += $i; - $validation_data['items'] = $link_ids; - - if ($validation_data['processed'] >= $validation_data['total']) { - // finished - $this->Application->EmailEventAdmin('LINK.VALIDATION.RESULTS'); - - $this->Application->RemoveVar($event->Prefix . '_status'); - return true; - } - - // show progress, proceed to next step - $this->Application->StoreVar($event->Prefix . '_status', serialize($validation_data)); - - if ($from_ajax) { - echo $validation_data['processed'] / $validation_data['total'] * 100; - $event->status = erSTOP; - } - - return false; - } - - /** - * Performs validation of links (called from AjaxProgressBar) - * - * @param kEvent $event - */ - function OnValidateProgress(&$event) - { - $done = $this->_validate($event, true); - - if ($done) { - $this->Application->Redirect( $this->Application->GetVar('finish_template') ); - } - } - - /** - * Returns categories, that are located inside recycle bin category - * - * @return Array - */ - function _getRecycleBinCategories() - { - $recycle_bin = $this->Application->ConfigValue('RecycleBinFolder'); - if (!is_numeric($recycle_bin)) { - return Array (); - } - - $recycle_categories = $this->Application->RecallVar('recycle_categories'); - if ($recycle_categories === false) { - $tree_indexes = $this->Application->getTreeIndex($recycle_bin); - - $sql = 'SELECT ' . $this->Application->getUnitOption('c', 'IDField') . ' - FROM ' . $this->Application->getUnitOption('c', 'TableName') . ' - WHERE TreeLeft BETWEEN ' . $tree_indexes['TreeLeft'] . ' AND ' . $tree_indexes['TreeRight']; - $recycle_categories = serialize( $this->Conn->GetCol($sql) ); - - // store recycle bin categories in session to prevent query below happening on each link validation step - $this->Application->StoreVar('recycle_categories', $recycle_categories); - } - - return unserialize($recycle_categories); - - } - - /** - * Checks, that link is located in one of RecycleBin subcategories - * - * @param unknown_type $resource_id - * @return unknown - */ - function _inRecycleBin($resource_id) - { - static $recycle_bin = null; - - if (!isset($recycle_bin)) { - $recycle_bin = $this->_getRecycleBinCategories(); - } - - if (!$recycle_bin) { - // Recycle Bin not used in system -> link is 100% not there - return false; - } - - $sql = 'SELECT CategoryId - FROM ' . $this->Application->getUnitOption('l-ci', 'TableName') . ' - WHERE ItemResourceId = ' . $resource_id . ' AND PrimaryCat = 1'; - - return in_array( $this->Conn->GetOne($sql), $recycle_bin); - } - - function _validateLink($link_id) - { - $curl_helper =& $this->Application->recallObject('CurlHelper'); - /* @var $curl_helper kCurlHelper */ - - $sql = 'SELECT Url, ResourceId - FROM ' . $this->Application->getUnitOption('l', 'TableName') . ' - WHERE ' . $this->Application->getUnitOption('l', 'IDField') . ' = ' . $link_id; - $link_data = $this->Conn->GetRow($sql); - - if (!preg_match('/^(http|https):\/\/(.*)/U', $link_data['Url']) || $this->_inRecycleBin($link_data['ResourceId'])) { - return ; - } - - $curl_helper->timeout = LINK_VALIDATION_TIMEOUT; - - $result = $curl_helper->Send($link_data['Url']); - if ($result === false || $curl_helper->lastErrorMsg != '') { - $curl_helper->lastErrorCode = 500; - } - - $link_validation =& $this->Application->recallObject($this->Prefix . '.-item', null, Array ('skip_autoload' => true)); - /* @var $link_validation kDBItem */ - - $link_validation->Load($link_id, 'LinkId'); - - $now = adodb_mktime(); - - $fields_hash = Array ( - 'LinkId' => $link_id, - 'ValidationTime_date' => $now, - 'ValidationTime_time' => $now, - 'ValidationCode' => $curl_helper->lastHTTPCode, - 'ValidationStatus' => $curl_helper->lastHTTPCode < 400 ? LINK_VALIDATION_VALID : LINK_VALIDATION_INVALID, - ); - $link_validation->SetDBFieldsFromHash($fields_hash); - - return $link_validation->isLoaded() ? $link_validation->Update() : $link_validation->Create(); - } - - /** - * Cancels validation (from validation progress bar) - * - * @param kEvent $event - */ - function OnCancelValidation(&$event) - { - $this->Application->RemoveVar($event->Prefix . '_status'); - } - - /** - * Resets validation status for selected - * - * @param kEvent $event - */ - function OnResetValidationStatus(&$event) - { - $ids = $this->_getSelectedIds($event, true); - if (!$ids) { - return ; - } - - $temp_handler =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - /* @var $temp_handler kTempTablesHandler */ - - $temp_handler->DeleteItems($event->Prefix, $event->Special, $ids); - } - - /** - * Returns ids, that user has checked in grid - * - * @param kEvent $event - * @param bool $transform convert link ids to link validation ids - * @return Array - */ - function _getSelectedIds(&$event, $transform = false) - { - $ids = Array(); - - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - if ($items_info) { - foreach ($items_info as $id => $field_values) { - if ( getArrayValue($field_values, 'ForeignLinkId') ) { - // we are not gathering ids by unit idfield here! - array_push($ids, $id); - } - } - } - - if ($transform && $ids) { - $sql = 'SELECT ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' - FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' - WHERE LinkId IN (' . implode(',', $ids) . ')'; - $ids = $this->Conn->GetCol($sql); - } - - return $ids; - } - - /** - * Approves/declines selected links - * - * @param kEvent $event - */ - function iterateItems(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $ids = $this->_getSelectedIds($event); - if (!$ids) { - return ; - } - - $object =& $this->Application->recallObject('l.-item', null, Array ('skip_autoload' => true)); - /* @var $object kCatDBItem */ - - foreach ($ids as $id) { - $object->Load($id); - - switch ($event->Name) { - case 'OnApproveLinks': - $ret = $object->ApproveChanges(); - break; - - case 'OnDeclineLinks': - $ret = $object->DeclineChanges(); - break; - } - - if (!$ret) { - $event->status = erFAIL; - $event->redirect = false; - break; - } - } - } - - /** - * Deletes selected links - * - * @param kEvent $event - */ - function OnDeleteLinks(&$event) - { - if ($this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { - return; - } - - $ids = $this->_getSelectedIds($event); - if (!$ids) { - return ; - } - - $temp_handler =& $this->Application->recallObject('l_TempHandler', 'kTempTablesHandler'); - /* @var $temp_handler kTempTablesHandler */ - - $temp_handler->DeleteItems('l', '', $ids); - } - - /** - * [HOOK] Allows to edit links, used in selected link validation records - * - * @param kEvent $event - */ - function OnPrepareLinkEditing(&$event) - { - // hook to OnAfterConfigRead instead of OnEdit, because fake ids should be available in CheckPermission - if ($this->Application->GetVar('l_event') != 'OnEdit') { - return ; - } - - $ids = $this->_getSelectedIds($event); - $id_field = $this->Application->getUnitOption('l', 'IDField'); - - $items_info = Array (); - foreach ($ids as $id) { - $items_info[$id][$id_field] = 'on'; - } - - $this->Application->SetVar('l', $items_info); - } - - /** - * Gets all links, that are not yet validated and prepare data - * - * @param kEvent $event - * - * @return bool - */ - function _prepareValidation(&$event) - { - // 2. get ids of all links and put them into validation queue - $id_field = $this->Application->getUnitOption('l', 'IDField'); - $sql = 'SELECT ' . $id_field . ' - FROM ' . $this->Application->getUnitOption('l', 'TableName') . ' - WHERE LinkId NOT IN (SELECT LinkId FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ')'; - $link_ids = $this->Conn->GetCol($sql); - - if ($link_ids) { - $validation_data = Array ( - 'processed' => 0, - 'total' => count($link_ids), - 'items' => $link_ids, - ); - $this->Application->StoreVar($event->Prefix . '_status', serialize($validation_data)); // 4K links will be 78KB serialized - return true; - } - - return false; - } - - /** - * [REGULAR EVENT] Performs link validation throught cron - * - * @param kEvent $event - */ - function OnCronValidation(&$event) - { - $this->_resetValidation($event); // remove this for continuing to non validated before links - - $have_data = $this->_prepareValidation($event); - if ($have_data) { - do { - $done = $this->_validate($event, false); - } while (!$done); - } - } - - /** - * Makes calcualated fields to go to multilingual link fields - * - * @param kEvent $event - */ - function OnAfterConfigRead(&$event) - { - parent::OnAfterConfigRead($event); - - $calculated_fields = $this->Application->getUnitOption($event->Prefix, 'CalculatedFields'); - $calculated_fields['']['LinkName'] = 'l.l' . $this->Application->GetVar('m_lang') . '_Name'; - $this->Application->setUnitOption($event->Prefix, 'CalculatedFields', $calculated_fields); - } - - } \ No newline at end of file Index: branches/5.0.x/in-link/units/listing_types/listing_types_tag_processor.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listing_types/listing_types_tag_processor.php (revision 12746) +++ branches/5.0.x/in-link/units/listing_types/listing_types_tag_processor.php (revision 0) @@ -1,46 +0,0 @@ -getObject($params); - $params['cat_id'] = $object->GetDBField($params['field']); - - return $this->Application->ProcessParsedTag('c', 'CategoryPath', $params); - } - - /** - * Makes 1st listing type default - * - * @param Array $params - * @return bool - */ - function IsDefault($params) - { - static $listing_type_id = null; - - $object =& $this->getObject(); - /* @var $object kDBItem */ - - if (!isset($listing_type_id)) { - $listing_type_id = $object->GetID(); - } - - return $listing_type_id == $object->GetID(); - } - } \ No newline at end of file Index: branches/5.0.x/in-link/units/listing_types/listing_types_event_handler.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listing_types/listing_types_event_handler.php (revision 12746) +++ branches/5.0.x/in-link/units/listing_types/listing_types_event_handler.php (revision 0) @@ -1,84 +0,0 @@ - Array('self' => true), - ); - - $this->permMapping = array_merge($this->permMapping, $permissions); - } - - /** - * Set's selected category to listing type - * - * @param kEvent $event - */ - function OnProcessSelected(&$event) - { - $object =& $event->getObject(); - $selected_ids = $this->Application->GetVar('selected_ids'); - - $object->SetDBField($this->Application->RecallVar('dst_field'), $selected_ids['c']); - $this->RemoveRequiredFields($object); - $object->Update(); - - $this->finalizePopup($event); - } - - - function OnPreSaveListingType(&$event) - { - $event->redirect = false; - $object =& $event->getObject( Array('skip_autoload' => true) ); - $this->RemoveRequiredFields($object); - $event->CallSubEvent('OnPreSave'); - $this->Application->SetVar($event->getPrefixSpecial(true).'_id', $object->GetID()); - } - - function OnPreSave(&$event) - { - $object =& $event->getObject(); - $item_info = $this->Application->GetVar($event->Prefix); - if(is_array($item_info)) - { - $item_info = array_shift($item_info); - if( getArrayValue($item_info, 'EnableBuying') ) - { - $options = $object->GetFieldOptions('ShopCartName'); - $options['required'] = 1; - $object->SetFieldOptions('ShopCartName', $options); - } - } - parent::OnPreSave($event); - } - - function OnEdit(&$event) - { - if ($this->Application->prefixRegistred('p')) { - $this->Application->recallObject('p', null, Array('skip_autoload' => true)); - } - parent::OnEdit($event); - } - } \ No newline at end of file Index: branches/5.0.x/in-link/units/listing_types/listing_types_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listing_types/listing_types_config.php (revision 12746) +++ branches/5.0.x/in-link/units/listing_types/listing_types_config.php (revision 0) @@ -1,152 +0,0 @@ - 'lst', - 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), - 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'ListingTypesEventHandler','file'=>'listing_types_event_handler.php','build_event'=>'OnBuild'), - 'TagProcessorClass' => Array('class'=>'ListingTypesTagProcessor','file'=>'listing_types_tag_processor.php','build_event'=>'OnBuild'), - 'AutoLoad' => true, - 'AggregateTags' => Array( - Array( - 'AggregateTo' => 'l', - 'AggregatedTagName' => 'ListListingTypes', - 'LocalTagName' => 'PrintList', - ), - Array( - 'AggregateTo' => 'l', - 'AggregatedTagName' => 'ListingTypeField', - 'LocalTagName' => 'Field', - ), - ), - 'Hooks' => Array(), - 'QueryString' => Array( - 1 => 'id', - 2 => 'page', - 3 => 'event', - 4 => 'mode', - ), - 'IDField' => 'ListingTypeId', - 'TitleField' => 'Name', - 'TitlePresets' => Array( - 'default' => Array( 'new_status_labels' => Array('lst'=>'!la_title_AddingPaidListingType!'), - 'edit_status_labels' => Array('lst'=>'!la_title_EditingPaidListingType!'), - 'new_titlefield' => Array('lst'=>'!la_title_NewPaidListingType!'), - ), - 'listing_type_list'=>Array( 'prefixes' => Array('lst_List'), - 'format' => "!la_title_PaidListingTypes!", - ), - 'listing_type_edit'=>Array( 'prefixes' => Array('lst'), - 'new_titlefield' => Array('lst'=>'!la_title_NewPaidListingType!'), - 'format' => "#lst_status# '#lst_titlefield#' - !la_title_General!", - ), - 'listing_type_shop_cart'=>Array( 'prefixes' => Array('lst'), - 'new_titlefield' => Array('lst'=>'!la_title_NewPaidListingType!'), - 'format' => "#lst_status# '#lst_titlefield#' - !la_title_ShopCartEntry!", - ), - - - ), - - 'EditTabPresets' => Array ( - 'Default' => Array ( - 'general' => Array ('title' => 'la_tab_General', 't' => 'in-link/paid_listings/paid_listing_type_edit', 'priority' => 1), - ), - ), - - 'PermSection' => Array('main' => 'in-link:listing_types'), - - 'Sections' => Array( - 'in-link:listing_types' => Array( - 'parent' => 'in-link:paid_listings_folder', - 'icon' => 'paid_listings', - 'label' => 'la_tab_ListingTypes', - 'url' => Array('t' => 'in-link/paid_listings/paid_listing_types_list', 'pass' => 'm'), - 'permissions' => Array('view', 'add', 'edit', 'delete'), - 'priority' => 1.2, // ., because this section replaces parent in tree - 'type' => stTAB, - ), - ), - - 'TableName' => TABLE_PREFIX.'ListingTypes', - - 'ListSQLs' => Array( ''=>'SELECT * FROM %s',), // key - special, value - list select sql - - 'ItemSQLs' => Array( ''=>'SELECT * FROM %s',), - - 'ListSortings' => Array( - '' => Array( - 'Sorting' => Array('ListingTypeId' => 'asc'), - ) - ), - - 'Fields' => Array - ( - 'ListingTypeId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0,), - 'Name' => Array('type' => 'string','not_null' => '1','default' => '','required' => '1'), - 'Description' => Array('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => NULL), - 'Duration' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), - 'DurationType' => Array('type' => 'int', 'not_null' => 1, 'default' => 0, 'formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(1 => 'la_opt_sec', 2 => 'la_opt_min', 3 => 'la_opt_hour', 4 => 'la_opt_day', 5 => 'la_opt_week', 6 => 'la_opt_month', 7 => 'la_opt_year')), - 'OnPurchaseEdPick' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off'), 'default' => 3), - - 'OnPurchaseStatus' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_Enabled', 0 => 'la_Disabled', 2 => 'la_Pending'),'default' => 3), - - 'OnPurchaseNew' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnPurchasePop' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnPurchaseHot' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnPurchasePriorityAction' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(0 => 'la_DontChange', 1 => 'la_SetEqualTo', 2 => 'la_IncreaseBy', 3 => 'la_DecreaseBy'),'default' => 0), - 'OnPurchasePriorityValue' => Array('type' => 'int','not_null' => '1','default' => 1), - 'OnPurchaseAddToCatEnabled' => Array('type' => 'int','not_null' => '1','default' => 0), - 'OnPurchaseAddToCat' => Array('type' => 'int','not_null' => '1','default' => 0), - 'OnPurchaseCustomTemplate' => Array('type' => 'string','not_null' => 1,'default' => ''), - - 'OnExpireEdPick' => Array('type' => 'int','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off'),'not_null' => '1','default' => 3), - 'OnExpireNew' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnExpirePop' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnExpireHot' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_On', 0 => 'la_Off', 2 => 'la_Auto'),'default' => 3), - 'OnExpirePriorityAction' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(0 => 'la_DontChange', 1 => 'la_SetEqualTo', 2 => 'la_IncreaseBy', 3 => 'la_DecreaseBy'),'default' => 0), - 'OnExpirePriorityValue' => Array('type' => 'int','not_null' => '1','default' => 1), - 'OnExpireRemoveFromCatEnabled' => Array('type' => 'int','not_null' => '1','default' => 0), - 'OnExpireRemoveFromCat' => Array('type' => 'int','not_null' => '1','default' => 0), - 'OnExpireCustomTemplate' => Array('type' => 'string','not_null' => 1,'default' => ''), - - 'OnExpireStatus' => Array('type' => 'int','not_null' => '1','formatter'=>'kOptionsFormatter','use_phrases' => 1,'options' => Array(3 => 'la_Unchanged', 1 => 'la_Enabled', 0 => 'la_Disabled', 2 => 'la_Pending'),'default' => 3), - 'RenewalReminder' => Array('type' => 'int','not_null' => '1','default' => 0), - 'EnableBuying' => Array('type' => 'int','not_null' => '1','default' => 0), - 'ShopCartName' => Array('type' => 'string', 'default' => null), - 'Price' => Array('type' => 'double','default' => ''), - 'Recurring' => Array('type' => 'int','not_null' => '1','default' => 0), - 'VirtualProductId' => Array('type' => 'int','not_null' => '1','default' => 0), - ), - - 'Grids' => Array( - 'Default' => Array( - 'Icons' => Array( - 'default' => 'icon16_item.png', - 0 => 'icon16_disbaled.png', - 1 => 'icon16_item.png', - 'module' => 'core', - ), - 'Fields' => Array( - 'ListingTypeId' => Array( 'title'=>'la_col_Id' , 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60), - 'Name' => Array( 'title'=>'la_col_Name', 'filter_block' => 'grid_like_filter', 'width' => 250), - 'Duration' => Array( 'title'=>'la_col_Duration' , 'data_block' => 'duration_td', 'filter_block' => 'grid_like_filter', 'width' => 100), - ), - - ), - ), - ); \ No newline at end of file Index: branches/5.0.x/in-link/units/listings/listings_event_handler.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listings/listings_event_handler.php (revision 12746) +++ branches/5.0.x/in-link/units/listings/listings_event_handler.php (revision 0) @@ -1,770 +0,0 @@ - Array ('self' => true), - 'OnCancelEnhancement' => Array ('self' => true), - 'OnExtendEnhancement' => Array ('self' => true), - - ); - $this->permMapping = array_merge($this->permMapping, $permissions); - } - - /** - * Adds selected link to listing - * - * @param kEvent $event - */ - function OnProcessSelected(&$event) - { - $object =& $event->getObject(); - - $selected_ids = $this->Application->GetVar('selected_ids'); - if ($selected_ids['l']) { - $link_id = $selected_ids['l']; - $sql = 'SELECT ResourceId - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE '.$this->Application->getUnitOption('l', 'IDField').' = '.$link_id; - - $object->SetDBField($this->Application->RecallVar('dst_field'), $this->Conn->GetOne($sql)); - $object->IgnoreValidation = true; - // $this->RemoveRequiredFields($object); - $object->Update(); - } - - $this->finalizePopup($event); - } - - function OnPreSaveListing(&$event) - { - $event->redirect=false; - $object =& $event->getObject( Array('skip_autoload' => true) ); - $object->IgnoreValidation = true; - // $this->RemoveRequiredFields($object); - $event->CallSubEvent('OnPreSave'); - $this->Application->SetVar($event->getPrefixSpecial(true).'_id', $object->GetId()); - return; - } - - function OnBeforeItemUpdate(&$event) - { - $object =& $event->getObject(); - if ($object->IgnoreValidation) { - $object->UpdateFormattersMasterFields(); - } - } - - function OnBeforeItemCreate(&$event) - { - $object =& $event->getObject(); - if ($object->IgnoreValidation) { - $object->UpdateFormattersMasterFields(); - } - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function OnBeforeDeleteFromLive(&$event) - { - $object =& $event->getObject(); - $sql = 'SELECT * FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - WHERE ListingId = '.$object->GetId(); - $original_values = $this->Conn->GetRow($sql); - - $type_modified = ($object->GetDBField('ListingTypeId') != $original_values['ListingTypeId']); - $link_modified = ($object->GetDBField('ItemResourceId') != $original_values['ItemResourceId']); - $status_modified = ($object->GetDBField('Status') != $original_values['Status']); - - if ($status_modified) { - $email_event = $object->GetDBField('Status') ? 'LINK.ENHANCE.APPROVE' : 'LINK.ENHANCE.DENY'; - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - - $email_event_user =& $this->Application->EmailEventUser($email_event, $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin($email_event); - } - - if ( $type_modified || $link_modified ) { - $this->ResetLink($original_values); - } - - if ( $status_modified || $type_modified || $link_modified ) { - $this->EnhanceLink($object, $original_values); - } - - if ( $status_modified && !($type_modified || $link_modified) ) { - $this->ResetLink($original_values); - } - } - - function EnhanceLink(&$object, $original_values) - { - if ($object->GetDBField('Status') != STATUS_ACTIVE) { - return false; - } - - if ($object->GetDBField('ExpiresOn') < adodb_mktime()) { - $object->SetDBField('Status', STATUS_PENDING); - $object->Update(); - $this->ResetLink($original_values); - return false; - } - - $this->UpdateLink('OnPurchase', $object->GetDBField('ItemResourceId'), $object->GetDBField('ListingTypeId')); - - $listtype_object =& $this->Application->recallObject('lst'); - if ( $listtype_object->GetDBField('OnPurchaseAddToCatEnabled') ) - { - $link_object =& $this->Application->recallObject('l'); - $add_to_cat = (int)$listtype_object->GetDBField('OnPurchaseAddToCat'); - $sql = 'DELETE FROM '.$this->Application->getUnitOption('l-ci', 'TableName').' - WHERE CategoryId = '.$add_to_cat.' - AND ItemResourceId = '.$link_object->GetDBField('ResourceId').' - AND PrimaryCat = 0'; - $this->Conn->Query($sql); - $sql = 'INSERT INTO '.$this->Application->getUnitOption('l-ci', 'TableName').' - (CategoryId, ItemResourceId, PrimaryCat) - VALUES ('.$add_to_cat.', '.$link_object->GetDBField('ResourceId').', 0)'; - $this->Conn->Query($sql); - } - } - - function ResetLink($original_values) - { - static $has_been_reset = Array(); - - if( $original_values['Status'] != STATUS_ACTIVE || - getArrayValue($has_been_reset, $original_values['ListingId']) ) - { - return; - } - - $has_been_reset[$original_values['ListingId']] = 1; - - $this->UpdateLink('OnExpire', $original_values['ItemResourceId'], $original_values['ListingTypeId']); - - $listtype_object =& $this->Application->recallObject('lst'); - if( $listtype_object->GetDBField('OnExpireRemoveFromCatEnabled') ) - { - $remove_from_cat = $listtype_object->GetDBField('OnExpireRemoveFromCat'); - $sql = 'DELETE FROM '.$this->Application->getUnitOption('l-ci', 'TableName').' - WHERE ItemResourceId = '.$original_values['ItemResourceId'].' - AND CategoryId = '.$remove_from_cat.' - AND PrimaryCat = 0'; - $this->Conn->Query($sql); - } - } - - function UpdateLink($action_prefix, $resource_id, $listtype_id) - { - - $link_object =& $this->Application->recallObject('l', null, Array('skip_autoload' => true)); - $link_object->Load($resource_id, 'ResourceId'); - - // "-item", because can be called as regular after event, and just "lst" recalls list instead - $listtype_object =& $this->Application->recallObject('lst.-item', null, Array('skip_autoload' => true)); - $listtype_object->Load($listtype_id); - - $action_fields = Array( 'EdPick' => 'EditorsPick', - 'New' => 'NewItem', - 'Hot' => 'HotItem', - 'Pop' => 'PopItem', - 'Status' => 'Status', - 'CustomTemplate' => 'CustomTemplate', - ); - // $action_prefix = 'OnPurchase'; - - foreach($action_fields as $action => $field) - { - $action_value = $listtype_object->GetDBField($action_prefix.$action); - if( $action_value != 3 ) - { - $link_object->SetDBField($field, $action_value); - } - } - - $priority_value = $listtype_object->GetDBField($action_prefix.'PriorityValue'); - switch( $listtype_object->GetDBField($action_prefix.'PriorityAction') ) - { - case 1: // equal - $link_object->SetDBField('Priority', $priority_value); - break; - case 2: // increase - $original_priority = $link_object->GetDBField('Priority'); - $link_object->SetDBField('Priority', $original_priority + $priority_value); - break; - case 3: // decrease - $original_priority = $link_object->GetDBField('Priority'); - $link_object->SetDBField('Priority', $original_priority - $priority_value); - break; - default: - } - - $link_object->Update(); - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function OnRequestEnhancement(&$event) - { - if ($this->Application->isModuleEnabled('In-Commerce')) { - $l_info = $this->Application->GetVar('l'); - if (!$l_info) { - return false; - } - - list ($link_id, $link_info) = each($l_info); - $listing_type_id = $link_info['ListingTypeId']; - - $listing_type =& $this->Application->recallObject('lst', null, Array('skip_autoload' => true)); - $listing_type->Load($listing_type_id); - - if ($listing_type->GetDBField('EnableBuying')) { - $add_to_cart_event = new kEvent('ord:OnAddVirtualProductToCart'); - $this->Application->HandleEvent($add_to_cart_event); - - if ($add_to_cart_event->redirect) { - $event->SetRedirectParam('pass', 'm'); - $event->redirect = $add_to_cart_event->redirect; - } - return true; - } - } - - $event->CallSubEvent('OnListingCreate'); - } - - /** - * Create listing or extend existing listing period - * - * @param kEvent $event - */ - function OnListingCreate(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - - switch ($event->Name) { - case 'EnhanceLinkAfterOrderApprove': - case 'EnhancedLinkOnCompleteOrder': - // when order with listing virtual product is approved - $fields = $event->getEventParam('field_values'); - $item_data = unserialize($fields['ItemData']); - $listing_type_id = $item_data['ListingTypeId']; - $link_id = $item_data['LinkId']; - - $new_processing = getArrayValue($item_data, 'HasNewProcessing'); - break; - - case 'OnListingCreate': - // when requesting enhancement from front (and not via in-commerce) - $links_info = $this->Application->GetVar('l'); - if (!$links_info) return false; - - $event->redirect = false; - list($link_id, $link_info) = each($links_info); - $listing_type_id = $link_info['ListingTypeId']; - - $new_processing = false; - break; - } - - if (!$listing_type_id) { - // free or invalid listing type selected - return false; - } - - // get resource_id of link beeing enhanced - $sql = 'SELECT ResourceId - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE LinkId = '.$link_id; - $resource_id = $this->Conn->GetOne($sql); - - // get listing by link's resource_id - $object->Load($resource_id, 'ItemResourceId'); - if ($object->isLoaded()) { - $original_values = $object->FieldValues; - } - else { - // set initial fields to listing - $object->SetDBField('ListingTypeId', $listing_type_id); - $object->SetDBField('ItemResourceId', $resource_id); - - if ($event->Name == 'OnListingCreate' || $new_processing) { - $item_status = STATUS_PENDING; - } - else { - $item_status = STATUS_ACTIVE; - } - - $object->SetDBField('Status', $item_status); - } - - // set date of purchase for new listings - $purchased_on = max(adodb_mktime(), $object->GetDBField('ExpiresOn')); - if (!$object->isLoaded()) { - $object->SetDBField('PurchasedOn_date', $purchased_on); - $object->SetDBField('PurchasedOn_time', $purchased_on); - } - - // set expiration time for listing - $listing_type =& $this->Application->recallObject('lst', null, Array('skip_autoload' => true)); - $listing_type->Load($listing_type_id); - - $dur_type_mapping = Array( 1 => 1, - 2 => 60, - 3 => 3600, - 4 => 3600*24, - 5 => 3600*24*7, - 6 => 3600*24*365/12, - 7 => 3600*24*365 - ); - $duration = $listing_type->GetDBField('Duration'); - $duration_type = $listing_type->GetDBField('DurationType'); - $expiration_interval = $duration * $dur_type_mapping[$duration_type]; - $expiration_date = $purchased_on + $expiration_interval; - $object->SetDBField('ExpiresOn_date', $expiration_date); - $object->SetDBField('ExpiresOn_time', $expiration_date); - - // when extending enhancement mark listing as non-received renewal reminder - $object->SetDBField('RenewalReminderSent', 0); - - $action = $object->isLoaded() ? 'Update' : 'Create'; - if ($object->$action()) { - $event->status = erSUCCESS; - switch ($event->Name) { - case 'EnhanceLinkAfterOrderApprove': - case 'EnhancedLinkOnCompleteOrder': - // when order with listing virtual product is approved - if (getArrayValue($original_values, 'Status') != STATUS_ACTIVE) { - $this->EnhanceLink($object, Array()); - } - break; - - case 'OnListingCreate': - // when requesting enhancement from front (and not via in-commerce) - $event->redirect = $this->Application->GetVar('success_template'); - - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE', $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE'); - break; - } - - - } - else { - $event->status = erFAIL; - } - - - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function EnhancedLinkOnCompleteOrder(&$event) - { - // create enhancement, but pending - $this->OnListingCreate($event); - - // save created listing_id back to itemdata - $object =& $event->getObject( Array('skip_autoload' => true) ); - $fields = $event->getEventParam('field_values'); - $item_data = unserialize($fields['ItemData']); - unset($item_data['ListingTypeId']); - $item_data['ListingId'] = $object->GetID(); - - $orditems_idfield = $this->Application->getUnitOption('orditems', 'IDField'); - $orditems_table = $this->Application->getUnitOption('orditems', 'TableName'); - - $this->Conn->doUpdate( Array('ItemData' => serialize($item_data)), $orditems_table, $orditems_idfield.' = '.$fields['OrderItemId'] ); - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function EnhanceLinkAfterOrderApprove(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $fields = $event->getEventParam('field_values'); - $item_data = unserialize($fields['ItemData']); - - if ( getArrayValue($item_data, 'HasNewProcessing') ) { - // new processing: just approve created listing here - $listing_id = $item_data['ListingId']; - $object->Load($listing_id); - - // moved enhancement period to time admin approved enhancement - $time_diff = adodb_mktime() - $object->GetDBField('PurchasedOn'); - $object->SetDBField('PurchasedOn_date', $object->GetDBField('PurchasedOn_date') + $time_diff); - $object->SetDBField('PurchasedOn_time', $object->GetDBField('PurchasedOn_time') + $time_diff); - $object->SetDBField('ExpiresOn_date', $object->GetDBField('ExpiresOn_date') + $time_diff); - $object->SetDBField('ExpiresOn_time', $object->GetDBField('ExpiresOn_time') + $time_diff); - - $object->SetDBField('Status', STATUS_ACTIVE); - $object->Update(); - - $this->EnhanceLink($object, Array()); - return true; - } - else { - // create listing & approve it at the same time - $this->OnListingCreate($event); - } - } - - /** - * Delete listing - * - * @param kEvent $event - */ - function EnhanceLinkAfterOrderDeny(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $fields = $event->getEventParam('field_values'); - $item_data = unserialize($fields['ItemData']); - $listing_id = $item_data['ListingId']; - - $temp_handler =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - $temp_handler->DeleteItems($event->Prefix, $event->Special, Array($listing_id)); - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function ExpireLink(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $fields = $event->getEventParam('field_values'); - $item_data = unserialize($fields['ItemData']); - $sql = 'SELECT ListingId FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - WHERE ItemResourceId = '.$item_data['LinkId']; - $listing_id = $this->Conn->GetOne($sql); - $object->Load($listing_id); - $original_values = $object->FieldValues; - $object->SetDBField('Status', 2); - - if($object->Update()) - { - $event->status = erSUCCESS; - $this->ResetLink($original_values); - } - else - { - $event->status = erFAIL; - } - } - - function iterateItems(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $ids = $this->StoreSelectedIDs($event); - - if ($event->Name == 'OnMassApprove') { - foreach ($ids as $id) { - $object->Load($id); - if ($object->GetDBField('Status') != STATUS_ACTIVE) { - $original_values = $object->FieldValues; - $object->SetDBField('Status', STATUS_ACTIVE); - $this->EnhanceLink($object, $original_values); - } - } - } - - if ($event->Name == 'OnMassDecline') { - foreach ($ids as $id) { - $object->Load($id); - if ($object->GetDBField('Status') == STATUS_ACTIVE) { - $original_values = $object->FieldValues; - $this->ResetLink($original_values); - - $sql = 'SELECT CreatedById - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.DENY', $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.DENY'); - } - } - } - - parent::iterateItems($event); - - // extend period for pending/renewal links (if owner has agreed) - if ($event->Name == 'OnMassApprove') { - $lst_object =& $this->Application->recallObject('lst', null, Array('skip_autoload' => true)); - - foreach ($ids as $id) { - $object->Load($id); - $sql = 'SELECT CreatedById - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $owner_id = $this->Conn->GetOne($sql); - - if ($object->GetDBField('PendingRenewal') == 1) { - $lst_object->Load( $object->GetDBField('ListingTypeId') ); - $dur_type_mapping = Array( 1 => 1, - 2 => 60, - 3 => 3600, - 4 => 3600*24, - 5 => 3600*24*7, - 6 => 3600*24*365/12, - 7 => 3600*24*365 - ); - $duration = $lst_object->GetDBField('Duration'); - $duration_type = $lst_object->GetDBField('DurationType'); - $expiration_interval = $duration * $dur_type_mapping[$duration_type]; - $renewal_begins = max( adodb_mktime(), $object->GetDBField('ExpiresOn') ); - $expiration_date = $renewal_begins + $expiration_interval; - - $object->SetDBField('ExpiresOn_date', $expiration_date); - $object->SetDBField('ExpiresOn_time', $expiration_date); - - $object->SetDBField('RenewalReminderSent', 0); - $object->SetDBField('PendingRenewal', 0); - - if ($object->Update()) { - $event->status = erSUCCESS; - $event->redirect_params = Array('opener' => 's'); //stay! - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.RENEW', $owner_id); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.RENEW'); - } - else { - $event->status=erFAIL; - $event->redirect=false; - break; - } - } - else { - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.APPROVE', $owner_id); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.APPROVE'); - } - } - } - } - - /** - * Redirects to cancel template on front-end - * - * @param kEvent $event - */ - function OnCancel(&$event) - { - parent::OnCancel($event); - - if (!$this->Application->isAdmin) { - $event->SetRedirectParam('opener', 's'); - $event->redirect = $this->Application->GetVar('cancel_template'); - } - } - - /** - * Checks that user is owner of link & returns listing id if permissions are ok - * - * @param kEvent $event - * @return mixed - */ - function verifyListingOwner(&$event) - { - $link_id = $this->Application->GetVar('l_id'); - $user_id = $this->Application->RecallVar('user_id'); - $sql = 'SELECT ResourceId - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE (LinkId = '.$link_id.') AND (CreatedById = '.$user_id.')'; - $resource_id = $this->Conn->GetOne($sql); - - if (!$resource_id) { - $event->status = erFAIL; - return false; - } - - $sql = 'SELECT ListingId - FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - WHERE ItemResourceId = '.$resource_id; - - return $this->Conn->GetOne($sql); - } - - function OnExtendEnhancement(&$event) - { - $listing_id = $this->verifyListingOwner($event); - if (!$listing_id) { - return ; - } - - $object =& $event->getObject( Array('skip_autoload' => true) ); - $object->Load($listing_id); - - $object->SetDBField('PendingRenewal', 1); - $object->Update(); - $event->redirect = $this->Application->GetVar('success_template'); - - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.EXTEND', $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.EXTEND'); - } - - function OnCancelEnhancement(&$event) - { - $listing_id = $this->verifyListingOwner($event); - if (!$listing_id) { - return ; - } - - $object =& $event->getObject( Array('skip_autoload' => true) ); - $object->Load($listing_id); - - $original_values = $object->FieldValues; - $original_values['Status'] = 1; - $this->ResetLink($original_values); - - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.CANCEL', $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.CANCEL'); - - $object->Delete(); - $event->redirect = $this->Application->GetVar('success_template'); - } - - function OnCheckExpiredPaidListings(&$event) - { - $sql = 'SELECT ListingId FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - WHERE ExpiresOn < '.adodb_mktime().' AND Status = 1'; - $expired_listings = $this->Conn->GetCol($sql); - if(is_array($expired_listings) && count($expired_listings) > 0) - { - $object =& $this->Application->recallObject($event->Prefix.'.-item', null, Array('skip_autoload' => true)); - foreach($expired_listings as $listing_id) - { - $object->Load($listing_id); - $original_values = $object->FieldValues; - $this->ResetLink($original_values); - $object->SetDBField('Status', 2); - $object->Update(); - - $sql = 'SELECT CreatedById FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.EXPIRE', $this->Conn->GetOne($sql)); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.EXPIRE'); - } - } - - $sql = 'SELECT ls.ListingId, l.CreatedById FROM '.$this->Application->getUnitOption($event->Prefix, 'TableName').' ls - LEFT JOIN '.$this->Application->getUnitOption('lst', 'TableName').' lst - ON ls.ListingTypeId = lst.ListingTypeId - LEFT JOIN '.$this->Application->getUnitOption('l', 'TableName').' l - ON ls.ItemResourceId = l.ResourceId - WHERE ls.Status = 1 - AND ls.ExpiresOn < '.adodb_mktime().' + lst.RenewalReminder * 3600 *24 - AND ls.RenewalReminderSent = 0'; - $res = $this->Conn->Query($sql); - if(is_array($res) && count($res) > 0) - { - $listing_ids = Array(); - foreach($res as $record) - { - $email_event_user =& $this->Application->EmailEventUser('LINK.ENHANCE.RENEWAL.NOTICE', $record['CreatedById']); - $email_event_admin =& $this->Application->EmailEventAdmin('LINK.ENHANCE.RENEWAL.NOTICE'); - $listing_ids[] = $record['ListingId']; - } - $sql = 'UPDATE '.$this->Application->getUnitOption($event->Prefix, 'TableName').' - SET RenewalReminderSent = 1 - WHERE ListingId IN ('.implode(',', $listing_ids).')'; - $this->Conn->Query($sql); - } - } - - function OnMassDelete(&$event) - { - $object =& $event->getObject( Array('skip_autoload' => true) ); - $ids = $this->StoreSelectedIDs($event); - - foreach($ids as $id) - { - $object->Load($id); - if($object->GetDBField('Status') == 1) - { - $original_values = $object->FieldValues; - $this->ResetLink($original_values); - } - } - parent::OnMassDelete($event); - } - - /** - * Moves enhancement from original link to it's pending copy, that is going to be approved - * - * @param kEvent $event - */ - function OnMoveEnhancement(&$event) - { - $id_field = $this->Application->getUnitOption($event->MasterEvent->Prefix, 'IDField'); - $item_table_name = $this->Application->getUnitOption($event->MasterEvent->Prefix, 'TableName'); - - $pending_id = $event->MasterEvent->getEventParam('id'); - $original_id = $event->MasterEvent->getEventParam('original_id'); - - $sql = 'SELECT ResourceId, '.$id_field.' - FROM '.$item_table_name.' - WHERE '.$id_field.' IN ('.$pending_id.','.$original_id.')'; - $resource_ids = $this->Conn->GetCol($sql, $id_field); - - $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); - $sql = 'UPDATE '.$table_name.' - SET ItemResourceId = '.$resource_ids[$pending_id].' - WHERE ItemResourceId = '.$resource_ids[$original_id]; - $this->Conn->Query($sql); - } - - /** - * Makes calcualated fields to go to multilingual link fields - * - * @param kEvent $event - */ - function OnAfterConfigRead(&$event) - { - parent::OnAfterConfigRead($event); - - $language_id = $this->Application->GetVar('m_lang'); - $calculated_fields = $this->Application->getUnitOption($event->Prefix, 'CalculatedFields'); - $calculated_fields['']['LinkName'] = 'CONCAT(item_table.l' . $language_id . '_Name, " (", item_table.Url, ")")'; - $this->Application->setUnitOption($event->Prefix, 'CalculatedFields', $calculated_fields); - } -} \ No newline at end of file Index: branches/5.0.x/in-link/units/listings/listings_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listings/listings_config.php (revision 12746) +++ branches/5.0.x/in-link/units/listings/listings_config.php (revision 0) @@ -1,166 +0,0 @@ - 'ls', - 'ItemClass' => Array('class'=>'kDBItem','file'=>'','build_event'=>'OnItemBuild'), - 'ListClass' => Array('class'=>'kDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class'=>'ListingsEventHandler','file'=>'listings_event_handler.php','build_event'=>'OnBuild'), - 'TagProcessorClass' => Array('class'=>'ListingsTagProcessor','file'=>'listings_tag_processor.php','build_event'=>'OnBuild'), - 'AutoLoad' => true, - - 'Hooks' => Array( - Array( - 'Mode' => hAFTER, - 'Conditional' => false, - 'HookToPrefix' => 'l', - 'HookToSpecial' => '*', - 'HookToEvent' => Array('OnBeforeDeleteOriginal'), - 'DoPrefix' => '', - 'DoSpecial' => '*', - 'DoEvent' => 'OnMoveEnhancement', - ), - ), - - 'QueryString' => Array( - 1 => 'id', - 2 => 'page', - 3 => 'event', - 4 => 'mode', - ), - - 'RegularEvents' => Array( - 'listings_expiration' => Array('EventName' => 'OnCheckExpiredPaidListings', 'RunInterval' => 1800, 'Type' => reAFTER), - ), - - 'IDField' => 'ListingId', - 'StatusField' => Array('Status', 'PendingRenewal'), - 'TitleField' => 'LinkName', - - 'TitlePresets' => Array( - 'default' => Array( 'new_status_labels' => Array('ls'=>'!la_title_AddingListing!'), - 'edit_status_labels' => Array('ls'=>'!la_title_EditingListing!'), - 'new_titlefield' => Array('ls'=>'!la_title_NewListing!'), - ), - - 'listing_list' => Array('prefixes' => Array('ls_List'), 'format' => "!la_title_PaidListings!",), - 'listing_edit' => Array('prefixes' => Array('ls'), 'format' => "#ls_status# '#ls_titlefield#' - !la_title_General!",), - ), - - 'PermSection' => Array('main' => 'in-link:paid_listings'), - - 'Sections' => Array( - 'in-link:paid_listings_folder' => Array( - 'parent' => 'in-link', - 'icon' => 'paid_listings', - 'label' => 'la_tab_PaidListings', - 'use_parent_header' => 1, - 'permissions' => Array(), - 'priority' => 1, - 'type' => stTREE, - ), - - 'in-link:paid_listings' => Array( - 'parent' => 'in-link:paid_listings_folder', - 'icon' => 'paid_listings', - 'label' => 'la_tab_Listings', - 'url' => Array('t' => 'in-link/paid_listings/paid_listings_list', 'pass' => 'm'), - 'permissions' => Array('view', 'add', 'edit', 'delete', 'advanced:approve', 'advanced:decline'), - 'priority' => 1.1, // ., because this section replaces parent in tree - 'type' => stTAB, - ), - ), - - 'TableName' => TABLE_PREFIX.'Listings', - - 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s - FROM %1$s - LEFT JOIN '.TABLE_PREFIX.'Link item_table ON item_table.ResourceId = %1$s.ItemResourceId - LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON u.PortalUserId = item_table.CreatedById'), - - 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s - FROM %1$s - LEFT JOIN '.TABLE_PREFIX.'Link item_table ON item_table.ResourceId = %1$s.ItemResourceId - LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON u.PortalUserId = item_table.CreatedById'), - - 'ListSortings' => Array( - '' => Array( - 'Sorting' => Array('PurchasedOn' => 'desc'), - ) - ), - - 'CalculatedFields' => Array ( - '' => Array ( - 'LinkName' => 'CONCAT(item_table.Name, " (", item_table.Url, ")")', - 'LinkOwner' => 'IF (ISNULL(u.Login), IF (item_table.CreatedById = -1, "root", IF (item_table.CreatedById = -2, "Guest", "n/a")), u.Login)', - ), - ), - 'Fields' => Array - ( - 'ListingId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0,), - 'ListingTypeId' => Array('type' => 'int', 'formatter'=>'kOptionsFormatter', 'options_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'ListingTypes ORDER BY Name', 'option_key_field'=>'ListingTypeId', 'option_title_field'=>'Name', 'default' => 0,), - 'ItemResourceId' => Array('type' => 'int', 'required' => 1, 'unique' => Array('ItemResourceId'), 'error_field' => 'LinkName', 'default' => NULL), - 'PurchasedOn' => Array('type' => 'int', 'formatter'=>'kDateFormatter','default'=>'#NOW#'), - 'ExpiresOn' => Array('type' => 'int', 'formatter'=>'kDateFormatter','default' => '#NOW#','required'=>1), - 'Status' => Array('type' => 'int', 'not_null' => 1, 'default' => 2, 'formatter'=>'kOptionsFormatter','options' => Array(1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'),'use_phrases' => 1), - 'PendingRenewal' => Array('type' => 'int','formatter'=>'kOptionsFormatter','options' => Array(0 => 'la_NotPendingRenewal', 1 => 'la_PendingRenewal'),'use_phrases' => 1, 'not_null' => 1, 'default' => 0), - 'RenewalReminderSent' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), - ), - - 'VirtualFields' => Array ( - 'LinkName' => Array ('type' => 'string'), - 'LinkOwner' => Array ('type' => 'string'), - ), - - 'FilterMenu' => Array( - 'Groups' => Array( - Array('mode' => 'AND', 'filters' => Array(0,1,2), 'type' => WHERE_FILTER), - Array('mode' => 'AND', 'filters' => Array(3), 'type' => WHERE_FILTER), - ), - - 'Filters' => Array( - 0 => Array('label' =>'la_Enabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 1' ), - 1 => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 0' ), - 2 => Array('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => '%1$s.Status != 2' ), - 3 => Array('label' => 'la_PendingRenewal', 'on_sql' => '', 'off_sql' => '%1$s.PendingRenewal != 1' ), - ) - ), - - 'Grids' => Array( - 'Default' => Array( - 'Icons' => Array( - 'default' => 'icon16_item.png', - '1_0' => 'icon16_link.png', - '0_0' => 'icon16_link_disabled.png', - '2_0' => 'icon16_link_pending.png', - '1_1' => 'icon16_link_pending.png', - '0_1' => 'icon16_link_disabled.png', - '2_1' => 'icon16_link_pending.png'), - 'module' => 'core', - - 'Fields' => Array( - 'ListingId' => Array( 'title'=>'la_col_Id' , 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60, ), - 'LinkName' => Array( 'title'=>'la_col_LinkName' , 'data_block' => 'link_td', 'filter_block' => 'grid_like_filter', 'width' => 170, ), - 'ListingTypeId' => Array( 'title'=>'la_col_ListingTypeName' , 'data_block' => 'listing_type_td', 'filter_block' => 'grid_like_filter', 'width' => 100, ), - 'LinkOwner' => Array( 'title'=>'la_col_LinkOwner', 'filter_block' => 'grid_like_filter', 'width' => 115, ), - 'PendingRenewal' => Array( 'title'=>'la_col_PendingRenewal', 'filter_block' => 'grid_options_filter', 'width' => 143, ), - 'PurchasedOn' => Array( 'title'=>'la_col_PurchasedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ), - 'ExpiresOn' => Array( 'title'=>'la_col_ExpiresOn', 'filter_block' => 'grid_date_range_filter', 'width' => 140, ), - ), - ), - ), - - ); \ No newline at end of file Index: branches/5.0.x/in-link/units/listings/listings_tag_processor.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/listings/listings_tag_processor.php (revision 12746) +++ branches/5.0.x/in-link/units/listings/listings_tag_processor.php (revision 0) @@ -1,104 +0,0 @@ -Application->recallObject($this->getPrefixSpecial(), $this->Prefix, $params); - - return $this->Application->HREF($params['edit_template'],'', Array( - 'm_opener' => 'd', - 'lst_mode' => 't', - 'lst_event' => 'OnEdit', - 'lst_id' => $object->GetDBField('ListingTypeId'), - 'pass' => 'all,lst' - ), 'index.php'); - } - - function LinkEditLink($params) - { - $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params ); - - $sql = 'SELECT '.$this->Application->getUnitOption('l', 'IDField').' - FROM '.$this->Application->getUnitOption('l', 'TableName').' - WHERE ResourceId = '.$object->GetDBField('ItemResourceId'); - - return $this->Application->HREF($params['edit_template'],'', Array( - 'm_opener' => 'd', - 'l_mode' => 't', - 'l_event' => 'OnEdit', - 'l_id' => $this->Conn->GetOne($sql), - 'pass' => 'all,l' - )); - } - - function ExpirationDate($params) - { - $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params ); - $listing_type =& $this->Application->recallObject( 'lst', 'lst', $params ); - - $dur_type_mapping = Array( 1 => 1, - 2 => 60, - 3 => 3600, - 4 => 3600*24, - 5 => 3600*24*7, - 6 => 3600*24*365/12, - 7 => 3600*24*365 - ); - $duration = $listing_type->GetDBField('Duration'); - $duration_type = $listing_type->GetDBField('DurationType'); - $expiration_interval = $duration * $dur_type_mapping[$duration_type]; - $expiration_date = adodb_mktime() + $expiration_interval; - - $lang =& $this->Application->recallObject('lang.current'); - $format = $lang->GetDBField('DateFormat'); - $expiration_date = adodb_date($format, $expiration_date); - - return $expiration_date; - } - - function ExpirationTime($params) - { - $object =& $this->Application->recallObject( $this->getPrefixSpecial(), $this->Prefix, $params ); - $listing_type =& $this->Application->recallObject( 'lst', 'lst', $params ); - - $dur_type_mapping = Array( 1 => 1, - 2 => 60, - 3 => 3600, - 4 => 3600*24, - 5 => 3600*24*7, - 6 => 3600*24*365/12, - 7 => 3600*24*365 - ); - $duration = $listing_type->GetDBField('Duration'); - $duration_type = $listing_type->GetDBField('DurationType'); - $expiration_interval = $duration * $dur_type_mapping[$duration_type]; - $expiration_date = adodb_mktime() + $expiration_interval; - - $lang =& $this->Application->recallObject('lang.current'); - $format = $lang->GetDBField('TimeFormat'); - $expiration_date = adodb_date($format, $expiration_date); - - return $expiration_date; - } -} \ No newline at end of file Index: branches/5.0.x/in-link/units/l-visits/l-visits_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/l-visits/l-visits_config.php (revision 12746) +++ branches/5.0.x/in-link/units/l-visits/l-visits_config.php (revision 0) @@ -1,85 +0,0 @@ - 'l-visit', - 'ItemClass' => Array('class' => 'kDBItem', 'file' => '', 'build_event' => 'OnItemBuild'), - 'EventHandlerClass' => Array('class' => 'LinkVisitEventHandler', 'file' => 'l-visit_eh.php', 'build_event' => 'OnBuild'), - - 'AutoLoad' => true, - - 'Hooks' => Array ( - Array ( - 'Mode' => hAFTER, - 'Conditional' => false, - 'HookToPrefix' => 'u', - 'HookToSpecial' => '-item', // from OnMassDelete event - 'HookToEvent' => Array('OnAfterItemDelete'), - 'DoPrefix' => '', - 'DoSpecial' => '*', - 'DoEvent' => 'OnDeleteVisits', - ), - - Array ( - 'Mode' => hAFTER, - 'Conditional' => false, - 'HookToPrefix' => 'l', - 'HookToSpecial' => '-item', // from "Catalog" - 'HookToEvent' => Array('OnAfterItemDelete'), - 'DoPrefix' => '', - 'DoSpecial' => '*', - 'DoEvent' => 'OnDeleteVisits', - ), - - Array ( - 'Mode' => hAFTER, - 'Conditional' => false, - 'HookToPrefix' => 'l', - 'HookToSpecial' => 'showall-item', // from "Advanced View" - 'HookToEvent' => Array('OnAfterItemDelete'), - 'DoPrefix' => '', - 'DoSpecial' => '*', - 'DoEvent' => 'OnDeleteVisits', - ), - ), - - 'QueryString' => Array ( - 1 => 'id', - 2 => 'page', - 3 => 'event', - ), - - 'IDField' => 'VisitId', - 'TableName' => TABLE_PREFIX.'LinkVisits', - - 'AutoDelete' => true, - - 'ListSQLs' => Array ('' => 'SELECT * FROM %s'), - 'ItemSQLs' => Array ('' => 'SELECT * FROM %s'), - - 'ListSortings' => Array ( - '' => Array( - 'Sorting' => Array('VisitTimestamp' => 'desc'), - ) - ), - - 'Fields' => Array ( - 'VisitId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'ResourceId' => Array ('type' => 'int', 'default' => NULL), - 'PortalUserId' => Array ('type' => 'int', 'not_null' => 1, 'default' => 0), - 'VisitTimestamp' => Array ('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'), - ), - ); \ No newline at end of file Index: branches/5.0.x/in-link/units/l-visits/l-visit_eh.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/l-visits/l-visit_eh.php (revision 12746) +++ branches/5.0.x/in-link/units/l-visits/l-visit_eh.php (revision 0) @@ -1,35 +0,0 @@ -MasterEvent->Prefix == 'u' ? 'PortalUserId' : 'ResourceId'; - $table_name = $this->Application->getUnitOption($this->Prefix, 'TableName'); - - $object =& $event->MasterEvent->getObject(); - - $sql = 'DELETE FROM '.$table_name.' - WHERE '.$key_field.' = '.$object->GetDBField($key_field); - $this->Conn->Query($sql); - } -} \ No newline at end of file Index: branches/5.0.x/in-link/units/links/link_tag_processor.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/links/link_tag_processor.php (revision 12746) +++ branches/5.0.x/in-link/units/links/link_tag_processor.php (revision 0) @@ -1,459 +0,0 @@ -Application->GetVar($this->Prefix.'_id'); - if ($object->isLoaded() && $id && ($object->GetID() != $id)) { - $object->Load($id); - } - } - - return $object; - }*/ - - function getListingInfo($resource_id, $field = null) - { - $sql = 'SELECT * - FROM '.$this->Application->getUnitOption('ls', 'TableName').' - WHERE ItemResourceId = '.$resource_id; - $listing_info = $this->Conn->GetRow($sql); - return isset($field) ? $listing_info[$field] : $listing_info; - } - - /** - * Detects listing enhancement status (enhanced or not) - * - * @param Array $params - * @return int - */ - function LinkIsEnhanced($params) - { - $object =& $this->getObject(); - /* @var $object kDBItem */ - - if ($object->GetDBField('Status') == STATUS_PENDING || $object->GetDBField('Status') == STATUS_PENDING_EDITING) { - return false; - } - - $listing_type_id = $this->getListingInfo($object->GetDBField('ResourceId'), 'ListingTypeId'); - - $this->Application->SetVar('lst_id', $listing_type_id); // compatibility with old-theme - return $listing_type_id ? 1 : 0; - } - - /** - * Detects if enhancement is pending approval - * - * @param Array $params - * @return int - */ - function EnhancementIsPending($params) - { - $object =& $this->getObject(); - /* @var $object kDBItem */ - - $status = $this->getListingInfo($object->GetDBField('ResourceId'), 'Status'); - - return $status == STATUS_PENDING ? 1 : 0; - } - - function ListingTypeField($params) - { - $object =& $this->getObject(); - /* @var $object kDBItem */ - - $lst_id = $this->getListingInfo($object->GetDBField('ResourceId'), 'ListingTypeId'); - - $lst_object =& $this->Application->recallObject('lst', null, Array('skip_autoload' => true)); - $lst_object->Load($lst_id); - - return $lst_object->GetField( $this->SelectParam($params, 'name,field') ); - } - - function EnhancementField($params) - { - $object =& $this->getObject(); - /* @var $object kDBItem */ - - $listing_id = $this->getListingInfo($object->GetDBField('ResourceId'), 'ListingId'); - - $listing_object =& $this->Application->recallObject('ls', null, Array('skip_autoload' => true)); - $listing_object->Load($listing_id); - - return $listing_object->GetField( $this->SelectParam($params, 'name,field') ); - } - - function IsRenewalPeriod($params) - { - $object =& $this->getObject(); - /* @var $object kDBItem */ - - $listing_info = $this->getListingInfo($object->GetDBField('ResourceId')); - - $sql = 'SELECT RenewalReminder - FROM '.$this->Application->getUnitOption('lst', 'TableName').' - WHERE ListingTypeId = '.$listing_info['ListingTypeId']; - $renewal_interval = $this->Conn->GetOne($sql) * 3600 * 24; - - return ($listing_info['ExpiresOn'] - adodb_mktime() < $renewal_interval) ? 1 : 0; - } - - function FirstListingType($params) - { - static $first = true; - if ($first) { - $first = false; - return true; - } - else { - return false; - } - } - - function IsReocurringEnhancement($params) - { - $params['name'] = 'Recurring'; - return $this->ListingTypeField($params); - } - - function EnhanceUsingInCommerce($params) - { - if (!$this->Application->isModuleEnabled('In-Commerce')) { - return 0; - } - - $object =& $this->getObject(); - /* @var $object kDBItem */ - - $listtype_id = $this->getListingInfo($object->GetDBField('ResourceId'), 'ListingTypeId'); - - $lst_object =& $this->Application->recallObject('lst', null, Array('skip_autoload' => true)); - $lst_object->Load($listtype_id); - - return $lst_object->GetDBField('EnableBuying'); - } - - function ClickLink($params) - { - $object =& $this->getObject($params); - - return $this->Application->HREF($params['t'], '', Array('l_id' => $object->GetID(), 'pass'=>'all,l' )); - } - - function ListRelatedLinks($params) - { - return $this->PrintList2($params); - } - - function LinkLink($params) - { - return $this->ItemLink($params, 'link'); - } - - function ListingDescription($params) - { - $listing_type =& $this->Application->recallObject('lst'); - /* @var $listing_type kDBItem */ - - return $listing_type->GetDBField('Description'); - } - - function ListingTypeDetailsLink($params) - { - $listing_type =& $this->Application->recallObject('lst', null, Array ('raise_warnings' => 0)); - /* @var $listing_type kDBList */ - - $params['lst_id'] = $listing_type->isLoaded() ? $listing_type->GetID() : $this->Application->Parser->GetParam('key'); - - return $this->Application->ProcessParsedTag('m', 'Link', $params); - } - - /** - * Register hit & go to link url - * - * @param Array $params - */ - function FollowLocation($params) - { - $object =& $this->getObject(); - /* @var $object kCatDBItem */ - - if (!$object->isLoaded()) { - trigger_error('No Link ID for redirect', E_USER_ERROR); - } - - $object->RegisterHit(); - - // save user and time - if (!$this->Application->isAdmin && $this->Application->LoggedIn()) { - $resource_id = $object->GetDBField('ResourceId'); - $user_id = $this->Application->RecallVar('user_id'); - - $link_visit = $this->Application->recallObject('l-visit', null, Array ('skip_autoload' => true)); - /* @var $link_visit kDBItem */ - - $link_visit->Load( Array ('ResourceId' => $resource_id, 'PortalUserId' => $user_id) ); - if ($link_visit->isLoaded()) { - // for existing visits update date - $link_visit->SetDBField('VisitTimestamp_date', adodb_mktime()); - $link_visit->SetDBField('VisitTimestamp_time', adodb_mktime()); - } - else { - // for new visits set user & link, visit will be set as default value - $link_visit->SetDBField('ResourceId', $resource_id); - $link_visit->SetDBField('PortalUserId', $user_id); - } - - $status = $link_visit->isLoaded() ? $link_visit->Update() : $link_visit->Create(); - } - - $url = $object->GetDBField('Url'); - if (!preg_match('/^(http|ftp|mailto:)(.*)/U', $url)) { - $url = 'http://'.$url; - } - - $this->Application->Redirect('external:'.$url); - } - - /** - * Returns formatted address (from custom fields) for using with google - * - * @param Array $params - * @return string - */ - function GetGoogleAddress($params) - { - $object =& $this->getObject(); - - if (isset($params['display_info']) && $params['display_info']) { - $ret = $object->GetField('cust_LinkAddress') ? $object->GetField('cust_LinkAddress').'
    ' : ''; - $ret .= $object->GetField('cust_LinkCity') ? $object->GetField('cust_LinkCity').',' : ''; - $ret .= $object->GetField('cust_LinkState') ? $object->GetField('cust_LinkState') : ''; - $ret .= $object->GetField('cust_LinkZipCode') ? $object->GetField('cust_LinkZipCode').'
    ' : ''; - $ret .= $object->GetField('cust_LinkCountry') ? $object->GetField('cust_LinkCountry').'
    ' : ''; - $ret .= $object->GetField('cust_LinkPhone') ? ''.$this->Application->Phrase('lu_fld_LinkPhone').': '.$object->GetField('cust_LinkPhone') : ''; - - return $ret; - } - - $ret = $object->GetField('cust_LinkAddress') ? $object->GetField('cust_LinkAddress').',' : ''; - $ret .= $object->GetField('cust_LinkCity') ? $object->GetField('cust_LinkCity').',' : ''; - $ret .= $object->GetField('cust_LinkState') ? $object->GetField('cust_LinkState').',' : ''; - $ret .= $object->GetField('cust_LinkZipCode') ? $object->GetField('cust_LinkZipCode').',' : ''; - $ret .= $object->GetField('cust_LinkCountry') ? $object->GetField('cust_LinkCountry') : ''; - - return $ret; - } - - /** - * Returns timestamp of last link visit for logged in users only. - * - * @param Array $params - * @return string - */ - function LastVisited($params) - { - if (!$this->Application->LoggedIn()) { - // we don't gather link visit statistics for Guests - return ''; - } - - static $link_visited = Array (); - - $object =& $this->getObject(); - /* @var $object kDBList */ - - if (!isset($link_visited[$this->Special])) { - $resource_ids = $object->GetCol('ResourceId'); - $user_id = $this->Application->RecallVar('user_id'); - - $table_name = $this->Application->getUnitOption('l-visit', 'TableName'); - $sql = 'SELECT VisitTimestamp, ResourceId - FROM '.$table_name.' - WHERE (PortalUserId = '.$user_id.') AND (ResourceId IN ('.implode(',', $resource_ids).'))'; - $link_visited[$this->Special] = $this->Conn->GetCol($sql, 'ResourceId'); - } - - if (!isset($link_visited[$this->Special][$object->GetDBField('ResourceId')])) { - // link has no visit information for current user - return ''; - } - - $link_visit = $link_visited[$this->Special][$object->GetDBField('ResourceId')]; - - if (isset($params['formatted']) && $params['formatted']) { - // format the date - $lang =& $this->Application->recallObject('lang.current'); - - if (isset($params['display_time']) && $params['display_time']) { - $display_format = $lang->GetDBField('DateFormat').' @ '.$lang->GetDBField('TimeFormat'); - } - else { - $display_format = $lang->GetDBField('DateFormat'); - } - - return adodb_date($display_format, $link_visit); - } - - return $link_visit; - } - - /** - * Checks if specified Custom Fields and condition are true - * - * @param Array $params - * @return string - */ - function HasValue($params) - { - $condition = isset($params['condition']) ? strtolower($params['condition']) : false; - $fields = isset($params['fields']) ? $params['fields'] : false; - if (!$fields || !in_array($condition, Array('or', 'and'))) { - // required parameters not passed - return false; - } - - $fields = explode(',', $fields); - - $object =& $this->getObject(); - /* @var $object kDBList */ - - switch ($condition) { - case 'or': - foreach ($fields as $field) { - if (strlen($object->GetDBField($field))) { - return true; - } - } - break; - - case 'and': - foreach ($fields as $field) { - if (!strlen($object->GetDBField($field))) { - return false; - } - } - break; - } - - return $condition == 'and' ? true : false; - } - - /** - * Gets and parses custom details template or default one - * - * @param Array $params - * @return string - */ - function DisplayDetailTemplate($params) - { - $object =& $this->getObject($params); - /* @var $object kDBItem */ - - $template_name = $object->GetDBField('CustomTemplate'); - if (!$template_name || !$this->Application->TemplatesCache->TemplateExists($template_name)) { - $template_name = $params['default_template']; - } - - $block_params['name'] = $template_name; - - // parse template - return $this->Application->ParseBlock($block_params); - } - - /** - * Changes title preset of "Duplicate checker" section to show current grouping - * - * @param Array $params - */ - function ModifyUnitConfig($params) - { - $grid = array_key_exists('grid', $params) ? $params['grid'] : false; - if ($grid != 'Duplicates') { - // only for "Duplicate Checker" section - return ; - } - - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - // 1. get current grouping - $grouping = $link_helper->getGrouping( $this->getPrefixSpecial() ); - - // 2. replace field names in grouping with their corresponding column titles - $grids = $this->Application->getUnitOption($this->Prefix, 'Grids'); - foreach ($grouping as $index => $group_field) { - $group_field = preg_replace('/^l[\d]+_/', '', $group_field); // remove ml prefix - $grouping[$index] = $this->Application->Phrase($grids[$grid]['Fields'][$group_field]['title']); - } - - // 3. patch resulting title preset - $concat_with = "' " . $this->Application->Phrase('la_and') . " '"; - $title_presets = $this->Application->getUnitOption($this->Prefix, 'TitlePresets'); - $title_presets['duplicate_links'] = str_replace('%s', "'" . implode($concat_with, $grouping) . "'", $title_presets['duplicate_links']); - - $this->Application->setUnitOption($this->Prefix, 'TitlePresets', $title_presets); - } - - /** - * Allows to modify block params & current list record before PrintList parses record - * - * @param kDBList $object - * @param Array $block_params - */ - function PrepareListElementParams(&$object, &$block_params) - { - $grid = array_key_exists('grid', $block_params) ? $block_params['grid'] : false; - if ($grid != 'Duplicates') { - // only for "Duplicate Checker" section - return ; - } - - static $grouping = null; - - if (!isset($grouping)) { - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - // 1. get current grouping - $grouping = $link_helper->getGrouping( $this->getPrefixSpecial() ); - } - - $fields_hash =& $object->getCurrentRecord(); - - $key_fields = Array (); - foreach ($grouping as $group_field) { - $key_fields[$group_field] = $fields_hash[$group_field]; - } - - $fields_hash['LinkId'] = base64_encode( serialize($key_fields) ); - } -} \ No newline at end of file Index: branches/5.0.x/in-link/units/links/links_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/links/links_config.php (revision 12746) +++ branches/5.0.x/in-link/units/links/links_config.php (revision 0) @@ -1,571 +0,0 @@ - 'l', - 'ItemClass' => Array('class'=>'kCatDBItem','file'=>'','build_event'=>'OnItemBuild'), - 'ListClass' => Array('class'=>'kCatDBList','file'=>'','build_event'=>'OnListBuild'), - 'EventHandlerClass' => Array('class' => 'LinksEventHandler', 'file' => 'links_event_handler.php', 'require_classes' => Array('kCatDBEventHandler'), 'build_event'=>'OnBuild'), - 'TagProcessorClass' => Array('class'=>'LinkTagProcessor','file'=>'link_tag_processor.php', 'require_classes' => Array('kCatDBTagProcessor'), 'build_event'=>'OnBuild'), - 'AutoLoad' => true, - - 'ConfigPriority' => 0, - - 'RewritePriority' => 101, - 'RewriteListener' => 'ModRewriteHelper:CategoryItemRewriteListener', - - 'Hooks' => Array ( - Array ( - 'Mode' => hBEFORE, - 'Conditional' => false, - 'HookToPrefix' => '', - 'HookToSpecial' => '*', - 'HookToEvent' => Array('OnAfterConfigRead'), - 'DoPrefix' => 'cdata', - 'DoSpecial' => '*', - 'DoEvent' => 'OnDefineCustomFields', - ), - - Array ( - 'Mode' => hBEFORE, - 'Conditional' => false, - 'HookToPrefix' => '', - 'HookToSpecial' => '*', - 'HookToEvent' => Array('OnAfterConfigRead'), - 'DoPrefix' => '#file', - 'DoSpecial' => '*', - 'DoEvent' => 'OnDefineFiles', - ), - Array ( - 'Mode' => hAFTER, - 'Conditional' => false, - 'HookToPrefix' => '', - 'HookToSpecial' => '*', - 'HookToEvent' => Array('OnAfterConfigRead'), - 'DoPrefix' => 'captcha', - 'DoSpecial' => '*', - 'DoEvent' => 'OnPrepareCaptcha', - ), - ), - - 'QueryString' => Array( - 1 => 'id', - 2 => 'Page', - 3 => 'event', - 4 => 'mode', - ), - - 'AggregateTags' => Array ( - Array ( - 'AggregateTo' => 'l', - 'AggregatedTagName' => 'ListLinks', - 'LocalTagName' => 'PrintList2', - ), - ), - - 'CatalogItem' => true, - 'AdminTemplatePath' => 'links', - 'AdminTemplatePrefix' => 'links_', - 'SearchConfigPostfix' => 'links', - - 'IDField' => 'LinkId', - 'StatusField' => Array('Status'), // field, that is affected by Approve/Decline events - - 'ItemType' => 4, - - 'StatisticsInfo' => Array( - 'pending' => Array( - 'icon' => 'icon16_link_pending.png', - 'label' => 'la_Text_Links', - 'js_url' => '#url#', - 'url' => Array('t' => 'catalog/advanced_view', 'SetTab' => 'l', 'pass' => 'm,l.showall', 'l.showall_event' => 'OnSetFilterPattern', 'l.showall_filters' => 'show_active=0,show_pending=1,show_disabled=0,show_new=1,show_hot=1,show_pop=1,show_pick=1'), - 'status' => STATUS_PENDING, - ), - ), - - 'TitlePhrase' => 'la_Text_Link', // phrase used to specify item type in relationship list - - 'ViewMenuPhrase' => 'la_title_Links', - 'CatalogTabIcon' => 'in-link:icon16_links.png', - 'UsePendingEditing' => true, // item editing is controlled by LINK.ADD/EDIT, LINK.ADD/EDIT.PENDING permissions - - 'CatalogSelectorName' => 'linklist', // used in old catalog section - - 'ItemPropertyMappings' => Array( - 'NewDays' => 'Link_NewDays', // number of days item to be NEW - 'MinPopVotes' => 'Link_MinPopVotes', // minimum number of votes for an item to be POP - 'MinPopRating' => 'Link_MinPopRating', // minimum rating for an item to be POP - 'MaxHotNumber' => 'Link_MaxHotNumber', // maximum number of HOT items - - 'HotLimit' => 'Link_HotLimit', // variable name in inp_Cache table - 'ClickField' => 'Hits', // item click count is stored here (in item table) - ), - - 'TitleField' => 'Name', - - 'TitlePresets' => Array( - 'default' => Array( - 'new_status_labels' => Array('l' => '!la_title_AddingLink!'), - 'edit_status_labels' => Array('l'=>'!la_title_EditingLink!'), - 'new_titlefield' => Array('l'=>'!la_title_NewLink!'), - ), - - 'links_edit' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_General!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'), - ), - - 'link_list' => Array( - 'prefixes' => Array('c_List', 'l_List'), - 'format' => "!la_title_Categories! (#c_recordcount#) - !la_title_Links!", - 'toolbar_buttons' => Array (), - ), - - 'links_categories' => Array( - 'prefixes' => Array('l','l-ci_List'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Categories!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'delete', 'setprimary',), - ), - - 'links_relations' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Relations!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'approve', 'decline', 'view', 'dbl-click'), - ), - - 'links_images' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Images!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'move_up', 'move_down', 'setprimary', 'view', 'dbl-click'), - ), - - 'links_files' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Files!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'view', 'dbl-click'), - ), - - 'links_reviews' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Reviews!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next', 'new_item', 'edit', 'delete', 'approve', 'decline', 'move_up', 'move_down', 'view', 'dbl-click'), - ), - - 'links_custom' => Array( - 'prefixes' => Array('l'), 'format' => "#l_status# '#l_titlefield#' - !la_title_Custom!", - 'toolbar_buttons' => Array ('select', 'cancel', 'prev', 'next'), - ), - - 'images_edit' => Array( - 'prefixes' => Array('l', 'l-img'), - 'new_status_labels' => Array('l-img' => '!la_title_Adding_Image!'), - 'edit_status_labels' => Array('l-img' => '!la_title_Editing_Image!'), - 'new_titlefield' => Array('l-img' => '!la_title_New_Image!'), - 'format' => "#l_status# '#l_titlefield#' - #l-img_status# '#l-img_titlefield#'", - 'toolbar_buttons' => Array ('select', 'cancel'), - ), - - 'file_edit' => Array ( - 'prefixes' => Array ('l', 'l-file'), - 'new_status_labels' => Array ('l-file' => "!la_title_AddingFile!"), - 'edit_status_labels' => Array ('l-file' => '!la_title_EditingFile!'), - 'new_titlefield' => Array ('l-file' => '!la_title_NewFile!'), - 'format' => "#l_status# '#l_titlefield#' - #l-file_status# '#l-file_titlefield#'", - 'toolbar_buttons' => Array ('select', 'cancel'), - ), - - 'reviews_edit' => Array( - 'prefixes' => Array('l', 'l-rev'), - 'new_status_labels' => Array('l-rev'=>"!la_title_Adding_Review! '!la_title_New_Review!'"), - 'edit_status_labels' => Array('l-rev'=>'!la_title_Editing_Review!'), - 'format' => "#l_status# '#l_titlefield#' - #l-rev_status#", - 'toolbar_buttons' => Array ('select', 'cancel'), - ), - - 'relations_edit' => Array( - 'prefixes' => Array('l', 'l-rel'), - 'new_status_labels' => Array('l-rel'=>"!la_title_Adding_Relationship! '!la_title_New_Relationship!'"), - 'edit_status_labels' => Array('l-rel'=>'!la_title_Editing_Relationship!'), - 'format' => "#l_status# '#l_titlefield#' - #l-rel_status#", - 'toolbar_buttons' => Array ('select', 'cancel'), - ), - - 'links_export' => Array('format' => '!la_title_LinksExport!'), - - 'links_import' => Array('format' => '!la_title_ImportLinks!'), - - 'duplicate_links' => Array( - 'prefixes' => Array('l.duplicates_List'), 'format' => "!la_title_DuplicateLinks! - %s", - 'toolbar_buttons' => Array ('edit', 'view', 'dbl-click'), - ), - - 'duplicate_links_view' => Array( - 'prefixes' => Array('l.duplicates-sub_List'), 'format' => "!la_title_Links!", - 'toolbar_buttons' => Array ('cancel', 'edit', 'delete', 'merge_links', 'view', 'dbl-click'), - ), - - 'tree_in-link' => Array('format' => '!la_Text_Version! '.$this->Application->findModule('Name', 'In-Link', 'Version')), - ), - - 'EditTabPresets' => Array ( - 'Default' => Array ( - 'general' => Array ('title' => 'la_tab_General', 't' => 'in-link/links/links_edit', 'priority' => 1), - 'categories' => Array ('title' => 'la_tab_Categories', 't' => 'in-link/links/links_categories', 'priority' => 2), - 'relations' => Array ('title' => 'la_tab_Relations', 't' => 'in-link/links/links_relations', 'priority' => 3), - 'images' => Array ('title' => 'la_tab_Images', 't' => 'in-link/links/links_images', 'priority' => 4), - 'files' => Array ('title' => 'la_tab_Files', 't' => 'in-link/links/links_files', 'priority' => 5), - 'reviews' => Array ('title' => 'la_tab_Reviews', 't' => 'in-link/links/links_reviews', 'priority' => 6), - 'custom' => Array ('title' => 'la_tab_Custom', 't' => 'in-link/links/links_custom', 'priority' => 7), - ), - ), - - 'PermItemPrefix' => 'LINK', - - 'PermTabText' => 'In-Link', - 'PermSection' => Array('main' => 'CATEGORY:in-link:links_list', 'search' => 'in-link:configuration_search', 'email' => 'in-link:configuration_email', 'custom' => 'in-link:configuration_custom'), - - 'Sections' => Array( - 'in-link' => Array( - 'parent' => 'in-portal:root', - 'icon' => 'settings_in-link', - 'label' => 'la_title_In-Link', - 'url' => Array('t' => 'index', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array('view'), - 'priority' => 2.3, - 'container' => true, - 'type' => stTREE, - ), - - 'in-link:links' => Array( - 'parent' => 'in-portal:site', - 'icon' => 'links', - 'label' => 'la_tab_Links', - 'url' => Array('t' => 'catalog/advanced_view', 'anchor' => 'tab-l.showall', 'pass' => 'm'), - 'onclick' => 'setCatalogTab(\'l.showall\')', - 'permissions' => Array('view'), - 'priority' => 3.1, - 'type' => stTREE, - ), - - 'in-link:duplicate_checker' => Array( - 'parent' => 'in-link', - 'icon' => 'duplicate_checker', - 'label' => 'la_tab_DuplicateChecker', - 'url' => Array('t' => 'in-link/duplicate_checker', 'pass' => 'm'), - 'permissions' => Array('view', 'add', 'edit', 'delete'), - 'priority' => 2, - 'type' => stTREE, - ), - - // link settings - 'in-link:setting_folder' => Array ( - 'parent' => 'in-portal:system', - 'icon' => 'conf_directory', - 'label' => 'la_title_In-Link', - 'url' => Array ('t' => 'index', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array ('view'), - 'priority' => 3.3, - 'container' => true, - 'type' => stTREE, - ), - - /*'in-link:inlink_general' => Array( - 'parent' => 'in-link:setting_folder', - 'icon' => 'core:settings_general', - 'label' => 'la_tab_GeneralSettings', - 'url' => Array('t' => 'config/config_general', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array('view', 'edit'), - 'priority' => 0.9, - 'type' => stTREE, - ),*/ - - 'in-link:configuration_output' => Array( - 'parent' => 'in-link:setting_folder', - 'icon' => 'core:conf_output', - 'label' => 'la_tab_ConfigOutput', - 'url' => Array('t' => 'config/config_general', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array('view', 'edit'), - 'priority' => 1, - 'type' => stTREE, - ), - - 'in-link:configuration_search' => Array( - 'parent' => 'in-link:setting_folder', - 'icon' => 'core:conf_search', - 'label' => 'la_tab_ConfigSearch', - 'url' => Array('t' => 'config/config_search', 'module_key' => 'links', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array('view', 'edit'), - 'priority' => 2, - 'type' => stTREE, - ), - - 'in-link:configuration_email' => Array( - 'parent' => 'in-link:setting_folder', - 'icon' => 'core:conf_email', - 'label' => 'la_tab_ConfigE-mail', - 'url' => Array('t' => 'config/config_email', 'pass_section' => true, 'pass' => 'm'), - 'permissions' => Array('view', 'edit'), - 'priority' => 3, - 'type' => stTREE, - ), - - 'in-link:configuration_custom' => Array( - 'parent' => 'in-link:setting_folder', - 'icon' => 'core:conf_customfields', - 'label' => 'la_tab_ConfigCustom', - 'url' => Array('t' => 'custom_fields/custom_fields_list', 'cf_type' => 4, 'pass_section' => true, 'pass' => 'm,cf'), - 'permissions' => Array('view', 'add', 'edit', 'delete'), - 'priority' => 4, - 'type' => stTREE, - ), - ), - - 'FilterMenu' => Array( - 'Groups' => Array( - Array('mode' => 'AND', 'filters' => Array('show_active','show_pending','show_disabled'), 'type' => WHERE_FILTER), - Array('mode' => 'AND', 'filters' => Array('show_new'), 'type' => HAVING_FILTER), - Array('mode' => 'AND', 'filters' => Array('show_hot'), 'type' => HAVING_FILTER), - Array('mode' => 'AND', 'filters' => Array('show_pop'), 'type' => HAVING_FILTER), - Array('mode' => 'AND', 'filters' => Array('show_pick'), 'type' => WHERE_FILTER), - ), - 'Filters' => Array( - 'show_active' => Array('label' =>'la_Active', 'on_sql' => '', 'off_sql' => '%1$s.Status != 1' ), - 'show_pending' => Array('label' => 'la_Pending', 'on_sql' => '', 'off_sql' => '%1$s.Status != 2' ), - 'show_disabled' => Array('label' => 'la_Disabled', 'on_sql' => '', 'off_sql' => '%1$s.Status != 0' ), - 's1' => Array(), - 'show_new' => Array('label' => 'la_Text_New', 'on_sql' => '', 'off_sql' => '`IsNew` != 1' ), - 'show_hot' => Array('label' => 'la_Text_Hot', 'on_sql' => '', 'off_sql' => '`IsHot` != 1' ), - 'show_pop' => Array('label' => 'la_Text_Pop', 'on_sql' => '', 'off_sql' => '`IsPop` != 1' ), - 'show_pick' => Array('label' => 'la_prompt_EditorsPick', 'on_sql' => '', 'off_sql' => '%1$s.`EditorsPick` != 1' ), - ) - ), - - 'TableName' => TABLE_PREFIX.'Link', - - 'CalculatedFields' => Array ( - '' => Array ( - 'UserName' => 'IF (ISNULL(u.Login), IF (%1$s.CreatedById = -1, "root", IF (%1$s.CreatedById = -2, "Guest", "n/a")), u.Login)', - 'CategoryId' => TABLE_PREFIX.'%3$sCategoryItems.CategoryId', - 'Filename' => TABLE_PREFIX.'%3$sCategoryItems.Filename', - 'CategoryFilename' => TABLE_PREFIX.'Category.NamedParentPath', - 'PrimaryCat' => TABLE_PREFIX.'%3$sCategoryItems.PrimaryCat', - 'ParentPath' => TABLE_PREFIX.'Category.ParentPath', - - 'SameImages' => 'img.SameImages', - 'LocalThumb' => 'img.LocalThumb', - 'ThumbPath' => 'img.ThumbPath', - 'ThumbUrl' => 'img.ThumbUrl', - 'LocalImage' => 'img.LocalImage', - 'LocalPath' => 'img.LocalPath', - 'FullUrl' => 'img.Url', - ), - ), - - 'CacheModRewrite' => true, - - 'AggregatedCalculatedFields' => Array( - - 'duplicates' => Array ( - 'DupeCount' => 'COUNT(*)', - ), - ), - - - 'ListSQLs' => Array( ''=>' SELECT %1$s.* %2$s - FROM %1$s - LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId - LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId - LEFT JOIN '.TABLE_PREFIX.'Images img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1 - LEFT JOIN '.TABLE_PREFIX.'PermCache perm ON perm.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId - LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId - LEFT JOIN '.TABLE_PREFIX.'%3$sLinkCustomData cust ON %1$s.ResourceId = cust.ResourceId', - - ), // key - special, value - list select sql - - 'ListSortings' => Array( - '' => Array( - 'ForcedSorting' => Array('Priority' => 'desc'), - 'Sorting' => Array('Name' => 'asc', 'Description' => 'desc'), - ) - ), - 'ItemSQLs' => Array( ''=>' SELECT %1$s.* %2$s - FROM %1$s - LEFT JOIN '.TABLE_PREFIX.'%3$sCategoryItems ON '.TABLE_PREFIX.'%3$sCategoryItems.ItemResourceId = %1$s.ResourceId - LEFT JOIN '.TABLE_PREFIX.'Category ON '.TABLE_PREFIX.'Category.CategoryId = '.TABLE_PREFIX.'%3$sCategoryItems.CategoryId - LEFT JOIN '.TABLE_PREFIX.'Images img ON img.ResourceId = %1$s.ResourceId AND img.DefaultImg = 1 - LEFT JOIN '.TABLE_PREFIX.'PortalUser u ON %1$s.CreatedById = u.PortalUserId - LEFT JOIN '.TABLE_PREFIX.'%3$sLinkCustomData cust ON %1$s.ResourceId = cust.ResourceId'), - - 'SubItems' => Array('l-rev', 'l-ci', 'l-rel', 'l-img', 'l-cdata', 'l-fav', 'l-file'), - - 'Fields' => Array ( - 'LinkId' => Array('type' => 'int', 'not_null' => 1, 'default' => 0,), - 'Name' => Array('type' => 'string', 'formatter' => 'kMultiLanguage', 'not_null' => 1, 'required' => 1, 'max_len' => 255, 'default' => ''), - 'AutomaticFilename' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 1), - 'Description' => Array('type' => 'string', 'formatter' => 'kMultiLanguage', 'using_fck' => 1, 'default' => null), - 'Url' => Array('type' => 'string', 'not_null' => 1, 'required' => 1, 'default' => ''), - 'CreatedOn' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'), - 'Modified' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => '#NOW#'), - 'Expire' => Array('type' => 'int', 'formatter' => 'kDateFormatter', 'default' => null), - 'Hits' => Array('type' => 'double', 'formatter' => 'kFormatter', 'format' => '%d', 'not_null' => 1, 'default' => 0), - 'CachedRating' => Array('type' => 'string', 'not_null' => 1, 'formatter' => 'kFormatter', 'default' => 0), - 'CachedVotesQty' => Array('type' => 'int', 'formatter' => 'kFormatter', 'not_null' => 1, 'default' => 0), - 'CachedReviewsQty' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), - 'CreatedById' => Array('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array(-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1, 'default' => -1), - 'ModifiedById' => Array('type' => 'int', 'formatter' => 'kLEFTFormatter', 'error_msgs' => Array ('invalid_option' => '!la_error_UserNotFound!'), 'options' => Array(-1 => 'root', -2 => 'Guest'),'left_sql'=>'SELECT %s FROM '.TABLE_PREFIX.'PortalUser WHERE `%s` = \'%s\'', 'left_key_field' => 'PortalUserId', 'left_title_field' => 'Login', 'not_null' => 1, 'default' => -1), - 'Priority' => Array('type' => 'int', 'not_null' => 1, 'default' => 0), - 'Status' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Active', 2 => 'la_Pending', 0 => 'la_Disabled'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 2), - 'EditorsPick' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'not_null' => 1, 'default' => 0), - 'ResourceId' => Array('type' => 'int', 'default' => null), - 'HotItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), - 'PopItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), - 'NewItem' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (2 => 'la_Auto', 1 => 'la_Always', 0 => 'la_Never'), 'use_phrases' => 1, 'not_null' => 1,'default' => 2), - 'OrgId' => Array('type' => 'int', 'default' => null), - 'CustomTemplate' => Array('type' => 'string', 'not_null' => 1, 'default' => ''), - 'MetaKeywords' => Array('type' => 'string', 'default' => null), - 'MetaDescription' => Array('type' => 'string', 'formatter' => 'kFormatter', 'using_fck' => 1, 'default' => null), - 'ReciprocalLinkFound' => Array ( - 'type' => 'int', - 'formatter' => 'kOptionsFormatter', 'options' => Array (0 => 'la_NotChecked', 1 => 'la_Yes', 2 => 'la_No'), 'use_phrases' => 1, - 'not_null' => 1, 'default' => 0 - ), - ), - - 'VirtualFields' => Array( - 'UserName' => Array('type' => 'string', 'default' => ''), - 'DupeCount' => Array('type' => 'string', 'default' => ''), - - 'ListingTypeId' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options_sql' => 'SELECT %1$s FROM '.TABLE_PREFIX.'ListingTypes ORDER BY Name', 'option_title_field' => 'Name', 'option_key_field' => 'ListingTypeId', 'default' => 0), - - 'MoreCategories' => Array ('type' => 'string', 'default' => ''), - - // export related fields: begin - 'CategoryId' => Array ('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array (), 'default' => 0), - 'ExportFormat' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'CSV', /*2 => 'XML'*/), 'default' => 1), - 'ExportFilename' => Array('type' => 'string', 'default' => ''), - 'FieldsSeparatedBy' => Array('type' => 'string', 'default' => ','), - 'FieldsEnclosedBy' => Array('type' => 'string', 'default' => '"'), - 'LineEndings' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'Windows', 2 => 'UNIX'), 'default' => 1), - 'LineEndingsInside' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'CRLF', 2 => 'LF'), 'default' => 2), - 'IncludeFieldTitles' => Array('type' => 'int', 'default' => 1), - 'ExportColumns' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array()), - 'AvailableColumns' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array()), - 'CategoryFormat' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_MixedCategoryPath', 2 => 'la_SeparatedCategoryPath'), 'use_phrases' => 1, 'default' => 1), - 'CategorySeparator' => Array('type' => 'string', 'error_field' => 'CategoryFormat', 'default' => ':'), - 'IsBaseCategory' => Array('type' => 'int', 'default' => 0), - // export related fields: end - - // import related fields: begin - 'FieldTitles' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Automatic', 2 => 'la_Manual'), 'use_phrases' => 1, 'default' => 1), - 'ImportSource' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Upload', 2 => 'la_Local'), 'use_phrases' => 1, 'default' => 2), - 'ImportFilename' => Array('type' => 'string', 'formatter' => 'kUploadFormatter', 'max_size' => MAX_UPLOAD_SIZE, 'upload_dir' => (defined('EXPORT_BASE_PATH') ? EXPORT_BASE_PATH : '/system/export') . '/'), - 'ImportLocalFilename' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'default' => ''), - 'CheckDuplicatesMethod' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_IDField', 2 => 'la_OtherFields'), 'use_phrases' => 1, 'default' => 1), - 'ReplaceDuplicates' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(0 => 'la_No', 1 => 'la_Yes'), 'use_phrases' => 1, 'default' => 0), - 'DuplicateCheckFields' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('Name' => 'NAME', 'Url' => 'URL'), 'default' => '|Name|Url|'), - 'SkipFirstRow' => Array('type' => 'int', 'formatter' => 'kOptionsFormatter', 'options' => Array(1 => 'la_Yes', 0 => 'la_No'), 'use_phrases' => 1, 'default' => 1), - // import related fields: end - - 'ThumbnailImage' => Array('type' => 'string', 'default' => ''), - 'FullImage' => Array('type' => 'string', 'default' => ''), - 'ImageAlt' => Array('type' => 'string', 'default' => ''), - - 'Filename' => Array('type' => 'string','not_null' => 1,'default' => ''), - 'CachedNavbar' => Array('type' => 'string', 'default' => ''), - 'ParentPath' => Array('type' => 'string', 'default' => ''), - - // for primary image - 'SameImages' => Array('type' => 'string', 'default' => ''), - 'LocalThumb' => Array('type' => 'string', 'default' => ''), - 'ThumbPath' => Array('type' => 'string', 'default' => ''), - 'ThumbUrl' => Array('type' => 'string', 'default' => ''), - 'LocalImage' => Array('type' => 'string', 'default' => ''), - 'LocalPath' => Array('type' => 'string', 'default' => ''), - 'FullUrl' => Array('type' => 'string', 'default' => ''), - ), - - 'Grids' => Array ( - 'Default' => Array ( - 'Icons' => Array ( - 0 => 'icon16_link_disabled.png', - 1 => 'icon16_link.png', - 2 => 'icon16_link_pending.png', - 'NEW' => 'icon16_link_new.png', - ), - 'Fields' => Array ( - 'LinkId' => Array ('title'=>'la_col_Id', 'data_block' => 'grid_checkbox_td', 'filter_block' => 'grid_range_filter', 'width' => 60, ), - 'Name' => Array ('title'=>'la_col_LinkName', 'data_block' => 'grid_catitem_td', 'width' => 200, ), - 'Url' => Array ('title' => 'la_col_LinkUrl', 'width' => 200, ), - 'Description' => Array ('title' => 'la_col_Description', 'first_chars' => 100, 'width' => 100, ), - 'CreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ), - 'Modified' => Array ('title' => 'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ), - 'Status' => Array('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 70, ), - 'Hits' => Array ('title' => 'la_col_Hits', 'filter_block' => 'grid_range_filter', 'width' => 60, ), - 'CachedRating' => Array ('title' => 'la_col_Rating', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'CachedVotesQty' => Array ('title' => 'la_col_VoteCount', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'CachedReviewsQty' => Array ('title' => 'la_col_ReviewCount', 'filter_block' => 'grid_range_filter', 'width' => 85, ), - ), - ), - - 'Radio' => Array ( - 'Icons' => Array ( - 0 => 'icon16_link_disabled.png', - 1 => 'icon16_link.png', - 2 => 'icon16_link_pending.png', - 'NEW' => 'icon16_link_new.png', - ), - 'Selector' => 'radio', - 'Fields' => Array ( - 'LinkId' => Array ('title'=>'la_col_Id', 'data_block' => 'grid_radio_td', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'Name' => Array ('title'=>'la_col_LinkName', 'data_block' => 'grid_catitem_td', 'width' => 200, ), - 'Url' => Array ('title' => 'la_col_LinkUrl', 'width' => 200, ), - 'Description' => Array ('title' => 'la_col_Description', 'first_chars' => 100, 'width' => 100, ), - 'CreatedOn' => Array ('title' => 'la_col_CreatedOn', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ), - 'Modified' => Array ('title' => 'la_col_Modified', 'filter_block' => 'grid_date_range_filter', 'width' => 145, ), - 'Status' => Array('title' => 'la_col_Status', 'filter_block' => 'grid_options_filter', 'width' => 70, ), - 'Hits' => Array ('title' => 'la_col_Hits', 'filter_block' => 'grid_range_filter', 'width' => 60, ), - 'CachedRating' => Array ('title' => 'la_col_Rating', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'CachedVotesQty' => Array ('title' => 'la_col_VoteCount', 'filter_block' => 'grid_range_filter', 'width' => 70, ), - 'CachedReviewsQty' => Array ('title' => 'la_col_ReviewCount', 'filter_block' => 'grid_range_filter', 'width' => 85, ), - ), - ), - - 'Duplicates' => Array ( - 'Icons' => Array ( - 0 => 'icon16_link_disabled.png', - 1 => 'icon16_link.png', - 2 => 'icon16_link_pending.png', - 'NEW' => 'icon16_link_new.png', - ), - - 'Fields' => Array ( - 'Name' => Array ('title' => 'la_col_LinkName', 'filter_block' => 'grid_like_filter', 'width' => 250, ), - 'Url' => Array ('title' => 'la_col_LinkUrl', 'filter_block' => 'grid_like_filter', 'width' => 300, ), - 'DupeCount' => Array ('title' => 'la_col_DupeCount', 'filter_block' => 'grid_range_filter', 'width' => 100, ), - ), - ), - ), - - - 'ConfigMapping' => Array( - 'PerPage' => 'Perpage_Links', - 'ShortListPerPage' => 'Perpage_Links_Short', - 'ForceEditorPick' => 'Link_ShowPick', - 'DefaultSorting1Field' => 'Link_SortField', - 'DefaultSorting2Field' => 'Link_SortField2', - 'DefaultSorting1Dir' => 'Link_SortOrder', - 'DefaultSorting2Dir' => 'Link_SortOrder2', - - 'RatingDelayValue' => 'link_RatingDelay_Value', - 'RatingDelayInterval' => 'link_RatingDelay_Interval', - - ), - ); \ No newline at end of file Index: branches/5.0.x/in-link/units/links/links_event_handler.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/links/links_event_handler.php (revision 12746) +++ branches/5.0.x/in-link/units/links/links_event_handler.php (revision 0) @@ -1,488 +0,0 @@ - Array('self' => true), - 'OnProcessReciprocalLinks' => Array('self' => true), - 'OnSetGrouping' => Array('self' => 'view'), - 'OnStoreSelected' => Array('self' => 'view'), - 'OnMerge' => Array('self' => 'edit'), - ); - $this->permMapping = array_merge($this->permMapping, $permissions); - } - - /** - * Enter description here... - * - * @param kEvent $event - */ - function SetCustomQuery(&$event) - { - parent::SetCustomQuery($event); - - $object =& $event->getObject(); - - if (!$this->Application->isAdminUser) { - $object->addFilter('expire_filter', '(Expire > '.adodb_mktime().' OR Expire IS NULL)'); - } - - if (substr($event->Special, 0, 10) == 'duplicates') { - $object->removeFilter('category_filter'); - - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - $grouping = $link_helper->getGrouping( $event->getPrefixSpecial() ); - switch ($event->Special) { - case 'duplicates': - foreach ($grouping as $group_field) { - $object->AddGroupByField($object->TableName.'.'.$group_field); - } - $object->addFilter('has_dupes_filter', 'DupeCount > 1', AGGREGATE_FILTER, FLT_SYSTEM); - break; - - case 'duplicates-sub': - $main_object =& $this->Application->recallObject($event->Prefix.'.duplicates'); - foreach ($grouping as $field_index => $group_field) { - $object->addFilter('dupe_filter_'.$field_index, '%1$s.`'.$group_field.'` = '.$this->Conn->qstr($main_object->GetDBField($group_field)) ); - } - break; - } - $object->addFilter('primary_filter', TABLE_PREFIX.'CategoryItems.PrimaryCat = 1'); - } - - } - - /** - * Set groping fields for link duplicate checker - * - * @param kEvent $event - */ - function OnSetGrouping(&$event) - { - $this->Application->LinkVar($event->getPrefixSpecial(true).'_dupe_fields', $event->getPrefixSpecial().'_dupe_fields'); - } - - /** - * Merge duplicate links together (only categories) & delete duplicates - * - * @param kEvent $event - */ - function OnMerge(&$event) - { - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - $grouping = $link_helper->getGrouping( $event->getPrefixSpecial() ); - - $ids = $this->StoreSelectedIDs($event); - if (!$ids) { - return true; - } - - // check, that user has not selected multiple links from same group - $primary_links = Array(); - - $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); - $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); - $sql = 'SELECT * - FROM '.$table_name.' - WHERE '.$id_field.' IN ('.implode(',', $ids).')'; - $links = $this->Conn->Query($sql, $id_field); - - $groping_error = false; - foreach ($links as $link_id => $link_data) { - $group_key = ''; - foreach ($grouping as $grouping_field) { - $group_key .= 'main_table.`'.$grouping_field.'` = '.$this->Conn->qstr($link_data[$grouping_field]).' AND '; - } - $group_key = substr($group_key, 0, -5); - - if (isset($primary_links[$group_key])) { - $groping_error = true; - break; - } - else { - $primary_links[$group_key] = $link_data['ResourceId']; - } - } - - if (!$groping_error) { - $temp =& $this->Application->recallObject($event->getPrefixSpecial().'_TempHandler', 'kTempTablesHandler'); - - $categories_sql = 'SELECT main_table.ResourceId, ci.CategoryId, main_table.'.$id_field.' - FROM '.$table_name.' main_table - LEFT JOIN '.TABLE_PREFIX.'CategoryItems ci ON main_table.ResourceId = ci.ItemResourceId - WHERE %s'; - - foreach ($primary_links as $group_key => $primary_resource_id) { - $categories = Array(); - $group_links = Array(); - $group_categories = $this->Conn->Query(sprintf($categories_sql, $group_key)); - foreach ($group_categories as $category_data) { - $group_links[ $category_data['ResourceId'] ] = $category_data[$id_field]; - $categories[$category_data['ResourceId'] == $primary_resource_id ? 'remove' : 'add'][] = $category_data['CategoryId']; - } - unset($group_links[$primary_resource_id]); - $categories = array_unique( array_diff($categories['add'], $categories['remove']) ); - if ($categories) { - // add link to other link categories - $values_sql = ''; - foreach ($categories as $category_id) { - $values_sql .= '('.$category_id.','.$primary_resource_id.',0),'; - } - $values_sql = substr($values_sql, 0, -1); - $insert_sql = 'INSERT INTO '.TABLE_PREFIX.'CategoryItems (CategoryId,ItemResourceId,PrimaryCat) VALUES '.$values_sql; - $this->Conn->Query($insert_sql); - } - - // delete all links from group except primary - $temp->DeleteItems($event->Prefix, $event->Special, array_values($group_links)); - } - - - } - else { - $event->status = erFAIL; - $event->redirect = false; - $this->Application->SetVar($event->getPrefixSpecial().'_error', 1); - } - - } - - /** - * Stores ids, that were selected in duplicate checker - * - * @param kEvent $event - */ - function OnStoreSelected(&$event) - { - $this->StoreSelectedIDs($event); - - $event->SetRedirectParam('pass', 'm,' . $event->getPrefixSpecial()); - } - - /** - * Allows to enhance link after creation - * - * @param kEvent $event - */ - function OnCreate(&$event) - { - parent::OnCreate($event); - - if ($event->status == erSUCCESS) { - $object =& $event->getObject(); - /* @var $object kDBItem */ - - // replace 0 id in post with actual created id (used in enhancement process) - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - array_rename_key($items_info, 0, $object->GetID()); - $this->Application->SetVar($event->getPrefixSpecial(true), $items_info); - - // listing was created -> enhance it right away - $enhancement_event = new kEvent('ls:OnRequestEnhancement'); - $this->Application->HandleEvent($enhancement_event); - if (($enhancement_event->status == erSUCCESS) && strlen($enhancement_event->redirect)) { - $event->SetRedirectParam('next_template', $event->redirect); - $event->redirect = $enhancement_event->redirect; - } - } - } - - /** - * Adds free listing option to listing type selection - * - * @param kEvent $event - */ - function OnAfterConfigRead(&$event) - { - parent::OnAfterConfigRead($event); - - if (defined('IS_INSTALL') && IS_INSTALL) { - return ; - } - - $free_listings = $this->Application->ConfigValue('Link_AllowFreeListings'); - - $virtual_fields = $this->Application->getUnitOption($event->Prefix, 'VirtualFields'); - $virtual_fields['ListingTypeId']['options'] = $free_listings ? Array (0 => 'lu_free_listing') : Array (); - - $language_id = $this->Application->GetVar('m_lang'); - $duplicate_options = array_flip($virtual_fields['DuplicateCheckFields']['options']); - $duplicate_options['NAME'] = 'l' . $language_id . '_Name'; - $virtual_fields['DuplicateCheckFields']['options'] = array_flip($duplicate_options); - $default = $virtual_fields['DuplicateCheckFields']['default']; - $virtual_fields['DuplicateCheckFields']['default'] = str_replace('|Name|', '|l' . $language_id . '_Name|', $default); - - $this->Application->setUnitOption($event->Prefix, 'VirtualFields', $virtual_fields); - - if (!$this->Application->isAdminUser) { - // for now only on Front-End - $this->Application->setUnitOption($event->Prefix, 'PopulateMlFields', true); - } - } - - /** - * contact us form submitted on link details page - * - * @param kEvent $event - */ - function OnContactFormSubmit(&$event) - { - $fields = Array ( - 'ContactFormFullName', 'ContactFormEmail', 'ContactFormSubject', 'ContactFormBody', 'ContactFormCaptcha' - ); - - // reset errors var - $this->Application->SetVar('ContactForm_HasErrors', ''); - - // 1. validate form fields - $required_fields = $this->Application->GetVar('FormRequiredFields'); - foreach ($fields as $field_name) { - $field_value = trim($this->Application->GetVar($field_name)); - if (in_array($field_name, $required_fields)) { - // custom captcha validation - if ($field_name == 'ContactFormCaptcha') { - if (!strlen($field_value) || ($field_value != $this->Application->RecallVar($event->Prefix . '_captcha_code'))) { - $this->Application->SetVar('error_'.$field_name, 1); - - $captcha_helper =& $this->Application->recallObject('CaptchaHelper'); - /* @var $captcha_helper kCaptchaHelper */ - $this->Application->StoreVar($event->Prefix . '_captcha_code', $captcha_helper->GenerateCaptchaCode()); - - $event->status = erFAIL; - $event->redirect = false; - } - } - // email validation - elseif (!strlen($field_value) || ($field_name == 'ContactFormEmail' && !preg_match('/'.REGEX_EMAIL_USER.'@'.REGEX_EMAIL_DOMAIN.'/', $field_value))) { - $this->Application->SetVar('error_'.$field_name, 1); - $event->status = erFAIL; - $event->redirect = false; - } - - } - } - - if ($event->status != erSUCCESS) { - // set errors var - $this->Application->SetVar('ContactForm_HasErrors', 1); - return ; - } - - $object =& $event->getObject(); // get link object - /* @var $object kDBItem */ - - $send_params = Array( - 'from_name' => $this->Application->GetVar('ContactFormFullName'), - 'from_email' => $this->Application->GetVar('ContactFormEmail'), - 'from_subject' => $this->Application->GetVar('ContactFormSubject'), - 'message' => $this->Application->GetVar('ContactFormBody'), - 'to_linkname' => $object->GetField('Name'), - ); - - $email_event =& $this->Application->EmailEventUser('LINK.CONTACTFORM', $object->GetDBField('CreatedById'), $send_params); - - if ($email_event->status == erSUCCESS) { - $event->redirect = $this->Application->GetVar('success_template'); - - $redirect_params = Array ( - 'opener' => 's', - 'pass' => 'all', - 'thankyou_header' => $this->Application->GetVar('success_label_header'), - 'thankyou_text' => $this->Application->GetVar('success_label_body') - ); - $event->setRedirectParams($redirect_params); - - $this->Application->EmailEventAdmin('LINK.CONTACTFORM', null, $send_params); - } - else { - $this->Application->SetVar('error_ContactFormEmail', 1); - $event->status = erFAIL; - $event->redirect = false; - } - } - - /** - * Makes reciprocal check on link, when it is created - * - * @param kEvent $event - */ - function OnBeforeItemCreate(&$event) - { - parent::OnBeforeItemCreate($event); - - $this->_checkLink($event); - } - - /** - * Makes reciprocal check on link, when it is updated - * - * @param kEvent $event - */ - function OnBeforeItemUpdate(&$event) - { - parent::OnBeforeItemUpdate($event); - - $this->_checkLink($event); - } - - /** - * Makes reciprocal check on link & saves results - * - * @param kEvent $event - */ - function _checkLink(&$event) - { - if (!$this->Application->ConfigValue('ReciprocalLinkChecking')) { - return ; - } - - $object =& $event->getObject(); - /* @var $object kDBItem */ - - if ($object->GetDBField('Url') != $object->GetOriginalField('Url')) { - // check only when url was changed - - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - $link_checked = $link_helper->CheckReciprocalURL($object->GetDBField('Url')); - - $object->SetDBField('ReciprocalLinkFound', $link_checked ? LINK_IS_RECIPROCAL : LINK_IS_NOT_RECIPROCAL); - - if (!$link_checked) { - $this->Application->EmailEventAdmin('LINK.RECIPROCAL.CHECK.FAILED'); - } - } - } - - /** - * Update links status by their reciprocal status - * - * @param kEvent $event - */ - function OnProcessReciprocalLinks(&$event) - { - if (!$this->Application->ConfigValue('ReciprocalLinkChecking')) { - return ; - } - - $object =& $event->getObject( Array('skip_autoload' => true) ); - /* @var $object kDBItem */ - - $link_helper =& $this->Application->recallObject('LinkHelper'); - /* @var $link_helper LinkHelper */ - - // 1. verify all links, that were not verified previously - $sql = 'SELECT ' . $id_field . ' - FROM ' . $table_name . ' - WHERE (ReciprocalLinkFound = 0)'; - $not_checked_links = $this->Conn->GetCol($sql); - - foreach ($not_checked_links as $link_id) { - $object->Load($link_id); - - $link_checked = $link_helper->CheckReciprocalURL($object->GetDBField('Url')); - - $object->SetDBField('ReciprocalLinkFound', $link_checked ? LINK_IS_RECIPROCAL : LINK_IS_NOT_RECIPROCAL); - $object->Update(); - - if ($link_checked) { - $object->ApproveChanges(); - } - else { - $object->DeclineChanges(); - $this->Application->EmailEventAdmin('LINK.RECIPROCAL.CHECK.FAILED'); - } - } - - // 2. approve all links, that have succeeded in reciprocal check (during adding/changing on front-end) - $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); - $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); - - $sql = 'SELECT ' . $id_field . ' - FROM ' . $table_name . ' - WHERE (ReciprocalLinkFound = ' . LINK_IS_RECIPROCAL . ') AND (Status <> ' . STATUS_ACTIVE . ')'; - $verified_links = $this->Conn->GetCol($sql); - - foreach ($verified_links as $link_id) { - $object->Load($link_id); - $object->ApproveChanges(); - } - - // 3. decline all links, that failed in reciprocal check (during adding/changing on front-end) - $sql = 'SELECT ' . $id_field . ' - FROM ' . $table_name . ' - WHERE (ReciprocalLinkFound = ' . LINK_IS_NOT_RECIPROCAL . ') AND (Status <> ' . STATUS_DISABLED . ')'; - $not_verified_links = $this->Conn->GetCol($sql); - - foreach ($not_verified_links as $link_id) { - $object->Load($link_id); - $object->DeclineChanges(); - } - } - - /** - * Allows to load duplicate link by special id - * - * @param kEvent $event - * @return int - */ - function getPassedID(&$event) - { - $id = parent::getPassedID($event); - - if (($event->Special == 'duplicates') && !is_numeric($id)) { - $load_keys = unserialize( base64_decode($id) ); - // can't return $load_keys as $id, because "kCatDBItem::GetKeyClause" will ignore them - - foreach ($load_keys as $field => $value) { - $load_keys[$field] = $field . ' = ' . $this->Conn->qstr($value); - } - - $sql = 'SELECT ' . $this->Application->getUnitOption($event->Prefix, 'IDField') . ' - FROM ' . $this->Application->getUnitOption($event->Prefix, 'TableName') . ' - WHERE (' . implode(') AND (', $load_keys) . ')'; - $id = $this->Conn->GetOne($sql); - } - - return $id; - } - - /** - * Returns events, that require item-based (not just event-name based) permission check - * - * @return Array - */ - function _getMassPermissionEvents() - { - $events = parent::_getMassPermissionEvents(); - $events[] = 'OnMerge'; - - return $events; - } - } \ No newline at end of file Index: branches/5.0.x/in-link/units/helpers/link_helper.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/helpers/link_helper.php (revision 12746) +++ branches/5.0.x/in-link/units/helpers/link_helper.php (revision 0) @@ -1,77 +0,0 @@ -Application->BaseURL()); - - if (preg_match('/(.*)<\\/a.*>/sUi', $html, $ret)) { - return true; - } - - return false; - } - - - /** - * Returns grouping fields for "Duplicate Checker" section - * - * @param string $prefix_special - * @return Array - */ - function getGrouping($prefix_special) - { - // cut "sub" postfix from special - $prefix_special = preg_replace('/(.*)-sub$/', '\\1', $prefix_special); - $grouping = $this->Application->RecallVar($prefix_special . '_dupe_fields'); - - if (!$grouping) { - $grouping = '|Url|'; - $this->Application->StoreVar($prefix_special . '_dupe_fields', $grouping); - } - - return explode('|', substr($grouping, 1, -1)); - } - - } \ No newline at end of file Index: branches/5.0.x/in-link/units/helpers/helpers_config.php =================================================================== diff -u -N --- branches/5.0.x/in-link/units/helpers/helpers_config.php (revision 12746) +++ branches/5.0.x/in-link/units/helpers/helpers_config.php (revision 0) @@ -1,24 +0,0 @@ - 'in-link-helpers', - 'EventHandlerClass' => Array ('class' => 'kEventHandler', 'file' => '', 'build_event' => 'OnBuild'), - - 'RegisterClasses' => Array ( - Array ('pseudo' => 'LinkHelper', 'class' => 'LinkHelper', 'file' => 'link_helper.php', 'build_event' => '', 'require_classes' => 'kHelper'), - ), - ); \ No newline at end of file Index: branches/5.1.x/install.php =================================================================== diff -u -N -r12918 -r13095 --- branches/5.1.x/install.php (.../5.0.x/install.php) (revision 12918) +++ branches/5.1.x/install.php (.../5.1.x/install.php) (revision 13095) @@ -1,6 +1,6 @@