Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
You've probably tried this, but I'll throw it out there, but put

"Guangzhou,China"

with a space

"Guangzhou, China"


tried...doesnt work..:(

there must be a numerical loccode for Guangzhou...anyone knows where can i find one?

THanks~:)
 
Ok, your previous post was slightly confusing.

Did you add "POWER_DOWN_LOCK_LABEL" to SpringBoard.strings? Keep in mind that the "strings" field underneath it needs to be blank. That should get rid of "slide to power off".

I added "POWER_DOWN_LOCK_LABEL" but i think there was <> <> underneath it or something. i will try and fix this later tonight..thanks
 
I have two weather locations, how do I set the primary location to be unfolded and the second location to be folded by default?
 
Ok...I thought I was almost done tinkering with my lockscreen and close to having my "finished product"...

UNTIL I noticed that my emails aren't showing up on my lockscreen anymore...

I know it's something in my config.js file, but I haven't touched anything in there since I modified the calendar to say "Today" instead of "July 22, 2009 (Today)".

The only other things I've done are mess with the style and structure files and change fonts.

I also never had voicemails show up on my lockscreen, but others had the same problem and voicemails aren't a big deal to me, so I just hid them.

But after having the emails working and finding that they don't anymore is really annoying...

Any ideas of why they stopped showing up all of a sudden?
 
I know it's something in my config.js file, but I haven't touched anything in there since I modified the calendar to say "Today" instead of "July 22, 2009 (Today)".

OK, I have scoured the config,js (and Style & Structure.css) files to find the location to make this change.

Can you point me to the right area or line(s) of code.

Thanks !!
 
Ok...I thought I was almost done tinkering with my lockscreen and close to having my "finished product"...

UNTIL I noticed that my emails aren't showing up on my lockscreen anymore...

I know it's something in my config.js file, but I haven't touched anything in there since I modified the calendar to say "Today" instead of "July 22, 2009 (Today)".

The only other things I've done are mess with the style and structure files and change fonts.

I also never had voicemails show up on my lockscreen, but others had the same problem and voicemails aren't a big deal to me, so I just hid them.

But after having the emails working and finding that they don't anymore is really annoying...

Any ideas of why they stopped showing up all of a sudden?


How did you do that? I was trying to figure that out last night. Does it display the date if its not today?
 
Hi,

I'm currently working in Guangzhou, China and can't seems to get lockinfo Gruppled theme working~

this is my config.js setting

// Locations, following the same format as "locale" above. Add as many as you want, separated by commas.
// The first one in the list will be displayed on the weather header.
// Ex. "OCN|AU|VIC|MELBOURNE", "ASI|PH|MAKATI" e.g. 'Defiance, Ohio'|'Moscow, Russia'|'London, UK'
// Visit http://accuweather.com to find something that works
var locales = [
"ASI|CN|CH006|GUANGZHOU|"

];

I tried the following out on mine and it worked, try dropping the last | and adding a comma, like this...

Code:
var locales = [
        "ASI|CN|CH006|GUANGZHOU",
];
 
OK, I have scoured the config,js (and Style & Structure.css) files to find the location to make this change.

Can you point me to the right area or line(s) of code.

Thanks !!

How did you do that? I was trying to figure that out last night. Does it display the date if its not today?

I found out from this forum from a post by okc_smoker:

"I made a few changes I thought I'd share in case anyone else in interested. I changed the way the calendar displays dates and times. Events for today now display "Today" instead of the date. Events that have start/end times on the same day now display either "Today" or the start date only once (rather than once for the start time and once for the end time). This was all done with "separateCalendarTimes" and "separateCalendarDays" set to false in config.js. Not sure how it will work if either of those are changed."

I had to change a 3rd option to "false" as well though before it displayed correctly. I believe it was the option directly below separateCalendarDays...I can't check since I'm not around my computer at the moment.

Try it out...if it doesn't work, let me know and I'll post my config.js file when I get home.

Good luck!
 
I found out from this forum from a post by okc_smoker:

"I made a few changes I thought I'd share in case anyone else in interested. I changed the way the calendar displays dates and times. Events for today now display "Today" instead of the date. Events that have start/end times on the same day now display either "Today" or the start date only once (rather than once for the start time and once for the end time). This was all done with "separateCalendarTimes" and "separateCalendarDays" set to false in config.js. Not sure how it will work if either of those are changed."

I had to change a 3rd option to "false" as well though before it displayed correctly. I believe it was the option directly below separateCalendarDays...I can't check since I'm not around my computer at the moment.

Try it out...if it doesn't work, let me know and I'll post my config.js file when I get home.

Good luck!

That's actually the exact same post im looking at right now...for some reason I can't get it to work. When you can, if you could post your code and let me know what you had to change to false!

Edit: Sweet, I got it to work. It was as you said, you need to have all three set to false: seperatecalendars, seperatecalendardays and seperatecalendartimes

Any idea why you need the third one to be marked false? I would prefer to have times in a separate column
 
That's actually the exact same post im looking at right now...for some reason I can't get it to work. When you can, if you could post your code and let me know what you had to change to false!

Edit: Sweet, I got it to work. It was as you said, you need to have all three set to false: seperatecalendars, seperatecalendardays and seperatecalendartimes

Any idea why you need the third one to be marked false? I would prefer to have times in a separate column

Nope...no idea. Glad it worked out for you though.

But now can you send yourself an email and see if it shows up on your lock screen?

I'm curious to find out whether changing the calendar settings is the reason why my email stopped displaying for me...
 
Nope...no idea. Glad it worked out for you though.

But now can you send yourself an email and see if it shows up on your lock screen?

I'm curious to find out whether changing the calendar settings is the reason why my email stopped displaying for me...

The email showing your reply to this thread just showed up, so it looks like that is not your problem...


Do you want my code?
 
If you don't mind...it would definitely save me some time!

Config

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// GENERAL SETTINGS

// Your country code
// If it's not in the strings/ folder, please translate strings/en.js and send to gruppler@gmail.com
var language = "en";
// NOTE: to change time formats, look in strings/en.js (or whatever language file you're using)

// Arrange and/or disable (by commenting-out) sections:
// To enable a section, remove the "//" at the beginning of the line
var sections = [
"Clock",
"Weather",
"Calendar",
"SMS",
"Calls",
"Voicemail",
"Mail",
];

// If "Clock" is enabled in the "sections" list above, this shows the bigger custom clock
var useBigClock = true;

// Display arrows in headers?
var displayArrows = true;

// Draw a monthly calendar as a collapsable subsection of the custom clock
var showMonth = true;

// The day the week will start on; 0(Sun) to 6(Sat)
var startDay = 1;

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// EXPAND/COLLAPSE SETTINGS

// Collapse or expand main sections by default; comment-out or set to false to expand...
// To collapse a section by default, remove the "//" at the beginning of the line
var defaultCollapsed = {
"Clock":true,
// "Mail":true,
// "Calendar":true,
// "Calls":true,
"Voicemail":true,
// "SMS":true,
// "Weather":true,
};

// Enable global collapse/expand by swiping right (or left, if globalHide is false)?
var globalCollapse = true;

// Enable global hide toggling by swiping left (or right, if globalCollapse is false)?
var globalHide = true;

// If globalHide is true and custom clock is enabled, hide the clock too?
var hideClock = false;

// Set to false for instant section collapse/expand, or true for webkit CSS animations
var enableAnimations = true;
var animationDuration = 450; // Milliseconds

// Animate the global collapse/expand? (Requires enableAnimations to be true)
var animateGlobalCollapse = false;

// Collapse subsections in sections that are to be collapsed by default (listed above)?
var collapseChildren = true;

// Always expand the first subsection? Note: this overrides collapseChildren;
// subsequent sections will be collapsed regardless of main section's default
var expandFirst = true;

// Revert to default collapse/expand settings when a section is empty?
var revertCollapsedOnEmpty = true;

// Hide empty sections?
var hideEmptySections = true;

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// SECTION DISPLAY SETTINGS

// Display the "Load More" bar at the bottom of each section if the item limit was reached?
var displayLoadMore = true;

// If displayLoadMore is enabled, how many more should load each time the bar is pressed?
var loadIncrement = 5;

// Display each calendar as a separate section?
// Note: If true, there will be an extra subheader, even if there's only one calendar.
var separateCalendars = false;

// Display each day as a separate section?
// Note: If true, there will be an extra subheader, even if there's only one day with events.
var separateCalendarDays = false;

// Display events' times/dates in a separate column?
var separateCalendarTimes = false;

// Sort this calendar first if separateCalendars is true
var mainCalendar = "Calendar";

// Show count for only today' events?
var calendarCountToday = true;

// Limit the number of events to show
var calendarLimit = 10;

// Display each email account as a separate subsection?
// Note: If true, there will be an extra subheader, even if there's only one email account.
var separateMailAccounts = false;

// Limit the number of emails to show
var mailLimit = 5;

// Limit the number of missed calls to show
var callLimit = 5;

// Limit the number of voicemails to show
var voicemailLimit = 5;

// Limit the number of SMS messages to show
var smsLimit = 5;

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// RELATIVE TIME SETTINGS

// Show relative times or absolute times?
var displayRelativeTimes = true;

// Show short periods or long periods?
// Ex.
// false -> "3 hours, 2 minutes"
// true -> "3h 2m"
var displayShortPeriods = true;

// How many periods to display if not rounded? (Excludes seconds unless time < 1 minute)
// Ex.
// relativeTimeLength = 1 -> "3h"
// relativeTimeLength = 2 -> "3h 2m"
var relativeTimeLength = 2;

// Limit the frequency of updates for relative time, and round seconds:
var relativeUpdateLimit = 15; //Seconds

// Specify how time should be rounded.
// 1: Round up (ceiling)
// 0: Normal round
// -1: Round down (floor)
var roundPeriods = [
1, // seconds
1, // minutes
0, // hours
-1, // days
0, // weeks
0, // months
0, // years
0 // decades
];

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// WEATHER SETTINGS

// Produced by Adam Watkins (http://www.stupidpupil.co.uk)
// Modified by Craig Laparo (gruppler@gmail.com)

// Locations, following the same format as "locale" above. Add as many as you want, separated by commas.
// The first one in the list will be displayed on the weather header.
// Ex. "OCN|AU|VIC|MELBOURNE", "ASI|PH|MAKATI" e.g. 'Defiance, Ohio'|'Moscow, Russia'|'London, UK'
// Visit http://accuweather.com to find something that works
var locales = [
"94123",
];

// Show the first city's current weather in the main header?
// Set this to false if you have multiple cities and don't want a rundundant header...
var mainHeaderWeather = true;

// Show the first city's name in the main header, or hide it?
var displayMainCityName = false;

// Show the other cities' names in their subheaders, or hide them?
var displayCityNames = true;

// Limit the number of days to display (also limited by the weather source; 7 seems to be the max)
var weatherDayLimit = 7;

// Set to 'false' if you'd prefer Farenheit
var isCelsius = false;

// Use 'Real Feel' temperatures where possible, taking into account Wind Chill, Humidity etc.
var useRealFeel = false;

// What should separate hi temperatures from low temperatures?
// use "<br>" to put them on separate lines, or something else like "|", for example.
var weatherTempSeparator = "<br>";

// Images must follow the same naming schema as the 'klear' set (borrowed from KWeather)
var iconSet = "tick"; //'klear'|'tick'
var iconExt = ".png"; //'.png'|'.gif'|etc.

// Display the refresh icon in the header? If not, you can still tap the update time to refresh.
var displayWeatherRefreshButton = true;

// To disable automatic refresh/retry, set to 0
var weatherUpdateInterval = 15; //Minutes
var weatherRetryInterval = 0.5; //Minutes

// If stop trying after this many consecutive failed attempts (set to 0 for infinite retries):
var weatherRetriesMax = 3;

// The (currently broken) 'Yahoo' which for the 'locale' requires a US zip or location code
// (e.g. UKXX0085 or CHXX0008) from http://weather.yahoo.com
var weatherSource = "Apple"; // "Yahoo" is broken for now, so use "Apple"

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// SWIPE SETTINGS

// The MAXIMUM distance your finger can move to trigger a 'tap'
var tap_maxDistance = 3;

// The MINIMUM distance your finger must move to trigger a 'swipe'
var swipe_minDistance = 60;

// The MAXIMUM vertical distance your finger can move to trigger a 'swipe'
var swipe_maxY = 20;

/*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*/
// Do not change this...

if(language != "en"){
var headID = document.getElementsByTagName("head")[0];
var scriptNode = document.createElement('script');
scriptNode.type = 'text/javascript';
scriptNode.src = 'strings/'+language+'.js';
headID.appendChild(scriptNode);
}
 
lockinfo.js

var callbacks = new Object();
callbacks['com.ashman.lockinfo.CalendarPlugin'] = updateCalendar;
callbacks['com.ashman.lockinfo.PhonePlugin'] = updatePhone;
callbacks['com.ashman.lockinfo.MailPlugin'] = updateMail;
callbacks['com.ashman.lockinfo.SMSPlugin'] = updateSMS;
var id_regex = new RegExp("[\\s'\"@.\*]", "g");

function updateView(bundleIdentifier, data){
if(bundleIdentifier){
var callback = callbacks[bundleIdentifier];
if(callback){
return !!callback(data);
}
}

return false;
}

function updatePhone(phone){
var success = false;
if(phone.calls){
if(phone.calls.length){
success = updateCalls(phone.calls);
removeClass(callsDIV, "empty");
}else if(callsDIV){
addClass(callsDIV, "empty");
if(hideEmptySections){
callsDIV.style.display = "none";
revertCollapsed(callsDIV.id);
}else{
callsDIV.lastChild.innerHTML = "";
document.getElementById("callCount").innerHTML = "0";
}
success = !phone.voicemail;
}
}

if(phone.voicemail){
if(phone.voicemail.length){
success = updateVoicemail(phone.voicemail);
removeClass(voicemailDIV, "empty");
}else if(voicemailDIV){
addClass(voicemailDIV, "empty");
if(hideEmptySections){
voicemailDIV.style.display = "none";
revertCollapsed(voicemailDIV.id);
}else{
voicemailDIV.lastChild.innerHTML = "";
document.getElementById("voicemailCount").innerHTML = "0";
}
success = true;
}
}
return success;
}

function updateCalls(calls){
if(!callsDIV){
return false;
}

if(!calls){
if(callsDIV.previous){
calls = callsDIV.previous;
}else{
return false;
}
}
var html = "";
clearRelativeTimers(callsDIV);
if(callsDIV && calls.length){
callsDIV.previous = calls;
if(globalHide >= 0){
callsDIV.style.display = "block";
}
var relativeTimes = [];
html += "<div>";
for(i = 0; i < calls.length && i < callsDIV.limit; i++){
var date = new Date(calls.date*1);
html += "<div class='sub"+(i % 2 ? " alt" : '')+"'><span class='sub1'>"+calls.caller+"</span>";
html += "<span class='sub2'> – "+date.format(date.isSameDay() ? format_time : format_date_time_short);
if(displayRelativeTimes){
html += " (<span id='calls_"+i+"'></span>)";
relativeTimes.push(["calls_"+i, date]);
}
html += "</span></div>";
}
callsDIV.lastChild.innerHTML = html + "</div>";
if(displayLoadMore && calls.length > callsDIV.limit){
addLoadMoreBar(callsDIV);
}
for(i = 0; i < relativeTimes.length; i++){
relativeTime(callsDIV, relativeTimes[0], relativeTimes[1], false, false, string_justNow.upperFirst());
}
if(collapsed[callsDIV.id]){
collapsed[callsDIV.id] = false;
toggleSection([callsDIV, true]);
}
document.getElementById("callCount").innerHTML = calls.length;
}
return true;
}

function updateVoicemail(vm){
if(!voicemailDIV){
return false;
}

if(!vm){
if(voicemailDIV.previous){
vm = voicemailDIV.previous;
}else{
return false;
}
}
var html = "";
clearRelativeTimers(voicemailDIV);
if(voicemailDIV && vm.length){
voicemailDIV.previous = vm;
if(globalHide >= 0){
voicemailDIV.style.display = "block";
}
var relativeTimes = [];
html += "<div>";
for(i = 0; i < vm.length && i < voicemailDIV.limit; i++){
var date = new Date(vm.date*1);
html += "<div class='sub"+(i % 2 ? " alt" : '')+"'><span class='sub1'>"+vm.caller+"</span>";
html += "<span class='sub2'> – "+date.format(date.isSameDay() ? format_time : format_date_time_short);
if(displayRelativeTimes){
html += " (<span id='vm_"+i+"'></span>)";
relativeTimes.push(["vm_"+i, date]);
}
html += "</span></div>";
}
voicemailDIV.lastChild.innerHTML = html + "</div>";
if(displayLoadMore && vm.length > voicemailDIV.limit){
addLoadMoreBar(voicemailDIV);
}
for(i = 0; i < relativeTimes.length; i++){
relativeTime(voicemailDIV, relativeTimes[0], relativeTimes[1], false, false, string_justNow.upperFirst());
}
if(collapsed[voicemailDIV.id]){
collapsed[voicemailDIV.id] = false;
toggleSection([voicemailDIV, true]);
}
document.getElementById("voicemailCount").innerHTML = vm.length;
}
return true;
}

function updateSMS(sms){
if(!smsDIV){
return false;
}

if(!sms){
if(smsDIV.previous){
sms = smsDIV.previous;
}else{
return false;
}
}
var html = "";
var ids = {};
var msgs = sms.messages;
if(smsDIV && msgs.length){
smsDIV.previous = sms;
if(globalHide >= 0){
smsDIV.style.display = "block";
}
for(i = 0; i < msgs.length && i < smsDIV.limit; i++){
var smsID = "sms_"+i;
ids[smsID] = true;
subsectionCollapsed(smsID, "SMS", !i);
if(i > 0){
html += "</div>";
}
html += "<div id='"+smsID+"' class='sms_"+msgs.sender.replace(id_regex, "_")+"' ontouchstart='catchSwipe(event, toggleSection, [this]);' class='container'><div class='sub1 header expanded'><div class='arrow'></div><span>"+msgs.sender+"</span></div><div class='container'>";
html += "<div class='sub sub1'>"+msgs.text+"</div></div>";
}
smsDIV.lastChild.innerHTML = html + "</div>";
if(displayLoadMore && msgs.length > smsDIV.limit){
addLoadMoreBar(smsDIV);
}
if(collapsed[smsDIV.id]){
collapsed[smsDIV.id] = false;
toggleSection([smsDIV, true]);
}
for(var id in collapsed){
if(id.indexOf("sms_") == 0 && collapsed[id] && ids[id]){
collapsed[id] = false;
toggleSection([id, true]);
}
}
document.getElementById("smsCount").innerHTML = msgs.length;
removeClass(smsDIV, "empty");
}else{
addClass(smsDIV, "empty");
if(hideEmptySections){
smsDIV.style.display = "none";
revertCollapsed(smsDIV.id, "sms_");
}else{
smsDIV.lastChild.innerHTML = "";
document.getElementById("smsCount").innerHTML = "0";
}
}
return true;
}

function updateMail(mail){
if(!mailDIV){
return false;
}

if(!mail){
if(mailDIV.previous){
mail = mailDIV.previous;
}else{
return false;
}
}
var msgs = mail.messages;
clearRelativeTimers(mailDIV);
if(mailDIV && msgs.length){
mailDIV.previous = mail;
msgs.sort(function(a, b){
return (separateMailAccounts && a.account != b.account) ?
(a.account < b.account ? -1 : 1)
: b.received*1 - a.received*1;
});
if(globalHide >= 0){
mailDIV.style.display = "block";
}
var currentAccount;
var accountCount = 0;
var html = separateMailAccounts ? "" : "<div ontouchstart='catchSwipe(event, toggleSection, [this.parentNode.parentNode]);' class='container'>";
var relativeTimes = [];
var alt = '';
var ids = {};
for(i = 0; i < msgs.length && i < mailDIV.limit; i++){
if(separateMailAccounts && msgs.account != currentAccount){
var mailID = "mail_"+msgs.account.replace(id_regex, "_");
ids[mailID] = true;
subsectionCollapsed(mailID, "Mail", !i);
if(currentAccount){
html += "</div></div></div>";
}
alt = '';
if(accountCount){
html = html.replace(currentAccount+"_Count", accountCount);
}
currentAccount = msgs.account;
accountCount = 0;
html += "<div id=\""+mailID+"\" ontouchstart='catchSwipe(event, toggleSection, [this]);' class='container'><div class='sub1 header expanded'><div class='arrow'></div><span>"+currentAccount+" (<b>"+currentAccount+"_Count</b>)</span></div><div class='container'><div class='container'>";
}

var date = new Date(msgs.received*1);
html += "<div class='sub"+alt+" mail_"+msgs.account.replace(id_regex, "_")+"'><span class='sub1'>"+(msgs.subject || string_noSubject)+"</span><br/>";
html += "<span class='sub2'>"+string_from+"</span> <span class='sub1'>"+msgs.sender+"</span><span class='sub2'> – "+date.format(date.isSameDay() ? format_time : format_date_time_short);
if(displayRelativeTimes){
html += " (<span id='mail_time_"+i+"'> </span>)";
relativeTimes.push(["mail_time_"+i, date]);
}
html += "</span></div>";

accountCount++;
alt = alt ? '' : " alt";
}

if(separateMailAccounts && accountCount > 0){
html = html.replace(currentAccount+"_Count", accountCount) + "</div></div>";
}
mailDIV.lastChild.innerHTML = html + "</div>";
if(displayLoadMore && msgs.length > mailDIV.limit){
addLoadMoreBar(mailDIV);
}
for(i = 0; i < relativeTimes.length; i++){
relativeTime(mailDIV, relativeTimes[0], relativeTimes[1], false, false, string_justNow.upperFirst());
}
if(collapsed[mailDIV.id]){
collapsed[mailDIV.id] = false;
toggleSection([mailDIV, true]);
}
for(var id in collapsed){
if(id.indexOf("mail_") == 0 && collapsed[id] && ids[id]){
collapsed[id] = false;
toggleSection([id, true]);
}
}
document.getElementById("mailCount").innerHTML = msgs.length;
removeClass(mailDIV, "empty");
}else{
addClass(mailDIV, "empty");
if(hideEmptySections){
mailDIV.style.display = "none";
revertCollapsed(mailDIV.id, "mail_");
}else{
mailDIV.lastChild.innerHTML = "";
document.getElementById("mailCount").innerHTML = "0";
}
}
return true;
}

function updateCalendar(calendar){
if(!calendarDIV){
return false;
}

if(!calendar || !calendar.events){
if(calendarDIV.previous){
calendar = calendarDIV.previous;
}else{
return false;
}
}
var events = [];
var now = new Date();
for(var i = 0; i < calendar.events.length; i++){
if(calendar.events.end > now){
events[events.length] = calendar.events;
}
}

clearRelativeTimers(calendarDIV);

if(calendarDIV && events.length){
if(separateCalendars){
events.sort(function(a, b){
if((a.calendar == mainCalendar || b.calendar == mainCalendar) && a.calendar != b.calendar){
return a.calendar == mainCalendar ? -1 : 1;
}else{
return a.calendar != b.calendar ? (a.calendar < b.calendar ? -1 : 1) : a.start != b.start ? a.start - b.start : a.end - b.end;
}
});
}else{
events.sort(function(a, b){
return a.start != b.start ? a.start - b.start : a.end - b.end;
});
}

window.clearTimeout(window.cal_refresh);
calendarDIV.previous = calendar;
var timeout = (new Date(now.getTime() + 86400000)).zeroTime().getTime() - now.getTime();
if(globalHide >= 0){
calendarDIV.style.display = "block";
}
var currentCal;
var currentDate;
var html = "";
var relativeTimes = [];
var day = 0;
var alt = '';
var ids = {};
var headerCount = 0;
var eventCounts = {};
var today = new Date().format("Y-n-j");
if(separateCalendars){
eventCounts[mainCalendar] = {total:0, days:{}};
eventCounts[mainCalendar].days[today] = 0;
}else{
eventCounts[today] = 0;
}

for(var i = 0; i < events.length; i++){
var d = new Date(events.start).format("Y-n-j");
if(separateCalendars){
if(!eventCounts[events.calendar]){
eventCounts[events.calendar] = {total:1, days:{}};
eventCounts[events.calendar].days[today] = 0;
}else{
eventCounts[events.calendar].total++;
}

if(!eventCounts[events.calendar].days[d]){
eventCounts[events.calendar].days[d] = 1;
}else{
eventCounts[events.calendar].days[d]++;
}
}else{
if(!eventCounts[d]){
eventCounts[d] = 1;
}else{
eventCounts[d]++;
}
}
}
headerCount = separateCalendars ? (calendarCountToday ? eventCounts[mainCalendar].days[today] : eventCounts[mainCalendar].total) : calendarCountToday ? eventCounts[today] : events.length;

for(var i = 0; i < events.length && i < calendarDIV.limit; i++){
var start = new Date(events.start);
var end = new Date(events.end);
if(separateCalendars && currentCal != events.calendar){
var calID = "cal_"+events.calendar.replace(id_regex, "_");
ids[calID] = true;
subsectionCollapsed(calID, "Calendar", !i);
currentCal = events.calendar;
currentDate = null;
alt = '';
day = 0;
html += "<div id=\""+calID+"\" class='container'><div class='cal sub1 header expanded' ontouchstart='catchSwipe(event, toggleSection, [this.parentNode]);'><div class='arrow'></div><span>"+currentCal+" (<b>"+eventCounts[currentCal].total+"</b>)</span></div><div class='container'><div class='container'>";
}
if(separateCalendarDays && (!currentDate || !currentDate.isSameDay(start))){
var dayID = "cal_"+(separateCalendars ? events.calendar.replace(id_regex, "_")+"_" : '')+"day_"+day;
ids[dayID] = true;
subsectionCollapsed(dayID, "Calendar", !currentDate);
currentDate = start;
day++;
alt = '';
var d = start.format("Y-n-j");
html += "<div id=\""+dayID+"\" ontouchstart='catchSwipe(event, toggleSection, [this]);' class='container'><div class='sub"+(separateCalendars?2:1)+" header expanded'><div class='arrow'></div><span><b>"+start.format(format_date)+"</b> (<span class='capitalize'>"+start.relative(true)+"</span>) (<b>"+(separateCalendars ? eventCounts[currentCal].days[d] : eventCounts[d])+"</b>)</span></div><div class='container'><div class='container'>";
}
var regexp = new RegExp("birthday|"+string_birthday, "i");
html += "<div class='sub"+alt+" cal_"+events.calendar.replace(id_regex, "_")+(events.summary.match(regexp) ? " birthday" : "")+(events.allDay ? " allDay" : "")+"'>";

var titleText = "<span class='sub1'>"+events.summary+"</span>";
var locationText = events.location ? "<span class='sub2'> @ "+events.location+"</span>" : "";
if(!events.allDay || events.start + 86400000 < events.end){
var format = separateCalendarDays && end.isSameDay(start) ? format_time : (events.allDay ? format_date_short : format_date_time_short);
var startText = start.format(format);
var endText = end.format(format);
if(displayRelativeTimes && (start.isSameDay(now) || start < now)){
if(start > now){
var relativeText = "<span class='relativeTime sub2'>("+string_begins_prefix+"<span id=\""+dayID+"_"+i+"\"></span>"+string_begins_suffix+")</span>";
relativeTimes.push([dayID+"_"+i, start, events.allDay, events.allDay, string_now]);
var timeout2 = start.getTime() - now.getTime();
if(timeout2 < timeout){
timeout = timeout2;
}
}else if(events.allDay && start.isSameDay(currentDate)){
var relativeText = "<span class='relativeTime sub2'> ("+string_ends_prefix+"<span id=\""+dayID+"_"+i+"\"></span>"+string_ends_suffix+")</span>";
relativeTimes.push([dayID+"_"+i, end, true, false, '']);
}else{
var relativeText = "<span class='relativeTime sub2'>("+string_began_prefix+"<span id=\""+dayID+"_"+i+"_start\"></span>"+string_began_suffix+" | "+string_ends_prefix+"<span id=\""+dayID+"_"+i+"_end\"></span>"+string_ends_suffix+")</span>";
relativeTimes.push([dayID+"_"+i+"_start", start, events.allDay, false, string_justNow]);
relativeTimes.push([dayID+"_"+i+"_end", end, events.allDay, false, string_now]);

var timeout2 = end.getTime() - now.getTime();
if(timeout2 < timeout){
timeout = timeout2;
}
}
}else{
var relativeText = '';
}
}else{
var startText = separateCalendarDays ? '' : start.format(format_date_short);
var endText = '';
var relativeText = '';
}

if(separateCalendarTimes){
if(relativeText){
relativeText = " " + relativeText;
}
if(endText){
endText = "<br/>" + endText;
}
html += (startText ? "<div class='time sub1' style='white-space:nowrap;display:table-cell;padding-right:5px;'>"+startText+endText+"</div>" : '')+"<div style='display:table-cell;'>"+titleText+locationText+relativeText+"</div>";
}else{
if(relativeText){
relativeText = " " + relativeText;
}
if(startText){
if (start.isSameDay(now)){
startText = "Today " + start.format(format_time);

if (end.isSameDay(now)){
endText = end.format(format_time);
}
}else if (start.isSameDay(end)){
startText = start.format(format_date_time_short);
endText = end.format(format_time);
}
startText = "<br/><span class='time sub"+(displayRelativeTimes ? 1 : 2)+"'>" + startText + (endText ? " – " + endText : '') + "</span>";
}
html += titleText+locationText+startText+relativeText;
}

alt = alt ? '' : " alt";
html += "</div>";
if(events[i+1] && separateCalendars && separateCalendarDays && currentCal != events[i+1].calendar){
html += "</div></div></div></div></div></div>";
}else if(events[i+1] && (separateCalendarDays && !currentDate.isSameDay(new Date(events[i+1].start)) || separateCalendars && currentCal != events[i+1].calendar && !separateCalendarDays)){
html += "</div></div></div>";
}
}
if(separateCalendarDays || separateCalendars){
html += "</div></div></div>";
}
if(separateCalendarDays && separateCalendars){
html += "</div></div></div>";
}
calendarDIV.lastChild.innerHTML = html;
if(displayLoadMore && events.length > calendarDIV.limit){
addLoadMoreBar(calendarDIV);
}
document.getElementById("calendarCount").innerHTML = headerCount;
for(i = 0; i < relativeTimes.length; i++){
relativeTime(calendarDIV, relativeTimes[0], relativeTimes[1], relativeTimes[2], relativeTimes[3], relativeTimes[4], relativeTimes[5]);
}
if(collapsed[calendarDIV.id]){
collapsed[calendarDIV.id] = false;
toggleSection([calendarDIV, true]);
}
for(var id in collapsed){
if(id.indexOf("cal_") == 0 && collapsed[id] && ids[id]){
collapsed[id] = false;
toggleSection([id, true]);
}
}
window.cal_refresh = window.setTimeout(updateCalendar, timeout);
removeClass(calendarDIV, "empty");
}else{
addClass(calendarDIV, "empty");
if(hideEmptySections){
calendarDIV.style.display = "none";
revertCollapsed(calendarDIV.id, "cal_");
}else{
calendarDIV.lastChild.innerHTML = "";
document.getElementById("calendarCount").innerHTML = "0";
}
}
return true;
}

 

Attachments

  • photo.jpg
    photo.jpg
    56.9 KB · Views: 99
After changing the lockinfo.js, none of my sections (calendar, mail, phone, voicemail, SMS) would display, so I will forget about this for a while.

Thanks !!

Yeah, its very touchy. I spent more time than I care to admit last night and it didnt work. Then I tried this morning and got lucky. If you want to use LockinfoFull, I can just send you my entire theme.
 
I added "POWER_DOWN_LOCK_LABEL" but i think there was <> <> underneath it or something. i will try and fix this later tonight..thanks

ahh everytime I add the "POWER_DOWN_LOCK_LABEL" it adds the 'slide to unlock' string to my lockscreen...here are my strings..not sure what to add/modify to have the power down slider strings removed

<key>ALARM_LOCK_LABEL</key>
<string> </string>
<key>AWAY_LOCK_LABEL</key>
<string> </string>
<key>CALENDAR_LOCK_LABEL</key>
<string> </string>
<key>CF_USER_NOTE_LOCK_LABEL</key>
<string> </string>
<key>SLIDE_TO_ANSWER</key>
<string> </string>
<key>SLIDE_TO_CALL_BACK</key>
<string> </string>
<key>SLIDE_TO_CANCEL</key>
<string> </string>
<key>SLIDE_TO_LISTEN</key>
<string> </string>
<key>SMS_LOCK_LABEL</key>
<string> </string>
<key>TIMER_LOCK_LABEL</key>
<string> </string>
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.