How to push script to G3 <head>??

hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Fri, 2010-03-12 20:16

I need to include a script to html <head>. I tried this:

created file in views folder of the module:
front_head.html.php

added:

Quote:
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script language="JavaScript" type="text/javascript">
script here
</script>

will this include the script correctly?

all the best
HB - http://www.image.agentura.dk

 
Serge D
Serge D's picture

Joined: 2009-06-11
Posts: 2138
Posted: Fri, 2010-03-12 20:40

From module?

under modules/<mymodule>/helpers/mymodule_theme.php

static function head($theme) {
/* for css */
$theme->css("mymodule.css");
/* for JS */
$theme->script("mymodule.js");
return "";
}

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Fri, 2010-03-12 22:21

Yes from module called "front"

are you serious about theme? it's a module??

front/helpers/mymodule_theme.php

Inside this file:

Quote:
static function head($theme) {$theme->css("front.css"); $theme->script("front.js"); return "";}

So the script is placed in front.js. I need this cut outfor sissies, otherwise I am lost in php or what ever this code is

What happened to:

Quote:
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script language="JavaScript" type="text/javascript">

and

Quote:
front_head.html.php

all the best
HB - http://www.image.agentura.dk

 
Serge D
Serge D's picture

Joined: 2009-06-11
Posts: 2138
Posted: Fri, 2010-03-12 22:47
hebhansen wrote:
Yes from module called "front"
are you serious about theme? it's a module??

It is visual stuff, right? so yes, it is event in the module related to theme rendering

Quote:
So the script is placed in front.js.

You can call it as you want, but for simplicity, yes. Easier to track later.

Quote:
I need this cut outfor sissies, otherwise I am lost in php or what ever this code is
What happened to:

Quote:
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script language="JavaScript" type="text/javascript">

give it a try, you will see :)

Quote:
front_head.html.php

No such thing...

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Fri, 2010-03-12 22:59

I will try..

Is there a simple way to call fx a block as is - fx image block or language block into my front/views/front.php?

I am writing html and I want to add components from aroung G3. However, this php syuff is killing me.

all the best
HB - http://www.image.agentura.dk

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Fri, 2010-03-12 23:11

front.js goes in js folder?

and whats around the:

start script
end script

will I need this?

Quote:
<?php defined("SYSPATH") or die("No direct script access.") ?>
<script language="JavaScript" type="text/javascript">

all the best
HB - http://www.image.agentura.dk

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Fri, 2010-03-12 23:17

Source code after making the changes.... and it doesn't display nice

Quote:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>
Gallery :: Front </title>
<link rel="shortcut icon" href="/lib/images/favicon.ico" type="image/x-icon" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="/themes/monochrome/css/fix-ie.css"
media="screen,print,projection" />
<![endif]-->
<script type="text/javascript">
var MSG_CANCEL = "Annuller";
</script>

static function head($theme) {$theme->css("front.css"); $theme->script("front.js"); return "";}<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
<script type="text/javascript" src="/index.php/combined/javascript/336e10906738076d0cc7fab0f3b736b8"></script>

<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
<link rel="stylesheet" type="text/css" href="/index.php/combined/css/6faf438ee921463ce02e95bbd2c87514" media="screen,print,projection" />

<!--[if IE 6]>
<script type="text/javascript">
/*Load jQuery if not already loaded*/ if(typeof jQuery == 'undefined'){ document.write("<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></"+"script>"); var __noconflict = true; }
var IE6UPDATE_OPTIONS = {
icons_path: "/modules/ie6update/images/"
}
</script>
<script type="text/javascript" src="/modules/ie6update/js/ie6update.js"></script>
<![endif]-->

<script type="text/javascript" src="/modules/fisheye_menu/js/interface.js"></script>
<script type="text/javascript" src="/modules/fisheye_menu/js/fisheye_patched.js"></script>
<link rel="stylesheet" type="text/css" href="/modules/fisheye_menu/css/style.css" />
<!--[if lt IE 7]>
<style type="text/css">
.dock img { behavior: url(/modules/fisheye_menu/js/iepngfix.htc) }
</style>
<![endif]-->
</head>

all the best
HB - http://www.image.agentura.dk

 
Serge D
Serge D's picture

Joined: 2009-06-11
Posts: 2138
Posted: Fri, 2010-03-12 23:30

Cannot comment much. Willing to share current modele's code?

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Sat, 2010-03-13 00:12

I need this to work in a clean page that I can html edit around it. Displays a swf basically. I want it to be named front:

Quote:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Main</title>
<script language="JavaScript" type="text/javascript">
<!--
//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated. All rights reserved.
var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
var version;
var axo;
var e;
// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
try {
// version will be set for 7.X or greater players
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
version = axo.GetVariable("$version");
} catch (e) {
}
if (!version)
{
try {
// version will be set for 6.X players only
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");

// installed player is some revision of 6.0
// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
// so we have to be careful.

// default to the first public version
version = "WIN 6,0,21,0";
// throws if AllowScripAccess does not exist (introduced in 6.0r47)
axo.AllowScriptAccess = "always";
// safe to call for 6.0r47 or greater
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 4.X or 5.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = axo.GetVariable("$version");
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 3.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
version = "WIN 3,0,18,0";
} catch (e) {
}
}
if (!version)
{
try {
// version will be set for 2.X player
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
version = "WIN 2,0,0,11";
} catch (e) {
version = -1;
}
}

return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
// NS/Opera version >= 3 check for Flash plugin in plugin array
var flashVer = -1;

if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
var descArray = flashDescription.split(" ");
var tempArrayMajor = descArray[2].split(".");
var versionMajor = tempArrayMajor[0];
var versionMinor = tempArrayMajor[1];
var versionRevision = descArray[3];
if (versionRevision == "") {
versionRevision = descArray[4];
}
if (versionRevision[0] == "d") {
versionRevision = versionRevision.substring(1);
} else if (versionRevision[0] == "r") {
versionRevision = versionRevision.substring(1);
if (versionRevision.indexOf("d") > 0) {
versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
}
}
var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
}
}
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
else if ( isIE && isWin && !isOpera ) {
flashVer = ControlVersion();
}
return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
versionStr = GetSwfVer();
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
// Given "WIN 2,0,0,11"
tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
tempString = tempArray[1]; // "2,0,0,11"
versionArray = tempString.split(","); // ['2', '0', '0', '11']
} else {
versionArray = versionStr.split(".");
}
var versionMajor = versionArray[0];
var versionMinor = versionArray[1];
var versionRevision = versionArray[2];
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if (versionMajor > parseFloat(reqMajorVer)) {
return true;
} else if (versionMajor == parseFloat(reqMajorVer)) {
if (versionMinor > parseFloat(reqMinorVer))
return true;
else if (versionMinor == parseFloat(reqMinorVer)) {
if (versionRevision >= parseFloat(reqRevision))
return true;
}
}
return false;
}
}
function AC_AddExtension(src, ext)
{
if (src.indexOf('?') != -1)
return src.replace(/\?/, ext+'?');
else
return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '';
if (isIE && isWin && !isOpera)
{
str += '<object ';
for (var i in objAttrs)
{
str += i + '="' + objAttrs[i] + '" ';
}
str += '>';
for (var i in params)
{
str += '<param name="' + i + '" value="' + params[i] + '" /> ';
}
str += '</object>';
}
else
{
str += '<embed ';
for (var i in embedAttrs)
{
str += i + '="' + embedAttrs[i] + '" ';
}
str += '> </embed>';
}
document.write(str);
}
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
var ret =
AC_GetArgs
( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
, null
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
case "classid":
break;
case "pluginspage":
ret.embedAttrs[args[i]] = args[i+1];
break;
case "src":
case "movie":
args[i+1] = AC_AddExtension(args[i+1], ext);
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
case "onafterupdate":
case "onbeforeupdate":
case "onblur":
case "oncellchange":
case "onclick":
case "ondblclick":
case "ondrag":
case "ondragend":
case "ondragenter":
case "ondragleave":
case "ondragover":
case "ondrop":
case "onfinish":
case "onfocus":
case "onhelp":
case "onmousedown":
case "onmouseup":
case "onmouseover":
case "onmousemove":
case "onmouseout":
case "onkeypress":
case "onkeydown":
case "onkeyup":
case "onload":
case "onlosecapture":
case "onpropertychange":
case "onreadystatechange":
case "onrowsdelete":
case "onrowenter":
case "onrowexit":
case "onrowsinserted":
case "onstart":
case "onscroll":
case "onbeforeeditfocus":
case "onactivate":
case "onbeforedeactivate":
case "ondeactivate":
case "type":
case "codebase":
case "id":
ret.objAttrs[args[i]] = args[i+1];
break;
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}
// -->
</script>
</head>

<body bgcolor="#111111">
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="JavaScript" type="text/javascript">
AC_FL_RunContent(
'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
'width', '590',
'height', '300',
'src', 'Main',
'quality', 'high',
'pluginspage', 'http://www.adobe.com/go/getflashplayer',
'align', 'middle',
'play', 'true',
'loop', 'true',
'scale', 'showall',
'wmode', 'window',
'devicefont', 'false',
'id', 'Main',
'bgcolor', '#111111',
'name', 'Main',
'menu', 'true',
'allowFullScreen', 'false',
'allowScriptAccess','sameDomain',
'movie', 'swf/Main',
'salign', ''
); //end AC code
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="590" height="300" id="Main" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="swf/Main.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /> <embed src="swf/Main.swf" quality="high" bgcolor="#000000" width="590" height="300" name="Main" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
</object>
</noscript>
</body>
</html>

all the best
HB - http://www.image.agentura.dk

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Sat, 2010-03-13 00:21

after that I need to solve the block issue above. Code attached is where I am at. front.css is there front_html.php, front.js and front_theme.php

Files called from code, I have intact. they must be at same level as what would be an index.html, wherever that is in a G3 module.

all the best
HB - http://www.image.agentura.dk

AttachmentSize
front.zip5.61 KB
 
Serge D
Serge D's picture

Joined: 2009-06-11
Posts: 2138
Posted: Sat, 2010-03-13 01:16

Ok, try replacing with this in the file front_theme.php

Quote:
<?php defined("SYSPATH") or die("No direct script access.");

class front_theme_Core {

static function head($theme) {
$theme->css("front.css");
$theme->script("front.js");
return "";
}
}

?>

Note. Your JS breakes stuff. See included file. No php should be present in JS

AttachmentSize
front.js_.txt8.62 KB
 
Serge D
Serge D's picture

Joined: 2009-06-11
Posts: 2138
Posted: Sat, 2010-03-13 01:27

Another question... if the only thing you are trying to do is to put a flash as a front page on start up, why not just put index.html in the root and be done?

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Sat, 2010-03-13 07:46

I am trying to create a front for G3 as I want it, out of the G3 engine so to say I will make it in panels with individual subjects. The objective is to bring spacerequiring blocks to front. img Block, Tag cloud, gtags, Language Flags. They can be removed from sidebar and only displayed on front/ home of G3. This will save space in sidebar and G3 will never scroll. Other links from sidebar can then move to Fisheye Menu module.

http://codex.gallery2.org/Gallery3:Modules:fisheye_menu

For now, sidebar is handling only dynamic links and stuff not in front and not a Primary/Secondary link in Fisheye

This module should be a rip off of Floridaves about module. Only issue is that G3 has a bug, so that when admin fields including " are saved, it adds '\' x 2 + 1!!! So coding in forms get screwed over.

That leaves me at the about module, hacked and hardcoded. So why the module. This for others to do what I do and not have the hazzle that I do for this very basic request. No I am not at all on top of the G3 module structure and certainly not php. So expect tons of questions for now.

Also, this gives me the opportunity to display stuff on fron only. fx. Language flag is only required there.

However, your help is most appreciated :-) - I noticed your theme, looks cool and great work IMO. One thing I don't get is that G3 sells this product under Wind. Visual is everything for everyday users. Wind looked like that since G1 saw dawn and the 80 design will keep most people away. Ship G3 in a nice package and see what happens. This is meant in a constructive way and to the best of interest in Gallery. Developers behind it deserve that.

This is the face of my site. The above is a flash

all the best
HB - http://www.image.agentura.dk

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Sat, 2010-03-13 07:59

Added your code and it seems that head is not read propperly. Superfish menu is missing, Fisheye menu is missing or at least the script. Can the code be placed in bottom of <head somehow>?? if that change things?

Sourcecode:

Quote:
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>
Gennemse album :: The Skunk Works </title>
<link rel="shortcut icon" href="/lib/images/favicon.ico" type="image/x-icon" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="/themes/monochrome/css/fix-ie.css"
media="screen,print,projection" />
<![endif]-->
<style type="text/css">
#g-content #g-album-grid .g-item {
width: 170,4px;
height: 192px;
/* 0,8 */
}
</style>
<script type="text/javascript">
var MSG_CANCEL = "Annuller";
</script>

<!-- LOOKING FOR YOUR JAVASCRIPT? It's all been combined into the link below -->
<script type="text/javascript" src="/index.php/combined/javascript/a5a210c1f181f40b2fa0a41db0220913"></script>

<!-- LOOKING FOR YOUR CSS? It's all been combined into the link below -->
<link rel="stylesheet" type="text/css" href="/index.php/combined/css/8af8718f421ef096ac15bc5eea3102e3" media="screen,print,projection" />

<link rel="alternate" type="application/rss+xml" href="/index.php/rss/feed/gallery/album/1" />

<META NAME="KEYWORDS" CONTENT="The Skunk Works">
<META NAME="DESCRIPTION" CONTENT="The Skunk Works">

<!--[if IE 6]>
<script type="text/javascript">
/*Load jQuery if not already loaded*/ if(typeof jQuery == 'undefined'){ document.write("<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></"+"script>"); var __noconflict = true; }
var IE6UPDATE_OPTIONS = {
icons_path: "/modules/ie6update/images/"
}
</script>
<script type="text/javascript" src="/modules/ie6update/js/ie6update.js"></script>
<![endif]-->

<script type="text/javascript" src="/modules/fisheye_menu/js/interface.js"></script>
<script type="text/javascript" src="/modules/fisheye_menu/js/fisheye_patched.js"></script>
<link rel="stylesheet" type="text/css" href="/modules/fisheye_menu/css/style.css" />
<!--[if lt IE 7]>
<style type="text/css">
.dock img { behavior: url(/modules/fisheye_menu/js/iepngfix.htc) }
</style>
<![endif]-->

</head>

The above <head> and <body> was placed in flow.html before. At the same level all scripts and floders are placed. If I need same folder then what

index.html
folder 1
folder 2
file 1
file 2

G3 module

front
- helpers
- <head>
- views
- <body>

what is my index.html ???

all the best
HB - http://www.image.agentura.dk

 
hebhansen
hebhansen's picture

Joined: 2009-02-10
Posts: 572
Posted: Sat, 2010-03-13 08:16

I think this is going to be quite proprietary so I will move this inside my theme. Is that possible? And will G3 allow a view from there to be front?

all the best
HB - http://www.image.agentura.dk