Datalife Engine 14.0
- Temalara yeni taglar eklendi ve geliştirildi
- Yeni AirPlay medya oynatıcısı eklendi
- 1500 adet yeni ifade (emoji) eklendi
Eklentiler için şablon dosyası
Sitenizdeki tüm eklentiler için şablon dosyası kullanabilirsiniz. Böylece eklentilerinizi kolayca stillendirebilirsiniz. Daha önceden yapmış olduğum "Custom Attachments" eklentisi shortstory ve custom için kullanılamıyordu. Sistemden ayrı bir sorgu ile çalıştığı için döngüye dahil edilemiyordu.
Bu düzenleme tüm eklentileri tek bir tpl dosyasından düzenlemenize izin vermekte ve içerdiği taglar ile sabit sayfa/grup indirme izni şartlandırılması yapılabiliyor.
Kurulum :
- show_attach.tpl dosyasını kullandığınız temanın klasörüne atın
- engine/modules/functions.php dosyasını açın.
Aşağıda kalın yazan kodu aratıp, fonksiyonu tümüyle aşağıdaki kodla değiştirin.
function show_attach (....) {
....
...
...
}
İle değiştir:
Şartlandırma kodları :
Arşivde hem yukarıdaki kod hem de şablon dosyası bulunmaktadır.
Bu düzenleme tüm eklentileri tek bir tpl dosyasından düzenlemenize izin vermekte ve içerdiği taglar ile sabit sayfa/grup indirme izni şartlandırılması yapılabiliyor.
Kurulum :
- show_attach.tpl dosyasını kullandığınız temanın klasörüne atın
- engine/modules/functions.php dosyasını açın.
Aşağıda kalın yazan kodu aratıp, fonksiyonu tümüyle aşağıdaki kodla değiştirin.
function show_attach (....) {
....
...
...
}
İle değiştir:
function show_attach( $story, $id, $static = false ) {
global $db, $config, $lang, $user_group, $member_id, $tpl;
if ( $static ) {
if ( is_array( $id ) and count( $id ) ) $where = "static_id IN (" . implode( ",", $id ) . ")";
else $where = "static_id = '".intval($id)."'";
$db->query( "SELECT *, date FROM " . PREFIX . "_static_files WHERE $where" );
$area = "&area=static";
} else {
if ( is_array( $id ) and count( $id ) ) $where = "news_id IN (" . implode( ",", $id ) . ")";
else $where = "news_id = '".intval($id)."'";
$db->query( "SELECT * FROM " . PREFIX . "_files WHERE $where" );
$area = "";
}
$tpl->load_template("show_attach.tpl");
while ( $row = $db->get_row() ) {
$_temp = "show_attach" . $row['id'];
if ( ! $user_group[$member_id['user_group']]['allow_files'] ) { $tpl->set_block( "'\[allowed\](.*?)\[/allowed\]'si", "" ); $tpl->set_block( "'\[not-allowed\](.*?)\[/not-allowed\]'si", "\\1" ); }
else { $tpl->set_block( "'\[allowed\](.*?)\[/allowed\]'si", "\\1" ); $tpl->set_block( "'\[not-allowed\](.*?)\[/not-allowed\]'si", "" ); }
if ( $area == "&area=static" ) { $tpl->set_block( "'\[staticfile\](.*?)\[/staticfile\]'si", "\\1" ); $tpl->set_block( "'\[not-staticfile\](.*?)\[/not-staticfile\]'si", "" ); }
else { $tpl->set_block( "'\[staticfile\](.*?)\[/staticfile\]'si", "" ); $tpl->set_block( "'\[not-staticfile\](.*?)\[/not-staticfile\]'si", "\\1" ); }
$tpl->set( "{id}", $row['id'] );
$tpl->set( "{url}", $config['http_home_url'] . "engine/download.php?id=" . $row['id'] );
$tpl->set( "{size}", strtoupper( formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) ) ) ); $_tmp = explode( ".", $row['name'] );
$tpl->set( "{extension}", end( $_tmp ) ); unset( $_tmp );
$tpl->set( "{name}", $row['name'] );
$tpl->set( "{onserver}", $row['onserver'] );
$tpl->set( "{author}", $row['author'] );
$tpl->set( "{date}", date( "d.m.Y", $row['date'] ) );
$tpl->copy_template = preg_replace_callback( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );
$tpl->set( "{count}", $row['dcount'] );
$tpl->compile( $_temp );
$story = str_replace ( '[attachment=' . $row['id'] . ']', $tpl->result[ $_temp ], $story );
$story = preg_replace( "#\[attachment={$row['id']}:(.+?)\]#i", $tpl->result[ $_temp ], $story );
}
$db->free();
$tpl->clear();
return $story;
}
Şartlandırma kodları :
[allowed] Kullanıcı grubunuzun dosya indirme izni var [/allowed]
[not-allowed] Kullanıcı grubunuzun dosya indirme izni yok [/not-allowed]
[staticfile] Bu eklenti sabit sayfaya eklenmiş [/staticfile]
[not-staticfile] Bu eklenti makale sayfasına eklenmiş [/not-staticfile]
Arşivde hem yukarıdaki kod hem de şablon dosyası bulunmaktadır.
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.