1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Модуль "Хранитель экрана"

Discussion in 'Free' started by galstuk, Jun 10, 2010.

  1. galstuk Thread starter Famous member


    Offline
    • Знаменитый
    Message Count:
    398
    Likes Received:
    151
    Забираем очередной модуль от Galstuk`a, ставим плюсик и говорим спасибо... ;)

    Название: Модуль "Хранитель экрана".

    Описание:
    Данный модуль используется как хранитель экрана (скринсейвер) для вашего Social Engine сайта. Т.е. если пользователь не ведет никакой активности на сайте (ушел покурить или на горшок... :confused1: ) включается картинка скринсейвера на сайте как в Windows.

    Установка:
    1.Залить целиком (!!!) папки modules и templates в корень вашего сайта.

    2.Открыть footer.tpl и в самом конце,где заканчивается код вставить строку:

    3.Теперь при не активности пользователя на вашем сайте на экране появится картинка.

    4.Все настройки производятся в файле templates/wss.tpl
    Картинку можете изменить по своему вкусу.

    Attached Files:

    Хитров and Prado like this.
  2. elshad1985 Novice member


    Offline
    Message Count:
    14
    Likes Received:
    0
    смотрити на моы мод :))

    хорошоя модел...трудилса..ми ченим етоы труд...я тоэ сам некоториэ мод зделал..но моэт каму не надо :)) всё мойна бит
  3. Prado Challenge Everything


    Offline
    • Admin
    Message Count:
    3,191
    Likes Received:
    786
    My version of phpFox:
    3.0.0
    Насчет ссылок на форум, который не посвящен SE. Хотелось бы больше их не видеть или я пущу её по фильтру форума.
  4. veterok User


    Offline
    • Знаменитый
    Message Count:
    330
    Likes Received:
    79
    galstuk,
    Ничего не напоминает?
    Code:
    echo'<style type="text/css">
    #josOverlay{
       color:"#FFFFFF";
       display:none;
       position: absolute;
       top: 0;
       left: 0;
       z-index:75;
       width: 1px;
       height: 1px;
       filter:alpha(opacity="75");
       font-family: Verdana, Arial, Helvetica, sans-serif;
       font-size: 14px;
       font-weight:bold;
       -moz-opacity:75;
       opacity:75;
    }
    #ss{
       position: absolute;
       top: 0px;
       left: 0px;
       z-index: 91;
       visibility:hidden;
    }
    </style>';
    echo '<div id="josOverlay">www.joomlamz.com</div>
    <img src="', $settings['images_url'], '/ss1.gif" id="ss">
    <script language="JavaScript">
       var josInterval ="750";
       var josWait = "5";
       var imgWidth = "237";
       var imgHeight = "95";
    </script>';
    echo' <script language="JavaScript">
    var run = false;
    var objImage;
    var objOverlay;
    var curpos;
    var xRange;
    var yRange;
    var josDate = new Date();
    var josTime2Run = josDate.getTime();
    var ars;
      obj = findObj("image1");
    function findObj(theObj, theDoc)
    {
      var p, i, foundObj;
      
      if(!theDoc) theDoc = document;
      if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
      {
        theDoc = parent.frames[theObj.substring(p+1)].document;
        theObj = theObj.substring(0,p);
      }
      if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
      for (i=0; !foundObj && i < theDoc.forms.length; i++) 
        foundObj = theDoc.forms[i][theObj];
      for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
        foundObj = findObj(theObj,theDoc.layers[i].document);
      if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
      
      return foundObj;
    }
    
    objOverlay = findObj(\'josOverlay\');
    objOverlay.style.background="black";
    objImage = findObj("ss");
    objImage.style.height = imgHeight + "px";
    objImage.style.width = imgWidth + "px";
          
    function josShowHide (st) {
    var tags = new Array("applet", "iframe", "select");
    for (var k = tags.length; k > 0; ) {
    var ar = document.getElementsByTagName(tags[--k]);
    var cc = null;
    for (var i = ar.length; i > 0;) {
    cc = ar[--i];
    cc.style.visibility = st;
    }}}
    function getPageScroll(){
    var yScroll;
    if (self.pageYOffset) {
    yScroll = self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop){    // Explorer 6 Strict
    yScroll = document.documentElement.scrollTop;
    } else if (document.body) {// all other Explorers
    yScroll = document.body.scrollTop;
    }
    arrayPageScroll = new Array(\'\',yScroll) 
    return arrayPageScroll;}
    function getPageSize(){
    var xScroll, yScroll;
    if (window.innerHeight && window.scrollMaxY) {   
    xScroll = document.body.scrollWidth;
    yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
    xScroll = document.body.scrollWidth;
    yScroll = document.body.scrollHeight;
    } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
    xScroll = document.body.offsetWidth;
    yScroll = document.body.offsetHeight;
    }
    var windowWidth, windowHeight;
    if (self.innerHeight) {   // all except Explorer
    windowWidth = self.innerWidth;
    windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
    windowWidth = document.documentElement.clientWidth;
    windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
    windowWidth = document.body.clientWidth;
    windowHeight = document.body.clientHeight;
    }   
    if(yScroll < windowHeight){
    pageHeight = windowHeight;
    } else { 
    pageHeight = yScroll;
    }
    if(xScroll < windowWidth){   
    pageWidth = windowWidth;
    } else {
    pageWidth = xScroll;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    return arrayPageSize;
    }
    function josStart() {
    var ar = getPageSize();
    ars = getPageScroll();
    if (document.all) {
    objOverlay.style.width = ar[0] + "px";
    } else {
    objOverlay.style.width = "100%"; 
    }
    if ((document.all) && ars[1]>10) {
    objOverlay.style.height = (ar[1]+25) + "px";
    } else {
    objOverlay.style.height = ar[1] + "px";
    }
    xRange = ar[2] - objImage.width;
    yRange = ar[3] - objImage.height;
    objOverlay.style.display = "block";
    objImage.style.visibility ="visible";
    run = true;
    josStartRandomPosition();
    josShowHide("hidden");
    }
    function josEnd() {
    if (run) {
    if (document.all) {
    if ((curpos == (event.screenX + ":" + event.screenY)) && (event.type=="mousemove")) {
    return false;}}
    objImage.style.visibility ="hidden";
    objImage.style.top = "0px";
    objImage.style.left = "0px";
    objOverlay.style.display = "none";
    objOverlay.style.width = "1px";
    objOverlay.style.height = "1px";
    josShowHide("visible");
    }
    run = false;
    var dt = new Date();
    josTime2Run = dt.getTime();
    }
    function josStartRandomPosition() {
    if (run) {
    var x = Math.round(Math.random() * xRange);
    var y = Math.round(Math.random() * yRange) + ars[1];
    objImage.style.left = x + "px";
    objImage.style.top = y + "px";
    window.setTimeout("josStartRandomPosition();", josInterval);}}
    function josWatcher() {
    var dt = new Date();
    if ( (run) ) {
    window.setTimeout("josWatcher();", 1000);
    return true;
    }
    if ((dt.getTime() - josTime2Run) > 1000*josWait) {
    josStart();
    }
    window.setTimeout("josWatcher();", 1000);
    }
    
    document.onclick = josEnd;
    objOverlay.onclick = josEnd;
    document.onmousemove = function () {
    if (document.all) {
    if (window.event.srcElement.id != "josOverlay") {
    curpos = event.screenX + ":" + event.screenY;}}
    josEnd();
    };
    document.onkeypress = josEnd;
    window.onresize = josEnd;
    josWatcher();  
    </script>
    ';
    Найдено здесь: http://www.joomla.co.mz/forum/viewtopic.php?f=284&t=4303&start=0 и это сообщение было опубликовано Sun Nov 16, 2008 11:36 pm
    Сравним с тем, что у тебя в файле wss.tpl
    Code:
    {*Модуль "Хранитель экрана" для Social Engine 2.xx и 3.xx*}
    {*Copyright by Galstuk (C) 2010*}
    {*www.Mir-Druzey.Ru*}
    <link href="modules/mod_wss/css/wss.css" rel="stylesheet" type="text/css" />
    {literal}
    
    <style type="text/css">
    #josOverlay{
    	background-color:white;
    	filter:alpha(opacity=100);
    	-moz-opacity: 8/10;
    	opacity: 8/10;
    }
    #ss{
    	z-index: 99999;
    	border: 1px solid black;
    }
    </style>
    {/literal}
    <div id="josOverlay"></div>
    <img src="modules/mod_wss/images/ss.gif" id="ss">
    {literal}
    <script language="JavaScript" type="text/javascript">
    var josInterval = 3*1000;
    	var josWait = 10; /* через такое время будет показан хранитель экрана */
    	var imgWidth = 300; /*ширина появляющегося изображения*/
    	var imgHeight = 149; /*высота появляющегося изображения*/
    	var bgcolor = 'white';
    	var run = false;
    	var objImage;
    	var objOverlay;
    	var curpos;
    	var xRange;
    	var yRange;
    	var josDate = new Date();
    	var josTime2Run = josDate.getTime();
    	var ars;
    	function findObj(theObj, theDoc)
    	{
    		var p, i, foundObj;
    		if(!theDoc) theDoc = document;
    		if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
    		{
    			theDoc = parent.frames[theObj.substring(p+1)].document;
    			theObj = theObj.substring(0,p);
    		}
    		if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj];
    		for (i=0; !foundObj && i < theDoc.forms.length; i++) 
    			foundObj = theDoc.forms[i][theObj];
    		for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) 
    			foundObj = findObj(theObj,theDoc.layers[i].document);
    		if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);
    		return foundObj;
    	}
    	objOverlay = findObj('josOverlay');
    	objOverlay.style.background=bgcolor;
    	objImage = findObj('ss');
    	objImage.style.height = imgHeight + 'px';
    	objImage.style.width = imgWidth + 'px';	
    	function josShowHide (st) {
    		var tags = new Array("applet", "iframe", "select");
    		for (var k = tags.length; k > 0; ) {
    		var ar = document.getElementsByTagName(tags[--k]);
    		var cc = null;
    			for (var i = ar.length; i > 0;) {
    				cc = ar[--i];
    				cc.style.visibility = st;
    			}
    		}
    	}
    	function getPageScroll(){
    		var yScroll;
    		if (self.pageYOffset) {
    			yScroll = self.pageYOffset;
    		} else if (document.documentElement && document.documentElement.scrollTop){
    			yScroll = document.documentElement.scrollTop;
    		} else if (document.body) {
    			yScroll = document.body.scrollTop;
    		}
    		arrayPageScroll = new Array('',yScroll) 
    		return arrayPageScroll;
    	}
    	function getPageSize(){
    		var xScroll, yScroll;
    		if (window.innerHeight && window.scrollMaxY) {	
    			xScroll = document.body.scrollWidth;
    			yScroll = window.innerHeight + window.scrollMaxY;
    		} else if (document.body.scrollHeight > document.body.offsetHeight){
    			xScroll = document.body.scrollWidth;
    			yScroll = document.body.scrollHeight;
    		} else {
    			xScroll = document.body.offsetWidth;
    			yScroll = document.body.offsetHeight;
    		}
    		var windowWidth, windowHeight;
    		if (self.innerHeight) {
    			windowWidth = self.innerWidth;
    			windowHeight = self.innerHeight;
    		} else if (document.documentElement && document.documentElement.clientHeight) {
    			windowWidth = document.documentElement.clientWidth;
    			windowHeight = document.documentElement.clientHeight;
    		} else if (document.body) {
    			windowWidth = document.body.clientWidth;
    			windowHeight = document.body.clientHeight;
    		}
    		if(yScroll < windowHeight){
    			pageHeight = windowHeight;
    		} else { 
    			pageHeight = yScroll;
    		}
    		if(xScroll < windowWidth){	
    			pageWidth = windowWidth;
    		} else {
    			pageWidth = xScroll;
    		}
    		arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    		return arrayPageSize;
    	}
    	function josStart() {
    		var ar = getPageSize();
    		ars = getPageScroll();
    		if (document.all) {
    			objOverlay.style.width = ar[0] + "px";
    		} else {
    			objOverlay.style.width = "100%"; 
    		}
    		if ((document.all) && ars[1]>10) {
    			objOverlay.style.height = (ar[1]+25) + "px";
    		} else {
    			objOverlay.style.height = ar[1] + "px";
    		}
    		xRange = ar[2] - objImage.width;
    		yRange = ar[3] - objImage.height;
    		objOverlay.style.display = "block";
    		objImage.style.visibility ="visible";
    		run = true;
    		josStartRandomPosition();
    		josShowHide("hidden");
    	}
    	function josEnd() {
    		if (run) {
    			if (document.all) {
    				if ((curpos == (event.screenX + ":" + event.screenY)) && (event.type=="mousemove")) {
    					return false;
    				}
    			}
    			objImage.style.visibility ="hidden";
    			objImage.style.top = "0px";
    			objImage.style.left = "0px";
    			objOverlay.style.display = "none";
    			objOverlay.style.width = "1px";
    			objOverlay.style.height = "1px";
    			josShowHide("visible");
    		}
    		run = false;
    		var dt = new Date();
    		josTime2Run = dt.getTime();
    	}
    	function josStartRandomPosition() {
    		if (run) {
    			var x = Math.round(Math.random() * xRange);
    			var y = Math.round(Math.random() * yRange) + ars[1];
    			objImage.style.left = x + "px";
    			objImage.style.top = y + "px";
    			window.setTimeout("josStartRandomPosition();", josInterval);
    		}
    	}
    	function josWatcher() {
    		var dt = new Date();
    		if ( (run) ) {
    			window.setTimeout("josWatcher();", 1000);
    			return true;
    		}
    		if ((dt.getTime() - josTime2Run) > 1000*josWait) {
    			josStart();
    		}
    		window.setTimeout("josWatcher();", 1000);
    	}
    	document.onclick = josEnd;
    	objOverlay.onclick = josEnd;
    	document.onmousemove = function () {
    	if (document.all) {
    		if (window.event.srcElement.id != "josOverlay") {
    			curpos = event.screenX + ":" + event.screenY;
    		}
    	}
    	josEnd();
    	};
    	document.onkeypress = josEnd;
    	window.onresize = josEnd;
    	window.onscroll = josEnd;
    	josWatcher();
    	</script>
    	{/literal}
    Ну как? :D
    Наверное не очень правильно выдавать чужие идеи, как свои? Тем более с таким пижонством :)
    Или я снова не прав?
  5. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    Круто облажался :) ну посути и то и то бесплатно, но выдавать полносью за свое, как то неочень
  6. twixi007 Famous member


    Offline
    • Знаменитый
    Message Count:
    417
    Likes Received:
    77
    My version of SE:
    4.6.0
    Чё вы гоните на типа?
    он же переделывает и вылаживает бесплатно!!
  7. its-me User


    Offline
    Message Count:
    406
    Likes Received:
    3
    трафика на каждую страницу будет больше хавать?

Share This Page

All rights reserved SocEngine.ru ©