PDA

View Full Version : eSyndiCat 2.2.05 Has Been Released


Sergey Ten
06-24-2008, 09:55 AM
Greetings,

I am glad to announce release our new version 2.2.05 with a lot of bug fixes, implements and new features. Here is list of changes:

#1 ESYN_REALM constant is wrong.
#2 Checking plugin's files after installing.
#3 The count listings is not working when the option 'Forward to listing details' is enabled.
#4 Added characters limit for text area custom field.
#5 Ordering crossed categories bug.
#6 Listing fields are showing up in the page in anycase.
#7 Crossed listings bug.
#8 Get 404 error for crossed listings.
#9 Bug with checking reciprocal link.
#10 Repeating listings in sub categories.
#11 "Leave empty to show everywhere" is not working on add new listing fields page.
#12 Undefined the variable in the exstars.php.
#13 Display error message if the banner.tpl is not uploaded to template directory.
#14 Display error message if the tpl file doesn't exists in the template directory.
#15 Edit listing bug. The script doesn't allow to add empty value even through field is not required.
#16 Improved compatibility with Microsoft IIS.
#17 Visitor sorting bug.
#18 Don't force to set default value for listing field if it is not required. http://www.esyndicat.com/forum/project.php?issueid=277
#19 Bug with updating order field to zero value. http://www.esyndicat.com/forum/project.php?issueid=283
#20 Remove sponsored action in Manage Listings have not properly message. http://www.esyndicat.com/forum/project.php?issueid=105
#21 The custom listign fields are empty on edit page.
#22 Text appears on one line. http://www.esyndicat.com/forum/project.php?issueid=241
#23 Deep links bug on confirmed page. Doesn't show empty deep links.
#24 Get random listings function bug.
#25 Add new hook for google map plugin.
#26 The images directory is wrong. Change it to UserFiles folder.
#27 Account box tabindex bug. http://www.esyndicat.com/forum/project.php?issueid=239
#28 Deep links bug. The deep links don't save. http://www.esyndicat.com/forum/project.php?issueid=233
#29 Don't change listing plan after upgrading listing.
#30 Bug when input the listing URL without http://. The script doesn't add the http:// itself.
#31 Set approval status after editing listing.
#32 The count of comments doesn't increase after approval. http://www.esyndicat.com/forum/about13667.html
#33 The text counter is not working on view details listing page.
#34 Saving the last checked plan.
#35 The quick search functionality has been added.
#36 The thumbnail box fix.
#37 Added the textcounter for textarea fields.
#38 The tooltips for listing fields has been added.
#39 Deleting listing fields bug fix.
#40 Add smarty blocks to individual additional pages functionality. http://www.esyndicat.com/forum/project.php?issueid=109
#41 Remember Me functionality has been added to login page.
#42 The manage listing section, sorting by title field is not working.
#43 Made title listing as link to web site in the manage listing section.
#44 Hide payment box if plan is free and don't redirect to payment processing.
#45 Improved account confirmation notifications.
#46 Search listing does not work in the admin panel with exact match type
#47 Additinal menu has no active class. http://www.esyndicat.com/forum/project.php?issueid=319
#48 Redirect admin to manage categories section after edit category. http://www.esyndicat.com/forum/project.php?issueid=273
#49 Added text counter for description field in the admin panel.
#50 The payment image is not showing if set other template.
#51 The image type field is not showing in the box.
#52 Change the thumbnail service.
#53 Remove confirmation and payment pages.
#54 Suggest listing page correction code.
#55 Added 2 function for getting ids category and plan.
#56 Remove checking of listing fields.
#57 Change payment gatewasy icon.
#58 Add the "afterGetListingList" hook.
#59 New suggest listing page. #1
#60 Plugin list functionality has been added.
#61 Change name plugin for plugin list functionality.
#62 Email is not send when listing status changed to approval.
#63 Comment rating star is not working.
#64 Change hard coded phrase - characters count.
#65 Characters counting bug in the view listings page.
#66 Hide the payment box by default.
#67 Added label for remember me checkbox.
#68 Add label for auto generate checkbox and add the passwords div for hidding passwords fields.
#69 Label for remember me checkbox.
#70 Suggest category the tree categories bug.


WARNING

If you apply patch you will need to reassign all fields to plans and categories manually. I attached script "reassign.php" which help you to reassign ALL your fields to all your plans and categories automatically. You have to upload this file to the root of your directory and run it via browser. For example http://www.site.com/reassign.php


Upgrade is pretty simply.

#1. Backup your current database and files
#2. Download the patch
#3. Reupload patch files to your working version
#4. Execute MySQL dump
Admin Panel- > Manage Database -> Import choose 2205 and click go

Sergey Ten
06-24-2008, 10:10 AM
NOTICE

There are a lot of changes in the template's files. Therefore you have to download new version of template from our downloads section and reupload all files.

Simon Gooffin
06-24-2008, 10:32 AM
Thanks Sergey. Impressive list

We will release all upgraded templates within next few days. Thanks for the patience

WTM
06-24-2008, 10:05 PM
Please post list of all changed tpl files with detailed log what was changed - we can not "reupload" custom templates...

One more thing, Sergey...

Please never make changes to main style.css file! Now I have no idea what to look for and can not overwrite custom styles!
At least if you added new styles or changed something - add it in the end of style.css and clearly mark as "Upgrade 2.2.05 Changes"

Thanks.

Simon Gooffin
06-25-2008, 03:53 AM
WTM, I do not think it's too critical even if you don't apply changes in style.css - it does not contain any logic at all and you can modify it as you wish according to your own template.

Sergey Ten
06-25-2008, 05:22 AM
Sergey as I said there are a lot changes in the template :( I will post the changes asap.

Sergey Ten
06-25-2008, 06:13 AM
[ templates/your_template/css/style.css ]

[ Find code ]

}
input.what
{
border: 1px solid #3F86B9;
background: #FFF url('../img/text-bg.gif') center left repeat-x;
width: 140px;
height: 16px;
}
input.text
{
border: 1px solid #3F86B9;


[ Replace with ]

}
input.what
{
border: 1px solid #3F86B9;
background: #FFF url('../img/text-bg.gif') center left repeat-x;
width: 230px;
height: 16px;
}
input.text
{
border: 1px solid #3F86B9;



[ Find code ]

}
div.preview
{
background: #FFF url('../img/no-preview.gif') center center no-repeat;
border: 1px solid #ccc;
height: 120px;
width: 160px;
}
div.adsense
{
margin: 10px 0;
text-align: center;


[ Replace with ]

}
div.preview
{
background: #FFF url('../img/no-preview.gif') center center no-repeat;
border: 1px solid #ccc;
height: 90px;
width: 120px;
}
div.adsense
{
margin: 10px 0;
text-align: center;



[ Find code ]

p.field
{
font-size: 0.9em;
margin: 0 0 10px 0;
}
div.payment, div.categories-tree
{
padding: 10px;
margin: 10px 0;
border: 1px solid #6397BD;
background: #B4DDFC;


[ Replace with ]

p.field
{
font-size: 0.9em;
margin: 0 0 10px 0;
}
div.categories-tree
{
padding: 10px;
margin: 10px 0;
border: 1px solid #6397BD;
background: #B4DDFC;



[ Find code ]

/* Avoid jumping around due to margins collapsing into collapsible fieldset border */
html fieldset.collapsible .fieldset-wrapper {
/*overflow: auto;*/
}

ul.tree
{
list-style-type: none;
padding:0px;
margin:0px 0px 0px 25px;
}
ul.tree li
{
font-size:12px;
}

/* Star rating */

.boxrating
{
display:block;



[ Replace with ]

/* Avoid jumping around due to margins collapsing into collapsible fieldset border */
html fieldset.collapsible .fieldset-wrapper {
/*overflow: auto;*/
}

/* Tree CSS */
ul.tree
{
list-style-type: none;
padding: 0px;
margin: 0px 0px 0px 25px;
}
ul.tree li
{
font-size:12px;
}

ul.tree a
{
text-decoration: none;
border: 0;
}

div.tree-col
{
vertical-align: center;
}

img.tree-icon-collapsed
{
background: url('../img/tree/vista/plus.gif') center no-repeat;
height: 9px;
width: 9px;
}
img.tree-folder-collapsed
{
background: url('../img/tree/vista/closed_folder.gif') center no-repeat;
height: 12px;
width: 16px;
}

img.tree-icon-expanded
{
background: url('../img/tree/vista/minus.gif') center no-repeat;
height: 9px;
width: 9px;
}

img.tree-icon-space
{
height: 9px;
width: 9px;
}

img.tree-folder-expanded
{
background: url('../img/tree/vista/open_folder.gif') center no-repeat;
height: 12px;
width: 16px;
}
img.tree-cat-locked
{
background: url('../img/tree/vista/locked.gif') center no-repeat;
height: 13px;
width: 16px;
}
img.tree-cat-crossed
{
background: url('../img/tree/vista/crossed.gif') center no-repeat;
height: 13px;
width: 16px;
}

/* Star rating */

.boxrating
{
display:block;



[ Add code ]

/* Suggest listing */
img.edit-field
{
background: url('../img/edit.png') center no-repeat;
width: 24px;
height: 24px;
cursor: pointer;
}
img.field_tooltip
{
background: url('../img/question.png') center no-repeat;
width: 16px;
height: 16px;
cursor: pointer;
}


[ Add code ]

#tooltip
{
position: absolute;
z-index: 3000;
border: 1px solid #111;
background-color: #eee;
padding: 5px;
opacity: 0.85;
width: 250px;
}
#tooltip h3, #tooltip div
{
margin: 0;
}

/* quick search */
div.quickSearch
{
position: absolute;
background: #FFFFFF;
margin-top: 1px;
width: 293px;
overflow: hidden;
float: left;
display: none;
z-index: 9001;
}

div.quickSearchItem
{
border-color: #FFFFFF rgb(255, 255, 255) rgb(238, 238, 238);
border-style: solid;
border-width: 1px;
color: #555555;
font-size: 11px;
font-size-adjust: none;
padding: 2px;
white-space: normal;
font-family: tahoma,arial,helvetica,sans-serif;
}
div.quickSearchItem h3
{
color: #222222;
margin: 0pt;
font-size: 11px;
display: block;
font-family: inherit;
font-size: inherit;
font-size-adjust:
font-stretch: inherit;
font-style: inherit;
font-variant: inherit
font-weight: bold;
line-height: inherit;
}
div.quickSearchItem:hover
{
background: #DFE8F6 none repeat scroll 0%;
border: 1px dotted #A3BAE9 !important;
}

Sergey Ten
06-25-2008, 06:24 AM
[ templates/your_template/css/thumb.css ]

[ Find code ]

position: absolute;
width: 180px;
height: 140px;
background: url('../img/thumb-bg.gif') top left no-repeat;
display: none;
padding: 58px 0 0 19px;
}
div.thumb img
{
width: 160px;
height: 120px;
border-top: 1px solid #919191;
border-left: 1px solid #919191;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
}


[ Replace with ]

position: absolute;
width: 180px;
height: 140px;
background: url('../img/thumb-bg.gif') top left no-repeat;
display: none;
padding: 35px 0 0 12px;
}
div.thumb img
{
width: 120px;
height: 90px;
border-top: 1px solid #919191;
border-left: 1px solid #919191;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
}



[ Find code ]

height: 21px;
}
div.loading
{
width: 160px;
text-align: center;
padding: 50px 0 0 0;
}


[ Replace with ]

height: 21px;
}
div.loading
{
width: 160px;
padding: 35px 0 0 35px;
}

Sergey Ten
06-25-2008, 06:27 AM
[ template/your_template/js/thumb.js ]

[ Find code ]

var aLinkUrls = new Array();
var thumbService = "http://msnsearch.srv.girafa.com/srv/i?s=MSNSEARCH&r=";
var counter = 0, id, linkUrl, isLoaded = false, x, y;
var clientWidth = document.body.clientWidth;

$("div.url").mouseover(function() {
$("div.thumb").fadeIn(100);


[ Replace with ]

var aLinkUrls = new Array();
var thumbService = "http://open.thumbshots.org/image.pxf?url=";
var counter = 0, id, linkUrl, isLoaded = false, x, y;
var clientWidth = document.body.clientWidth;

$("div.url").mouseover(function() {
$("div.thumb").fadeIn(100);

Sergey Ten
06-25-2008, 06:33 AM
[ templates/your_template/comments.tpl ]

[ Find code ]

{/if}
<input type="submit" name="add_comment" value="{$lang.leave_comment}" class="flat-button" />
<input type="hidden" name="id" value="{$listing.id}" />
</form>

<script type="text/javascript" src="{$templates}/js/textcounter.js"></script>
<script type="text/javascript" src="{$templates}/js/comment-rating.js"></script>

<script type="text/javascript">
<!--
{literal}
var comment = new commentRating('comment-rating', {/literal}'{$templates}'{literal}, {/literal}'{$config.listing_rating_max}'{literal}, {/literal}'{$lang.rate_this}'{literal});
var tcounter = new textcounter('comment_form', 'counter', {/literal}'{$config.comment_max_chars}'{literal});

$(document).ready(function()
{
comment.init();
tcounter.init();
});

{/literal}



[ Replace with ]


{/if}
<input type="submit" name="add_comment" value="{$lang.leave_comment}" class="flat-button" />
<input type="hidden" name="id" value="{$listing.id}" />
</form>

<script type="text/javascript" src="{$templates}/js/esyndicat.textcounter.js"></script>
<script type="text/javascript" src="{$templates}/js/comment-rating.js"></script>

<script type="text/javascript">
<!--
{literal}
$(document).ready(function()
{
var comment = new commentRating('comment-rating', {/literal}'{$templates}'{literal}, {/literal}'{$config.listing_rating_max}'{literal}, {/literal}'{$lang.rate_this}'{literal}, 'form_');

var tcounter = new esyndicat.textcounter({
textarea_el: 'comment_form',
counter_el: 'counter',
max: {/literal}'{$config.comment_max_chars}'{literal},
min: 0
});

comment.init();
tcounter.init();
});

{/literal}

Sergey Ten
06-25-2008, 06:39 AM
[ template/your_template/featured-listing-display.tpl ]

[ Find code ]

{$config.base}{$config.dir}{$listing.path}{convert Str string=$listing.title}-l{$listing.id}.html"
{else}
{$config.base}{$config.dir}view-listing.php?id={$listing.id}"
{/if}
{else}
{$listing.url}" id="l{$listing.id}" {if $config.new_window}target="_blank"{/if}
{/if} class="title" >{$listing.title}</a>
{section name=star loop=$listing.rank}<img src="{$img}star.png" alt="" />{/section}
</div>

<div class="description">
{if $config.html_tags}


[ Replace with ]

{$config.base}{$config.dir}{$listing.path}{convert Str string=$listing.title}-l{$listing.id}.html"
{else}
{$config.base}{$config.dir}view-listing.php?id={$listing.id}"
{/if}
{else}
{$listing.url}" {if $config.new_window}target="_blank"{/if}
{/if} class="title" id="l{$listing.id}">{$listing.title}</a>
{section name=star loop=$listing.rank}<img src="{$img}star.png" alt="" />{/section}
</div>

<div class="description">
{if $config.html_tags}


The same changes you have to do for partner-listing-display.tpl, regular-listing-display.tpl, sponsored-listing-display.tpl files.

Sergey Ten
06-25-2008, 06:50 AM
[ template/your_template/header.tpl ]

[ Find code ]

<meta name="description" content="{$description|escape:"html"}" />
<meta name="keywords" content="{$keywords|escape:"html"}" />
<script type="text/javascript" src="{$templates}/js/jquery.js"></script>
<script type="text/javascript" src="{$templates}/js/cookie.js"></script>
<script type="text/javascript" src="{$templates}/js/rating.js"></script>


[ After add code ]

<script type="text/javascript" src="{$templates}/js/sessvars.js"></script>
<script type="text/javascript" src="{$templates}/js/esyndicat.js"></script>




[ Find code ]

<!-- search form start -->
<div class="search-form">
<form action="{$config.base}{$config.dir}search.php" method="get" id="searchForm">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="padding-right: 5px;"><input type="text" class="what" name="what" size="20" id="search_input" /></td>
<td style="text-align: right;"><input type="submit" name="search_top" id="searchTop" value="{$lang.search}" class="flat-button" /></td>
</tr>
<tr>
<td colspan="2"><a href="{$config.base}{$config.dir}search.php?adv">{$lang.advanced_search}</a></td>
</tr>
</table>
</form>
</div>
<!-- search form end -->


[ Replace with ]

<!-- search form start -->
<div class="search-form">
<form action="{$config.base}{$config.dir}search.php" method="get" id="searchForm">
<table cellpadding="0" cellspacing="0">
<tr>
<td style="padding-right: 5px;">
<div>
<input type="text" class="what" name="what" size="20" id="search_input" /><br />
<div id="quickSearch" class="quickSearch"></div>
</div>
</td>
<td style="text-align: right;"><input type="submit" name="search_top" id="searchTop" value="{$lang.search}" class="flat-button" /></td>
</tr>
<tr>
<td colspan="2">
<div style="float: left;"><a href="{$config.base}{$config.dir}search.php?adv">{$lang.advanced_search}</a></div>
</td>
</tr>
</table>
</form>
</div>
<!-- search form end -->



[ Find code ]

<form action="{$config.base}{$config.dir}login.php" method="post">
<table class="no" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td style="width: 1%;">{$lang.username}:<br /><input type="text" tabindex="1" name="username" size="20" value="" class="what" /></td>
<td style="width: 1%;">{$lang.password}:<br /><input type="password" tabindex="2" name="password" size="20" value="" class="what" /></td>
<td valign="bottom">
<input type="submit" tabindex="3" name="login" value="{$lang.login}" class="login-button" />
</td>
<td valign="bottom" style="text-align: right;">
<a href="{$config.base}{$config.dir}forgot.php" rel="nofollow"><span style="color: #FBF0A7;">{$lang.forgot}</span></a>&nbsp;
<a href="{$config.base}{$config.dir}register.php" rel="nofollow"><span style="color: #FBC7A7;">{$lang.register}</span></a>
</td>


[ Replace with ]

<form action="{$config.base}{$config.dir}login.php" method="post">
<table class="no" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td style="width: 1%;">{$lang.username}:<br /><input type="text" tabindex="1" name="username" size="20" value="" /></td>
<td style="width: 1%;">{$lang.password}:<br /><input type="password" tabindex="2" name="password" size="20" value="" /></td>
<td valign="bottom">
<input type="checkbox" tabindex="3" name="rememberme" value="1" id="rememberme" />&nbsp;<label for="rememberme">{$lang.rememberme}</label>
<input type="submit" tabindex="4" name="login" value="{$lang.login}" class="login-button" />
</td>
<td valign="bottom" style="text-align: right;">
<a href="{$config.base}{$config.dir}forgot.php" rel="nofollow"><span style="color: #FBF0A7;">{$lang.forgot}</span></a>&nbsp;
<a href="{$config.base}{$config.dir}register.php" rel="nofollow"><span style="color: #FBC7A7;">{$lang.register}</span></a>
</td>

Sergey Ten
06-25-2008, 06:56 AM
[ templates/your_template/footer.tpl ]

[ Find code ]

<!-- boxes show-hide start -->
<script type="text/javascript" src="{$templates}/js/minmax.js"></script>
<!-- boxes show-hide end -->


[ After add code ]

<script type="text/javascript" src="{$templates}/js/esyndicat.search.js"></script>



[ Find code ]

var root = '{$config.base}{$config.dir}';
var a = document.getElementsByTagName("a");


[ Before add code ]

{literal}
esyndicat.loader({conf: 'base,dir,mod_rewrite'});
var quickSearch = new esyndicat.search(
{
id: 'search_input',
container: 'quickSearch'
});
{/literal}
quickSearch.init();

Sergey Ten
06-25-2008, 08:05 AM
[ templates/your_template/register.tpl ]

[ Find code ]

<p class="field"><strong>{$lang.your_username}:</strong><br />
<input type="text" class="text" name="username" size="25" id="username" value="{$tmp.username}" /></p>
<p class="field"><strong>{$lang.your_email}:</strong><br />
<input type="text" class="text" name="email" size="25" id="email" value="{$tmp.email}" /></p>

<br /><p><input type="checkbox" id="disable_filds" name="disable_filds" value="1" />Auto generate password</p><br />

<p class="field"><strong>{$lang.your_password}:</strong><br />
<input type="password" name="password" size="25" id="pass1" value="{$tmp.password}" /></p>
<p class="field"><strong>{$lang.your_password_confirm}:</strong><br />
<input type="password" name="password2" size="25" id="pass2" value="{$tmp.password2}" /></p>
{if $config.captcha}
{include file="captcha.tpl"}
{/if}
<p class="field"><input type="submit" name="register" value="{$lang.register}" class="flat-button" /></p>
</form>


[ Replace with ]

<p class="field"><strong>{$lang.your_username}:</strong><br />
<input type="text" class="text" name="username" size="25" id="username" value="{$tmp.username}" /></p>
<p class="field"><strong>{$lang.your_email}:</strong><br />
<input type="text" class="text" name="email" size="25" id="email" value="{$tmp.email}" /></p>

<br /><p><input type="checkbox" id="disable_filds" name="disable_filds" value="1" /><label for="disable_filds">Auto generate password</label></p><br />

<div id="passwords">
<p class="field"><strong>{$lang.your_password}:</strong><br />
<input type="password" name="password" size="25" id="pass1" value="{$tmp.password}" /></p>
<p class="field"><strong>{$lang.your_password_confirm}:</strong><br />
<input type="password" name="password2" size="25" id="pass2" value="{$tmp.password2}" /></p>
</div>
{if $config.captcha}
{include file="captcha.tpl"}
{/if}
<p class="field"><input type="submit" name="register" value="{$lang.register}" class="flat-button" /></p>
</form>



[ Find code ]

if ($(this).attr("checked"))
{
$("#pass1").attr("disabled", "true");
$("#pass2").attr("disabled", "true");
}
else
{
$("#pass1").removeAttr("disabled");
$("#pass2").removeAttr("disabled");
}


[ Replace with ]

if ($(this).attr("checked"))
{
$("#pass1").attr("disabled", "true");
$("#pass2").attr("disabled", "true");
esyndicat.display('passwords', 'hide');
}
else
{
$("#pass1").removeAttr("disabled");
$("#pass2").removeAttr("disabled");
esyndicat.display('passwords', 'show');
}

Sergey Ten
06-25-2008, 08:13 AM
[ templates/your_template/thank.tpl ]

[ Find code ]

<div align="center" style="padding-top:20px;">
<input type="button" value=" {$lang.next} " onclick="javascript:document.location.href='login.php';" class="flat_button"/>
</div>


[ Replace with ]


{if $config.accounts_autoapproval}
<div align="center" style="padding-top:20px;">
<input type="button" value=" {$lang.next} " onclick="javascript:document.location.href='login.php';" class="flat_button"/>
</div>
{/if}

Sergey Ten
06-25-2008, 08:16 AM
[ templates/your_template/view-listing.tpl ]

[ Find code ]

<div class="preview"><img src="http://msnsearch.srv.girafa.com/srv/i?s=MSNSEARCH&r={$listing.url}" /></div>


[ Replace with ]

<div class="preview"><img src="http://open.thumbshots.org/image.pxf?url={$listing.url}" /></div>


You can just overwrite the suggest-listing.tpl and suggest-category files.

smartpc
06-27-2008, 03:28 AM
Great only need to alter 2 pages by hand...:good:

Simon Gooffin
06-27-2008, 08:30 AM
2 all:
It would be great if the guys use any diff programs like WinMerge (http://winmerge.org/) - it allows to see what changes have been done in the version. Just compare two versions of files and that's all.
It would save tons of time and still had the same effect for you.

Sergey Ten
06-27-2008, 08:58 AM
2 all:
It would be great if the guys use any diff programs like WinMerge (http://winmerge.org/) - it allows to see what changes have been done in the version. Just compare two versions of files and that's all.
It would save tons of time and still had the same effect for you.

Yeah I fully agree with Simon. The WinMerge is great tool :good:

btw. I have used this tool for posting the these differences.