Affichage des articles dont le libellé est Hack Tutorials. Afficher tous les articles
Affichage des articles dont le libellé est Hack Tutorials. Afficher tous les articles

samedi 10 décembre 2016

Upgrade Templates from DLE 11.1 to 11.2

Changes between versions 11.1 and 11.2    

1. Open file style/engine.css at the bottom add:
/* Setup a standard captcha when replying to comments */
.dle-captcha { position: relative; }
.dle-captcha:after { clear: both; display: block; content: ""; }
.dle-captcha > a { float: left; margin-right: 5px; }
.dle-captcha img {
position: relative;
display: block;
width: 130px; height: 46px;
-webkit-transition: all ease .2s; transition: all ease .2s;
}
.dle-captcha > input { float: left; width: 130px; }


/* Customize tooltip for custom fields */
.xfieldsnote {
color: #838383;
font-size: .9em;
}


2. Create a file categorymenu.tpl with content:
[root]<ul>[/root]
[item]
<li><a href="{url}">{name} <span style="float: right;">{news-count}</span></a>
[sub-prefix]<ul>[/sub-prefix]{sub-item}[sub-suffix]</ul>[/sub-suffix]
</li>
[/item]
[root]</ul>[/root]



3. Open the file userinfo.tpl find:
<li class="form-group">
<table class="xfields">
{xfields}
</table>
</li>



Below add:
<li class="form-group">
<div class="checkbox">{twofactor-auth}</div>
</li>



4. If necessary, display the menu of categories to the template main.tpl, add the tag {catmenu} in the right place for you

dimanche 31 juillet 2016

Upgrade Templates from DLE 11.0 to 11.1

1. Open style/engine.css file at the bottom add:

.xfieldimagegallery {
margin: 0;
padding: 0;
list-style: none;
clear: both;
}

.xfieldimagegallery li {
list-style: none;
margin: 0;
padding: 0;
}

.xfieldimagegallery li img {
float: left;
margin-right: 5px;
border: 5px solid #fff;
width: 100px;
height: 100px;
transition: box-shadow 0.5s ease;
}

.xfieldimagegallery li img:hover {
box-shadow: 0px 0px 7px rgba(0,0,0,0.4);
}

.btn.disabled, .btn[disabled], fieldset[disabled] .btn {
cursor:not-allowed;
pointer-events:none;
opacity:0.65;
filter:alpha(opacity=65);
-webkit-box-shadow:none;
box-shadow:none;
}


2. Open attachment.tpl file to a convenient location place:

[allow-online]<br />View online file: <a href="{online-view-link}" target="_blank">{name}</a>[/allow-online]


3. Open the file userinfo.tpl find:

<li class="form-group">
<table class="xfields">
{xfields}
</table>
</li>


The following add:

<li class="form-group">
<div class="checkbox">{news-subscribe}</div>
</li>
<li class="form-group">
<div class="checkbox">{comments-reply-subscribe}</div>
</li>
<li class="form-group">
<div class="checkbox">{unsubscribe}</div>
</li>

mardi 1 mars 2016

Upgrade Templates from DLE 10.6 to 11.0

Changes to the templates is performed in order of priority from version to version, depending on the version from which you updated. For example did you perform the upgrade script DLE from version 10.4 to version 11.0, then in this case you need to turn to make changes, first the ones that were between 10.4 and 10.5, then the changes between versions 10.5 and 10.6, then the changes between 10.6 and 11.0, etc.

1. Open the file style/engine.css and at the bottom add:


/*---Emoji---*/

.emoji {
border: none;
vertical-align: middle;
width: 22px;
height: 22px;
}

/* --- Sorting articles --- */
.sort { list-style: none; padding: 0; margin: 0; }
.sort > li, .sort { display: inline; }
.sort > li { margin: 0 0 0 3%; }
.sort > li a { color: #353535; }
.sort > li.asc a, .sort > li.desc a { color: #3394e6; }
.sort > li.asc a:after, .sort > li.desc a:after {
content: "";
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAsBAMAAACj90TiAAAAG1BMVEUAAAAzlOYzlOYzlOYzlOYzlOYzlOYzlOYzlOar6gzlAAAACHRSTlMAjesv90eHRuQt1XUAAABSSURBVBjTzdCxDQAhDENRSyzAEFdQ0zDB9axEgzw2DokEI1A9/S4OyAxADEcpPGlpFKWoSpEKp0Dlb6SvG2jY4Fka4tw4PqbEsDNTcb8gn/d4LPQHQDdjhblbAAAAAElFTkSuQmCC);
display: inline-block;
vertical-align: middle;
margin: -1px 0 0 .4em;
width: 6px; height: 11px;
-webkit-background-size: 6px auto; background-size: 6px auto;
}
.sort > li.asc a:after { background-position: 0 -11px; }

/*---Additional fields---*/
.xfieldsrow {
padding-top:5px;
clear: both;
}
.xfieldscolleft {
float: left;
width: 30%;
}
.xfieldscolright {
float: left;
width: 70%;
}
.file-box {
width: 95%;
max-width: 437px;
border:1px solid #B3B3B3;
-moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px;
background-color: #F5F5F5;
padding: 10px;
margin-top: 10px;
}

.qq-uploader { position:relative; width: 100%;}

.qq-upload-button {
display:inline-block;
padding:4px 10px 4px 10px;
margin-top:5px;
font: bold 11px/1.5em Verdana;color:#000000;
border:1px solid #CACACA;
cursor:pointer;
}
.qq-upload-drop-area {
position:absolute; top:0; left:0; width:100%; height:100%; z-index:2;
max-width: 437px;
background:#FF9797; text-align:center;
}
.qq-upload-drop-area span {
display:block; position:absolute; top: 50%; width:100%; margin-top:-8px; font-size:16px;
}

.qq-upload-drop-area-active {background:#FF7171;}
.uploadedfile {
width: 115px;
height: 130px;
margin: 10px 5px 5px 5px;
border:1px solid #B3B3B3;
box-shadow: 0px 1px 4px rgba(0,0,0,0.3);
-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
text-align: center;
background:#ffffff;

}

.uploadedfile .uploadimage {
margin-top: 5px;
width: 115px;
height: 90px;
display: table-cell;
text-align: center;
vertical-align:middle;
}

.uploadedfile .info {
text-align: left;
white-space: nowrap;
margin: 0px 5px 0px 5px;
overflow: hidden;
}

.progress {
overflow:hidden;
margin-top:10px;
margin-bottom:10px;
background-color:whitesmoke;
height:10px;
-webkit-border-radius:8px;
-moz-border-radius:8px;
-ms-border-radius:8px;
-o-border-radius:8px;
border-radius:8px;
background:#eee;
-webkit-box-shadow:0 1px 0 white, 0 0px 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.2) inset;
box-shadow:0 1px 0 white, 0 0px 0 1px rgba(0, 0, 0, 0.1) inset, 0 1px 4px rgba(0, 0, 0, 0.2) inset;
}
.progress .progress-bar {
float:left;
width:0%;
font-size:12px;
line-height:20px;
color:white;
text-align:center;
background-color:#428bca;
-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition:width 0.6s ease;
transition:width 0.6s ease;
-webkit-border-radius:8px;
-moz-border-radius:8px;
-ms-border-radius:8px;
-o-border-radius:8px;
border-radius:8px;
-webkit-box-shadow:none;
box-shadow:none;
height:8px;
}
.progress-bar span{
position:absolute;
width:1px;
height:1px;
margin:-1px;
padding:0;
overflow:hidden;
clip:rect(0 0 0 0);
border:0;
}
.progress-blue {
background-image:-webkit-gradient(linear, left 0%, left 100%, from(#9bcff5), to(#6db9f0));
background-image:-webkit-linear-gradient(top, #9bcff5, 0%, #6db9f0, 100%);
background-image:-moz-linear-gradient(top, #9bcff5 0%, #6db9f0 100%);
background-image:linear-gradient(to bottom, #9bcff5 0%, #6db9f0 100%);
background-repeat:repeat-x;
border:1px solid #55aeee;
}


Note: The list of changes is given with respect to the standard Default Template. You need to make changes to your template is already based on the needs and the layout of your template directly. Not all change is needed to your site, and optionally that the design is right for your site.

Source: dle-news.ru

dimanche 17 janvier 2016

SEO for DLE 9.6 - 10.x - English

SEO for DLE


Improve SEO performance header title
1.Improve SEO performance header title

Open /engine/engine.php, find code :

$metatags['title'] = $nam_e . $page_extra . ' &raquo; ' . $metatags['title']; 

Change to:

$metatags['title'] = $nam_e . $page_extra; 

Next, look for :

$metatags['title'] = $titl_e . $page_extra . ' &raquo; ' . $config['home_title']; 

Change to :

$metatags['title'] = $titl_e . $page_extra;   

Next, look for code :

if ( $metatags['header_title'] ) $metatags['title'] = stripslashes($metatags['header_title'].$page_extra); 

Change to:


if ($do == "cat" and $category != '' and $subaction == '') //if the category
{
if ( $metatags['header_title'] and ! $page_extra ) $metatags['title'] = stripslashes($metatags['header_title']);
else $metatags['title'] = stripslashes($cat_info[$category_id]['name']) . $page_extra;
}
elseif ($dle_module == "main") //if the main page
{
if ( ! $page_extra ) $metatags['title'] = stripslashes($config['home_title']);
else $metatags['title'] = stripslashes($config['short_title']) . $page_extra;
}
elseif ($metatags['header_title']) $metatags['title'] = stripslashes($metatags['header_title']);

2.Explanation :
At this point, we will get rid of the prefix name of the site in meta title.
Eliminates the problem of duplicating the full news on different addresses

1.Eliminates the problem of duplicating the full news on different addresses

Open .htaccess, find code :

# Sam post
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]

And replaced:

# Sam Post
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).(.*)$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/([0-9]+)-(.*)$ index.php?newsid=$2 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*)$ index.php?newsid=$1 [L]

Open /engine/modules/show.full.php, find the code :

if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {

if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] != $c_url OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {

if ($view_template == "print") {

$re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

} else {

$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

}

header("HTTP/1.0 301 Moved Permanently");
header("Location: {$re_url}{$c_url}/{$row['id']}-{$row['alt_name']}.html");
die("Redirect");

}

}

Next, we look for the code and delete :

if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {

if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] OR $_GET['news_name'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) {

if ($view_template == "print") {

$re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

} else {

$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

}

header("HTTP/1.0 301 Moved Permanently");
header("Location: {$re_url}{$row['id']}-{$row['alt_name']}.html");
die("Redirect");

}

}

Next, we look for the code and delete :

if ( $config['seo_control'] ) {

if ($_GET['newsid'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {

if ($view_template == "print") {

$re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

} else {

$re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
$re_url = reset ( $re_url );

}

header("HTTP/1.0 301 Moved Permanently");
header("Location: {$re_url}".date( 'Y/m/d/', $row['date'] ).$row['alt_name'].".html");
die("Redirect");

}

}

We find the code below :

} else {

$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
$print_link = $config['http_home_url'] . "engine/print.php?newsid=" . $row['id'];
$short_link = "";
$link_page = "";
$news_name = "";

And above insert :

$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
if (intval($_REQUEST['cstart']) >= 2) $full_link = $link_page . intval($_REQUEST['cstart']) . "," . $news_name . ".html";
elseif ($news_page >= 2) $full_link = $link_page . $news_name . ".html";
if ($true_link != $full_link) {
header('HTTP/1.1 301 Moved Permanently');
header ('Location: ' . $full_link);
die();
}

2.Explanation :
At this point, we get rid of the availability of news at page, 1, and not by any other valid address to the full news.
1.Error 404 with a non-existent page pagination
1.Error 404 with a non-existent page pagination

Open /engine/modules/show.short.php, find code :

}
?>

Above insert:

$all_pages_count = @ceil( $count_all / $config['news_number'] );
if ($cstart > $all_pages_count) {
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
}

2.Explanation :
At this point, we will get rid of non-existent pages pagination, gives 404.
Error 404 with a non-existent page pagination comments
1.Error 404 with a non-existent page pagination comments

Open /engine/modules/show.full.php,find code :

if( $comments_num > 0 ) {   

Above insert:

$all_comm_page = @ceil( $comments_nums / intval($config['comm_nummers']) );
if ( $_REQUEST['cstart'] > $all_comm_page ) {
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
}

2.Explanation :
At this point, we will get rid of non-existent pages pagination comments given to 404.
Error 404 sections and categories that no longer exist
1.Error 404 sections and categories that no longer exist

Open /engine/engine.php, find code :

if (!$category_id) $category_id = 'not detected'; 

Change to:

if (!$category_id AND $view_template != "rss") {
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
}

2.Explanation :
At this point, we get rid of the categories which are already present, was not or was removed.
Error 404 for publications that do not have ID
1.Error 404 for publications that do not have ID

Open /engine/modules/static.php, find code :

        @header( "HTTP/1.0 404 Not Found" );
$lang['static_page_err'] = str_replace ("{page}", $name.".html", $lang['static_page_err']);
msgbox( $lang['all_err_1'], $lang['static_page_err'] );
Change to:
        @header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();

2.Explanation :
At this point, we will make out 404 pages which do not have the ID and they are not static. It is more correct and logical than to do a 301 redirect to the main
Error 404 remote or non-existent news
1.Error 404 remote or non-existent news

Open /engine/modules/show.full.php, find code :

elseif( !$news_found ) {
@header( "HTTP/1.0 404 Not Found" );
msgbox( $lang['all_err_1'], $lang['news_err_12'] );
}

Change to:

 elseif( ! $news_found ) {
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
}

2.Explanation :
At this point, we will make a return for news that 404 is not present, or were deleted.
Add the tag rel=”canonical” to view the full pages of news
1.Add the tag rel=”canonical” to view the full pages of news

Open /engine/modules/show.full.php, find code :

} else {

$full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
$print_link = $config['http_home_url'] . "engine/print.php?newsid=" . $row['id'];
$short_link = "";
$link_page = "";
$news_name = "";

}

Below insert:

$full_canonical = $full_link;   
Open /engine/engine.php and find:

if ($config['allow_rss']) $metatags .=  

Above insert:

if ($full_canonical) {
$metatags .= "<link rel="canonical" href=". $full_canonical . " />";
}

2.Explanation :
At this point, we do note the canonical page attribute rel="canonical" order that would specify the main page, and beat off all its possible duplicates.
Hiding from the index page, such as the /page,1,2,1-post1.html
1.Hiding from the index page, such as the /page,1,2,1-post1.html

Open /engine/modules/show.full.php, find code :

$comments->build_navigation('navigation.tpl', $link_page . "{page}," . $news_name . ".html#comment", $user_query, $full_link);  

Below insert :

if(intval( $_GET['news_page'] ) > 0) {
$metatags['no_index'] = PHP_EOL . "<meta name="robots" content="noindex,nofollow" />";
}

Open /engine/engine.php, find code :

<meta name="keywords" content="{$metatags['keywords']}" />{$disable_index} 
Above insert :

{$metatags['no_index']}  

2.Explanation :

At this point, we get rid of the index pages of comments asking them meta robots - noindexs
Add meta tags rel="next" and rel="prev"
1.Add meta tags rel="next" and rel="prev"

Open /engine/engine.php, find code :

if ($canonical) {
if there is no such line, then you have an older version of this look for this line :
if ($config['allow_rss']) $metatags .= << 

Above insert :

if($dle_module == "main" || $dle_module == "cat")
{
$cat_cat = !empty($category) ? strip_tags(stripslashes($category)) . '/' : '';

$all_pages_count = @ceil( $count_all / $config['news_number'] );
if($cstart < 2 && 1 != $all_pages_count)
{
$next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/2' . '">';
$prev_rel = '';
}
else if(1 != $all_pages_count)
{
if($cstart >= $all_pages_count)
$next_rel = '';
else
$next_rel = PHP_EOL . '<link rel="next" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstart + 1) .'">';

if($cstart == 2)
$prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat . '">';
else
$prev_rel = PHP_EOL . '<link rel="prev" href="'. $config['http_home_url'] . $cat_cat . 'page/'. ($cstart - 1) .'">';
}
}
$metatags .= $prev_rel . $next_rel;

2.Explanation :
- What is the next and prev meta tags?
1) These attributes rel = "next" and rel = "prev", will help to indicate the relationship between several URL.
2) Due to this layout, Google may determine that the contents of these pages associated in a logical sequence, and to transmit the user to the home page.
And :
Create a consolidated index pages to links are not scattered between individual pages page-1.html, page-2.html, and so on
Searching direct the user to the most relevant page of all the others, such as the beginning of the article, divided into several pages

Add these attributes to the main pagination pagination for categories.
Remove index.php and index.html from your homepage
1.Remove index.php and index.html from your homepage

Open .htaccess, find :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]

Above the insert :

# Redirect with index.php site
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.(php|html) HTTP/
RewriteRule .* / [R=301,L]

2.Explanation :

At this point, we remove duplicates on the main page index.php/html
Gluing mirrors
1.Gluing mirrors
Open .htaccess, find code :

RewriteEngine On
And then insert your choice
1) The site will be opened only for site.com

# Determine the primary mirror as the site.com (site.com replace with your domain) 
RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]

2) The site will be opened only for www.site.com

#Determine the primary mirror as www.site.com (www.site.com replace with your domain)
RewriteCond %{HTTP_HOST} ^site.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

2.Explanation :
At this point, we get rid of the mirrors of the domain and set the primary mirror of our domain.
ErrorDocument 404
1.ErrorDocument 404
Open .htaccess, find code :

RewriteEngine On  

Below insert

ErrorDocument 404 /404.html  

2.Explanation :
At this point we will ask 404 page via htaccess
Error 404 instead "By publishing this address on the website could not be found"
1.Error 404 instead "By publishing this address on the website could not be found"

Open /engine/modules/main.php, find code :

if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news) {

@header( "HTTP/1.0 404 Not Found" );
msgbox( $lang['all_err_1'], $lang['news_err_27'] );

}

Change to :

if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news)
{
@header("HTTP/1.0 404 Not Found");
@header("Status: 404 Not Found");
@require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
exit();
}

2.Explanation :
At this point, then we will ask 404 when there is no content or errors.
Regular bread crumbs
1.Regular bread crumbs

Open /engine/engine.php, find code :

if ($config['speedbar'] AND !$view_template ) {

$s_navigation = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="{$config['http_home_url']}" itemprop="url"><span itemprop="title">" . $config['short_title'] . "</span></a></span>";

if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = "";

if (intval($category_id)) $s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( intval($category_id), $config['speedbar_separator'] );
elseif ($do == 'tags') {

if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . "tags/" itemprop="url"><span itemprop="title">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag;
else $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="?do=tags" itemprop="url"><span itemprop="title">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag;

} elseif ($nam_e) $s_navigation .= " {$config['speedbar_separator']} " . $nam_e;

if ($titl_e) $s_navigation .= " {$config['speedbar_separator']} " . $titl_e;
else {

if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){

$page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);

} else $page_extra = '';

$s_navigation .= $page_extra;

}

$tpl->load_template ( 'speedbar.tpl' );
$tpl->set ( '{speedbar}', '' . stripslashes ( $s_navigation ) . '' );
$tpl->compile ( 'speedbar' );
$tpl->clear ();

}

Change to :

if ($config['speedbar'] AND !$view_template ) {

if($dle_module == "main")
$s_navigation = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title">" . $config['short_title'] . "</span></span>";
else
$s_navigation = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="{$config['http_home_url']}" itemprop="url"><span itemprop="title">" . $config['short_title'] . "</span></a></span>";
if( $config['start_site'] == 3 AND $_SERVER['QUERY_STRING'] == "" AND !$_POST['do']) $titl_e = "";

if($dle_module == "cat")
$s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( (array)$category_id, $config['speedbar_separator'] );
else if($dle_module == "showfull")
$s_navigation .= " {$config['speedbar_separator']} " . get_breadcrumbcategories ( $id_cat, $config['speedbar_separator'] );

if ($nam_e && $dle_module != "cat") $s_navigation .= " {$config['speedbar_separator']} " . $nam_e;
elseif ($do == 'tags') {

if ($config['allow_alt_url']) $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . "tags/" itemprop="url"><span itemprop="title">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag;
else $s_navigation .= " {$config['speedbar_separator']} <span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="?do=tags" itemprop="url"><span itemprop="title">" . $lang['tag_cloud'] . "</span></a></span> {$config['speedbar_separator']} " . $tag;

}

if ($titl_e) $s_navigation .= " {$config['speedbar_separator']} " . $titl_e;
else {

if ( isset($_GET['cstart']) AND intval($_GET['cstart']) > 1 ){

$page_extra = " {$config['speedbar_separator']} ".$lang['news_site']." ".intval($_GET['cstart']);

} else $page_extra = '';

$s_navigation .= $page_extra;

}

$tpl->load_template ( 'speedbar.tpl' );
$tpl->set ( '{speedbar}', '<span id="dle-speedbar">' . stripslashes ( $s_navigation ) . '</span>' );
$tpl->compile ( 'speedbar' );
$tpl->clear ();

}

Next, open /engine/modules/functions.php find :

function get_breadcrumbcategories($id, $separator="&raquo;") {

global $cat_info, $config, $PHP_SELF;

if( ! $id ) return;

$parent_id = $cat_info[$id]['parentid'];

if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $id ) . "/" itemprop="url"><span itemprop="title">{$cat_info[$id]['name']}</span></a></span>";
else $list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="$PHP_SELF?do=cat&category={$cat_info[$id]['alt_name']}" itemprop="url"><span itemprop="title">{$cat_info[$id]['name']}</span></a></span>";

while ( $parent_id ) {

if( $config['allow_alt_url'] ) $list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $parent_id ) . "/" itemprop="url"><span itemprop="title">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;
else $list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="$PHP_SELF?do=cat&category={$cat_info[$parent_id]['alt_name']}" itemprop="url"><span itemprop="title">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;

$parent_id = $cat_info[$parent_id]['parentid'];

if($parent_id) {
if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
}
}

return $list;
}

Change to :

function get_breadcrumbcategories($id, $separator="&raquo;") {

global $cat_info, $config, $PHP_SELF, $dle_module;

if( ! $id ) return;

$id = end($id);

$parent_id = $cat_info[$id]['parentid'];

if($dle_module != "cat")
$list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $id ) . "" itemprop="url"><span itemprop="title">{$cat_info[$id]['name']}</span></a></span>";
else
$list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title">{$cat_info[$id]['name']}</span></span>";

while ( $parent_id ) {

if($dle_module != "cat")
$list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $parent_id ) . "" itemprop="url"><span itemprop="title">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;
else
if($id != $cat_info[$parent_id]['id'])
$list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="" . $config['http_home_url'] . get_url( $parent_id ) . "" itemprop="url"><span itemprop="title">{$cat_info[$parent_id]['name']}</span></a></span>" . " {$separator} " . $list;
else
$list = "<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title">{$cat_info[$parent_id]['name']}</span></span>" . " {$separator} " . $list;

$parent_id = $cat_info[$parent_id]['parentid'];

if($parent_id) {
if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
}
}

return $list;
}

Next, open /engine/modules/show.full.php find :

$cat_list = explode( ',', $row['category'] );

Below insert :

$id_cat = array();
$link_cats = array();
foreach($cat_list as $val)
{
if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val)
$link_cats[] = "<a href="" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "">{$cat_info[$val]['name']}</a>";

$id_cat[] = $val;
}
2.Explanation :
At this point, we will do so on the page that we are not relied on itself in the bread crumbs. So it was opened since princely times
News only parent category
News only parent category
Attention! Thank you look here and read this. This correction only for the NC-2. It does not work for others
Open /engine/modules/show.short.php and show.custom.php, find code :

$full_link = $config['http_home_url'] . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html"; <
/code>

Change to :

if($cat_info[$row['category']]['parentid'])
$full_link = $config['http_home_url'] . $cat_info[$cat_info[$row['category']]['parentid']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'];
else
$full_link = $config['http_home_url'] . $cat_info[$row['category']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'];

Next, look for :

$cat_list = explode( ',', $row['category'] );

Below insert :

$link_cats = array();
foreach($cat_list as $val)
if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val)
$link_cats[] = "<a href=\"" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "\">{$cat_info[$val]['name']}</a>";

Next, look for :

''{link-category}' => $my_cat_link,

Change to :

'{link-category}' => $my_cat_link, '{links-category}' => $link_cats,
Open /engine/modules/show.full.php find :

$rel_full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";

Change to :

if($cat_info[$related['category']]['parentid'])
$cat_url = $cat_info[$cat_info[$related['category']]['parentid']]['alt_name'];
else
$cat_url = $cat_info[$related['category']]['alt_name'];
$rel_full_link = $config['http_home_url'] . $cat_url . "/" . $related['id'] . "-" . $related['alt_name'];

Next, look for :

$c_url = get_url( $category_id );

Change to :

if($cat_info[$category_id]['parentid'])
$c_url = $cat_info[$cat_info[$category_id]['parentid']]['alt_name'];
else
$c_url = $cat_info[$category_id]['alt_name'];
Then we find (If you do not make a point 15 to do something, otherwise skip this step)

$cat_list = explode( ',', $row['category'] );

Below insert :

$id_cat = array();
$link_cats = array();
foreach($cat_list as $val)
{
if($cat_info[$val]['parentid'] && $cat_info[$val]['parentid'] != $val)
$link_cats[] = "<a href=\"" . $config['http_home_url'] . $cat_info[$val]['alt_name'] . "\">{$cat_info[$val]['name']}</a>";

$id_cat[] = $val;
}
}

Next, we look for (this is done in any case) :

'{link-category}' => $my_cat_link,

Change to :

'{link-category}' => $my_cat_link, '{links-category}' => $link_cats,

Open /engine/classes/google.class.php find :

global $db, $config; 

Change to :

global $db, $config, $cat_info; 
Next, look for :

$loc = $this->home . get_url( $row['category'] ) . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";

Change to :

if($cat_info[$row['category']]['parentid'])
$loc = $this->home . $cat_info[$cat_info[$row['category']]['parentid']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'];
else
$loc = $this->home . $cat_info[$row['category']]['alt_name'] . "/" . $row['id'] . "-" . $row['alt_name'];

2.Explanation :
At this point, we will make access to the news only roditelskoy category. For example, we have a Home Films category, it has a sub-Action In this case, the news is that in the category of Action, may be available as /Films/militants/news.html and /militants/news.html and now we have done that would have been only /Films/news.html
Why and why and for what :
1) So we remove the unnecessary duplication of news.
And so, if you're somewhere in the output category news via tag {link-category} now we change it to {links-category}
Redirect from the first page to the main
1.Redirect from the first page to the main

Open .htaccess, find code :

RewriteEngine On   

Below insert :

# Redirect from the first page to the main
RewriteBase /
RewriteRule ^(.*)page/1(/|)$ $1 [R=301,L]

2.Explanation :
At this point, we do the redirect with pagination 1 to the main page
With a slash on without slash
1.With a slash on without slash

Open .htaccess, find code :

# Redirects  

Above the insert :

RewriteRule ^(.+)/$ $1 [R=301,L]

Next, look for :

RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]  

Change to :

RewriteRule ^tags$ index.php?do=tags [L]
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]

Open /engine/engine.php find :

header("Location: {$re_url}{$re_cat}/"); 

Change to :

header("Location: {$re_url}{$re_cat}"); 

Next, we look for :

if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) != '/' ) {  

Change to :

if ($re_cat != $_GET['category'] OR substr ( $_SERVER['REQUEST_URI'], - 1, 1 ) == '/' ) {  

Open /engine/modules/functions.php find (4 times):

"/\"

Change to :

"\"

Open /engine/modules/show.short.php and show.custom.php find (3 times):

. "/";

Change to :

;

Next, we find :

. "/" );

Change to :

);
Then we find (anything you'll find)
"/\"

Change to :

"\"

Open /engine/modules/profile.php find :

$link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/"; 

Change to :

$link_profile = $config['http_home_url'] . "user/" . urlencode( $row['name'] );  
Open /engine/modules/show.full.php find (2 times):

. "/";

Change to :

;

Next, we find :

. "/" );

Change to :

);

Next, we find (All that you will find)

"/\"

Change to :

"\"

Open /engine/modules/tagscloud.php find (All that you will find):

"/\"

Change to :

"\"

Open /engine/classes/google.class.php find :

if( $this->allow_url ) $loc = $this->home . $this->get_url( $cats[id], $cat_info ) . "/"; 

Change to :

if( $this->allow_url ) $loc = $this->home . $this->get_url( $cats[id], $cat_info );   

2.Explanation :
At this point, we remove all references to slash on without him. For pages with a slash, and without it - different pages.
NoIndex
Copy all the files from the archive in the Upload to your server. Open main.tpl and after the tag

{headers}

Insert

{include file="/engine/modules/noindex.php?noindex=cstart,userinfo&index=cat,showfull,main"}

Available Values :
main - Home
date - page news for specific dates
cat - category page
showfull - page full news
search - Search Results Page
userinfo - Profile Page
register - Registration page
stats - Statistics page
pm - page personal messages
feedback - feedback page
favorites - page bookmarks
newposts - new page news
addnews - page for add news
lastnews - page latest news on site
lastcomments - page recent comments
lostpassword - Page recovery password account
static - page static
catalog - Catalog Page
alltags - page tag cloud
tags - news page of the tag cloud
allnews - Page with all the news on the site, or all the news of any user
cstart - Pages pagination


noindex - here to add value to the closing of the indexing, separated by commas.
index - here to add value to index a comma.

Download Modules
Author: Gameer. http://gameer.name/

mardi 29 décembre 2015

Dark Button Navigation CSS 3 - DLE English

Dark Button Navigation CSS 3 - DLE English

Very easy menu for dark patterns on pure CSS + a picture. The total "weight" menu, only 16 kb!

Download modal window with a time delay - DLE Eglish


This hack allows download files (Attachment) of the modal window with a time delay. The archive is ready file to overwrite.


Setting

- Open engine/modules/functions.php and find

$tpl->compile( 'attachment' );

$replace_1[] = $tpl->result['attachment'];

$tpl->result['attachment'] = str_replace( $row['name'], "\1", $tpl->result['attachment'] );

$replace_2[] = $tpl->result['attachment'];

$tpl->result['attachment'] = '';


-Replace:

$replace_1[] = "<div class="DownLoadWindow">
<div class="quote">
<a href="#" onclick="showDownLoad(); return false;">Download <b>{$row['name']}</b></a>
</div>
</div>
<div id="DownLoadWindow" title="Download {$row['name']}" style="display:none;" >
<table id="timer_1" border="0" cellpadding="2" cellspacing="2"><tbody><tr>
<td>Download will be available through:</td>
<td id="timer_num"></td>
<td>&#1089;&#1077;&#1082;.</td>
</tr></tbody></table>
<div style="display:none" id="timer_2">
Name: <b>{$row['name']}.</b><br /><br />
Size: <b>{$size}.</b> <br /><br />
Downloads: <b>{$row['dcount']} time.</b> <br /><br />
<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >Download <b>{$row['name']}</b></a></div>
</div>
<script type="text/javascript">

timer_num = 15;
function timer_fc(){
if(timer_num>0){
$('#timer_num').text(timer_num);
timer_num--;
setTimeout("timer_fc()", 1000)
}else{
$('#timer_1').hide(); $('#timer_2').show();
}}
timer_fc();

function showDownLoad() {
$(function(){
$('#DownLoadWindow').dialog({
width: 420,
buttons: {
"Close window" : function() {
$(this).dialog("close");
},
}

});
});
}
</script>";
$replace_2[] = "<div class="DownLoadWindow">
<div class="quote">
<a href="#" onclick="showDownLoad(); return false;">Download <b>{$row['name']}</b></a>
</div>
</div>
<div id="DownLoadWindow" title="Download {$row['name']}" style="display:none;" >
<table id="timer_1" border="0" cellpadding="2" cellspacing="2"><tbody><tr>
<td>Download will be available through:</td>
<td id="timer_num"></td>
<td>Sec.</td>
</tr></tbody></table>
<div style="display:none" id="timer_2">
Name: <b>{$row['name']}.</b><br /><br />
Size: <b>{$size}.</b> <br /><br />
downloads: <b>{$row['dcount']} time.</b> <br /><br />
<a href="{$config['http_home_url']}engine/download.php?id={$row['id']}{$area}" >Download <b>{$row['name']}</b></a>
</div></div>
<script type="text/javascript">

timer_num = 40; // The number of the delay in seconds
function timer_fc(){
if(timer_num>0){
$('#timer_num').text(timer_num);
timer_num--;
setTimeout("timer_fc()", 1000)
}else{
$('#timer_1').hide(); $('#timer_2').show();
}}
timer_fc();

function showDownLoad() {
$(function(){
$('#DownLoadWindow').dialog({
width: 420,
buttons: {
"Close window" : function() {
$(this).dialog("close");
},
}

});
});
}
</script>";


Where in a row (timer_num = 40; // The number of the delay in seconds), specify the time delay

- In any file style.css (if this is not possible in any CSS file) at the end of file add:
#timer_num {width:70px; height:70px; background: url('../images/timer.gif') no-repeat; text-align:center; font-size:36px; color:#666}


-Throw timer.gif file in the images folder of your template.

lundi 28 décembre 2015

DLE button cleaning the cache on all pilgrims admin

Introducing hack dle button cleaning the cache on all pilgrims in the admin panel, allows you to display the button clear the cache on all pages of the admin panel. Setting clearing the cache on all pages of the admin panel

Open the file /engine/skins/default.skin.php
Find

<div class="action-nav-normal action-nav-line" style="display: inline-block;">
<div class="action-nav-button nav-small" style="width:180px;">
<a href="{$PHP_SELF}?mod=editnews&amp;action=list" class="tip" title="{$lang['edit_news']}">
<i class="icon-edit"></i>
<span>{$lang['edit_news']}</span>
</a>
<span class="triangle-button blue"><i class="icon-pencil"></i></span>
</div>
</div>


Below add

<div class="action-nav-normal action-nav-line" style="display: inline-block;">
<div class="action-nav-button nav-small" style="width:120px;">
<a id="clrbtn" class="tip" title="{$lang['btn_clearcache']}">
<i class="icon-trash"></i>
<span>{$lang['btn_clearcache']}</span>
</a>
<span class="triangle-button red"><i class="icon-remove"></i></span>
</div>
</div>


To find

$skin_footer = <<<HTML
<!-- maincontent end -->
</div>


Below insert

<script type="text/javascript">
$(function(){

$('#clrbtn').click(function() {

$.get("engine/ajax/adminfunction.php?action=clearcache", function( data ){

$('#cachesize').html('0 b');
Growl.info({
title: '{$lang[p_info]}',
text: data
});

});
return false;
});
});
</script>


Done!
Author: yackers version DataLife Engine: DLE 10.2 and above for example on Dle 10.5

mercredi 11 novembre 2015

Upgrade Templates from DLE 10.5 to 10.6

1. Open the file style/engine.css and find:

/*---BB Editor---*/

.bb-pane { height: 1%; overflow: hidden; border: 1px solid #BBB; background-image: url("../bbcodes/bg.gif"); }
.bb-btn, .bb-sep { height: 25px; float: left; display: block; overflow: hidden; text-indent: -9999px; white-space: nowrap; }
.bb-sel { float: left; padding: 4px 2px 0 2px; }
.bb-sel select { font-size: 11px; }
.bb-sep { width: 5px; background-image: url("../bbcodes/brkspace.gif"); }
.bb-btn { cursor: pointer; width: 23px; }

#b_font { width: 118px;}
#b_size { width: 65px;}
#b_font select { padding: 0px;}
#b_size select { padding: 0px;}
#b_b { background-image: url("../bbcodes/b.gif"); }
#b_i { background-image: url("../bbcodes/i.gif"); }
#b_u { background-image: url("../bbcodes/u.gif"); }
#b_s { background-image: url("../bbcodes/s.gif"); }
#b_img { background-image: url("../bbcodes/image.gif"); }
#b_up { background-image: url("../bbcodes/upload.gif"); }
#b_emo { background-image: url("../bbcodes/emo.gif"); }
#b_url { background-image: url("../bbcodes/link.gif"); }
#b_leech { background-image: url("../bbcodes/leech.gif"); }
#b_mail { background-image: url("../bbcodes/email.gif"); }
#b_video { background-image: url("../bbcodes/mp.gif"); }
#b_audio { background-image: url("../bbcodes/mp3.gif"); }
#b_hide { background-image: url("../bbcodes/hide.gif"); }
#b_quote { background-image: url("../bbcodes/quote.gif"); }
#b_code { background-image: url("../bbcodes/code.gif"); }
#b_left { background-image: url("../bbcodes/l.gif"); }
#b_center { background-image: url("../bbcodes/c.gif"); }
#b_right { background-image: url("../bbcodes/r.gif"); }
#b_color { background-image: url("../bbcodes/color.gif"); }
#b_spoiler { background-image: url("../bbcodes/spoiler.gif"); }
#b_fla { background-image: url("../bbcodes/flash.gif"); }
#b_yt { background-image: url("../bbcodes/youtube.gif"); }
#b_tf { background-image: url("../bbcodes/typograf.gif"); }
#b_list { background-image: url("../bbcodes/list.gif"); }
#b_ol { background-image: url("../bbcodes/ol.gif"); }
#b_tnl { background-image: url("../bbcodes/translit.gif"); }
#b_br { background-image: url("../bbcodes/pbreak.gif"); }
#b_pl { background-image: url("../bbcodes/page.gif"); }

.clr {
clear: both;
}

.bb-editor textarea {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
padding: 2px; border: 1px solid #bcc0c2; width: 100%; background: #fff url("../images/fields.png") repeat-x;
}
.editorcomm .bb-editor { width: 465px;}
.editorcomm .bb-editor textarea { height: 156px; }
Replace with:

/*---BB Editor---*/

.bb-pane {
height: 1%; overflow: hidden;
padding-bottom: 5px;
padding-left: 5px;
margin: 0;
height: auto !important;
text-decoration:none;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#FBFBFB), to(#EAEAEA));
background-image: -webkit-linear-gradient(top, #FBFBFB, 0%, #EAEAEA, 100%);
background-image: -moz-linear-gradient(top, #FBFBFB 0%, #EAEAEA 100%);
background-image: linear-gradient(to bottom, #FBFBFB 0%, #EAEAEA 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FBFBFB', endColorstr='#EAEAEA', GradientType=0);
border-radius: 3px 3px 3px 3px;
-moz-border-radius-bottomright: 0px;
-webkit-border-bottom-right-radius: 0px;
-khtml-border-bottom-right-radius: 0px;
border-bottom-right-radius: 0px;
-moz-border-radius-bottomleft: 0px;
-webkit-border-bottom-left-radius: 0px;
-khtml-border-bottom-left-radius: 0px;
border-bottom-left-radius: 0px;
border-top:1px solid #d7d7d7;
border-left:1px solid #d7d7d7;
border-right:1px solid #d7d7d7;
box-shadow: none !important;
}

.bb-pane>b {
margin-top: 5px;
margin-left: 0;
vertical-align: middle;
}
.bb-pane .bb-btn + .bb-btn,.bb-pane .bb-btn + .bb-pane,.bb-pane .bb-pane + .bb-btn,.bb-pane .bb-pane + .bb-pane {
margin-left:-1px;
}
.bb-btn {
display: inline-block; overflow: hidden; float: left;
padding: 4px 10px;
border: 1px solid #d4d4d4;
-webkit-box-shadow: inset 0 1px 2px white;
-moz-box-shadow: inset 0 1px 2px white;
box-shadow: inset 0 1px 2px white;
background-repeat: repeat-x;
background-image: -webkit-gradient(linear, left 0%, left 100%, color-stop(0%, #fdfdfd), color-stop(100%, #e9e9e9));
background-image: -webkit-linear-gradient(top, #fdfdfd, 0%, #e9e9e9, 100%);
background-image: -moz-linear-gradient(top, #fdfdfd, 0%, #e9e9e9, 100%);
background-image: linear-gradient(to bottom, #fdfdfd 0%, #e9e9e9 100%);

}


.bb-btn:hover {
background: #e6e6e6;
background-repeat: repeat-x;
background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #fdfdfd), color-stop(100%, #e6e6e6));
background-image: -webkit-linear-gradient(top, #fdfdfd, 0%, #e6e6e6, 100%);
background-image: -moz-linear-gradient(top, #fdfdfd, 0%, #e6e6e6, 100%);
background-image: -o-linear-gradient(top, #fdfdfd, 0%, #e6e6e6, 100%);
background-image: linear-gradient(to bottom, #fdfdfd 0%, #e6e6e6 100%);
-webkit-transition: box-shadow 0.05s ease-in-out;
-moz-transition: box-shadow 0.05s ease-in-out;
-o-transition: box-shadow 0.05s ease-in-out;
transition: box-shadow 0.05s ease-in-out;
}

.bb-btn:active {
background: #f3f3f3;
border-color: #cfcfcf;
-webkit-box-shadow: 0 0 5px #f3f3f3 inset;
-moz-box-shadow: 0 0 5px #f3f3f3 inset;
box-shadow: 0 0 5px #f3f3f3 inset;
}

@font-face {
font-family: 'bb-editor-font';
src: url(data:application/x-font-ttf;charset=utf-8;base64,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) format('truetype'),
url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
font-weight: normal;
font-style: normal;
}

[class^="bb-btn"], [class*=" bb-btn"] {
font-family: 'bb-editor-font';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
font-size: 12px;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}


.bb-sel { float: left; padding: 2px 2px 0 2px; }
.bb-sel select { font-size: 11px; }
.bb-sep { display: inline-block; float: left; width: 1px; padding: 2px; }
.bb-btn { cursor: pointer; outline: 0; }

#b_font select { padding: 0px;}
#b_size select { padding: 0px;}

#b_b:before {content: "f032";}
#b_i:before {content: "f033";}
#b_u:before {content: "f0cd";}
#b_s:before {content: "f0cc";}
#b_img:before { content: "f03e"; }
#b_up:before { content: "e930"; }
#b_emo:before { content: "f118"; }
#b_url:before { content: "f0c1"; }
#b_leech:before { content: "e98d"; }
#b_mail:before { content: "f003"; }
#b_video:before { content: "e913"; }
#b_audio:before { content: "e911"; }
#b_hide:before { content: "e9d1"; }
#b_quote:before { content: "e977"; }
#b_code:before { content: "f121"; }
#b_left:before { content: "f036"; }
#b_center:before { content: "f037"; }
#b_right:before { content: "f038"; }
#b_color:before { content: "e601"; }
#b_spoiler:before { content: "e600"; }
#b_fla:before { content: "ea8d"; }
#b_yt:before { content: "f166"; }
#b_tf:before { content: "ea61"; }
#b_list:before { content: "f0ca"; }
#b_ol:before { content: "f0cb"; }
#b_tnl:before { content: "ea61"; }
#b_br:before { content: "ea68"; }
#b_pl:before { content: "ea72"; }
#b_size:before { content: "f034"; }
#b_font:before { content: "f031"; }
#b_header:before { content: "f1dc"; }
#b_sub:before { content: "f12c"; }
#b_sup:before { content: "f12b"; }
#b_justify:before { content: "f039"; }

.bb-pane h1 {
font-size:36px;
margin-top: 5px;
margin-bottom: 5px;
}
.bb-pane h2 {
font-size:30px;
margin-top: 5px;
margin-bottom: 5px;
}
.bb-pane h3 {
font-size:24px;
margin-top: 5px;
margin-bottom: 5px;
}
.bb-pane h4 {
font-size:18px;
margin-top: 5px;
margin-bottom: 5px;
}
.bb-pane h5 {
font-size:14px;
margin-top: 5px;
margin-bottom: 5px;
}
.bb-pane h6 {
font-size:12px;
margin-top: 5px;
margin-bottom: 5px;
}

.bb-pane-dropdown {
position:absolute;
top:100%;
left:0;
z-index:1000;
display:none;
float:left;
min-width:180px;
padding:5px 0;
margin:2px 0 0;
list-style:none;
font-size:11px;
border:1px solid rgba(0, 0, 0, 0.15);
border-radius:4px;
background: white;
-webkit-box-shadow: 0 1px 2px #dadada;
-moz-box-shadow: 0 1px 2px #dadada;
box-shadow: 0 1px 2px #dadada;
}

.bb-pane-dropdown > li > a {
display:block;
padding:3px 10px;
clear:both;
font-weight:normal;
line-height:1.42857;
color:#333333;
white-space:nowrap;
}
.bb-pane-dropdown > li > a:hover, .bb-pane-dropdown > li > a:focus {
text-decoration:none;
color:#262626;
background-color:whitesmoke;
}

.bb-pane-dropdown .color-palette div .color-btn {
width: 17px;
height: 17px;
padding: 0;
margin: 0;
border: 1px solid #fff;
cursor: pointer;
}
.bb-pane-dropdown .color-palette{
padding: 0px 5px;
}

.bb-editor textarea {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
padding: 2px; border: 1px solid #d7d7d7; width: 100%; -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
margin-top: -1px;
}
.editorcomm .bb-editor { width: 565px;}
.editorcomm .bb-editor textarea { height: 200px; }

.clr {
clear: both;
}

/*--- Quick Edit Textarea ---*/
.quick-edit-text {
padding: .4em;
width: 350px;
}

.quick-edit-textarea {
height: 250px;
box-sizing: border-box;
padding: 2px;
border: 1px solid #d7d7d7;
width: 100%;
box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
transition:border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
}

dimanche 7 juin 2015

Upgrade Templates from DLE 10.4 to 10.5

Datalife Engine 10.5 is "the most completed features version in the history of release versions according to DLE expert", in this tutorial we will show you how to upgrade template/theme when you upgraded Datalife Engine 10.4 to 10.5 easily and step by step in English and easy to follow.
 1) Open {THEME}/style/engine.css

 ADD the following at the end of the file:

/*---Showing tree Comments---*/
.comments-tree-list {
display: block;
margin: 0;
padding: 0;
list-style: none;
}
.comments-tree-list .comments-tree-list {
padding-left: 30px;
}
.comments-tree-item {
display: block;
margin: 0;
padding: 0;
}
/*---Form a quick response to a comment---*/
#dlefastreplycomments{
padding:5px;
background: #e4ecf0;
margin: 5px 5px 5px 30px;
}
.commentsreplyname {
padding: 2px; border: 1px solid #bcc0c2;
width: 200px;
background: #fff url("../images/fields.png") repeat-x;
}
/*---Displays the results of voting on the site---*/
.pollallvotes {
text-align: center;
margin-top: 10px;
}
2) Open comments.tpl and in any location:

 Add:

[reply] Answer [/reply]
3) In the folder of your template, create a new template file attachment.tpl with the following contents attachment.tpl content

[allow-download]<span class="attachment"><a href="{link}" >{name}</a> [count] [{size}] (Downloads: {count})[/count]</span>[/allow-download]
[not-allow-download]<span class="attachment">You are not allow to download file from our server</span>[/not-allow-download]