Demo

Probiere ClanSphere aus und teste daran herum. Demo


Antworten: 6
Seite [1]
Leitwolf


Try to beat me





Beiträge: 188
# Thema - 23.10.2009 um 14:54 Uhr
Hallo Community,

derzeit sind bei mir 9 Smilys in der kleinen Auswahl, neben dem Schreibfeld vom forum, zur Verfügung. Kann man die Anzahl erweitern bzw beinflussen welcher Smily dort zum vorschein kommt?

Danke!


------------------
Inaktiv
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 1 - 23.10.2009 um 15:14 Uhr
/system/core/abcode.php

 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
1. / 2. / ... 
 
function cs_abcode_smileys($name) {

  global 
$cs_main;
  if(!empty(
$cs_main['rte_more'])) return '';

  
$cs_lang cs_translate('system/abcodes'1);

  
$select 'abcode_pattern, abcode_file';
  
$loop_abc cs_sql_select(__FILE__,'abcode',$select,"abcode_func = 'img'",0,0,10);
  
$abc_count count($loop_abc);

  
$data = array();
  
$data['if']['features'] = $abc_count == 10 0;
  
$data['if']['row3'] = $abc_count 0;
  
$data['if']['row2'] = $abc_count 0;
  
$data['if']['row1'] = $abc_count 0;

  if(
$abc_count 3)
    
$data['var'] = array('img2' => '''pattern2' => '''img3' => '''pattern3' => '');
  elseif(
$abc_count 6)
    
$data['var'] = array('img5' => '''pattern5' => '''img6' => '''pattern6' => '');
  elseif(
$abc_count 9)
    
$data['var'] = array('img8' => '''pattern8' => '''img9' => '''pattern9' => '');

  
$run 0;
  
$abc_while $abc_count $abc_count;

  while(
$abc_while $run) {
    
$data['var']['img' . ($run 1)] = cs_html_img('uploads/abcode/' $loop_abc[$run]['abcode_file']);
    
$data['var']['pattern' . ($run 1)] = $loop_abc[$run]['abcode_pattern'];
    
$run++;
  }

  
$data['var']['textarea'] = $name;

  return empty(
$abc_count) ? '' cs_subtemplate(__FILE__$data'abcode''imgbox');
}


Hier die relevanten Stellen:

 
1.
1. / 2. / ... 
   $loop_abc cs_sql_select(__FILE__,'abcode',$select,"abcode_func = 'img'",0,0,10);

Die 10 ist die Anzahl der Abgefragten Smilies. Sie muss immer um eines mehr sein, als die anzahl der angezeigten Smilies.

 
1.
1. / 2. / ... 
   $data['if']['features'] = $abc_count == 10 0;

Die 10 muss gleich der obigen Zahl geändert werden!

 
1.
1. / 2. / ... 
   $data['if']['row3'] = $abc_count 0;

Für jede zusätzliche Reihe muss hievor die Zeile dupliziert werden. Die 6 muss durch den Wert +3 ersetzt werden.

 
1.
2.
1. / 2. / ... 
   elseif($abc_count 9)
    
$data['var'] = array('img8' => '''pattern8' => '''img9' => '''pattern9' => '');

Diese Zeile muss danach angepasst werden. Die 9 wieder +3, un die beiden Zahlen (8+9), auch jeweils +3.

 
1.
1. / 2. / ... 
   $abc_while $abc_count $abc_count;

Die beiden 9 durch die Gesamtanzahl an anzuzeigenden Smilies ersetzen.



=)

Tom


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Leitwolf
Thread-Ersteller


Try to beat me





Beiträge: 188
# Antwort: 2 - 23.10.2009 um 16:07 Uhr
Hey das ging ja schnell werds gleich mal ausprobieren!

Ich habe es jetzt mal versucht umzuschreiben (20 Smileys) So sehen die Zeilen aus:

$data = array();
$data['if']['features'] = $abc_count == 20 ? 1 : 0;
$data['if']['row5'] = $abc_count > 12 ? 1 : 0;
$data['if']['row4'] = $abc_count > 9 ? 1 : 0;
$data['if']['row3'] = $abc_count > 6 ? 1 : 0;
$data['if']['row2'] = $abc_count > 3 ? 1 : 0;
$data['if']['row1'] = $abc_count > 0 ? 1 : 0;

if($abc_count < 3)
$data['var'] = array('img2' => '', 'pattern2' => '', 'img3' => '', 'pattern3' => '');
elseif($abc_count < 6)
$data['var'] = array('img5' => '', 'pattern5' => '', 'img6' => '', 'pattern6' => '');
elseif($abc_count < 9)
$data['var'] = array('img8' => '', 'pattern8' => '', 'img9' => '', 'pattern9' => '');

$run = 0;
$abc_while = $abc_count > 20 ? 20 : $abc_count;




Könntest du mir bitte evtl Fehler berichtigen? Danke!


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


Zuletzt editiert von Leitwolf am 23.10.2009 um 16:45 Uhr (1x Editiert)
Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 3 - 23.10.2009 um 16:51 Uhr
$data = array();
$data['if']['features'] = $abc_count == 20 ? 1 : 0;



$data['if']['row8'] = $abc_count > 19 ? 1 : 0;
$data['if']['row7'] = $abc_count > 18 ? 1 : 0;
$data['if']['row6'] = $abc_count > 15 ? 1 : 0;
$data['if']['row5'] = $abc_count > 12 ? 1 : 0;
$data['if']['row4'] = $abc_count > 9 ? 1 : 0;
$data['if']['row3'] = $abc_count > 6 ? 1 : 0;
$data['if']['row2'] = $abc_count > 3 ? 1 : 0;
$data['if']['row1'] = $abc_count > 0 ? 1 : 0;

if($abc_count < 3)
$data['var'] = array('img2' => '', 'pattern2' => '', 'img3' => '', 'pattern3' => '');
elseif($abc_count < 6)
$data['var'] = array('img5' => '', 'pattern5' => '', 'img6' => '', 'pattern6' => '');
elseif($abc_count < 9)
$data['var'] = array('img8' => '', 'pattern8' => '', 'img9' => '', 'pattern9' => '');

elseif($abc_count < 12)
$data['var'] = array('img11' => '', 'pattern11' => '', 'img12' => '', 'pattern12' => '');


elseif($abc_count < 15)
$data['var'] = array('img14' => '', 'pattern14' => '', 'img15' => '', 'pattern15' => '');


elseif($abc_count < 18)
$data['var'] = array('img17' => '', 'pattern17' => '', 'img18' => '', 'pattern18' => '');


elseif($abc_count < 19)
$data['var'] = array('img19' => '', 'pattern19' => '');


$run = 0;
$abc_while = $abc_count > 20 ? 20 : $abc_count;


So sollte es gehne =)


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Leitwolf
Thread-Ersteller


Try to beat me





Beiträge: 188
# Antwort: 4 - 23.10.2009 um 18:53 Uhr
Leider nein es bleibt bei 9 angezeigten Smileys


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


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 5 - 23.10.2009 um 20:38 Uhr
Vermutlich, weil du die Abfrage nicht angepasst hast.
(sry, hatte ich jetzt eben nicht draufgeachtet...)

Die musst du noch so ändern:
$loop_abc = cs_sql_select(__FILE__,'abcode',$select,"abcode_func = 'img'",0,0,20);


Tom


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
Leitwolf
Thread-Ersteller


Try to beat me





Beiträge: 188
# Antwort: 6 - 23.10.2009 um 23:48 Uhr
Die Zeile ist bei mir schon vorhanden ?!

Mein Code sieht jetzt so aus:


function cs_abcode_smileys($name) {

global $cs_main;
if(!empty($cs_main['rte_more'])) return '';

$cs_lang = cs_translate('system/abcodes', 1);

$select = 'abcode_pattern, abcode_file';
$loop_abc = cs_sql_select(__FILE__,'abcode',$select,"abcode_func = 'img'",0,0,20);
$abc_count = count($loop_abc);

$data = array();
$data['if']['features'] = $abc_count == 20 ? 1 : 0;



$data['if']['row8'] = $abc_count > 19 ? 1 : 0;
$data['if']['row7'] = $abc_count > 18 ? 1 : 0;
$data['if']['row6'] = $abc_count > 15 ? 1 : 0;
$data['if']['row5'] = $abc_count > 12 ? 1 : 0;
$data['if']['row4'] = $abc_count > 9 ? 1 : 0;
$data['if']['row3'] = $abc_count > 6 ? 1 : 0;
$data['if']['row2'] = $abc_count > 3 ? 1 : 0;
$data['if']['row1'] = $abc_count > 0 ? 1 : 0;

if($abc_count < 3)
$data['var'] = array('img2' => '', 'pattern2' => '', 'img3' => '', 'pattern3' => '');
elseif($abc_count < 6)
$data['var'] = array('img5' => '', 'pattern5' => '', 'img6' => '', 'pattern6' => '');
elseif($abc_count < 9)
$data['var'] = array('img8' => '', 'pattern8' => '', 'img9' => '', 'pattern9' => '');

elseif($abc_count < 12)
$data['var'] = array('img11' => '', 'pattern11' => '', 'img12' => '', 'pattern12' => '');


elseif($abc_count < 15)
$data['var'] = array('img14' => '', 'pattern14' => '', 'img15' => '', 'pattern15' => '');


elseif($abc_count < 18)
$data['var'] = array('img17' => '', 'pattern17' => '', 'img18' => '', 'pattern18' => '');


elseif($abc_count < 19)
$data['var'] = array('img19' => '', 'pattern19' => '');


$run = 0;
$abc_while = $abc_count > 20 ? 20 : $abc_count;


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


Inaktiv
|
Antworten: 6
Seite [1]


Sie müssen sich registrieren, um zu antworten.