class AjaxController extends CubeIT_Controller_AjaxController {
public function displayCaseStudies() {
- $studies = $_GET['studies'];
- //fb($studies, 'displayCaseStudies');
- //$this->view->CasestudiesList($this->studies);
+ $studies = $_GET['studies'];
+ //fb($studies, 'displayCaseStudies');
+ //$this->view->CasestudiesList($this->studies);
+ }
+
+ public function displayRealisation() {
+ $rea_id = $_GET['realisation_id'];
+ //fb($rea_id, 'Realisation id ');
+
+ $db = $this->getDb();
+ $s = $db->select()->from('realisations')
+ ->order('id ASC');
+ $s->where('id = ?', $rea_id);
+
+ $q = $s->query();
+ $r = $q->fetch();
+
+ $r = CubeIT_Util_Cms::unserialize($r);
+
+ for ($i = 0; $i < count($r->visuel_detail); $i++) {
+ $image_url = $this->view->imageProcess()->imageProcessGetUrl($r->visuel_detail[$i], '', null, 440);
+ $r->visuel_detail[$i] = $image_url;
+ }
+
+ $r->description = $this->view->markupDotclear($r->description);
+
+ $this->_datas->addVariable("rea", $r);
}
}
$db = Zend_Db_Table::getDefaultAdapter();\r
$s = $db->select()->from('realisations')\r
->order('id ASC');\r
-\r
if (!$acl) {\r
$s->where('online = ?', 1);\r
}\r
\r
$res = '';\r
\r
+ $test = 0;\r
while ($r = $q->fetch()) {\r
\r
$r = CubeIT_Util_Cms::unserialize($r);\r
\r
$addSpacer = false;\r
\r
- if ($count == 4) {\r
- $count = 1;\r
- $addClass = '';\r
- // $addSpacer = true;\r
- } else {\r
- $addClass = ' blocmargin';\r
- $count++;\r
- }\r
+ /* if ($count == 4) {\r
+ $count = 1;\r
+ $addClass = '';\r
+ //$addSpacer = true;\r
+ } else {\r
+ $addClass = ' blocmargin';\r
+ $count++;\r
+ } */\r
+\r
+ $addClass = ' blocmargin';\r
+\r
\r
$addOffline = '';\r
if ($acl && $r->online == 0) {\r
$addOffline = 'data-offline="1"';\r
}\r
\r
+ //$res .= '<a href="' . $url . '">';\r
+\r
+ $visuel = $this->view->imageProcess($r->visuel_detail, '', null, 440);\r
+\r
+\r
+ fb($r);\r
+\r
$image = $this->view->imageProcess($r->visuel, $r->titre, 230, 230);\r
$url = CubeIT_Navigation_Page::generateAutoUri($r, $datas['seourl_rea']);\r
- //$res .= '<a href="' . $url . '">';\r
\r
- $res .= '<a href="#" onclick="return false;" data-url="' . $url . '">';\r
- $res .= '<div class="bloc' . $addClass . '" data-tags="' . $r->tags . '">';\r
+ $res .= '<a href="#" onclick="return false;" data-url="' . $url . '" data-id="' . $r->id . '">';\r
+ /* $res .= '<div class="detail">';\r
+ $res .= '<div class="detailLeft">';\r
+ $res .= '<div class="titre">' . $r->titre . '</div>';\r
+ $res .= '<div class="legende">' . $r->legende . '</div>';\r
+ $res .= '<div class="agence">' . $r->agence . '</div>';\r
+ $res .= '<div class="description">' . $this->view->markupDotclear($r->description) . '</div>';\r
+ $res .= '<a class="link" href="' . $r->url . '">' . __("Voir le site") . '</a>';\r
+ $res .= '</div>';\r
+\r
+ $res .= '<div class="detailRight"><div class="slides">' . $visuel . '</div><div class="close"></div></div>';\r
+ $res .= '</div>'; */\r
+ $res .= '<div class=" bloc' . $addClass . '" data-tags="' . $r->tags . '" data-pos="' . $count . '">';\r
$res .= '<div class="project-photo">' . $image . '</div>';\r
- $res .= '<div class="project-title" ' . $addOffline . '>' . $r->titre . '</div>';\r
+ //$res .= '<div class="project-title" ' . $addOffline . '>' . $r->titre . '</div>';\r
$res .= '</div>';\r
$res .= '</a>';\r
// if ($addSpacer) {\r
// $res .= '<div class="spacer"></div>';\r
// }\r
+ $test++;\r
+\r
+ $count++;\r
}\r
\r
return $res;\r
TO_LOAD_ONCE[TO_LOAD_ONCE.length]='load_realisations();';\r
\r
var showIds = new Array();\r
+var isAnim = false;\r
+var currentOpen = 0;\r
+var currentOpenValues;\r
+var detail = "";\r
+var switchTimer;\r
+var currentSlide = 1;\r
+var autoSlide = true;\r
\r
function load_realisations() {\r
- //initTagsLink();\r
+ //initTagsLink();\r
+\r
+ $(".bloc").click( function () {\r
+ \r
+ var currentRea = $(this).attr("data-pos");\r
+ \r
+ if( !isAnim && currentRea != currentOpen ) {\r
+\r
+ isAnim = true;\r
+\r
+ var reaWidth = $(this).width() + parseInt($(this).css("margin-right").split("px")[0]);\r
+ var reaId = $(this).parent().attr("data-id");\r
+ var reaPerRow = $(this).parent().parent().width() / reaWidth;\r
+\r
+ var nbReas = $('.project-photo').length;\r
+\r
+ var nbRow = Math.ceil(nbReas / reaPerRow ); \r
+ \r
+ var reaPos = 1;\r
+ var count = 0;\r
+\r
+ var cible = $("#realisations-list").find("[data-pos='1']");\r
+\r
+ while( count < currentRea) {\r
+ count++;\r
+ if( (count % (reaPerRow+1)) == 0 ) {\r
+ reaPos++;\r
+ cible = $("#realisations-list").find("[data-pos='" + count + "']");\r
+ }\r
+ }\r
+\r
+ detail = "";\r
+ \r
+\r
+ //$.ajax();\r
+ $.ajax({\r
+ url : '/ajax/displayrealisation',\r
+ type : 'GET',\r
+ data: 'realisation_id=' + reaId,\r
+ complete: function(ret) {\r
+ \r
+ var response = JSON.parse(ret.responseText);\r
+ var rea = response.vars.rea;\r
+ \r
+ currentOpenValues = rea;\r
+ \r
+ detail += '<div id="detail">';\r
+ detail += '<div class="detailLeft">';\r
+ detail += '<div class="titre">'+rea.titre+'</div>';\r
+ detail += '<div class="legende">'+rea.legende+'</div>';\r
+ detail += '<div class="agence">Agence : '+rea.agence+'</div>';\r
+ detail += '<div class="description">'+rea.description+'</div>';\r
+ detail += '<a class="link" href="'+rea.url+'">Voir le site</a>';\r
+ detail += '</div>';\r
+ \r
+ var image=new Image();\r
+ image.src=rea.visuel_detail[0];\r
+ \r
+ detail += '<div class="detailRight"><div class="slides"><img id="visuel_detail" src="'+rea.visuel_detail[0]+'" /></div><div class="close"></div></div>';\r
+ detail += '</div>';\r
+ \r
+ preloadSlides();\r
+ \r
+ $(".bloc").find('.project-photo').removeClass("gray");\r
+\r
+ if( $( "#detail" ).length > 0) {\r
+ $( "#detail" ).slideUp( "slow", function() {\r
+ $('#detail').remove();\r
+ $(cible.parent()).before(detail);\r
+ $( "#detail" ).slideDown( "slow", function() {\r
+ isAnim = false;\r
+ addCloseAction();\r
+ currentSlide = 1;\r
+ autoSlide = true;\r
+ switchTimer = window.setTimeout( nextSlide, 5000);\r
+ }).animate(\r
+ { opacity: 1 },\r
+ { queue: false, duration: 'slow' }\r
+ );\r
+\r
+ }).animate(\r
+ { opacity: 0 },\r
+ { queue: false, duration: 'slow' }\r
+ );\r
+ }else{\r
+ $(cible.parent()).before(detail);\r
+ $( "#detail" ).slideDown( "slow", function() {\r
+ isAnim = false;\r
+ addCloseAction();\r
+ currentSlide = 1;\r
+ autoSlide = true;\r
+ switchTimer = window.setTimeout( nextSlide, 5000);\r
+ }).animate(\r
+ { opacity: 1 },\r
+ { queue: false, duration: 'slow' }\r
+ );\r
+ }\r
+\r
+ $(".project-photo").each( function() {\r
+ var id = $(this).parent().attr("data-pos");\r
+ if( id != currentRea ) {\r
+ $(this).addClass("gray");\r
+ }\r
+ });\r
+ }\r
+ \r
+ });\r
+\r
+ \r
+ }\r
+ currentOpen = currentRea;\r
+ }); \r
+}\r
+\r
+function addCloseAction() {\r
+ $(".close").click(function() {\r
+ $( "#detail" ).slideUp( "slow", function() {\r
+ $('#detail').remove();\r
+ currentOpen = 0;\r
+ $(".project-photo").each( function() {\r
+ $(this).removeClass("gray");\r
+ });\r
+ }).animate(\r
+ { opacity: 0 },\r
+ { queue: false, duration: 'slow' }\r
+ );\r
+ });\r
}\r
\r
function initTagsLink() {\r
var index = $.inArray( $(this).attr("data-id"), showIds );\r
showIds.splice(index, 1);\r
}\r
- \r
+ \r
if( showIds.length > 0 ) {\r
$(".tag:first").removeClass('active');\r
}else{\r
$(".tag:first").addClass('active');\r
}\r
\r
- displayStudies();\r
+ //displayStudies();\r
//alert(showIds);\r
});\r
\r
}\r
\r
+\r
+function preloadSlides() {\r
+ /*\r
+ var i=0;\r
+ \r
+ $('.slide[data-image]').each(function(){\r
+ var slide=this;\r
+ var image=new Image();\r
+ image.src=$(this).attr('data-image');\r
+ \r
+ if(image.complete){\r
+ $(this).html("<a href='" + $(this).attr('data-link') + "'><img src='" + $(this).attr('data-image') + "' /></a>");\r
+ }\r
+ \r
+ $(image).load(function(){\r
+ $(slide).html("<a href='" + $(slide).attr('data-link') + "'><img src='" + $(slide).attr('data-image') + "' /></a>");\r
+ });\r
+ \r
+ i++;\r
+ });*/\r
+}\r
+\r
+function nextSlide() {\r
+ \r
+ var maxSlides = currentOpenValues.visuel_detail.length;\r
+ if(maxSlides == 1) autoSlide = false;\r
+ \r
+ if( autoSlide ) {\r
+\r
+ if( currentSlide < maxSlides ) {\r
+ currentSlide++;\r
+ }else{\r
+ currentSlide=1;\r
+ }\r
+\r
+ $( "#visuel_detail" ).fadeOut( "slow", function() {\r
+ $("#visuel_detail").attr("src", currentOpenValues.visuel_detail[currentSlide-1]);\r
+ $( "#visuel_detail" ).fadeIn();\r
+ });\r
+\r
+ switchTimer = window.setTimeout( nextSlide, 5000);\r
+ }\r
+}\r
+\r
function displayRealisation( rea ) {\r
\r
//$(rea);\r
\r
}\r
\r
+function resize() {\r
+ \r
+}\r
+\r