Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

ADS Manager 2.x

Обсуждение темы ADS Manager 2.x в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой ) В Самом php я не оч шарю, могу ...


Закрытая тема
 
Опции темы
Старый 13.07.2011, 15:11   #1
Сижу сейчас ломаю голову над этим компонентом для джумлы и вдруг столкнулся с проблемкой )

В Самом php я не оч шарю, могу только поменять местами или вставить в блок уже написаный код в определённом файлике ) а от себя врядли чо осилю )
Вообщем кто работал поймут:
Там есть блок, где отображается меню " Вход в систему / Добавить объявление и т.п. "
Я этот блок убрал, поскольку нужно сделать так, что бы добавлять объявления мог только администратор сайта, можно конечно заставить заходить через админку и там добавлять, но хочется сделать иначе..
Поставил CB, сделал форму авторизации, а вот сделать так что бы войдя под своим логином на сайт, админ видел ссылку " Добавить объявление "
Посоветуйте что нибудь, потому что боюсь ночью не усну если не найду ответ ))))
Зарание примного благодарен
 
Старый 13.07.2011, 15:11
Ссылки
Старый 13.07.2011, 15:26   #2
Я думаю выдирать куски кода из движка, тем более такого сложного как джумла - ни к чему хорошему не приведет. Ищите решение штатными средствами движка.
 
Старый 13.07.2011, 15:38   #3
Цитата:
Сообщение от redreem Посмотреть сообщение
Я думаю выдирать куски кода из движка, тем более такого сложного как джумла - ни к чему хорошему не приведет. Ищите решение штатными средствами движка.
Ну выдирать - естественно ))
Но если не править этот код самому, то не получится ничего дельного)

Ну вот к примеру:
написан код страници:

Код:
<table class="adsmanager_table">
			<tr>
			  <th><?php echo JText::_('ADSMANAGER_CONTENT'); ?></th>
			  <?php 
			  	  foreach($this->columns as $col)
				  {
					echo "<th>".JText::_($col->name)."</th>";
				  }
			  ?>
			  <th><?php echo JText::_('ADSMANAGER_DATE'); ?></th>
			</tr>
		<?php
		foreach($this->contents as $content) 
		{
			$linkTarget = JRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid."&Itemid=".$this->Itemid);
			if (function_exists('getContentClass')) 
				$classcontent = getContentClass($content);
	  	    else
				$classcontent = "adsmanager_table_description";
			?>   
			<tr class="<?php echo $classcontent;?>"> 
				<td>
					<?php
					$ok = 0;$i=1;
					$nbimages = $conf->nb_images;
					if (function_exists("getMaxPaidSystemImages"))
					{
						$nbimages += getMaxPaidSystemImages();
					}
					while(!$ok)
					{
						if ($i < $nbimages + 1)
						{
							$ext_name = chr(ord('a')+$i-1);
							$pic = JPATH_BASE."/images/com_adsmanager/ads/".$content->id.$ext_name."_t.jpg";
							if (file_exists( $pic)) 
							{
								echo "<a href='".$linkTarget."'><img class='adimage' name='adimage".$content->id."' src='".$this->baseurl."/images/com_adsmanager/ads/".$content->id.$ext_name."_t.jpg' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
								$ok = 1;
							}
						}
						else if ($nbimages != 0)
						{
							if ((JText::_('ADSMANAGER_NOPIC') != "")&&(file_exists(JPATH_BASE."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC'))))
								echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/".JText::_('ADSMANAGER_NOPIC')."' alt='nopic' /></a>"; 
							else
								echo "<a href='".$linkTarget."'><img class='adimage' src='".$this->baseurl."/components/com_adsmanager/images/nopic.gif' alt='nopic' /></a>"; 
							$ok = 1;
						}   
						else
						{
							$ok = 1;
						}
						$i++;   	
					}
					?>
					<div>
					<h2>
						<?php echo '<a href="'.$linkTarget.'">'.$content->ad_headline.'</a>'; ?>
						<span class="adsmanager_cat"><?php echo "(".$content->parent." / ".$content->cat.")"; ?></span>
					</h2>
					<?php 
						$content->ad_text = str_replace ('<br />'," ",$content->ad_text);
						$af_text = JString::substr($content->ad_text, 0, 100)."...";
						echo $af_text;
					?>
					</div>
					
					<?php 
					if (($this->userid == $content->userid)&&($content->userid != 0))	{
					?>
					<div>
					<?php
						$target = JRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
						echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
						echo "&nbsp;";
						$target = JRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id"."&Itemid=".$this->Itemid);
						echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
					?>
					</div>
					<?php
					}
					?>			
				</td>
				<?php 
					foreach($this->columns as $col) {
						echo '<td class="center">';
						if (isset($this->fColumns[$col->id]))
							foreach($this->fColumns[$col->id] as $field)
							{
								echo $this->field->showFieldValue($content,$field); 
							}
						echo "</td>";
					}
				?>
				<td class="center">
					<?php 
					$iconflag = false;
					if (($conf->show_new == true)&&($this->isNewcontent($content->date_created,$conf->nbdays_new))) {
						echo "<div class='center'><img align='center' src='".$this->baseurl."/components/com_adsmanager/images/new.gif' /> ";
						$iconflag = true;
					}
					if (($conf->show_hot == true)&&($content->views >= $conf->nbhits)) {
						if ($iconflag == false)
							echo "<div class='center'>";
						echo "<img align='center' src='".$this->baseurl."/components/com_adsmanager/images/hot.gif' />";
						$iconflag = true;
					}
					if ($iconflag == true)
						echo "</div>";
					echo $this->reorderDate($content->date_created); 
					?>
					<br />
					<?php
					if ($content->userid != 0)
					{
					   echo JText::_('ADSMANAGER_FROM')." "; 
	
					   if ($conf->comprofiler == 2)
					   {
						$target = JRoute::_("index.php?option=com_comprofiler&task=userProfile&tab=adsmanagerTab&user=".$content->userid."&Itemid=".$this->Itemid);
					   }
					   else
					   {
						$target = JRoute::_("index.php?option=com_adsmanager&view=list&user=".$content->userid."&Itemid=".$this->Itemid);
					   }
					   
					   echo "<a href='".$target."'>".$content->user."</a><br/>";
					}
					?>
					<?php echo sprintf(JText::_('ADSMANAGER_VIEWS'),$content->views); ?>
				</td>
			</tr>
		<?php	
		}
		?>
		</table>
Это сама таблица отображения, н оменя не устраивает здесь сама таблица " <table> " и половина того что отображается мне не нужно - это я удаляю.
Так же меняю таблицу эту, что бы отображало по другому ну вообщем меняю внешний вид.
Единственное что я внёс своего в целом - это java на пункт авторизации, но вот тут то и столкнулся с проблемой, убрав эту кнопочку " Добавить новость " от всех глаз, я убрал её и от глаз авторизированого пользователя, а как вернуть, точней сделать так что б она отображалась только авторизированому пока не придумал, поэтому и вопрос задал )


Ну короче по сути ,я глобальных изменений не делал, поэтому врядли разрушу структуру )
 
Старый 13.07.2011, 16:11   #4
так выложите этот код, только еще с присутствующей кнопочкой я затрудняюсь угадать где она находилась
 
Старый 13.07.2011, 16:34   #5
Цитата:
Сообщение от redreem Посмотреть сообщение
так выложите этот код, только еще с присутствующей кнопочкой я затрудняюсь угадать где она находилась
Тут её нет, да и сам код не отработает так, как отрабатывает на моей странице, посколько тянет не только данные с БД но и данные из соседних .php исходников.

Впрочем это код не правленый ещё даже ) это оригинальный код самого ads_manager

Кнопочка о которой я говорю находится совершенно в другом коде, если быть точней она к этому коду не относится никак.
Блин, нужно наверное подробней обьяснить проблему

Щас наделаю скрины что б показать то, что мне нужно )
 
Старый 13.07.2011, 16:40   #6
я на часа 4 отлучаюсь. делайте скрины, хотя конечно сам скрипт бы, где эта кнопочка линкуется. ну да ладно, глянем что будет.
 
Старый 13.07.2011, 16:55   #7
Сама кнопка к этому не относится, кнопка открывает окошко в котором форма авторизации пользевателя на сайте. Регистрацию убрал что б посторонние не регестрировались, сама беда в другом )

Вот меню которое отображается по умолчанию.

код этого меню вот:
Код:
<?php $this->general->showGeneralLink() ?>
Точнее это код его отображения ну да и это не столь важно. Этот код я удалил из самой страници, что бы оно не отображалось.

В самом меню есть кнопочка " Добавить новость ", вот мне нужно что бы эта кнопочка отображалась только авторизированому пользователю на сайте. Ну то есть админу.

Лазил в настройках самого компонента, можно сделать так, что бы добавлять новости могли только зарегестрированные пользователи, но в этом случае для публики будет лишнее меню, а оно ну совсем мне не к чему.

Вот простой пример:
На форуме IPB после того как админ авторизуется, появляется кнопочка " Админка ", а нам, простым смертным этоа кнопочка не высвечивается

Вот. как то так )
 
Старый 13.07.2011, 23:36   #8
по сути надо найти массив, в котором хранится инфа о пользователе во время сессии, понять в какой ячейке хранится группа пользователя, понять какой номер группы зарезервирован за "гостями", т.е. не прошедшими авторизацию, а дальше простое условие на любом куске генерируемого контента if (<ячейка группы>!=<номеру гостей>) <контент генерим> else <не генерим>. Не видя хотябы кусков кода, где происходит линковка этой кнопки - ниче сказать точно нельзя. Тот пример кусочка кода который вы привели - слишком общий. Надо как минимум видеть эту самую функцию showGeneralLink() и в идеале все файлы, которые она прилинковывает еще. Жумлу как-то стороной обходил, поэтому живого примера движка у меня нет. Если уж приперло так - выкладывайте сборку вашу где-нибудь - гляну.

Добавлено через 13 секунд

и базу тоже

Последний раз редактировалось redreem; 13.07.2011 в 23:36.. Причина: Добавлено сообщение
 
Старый 14.07.2011, 00:56   #9
Цитата:
Сообщение от redreem Посмотреть сообщение
по сути надо найти массив, в котором хранится инфа о пользователе во время сессии, понять в какой ячейке хранится группа пользователя, понять какой номер группы зарезервирован за "гостями", т.е. не прошедшими авторизацию, а дальше простое условие на любом куске генерируемого контента if (<ячейка группы>!=<номеру гостей>) <контент генерим> else <не генерим>. Не видя хотябы кусков кода, где происходит линковка этой кнопки - ниче сказать точно нельзя. Тот пример кусочка кода который вы привели - слишком общий. Надо как минимум видеть эту самую функцию showGeneralLink() и в идеале все файлы, которые она прилинковывает еще. Жумлу как-то стороной обходил, поэтому живого примера движка у меня нет. Если уж приперло так - выкладывайте сборку вашу где-нибудь - гляну.

Добавлено через 13 секунд

и базу тоже
к сожалению выложить сборку сейчас нет возможности, поскольку с нет-бука сижу и на трафике, косяк с провайдером какой то :/

По сути сама функция showGeneralLink отображает то самое меню, тоесть по умолчанию там нет ничего приблежённого к тому, что мне нужно.
Регистрации на сайте нет поэтому вычеслить "if "admin" будет думаю не проблема)
Ну вообщем по сути мне нужно что б это меню не отображалось до тех пор, пока я на сайте не введу свой логин и пароль (не залогинюсь короче)
Поскольку реги не будет, войти сможет естественно только админ.

Если бы я в програмировании что то шарил мб объяснил бы лучше )) но увы обьяснить лучше чем обьяснил выше, про отображение кнопки " админка " на форуме врядли смогу)))
 
Старый 14.07.2011, 00:56
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Secure CRT и EMS MySQL Manager Pro 3.1 Edantses HTML, CSS, JavaScript 0 29.03.2005 19:41
Article Manager, образцовый пример системы публикации статей drakonchik Кальянная 2 27.02.2004 11:59
Download Manager Dio's de Lammos Кальянная 5 21.11.2003 12:02


Текущее время: 16:34. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум